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.