Обеспечение надёжности 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 анализирует нагрузку гипервизоров и ВМ, выбирает целевые гипервизоры и формирует рекомендации по живой миграции. Резервирование мощностей для эвакуации ВМ учитывается при планировании инфраструктуры.