Автор: Никита Зубарев, Руководитель отдела DevOps компании HOSTKEY
В начале августа этого года вышла Debian 13 «Trixie», и буквально на следующий день к нам посыпались заявки от клиентов — все хотят новую версию. Обновление существующих систем ложилось на самих клиентов, но вот быстрый деплой новой версии дистрибутива на заказываемых вновь машинах — это наша головная боль. Мы, конечно же, не сидели сложа руки до этого: шаблоны начали готовить, как только замаячил релиз нового дистрибутива, но провозились по итогу всё окончание лета и начало осени. Также тесно с Debian у нас связан Proxmox, девятая версия которого тесно завязана с новой версией Debian и также вышла в это же время, а значит, обновлять в нашем каталоге ОС и ПО нужно и его.
|
Серверы с Debian 13 и Proxmox VE 9.0 Закажите VPS или выделенный сервер с нужной ОС за пару кликов. |
Что интересного в релизах?
Пробежимся по changelog нового релиза обеих новинок. В Debian 13 большая часть изменений — стандартная эволюция, но несколько моментов в нем «зацепили»:
Ядро Linux 6.12 — больше драйверов, свежие патчи безопасности;
Переработанная логика EFI-разделов в инсталляторе — вот это уже интереснее. Наш текущий HKM-деплой завязан на «старое» поведение, придется допиливать скрипты;
HTTP Boot в инсталляторе — судя по описанию, это альтернатива PXE-загрузке через HTTP/HTTPS. Теоретически должно быть проще с файрволлами и быстрее работать.
Proxmox 9 выбирают из-за следующих нововведений:
Снимки виртуальных машин на хранилищах LVM с «толстым» выделени��м ресурсов (preview-технология);
Правила высокой доступности (HA) для привязки узлов и ресурсов;
Фабрики для стека программно-определяемых сетей (SDN);
Модернизированный мобильный веб-интерфейс;
ZFS поддерживает добавление новых устройств в существующие пулы RAIDZ с минимальным временем простоя;
Обновление до AppArmor 4.
Составление плана работ
Задачи на ближайшие недели сформировались сами собой:
1. Debian 13 в Foreman
Нужно доработать наш деплой-процесс под новую версию. Основная проблема — эти самые изменения в управлении EFI-разделами. HKM-подход у нас работал как часы на Debian 12, теперь придется смотреть, что именно сломалось и как это починить.
2. Proxmox VE 9.0 как панель управления
Proxmox 9 уже доступен, и клиенты просят его добавить в маркетплейс. Схема стандартная: чистый Debian 13 + Proxmox поверх как веб-интерфейс для управления виртуализацией. Ansible-плейбук для восьмой версии есть, нужно адаптировать под девятку.

Что такое HKM-установка (и зачем мы это делаем)
Поддерживать каждую ОС затратно по времени и неэффективно с точки зрения бизнеса. Поэтому мы решили использовать комплексный подход и составили перечень требований к будущей системе. Об особенностях нашей системы деплоя мы рассказывали здесь, здесь и тут.
Вкратце, для упрощения собственной жизни и ускорения сдачи серверов клиентам мы создали собственный LiveCD на основе Rocky Linux и сразу решили проблему поддержки разных ОС для разных материнских плат. Получается, мы поддерживаем одну ОС, а остальные системы устанавливаются путём разархивирования архива скриптом и записи его на диск.
То есть для того, чтобы «релизнуть» Debian 13, нам достаточно усилий junior-инженера и пары часов его времени. Процесс простой: берём виртуальную машину, ставим с ISO Debian 13, грузимся с LiveCD — и всё готово. Подробнее «кухню с золотыми образами» опишем в следующих статьях.
Правда, есть нюанс: раз установка идет через отдельную ОС, то возможные конфликты с железом всплывут только при первой загрузке уже установленной системы. Зато куда проще добавлять поддержку нового оборудования. Например, нет необходимости разбираться с udeb-пакетами для Debian/Ubuntu или пересобирать инсталлятор при каждом обновлении драйверов.
Debian 13 в Foreman
Расскажем, что мы сделали для укрощения Debian 13 в нашей инфраструктуре поэтапно.
Подготовка chroot
Выполняем следующие этапы друг за другом. Первым идет создание точки монтирования:
mkdir /mnt/debian
cd /mnt/
Далее активация LVM:
vgchange -ay
Потом монтирование файловых систем:
mount /dev/mapper/debian-root /mnt/debian
mount /dev/sda1 /mnt/debian/boot
mount -t proc proc /mnt/debian/proc
mount -t sysfs sys /mnt/debian/sys
mount --bind /tmp /mnt/debian/tmp
mount --bind /dev /mnt/debian/dev
mount --bind /dev/pts /mnt/debian/dev/pts
Не забываем настроить интерфейсы:
cat >etc/network/interfaces <<'EOF'
auto lo
iface lo inet loopback
auto ens1
iface ens1 inet manual
auto vmbr0
iface vmbr0 inet dhcp
bridge-ports ens1
bridge-stp off
bridge-fd 0
EOF
Копируем настройки DNS:
cp -v /etc/resolv.conf /mnt/debian/etc/resolv.conf
И в финале выполняем вход в chroot окружение:
chroot /mnt/debian /usr/bin/env -i HOME=/root TERM="$TERM" /bin/bash --login
Настройка системы в chroot
Здесь порядок действий был следующий:
Обновление системы.
nano /etc/apt/sources.list
Очистка конфигурации и удаление специфичных для машины настроек.
rm -rf /etc/fstab
nano /etc/issue
rm -f /etc/ssh/ssh_host_*
rm -rf /boot/*
rm -f /etc/network/interfaces
rm -rf /etc/network/interfaces.d/
При необходимости можно было обновить и версию ядра, но мы оставляем это на совести пользователей и поставляем системы с «релизной» версией. Но сделать это можно было следующими командами:
ls /lib/modules (проверяем версию ядра)
apt-get install --reinstall linux-image-<ваша_версия>
update-initramfs -c -k <ваша_версия>
grub-install /dev/sdan
Настройка SSH
Редактирование конфигурации SSH:
nano /etc/ssh/sshd_config
nano /etc/ssh/ssh_config
Устанавливаем следующие параметры:
PasswordAuthentication yes
PermitRootLogin yes
Размонтирование и архивирование
Выход из chroot:
exit
Размонтирование файловых систем:
cd debian
umount ./proc
umount ./sys
umount ./dev/pts
umount ./dev
umount ./tmp
Создание архива:
tar -czvf debian_trixie.tar.gz .
Затем заливаем образ в репозиторий, регистрируем ОС в Foreman и Invapi (это наша панель управления оборудованием для клиентов). После этого операционная система автоматически появится на сайте.
Так выглядит новая ОС в Foreman. Об архитектуре всего этого хозя��ства мы рассказывали в статье “Foreman в изоляции: как мы построили отказоустойчивую и безопасную систему для массового деплоя ОС”:


Перед релизом проводим smoke-тестирование и передаём сборку в QA для проверки на различных конфигурациях железа и типах виртуальных машин.



С базовым образом Debian 13 разобрались. Теперь переходим к доработке Ansible-плейбука для установки Proxmox VE 9.0 поверх этой системы.
Proxmox VE 9.0 как панель: доработка текущего Ansible-плейбука
Официальная документация рекомендует устанавливать Proxmox VE поверх чистой Debian Trixie. При этом советуют использовать экспертный режим установщика, чтобы сразу прописать статический IP. Из пакетов нужен минимум: стандартные утилиты и SSH-сервер. Графическое окружение не требуется — Proxmox привезет с собой все нужные компоненты для QEMU и LXC.
Важный момент: такой способ не сработает, если вы используете экспериментальный systemd-boot с включенным Secure Boot.
Добавляем репозиторий Proxmox
- name: Add the Proxmox VE repository key debian 13
ansible.builtin.get_url:
url: "https://enterprise.proxmox.com/debian/proxmox-release-{{ ansible_distribution_release }}.gpg"
dest: "/etc/apt/trusted.gpg.d/proxmox-release-{{ ansible_distribution_release }}.gpg"
checksum: sha512:8678f2327c49276615288d7ca11e7d296bc8a2b96946fe565a9c81e533f9b15a5dbbad210a0ad5cd46d361ff1d3c4bac55844bc296beefa4f88b86e44e69fa51
when: ansible_distribution == "Debian" and ansible_distribution_release == "trixie"
Ставим ядро Proxmox:
- name: Install ProxmoxVE kernel debian 13
ansible.builtin.apt:
name: proxmox-default-kernel
state: present
retries: 3
when: ansible_distribution == "Debian" and ansible_distribution_release == "trixie"
И чистим стандартное:
- name: Remove the Debian Kernel debian 13
ansible.builtin.shell: apt remove linux-image-amd64 'linux-image-6.12*' -y
environment:
DEBIAN_FRONTEND: noninteractive
when: ansible_distribution == "Debian" and ansible_distribution_release == "trixie"
Обновляем загрузчик:
- name: Update and check grub2
ansible.builtin.command: update-grub
- name: Remove the os-prober Package
ansible.builtin.apt:
name: os-prober
state: absent
Комментируем enterprise-репозиторий:
Для версий до 13-го Debian:
- name: Comment Proxmox enterprise repo file for apt update working for pre 13 debian
ansible.builtin.replace:
path: /etc/apt/sources.list.d/pve-enterprise.list
regexp: '^([^#].*)$'
replace: '# \1'
when: ansible_distribution == "Debian" and ansible_distribution_release != "trixie"
Для Debian 13 (Trixie):
- name: Comment Proxmox enterprise repo file for apt update working for debian 13
ansible.builtin.replace:
path: /etc/apt/sources.list.d/pve-enterprise.sources
regexp: '^([^#].*)$'
replace: '# \1'
when: ansible_distribution == "Debian" and ansible_distribution_release == "trixie"
После отработки плейбука не забудьте проверить домен третьего уровня и SSL-сертификат. Для теста подойдет простой запуск задачи на Debian 13.


ISO или Debian + плейбук: почему последнее?
Официально разработчики Proxmox VE советуют ставить его с ISO-образа на чистое железо (скачать можно здесь), но иногда есть смысл накатить его поверх уже работающей Debian Trixie — например, когда нужна нестандартная разметка дисков. Такие кейсы встречаются часто, и именно это является аргументом для установки через плейбук.

Основное отличие в процессе: при установке через плейбук сначала разворачиваешь Debian 13, а потом уже запускаешь автоматизацию. Это добавляет время, но дает больше контроля над конфигурацией системы на старте.
У нас золотой образ уже содержит всю нужную разметку и базовые настройки, поэтому накатить Proxmox плейбуком — дело 5–10 минут. Для массового деплоя это удобнее, чем каждый раз прожигать ISO и вручную использовать инсталлятор.
При этом никто не запрещает пользователю скачать официальный ISO-образ Proxmox, подключить сервер и загрузиться с него, выполнив затем необходимую разбивку диска и установку системы.
Подводим итоги
С внедрением HKM-установки выход новой ветки ОС или очередной системы инсталляции больше не превращается в ночной кошмар (хотя раньше, признаться, доводило до мыслей об увольнении — даже в рамках текущей системы бывали такие моменты). Теперь это обычная рутина, которая случается раз в несколько месяцев и которую можно спокойно поручить новичку.
По мере роста числа локаций и заказов мы ежедневно дорабатываем систему деплоя: разбираем логи неудачных установок, тестируем новые материнские платы и серверные платформы в разных режимах. Постепенно добавляем новые возможности — более гибкую разбивку дисков, передачу SSH-ключей, настройку ОС и сетевых адресов, уведомления клиентов об установках и многое другое. Система полностью готова к развитию и масштабированию.
Сейчас наблюдаем высокий спрос на Proxmox. Наша задача — оперативно сдавать новые установки, поддерживать разнообразное железо и не нарушать SLA по срокам запуска серверов. Также планируем расширять линейку бесплатных гипервизоров — напишите в комментариях, что из популярного стоит добавить? XEN, Hyper-V, OpenNebula, а может, OpenStack?
Вердикт от автора
Платформа развивается, регулярно выходят обновления. Если нужно держать десяток виртуалок — Proxmox можно ставить без раздумий. Правда, не стоит обольщаться, что неподготовленный пользователь соберёт HA-кластер на Ceph с Open vSwitch за пару часов, даже с ChatGPT под рукой.
Что касается обновления с версии 8 — это нужно тестировать, но, на наш взгляд, проще и надёжнее мигрировать текущие VM на свежий сервер.
Для тех, кто всё-таки решит попробовать Proxmox, — читайте официальную документацию. В следующей статье мы покажем, как с ним работать на пользовательском уровне.
|
Серверы с Debian 13 и Proxmox VE 9.0 Закажите VPS или выделенный сервер с нужной ОС за пару кликов. |
Комментарии (25)

M_AJ
29.10.2025 11:12Одна из плюшек Проксмокса при установке его на железо в том, что он умеет легко ставиться на ZFS и потом загружаться с него. Ваш вариант этого не позволяет. Хотя не совсем понятно, зачем устанавливать его на выделенный сервер из панели, и почему не сделать этого через виртуальную консоль, установка там простая и быстрая.

tkrylova2200
29.10.2025 11:12обычно у нас прокс берут на 2x2tb nvme , а какой конфиг подойдёт по zfs ?

M_AJ
29.10.2025 11:12а какой конфиг подойдёт по zfs
Не очень понял вопрос, честно говоря :) Подойдет то любой, в том смысле, что он спокойно встанет на 2x2tb NVME в зеркале, другой вопрос какую производительность получится выж��ть из ZFS и устроит ли она. Ну и конечно насколько человеку нужны её фишки, например репликация.

ULP
29.10.2025 11:12оба варианта возможны. часто на виртуальный сервер берут, там один диск и незачем руками это делать - люди не умеют

SmileyK
29.10.2025 11:12а что мешает разворачивать из дистрибутива который дает сам proxmox ?

tkrylova2200
29.10.2025 11:12так и делаем , это один из вариантов установки , первый - поставить из дистрибутива самого proxmox , второй поставить поверх deb13.

taxonein
29.10.2025 11:12У проксмокса частенько выходят довольно важные обновления, а как часто у вас обновляется образ который используется для разворачивания клиентам?

tkrylova2200
29.10.2025 11:12Ставим теги версии на OS нашей админской панели , как только выходит новая версия , обновляем .

jslow1998
29.10.2025 11:12Всё по-человечески объяснено, читается легко, а информации - море. Спасибо за честный взгляд изнутри.

Mmakarov123
29.10.2025 11:12Там есть прикольная фишка что можно просто из шаблона легковестную ось воткнуть в два клика, чисто по минималки ради одного процесса

itcodnag
29.10.2025 11:12Интересная статья. Как раз заказал себе впску на deb13 и поставил туда Prox9. Доволен.

etofarkhad
29.10.2025 11:12очень ��одробно описано, попробовал бы сам все затестить. сколько по времени вышло ?

masjanja11
29.10.2025 11:12Коробит от использования command в Ansible, там где можно использовать готовые модули apt или package.
ИМХО: использовать command в ансибле нужно только в крайнем случае, когда нет других вариантов.

say_TT_plz
>>Добавляем репозиторий Proxmox
gpg ключ добавили, а sources.list нет
tkrylova2200
sources.list есть , спасибо )