Подготовка VM-шаблонов
Каждый пул рабочих столов клонируется из шаблона. Planeon никогда не собирает гостевую операционную систему с нуля — он клонирует уже существующую ВМ-шаблон Proxmox VE, а затем кастомизирует каждый клон (имя хоста, при необходимости — присоединение к домену, проверки готовности), прежде чем передать его пользователю. От качества этого шаблона зависит, насколько гладко пройдёт provisioning: шаблон без guest agent или VirtIO-драйверов — самая частая причина того, что рабочие столы никогда не доходят до статуса Ready.
В этом руководстве описана подготовка шаблона для Windows и для Linux, а также то, как убедиться, что он готов, прежде чем указывать его в пуле. Если вы ещё не создавали свой первый пул, см. быстрый старт.
Общие правила для любой ОС
Они применимы независимо от гостевой операционной системы:
- Установите QEMU guest agent внутри гостевой системы. Planeon опирается на него для определения ОС, настройки имени хоста и проверок готовности во время provisioning — клон без агента никогда не дойдёт до статуса Ready.
- Включите опцию QEMU Guest Agent на самой ВМ, на вкладке Options ВМ в интерфейсе Proxmox VE. Одной установки агента внутри гостевой системы недостаточно — Proxmox VE тоже должен знать, что с ним нужно общаться.
- Используйте устройства VirtIO для диска и сети (контроллер VirtIO SCSI, сетевой адаптер VirtIO) вместо эмулируемого оборудования — это важно и для производительности, и для единообразия драйверов на всём парке клонов.
- Сделайте уборку перед конвертацией в шаблон — удалите остатки установки и временные файлы и выполните описанные ниже шаги для вашей ОС, — чтобы каждый клон стартовал из одного и того же проверенного состояния.
Windows 10, Windows 11 и Windows Server
-
Подключите ISO с драйверами VirtIO во время установки. Windows не включает драйверы VirtIO «из коробки», поэтому смонтируйте ISO с драйверами
virtio-winвместе с установочным диском и загрузите драйверы VirtIO SCSI и сети, когда мастер установки их запросит — так Windows увидит диск и сетевой адаптер VirtIO уже на этапе установки. -
Установите QEMU guest agent. На ISO
virtio-winесть папкаguest-agentс MSI-инсталляторомqemu-ga; запустите его внутри гостевой системы и убедитесь, что служба QEMU Guest Agent запущена. -
Включите удалённый рабочий стол и разрешите его в брандмауэре. Включите Remote Desktop в настройках Windows и убедитесь, что правило брандмауэра для удалённого рабочего стола включено. Проверка готовности по умолчанию для Windows-рабочих столов в Planeon требует, чтобы служба удалённого рабочего стола была запущена, а RDP — это то, как большинство пользователей будут подключаться к рабочему столу на практике.
-
Установите обновления Windows перед тем, как превращать ВМ в шаблон, — чтобы каждый клон стартовал уже обновлённым, а не устанавливал обновления при первой загрузке.
-
Обобщите образ с помощью Sysprep. Из командной строки с правами администратора:
%WINDIR%\System32\Sysprep\sysprep.exe /generalize /oobe /shutdownЭто убирает специфичное для машины состояние (SID, кэш драйверов) и выключает ВМ по завершении OOBE, так что каждый клон получает чистую, уникальную идентичность при первой загрузке. Provisioning в Planeon уже умеет дожидаться завершения этой первичной настройки на клонированных Windows-ВМ, прежде чем пометить их готовыми, — поэтому не пропускайте Sysprep ради экономии времени: необобщённый образ вместо этого приводит к конфликтам SID и идентичности между клонами.
-
Сконвертируйте ВМ в шаблон в Proxmox VE. Как только ВМ выключится сама после Sysprep, щёлкните по ней правой кнопкой в интерфейсе Proxmox VE и выберите Convert to Template.
Linux
-
Установите и включите QEMU guest agent менеджером пакетов вашего дистрибутива, например:
sudo apt-get install -y qemu-guest-agentsudo systemctl enable --now qemu-guest-agent -
Установите и включите xrdp, чтобы рабочий стол был доступен по RDP так же, как и Windows-рабочие столы:
sudo apt-get install -y xrdpsudo systemctl enable --now xrdpДля работы xrdp нужна установленная графическая среда — установите её, если в базовом образе её ещё нет.
-
Cloud-init — опционально. Если вы уже готовите Linux-ВМ с использованием диска Cloud-Init для сети или настройки пользователей, можете продолжать его использовать — путь клонирования и кастомизации Planeon его не требует, но и не конфликтует с ним.
-
Очистите идентичность машины перед превращением в шаблон, чтобы ни один клон не унаследовал ту же идентичность, что и шаблон:
sudo truncate -s 0 /etc/machine-idsudo rm -f /etc/ssh/ssh_host_*SSH host keys обычно пересоздаются при первой загрузке сами (большинство дистрибутивов делают это автоматически, когда ключи отсутствуют, а служба SSH запускается); если в вашем дистрибутиве это не так, переконфигурируйте пакет openssh-server вручную.
-
Выключите ВМ и сконвертируйте её в шаблон в Proxmox VE — щёлкните по ней правой кнопкой в интерфейсе Proxmox VE и выберите Convert to Template.
Проверьте, что шаблон готов
Две проверки перед тем, как указывать шаблон в пуле:
- Guest agent отвечает. Пока ВМ ещё работает как обычная ВМ (до того, как вы её сконвертируете), откройте её в интерфейсе Proxmox VE и посмотрите на вкладку Summary — как только агент установлен, включён и запущен, там появится IP-адрес. Если IP-адреса нет — агент ещё не отвечает; вернитесь к шагам по guest agent выше.
- Инвентарь Planeon показывает её как пригодную. После того как вы сконвертировали ВМ в шаблон в Proxmox VE, откройте Шаблоны → Зарегистрировать в веб-консоли Planeon и посмотрите на список Шаблонная ВМ PVE — там показываются только ВМ, которые сам Proxmox VE пометил как шаблоны. Если ваша ВМ там появилась — она пригодна для регистрации и использования в пуле.