Масштабирование 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 БД |
Все сервисы |