Product SiteDocumentation Site

Глава 40. Высокая доступность PVE

40.1. Как работает высокая доступность в PVE
40.2. Требования для настройки HA
40.3. Настройка высокой доступности
40.3.1. Создание ресурса
40.3.2. Правила
Функция высокой доступности (High Availability, HA) в PVE позволяет кластеру автоматически перемещать или мигрировать ВМ с отказавшего узла на работоспособный узел без вмешательства пользователя.
Для корректной работы HA все ВМ и контейнеры должны использовать общее хранилище, доступное всем узлам кластера.

Примечание

HA в PVE управляет только узлами и виртуальными машинами внутри кластера PVE. Эта функциональность не заменяет избыточность на уровне хранилища. Общие хранилища сторонних производителей могут иметь собственную HA-систему. Таким образом, для построения реально отказоустойчивой среды необходимо настроить как HA в PVE, так и избыточность на уровне хранилища.
Вычислительные узлы PVE могут иметь собственные уровни аппаратной избыточности, например, RAID-массивы, резервные источники питания, объединённые сетевые интерфейсы. HA не дублирует эти механизмы, а дополняет их на уровне оркестрации ВМ, обеспечивая сохранение работоспособности сервисов при отказе узла.

40.1. Как работает высокая доступность в PVE

PVE предоставляет программный стек ha-manager, который автоматически обнаруживает сбои и выполняет автоматический переход на резервный ресурс. Основной объект, управляемый ha-manager, называется ресурсом (service). Ресурс однозначно идентифицируется идентификатором сервиса (SID), состоящим из типа ресурса и идентификатора, специфичного для данного типа:
  • vm: 100 (ресурс типа ВМ с идентификатором 100);
  • ct: 109 (контейнер с идентификатором 109).
Для обеспечения высокой доступности на каждом узле работают два демона:
  • pve-ha-lrm — локальный менеджер ресурсов (Local Resource Manager, LRM). Он управляет службами, работающими на локальном узле. LRM считывает требуемые состояния служб из текущего статусного файла менеджера и выполняет соответствующие команды;
  • pve-ha-crm — кластерный менеджер ресурсов (Cluster Resource Manager, CRM). Он принимает решения на уровне кластера: отправляет команды LRM, обрабатывает результаты и переносит ресурсы на другие узлы при сбоях. CRM также выполняет fencing узлов.
При недоступности узла (например, сетевой разрыв или зависание) HA-менеджер:
  1. Ожидает 60 секунд, чтобы исключить временные сбои.
  2. Выполняет ограждение (fencing) отказавшего узла — блокирует узел, чтобы предотвратить одновременную работу ВМ на нескольких узлах («split-brain»).
  3. Перемещает ВМ и контейнеры на другой доступный узел в группе HA.

Примечание

Даже если узел продолжает работать, но потерял связь с кластером, HA считает его отказавшим и мигрирует ресурсы.
После восстановления узла HA не возвращает ВМ на исходный узел автоматически. Это должно выполняться вручную:
  1. Отключить HA для нужной ВМ.
  2. Переместить ВМ на исходный узел.
  3. Включить HA для этой ВМ.

Примечание

ВМ может быть перемещена вручную только если HA отключён для данной ВМ.