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``: .. code-block:: bash "prometheus": { "enable_bond_check": True, ... } Можно использовать другой способ включения настройки — для этого измените параметры и прогоните пайплайн через LCM.