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-узлов процесс автоматической эвакуации ВМ не будет запущен.