МИВК Многофункциональный
информационно-вычислительный
комплекс ОИЯИ

EN

Технические детали

Реализация

Облачная инфраструктура ОИЯИ (далее — облако, облачный сервис) функционирует на базе ПО 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 для операционной системы и кэширования.

Облачные ресурсы сгруппированы в виртуальные кластеры в зависимости от типа используемого средства виртуализации (KVM или OpenVZ), а также типа необходимого хранилища для образов виртуальных машин или контейнеров. В случая KVM виртуальный экземпляр принято называть виртуальной машиной (ВМ), а в случае OpenVZ — контейнером (КТ). Пользователям предоставляется возможность создавать ВМ и КТ как в публичной подсети (и тогда они будут доступны извне сети ОИЯИ), а также в частной подсети ОИЯИ (прямой доступ извне отсутствует).

Для работы с облачном сервисе пользователям доступны два типа интерфейса:

  • интерфейс командной строки;
  • графический веб-интерфейс «Sunstone» (возможны упрощённый и полнофункциональный варианты).

Все сервера облачной инфраструктуры ОИЯИ и наиболее критические компоненты облака мониторируются с помощью специального сервиса, работающего на базе ПО Nagios. В случае возникновения каких-либо проблем с мониторируемыми объектами администраторы облачной инфраструктуры получают уведомления как с помощью SMS на мобильный телефон, так и по электронной почте.

Аутентификация пользователей в веб-интерфейсе «Sunstone» реализована с использованием общеинститутского логина/пароля, работающего на базе Kerberos (см. ниже). Доступ к ВМ/КТ осуществляется либо по {rsa,dsa}-ключу, либо также с использованием общеинститутского логина и пароля. Для повышения безопасности передачи информации между веб-интерфейсом сервиса и браузерами пользователей применено SSL-шифрование.

Использование облачного сервиса

В настоящий момент облачные ресурсы ОИЯИ используются по трём основным направлениям:

  • для учебных, исследовательских и тестовых задач, а также разработки в различных проектах;
  • для размещения сервисов с высокой доступностью и надёжностью;
  • в качестве счётных ресурсов, в том числе как расширение вычислительных возможностей грид-инфраструктур.

Ниже приведён список сервисов и полигонов, развёрнутых в настоящий момент в облаке ОИЯИ (на рисунке ниже изображено их схематичное представление).

  1. Полигон на базе промежуточного программного обеспечения EMI (используется для обучения, тестирования, разработки и решения исследовательских задач в рамках участия ОИЯИ в различных проектах, связанных с применением этого ППО, включая проект WLCG);
  2. Сервисы PanDA для эксперимента COMPASS;
  3. Полигон на базе ППО DIRAC (используется для разработки средств мониторинга распределённой вычислительной инфраструктуры эксперимента BESIII, а также как один из её вычислительных ресурсов);
  4. Набор контейнеров для пользователей-участников эксперимента NOvA (моделирование и анализ);
  5. Полигон для изучения и оценки ППО для построения вычислительной инфраструктуры экспериментов на ускорителе NICA;
  6. Полигон на базе системы хранения данных EOS для выполнения обязательств в рамках участия в проекте по исследованию гетерогенных киберинфраструктур, разработки и создания прототипа компьютерной федерации на основе высокоскоростных вычислений, облачных вычислений и суперкомпьютеров для хранения, обработки и анализа Больших Данных;
  7. Helpdesk (система поддержки пользователей ИТ-сервисов, предоставляемых ЛИТ);
  8. Вычислительные ресурсы для таких экспериментов, как JUNO, Daya Bay, Baikal-GVD;
  9. Веб-сервис HepWep, предоставляющий возможность использовать различные инструменты для Монте-Карло моделирования в области ФВЭ;
  10. Тестовые экземпляры сервера документов ОИЯИ и сервиса управлениями проектов для отладки перехода на новые версии и тестирование нового функционала;
  11. Контейнер для разработки веб-сайтов, включая новый веб-портал ОИЯИ;
  12. GitLab — локальная инсталяция сервиса GitLab для всех пользователей ОИЯИ;
  13. Полигон на базе ПО Hadoop;
  14. Набор ВМ/КТ пользователей для их собственных нужд;
  15. Контейнеры для оценки существующих систем мониторинга и разработки на их базе системы мониторинга Tier-1 ОИЯИ.

Кроме того, на этой же облачной инфраструктуре развёрнуты полигоны для разработки и отладки драйвера OpenVZ для текущей и новых версий Opennebula. Каждый из таких полигонов состоит из одного контейнера для установки компонент головной машины облака, а также 2-3 виртуальных машин на базе KVM.

Помимо этого, облачный сервис используется экспериментом BES-III в качестве вычислительного ресурса.