Жизненный цикл домашней лаборатории и переход на компактное железо
Домашние лаборатории обычно следуют предсказуемому жизненному циклу. Поначалу я с энтузиазмом восстанавливал крупные серверы, наслаждаясь избытком ядер и оперативной памяти, но вскоре вновь вспоминал причины, по которым в прошлый раз решил сократить масштабы. Массив вентиляторов, вращающихся на 15 000 оборотах в минуту в спальне, означает лишь одно: лишний шум, избыточный нагрев и стремительный рост счетов за электроэнергию. Я решил двигаться в обратном направлении, используя по возможности менее габаритное и тихое оборудование. В качестве тестового образца идеально подошел мини-ПК Zotac ZBOX с процессором Celeron N3160 и 8 ГБ оперативной памяти. Вместо привычной установки Proxmox я решил попробовать малоизвестный гипервизор XCP-ng. Он показал себя гораздо лучше, чем я ожидал, однако два интерфейса управления этим решением наглядно продемонстрировали, в каких именно сценариях такой гипервизор уместен в домашней лаборатории.

Минималистичная конфигурация Zotac ZBOX CI325 Nano
Мой отказ от ревущих серверов начался с оборудования, которое едва соответствовало рекомендуемым системным требованиям. Честно говоря, Zotac ZBOX CI325 Nano выглядит как устройство, которому место за телевизором, а не в роли хоста для корпоративного гипервизора. Его спецификации лишь подтверждают это впечатление:
- Процессор: Intel Celeron N3160 (четыре энергоэффективных ядра, базовая частота 1,6 ГГц, разгон до 2,24 ГГц).
- Оперативная память: 8 ГБ DDR3L.
- Накопитель: 120 ГБ SSD.
- Сетевые интерфейсы: два порта Gigabit Ethernet.
- Дополнительно: адаптер Wi-Fi и Bluetooth, один отсек 2,5 дюйма SATA 6 Гбит/с.
XCP-ng рекомендует иметь 70 ГБ свободного места на диске и 8 ГБ оперативной памяти, так что Zotac едва вписался в эти требования.
Установка XCP-ng
Подготовку к установке я начал с активации функции виртуализации Intel Virtualization и отключения Secure Boot в BIOS. Следуя инструкциям XCP-ng, я оставил прошивку BIOS в режиме UEFI. Я воспользовался утилитой Rufus для создания загрузочного USB-накопителя с ISO-образом XCP-ng, но столкнулся с проблемой: установщик выдавал пустой экран около пяти минут. Я уже был готов переключиться на режим legacy boot, как вдруг наконец появилось заставочное окно установщика. Выяснилось, что Zotac вполне совместим с системой, просто ему потребовалось чуть больше времени на обработку данных. Далее я использовал локальный установочный носитель, выбрал файловую систему EXT с поддержкой thin provisioning и назначил подключенный интерфейс eth1 через DHCP. Установщик также корректно настроил серверы времени и часовые пояса без каких-либо затруднений.
Первая перезагрузка после выполнения команды yum update преподнесла сюрприз: XCP-ng не получил IP-адрес для управления, из-за чего веб-интерфейс был недоступен. Принудительное обновление аренды адреса адаптером сразу вернуло 192.168.1.191, и с тех пор эта проблема не возникала. Вскоре консоль хоста сообщила об успешной установке. В отличие от VMware ESXi, крошечный безвентиляторный компьютер прошел процедуру инсталляции без единой проблемы с совместимостью.

Работа с Xen Orchestra Lite
Облегченная панель управления позволила начать работу практически сразу, избавив от необходимости развертывать отдельный сервер управления. Xen Orchestra (XO) Lite загрузился прямо по адресу https://192.168.1.191 с использованием учетных данных root, заданных при установке. Дашборд подтвердил, что все четыре ядра процессора, 8 ГБ ОЗУ и два порта Gigabit Ethernet распознаны корректно. Система выделила 2 ГБ ОЗУ для управляющего домена XCP-ng, оставив 6 ГБ для гостевых виртуальных машин. Слово «выделила» здесь ключевое: память была зарезервирована для хоста, а не мгновенно потреблена целиком.

Интерфейс XO Lite выглядит проработанным и простым, работая прямо в браузере. Страницы открываются быстро, макет интуитивно понятен, и даже процессор Celeron справляется с ним без задержек. Тем не менее, были замечены недостатки: процесс создания новой виртуальной машины не назовешь интуитивным, а кнопка буфера обмена в консоли пока лишь обещает: «Скоро появится».
Ограничения работы с ISO
Самый существенный минус по сравнению с Proxmox или ESXi проявился при попытке создать виртуальную машину из ISO-образа. XCP-ng рассматривает образы установки как отдельный репозиторий хранилища ISO, а не как файлы, которые можно просто загрузить через браузер. Поскольку процессор Celeron плохо справлялся с шифрованием SCP, я записал ISO на USB-флешку и смонтировал её в режиме чтения:

mkdir -p /mnt/usb-iso
mount -o ro /dev/sdc1 /mnt/usb-iso
Затем я зарегистрировал точку монтирования как ISO-репозиторий с помощью команды xe:
xe sr-create name-label=»USB ISO Library» type=iso content-type=iso device-config:location=/mnt/usb-iso device-config:legacy_mode=true
Метод сработал идеально, но он наглядно показал ограничения использования облегченного интерфейса в сочетании с этим гипервизором. Напомним, что XCP-ng — это бесплатный гипервизор первого типа с открытым исходным кодом, построенный на базе Xen Project.

Управление виртуальными машинами и работа с Xen Orchestra
Платформа XCP-ng, разрабатываемая компанией Vates, представляет собой бесплатное решение с открытым исходным кодом (версия 8.3). Она предназначена для использования в связке с Xen Orchestra, что обеспечивает централизованное управление виртуальными машинами, их мониторинг, создание снимков (snapshots), резервное копирование и работу с пулами из нескольких хостов.

Практический опыт развертывания Lubuntu
В ходе эксперимента на базе шаблона Ubuntu 64-bit в XCP-ng была создана виртуальная машина с Lubuntu Linux. Для конфигурации использовались следующие параметры: BIOS-прошивка, два vCPU, 2 ГБ оперативной памяти и 20 ГБ дискового пространства с «тонким» выделением (thin-provisioned). Установка из ISO-образа, размещенного в USB-хранилище, прошла быстро и без ошибок.
Виртуальная машина показала высокую отзывчивость, несмотря на то что два ядра процессора и 2 ГБ ОЗУ одновременно обслуживали и гостевую ОС, и гипервизор «голого железа». После установки агента управления XCP-ng и OpenSSH через команды sudo apt update и sudo apt install xe-guest-utilities openssh-server, а также подтверждения работы агента статусом systemctl status xe-daemon —no-pager, интерфейс рабочего стола стал заметно быстрее. Использование OpenSSH стало необходимостью, так как консоль XO Lite на данный момент не поддерживает работу с буфером обмена: кнопки и текстовые поля присутствуют, но при попытке их использования выводится сообщение о том, что функция находится в разработке.

Развертывание полноценного Xen Orchestra
Хотя XO Lite подходит для создания и работы с одной виртуальной машиной, полноценные возможности XCP-ng раскрываются при использовании Xen Orchestra. Развертывание XOA было запущено нажатием кнопки в интерфейсе XO Lite. Процесс установки занял более часа, что заставило усомниться в его работоспособности, однако проверка через SSH командой xe task-list params=name-label,status,progress показала прогресс 86,9%, подтверждая, что процессор Celeron работал под высокой нагрузкой.
После запуска XOA потребовалось вручную подключиться к 192.168.1.191, используя корневые учетные данные хоста. Данный интерфейс объединяет управление серверами, пулами, мониторинг, резервное копирование, историю задач и администрирование инфраструктуры. Однако это привело к высоким затратам ресурсов: XCP-ng зарезервировал 2 ГБ ОЗУ, XOA — 4 ГБ, а Lubuntu — оставшиеся 2 ГБ, доведя потребление памяти до 100%. Тем не менее, рабочий стол Lubuntu оставался отзывчивым.

Тестирование снимков и архитектурные выводы
Для проверки функциональности был создан снимок ВМ на диске. После внесения изменений (замена обоев и создание файла ~/Desktop/AFTER-SNAPSHOT.txt) и выключения ВМ был выполнен откат к снимку. Проверка командой test -e ~/Desktop/AFTER-SNAPSHOT.txt && echo «File survived» || echo «Rollback removed the test file» подтвердила успешное удаление тестового файла и возврат к предыдущему состоянию. Важно учитывать, что снимок — это инструмент для кратковременного отката, а не резервная копия; он зависит от исходного хранилища ВМ и со временем потребляет дополнительные ресурсы.

Сравнивая XCP-ng с Proxmox, можно отметить, что для компактного сервера в домашних условиях Proxmox предпочтительнее, так как хранит интерфейс управления на самом хосте, поддерживает загрузку ISO-образов и совместим с большим количеством устаревшего оборудования. XCP-ng, с его разделением гипервизора и интерфейса управления, напоминает архитектуру VMware ESXi и vCenter. Хотя XCP-ng не заменил Proxmox в текущем сценарии из-за избыточности для одиночного хоста, он предложил архитектуру, сопоставимую с VMware, но без желания вернуться к последней.
Альтернативы для домашних лабораторий
Для создания крупной домашней лаборатории или системы с несколькими хостами я бы в первую очередь серьезно рассмотрел использование XCP-ng вместо ESXi/vCenter.

Платформа XCP-ng привлекла меня не за счет того, что она заставила маленький сервер работать эффективнее или выполнять больше задач.
Она просто наглядно продемонстрировала, каким именно должен быть гипервизор, если бы у меня была возможность выстраивать всю инфраструктуру с нуля.

Ниже приведены недостающие подробности и факты, которые отсутствуют в текущей статье:
Технические нюансы установки и первичной настройки
В процессе создания загрузочного USB-накопителя с помощью Rufus важно учитывать специфику поведения Zotac ZBOX CI325 nano. Хотя установщик XCP-ng в конечном итоге корректно распознает аппаратное обеспечение, пятиминутный «черный экран» после старта часто заставляет неопытных пользователей преждевременно прерывать процесс, ошибочно полагая, что оборудование несовместимо. Также стоит отметить, что при настройке сети установщик позволяет бесшовно интегрировать хост в существующую инфраструктуру: при выборе DHCP-назначения для интерфейса eth1 процесс синхронизации с серверами точного времени (NTP) и автоматическое определение часовых поясов происходят без дополнительного вмешательства администратора, что является плюсом при первичной инсталляции.

Особенности работы с памятью и процессором
Хотя в конфигурации с 8 ГБ оперативной памяти использование полноценной версии Xen Orchestra (XOA) приводит к тому, что гипервизор, управляющий модуль и гостевая ВМ суммарно потребляют весь доступный объем (100% provisioning), система демонстрирует удивительную стабильность. Даже при достижении порога в 8 ГБ, где 2 ГБ зарезервированы под нужды домена dom0, 4 ГБ отданы под XOA и 2 ГБ выделены для ОС Lubuntu, виртуальная среда не теряет отзывчивости. Это свидетельствует об эффективности работы менеджера памяти Xen, который лишь резервирует, но не обязательно потребляет «каждый байт» сразу после старта.
Архитектурные выводы и работа со снимками
Важно подчеркнуть, что длительное хранение снапшотов (snapshots) в среде XCP-ng — не лучшая практика для домашних лабораторий. Снимок не является полноценной заменой резервной копии, так как он сохраняет прямую зависимость от первичного хранилища данных. По мере накопления измененных блоков данных (changed blocks) файл снимка может значительно увеличиваться в размерах, что со временем ведет к деградации производительности дисковой подсистемы. В условиях ограниченных ресурсов Zotac ZBOX этот фактор становится критическим, так как ресурсы процессора Celeron N3160 для обработки операций записи/чтения при работе со снапшотами ограничены, в отличие от более производительных серверов.






