KeyVRM — управление отказоустойчивостью и балансировкой нагрузки¶
KeyVRM (KeyStack Virtual Resource Manager) — сервис управления отказоустойчивостью и балансировкой нагрузки виртуальных машин в регионе KeyStack.
KeyVRM работает на уровне хост-агрегатов и объединяет два сценария:
эвакуацию ВМ с отказавших или небезопасных гипервизоров;
балансировку нагрузки между гипервизорами через рекомендации по live migration.
Важно
Не используйте KeyVRM одновременно с другими механизмами автоматической эвакуации ВМ и балансировки нагрузки в одном регионе.
Режимы работы KeyVRM¶
Для каждого хост-агрегата KeyVRM использует отдельный режим обработки:
HAKeyVRM анализирует состояние вычислительных узлов, находит отказавшие или небезопасные гипервизоры, выполняет фенсинг и формирует рекомендации по эвакуации ВМ.
LBKeyVRM анализирует метрики нагрузки гипервизоров и ВМ, находит перегруженные узлы, подбирает целевые гипервизоры и формирует рекомендации по live migration.
HA+LBKeyVRM сначала выполняет HA-логику. Если HA создала рекомендации по эвакуации, LB в этом цикле не запускается. Если HA не создала рекомендации, KeyVRM при необходимости выполняет LB-логику.
NOOPKeyVRM видит хост-агрегат, но не создаёт 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.Перед включением автоматических действий убедитесь, что в регионе не используются другие механизмы автоматической эвакуации ВМ и балансировки нагрузки.