Технические детали
Реализация
Облачная инфраструктура ОИЯИ (далее — облако, облачный сервис) функционирует на базе ПО OpenNebula. В ней можно выделить следующие основные компоненты:
- ядро облачной инфраструктуры (OpenNebula core),
- планировщик (OpenNebula scheduler),
- сервер баз данных MySQL,
- интерфейсы для доступа к облаку (пользовательские веб-инферфейс и интерфейс командной строки, а также интерфейс программирования приложения),
- облачные рабочие узлы (cloud worker nodes, CWNs), на которых непосредственно размещаются виртуальные машины (ВМ).
С версии OpenNebula 5.4 стало возможным развернуть головные узлы облака в конфигурации высокой доступности и надёжности, используя только встроенные инструменты самой платформы OpenNebula, реализующие консенсусный алгоритм Raft. Он обеспечивает лёгкую и простую репликацию главного узла OpenNebula и устраняет необходимость в кластеризации системы управления базами данных MySQL.
Кроме того, было также развёрнуто программно-определяемое хранилище («software-defined storage», SDS) на основе программного обеспечения Ceph.
Схема архитектуры облака ОИЯИ приведена на рисунке ниже.
На рисунке показаны следующие типы серверов OpenNebula 5.4:
- Облачные рабочие узлы (cloud worker nodes, CWNs), которые размещают виртуальные машины (отмечены на рисунке цифрой «1» в квадрате);
- Головные машины облака (cloud front-end nodes, CFNs), где развернуты все основные сервисы OpenNebula, включая базу данных, планировщик и некоторые другие (такие узлы отмечены на рисунке черной цифрой «2» в квадрате);
- Узлы облачного хранилища (cloud storage nodes, CSNs) на основе ПО Ceph для хранения образов виртуальных машин, а также данных пользователей (отмечены черной цифрой «3» в квадрате).
Все эти серверы подключены к одному и тому же набору подсетей:
- Публичные и частные подсети ОИЯИ (они отмечены на рисунке синими линиями, возле которых цифра «1» в круге);
- Изолированная частная подсеть, предназначенная для трафика SDS (темно-зеленые линии с цифрой «2»);
- Подсеть управления (черные линии с цифрой «3» в круге).
Все сетевые коммутаторы, за исключением предназначенных для сети управления, имеют 48 портов с 10 GbE каждый, а также четыре SPF-порта 40 Гбит/с для подключения к магистральному сетевому оборудованию.
Все CSN, кроме жестких дисков для данных, имеют диски типа SSD для операционной системы и кэширования.
Облачные ресурсы сгруппированы в виртуальные кластеры в зависимости от типа необходимого хранилища для образов виртуальных машин (ВМ). Пользователям предоставляется возможность создавать ВМ как в публичной подсети (и тогда они будут доступны извне сети ОИЯИ), а также в частной подсети ОИЯИ (прямой доступ извне отсутствует).
Для работы с облачном сервисе пользователям доступны два типа интерфейса:
- интерфейс командной строки;
- графический веб-интерфейс «Sunstone» (возможны упрощённый и полнофункциональный варианты).
Все сервера облачной инфраструктуры ОИЯИ и наиболее критические компоненты облака мониторируются с помощью специального сервиса, работающего на базе ПО Nagios. В случае возникновения каких-либо проблем с мониторируемыми объектами администраторы облачной инфраструктуры получают уведомления как с помощью SMS на мобильный телефон, так и по электронной почте.
Аутентификация пользователей в веб-интерфейсе «Sunstone» реализована с использованием общеинститутского логина/пароля, работающего на базе Kerberos (см. ниже). Доступ к ВМ осуществляется либо по {rsa,dsa}-ключу, либо также с использованием общеинститутского логина и пароля. Для повышения безопасности передачи информации между веб-интерфейсом сервиса и браузерами пользователей применено SSL-шифрование.
Использование облачной инфраструктуры
В настоящий момент облачные ресурсы ОИЯИ используются по трём основным направлениям:
- для учебных, исследовательских и тестовых задач, а также разработки в различных проектах;
- для размещения сервисов с высокой доступностью и надёжностью;
- в качестве счётных ресурсов, в том числе как расширение вычислительных возможностей грид-инфраструктур.
Ниже приведён список сервисов и полигонов, развёрнутых в настоящий момент в облаке ОИЯИ (на рисунке ниже изображено их схематичное представление).
- Сервисы PanDA для эксперимента COMPASS;
- Сервисы промежуточного программного обеспечения (ППО) DIRAC, обеспечивающие работу распределённой информационно-вычислительной среды на базе ресурсов организаций стран-участниц ОИЯИ;
- Helpdesk (система поддержки пользователей ИТ-сервисов, предоставляемых ЛИТ);
- Вычислительные ресурсы для экспериментов на ускорителе NICA: BM@N, MPD, SPD;
- Вычислительные ресурсы для таких экспериментов, как NOvA, DUNE, JUNO, Daya Bay, Baikal-GVD, BES-III;
- Веб-сервис HepWep, предоставляющий возможность использовать различные инструменты для Монте-Карло моделирования в области ФВЭ;
- Система управления данными программы по контролю за загрязнением воздуха Европы (UNECE ICP Vegetation) – moss.jinr.ru;
- Система диагностирования болезней агрокультур посредством использования современных методов машинного обучения – pdd.jinr.ru;
- Тестовые экземпляры сервера документов ОИЯИ и сервиса управлениями проектов для отладки перехода на новые версии и тестирование нового функционала;
- Виртуальные машины для разработки веб-сайтов, веб-сайт ОМУС (omus.jinr.ru);
- GitLab — локальная инсталяция сервиса GitLab для всех пользователей ОИЯИ;
- Персональные виртуальные машины пользователей для нужд, связанных с выполнением ими своих трудовых обязанностей;
- Виртуальная машина для CVMFS-репозитория эксперимента DsTau;
- Сервисы для сбора, хранения и визуализации данных на базе Prometheus, Thanos, Elastic, Grafana;
- Набор сервисов для управления жизненным циклом физических и виртуальных серверов на базе Foreman и Puppet;
- Интерактивная веб-среда разработки Jupyter.
Кроме того, на этой же облачной инфраструктуре развёрнуты полигоны на базе виртуальных машин KVM для ознакомления с нововведениями новых версий OpenNebula и их проверки, в том числе на предмет корректности работы наших собственных модификаций элементов веб-интерфейса.
Интеграция облачных инфраструктур
Помимо покупки новых серверов и их локального обслуживания в ОИЯИ существует еще один вид деятельности по увеличению облачных ресурсов: интеграция части вычислительных ресурсов облаков организаций государств-членов ОИЯИ (подробнее можно ознакомится здесь).
Интеграция облачных инфраструктур осуществляется с помощью грид-платформы DIRAC (распределенная инфраструктура с удаленным агентским управлением).
На текущий момент интеграция облаков организаций государств-членов ОИЯИ находится на разных этапах (этапы и места расположения участников распределенной облачной инфраструктуры показаны на карте на рисунке):