Развертывание инфраструктуры облачных вычислений в RUNNet

На базе филиала ФГАУ ГНИИ ИТТ "Информика" в Санкт-Петербурге реализуется проект по апробации, тестированию и введению в рабочую эксплуатацию собственной инфраструктуры облачных вычислений (Cloud Computing).

Сегодня технологии облачных вычислений приобретают все большую популярность, а соответствующие платформы и сервисы интенсивно разрабатываются и внедряются в производственную эксплуатацию крупнейшими ИТ-компаниями и консорциумами. Развитые облачные платформы позволяют образовательным учреждениям обеспечить надежное хранение и работу с большими объемами данных, развернуть в "облаке" системы дистанционного обучения, системы управления учебным процессом, организовать удаленный доступ преподавателей и учащихся к виртуальным машинам для выполнения лабораторных практикумов, получать доступ к значительным вычислительным мощностям и дорогостоящему программному обеспечению научно-образовательной направленности и т.д.

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

По результатам проведенных предварительных изысканий за основу для построения облачной инфраструктуры выбрана динамично развивающаяся облачная платформа OpenStack, которая представляет собой набор ("стек") открытого программного обеспечения, ориентированный на создание вычислительных облаков и облачных хранилищ данных приватного (private) и публичного (public) уровней.

Ключевыми элементами программной платформы OpenStack являются проекты:

  • OpenStack Compute (Nova) - система управления жизненным циклом виртуальных машин;
  • OpenStack Imaging Service (Glance) - сервис для работы с образами виртуальных машин;
  • OpenStack Object Store (Swift) - распределенное, высоконадежное хранилище с гибкой системой синхронизации и возможностью репликации данных.

К дополнительным компонентам платформы относятся Openstack Quantum (развитая система управления виртуальной сетью), OpenStack Identity (Keystone) - сервис, обеспечивающий унифицированную ролевую аутентификацию пользователей для всех проектов OpenStack и возможность интеграции с существующими системами аутентификации, а также OpenStack Dashboard (Horizon) - веб-интерфейс для управления облаком. В качестве служебного программного обеспечения используются СУБД MySQL (хранение конфигурации сервисов и, в частности, описаний виртуальных машин) и RabbitMQ (обмен сообщениями между компонентами системы).

Аппаратная часть развернутого в RUNNet облачного полигона представляет собой 5 однотипных серверных узлов (4xCPU Intel Xeon E5620, RAM 12 Gb, HDD 4x1 Tb), локализованных в пределах одной телекоммуникационной стойки и объединенных между собой сетью Gigabit Ethernet. Компьютеры размещены в дата-центре ФГАУ ГНИИ ИТТ "Информика" в г. Москва и работают под управлением свободной серверной операционной системы Linux Ubuntu 12.04.

На всех узлах установлено и настроено программное обеспечение облачной платформы Openstack. Один из узлов выполняет функции контроллера облака. Контроллер обрабатывает запросы пользователей на выделение вычислительных ресурсов, предоставление виртуальной машины, анализирует текущее состояние узлов облака (степень загрузки процессоров, наличие требуемого объема памяти и места на диске и т.п.) и на основе реализованных в планировщике алгоритмов назначает конкретный узел для запуска виртуальной машины. Контроллер совместно с остальными узлами полигона предоставляет собственные вычислительные ресурсы для запуска виртуальных машин.

Возможности работы с сетью для виртуальных машин реализуются сетевым менеджером Openstack, использующим механизмы VLAN для разграничения доступа и сетевые мосты (bridges) для связывания виртуальных сетевых интерфейсов с реальными. Каждой виртуальной машине автоматически присваивается приватный IP-адрес из назначенного диапазона, который обычно используется для взаимодействия машин друг с другом, а также задач администрирования. Виртуальной машине может быть присвоен публичный IP-адрес для обращения к ней из сети Интернет (настройка NAT и маршрутизации производится менеджером в автоматическом режиме). В текущей конфигурации сетевые менеджеры работают на каждом из серверов облака и независимо управляют сетевыми настройками виртуальных машин, запущенных в пределах собственного узла.

Для хранения образов и работающих экземпляров виртуальных машин используется распределенная, линейно масштабируемая, отказоустойчивая файловая система GlusterFS. Это программное решение позволяет объединить в единое параллельное сетевое хранилище несколько дисковых устройств, физически расположенных на разных серверах. GlusterFS обеспечивает синхронную репликацию данных между физическими устройствами, распределение файлов между серверами с учетом балансировки нагрузки, автоматическое восстановление данных после отказа одного из элементов (выхода из строя диска) без перерыва в работе.

В настоящее время в облачном полигоне RUNNet запущен ряд виртуальных машин как собственных, так и сторонних пользователей, которые ориентированы на выполнение различных задач (предоставление типовых интернет-сервисов, хостинг научно-образовательных веб-проектов, хранение данных, выполнение ресурсоемких вычислений и др.). Дальнейшее развитие облачной инфраструктуры предполагает расширение ее вычислительной мощности, полный перенос и развертывание в "облаке" базовых сервисов сети, обмен опытом и предоставление пользователям широких возможностей по практическому применению весьма перспективных облачных сервисов и технологий в учебном процессе и научных исследованиях.