Product SiteDocumentation Site

40.3. Настройка высокой доступности

Стек HA полностью интегрирован в API PVE и доступен:
  • через веб-интерфейс PVE (раздел Центр обработки данныхHA);
  • через командную строку (ha-manager);
  • через автоматизированные скрипты (через API).
Меню HA. Статус настройки HA
В разделе Статус отображается текущее состояние HA:
  • наличие кворума;
  • активность главного узла. В примере главный узел pve03 группы HA активен и последний временной штамп жизнеспособности (heartbeat timestamp) проверен;
  • состояние всех узлов (проверка heartbeat).
Примеры команд ha-manager:
  • Просмотр статуса:
    # ha-manager status
    quorum OK
    master pve03 (active, Fri Nov 28 13:23:12 2025)
    lrm pve01 (active, Fri Nov 28 13:23:19 2025)
    lrm pve02 (idle, Fri Nov 28 13:23:16 2025)
    lrm pve03 (idle, Fri Nov 28 13:23:16 2025)
    service ct:109 (pve01, started)
    service vm:104 (pve01, started)
    
  • Просмотр конфигурации ресурсов:
    # ha-manager config
    ct:109
    	state started
    
    vm:104
    
  • Онлайн-миграция (с сохранением состояния):
    # ha-manager migrate vm:104 pve02
    

    Примечание

    При онлайн-миграции вся используемая память переносится по сети, поэтому иногда быстрее остановить ВМ и перезапустить её на новом узле.
  • Перемещение с остановкой и перезапуском:
    # ha-manager relocate vm:104 pve02
    
  • Удаление ресурса из HA:
    # ha-manager remove ct:109
    

    Примечание

    Эта команда не запускает и не останавливает ресурс.
Возможные состояния служб:
  • stopped — служба остановлена (подтверждено LRM). Если LRM обнаружит, что служба в этом состоянии фактически работает, он остановит её снова;
  • request_stop — службу необходимо остановить. CRM ожидает подтверждения от LRM;
  • stopping — ожидание обработки запроса на остановку. CRM ещё не получил подтверждение;
  • started — служба активна, и LRM должен запускать её как можно скорее, если она ещё не работает. Если служба аварийно завершилась и LRM фиксирует, что она не работает, LRM перезапускает её;
  • started — ожидание запуска службы. CRM ещё не получил подтверждение от LRM;
  • fence — ожидание fencing узла, так как узел службы находится вне кворумной части кластера. После успешного ограждения служба переводится в состояние recovery;
  • recovery — ожидание восстановления службы. HA-менеджер ищет новый узел, на котором можно запустить службу. Поиск зависит от доступных и кворумных узлов, а также от правил affinity (если заданы). Когда подходящий узел найден, служба переносится туда и сначала получает состояние stopped. Если служба должна быть запущена — узел её запускает;
  • freeze — состояние «заморозки»: служба не изменяется. Используется во время перезагрузки узла или перезапуска демона LRMM;
  • ignored — служба временно игнорируется HA-менеджером. Полезно, если требуется полный ручной контроль без удаления службы из конфигурации HA;
  • migrate — онлайн-миграция службы на другой узел;
  • error — служба отключена из-за ошибок LRM. Требуется ручное вмешательство;
  • queued — служба недавно добавлена, и CRM ещё не видел её;
  • disabled — служба остановлена и помечена как disabled.
Все конфигурационные файлы HA хранятся в /etc/pve/ha/ и автоматически синхронизируются между узлами кластера.

40.3.1. Создание ресурса

Для создания ресурса необходимо в подменю Ресурсы нажать кнопку Добавить.
Создания ресурса
Параметры ресурса:
  • VM — идентификатор ВМ или контейнера;
  • Макс. перезапусков — количество попыток запуска ВМ/контейнера на новом узле после перемещения;
  • Макс. перемещений — количество попыток перемещения ВМ/контейнера на новый узел;
  • Failback — автоматически возвращать ресурс на узел с наивысшим приоритетом, если он снова доступен;
  • Статус запроса:
    • started — поддерживать ВМ в запущенном состоянии;
    • stopped — не запускать, но перемещать при сбое;
    • ignored — игнорировать HA для этого ресурса;
    • disabled — остановить и не перемещать (используется для выхода из ошибки).
Пример создания ресурса в командной строке:
# ha-manager add ct:108 --state started --max_relocate 2
Список ресурсов, управляемых ha-manager, хранится в файле /etc/pve/ha/resources.cfg в формате:
<тип>: <имя>
<свойство> <значение>
…

Таблица 40.1. Дополнительные свойства

Свойство
Описание
comment: <строка>
Описание ресурса
failback: <логическое значение> (по умолчанию = 1)
Автоматически возвращать ресурс на узел с наивысшим приоритетом, если он снова доступен
group: <строка>
Идентификатор группы высокой доступности (HA)
max_relocate: <целое число> (0 — N) (по умолчанию = 1)
Максимальное количество попыток перераспределения службы при сбое запуска службы
max_restart: <целое число> (0 — N) (по умолчанию = 1)
Максимальное количество попыток перезапуска службы на узле после сбоя запуска
state: <disabled | enabled | ignore | started | stopped> (по умолчанию = started)
Запрошенное состояние ресурса (enabled — псевдоним для started)
Пример конфигурации (/etc/pve/ha/resources.cfg):
vm: 102
        max_relocate 2
        state started

vm: 106

ct: 109
        state stopped

Примечание

Если параметры не указаны, используются значения по умолчанию.