Высокая доступность в облачной среде HP Helion OpenStack реализуется по трем направлениям: высокодоступные облачные сервисы, отказоустойчивая инфраструктура облака и поддерживающие облачные технологии нагрузки «арендаторов» (tenant) облака, т.е. сервис-провайдеров, предоставляющие услуги облака конечным пользователям.
Начнём описание применяемых решений высокой доступности с нагрузок арендаторов облака. Арендаторам необходимо самим обеспечить постоянную доступность приложений, которые они развертывают в облаке для своих клиентов, используя распределенные по разным зонам доступности виртуальные машины и передавая на них сетевой трафик с помощью балансировщиков нагрузки.
Для улучшения доступности приложений можно объединять виртуальные машины в отказоустойчивые кластеры. Аналогичным образом, инфраструктура, на которой развернуто само облако (физические серверы, системы хранения и сетевое оборудование), должна быть постоянно доступной. Наконец, провайдеру облака необходимо обеспечить высокую доступность основных сервисов облака и API-интерфейсов облака (Horizon, Keystone, Nova, Neutron, Cinder, Swift). Для этого применяется репликация контроллеров основных сервисов и их данных, что обеспечивает отказоустойчивость плоскости (control plane) облака. Например, для каждой инсталляции на отдельных физических серверах развертываются три отдельных контроллера верхнего облака, между которыми происходит автоматическая репликация.
Также программная кластеризация и репликация применяются для обеспечения высокой доступности базы данных, обработки сообщений и прокси-сервера web-трафика, поэтому если один контроллер верхнего облака выйдет из строя, то все его нагрузка будет перенаправлена на другой контроллер верхнего облака. Кластер Active-Active гарантирует непрерывную работу облака и его пользователей даже в случае неисправности одного из серверов, обслуживающего сервисы облака. Резервирование применяется и для серверов хранилищ объектов Starter Swift – для высокой доступности нужно минимум два сервера. Программное обеспечение Swift выполняет репликацию данных между эти серверами для резервирования объектов Swift между двумя серверами.
Для блочных сервисов хранения Cinder на основе программно-определяемых хранилищ HPVSA высокая доступность обеспечивается с помощью трехузлового кластера, соединяющего серверы, на которых развертывается VSA. Также при развертывании Cinder на дисковом массиве HP 3PAR можно применять разработнные для него технологии отказоустойчивости.
Высокая доступность в HP Helion OpenStack может быть реализована по нескольким сценариям. Высокая доступность в сочетании с балансировкой нагрузки применяется в четырех аспектах облака. Во-первых, в пользовательском интерфейсе (UI) OpenStack Horizon применяется технология балансировки нагрузки «слипшихся сессий» (Sticky Session Load Balancing). Horizon – это сервис без сохранения состояния (stateless). С помощью функции session stickiness гарантируется, что ресурсы конкретных пользователей будут привязаны только к web-сессии соответствующего пользователя.
Следующая область, где реализуется высокая доступность – это API-интерфейсы сервисов (API сервисов Nova, Cinder и т.п). Для них в OpenStack используется балансировка нагрузки по модели Round Robin с использованием программного обеспечения HAProxy. Следующая область, где реализуется высокая доступность, – это механизм обмена сообщениями RabbitMQ с применение зеркалирования по схеме Master – Master. Наконец, для обеспечения высокой доступности базы данных MySQL используется программное обеспечение кластеризации Galera Cluster, которое реализует синхронную репликацию между узлами многоузлового кластера. Galera Cluster защищает MySQL от потери данных, обеспечивает высокую доступность и легкое масштабирование по мере увеличения объема данных.
Таким образом, для предотвращения сбоев в работе HP Helion OpenStack применяется «многоэшелонная» защита на основе многократного дублирования критичных компонентов облака, сочатающая как стандартные технологии OpenStack, так и собственные разработки HP, и гарантирующая высокую доступность развернутых в облаке бизнес-приложений.
Спасибо за внимание, готовы ответить на ваши вопросы. Другие публикации про HP Helion читайте по ссылкам в блоке «Похожие публикации» ниже.
Комментарии (7)
ShapovalovTS
26.08.2015 20:04Как у вас с поддержкой bare metal инстансов (OpenStack Ironic)?
У вас есть планы поддерживать OpenStack Magnum?vanez1985
27.08.2015 12:07Ironic в текущем релизе поддерживается только для развертывания управляющих узлов с помощью TripleO, есть планы по дальнейшему развитию.
Возможность включения Magnum в следующие релизы сейчас рассматривается R&D и продуктовой командой.
vaniaPooh
26.08.2015 21:13+1Можете ли вы пояснить на каких количествах одновременно запущенных виртуальных машин тестировалось данное решение? Есть ли информация о пределе, на котором ваше решение перестает работать корректно?
vanez1985
27.08.2015 12:22Out-of-box в текущей версии HP Helion OpenStack поддерживается до 100 физических узлов и до 4000 ВМ.
Есть техническая возможность реализации более крупных внедрений, что было сделано в ряде инсталляций, но это требует привлечения HP Helion Professional Services для детальной проработки архитектуры решения с последующим взятием его на поддержку.
В ожидаемом в конце года следующем релизе эти цифры с высокой вероятностью будут существенно увеличены за счет гораздо более гибкой и масштабируемой архитектуры развертывания, детали сообщить мы пока не можем.
amarao
Расскажите, как у вас инфраструктура (самого опенстека) восстанавливается после перехода очереди на другой узел rabbit'а. Ещё интереснее, как вы убеждаете это сделать все компоненты новы и нейтрона.
vanez1985
Детальное описание процесса node failure handling есть в официальной документации
Графически это можно представить так:
amarao
В статье сказано, что «continue to operates». В то же время опытные товарищи, присутствующие в openstack-operators@, знают про замечательную фразу про 'rabbit croaks'. После чего надо идти и делать перезапуск всех сервисов, которые произвольным образом залипли на фейловере.
Я думал увидеть более детальное описание как вы с этой болью боритесь.