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 12 просмотров
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.

Был ли этот гайд полезен?

Ваш отзыв помогает нам улучшать гайды.

Поделиться записью:

Отправьте гайд тому, кому он может пригодиться.

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.