KeyVRM — управление отказоустойчивостью и балансировкой нагрузки

KeyVRM (KeyStack Virtual Resource Manager) — сервис управления отказоустойчивостью и балансировкой нагрузки виртуальных машин в регионе KeyStack.

KeyVRM работает на уровне хост-агрегатов и объединяет два сценария:

  • эвакуацию ВМ с отказавших или небезопасных гипервизоров;

  • балансировку нагрузки между гипервизорами через рекомендации по live migration.

Важно

Не используйте KeyVRM одновременно с другими механизмами автоматической эвакуации ВМ и балансировки нагрузки в одном регионе.

Режимы работы KeyVRM

Для каждого хост-агрегата KeyVRM использует отдельный режим обработки:

HA

KeyVRM анализирует состояние вычислительных узлов, находит отказавшие или небезопасные гипервизоры, выполняет фенсинг и формирует рекомендации по эвакуации ВМ.

LB

KeyVRM анализирует метрики нагрузки гипервизоров и ВМ, находит перегруженные узлы, подбирает целевые гипервизоры и формирует рекомендации по live migration.

HA+LB

KeyVRM сначала выполняет HA-логику. Если HA создала рекомендации по эвакуации, LB в этом цикле не запускается. Если HA не создала рекомендации, KeyVRM при необходимости выполняет LB-логику.

NOOP

KeyVRM видит хост-агрегат, но не создаёт HA- и LB-рекомендации для него. Используйте этот режим для обслуживания, обновлений и других эксплуатационных работ.

Новые хост-агрегаты создаются в KeyVRM с включённым no_op_mode. Это позволяет администратору сначала проверить конфигурацию хост-агрегата и только после этого включить автоматические действия.

Как работает KeyVRM

KeyVRM работает циклически. Во время цикла сервис собирает данные о состоянии региона, синхронизирует список хост-агрегатов, выбирает режим обработки для каждого хост-агрегата и при необходимости создаёт события, рекомендации и операции.

KeyVRM использует данные OpenStack, Prometheus и Redis Sentinel. Для выполнения рекомендаций сервис обращается к Nova, Cinder, Neutron и Placement, а для фенсинга может использовать BMC, IPMI, Redfish, Ceph и Nova.

Основные сущности

Работа KeyVRM строится вокруг следующих сущностей:

  • event — один запуск HA-, LB- или HA+LB-логики для конкретного хост-агрегата;

  • recommendation — одно предложенное действие над ВМ: эвакуация для HA или live migration для LB;

  • operation — запись о фактическом исполнении рекомендации;

  • конфигурация хост-агрегата — набор параметров режима HA, LB, HA+LB или NOOP для конкретного хост-агрегата.

Управление KeyVRM

Администратор управляет KeyVRM через Портал администратора и API сервиса.

Основные действия администратора:

  • включение и выключение обработки региона;

  • выбор режима HA, LB или HA+LB для хост-агрегата;

  • временное отключение автоматических действий через NOOP;

  • настройка параметров HA и LB для хост-агрегата;

  • просмотр зон доступности, хост-агрегатов, событий, рекомендаций и операций;

  • запуск рекомендаций, для которых требуется ручное подтверждение.

В зависимости от конфигурации LB-рекомендации могут выполняться автоматически или ожидать подтверждения администратора.

Подробнее о настройке и управлении KeyVRM см. в разделе Настройка и управление KeyVRM.

Особенности применения

При работе с KeyVRM учитывайте следующие особенности:

  • KeyVRM работает на уровне хост-агрегата.

  • Для балансировки нагрузки должен быть доступен подходящий целевой гипервизор.

  • На время обслуживания или обновления рекомендуется переводить затронутый хост-агрегат в режим NOOP.

  • Перед включением автоматических действий убедитесь, что в регионе не используются другие механизмы автоматической эвакуации ВМ и балансировки нагрузки.