Париж, 1989 год — начало создания одного из величайших и дорогостоящих творений современности, Большого адронного коллайдера. Это событие несомненно можно назвать подвигом, но установка, образовавшая почти 27-километровое кольцо, вкопанное более чем на 90 метров под землёй на франко-швейцарской границе, бесполезна без огромных вычислительных мощностей и не менее огромного хранилища данных.
Такие вычислительные мощности для Европейской организации по ядерным исследованиям (CERN) поставляются ИТ-командой из 4 облачных сред, базирующихся на программном обеспечении с открытым исходным кодом OpenStack, которое быстро становится промышленным стандартом для создания облака. В настоящее время CERN располагает четырьмя OpenStack облаками, расположенными в двух центрах обработки данных: один — в Мейране, Швейцария, второй — в Будапеште, Венгрия.
Крупнейшее облако, расположенное в Мейране, содержит около 70 000 вычислительных ядер на 3000 серверах, другие три облака содержат в общей сложности 45 000 вычислительных ядер. Кроме того, подразделение CERN в Будапеште будет соединено со штаб-квартирой в Женеве двумя линиями связи с пропускной способностью 100 Гбит/с.
CERN начал строить свою облачную среду ещё в 2011 году с помощью Cactus (облачное программное обеспечение с открытым исходным кодом). Облака увидели свет с выпуском интерфейса OpenStack Grizzly в июле 2013 года. Сегодня все четыре облака работают на девятом по счёту релизе платформ OpenStack, получившем название Icehouse. В данный момент CERN готовит к активации около 2000 дополнительных серверов, которые на порядок увеличат вычислительные способности облака. Увеличение энергии столкновения частиц в коллайдере с 8 ТэВ (тераэлектронвольт) до 13-14 ТэВ приведёт к тому, что он будет генерировать больше данных чем он генерирует сейчас. За весь период экспериментов было собрано более 100 петабайт данных, из которых 27 только за этот год. В первом квартале 2015 года эта цифра возрастёт, по планам, до 400 петабайт в год, и облако должно быть готово к этому.
Архитектура облака CERN является единой системой, которая располагается в двух центрах обработки данных. У каждого центра обработки данных, в Швейцарии и в Венгрии, есть кластеры, вычислительные узлы и контроллеры для этих кластеров. Кластерные контроллеры обращаются к главному контроллеру в Швейцарии, который в свою очередь распределяет поток данных между двумя балансёрами.
Облако OpenStack никогда не создается, используя просто компоненты OpenStack suite, и облако CERN не исключение. Совместно с ним используются и другие компоненты с открытым исходным кодом:
- Git: система управления версиями программного обеспечения.
- Ceph: распределенное объектное хранилище, которое работает на серверах-обработчиках.
- Elasticsearch: распределенный поиск в режиме реального времени и система аналитики.
- Kibana: механизм визуализации для Elasticsearch.
- Puppet: утилита по управлению конфигурацией.
- Foreman: инструмент по настройке и контролю серверных ресурсов.
- Hadoop: архитектура распределения вычислений, используемая при анализе большого объёма данных на серверах кластера.
- Rundeck: планировщик задания.
- RDO: пакет программного обеспечения для развертывания облаков OpenStack на дистрибутиве Linux Red Hat.
- Jenkins: инструмент непрерывной интеграции.
Выбор стоял между утилитами Chef и Puppet, оба инструмента являются зрелыми, хорошо интегрируемыми с другими разработками. Однако строгий декларативный подход Puppet был сочтен более подходящим для такого рода работы.
Нынешнюю архитектуру системы демонстрирует нижеприведенная схема:
Среда OpenStack CERN уже достаточно массивная, но это не предел. В не столь далёком будущем планируется её увеличение по меньшей мере вдвое, что будет связано с обновлением самого коллайдера.
По планам это произойдёт в первом квартале 2015-го года, так как на данном этапе физикам уже не достаточно мощности коллайдера для поиска ответов на фундаментальны вопрос вселенной.
P.s. Мирных всем элементарных частичек.
Автор: IvanGalavachov