High availability (HA)

Автоматическая эвакуация виртуальных машин

Критерием срабатывания автоматики является одновременное совпадение следующих факторов:

  • Потеря кластером consul агента на вычислительном узле (Compute-узле);

  • Compute-узел находится в статусе «enabled»;

  • Compute-узел перешел в состояние «down» (потеряна связь со службой nova-compute);

  • Потеряно не более двух узлов одновременно (Параметр может быть изменен. Является защитой от массовой потери большого количества узлов). Если будет недоступно более двух (Или иного указанного в параметрах количества) узлов compute одновременно, то предполагается, что возможна массовая авария оборудования, и в таком случае механизмы автоэвакуации не срабатывают.

Настройка приоритетов эвакуации виртуальных машин

Администраторы могут настроить порядок эвакуации ВМ для оптимизации работы кластера путем выставления приоритетов в виде метаданных (evacuate_order, no_evacuate for vm, no_evacuate for project) касаемо того, будет ли ВМ эвакуироваться.

Режимы работы фенсинга по питанию

Режим работы сервера после проведения фенсинга настраивается с помощью параметра конфигурации bmc_power_fence_mode:

  • poweroff (режим по умолчанию) — при выборе этой опции в процессе фенсинга происходит выключение сервера.

  • hardreboot — при выборе этой опции происходит жесткая перезагрузка сервера.

Неудачный фенсинг Nova, Ceph или IPMI

Процесс эвакуации ВМ будет приостановлен при обнаружении отказа узла кластера, при неудачной попытке:

  • исключения отказавшего узла из кластера Nova (nova service disable);

  • исключения отказавшего узла из кластера CEPH (osd blacklist);

  • выключения узла через IPMI (power off).

Уведомления

HA автоматически отправляет уведомления в мониторинговые системы Prometheus при возникновении проблем с изоляцией узла из любых вышеперечисленных сервисов, а также при начале эвакуации и при окончании эвакуации. Это позволяет мониторить состояние системы и оперативно реагировать на инциденты.

Ограничение максимального количества вышедших из строя узлов

При полной потере сетевой связанности с несколькими из Compute-узлов процесс автоматической эвакуации ВМ не будет запущен.

Мониторинг состояния бондов (bonds)

Бонд (bond) — соединение физических интерфейсов. Мониторинг состояния бондов проводится с помощью специальной настройки HA. На каждом Compute-узле можно одновременно мониторить несколько бондов.

Если бонд ведет себя неправильно (т.е. теряет связь с коммутатором), то HA отключает вычислительный узел. Новые ВМ не будут созданы и не переедут на такой узел.

Что подразумевает потеря связи бонда с коммутатором:

  • все физические интерфейсы, подчиненные бонду, больше не работают;

  • бонд был выключен вручную.

Чтобы включить эту настройку HA, поменяйте значение параметра enable_bond_check на True в файле конфигурации. По умолчанию значение параметра — False:

"prometheus": {
"enable_bond_check": True,
...
}

Можно использовать другой способ включения настройки — для этого измените параметры и прогоните пайплайн через LCM.