Масштабирование KeyStack

Характерные проблемы инсталляций upstream OpenStack

Одним из важных отличий KeyStack является качественная проработка архитектуры решения, которая обеспечивает отсутствие проблем, присущих большим инсталляциям OpenStack:

  • В OpenStack все коммуникации происходят через очередь сообщений RabbitMQ и общую СУБД, которые имеют проблемы масштабирования/кластеризации и восстановления работоспособности после сбоя. При увеличении количества узлов количество сообщений в очереди растёт в геометрической прогрессии.

  • Neutron ML2 OVS — нагрузка растёт в геометрической прогрессии ввиду принципа управления сетевой инфраструктурой через агенты, которые также используют очередь сообщений.

Решения масштабирования

  • Multi-site облако разделяется на регионы (создаются домены отказа со своими собственными изолированными control plane).

  • В OpenStack «из коробки» невозможна миграция ВМ между регионами. В KeyStack реализована холодная миграция между регионами через AdminUI при условии, что регион-источник и регион-приёмник развёрнуты из единого LCM и используют единый Vault.

  • Availability Zones (AZ) в KeyStack — логическая группировка гипервизоров, сетевых и baremetal-функций. По сути, AZ — это параметры настройки планировщика для правильного размещения объектов внутри KeyStack в момент их создания.

  • Мы рекомендуем использовать OVS-плагин для Neutron как более стабильное и задокументированное решение. При использовании этого плагина размер одного региона может достигать 500 гипервизоров.

Сегментация нагрузок в KeyStack

Категория

Когда использовать?

Пример

Избыточность

Общие сервисы

Cells

Единый API-endpoint для compute или необходимость в дополнительном уровне планировщика Nova

Облако, распределённое на множество площадок, где вы можете создать ВМ "где угодно" или на конкретной площадке

Самая молодая сегрегация. Каждый cell — отдельная БД и менеджер очередей с общими сервисами Nova

Все сервисы

Regions

Отдельный регион с собственными API-endpoints без координации между регионами

Облако, распределённое на множество площадок, где вы можете создать ВМ на конкретной площадке

Различные API-endpoints для каждого региона. Каждый регион имеет свой control-plane

Можно Keystone

Availability Zones

Для создания группы хостов с общими признаками (не ограничивается Nova)

Облако на одной площадке с серверами, запитанными от разных источников

Правка конфигурации в nova.conf и OpenStack БД

Все сервисы

Host Aggregates

Логическое разделение Nova на группы хостов (гипервизоров)

Распределение нагрузки по группам серверов с разными характеристиками и или PCI-устройствами

Правка конфигурации в nova.conf и OpenStack БД

Все сервисы