Агрегаты, зоны доступности и регионы

OpenStack создавался для масштабирования до тысяч узлов и охвата различных центров обработки данных и географических регионов. По этой причине облака Openstack можно разделить на три основные иерархические зоны: регионы, зоны доступности и агрегаты хостов. openstack_regions.jpg

Агрегаты

Агрегаты хостов — это механизм разделения хостов в облаке OpenStack или региона OpenStack на основе произвольных характеристик. Например, когда группа хостов имеет общие аппаратные или эксплуатационные характеристики. Агрегаты хостов имеют метаданные для маркировки групп вычислительных узлов, например все узлы с SSD-дисками могут принадлежать одному агрегату хостов, а другой агрегат хостов может содержать все узлы с установленными графическими адаптерами GPU. Агрегаты хостов не предоставляются пользователям явным образом. Вместо этого администраторы облака настраивают сопоставление вариантов размещения ресурсов с агрегатами хостов. Это достигается путем установки метаданных в агрегате хоста и сопоставления этих метаданных с типоразмерами виртуальных машин (flavors). При запросе создания нового инстанса, планировщик сопоставляет метаданные запрошенного флейвора, с метаданными агрегата и направляет запрос с одному из хостов из выбранного агрегата. Один вычислительный узел можно одновременно поместить и в агрегат хостов, и в зону доступности, поскольку они не конфликтуют. Более того, один вычислительный узел может принадлежать более чем одному агрегату хостов. Агрегаты хостов могут также использоваться для группирования гипервизоров в одной зоне доступности, например, для экономии затрат на лицензию.

Зоны доступности

Администраторы могут, при необходимости, объединить совокупность хостов как зону доступности. Зоны доступности отличаются от агрегатов тем, что они явно доступны пользователю, а хосты могут находиться только в одной зоне доступности. Существует зона доступности по умолчанию, в которой будут создаваться экземпляры ВМ, если пользователь не укажет ее явным образом. az-os.png

Зона доступности — это форма разделения и размещения ресурсов, поэтому она также применима к Cinder и Neutron. Как и в случае с nova, зоны Cinder можно группировать по местоположению, типу хранилища, мощности и схеме сети. Помимо логики размещения, в большинстве случаев использования тома Cinder должны быть прикреплены к экземпляру Neutron сети. В зависимости от топологии серверной части хранилища администратор OpenStack должен решить, следует ли разрешить присоединение тома Cinder между зонами доступности. Если серверная часть СХД не распространяется на все AZ, для политики подключения между зонами доступности должно быть установлено значение false.

Регион

Регион - это самая верхнеуровневая группа в терминологии разделения хостов Openstack. В каждом регионе имеется собственное полное развертывание Openstack, включая собственные конечные точки API, сети и вычислительный стек. В отличие от других сервисов OpenStack, сервисы Keystone и Horizon могут использоваться в разных регионах. Для интеграции разных регионов между собой используется один набор сервисов Keystone и Horizon для обеспечения единого контроля доступа и веб-интерфейса. Служба Shared Keystone обеспечивает унифицированную и последовательную регистрацию пользователей и управление ими. Аналогичным образом, в Horizon пользователи и администраторы OpenStack могут получать доступ к различным регионам через единую панель просмотра.

Федерация Keystone необходима для управления услугами Keystone в разных регионах. Наиболее распространенная конфигурация - Keystone в качестве поставщика услуг (Service Provider) с использованием внешнего поставщика удостоверений, например Keycloak. Двумя ведущими протоколами для внешних поставщиков удостоверений являются OIDC и SAML2.0.

Второй тип интеграции — “Keystone to Keystone”, где несколько экземпляров keystone связаны друг с другом, один из которых выступает в качестве сервиса аутентификации для всех регионов. Центральный экземпляр Keystone интегрируется с необходимыми пользовательскими серверами, такими как AD, для регистрации и аутентификации пользователей.

Внутри региона вычислительные узлы могут быть логически сгруппированы в зоны доступности (AZ). При запуске нового экземпляра виртуальной машины мы можем указать зону доступности, в которой мы хотим создать его экземпляр, или даже конкретный узел внутри зоны доступности для запуска экземпляра виртуальной машины. В отличие от единой конечной точки API, регионы имеют отдельную конечную точку API для каждой установки, что позволяет обеспечить более дискретное разделение. Пользователи, которые хотят получить катастрофоустойчивое решение, должны запускать экземпляры кластера в разных регионах.

Регионы OpenStack могут быть географически разнесены, но не обязательно. Поскольку каждый регион имеет независимые компоненты управления и данных, сбой в одном регионе не влияет на рабочее состояние другого. Развертывание приложений в разных регионах — это эффективный механизм избыточности приложений на географическом уровне. Благодаря балансировщику нагрузки с учетом географического положения владельцы приложений могут контролировать размещение приложений и аварийное переключение в разных географических регионах. Вместо активных/резервных центров обработки данных с более высоким уровнем автоматизации (шаблоны Heat, Terraform или другие) приложения могут динамически настраиваться в разных регионах в соответствии с требованиями SLA. Развертывание приложений с учетом региона является более облачным и снижает потребность в устаревшем типе резервного копирования или восстановления после аварий.

Ячейки

Вычислительные ячейки OpenStack (cells) позволяют запускать облако распределенным образом. Хосты в облаке разделены на группы, называемые ячейками. Ячейки настраиваются в дереве. Ячейка верхнего уровня («ячейка API») имеет хост, на котором работает служба nova-api, но не имеет служб nova-compute.

Это позволяет использовать один сервер API для управления доступом к нескольким облачным установкам. Введение второго уровня планирования (выбора ячейки) в дополнение к обычному выбору хостов с помощью nova-планировщика обеспечивает большую гибкость в управлении местом запуска виртуальных машин.

Заключение

Итак, еще раз подчеркнем основные отличия: - один хост может находиться в нескольких агрегатах, но только в одной зоне доступности; - по умолчанию хост является частью зоны доступности по умолчанию, даже если он не принадлежит агрегату

Опубликовано: 23.08.25