close

Вход

Забыли?

вход по аккаунту

?

ru/GSNTI-2011-2013/4-5-PZ-EP

код для вставкиСкачать
ГОСУДАРСТВЕННОЕ НАУЧНОЕ УЧРЕЖДЕНИЕ
«ОБЪЕДИНЕННЫЙ ИНСТИТУТ ПРОБЛЕМ ИНФОРМАТИКИ
НАЦИОНАЛЬНОЙ АКАДЕМИИ НАУК БЕЛАРУСИ»
(ОИПИ НАН Беларуси)
УДК 004.7; 004.75
№ госрегистрации
Инв. №_____________________
УТВЕРЖДАЮ
Руководитель организации-разработчика,
генеральный директор ОИПИ НАН Беларуси,
доктор физико-математических наук,
профессор
________________ А.В.Тузиков
«____» __________ 2011 г.
Разработать и внедрить технологии объединения ресурсов суперкомпьютерных
центров на базе ОИПИ, Белгосуниверситета и Гродненского госуниверситета с
использованием технологий облачных вычислений
ТЕХНОЛОГИИ ОБЪЕДИНЕНИЯ РЕСУРСОВ СУПЕРКОМПЬЮТЕРНЫХ
ЦЕНТРОВ НА БАЗЕ ОИПИ, БЕЛГОСУНИВЕРСИТЕТА И ГРОДНЕНСКОГО
ГОСУНИВЕРСИТЕТА С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ ОБЛАЧНЫХ
ВЫЧИСЛЕНИЙ
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА ЭСКИЗНОГО ПРОЕКТА
На 25 листах
Перечень работ по развитию государственной
системы научно-технической информации
Республики Беларусь на 2011-2013 годы и на
перспективу до 2015 года
Задание № 4.5, этап 1.2
Договор № Б2-4.5/224 от 26.07.2011
Заместитель генерального директора по научной работе
ОИПИ НАН Беларуси, кандидат технических наук, доцент
Минск 2011
В.В.Анищенко
СПИСОК ИСПОЛНИТЕЛЕЙ
Научный руководитель,
заведующий лабораторией № 224
ОИПИ НАН Беларуси
_______________________
подпись, дата
Анищенко В.В.
Ответственный исполнитель,
научный сотрудник
ОИПИ НАН Беларуси
_______________________
подпись, дата
Криштофик А.М.
_______________________
подпись, дата
Лукошко А.Г.
_______________________
подпись, дата
Лапа В.А.
_______________________
подпись, дата
Трухнова Н.И.
Инженер-программист
ОИПИ НАН Беларуси
_______________________
Романюк Д.А.
Нормоконтроль
_______________________
Исполнители темы:
Младший научный сотрудник
ОИПИ НАН Беларуси
Администратор системный
ОИПИ НАН Беларуси
Ведущий инженер
ОИПИ НАН Беларуси
подпись, дата
подпись, дата
2
Нагорный А.Л.
РЕФЕРАТ
ПЗ эскизного проекта 25 с., 1 рис., 3 табл.
ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ,
ОРИЕНТИРОВАННАЯ
ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ, СЕРВИС-
АРХИТЕКТУРА,
РЕСУРСОЕМКИЕ
ПРИЛОЖЕНИЯ,
БАЗЫ
ДАННЫХ, ФАЙЛОВЫЕ ХРАНИЛИЩА
Объект исследования – технологии объединения ресурсов суперкомпьютерных
центров.
Цель работы – объединение ресурсов суперкомпьютерных центров на базе ОИПИ,
Белорусского
государственного
университета
и
использованием технологий облачных вычислений.
Гродненского
госуниверситета
с
Внедрение облачных вычислений
позволит снизить совокупную стоимость владения, повысить отказоустойчивость и уровень
обслуживания, упростить процесс взаимодействия пользователей с ресурсами, а также
предоставить новые сервисы на базе существующих аппаратных решений.
Пояснительная записка эскизного проекта разработана для внедрения технологий
облачных вычислений в инфраструктуру суперкомпьютерных центров на базе ОИПИ,
Белорусского государственного университета и Гродненского госуниверситета;
Работы
выполнялись
в
рамках
договора
от
26.07.2011
№ Б2/2011
между
НАН Беларуси и Государственным научным учреждением «Объединённый институт
проблем информатики Национальной академии наук Беларуси» (ОИПИ НАН Беларуси).
Заказчик ОКР – ОИПИ НАН Беларуси.
Начало работ – 01.10.2011 г., окончание – 25.12.2011 г
3
СОДЕРЖАНИЕ
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ ............................................................................................... 5
ВВЕДЕНИЕ ........................................................................................................................................ 6
НАИМЕНОВАНИЕ ЗАКАЗЧИКА, РАЗРАБОТЧИКА.................................................................. 7
1 ОБЩИЕ ПОЛОЖЕНИЯ ................................................................................................................. 8
1.1 Наименование технологий...................................................................................................... 8
1.2 Основания для проведения работ .......................................................................................... 8
1.3 Цели, назначение и область использования технологий ..................................................... 9
1.4 Нормативные ссылки ............................................................................................................ 10
1.5 Очередность создания технологий ...................................................................................... 10
2 ОПИСАНИЕ ПРОЦЕССА ДЕЯТЕЛЬНОСТИ ........................................................................... 11
3 ОСНОВНЫЕ ТЕХНИЧЕСКИЕ РЕШЕНИЯ .............................................................................. 13
3.1 Решения по обеспечению виртуализации ........................................................................... 13
3.2 Решения по обеспечению модели IaaS ................................................................................ 15
3.3 Решения по обеспечению модели PaaS ............................................................................... 19
3.4 Решения по обеспечению модели SaaS ............................................................................... 21
4 МЕРОПРИЯТИЯ ПО ПОДГОТОВКЕ К ВВОДУ ТЕХНОЛОГИЙ В ДЕЙСТВИЕ ............... 24
ЗАКЛЮЧЕНИЕ................................................................................................................................ 25
4
ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
Сокращение
Расшифровка
AMQP
Advanced Message Queuing Открытый протокол для передачи сообщений
API
Значение
Protocol
между компонентами системы
Аpplication Programming
Интерфейс программирования приложений
Interface
CentOS
EC2
Community ENTerprise
Дистрибутив Linux, основанный на
Operating System
коммерческом Red Hat Enterprise Linux
Elastic Compute Cloud
Сервис, предоставляющий вычислительные
мощности в облаке
KVM
Kernel-based Virtual
Гипервизор, встроенный в ядро Linux
Machine
Linux, Apache, MySQL,
Комплекс серверного программного
PHP
обеспечения
RHEL
Red Hat Enterprise Linux
Дистрибутив Linux от компании Red Hat.
S3
Simple Storage Service
Служба хранения файлов в облаке
SQL
Structured Query Language
Язык структурированных запросов к базам
LAMP
данных
WAMP
XAMPP
БД
Windows, Apache, MySQL,
Комплекс серверного программного
PHP
обеспечения
X, Apache, MySQL, PHP,
Комплекс серверного программного
Perl
обеспечения, X означает любую систему
База Данных
ВВЕДЕНИЕ
Разработка пояснительной записки эскизного проекта выполнена в рамках задания 4.5
«Разработать и внедрить технологии объединения ресурсов суперкомпьютерных центров на
базе ОИПИ, Белгосуниверситета и Гродненского госуниверситета с использованием
технологий облачных вычислений» перечня работ по развитию государственной системы
научно-технической информации Республики Беларусь на 2011-2013 годы и на перспективу
до 2015 года.
На стадии разработки эскизного проекта определены и обоснованы требования к
разрабатываемой облачной инфраструктуре, технологии для обеспечения виртуализации
ресурсов, программные средства промежуточного уровня для предоставления облачных
сервисов, а также технологии для обеспечения распределенного хранения информации.
В разработанной записке отражены решения, позволяющие надежно и безопасно
объединить ресурсы суперкомпьютерных центров на базе ОИПИ, Белгосуниверситета и
Гродненского госуниверситета, повысив таким образом качество обслуживания и снизив
стоимость владения.
6
НАИМЕНОВАНИЕ ЗАКАЗЧИКА, РАЗРАБОТЧИКА
Заказчик:
Национальная академия наук Беларуси (НАН БЕЛАРУСИ)
Статус
Государственная научная организация
Адрес
пр. Независимости, 66, 220072, г. Минск
Internet
http://nasb.gov.by/
Тел./факс
+375 (17) 284 18 01, +375 (17) 284 28 16
Председатель Президиума Русецкий Анатолий Максимович
E-mail
nasb@presidium.bas-net.by
Разработчик:
Государственное научное учреждение "Объединенный
институт проблем информатики Национальной академии
наук Беларуси" (ОИПИ НАН БЕЛАРУСИ)
Статус
Государственное научное учреждение
Адрес
ул. Сурганова, 6, 220012, г. Минск
Internet
http://uiip.bas-net.by/
Тел./факс
+375 (17) 284 21 75
Генеральный директор
Тузиков Александр Васильевич
E-mail
itekan@newman.bas-net.by
7
1 ОБЩИЕ ПОЛОЖЕНИЯ
1.1 Наименование технологий
Полное наименование системы:
Технологии объединения ресурсов суперкомпьютерных центров на базе ОИПИ,
Белгосуниверситета и Гродненского госуниверситета с использованием технологий
облачных вычислений.
Условное обозначение: технологии облачных вычислений.
1.2 Основания для проведения работ

закон Республики Беларусь от 15 октября 2010 г. «О республиканском бюджете
на 2011 г.»;

постановление Совета Министров Республики Беларусь от 15 сентября 2010 г.
№ 1326 «О некоторых вопросах финансирования научной, научно-технической и
инновационной деятельности»;

приказ Государственного комитета по науке и технологиям Республики Беларусь
от
14 февраля 2011г. № 232 «Об утверждении мероприятий и проектов по
направлениям научной, научно-технической и инновационной деятельности»;

приказ Государственного комитета по науке и технологиям от 26.04.2011 № 119
«Об утверждении перечня работ по развитию государственной системы научнотехнической информации Республики Беларусь на 20112013 годы и на
перспективу до 2015 года»;

приказ Национальной академии наук Беларуси от 26.01.2011
№ 92 «Об
утверждении Плана на 2011 год исследований и разработок по развитию
государственной системы научно-технической информации на 2011-2013 годы и
на перспективу до 2015 года по Национальной академии наук Беларуси»;

договор № Б2/2011 от 26.07.2011 между НАН Беларуси и ОИПИ НАН Беларуси
на выполнение исследований и разработок по развитию Государственной системы
научно-технической информации Республики Беларусь на 2011-2013 годы и на
перспективу до 2015 года по Национальной академии наук Беларуси;

задание № 4.5 «Разработать и внедрить технологии объединения ресурсов
суперкомпьютерных центров на базе ОИПИ, Белгосуниверситета и Гродненского
госуниверситета с использованием технологий облачных вычислений» перечня
работ по развитию государственной системы научно-технической информации
Республики Беларусь на 2011-2013 годы и на перспективу до 2015 года;
8

техническое
задание
Б2-4.5-2011
объединения
«Технологии
ресурсов
суперкомпьютерных центров на базе ОИПИ, Белгосуниверситета и Гродненского
госуниверситета с использованием технологий облачных вычислений».
1.3 Цели, назначение и область использования технологий
По мнению аналитиков компании Gartner (www.gartner.com) среди десяти наиболее
важных, "стратегических" технологий и тенденций в области ИТ нескольких последующих
лет, способных оказать значительное влияние на развитие ИТ в целом названы технологии
облачных вычислений (Cloud Computing). Технологии облачных вычислений — это подход
к организации работы ИТ-инфраструктуры, при котором ИТ-услуги предоставляются в виде
сервисов, так что пользователи могут использовать их посредством глобальной сети
Интернет без каких-либо знаний о поддерживающей их инфраструктуре.
Технологии
облачных
вычислений
реализуют
сервисно-ориентированную
архитектуру, т.е. парадигму организации и использования распределенных информационных
ресурсов, таких как приложения и данные, находящихся в сфере ответственности разных
владельцев, для достижения желаемых результатов потребителем, которым может быть
конечный пользователь или другое приложение.
Результатом реализации работ по заданию должно стать объединение ресурсов
суперкомпьютерных центров на базе ОИПИ, Белгосуниверситета и Гродненского
госуниверситета с использованием технологий облачных вычислений.
Основное
назначение
разрабатываемой
системы
–
создание
облачной
инфраструктуры, обеспечивающей снижение совокупной стоимости владения, повышение
отказоустойчивости
и
уровня
обслуживания,
упрощения
процесса
взаимодействия
пользователей с ресурсами и предоставление новых сервисов на базе существующих
аппаратных решений.
Пользователями системы являются:

Государственное
научное
учреждение
"Объединенный
институт
проблем
информатики Национальной академии наук Беларуси";

Белорусский государственный университет;

Учреждение образования «Гродненский государственный университет им. Я.
Купалы»;

другие научные организации Национальной академии наук Беларуси и ВУЗы
Республики Беларусь, проводящие научные исследования и выполняющие
9
разработку наукоемкой продукции с использованием суперкомпьютерных
технологий.
1.4 Нормативные ссылки
Основные руководящие документы (РД) и ТНПА на разработку ЭП приведены в
таблице 1.
Таблица 1 − Перечень основных РД и ТНПА
№
п/п
1
Наименование документа
ГОСТ 34.003-90 Автоматизированные системы. Термины и определения
2
ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы
3
ГОСТ 34.603-92 Виды испытаний автоматизированных систем
4
ГОСТ 34.601-90 Автоматизированные системы. Стадии создания
5
ГОСТ 34.201-89 Виды, комплектность и обозначения документов при создании
автоматизированных систем
6
РД 50-34.698-90 Автоматизированные системы. Требования к содержанию
документов
7
СТБ
1080-97
Порядок
выполнения
научно-исследовательских
и
опытно-
конструкторских работ по созданию научно-технической продукции
8
Техническое
задание
суперкомпьютерных
центров
«Технологии
на
базе
объединения
ОИПИ,
ресурсов
Белгосуниверситета
и
Гродненского госуниверситета с использованием технологий облачных
вычислений»
1.5 Очередность создания технологий
Начало выполнения работ – 01.07.2011 г.
Окончание выполнения работ – 25.12.2013 г.
10
2 ОПИСАНИЕ ПРОЦЕССА ДЕЯТЕЛЬНОСТИ
Объектом разработки является комплекс базовых технологий и программного
обеспечения
объединения
ресурсов
суперкомпьютерных
центров
на
базе
ОИПИ,
Бегосуниверситета и Гродненского госуниверситета с использованием технологий облачных
вычислений,
предназначенной
для
обеспечения
унифицированного
доступа
к
высокопроизводительным сервисам-приложениям.
Облачная среда может включать следующие модели предоставления услуг (рис 1):

SaaS (Software as a service) – программное обеспечение как сервис, т.е.
предоставление доступа к необходимому программному обеспечению как к
услуге через Интернет, в том числе и для высокопроизводительных приложений;

IaaS (Infrastructure as a Service) – инфраструктура как сервис, т.е. предоставление
компьютерной инфраструктуры в форме виртуализации как услуги на основе
концепции облачных вычислений;

PaaS (Platform as a Service) – платформа как сервис, т.е. предоставление
удаленной компьютерной инфраструктуры для разработки облачных приложений
(ориентировано,
в
первую
очередь,
на
производителей
программного
обеспечения);
Для реализации данных моделей услуг требуются следующие технологии:

технология виртуализации, которая дает возможность предоставлять доступ к
сетевым
информационно-вычислительным
ресурсам
как
к
виртуальным
сегментам. Это значит, что устройства или их компоненты (например, системы
хранения) предоставляются по запросу, независимо от своего физического
местоположения и способа физического подключения к сети.

архитектурная
технология
multi-tenancy,
поддерживающая
совместное
использование ресурсов (программного обеспечения, вычислительных мощностей
и систем хранения) и совместную оплату этих ресурсов большими группами
пользователей.
11
Рисунок 1 – Уровни предоставления услуг.
Следовательно, создаваемая облачная среда будет считаться таковой, если будет
предоставлять упомянутые услуги. Поскольку облачные технологии – это концепция, то
выбор технических решений для реализации тех или иных возможностей всегда остается за
разработчиками конкретной облачной среды.
В данной записке отражены и обоснованы решения, которые будут использованы для
объединения ресурсов суперкомпьютерных центров на базе ОИПИ, Бегосуниверситета и
Гродненского госуниверситета.
12
3 ОСНОВНЫЕ ТЕХНИЧЕСКИЕ РЕШЕНИЯ
3.1 Решения по обеспечению виртуализации
Виртуализация – это концепция, которая была популярна в последнее время, а с
появлением понятия облачных вычислений ее роль стала еще более значительной.
Существует множество причин для внедрения технологий виртуализации, среди которых:

увеличение
коэффициента
статистике,
большинство
использования аппаратного
серверов
загружены
на
обеспечения
15-20
процентов
- по
при
выполнении ими повседневных задач. Использование нескольких виртуальных
серверов на одном физическом позволит увеличить его загруженность до 80
процентов, обеспечив при этом существенную экономию на приобретении
аппаратного обеспечения;

уменьшение затрат на замену аппаратного обеспечения - поскольку виртуальные
сервера отвязаны от конкретного оборудования, при обновлении парка
физических
серверов
не
требуется
повторная
установка
и
настройка
программного обеспечения, виртуальная машина может быть просто скопирована
на другой сервер;

повышение гибкости использования виртуальных серверов - в случае если
необходимо использование нескольких серверов (к примеру, для тестирования и
работы в режиме промышленной эксплуатации) при изменяющейся нагрузке,
виртуальные сервера являются лучшим решением, так как они могут быть
безболезненно перенесены на другие платформы, когда физический сервер
испытывает повышенные нагрузки;

обеспечение высокой доступности — резервное копирование виртуальных машин
и их восстановление из резервных копий занимает значительно меньшее время и
является более простой процедурой. Также, при выходе из строя оборудования,
резервная копия виртуального сервера может быть сразу запущена на другом
физическом сервере;

повышение управляемости серверной инфраструктуры - существует множество
продуктов
для
централизованно
управления
управлять
виртуальной
виртуальными
инфраструктурой,
серверами
и
позволяющих
обеспечивать
балансировку нагрузки и «живую» миграцию;

экономия на обслуживающем персонале - упрощение управления виртуальными
серверами в перспективе влечет за собой экономию на специалистах,
обслуживающих инфраструктуру компании.
13

экономия на электроэнергии - для малых компаний этот фактор не имеет особого
значения, однако для суперкомпьютерных центров, где затраты на поддержание
большого парка серверов включают в себя расходы на электроэнергию (питание,
системы охлаждения), этот момент имеет немалое значение. Концентрация
нескольких виртуальных серверов на одном физическом уменьшит эти затраты.
В основе реализации виртуализации лежит машина, которую надо виртуализировать.
Эта машина может поддерживать или не поддерживать виртуализацию, во втором случае
требуется поддержка на следующем уровне, называемом гипервизор. Гипервизор (или
VMM) служит как некая абстракция между аппаратной платформой и операционной
системой. В некоторых случаях гипервизор является операционной системой, в этом случае
он называется базовая операционная система. Над гипервизором находятся гостевые
операционные системы, также называемые виртуальными машинами (VM). Эти виртуальные
машины
представляют
собой
изолированные
операционные
системы,
которые
следующие
системы
рассматривают базовую аппаратуру как принадлежащую им.
В
процессе
выполнения
задания
были
рассмотрены
виртуализации:

Hyper-V 2008 — используется для запуска основанных на Windows виртуальных
машин, особенно Windows 2008 R2 Datacenter или Enterprise Edition

KVM
-
Kernel-based
Virtual
Machine.
Использует
форматы
дисков
и
модифицированную программу запуска из проекта QEMU;

LXC - Linux Containers (через libvirt), используется для запуска виртуальных
машин на основе Linux;

QEMU - Quick EMUlator, обычно используется только для разработки;

UML - User Mode Linux, обычно используется только для разработки;

VMWare ESX/ESXi 4.1 update 1, запускает основанные на VMWare образы Linux и
Windows через соединение с сервером ESX;

Xen - XenServer 5.5, Xen Cloud Platform (XCP), используется для запуска
виртуальных машин на основе Linux и Windows.
В результате анализа было определено, что основной технологией виртуализации при
выполнении задания станет KVM. Подход, который использует KVM, состоит в том, чтобы
превратить ядро Linux в гипервизор простой загрузкой модуля ядра. Модуль ядра
экспортирует устройство, называемое /dev/kvm, которое делает возможным гостевой режим
ядра (вдобавок к обычным режимам ядра и пользователей). С dev/kvm VM имеет свое
собственное адресное пространство, отдельное от адресного пространства ядра или любых
14
других работающих VM. Устройства в дереве устройств (/dev) являются общими для всех
пользовательских процессов. Но /dev/kvm отличается тем, что каждый процесс, который его
открывает, видит другую карту (для поддержания изоляции виртуальных машин).
Сам по себе KVM представляет собой только часть решения проблемы виртуализации
и обеспечивает виртуализацию памяти. Средства для виртуализации процессоров
поддерживаются на аппаратном уровне во всех современных центральных процессорах. А
система ввода/вывода виртуализируется с помощью слегка модифицированного процесса
QEMU (копия которого выполняется с каждым процессом гостевой операционной системы).
QEMU – это платформа, которая позволяет виртуализировать все оборудование PC
(включая диски, графические адаптеры, сетевые устройства). Любые запросы ввода/вывода,
которые делает гостевая операционная система, перехватываются и направляются в
пользовательский режим для эмулирования с помощью процесса QEMU.
Одним из преимуществ технологии KVM является то, что поскольку она сама
является частью ядра, она может воспользоваться преимуществами от развития и
оптимизации ядра. Это свидетельствует о перспективности этого подхода по сравнению с
другими независимыми реализациями гипервизора.
Основным недостатком KVM является необходимость поддержки виртуализации по
стороны центрального процессора, однако процессоры, используемые в суперкомпьютерных
центрах ОИПИ, Бегосуниверситета и Гродненского госуниверситета, соответствуют данному
требованию, что позволяет рекомендовать именно KVM в качестве гипервизора для
создаваемой облачной среды.
3.2 Решения по обеспечению модели IaaS
Infrastructure as a Service (IaaS) — это предоставление компьютерной инфраструктуры
(как правило, в форме виртуализации) как услуги на основе концепции облачных
вычислений.
IaaS состоит из трех основных компонентов:

аппаратные средства (серверы, системы хранения данных, клиентские системы,
сетевое оборудование);

операционные системы и системное ПО (средства виртуализации, автоматизации,
основные средства управления ресурсами);

связующее ПО (например, для управления системами).
15
Все необходимые аппаратные средства уже созданы и введены в эксплуатацию в
ОИПИ, Бегосуниверситете и Гродненском госуниверситете, поэтому в данной записке
рассматриваться не будут.
В суперкомпьютерных центрах установлены операционные системы семейства Linux,
поддерживающие систему виртуализации KVM (таблица 2).
Таблица 2. Операционные системы суперкомпьютеров семейства СКИФ.
Название суперкомпьютера
Расположение
Операционная система
СКИФ-ОИПИ
ОИПИ НАН Беларуси
SLED 11
СКИФ-GPU
ОИПИ НАН Беларуси
Fedora 12
СКИФ-ТРИАДА
ОИПИ НАН Беларуси
Fedora 8
СКИФ-ГРИД
ОИПИ НАН Беларуси
Fedora 14
СКИФ К-1000-05
БГУ
Fedora 8
СКИФ К-1000.1
ГрГУ
Fedora 8
Следовательно, главной задачей по обеспечению модели IaaS является разработка
связующего ПО. В процессе выполнения задания были рассмотрены следующие
программные технологии промежуточного уровня:

Eucalyptus;

OpenNebula;

OpenStack.
Для
объединения
ресурсов
суперкомпьютерных
центров
на
базе
ОИПИ,
Белгосуниверситета и Гродненского госуниверситета был выбран OpenStack.
OpenStack - это набор открытого программного обеспечения для провайдеров услуг
или частного использования, предназначенный для установки и запуска облачной
инфраструктуры вычислений и хранения. Консорциуму OpenStack удалось заручиться
поддержкой более 50 членов, включая IBM, Canonical, Dell, Citrix и др. менее чем за год.
OpenStack создает услуги, совместимые с Amazon EC2/S3 на уровне API.
Следовательно, клиентские приложения, написанные для AWS (Amazon web services) могут
быть использованы и для OpenStack. Существуют три основных наплавления OpenStack:

Compute Infrastructure (Nova);

Imaging Service (Glance);

Storage Infrastructure (Swift).
16
Для реализации IaaS используются Nova и Glance. Nova - контроллер, управляющий
работой виртуальных машин. Все действия, необходимые для поддержки жизненного цикла
виртуальной машины в облаке OpenStack обрабатывает Nova. Он управляет всеми
вычислительные ресурсами, сетью, авторизацией и потребностями масштабируемости
OpenStack облака. Nova - средство управления платформой и не предоставляет сам по себе
никаких возможностей виртуализации, для виртуализации он использует интерфейсы Libvirt
для взаимодействия с поддерживаемыми гипервизорами. Nova предоставляет свои
возможности с помощью API веб-сервисов, совместимых с EC2 от Amazon Web Services.
Функции и возможности Nova:

управление жизненным циклом;

управление ресурсами;

сеть и авторизация;

API, основанное на REST;

асинхронная связь;

поддержка виртуальных машин Xen, XenServer, KVM, UML and Hyper-V.
Для реализации данных функций Openstack Nova содержит в себе следующие
основные компоненты:

API сервер (nova-api);

очередь сообщений (rabbit-mq server);

вычислительные ноды (nova-compute);

сетевой контроллер (nova-network);

контроллер томов (nova-volume);

планировщик (nova-scheduler).
API сервер обеспечивает интерфейс с внешним миром для взаимодействия с облачной
инфраструктурой и является единственным компонентом, который внешний мир использует
для управления инфраструктурой. Управление осуществляется через веб-сервисы с помощью
EC2 API. API сервера в свою очередь взаимодействует с соответствующими компонентами
облачной инфраструктуры посредством очереди сообщений.
Контроллер облака OpenStack взаимодействует с другими компонентами nova (такими
как Планировщик, Сетевой контроллер и Контроллер томов) посредством AMQP
(дополнительного протокола очереди сообщений). Nova использует асинхронные вызовы для
ответа на запрос, с помощью обратного вызова, который посылается, когда ответ получен.
Так как используется асинхронная коммуникация, то ни одна из конечных точек не
17
находится долго в состоянии ожидания. Это особенно актуально, так как многие действия
(запуск виртуальной машины или загрузка образа) при взаимодействии с вызовами API
требуют много времени.
Узлы работают по определённому циклу. Они получают управляющие запросы через
очередь сообщений и выполняют операции. В обычной инсталляции используется несколько
узлов. Узел выполняет какую-либо задачу из множества доступных, основываясь на
алгоритме планирования.
Сетевой контроллер взаимодействует с сетевой конфигурацией головной машины.
Его задачей является выделение IP-адресов, конфигурирование сетей VLAN для проектов,
реализация групп безопасности и настройка сетей для вычислительных узлов.
Контроллер диска используются для управления LVM-томами. Функции контроллера
диска: создание, удаление, присоединение томов, отсоединение томов.
Планировщик перенаправляет вызовы nova-API к соответствующим компонентам
openstack. Он работает как служба nova-schedule и подключает вычислительные
ресурсы/сети/размер тома из пула доступных ресурсов в зависимости от алгоритма
планирования. Планировщик может принимать решения на основе различных факторов,
таких как нагрузка, память, физическое расстояние от доступной зоны, архитектуры
процессора и т.д. nova-schedule реализует подключаемые архитектуры. В настоящее время
nova-schedule реализует несколько основных алгоритмов планирования:

случайный - согласно этому алгоритму принимающие вычисления хосты
выбираются случайным образом из всех доступных зон;

доступные зоны - как и в предыдущем случае, хост для вычислений выбирается
случайным образом, но только из указанной доступной зоны;

простой - согласно этому алгоритму для запуска виртуальной машины
выбираются хосты, нагруженные меньше остальных.
OpenStack Imaging Service (работа с образами виртуальных машин) - сервис для
работы с образами виртуальных машин. Он может быть настроен на использование любым
из следующих трех способов:

OpenStack Object Store для хранения образов;

прямое взаимодействие с Amazon S3;

взаимодействие с Amazon S3 с использованием Object Store в качестве
промежуточного сервиса.
18
Основной функцией Glance является предоставление возможности работы с образами
виртуальных машин. Glance состоит из двух компонентов:

Glance API;

Glance реестр.
3.3 Решения по обеспечению модели PaaS
Platform as a Service (PaaS) — это предоставление интегрированной платформы для
разработки,
тестирования,
развертывания
и
поддержки
приложений
как
услуги,
организованное на основе концепции облачных вычислений. При этом для развертывания
приложений нет необходимости приобретать оборудование, программное обеспечение, и
организовывать поддержку — все это сдается в аренду поставщиком услуг.
В данной модели потребителю необходимо предоставить все библиотеки, фреймворки
и прочие компоненты, которые нужны для запуска его программы, а саму программу он
разрабатывает самостоятельно. Компоненты среды для выполнения программ можно
условно разделить на три категории:

компиляторы, интерпретаторы и библиотеки;

базы данных;

файловые хранилища.
Типичным примером предоставления компонентов из первого пункта можно назвать
существующие услуги суперкомпьютерных центров ОИПИ, БГУ и ГрГУ, т.к. на
суперкомпьютерах уже установлены операционные системы и средства для разработки и
выполнения параллельных программ. Отличием является то, что пользователь платит не за
данные компоненты, а за процессорное время, что соответствует модели IaaS.
В создаваемой облачной среде будут представлены следующие компоненты:

средства параллельного программирования MPI – OpenMPI, MPICH;

средства разработки и выполнения программ на Java – OpenJDK, Oracle JDK;

компиляторы C/C++ - GNU Compiler Collection;
Базы данных используются практически во всех приложениях и должны быть в
обязательном порядке представлены в облачной среде. Многое будет зависеть от
потребностей потребителей, однако на первом этапе будут представлены БД MySQL и
PostgreSQL.
19
MySQL является решением для малых и средних приложений. Входит в состав
серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP.
Обычно MySQL используется в качестве сервера, к которому обращаются локальные или
удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера,
позволяющая включать MySQL в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов
таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие
полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне
отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц
EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря
открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются
новые типы таблиц.
PostgreSQL базируется на языке SQL и поддерживает многие из возможностей
стандарта SQL:2003 (ISO/IEC 9075). На данный момент, в PostgreSQL имеются следующие
некоторые ограничения (таблица 3).
Таблица 3. Ограничения PostgreSQL.
Максимальный размер базы данных
Нет ограничений
Максимальный размер таблицы
32 ТБайт
Максимальный размер записи
1,6 ТБайт
Максимальный размер поля
1 ГБайт
Максимум записей в таблице
Ограничено размером таблицы
Максимум полей в таблице
250—1600, в зависимости от типов полей
Максимум индексов в таблице
Нет ограничений
Преимуществами PostgreSQL являются:

поддержка БД практически неограниченного размера;

мощные и надёжные механизмы транзакций и репликации;

расширяемая система встроенных языков программирования: в стандартной
поставке поддерживаются PL/pgSQL, PL/Perl, PL/Python и PL/Tcl; дополнительно
можно использовать PL/Java, PL/PHP, PL/Py, PL/R, PL/Ruby, PL/Scheme и PL/sh, а
также имеется поддержка загрузки C-совместимых модулей;

наследование;

легкая расширяемость.
20
Обе СУБД являются бесплатными продуктами с открытыми исходными кодами и
свободными лицензиями, что позволяет без ограничений использовать их в облачной среде и
предоставлять пользователям.
Для хранения файловых данных будет использован сервис OpenStack Swift. Swift это сервис для хранения большого количества объектов, распределенных между узлами.
Swift имеет встроенные средства для резервирования и управления отказоустойчивостью, а
так же для резервного копирования, архивирование данных. Сервис имеет возможность
масштабирования до нескольких патабайт и миллиардов объектов и обеспечивает гибкую
облачную систему хранения данных для любых веб-приложений.
Основные функции и возможности:

хранение образов узлов;

работа в качестве самостоятельного контейнера данных;

обеспечение отказоустойчивости и резервирования данных;

создание резервных копий и архивирование данных;

масштабирование.
В части хранения образов узлов возможности данного сервиса пересекаются с
OpenStack Glance из модели IaaS, и в данном случае использованы не будут. Возможности
же по хранению файловых данных будут задействованы в полном объеме.
3.4 Решения по обеспечению модели SaaS
SaaS (Software as a Service) - это модель использования приложений в качестве
сервисов. SaaS приложения работают на сервере провайдера, а пользователи получают к ним
доступ через интернет-браузер, терминал или иной интерфейс. Пользователь не покупает
SaaS-приложение, а арендует его - платит за его использование некоторую сумму в
зависимости от интенсивности. Таким образом, достигается экономический эффект, который
считается
одним
из
главных
преимуществ
SaaS.
SaaS
провайдер
заботится
о
работоспособности приложения, осуществляет техническую поддержку пользователей,
самостоятельно устанавливает обновления. Таким образом, пользователь концентрируется
непосредственно на работе, оставляя решение технических вопросов поставщику.
Отчасти
охватывающей
данная
модель
ОИПИ, БГУ
и
также
присутствует
существующей
ГрГУ. Суперкомпьютерные центры
пользователям ресурсоемкие приложения, среди которых:

в
MSC.ADAMS;
21
Грид
сети,
предоставляют

LS-Dyna;

NWCHEM;
Однако существует три принципиальных отличия между предоставлением данных
приложений в Грид и облачных средах.
Первым отличием является оплата услуг. В Грид пользователь работает с
приложением, а оплачивает процессорное время (что соответствует модели IaaS). При этом
некоторые приложения имеют дорогостоящие лицензии, стоимость которых либо не
учитывается при выставлении счетов, либо должна быть учтена в стоимости процессоро-часа
для всех пользователей. Таким образом, либо поставщик понесет убытки, либо все
пользователи будут обязаны платить за приложения, которые не используют. Использование
облачных технологий позволяет более гибко подходить к вопросам ценообразования и
выставлять счета за использование программ, а не процессорного времени.
Вторым существенным отличием является то, что запуск приложения в Грид не
является интерактивным. Пользователь не работает с приложением, а запускает приложение
с необходимыми аргументами и ожидает результат. При этом нет никакой информации о
промежуточных результатах выполнения программы и даже прогресса выполнения, что не
позволяет предсказать результат и время выполнения программ. В облачной среде
пользователь получает полный контроль над ходом выполнения своей программы.
Третьим отличием является гомогенность среды выполнения приложений в Грид сети.
На суперкомпьютерах установлена определенная операционная система семейства Linux,
которая не может удовлетворить запросы всех приложений. Масштабные программные
продукты, такие как MSC.ADAMS, всегда диктуют пользователю конкретную операционную
систему и даже версию, на которой они должны выполняться, поскольку у разработчиков
принципиально нет возможности тестировать программный продукт на всех версиях всех
дистрибутивов. В данном случае программный продукт требует для работы операционную
систему семейства RHEL5 (аналоги – CentOS5 и Scientific Linux 5), которая не установлена
ни на одном из суперкомпьютеров в национальном грид сегменте. Следовательно,
администратору системы необходимо проводить дополнительную работу по обеспечению
совместимости программы с операционной системой суперкомпьютера, что зачастую
приводит к необходимости установки библиотек из компонентов из дистрибутивов других
версий. У данного подхода есть два недостатка:

увеличивается
стоимость
создания
инфраструктуры;
22
и
поддержки
суперкомпьютерной

стабильность
операционной
системы,
полученной
путем
комбинации
компонентов различных версий и дистрибутивов, существенно снижается, также
непредсказуемым является влияние на другие программные продукты.
В облачной среде эти недостатки принципиально отсутствуют, поскольку благодаря
технологиям виртуализации каждое приложение выполняется в изолированной среде и под
управлением операционной системы, для которой предназначено.
Таким образом, в процессе выполнения задания все программное обеспечение,
установленное на суперкомпьютерах, будет преобразовано в образы для виртуальных
машин, содержащие приложение и операционную систему, и будет предоставляться
согласно модели SaaS.
23
4 МЕРОПРИЯТИЯ ПО ПОДГОТОВКЕ К ВВОДУ ТЕХНОЛОГИЙ В ДЕЙСТВИЕ
Для подготовки технологий объединения ресурсов суперкомпьютерных центров на
базе ОИПИ, Белгосуниверситета и Гродненского госуниверситета с использованием
технологий облачных вычислений к вводу в действие необходимо провести следующие
работы:

разработать и утвердить комплект проектной и эксплуатационной документации;

разработать и настроить программные и аппаратные средства в соответствии с
проектной документацией;

произвести испытание технологий.
24
ЗАКЛЮЧЕНИЕ
При разработке пояснительной записки эскизного проекта выполнены работы по
определению
и
обоснованию
требований
к
технологиям
объединения
ресурсов
суперкомпьютерных центров на базе ОИПИ, Белгосуниверситета и Гродненского
госуниверситета, позволяющих получить общее представление о направлениях дальнейшей
деятельности по внедрению в них технологий облачных вычислений.
На стадии разработки эскизного проекта разработаны и обоснованы:

решения по обеспечению виртуализации;

решения по обеспечению модели IaaS;

решения по обеспечению модели PaaS;

решения по обеспечению модели SaaS.
Представленный документ может в полном объёме использоваться для дальнейшего
проектирования и создания технологий объединения ресурсов суперкомпьютерных центров
на базе ОИПИ, Белгосуниверситета и Гродненского госуниверситета, отвечающих
требованиям
и
задачам
выполнения
исследований
и
разработок
по
развитию
государственной системы научно-технической информации Республики Беларусь на 20112013 годы и на перспективу до 2015 года по Национальной академии наук Беларуси.
25
Документ
Категория
Компьютерные сети
Просмотров
71
Размер файла
214 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа