Виртуализация на основе Proxmox

Создание и управление кластером Proxmox Virtual Environment (PVE) в связке с Proxmox Backup Server (PBS) позволяет построить надежную IT-инфраструктуру с функциями высокой доступности (HA) и эффективного резервного копирования.

  1. Создание кластера Proxmox VE
    Кластер позволяет управлять несколькими физическими серверами из единого интерфейса и обеспечивает синхронизацию конфигураций через файловую систему pmxcfs.
    Инициализация: На первом (основном) сервере в веб-интерфейсе перейдите в Datacenter > Cluster > Create Cluster. Укажите имя и выберите сетевой интерфейс для связи узлов.
    Присоединение узлов: На основном узле нажмите Join Information и скопируйте данные. На втором сервере выберите Join Cluster, вставьте информацию, введите пароль root первого сервера и подтвердите операцию.
    Кворум: Для полноценной работы High Availability (HA) рекомендуется иметь минимум 3 узла, чтобы избежать ситуации «split-brain» при потере связи.
  2. Подключение Proxmox Backup Server (PBS)
    PBS обеспечивает инкрементальное резервное копирование с дедупликацией на стороне клиента, что экономит место и снижает нагрузку на сеть.
    Настройка на стороне PBS: Установите PBS на отдельное оборудование. Создайте хранилище (Datastore) в разделе Storage / Disks и скопируйте Fingerprint сервера из панели управления.
    Добавление в кластер PVE: В интерфейсе PVE перейдите в Datacenter > Storage > Add > Proxmox Backup Server. Введите ID хранилища, IP-адрес PBS, имя пользователя и вставьте скопированный отпечаток (Fingerprint).
  3. Администрирование и резервное копирование
    Эффективное управление кластером включает регулярный мониторинг и автоматизацию бэкапов.
    Планирование задач: В разделе Datacenter > Backup создайте расписание. Выберите в качестве целевого хранилища добавленный ранее PBS. Укажите дни, время и выберите ВМ или контейнеры для защиты.
    Дедупликация и очистка: PBS автоматически дедуплицирует данные. Настройте политики Prune (удаление старых копий) и GC (Garbage Collection) на стороне PBS, чтобы освобождать место на дисках.
    Восстановление: В случае сбоя перейдите на вкладку Backup конкретной ВМ, выберите нужную копию из списка PBS и нажмите Restore. PBS позволяет восстанавливать отдельные файлы прямо из архива, не разворачивая всю виртуальную машину целиком.
  4. Рекомендации по эксплуатации
    Сеть: Выделяйте отдельный физический интерфейс или VLAN для трафика кластера (Corosync) и трафика бэкапов, чтобы избежать задержек при высокой нагрузке.
    Мониторинг ресурсов: Регулярно проверяйте загрузку CPU и RAM, так как перегрузка может привести к нестабильности работы узлов.
    Хранилище: Для ОС гипервизора достаточно небольших SSD, но для данных ВМ и бэкапов лучше использовать RAID-массивы (например, ZFS) для обеспечения отказоустойчивости.

Настройка High Availability (HA) для автоматического перезапуска ВМ при отказе одного из узлов

Настройка High Availability (HA) в Proxmox VE превращает обычный кластер в отказоустойчивую систему, где виртуальные машины (ВМ) автоматически перезапускаются на исправных узлах при сбое оборудования.

  1. Обязательные требования для HA
    Без соблюдения этих условий механизм HA не будет работать корректно:
    Кворум (Минимум 3 узла): Для принятия решения о переезде ВМ кластер должен иметь «большинство» голосов. Если у вас всего 2 узла, необходимо добавить QDevice (например, на Raspberry Pi), чтобы избежать ситуации «split-brain».
    Общее хранилище (Shared Storage): Все узлы должны иметь доступ к дискам ВМ одновременно. Подойдут NFS, iSCSI или распределенная система Ceph.
    Идентичные сети: Названия сетевых мостов (например, vmbr0) должны совпадать на всех узлах, чтобы ВМ могла подключиться к сети после миграции.
  2. Настройка HA пошагово
    Настройку можно выполнить полностью через веб-интерфейс:

Создание HA-группы (рекомендуется):
Перейдите в Datacenter > HA > Groups > Add.
Укажите название группы и выберите узлы, которые будут участвовать в отказоустойчивости. Здесь же можно задать приоритет (какие узлы предпочтительнее для запуска).
Добавление ресурсов в HA:
Перейдите в Datacenter > HA > Add.
Выберите нужную VM ID из списка.
Укажите созданную ранее Group.
Установите желаемое состояние (Max Restart — количество попыток перезапуска, Max Relocate — количество попыток переноса на другой узел).

  1. Механизм Fencing (Изоляция)
    Fencing — это критически важный процесс «самоубийства» зависшего узла, чтобы гарантировать, что одна и та же ВМ не запустится одновременно в двух местах (что привело бы к порче данных).

Watchdog: Proxmox по умолчанию использует программный softdog. Если узел теряет связь с кластером, этот таймер срабатывает и принудительно перезагружает сервер.
Hardware Watchdog: Для максимальной надежности в настройках /etc/default/pve-ha-manager можно указать модуль аппаратного ватчдога вашей материнской платы (например, iTCO_wdt для Intel).

  1. Тестирование
    После настройки обязательно проведите тест:
    Убедитесь, что ВМ находится в статусе request_state: started в разделе HA.
    Принудительно выключите по питанию (не через shutdown!) узел, на котором запущена ВМ.
    Через 1-2 минуты (время обнаружения сбоя + время ограждения) кластер должен пометить узел как dead и начать запуск ВМ на другом узле.

Репликация дисков ZFS, если у вас нет внешнего сетевого хранилища (NAS/SAN)

Репликация в Proxmox (ZFS-over-network) — это идеальное решение для кластеров без общего хранилища. Она копирует инкрементальные снимки (snapshots) дисков с одного узла на другой с заданным интервалом (например, каждую минуту).

  1. Подготовка узлов
    Для работы репликации должны быть соблюдены два условия:
    ZFS Storage: На всех участвующих узлах должны быть созданы ZFS-пулы с одинаковыми именами (например, local-zfs).
    SSH-ключи: Узлы в кластере должны иметь доверенную связь (настраивается автоматически при создании кластера).
  2. Настройка репликации
    Репликация настраивается для каждой конкретной ВМ:
    Зайдите в веб-интерфейс, выберите нужную ВМ и перейдите в раздел Replication.
    Нажмите Add.
    Target: Выберите узел, на который будут копироваться данные.
    Schedule: Установите интервал (например, */1 — каждую минуту).
    Rate Limit: При необходимости ограничьте скорость передачи в Мбайт/с, чтобы не «забить» сеть.
    После сохранения Proxmox создаст первый полный снимок, а затем будет передавать только измененные блоки данных. Состояние репликации можно отслеживать в этом же разделе (статус OK).
  3. Совмещение Репликации и High Availability (HA)
    Репликация отлично работает в паре с HA, но имеет важный нюанс:
    При сбое основного узла, HA-менеджер переключит ВМ на целевой узел.
    Внимание: Поскольку это асинхронная передача, вы можете потерять данные, записанные за последние секунды (между последней репликацией и падением узла).
    Для минимизации потерь устанавливайте интервал репликации на 1 минуту.
  4. Преимущества перед Ceph
    В отличие от Ceph Storage, который требует минимум 3 узла и быструю 10GbE сеть для синхронной записи, репликация ZFS:
    Работает на 2 узлах.
    Не требовательна к задержкам сети (т.к. чтение/запись идет на локальный диск).
    Позволяет использовать всю скорость локальных NVMe/SSD.
    Совет: Используйте отдельную сеть (интерфейс) для миграции и репликации в настройках Datacenter > Options > Migration Settings, чтобы трафик копирования дисков не мешал работе приложений.