bolt Valebyte VPS від $4/міс — NVMe, запуск за 60 секунд.

Отримати VPS arrow_forward
eco Початковий Туторіал

XCP-ng та Xen Orchestra на dedicated: безкоштовна заміна VMware ESXi

calendar_month Sep 08, 2026 schedule 21 хв. читання visibility 81 переглядів
XCP-ng и Xen Orchestra на dedicated: бесплатная замена VMware ESXi
info

Потрібен сервер для цього гайду? Ми пропонуємо виділені сервери та VPS у 50+ країнах з миттєвим налаштуванням.

Потрібен сервер для цього гайду?

Розгорніть VPS або виділений сервер за хвилини.

XCP-ng і Xen Orchestra на Dedicated: Безкоштовна Заміна VMware ESXi

TL;DR

У цьому докладному посібнику ми налаштуємо потужну та безкоштовну платформу віртуалізації XCP-ng на виділеному сервері, а потім розгорнемо й сконфігуруємо Xen Orchestra для інтуїтивного керування віртуальними машинами. Ви отримаєте надійну інфраструктуру для запуску будь-яких сервісів — від вебзастосунків і баз даних до ігрових серверів і нод блокчейну — з повним контролем над ресурсами та даними, уникаючи прив'язки до пропрієтарних рішень.

  • Встановлення XCP-ng 8.4 LTS на виділений сервер для створення високопродуктивного гіпервізора.
  • Розгортання Xen Orchestra Community Edition (XOCE) у віртуальній машині для централізованого керування.
  • Налаштування безпечного віддаленого доступу та базових мережевих параметрів.
  • Інтеграція TLS/HTTPS для Xen Orchestra за допомогою Caddy для захищеного доступу до вебінтерфейсу.
  • Рекомендації щодо резервного копіювання віртуальних машин і обслуговування всієї інфраструктури.
  • Практичні поради щодо вибору обладнання та усунення поширених проблем.

Що ми налаштовуємо і навіщо

Схема: Что мы настраиваем и зачем
Схема: Що ми налаштовуємо і навіщо

У цьому посібнику ми створимо повноцінну платформу віртуалізації, використовуючи зв'язку XCP-ng і Xen Orchestra. XCP-ng (Xen Cloud Platform - next generation) — це потужний гіпервізор із відкритим вихідним кодом, заснований на XenProject, який перетворює ваш виділений сервер на потужну машину для запуску безлічі віртуальних машин. Він є прямою та функціональною альтернативою комерційним рішенням, таким як VMware ESXi або Microsoft Hyper-V, але водночас абсолютно безкоштовний і повністю відкритий.

Xen Orchestra (XO) — це вебінтерфейс керування для XCP-ng (і XenServer), який надає інтуїтивно зрозумілі засоби для створення, запуску, моніторингу та адміністрування віртуальних машин. За його допомогою ви зможете легко керувати всією своєю віртуальною інфраструктурою з будь-якої точки світу через веббраузер, не вдаючись безпосередньо до командного рядка XCP-ng.

Що читач отримає в результаті? Ви отримаєте повний контроль над своїм апаратним забезпеченням, можливість ефективно розподіляти ресурси між різними проєктами, запускати ізольовані середовища для розробки, тестування або продакшену, а також створювати відмовостійкі рішення. Це ідеальний вибір для розробників, стартапів, криптоентузіастів і всіх, хто цінує незалежність і продуктивність свого сервера.

Альтернативи: Cloud-Managed vs Self-Hosted

Існує два основні підходи до розгортання інфраструктури: використання хмарних сервісів (cloud-managed) або самостійне розміщення (self-hosted) на VPS/dedicated сервері.

  • Cloud-managed (наприклад, AWS EC2, Google Compute Engine, Azure Virtual Machines): Це зручно, швидко масштабується та не потребує глибоких знань в адмініструванні інфраструктури. Ви платите за використані ресурси, а провайдер бере на себе турботи про обладнання, мережу та базове ПЗ. Однак це може бути значно дорожче за постійного навантаження, і ви обмежені можливостями та API конкретного провайдера.
  • Self-hosted на VPS: Економніший варіант, що надає більше контролю. Ви орендуєте віртуальний сервер і повністю керуєте його програмним забезпеченням. Підходить для одного-двох завдань, але для повноцінної віртуалізації з кількома VM може бути неефективним, оскільки VPS сам по собі вже є віртуальною машиною, і запуск гіпервізора всередині нього (nested virtualization) можливий, але менш продуктивний і не завжди підтримується.
  • Self-hosted на Dedicated Server (наш випадок): Максимальний контроль, продуктивність і гнучкість. Ви орендуєте фізичний сервер, на якому можете встановити XCP-ng як базову операційну систему. Це дає змогу використовувати всі апаратні ресурси без накладних витрат віртуалізації на рівні хоста, створювати безліч віртуальних машин, налаштовувати складні мережі та системи зберігання даних. Це найекономічно вигідніший варіант для масштабованих і ресурсоємних проєктів у довгостроковій перспективі, особливо коли потрібна висока продуктивність I/O або специфічне обладнання.

Яка Dedicated-конфігурація потрібна для цього завдання

Схема: Какой Dedicated-конфиг нужен под эту задачу
Схема: Яка Dedicated-конфігурація потрібна для цього завдання

Вибір апаратного забезпечення для XCP-ng критично важливий, оскільки воно буде фундаментом для всіх ваших віртуальних машин. XCP-ng встановлюється безпосередньо на "голе" залізо (bare-metal), перетворюючи ваш dedicated сервер на гіпервізор.

Мінімальні вимоги (для домашніх або тестових завдань):

  • CPU: 4-ядерний процесор (наприклад, Intel Xeon E3-12xx v5/v6 або AMD Ryzen 3xxx/5xxx) з підтримкою апаратної віртуалізації (Intel VT-x/EPT або AMD-V/RVI).
  • RAM: Мінімум 16 ГБ ECC RAM. Що більше VM ви плануєте запускати, то більше RAM знадобиться.
  • Диск: 2x 240 ГБ SSD у RAID1 для операційної системи XCP-ng і базових VM. Для даних VM знадобиться додаткове сховище. Бажано NVMe для високої продуктивності I/O.
  • Мережа: 1x Gigabit Ethernet порт.

Рекомендований Dedicated-план (для продакшену та масштабування):

Для більшості продакшен-завдань, таких як запуск GitLab, кількох екземплярів Mattermost, ігрових серверів або Bitcoin/Ethereum нод, вам знадобиться потужніша конфігурація:

  • CPU: 8-16 ядер (наприклад, Intel Xeon E5-26xx v3/v4 або AMD EPYC 7xxx) з підтримкою апаратної віртуалізації. Частота ядра важливіша за кількість ядер для деяких робочих навантажень.
  • RAM: 64-128 ГБ ECC RAM. Це дасть змогу комфортно розміщувати кілька ресурсоємних VM.
  • Диск:
    • 2x 480 ГБ NVMe SSD у RAID1 для XCP-ng OS і високопродуктивних VM.
    • Додатково: 2-4 ТБ NVMe/SSD або HDD (залежно від вимог до обсягу та швидкості) для спільних даних і менш критичних VM, також у RAID1 або RAID10.
  • Мережа: 2x 10 Gigabit Ethernet порти для забезпечення високої пропускної здатності та відмовостійкості.

Для оренди відповідного dedicated сервера з такими характеристиками переконайтеся, що вибрано конфігурацію з достатнім обсягом оперативної пам'яті та швидкими NVMe-дисками. Це забезпечить стабільну та продуктивну роботу вашої віртуальної інфраструктури.

Коли потрібен Dedicated, а не VPS

Dedicated сервер потрібен, коли:

  • Потрібна максимальна продуктивність і мінімальні затримки I/O, недосяжні на VPS.
  • Необхідний повний контроль над апаратним забезпеченням, включно з вибором RAID-контролерів, мережевих карт, GPU.
  • Планується запуск великої кількості віртуальних машин або контейнерів, що потребують значних ресурсів.
  • Потрібна апаратна віртуалізація (Intel VT-x/AMD-V) для гіпервізора, що не завжди доступно або ефективно на VPS (nested virtualization).
  • Бюджет дає змогу інвестувати в потужніше, але в перерахунку на одиницю ресурсу дешевше рішення в довгостроковій перспективі.
  • Потрібне дотримання специфічних регуляторних вимог, де необхідна фізична ізоляція.

Локація: на що впливає

Вибір географічної локації виділеного сервера впливає на кілька ключових факторів:

  • Затримка (Latency): Що ближче сервер до вашої основної аудиторії або до вас, то нижчою буде затримка. Це критично для інтерактивних застосунків, ігрових серверів або віддалених робочих столів.
  • Законодавство: Закони про захист даних (наприклад, GDPR у Європі) можуть бути важливим фактором під час вибору локації сервера.
  • Вартість: Ціни на dedicated сервери можуть відрізнятися залежно від регіону через різницю у вартості електроенергії, оренди дата-центрів і податків.

Для XCP-ng і Xen Orchestra обирайте локацію, яка забезпечує найкращий зв'язок із вашими користувачами та відповідає вашим правовим вимогам.

Підготовка сервера

Схема: Подготовка сервера
Схема: Підготовка сервера

Підготовка dedicated сервера для встановлення XCP-ng відрізняється від підготовки звичайного Linux-сервера, оскільки XCP-ng є операційною системою-гіпервізором. Основна підготовка полягає в доступі до консолі сервера (IPMI/KVM) для завантаження ISO-образу та проведення первинного встановлення. Після встановлення XCP-ng більшість базових налаштувань безпеки та керування виконуватимуться вже всередині XCP-ng або в Xen Orchestra.

Доступ до IPMI/KVM

Ваш провайдер dedicated серверів надасть вам доступ до панелі керування, де ви зможете отримати доступ до IPMI (Intelligent Platform Management Interface) або KVM (Keyboard, Video, Mouse) over IP. Це критично для встановлення XCP-ng, оскільки встановлення відбувається через графічний інтерфейс, а не через SSH.

Кроки:

  1. Увійдіть до панелі керування вашого dedicated сервера.
  2. Знайдіть розділ "IPMI", "KVM" або "Remote Console".
  3. Запустіть KVM-консоль. Це може бути Java-аплет, HTML5-клієнт або VNC-клієнт.
  4. Переконайтеся, що ви можете завантажити ISO-образ XCP-ng через KVM (наприклад, монтування ISO з локального файлу або за URL).

Оновлення прошивки (за бажанням, але рекомендується)

Перед встановленням XCP-ng рекомендується оновити прошивки (BIOS/UEFI, контролери RAID, мережеві карти) вашого сервера до останніх стабільних версій. Це може поліпшити сумісність, продуктивність і стабільність. Процес оновлення залежить від виробника сервера (Dell, HP, Supermicro тощо) і зазвичай виконується через IPMI або завантажувальний USB-накопичувач.

Увага: Оновлення прошивки — ризикована операція. Виконуйте її суворо за інструкціями виробника.

Налаштування RAID (якщо застосовно)

Якщо ваш сервер має апаратний RAID-контролер, налаштуйте його перед встановленням XCP-ng. Для дисків, на яких буде встановлено XCP-ng, зазвичай використовується RAID1 (дзеркалювання) для відмовостійкості. Для дисків зберігання віртуальних машин можна використовувати RAID10 для продуктивності та відмовостійкості або RAID5/6 для більшого обсягу за менших витрат.

Приклад налаштування RAID (через KVM, у BIOS/UEFI RAID-контролера):

  1. Перезавантажте сервер і увійдіть до меню налаштування RAID-контролера (зазвичай натисканням Ctrl+R, Ctrl+M або Fx під час завантаження).
  2. Створіть новий "Virtual Disk" (VD) або "Logical Drive" (LD) для XCP-ng (наприклад, із двох SSD у RAID1).
  3. Створіть додаткові VD/LD для зберігання віртуальних машин (наприклад, із NVMe у RAID1 або RAID10).
  4. Збережіть налаштування та вийдіть із конфігуратора RAID.

Тепер ваш сервер готовий до встановлення XCP-ng.

Встановлення ПЗ — покроково

Схема: Встановлення ПЗ — покроково
Схема: Встановлення ПЗ — покроково

Цей розділ охоплює встановлення XCP-ng на dedicated сервер і подальше встановлення Xen Orchestra у віртуальній машині під керуванням XCP-ng.

1. Встановлення XCP-ng 8.4 LTS на Dedicated Server

Припускаємо, що до 2026 року XCP-ng 8.4 LTS буде актуальною стабільною версією. Встановлення XCP-ng виконується через інтерактивний графічний інсталятор, до якого ми отримуємо доступ через KVM/IPMI.

  1. Завантаження ISO-образу XCP-ng:

    Завантажте актуальний ISO-образ XCP-ng 8.4 LTS з офіційного сайту XCP-ng.com. Через KVM-консоль вашого провайдера змонтуйте цей ISO-образ як віртуальний привід або вкажіть URL для його завантаження.

  2. Завантаження сервера з ISO-образу:

    Перезавантажте dedicated сервер і переконайтеся, що він завантажується зі змонтованого ISO-образу. Можливо, потрібно буде змінити порядок завантаження в BIOS/UEFI через KVM.

  3. Початок встановлення XCP-ng:

    Після завантаження ви побачите меню інсталятора. Виберіть "install" або "Install XCP-ng".

    
    # Выберите "Install XCP-ng" в загрузочном меню
                

    Що робить команда: Запускає процес встановлення гіпервізора XCP-ng.

  4. Вибір мови та розкладки клавіатури:

    Дотримуйтесь інструкцій на екрані, виберіть бажану мову та розкладку клавіатури.

  5. Прийняття ліцензійної угоди:

    Прочитайте та прийміть ліцензійну угоду (EULA).

  6. Вибір диска для встановлення:

    Виберіть диск (або логічний том RAID), на який буде встановлено XCP-ng. Переконайтеся, що це правильний диск, оскільки всі дані на ньому буде видалено.

    
    # Выберите диск/RAID-том для установки XCP-ng OS
    # Например: /dev/sda или /dev/mapper/vg_xcpng-lv_root
                

    Що робить команда: Визначає цільове сховище для встановлення гіпервізора.

  7. Вибір типу сховища (Thin Provisioning):

    Вам буде запропоновано вибрати, чи використовувати тонке виділення ресурсів (Thin Provisioning). Для більшості випадків це хороший вибір, оскільки дає змогу ефективніше використовувати дисковий простір.

    
    # Выберите "Enable thin provisioning"
                

    Що робить команда: Налаштовує гнучке керування дисковим простором для VM.

  8. Налаштування мережевого інтерфейсу:

    Виберіть мережевий адаптер, який використовуватиметься для керування XCP-ng. Налаштуйте IP-адресу, маску підмережі, шлюз і DNS-сервери. Рекомендується використовувати статичну IP-адресу.

    
    # Настройте статический IP-адрес, маску, шлюз, DNS
    # Например: IP 192.168.1.100, Netmask 255.255.255.0, Gateway 192.168.1.1, DNS 8.8.8.8
                

    Що робить команда: Визначає мережеві параметри для доступу до XCP-ng.

  9. Вибір часового поясу та налаштування NTP:

    Встановіть правильний часовий пояс і налаштуйте NTP-сервери для синхронізації часу (наприклад, pool.ntp.org).

  10. Встановлення пароля root:

    Встановіть надійний пароль для користувача root. Цей пароль використовуватиметься для доступу до консолі XCP-ng і через SSH.

  11. Підтвердження та початок встановлення:

    Перегляньте зведення налаштувань і підтвердьте початок встановлення.

    
    # Подтвердите, чтобы начать установку
                

    Що робить команда: Запускає копіювання файлів і налаштування системи.

  12. Перезавантаження:

    Після завершення встановлення витягніть інсталяційний носій (відключіть ISO у KVM) і перезавантажте сервер.

    
    # Перезагрузите сервер после установки
                

    Що робить команда: Завершує встановлення та запускає XCP-ng.

Після перезавантаження XCP-ng буде запущено. Ви зможете отримати доступ до його консолі через KVM, а також через SSH, використовуючи IP-адресу, яку ви налаштували.

2. Встановлення Xen Orchestra Community Edition (XOCE) у VM

Ми встановимо XOCE з вихідного коду в окремій віртуальній машині на XCP-ng. Це рекомендований підхід, оскільки він ізолює керування від гіпервізора.

  1. Створення VM для Xen Orchestra:

    Увійдіть до консолі XCP-ng через SSH або KVM. Використовуйте команду xe vm-install для створення нової VM. Для Xen Orchestra рекомендується використовувати Debian 12 (Bookworm) або Ubuntu 24.04 LTS.

    
    # Подключитесь к XCP-ng по SSH
    ssh root@
    
    # Создайте VM с 2 vCPU, 4GB RAM и 40GB диском
    # Используем шаблон для Ubuntu 24.04 LTS (или Debian 12)
    # Сначала найдем UUID шаблона
    TEMPLATE_UUID=$(xe template-list name-label="Ubuntu 24.04 (64-bit)" --minimal)
    # Если шаблон не найден, попробуйте "Debian 12 (64-bit)"
    if [ -z "$TEMPLATE_UUID" ]; then
        TEMPLATE_UUID=$(xe template-list name-label="Debian 12 (64-bit)" --minimal)
    fi
    
    VM_UUID=$(xe vm-install template="$TEMPLATE_UUID" new-name-label="Xen Orchestra VM")
    xe vm-param-set uuid=$VM_UUID memory-static-max=4294967296
    xe vm-param-set uuid=$VM_UUID memory-dynamic-max=4294967296
    xe vm-param-set uuid=$VM_UUID memory-static-min=4294967296
    xe vm-param-set uuid=$VM_UUID memory-dynamic-min=4294967296
    xe vm-param-set uuid=$VM_UUID VCPUs-max=2
    xe vm-param-set uuid=$VM_UUID VCPUs-at-startup=2
    
    # Создайте новый VDI (виртуальный диск) для VM
    SR_UUID=$(xe sr-list content-type=user device-config:device=/dev/sdb --minimal) # Замените /dev/sdb на ваш SR
    if [ -z "$SR_UUID" ]; then
        SR_UUID=$(xe sr-list content-type=user --minimal) # Если есть только один SR
    fi
    
    VDI_UUID=$(xe vdi-create sr-uuid=$SR_UUID name-label="Xen Orchestra Disk" virtual-size=40GiB type=system)
    VBD_UUID=$(xe vbd-create vm-uuid=$VM_UUID vdi-uuid=$VDI_UUID device=0)
    xe vbd-param-set uuid=$VBD_UUID bootable=true
    
    # Подключите ISO-образ Ubuntu 24.04 LTS (или Debian 12)
    # Сначала загрузите ISO на XCP-ng, если еще не сделали
    # Например, через SCP: scp ubuntu-24.04-live-server-amd64.iso root@:/var/run/sr-mount/YOUR_SR_UUID/
    # Затем создайте ISO SR, если его нет, или используйте существующий
    # Либо просто укажите URL в KVM или Xen Orchestra после установки
    # В данном случае, мы будем использовать сетевую установку или загрузку ISO через Xen Orchestra после его настройки.
    # Для начала просто запустим VM и подключимся через KVM XCP-ng, чтобы установить ОС.
    
    # Запустите VM
    xe vm-start uuid=$VM_UUID
                

    Що робить команда: Створює нову віртуальну машину із заданими параметрами ресурсів і диска, а потім запускає її.

  2. Встановлення ОС (Ubuntu 24.04 LTS) у Xen Orchestra VM:

    Підключіться до консолі створеної VM через KVM XCP-ng (xe console vm-uuid=$VM_UUID) або через вебінтерфейс Xen Orchestra після його розгортання. Виконайте стандартне встановлення Ubuntu 24.04 LTS (Server). Створіть користувача без прав root, налаштуйте SSH-доступ і оновіть систему.

    
    # В консоли VM выполните:
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y git curl build-essential
                

    Що робить команда: Оновлює пакети та встановлює базові утиліти для збирання Xen Orchestra.

  3. Встановлення Xen Orchestra Community Edition (XOCE):

    Для спрощення встановлення XOCE з вихідного коду можна використати скрипт xo-install. Він автоматизує встановлення всіх залежностей і збирання XOCE.

    
    # Внутри Xen Orchestra VM (как обычный пользователь, не root):
    sudo apt install -y nodejs npm # Node.js 20.x или выше для 2026 года
    sudo npm install -g yarn # Установка Yarn
    
    git clone -b master https://github.com/vatesfr/xo-web.git
    git clone -b master https://github.com/vatesfr/xo-server.git
    git clone -b master https://github.com/vatesfr/xen-orchestra-web.git # Это старый репозиторий, используем xo-web
    # А лучше использовать готовый скрипт, чтобы не мучиться с зависимостями:
    
    # Установка скрипта xo-install (актуально для 2026 года)
    # Убедитесь, что у вас установлен git
    git clone https://github.com/ronivay/XenOrchestraInstaller.git
    cd XenOrchestraInstaller
    chmod +x xo-install.sh
    sudo ./xo-install.sh --install
    
    # Следуйте инструкциям скрипта. Он установит все необходимые зависимости (Node.js, Yarn и т.д.)
    # и скомпилирует Xen Orchestra.
                

    Що робить команда: Завантажує та запускає скрипт, який автоматизує встановлення Node.js, Yarn, клонування репозиторіїв Xen Orchestra та компіляцію всіх компонентів XOCE.

  4. Запуск і перевірка Xen Orchestra:

    Після завершення роботи скрипта Xen Orchestra має бути запущений як системний сервіс. Перевірте його статус.

    
    # Внутри Xen Orchestra VM:
    sudo systemctl status xo-server
    sudo systemctl status xo-web
                

    Що робить команда: Перевіряє, що сервіси Xen Orchestra запущені та працюють.

    Якщо все гаразд, Xen Orchestra буде доступний за IP-адресою вашої VM на порту 80 (HTTP) або 443 (HTTPS, якщо налаштовано). Введіть IP-адресу VM у браузері (наприклад, http://192.168.1.101).

  5. Підключення XCP-ng хоста до Xen Orchestra:

    Під час першого входу до вебінтерфейсу Xen Orchestra вам буде запропоновано створити обліковий запис адміністратора. Після цього ви зможете додати ваш XCP-ng хост.

    • Перейдіть до розділу "Settings" -> "Servers".
    • Натисніть "Add server".
    • Введіть IP-адресу вашого XCP-ng хоста, ім'я користувача (root) і пароль.
    • Натисніть "Connect".

    Тепер ви зможете керувати вашим XCP-ng хостом і всіма VM через Xen Orchestra.

Конфігурація

Схема: Конфигурация
Схема: Конфігурація

Після встановлення XCP-ng і Xen Orchestra необхідно виконати базову конфігурацію для забезпечення безпеки, доступності та зручності використання.

1. Налаштування мережевих параметрів XCP-ng

Хоча ви налаштували мережу під час встановлення, може знадобитися додаткове налаштування, наприклад, створення окремих мереж для різних VM або VLAN-ів. Ці налаштування краще виконувати через Xen Orchestra.

  • Додавання мережі: У Xen Orchestra перейдіть до "Network" -> "New Network". Ви можете створити "External network" (підключається до фізичного адаптера) або "Internal network" (лише для VM всередині хоста).
  • VLAN-и: Якщо ваш комутатор підтримує VLAN, ви можете створити VLAN-мережі в XCP-ng, указавши відповідний VLAN ID.

2. Конфігурація Xen Orchestra (TLS/HTTPS)

Доступ до вебінтерфейсу Xen Orchestra через HTTP є небезпечним. Налаштуємо HTTPS за допомогою Caddy, який автоматично отримує та оновлює SSL-сертифікати Let's Encrypt.

Попередні кроки:

  1. Переконайтеся, що ваша Xen Orchestra VM має доменне ім'я (наприклад, xo.yourdomain.com) і що DNS-запис (A-запис) вказує на публічну IP-адресу вашої VM. Якщо VM перебуває за NAT, вам знадобиться перенаправлення портів (80 і 443) на роутері до IP-адреси VM.
  2. Якщо ви використовуєте скрипт xo-install.sh, він може вже налаштувати Nginx або Caddy. Перевірте конфігурацію, якщо це так. Якщо ні, або ви хочете використовувати Caddy замість Nginx, дотримуйтесь інструкцій нижче.

Встановлення Caddy (у Xen Orchestra VM):


# Добавление репозитория Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install -y caddy
            

Що робить команда: Встановлює вебсервер Caddy, який виступатиме як зворотний проксі та оброблятиме TLS-сертифікати.

Налаштування Caddyfile (у Xen Orchestra VM):

Створіть або відредагуйте файл /etc/caddy/Caddyfile. Видаліть увесь наявний вміст і додайте таке:


# Откройте файл Caddyfile
sudo nano /etc/caddy/Caddyfile
            

Що робить команда: Відкриває файл конфігурації Caddy для редагування.

Вміст /etc/caddy/Caddyfile:


xo.yourdomain.com {
    reverse_proxy localhost:8000 # Порт, на котором слушает xo-server
    # Если xo-web слушает на другом порту, измените здесь
    # Например, если xo-web слушает на 8080
    # reverse_proxy localhost:8080
    
    # Рекомендуемые настройки безопасности (для 2026 года)
    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
        X-Frame-Options "DENY"
        X-Content-Type-Options "nosniff"
        Referrer-Policy "strict-origin-when-cross-origin"
        Permissions-Policy "geolocation=(), microphone=(), camera=()"
    }
}
            

Що робить команда: Налаштовує Caddy для проксування запитів із доменного імені xo.yourdomain.com на локальний порт Xen Orchestra (зазвичай 8000 для xo-server або 8080 для xo-web) та автоматично отримує/оновлює SSL-сертифікати.

Перевірка та запуск Caddy:


# Проверка синтаксиса Caddyfile
sudo caddy validate --config /etc/caddy/Caddyfile

# Перезапуск Caddy для применения изменений
sudo systemctl reload caddy
            

Що робить команда: Перевіряє конфігурацію Caddy і перезапускає сервіс для активації HTTPS.

Тепер Xen Orchestra має бути доступний за адресою https://xo.yourdomain.com.

3. Налаштування NTP-синхронізації для XCP-ng

Переконайтеся, що ваш хост XCP-ng синхронізує час, це важливо для коректної роботи VM і резервних копій.


# В консоли XCP-ng (по SSH)
xe host-param-set uuid= ntp-servers="0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org"
# Чтобы получить UUID хоста: xe host-list --minimal
            

Що робить команда: Установлює список NTP-серверів для хоста XCP-ng.

4. Перевірка працездатності

  • Доступ до Xen Orchestra: Відкрийте https://xo.yourdomain.com у браузері. Переконайтеся, що ви бачите вебінтерфейс і можете увійти.
  • Підключення XCP-ng: У Xen Orchestra перевірте, що ваш хост XCP-ng підключений і відображає коректний статус, ресурси та список VM.
  • Створення тестової VM: Спробуйте створити просту VM (наприклад, з Ubuntu Server), запустити її та підключитися до неї через консоль у Xen Orchestra. Це підтвердить, що весь ланцюжок віртуалізації працює.
  • Перевірка мережі у VM: Усередині тестової VM переконайтеся, що вона отримує IP-адресу та має доступ до інтернету (ping google.com).

Резервні копії та обслуговування

Схема: Бэкапы и обслуживание
Схема: Резервні копії та обслуговування

Надійне резервне копіювання та регулярне обслуговування є ключовими аспектами будь-якої продакшн-інфраструктури. Xen Orchestra надає потужні вбудовані засоби для керування резервними копіями XCP-ng.

Що резервно копіювати

  • Віртуальні машини (VM): Це найважливіші дані. Резервні копії VM включають операційну систему, застосунки, конфігурації та дані користувачів.
  • Конфігурація XCP-ng: Хоча XCP-ng відносно легко перевстановити, збереження його конфігурації (мережеві налаштування, SRs, пули) може заощадити час під час відновлення.
  • Конфігурація Xen Orchestra: Налаштування, користувачі, підключені сервери, розклади резервного копіювання.

Резервні копії за допомогою Xen Orchestra

Xen Orchestra пропонує функціональність "Backup jobs" (завдання резервного копіювання), яка дозволяє автоматизувати процес. XOCE підтримує різні типи резервних копій (повні, дельта-резервні копії, снапшоти) і сховища (SMB/NFS shares, S3-сумісні сховища).

Приклад налаштування завдання резервного копіювання в Xen Orchestra:

  1. Додавання віддаленого сховища (Remote Storage):

    У Xen Orchestra перейдіть до "Settings" -> "Remote Storage". Додайте нове сховище. Для цього можна використовувати:

    • NFS/SMB Share: Для цього вам знадобиться окремий сервер (NAS, інший VPS) з налаштованою NFS/SMB шарою.
    • S3-сумісне сховище: Наприклад, MinIO на окремому VPS або хмарні S3-сервіси.
    Укажіть тип сховища, IP-адресу/домен, шлях і облікові дані.

  2. Створення завдання резервного копіювання:

    Перейдіть до "Backups" -> "New Backup".

    • Name: Дайте ім'я завданню (наприклад, "Daily Critical VMs Backup").
    • Mode: Виберіть "Delta backup" (рекомендується для економії місця та часу) або "Full backup".
    • Type: Виберіть "VM backup" або "VM snapshot".
    • Schedule: Налаштуйте розклад (наприклад, щодня о 02:00 ночі).
    • Target: Виберіть раніше налаштоване віддалене сховище.
    • VMs: Виберіть віртуальні машини, які потрібно резервно копіювати. Можна вибрати за тегами, пулами або окремими VM.
    • Retention: Налаштуйте політику зберігання (наприклад, зберігати 7 останніх резервних копій).

    Збережіть завдання. Xen Orchestra автоматично виконуватиме резервне копіювання за розкладом.

Простий скрипт автоматичного резервного копіювання конфігурації XCP-ng (опційно)

Хоча Xen Orchestra резервно копіює VM, корисно мати окрему копію критичних файлів XCP-ng. Цей скрипт можна запускати через cron на Xen Orchestra VM або іншому сервері, який має SSH-доступ до XCP-ng.


#!/bin/bash

# Настройки
XCPNG_HOST=""
BACKUP_DIR="/mnt/backup_xcpng_configs" # Путь к NFS/SMB/S3FS монтированию на вашей XO VM
TIMESTAMP=$(date +%Y%m%d%H%M%S)
CONFIG_FILE="xcpng_config_${TIMESTAMP}.tar.gz"

# Создание директории для бэкапов, если не существует
mkdir -p "$BACKUP_DIR"

echo "Начало бэкапа конфигурации XCP-ng..."

# Экспорт базы данных XAPI
ssh root@$XCPNG_HOST "xe pool-dump-database file=/tmp/pool_database.bak"
ssh root@$XCPNG_HOST "tar -czf /tmp/xcpng_config.tar.gz /etc/xensource /etc/network/interfaces /etc/hosts /tmp/pool_database.bak"
ssh root@$XCPNG_HOST "rm /tmp/pool_database.bak"

# Копирование архива на локальное хранилище Xen Orchestra VM
scp root@$XCPNG_HOST:/tmp/xcpng_config.tar.gz "$BACKUP_DIR/$CONFIG_FILE"
ssh root@$XCPNG_HOST "rm /tmp/xcpng_config.tar.gz"

echo "Бэкап конфигурации XCP-ng завершен: $BACKUP_DIR/$CONFIG_FILE"

# Удаление старых бэкапов (например, старше 30 дней)
find "$BACKUP_DIR" -name "xcpng_config_*.tar.gz" -mtime +30 -delete
echo "Старые бэкапы удалены."
            

Що робить команда: Підключається до хоста XCP-ng, експортує його базу даних, архівує ключові конфігураційні файли, копіює їх до віддаленого сховища та видаляє старі копії.

Куди зберігати: Рекомендується використовувати зовнішнє S3-сумісне сховище (наприклад, Backblaze B2, DigitalOcean Spaces або власний MinIO на іншому VPS) чи окремий NAS/VPS з NFS/SMB шарою. Ніколи не зберігайте єдині копії резервних копій на тому самому сервері, що й оригінальні дані.

Оновлення: Rolling vs Maintenance Window

  • XCP-ng: Оновлення XCP-ng (так звані "хотфікси" або нові версії) потребують перезавантаження хоста. Для продакшн-середовищ рекомендується планувати "maintenance window" (вікно обслуговування), під час якого VM будуть зупинені або мігровані на інший хост (якщо у вас пул XCP-ng). XCP-ng Center (Windows-клієнт) або Xen Orchestra дозволяють застосовувати оновлення.
  • Xen Orchestra VM: Регулярно оновлюйте операційну систему VM (Ubuntu/Debian) і сам Xen Orchestra. Для XOCE, встановленого з вихідного коду, це зазвичай включає git pull у репозиторіях xo-server і xo-web, а потім повторне збирання та перезапуск сервісів.

# Обновление Xen Orchestra (в Xen Orchestra VM)
cd /opt/xen-orchestra/packages/xo-server # Или путь, куда установлен xo-server
git pull origin master
yarn
yarn build
sudo systemctl restart xo-server

cd /opt/xen-orchestra/packages/xo-web # Или путь, куда установлен xo-web
git pull origin master
yarn
yarn build
sudo systemctl restart xo-web
            

Що робить команда: Оновлює вихідний код Xen Orchestra з GitHub, повторно збирає його та перезапускає відповідні сервіси.

Важливо: Завжди робіть резервну копію Xen Orchestra VM перед значними оновленнями.

Troubleshooting + FAQ

XCP-ng не завантажується після встановлення. Що робити?

Перевірте порядок завантаження в BIOS/UEFI через KVM/IPMI. Переконайтеся, що сервер намагається завантажитися з диска, на який було встановлено XCP-ng. Можливо, проблема з налаштуванням RAID-контролера або пошкодженням завантажувального запису. Спробуйте перевстановити XCP-ng, уважно стежачи за вибором диска.

Не можу підключитися до XCP-ng через SSH.

Переконайтеся, що XCP-ng хост має правильну IP-адресу та перебуває в тій самій мережі, що й ваша машина. Перевірте, що SSH-сервер запущений на XCP-ng (за замовчуванням він активний). Якщо ви змінили порт SSH, використовуйте новий порт. Переконайтеся, що немає блокування фаєрволом на вашому комп’ютері або між вашою мережею та XCP-ng. У крайньому разі отримайте доступ через KVM і перевірте мережеві налаштування та статус SSH-сервісу.

Xen Orchestra не бачить XCP-ng хост або не може до нього підключитися.

Перевірте IP-адресу XCP-ng хоста та облікові дані (root і пароль), які ви вводите в Xen Orchestra. Переконайтеся, що між Xen Orchestra VM і XCP-ng хостом є мережева зв’язність (ping з XO VM). Перевірте, що на XCP-ng хості не блокується порт 443 (HTTPS) або 80 (HTTP) для XAPI. Іноді допомагає перезапуск XCP-ng (reboot) або сервісів Xen Orchestra (sudo systemctl restart xo-server xo-web).

Веб-інтерфейс Xen Orchestra недоступний через HTTPS після налаштування Caddy.

Перевірте, що DNS-запис для вашого домену (наприклад, xo.yourdomain.com) коректно вказує на публічну IP-адресу вашої Xen Orchestra VM. Переконайтеся, що порти 80 і 443 відкриті у фаєрволі вашої VM (якщо він є) та на роутері/у провайдера (якщо VM за NAT). Перевірте логи Caddy (sudo journalctl -u caddy --since "5 minutes ago") на наявність помилок під час отримання сертифіката Let's Encrypt. Переконайтеся, що Caddyfile налаштований правильно та Caddy перезапущено.

Яка dedicated-конфігурація мінімально підійде для XCP-ng і Xen Orchestra?

Для базової роботи з кількома легкими віртуальними машинами (наприклад, для розробки) можна почати з dedicated сервера з 4-ядерним процесором (наприклад, Intel Xeon E3-12xx), 16-32 ГБ ECC RAM і парою SSD по 240-480 ГБ у RAID1. Це дозволить запустити XCP-ng, Xen Orchestra VM і 2-3 інші VM з помірним навантаженням.

Що вибрати — VPS чи dedicated для цього завдання?

Для розгортання XCP-ng і Xen Orchestra завжди вибирайте dedicated сервер. XCP-ng — це гіпервізор, який встановлюється безпосередньо на фізичне обладнання. Хоча теоретично можлива "вкладена віртуалізація" (nested virtualization) на деяких VPS, це значно знижує продуктивність, не завжди підтримується провайдерами та не є рекомендованим рішенням для продакшн-середовищ. Dedicated сервер надає повний контроль над апаратним забезпеченням, максимальну продуктивність і дозволяє ефективно використовувати всі ресурси для створення багатьох віртуальних машин.

VM працює повільно або зависає.

Перевірте використання ресурсів VM у Xen Orchestra: CPU, RAM, I/O диска. Можливо, VM бракує виділених ресурсів. Також перевірте навантаження XCP-ng хоста. Переконайтеся, що диски, на яких розміщені VM, не перевантажені (висока латентність I/O). Для Linux VM переконайтеся, що встановлено Xen Tools (xe-guest-utilities), вони покращують продуктивність і дозволяють керувати VM з Xen Orchestra.

Висновки та наступні кроки

Схема: Выводы и следующие шаги
Схема: Висновки та наступні кроки

Ви успішно розгорнули потужну та гнучку платформу віртуалізації на базі XCP-ng і Xen Orchestra на вашому dedicated сервері. Тепер ви маєте повний контроль над своєю інфраструктурою, що дозволяє ефективно керувати ресурсами та запускати будь-які необхідні сервіси в ізольованих і масштабованих віртуальних середовищах. Ця безкоштовна альтернатива VMware ESXi надає функціонал корпоративного рівня без ліцензійних відрахувань.

Куди рухатися далі:

  1. Оптимізація продуктивності: Вивчіть можливості тюнінгу XCP-ng (наприклад, налаштування планувальника CPU, I/O) і гостьових операційних систем. Переконайтеся, що для всіх ваших VM встановлено Xen Tools для максимальної продуктивності.
  2. Висока доступність і кластеризація: Якщо у вас є кілька dedicated серверів, розгляньте можливість створення пулу XCP-ng для забезпечення високої доступності (HA) та живої міграції віртуальних машин між хостами.
  3. Розширені мережеві налаштування: Експериментуйте зі складнішими мережевими конфігураціями, такими як створення віртуальних комутаторів, агрегація каналів (LACP) або налаштування програмно-визначених мереж (SDN) для ізоляції трафіку та підвищення безпеки.
  4. Автоматизація та інфраструктура як код: Інтегруйте Xen Orchestra з інструментами автоматизації, такими як Ansible, Terraform або Packer, для програмного керування вашою віртуальною інфраструктурою та розгортання VM.

Чи був цей гайд корисним?

Ваш відгук допомагає нам покращувати гайди.

Share this post:

Надішліть гайд тому, кому він може стати в пригоді.

Telegram VKVK WhatsApp Facebook LinkedIn XX

xcp-ng та xen orchestra на dedicated: безкоштовна заміна vmware esxi
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.