Обеспечение надёжности KeyStack

Реализация отказоустойчивости

Отказоустойчивость инсталляций KeyStack обеспечивается резервированием сервисов слоя управления и восстановлением работы ВМ при отказах вычислительных узлов.

Отказоустойчивость control plane

Кластеризация сервисов

Для MariaDB и RabbitMQ используются встроенные механизмы кластеризации на основе кворумного алгоритма.

Резервирование API-сервисов

Управляющие сервисы OpenStack работают в нескольких экземплярах. Запросы к REST API распределяются между экземплярами через HAProxy.

Защита СУБД

Защита системы управления базами данных осуществляется с помощью MariaDB Galera, которая обеспечивает синхронную репликацию данных между узлами кластера.

Организация кластеров, балансировки запросов и доступности виртуальных IP-адресов описана в разделе Слой управления виртуализации.

Сетевая связность управляющих узлов

При включённом механизме enable_control_plane_mesh трафик между Control-узлами может перенаправляться через другой Control-узел, если прямой сетевой путь недоступен. Механизм использует GRE-туннели и BGP-маршрутизацию через BIRD и требует доступного альтернативного пути. Подробнее см. в разделе Отказоустойчивость сети Control Plane.

Отказоустойчивость data plane

Резервирование мощностей

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

Резервы CPU и RAM для HA задаются в конфигурации хост-агрегата KeyVRM. Настройка описана в разделе Конфигурация хост-агрегата.

KeyVRM

KeyVRM обеспечивает автоматическую эвакуацию виртуальных машин с отказавших гипервизоров и балансировку нагрузки между гипервизорами в пределах хост-агрегата. Для плановых работ и обновлений поддерживается временная остановка автоматики в режиме NOOP.

Режимы работы и условия выполнения операций описаны в разделе Управление KeyVRM.

Отказоустойчивость KeyLCM

Для KeyLCM предусмотрено отказоустойчивое развёртывание multi-node на трёх узлах Kubernetes-кластера k0s. Подробнее см. в разделе Установка KeyStack LCM.

Порядок замены одного отказавшего LCM-узла или его дисков описан в разделе Замена LCM-узла и его дисков.

Дополнительные функции надёжности

Системы резервного копирования

В KeyStack предусмотрено резервное копирование данных LCM и баз данных регионов OpenStack, а также создание снимков дисков ВМ.

Резервное копирование LCM

Для резервного копирования компонентов LCM используется Velero. Копии хранятся во внешнем S3-хранилище. Поддерживается создание копий по расписанию. Настройка описана в разделе Резервное копирование LCM-узла.

Резервное копирование баз данных регионов

Для баз данных MariaDB регионов OpenStack выполняется полное резервное копирование. Копии шифруются. При передаче также проверяются контрольные суммы. Для копий в S3 предусмотрена ротация. Подробнее см. в разделе Резервное копирование базы данных OpenStack.

Снимки ВМ и томов

Для дисков ВМ поддерживается создание снимков средствами Cinder. Порядок создания снимка на Портале администратора описан в разделе Создание снимка диска.

Создание снимков ВМ и связанных с ними дисков описано в разделе Снимки ВМ.

Мониторинг и оповещения

Проактивный мониторинг

Система мониторинга использует VictoriaMetrics или Prometheus для сбора и хранения метрик, отслеживает состояние компонентов и предупреждает о потенциальных проблемах. По умолчанию используется VictoriaMetrics. Подробнее см. в разделе Сервис сбора и хранения метрик.

Для проверки доступности сетевых эндпоинтов предусмотрен Blackbox exporter. Описание алертов, их порогов и рекомендуемых действий приведено в разделе Справочник алертов мониторинга.

Автоматические оповещения

Для обработки и отправки оповещений используется Alertmanager. Он группирует алерты и направляет уведомления в настроенные приёмники, включая электронную почту и Telegram. Настройка описана в разделе Сервис управления алертами.

Аварийное восстановление

Восстановление данных LCM из резервной копии выполняется средствами Velero. При необходимости восстановления базы данных региона следует обращаться к вендору. Подробнее — в разделе Резервное копирование и восстановление.

Проверки сервисов и восстановление работоспособности после отказов управляющих узлов и аварий типа blackholing описаны в разделе Аварийные ситуации, восстановление данных.

Процедуры обслуживания

Rolling updates

Kolla-Ansible содержит процедуры поэтапного обновления сервисов Nova и Neutron. При обновлении Neutron может потребоваться остановка сервиса для миграции базы данных.

Подготовка к обновлению и порядок его выполнения описаны в Руководство по обновлению.

Порядок запуска и выключения платформы приведён в разделе Управление общим состоянием KeyStack. Временное отключение автоматических действий KeyVRM на время работ описано в разделе Управление KeyVRM.

Планирование ёмкости

Данные об использовании ресурсов

Данные мониторинга о нагрузке гипервизоров и ВМ используются KeyVRM для балансировки нагрузки. Для просмотра метрик и их визуализации на дашбордах используется Grafana. Подробнее см. Сервис визуализации данных.

Оптимизация размещения

В режиме LB KeyVRM анализирует нагрузку гипервизоров и ВМ, выбирает целевые гипервизоры и формирует рекомендации по живой миграции. Резервирование мощностей для эвакуации ВМ учитывается при планировании инфраструктуры.