Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диссертация ( Е Мьинт Наинг ).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.3 Mб
Скачать

Анализ Облачных платформ для эффективного построения облачной вычислительной среды

В настоящее время многие ведущие корпорации участвуют в развитии облачных вычислений и были предложены многие платформы облачных вычислений. Создалась благоприятная ситуация для изучения и приложения облачных вычислений. Для начинающих пользователей все еще очень трудно сделать разумный выбор среди большого количества предложений. Какие различия существуют для различных платформ облачных вычислений и какие характеристики и преимущества есть у каждой? Чтобы ответить на эти вопросы ниже подробно проанализированы и обсуждены проблемы, характеристики, архитектура и приложения нескольких популярных платформ облачных вычислений. Из сравнения этих платформ пользователи могут лучше понять различные облачные подходы и более разумно выбрать то, что они хотят. В данной главе приводятся результаты тестирования Eucalyptus и Opennebula на гетерогенной платформе ПМПУ СПбГУ и анализируются их особенности и достоинства для университетских проектов дата-центров.

От точки зрения развертывания платформа облачных вычислений включает три вида, которыми являются частные облака, публичные облака и гибридные облака. Публичное облако это Облачная инфраструктура, которая доступна для широкой общественности или сотрудников корпорации и принадлежит той организации, которая предоставляет облачные сервисы. В публичных облаках вычислительные ресурсы динамически обеспечиваются через Интернет с помощью веб-приложения или веб-служб. Частное облако связано с реализацией облачных вычислений на корпоративных сетях. Частные облака созданы для исключительного использования одной группой пользователей, обеспечивая полный контроль над данными, безопасностью и качеством обслуживания. Частные облака могут быть построены и управляться собственной ИТ-службой компании или поставщиком Облачных сервисов. Гибридное облако объединяет множество публичных и частных моделей облака. Гибридные облака сложно определить исчерпывающим образом из-за сложности переноса приложений в публичное облако из частного[1],[31].

Считается, что облачные вычисления вызовут новую революцию в ИТ-сервисах. Предвидя огромные бизнес-потенциал такого подхода, многие страны, правительства и корпорации приняли решение поддерживать и вкладывать средства в развитие методов облачных вычислений. EC2 от Amazon, Azure от Microsoft, AppEngine от Google, Синее облако от IBM и так далее это все широко используемые платформы облачных вычислений, и это - важный знак, что облачные вычисления станут ареной конкурентной больбы. Однако, при всем обилии облачных платформ, у каждой есть собственные особенности и преимущества, и сделать разумный выбор между ними представляет большую проблему. Для помощи в решении этой проблемы в настоящем сообщении проводится анализ и сравнение нескольких популярных облачных платформ, который и представлен в этом сообщении [1],[31],[32].

Облачная платформа ( eucalyptus)

Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems) как проект был начат в Калифорнийском университете в Санта-Барбаре, и главным образом развивался для создания платформы частного облака с открытым исходным кодом. Потом он был подхвачен системным интегратором Eucalyptus. Eucalyptus - это реализация облака с открытым исходным кодом Amazon EC2 и совместимая с его пользовательскими интерфейсами. Он также осуществляет виртуализацию на базе Linux и Xen, как это делается EC2.

Eucalyptus - эластичная вычислительная структура, которая может использоваться, чтобы соединить программы пользователей с полезными системами, это - инфраструктура с открытым исходным кодом, использующая реализацию для кластеров или рабочих станций эластичных, служебных, "облачных" вычислений и популярного вычислительного стандарта, Sоснованного на протоколе уровня обслуживания. В настоящий момент Eucalyptus является совместимым с EC2 от Amazon, и может поддерживать другие виды клиентов с минимальной модификацией и расширением. Рисунок.2.1. демонстрирует структуру топологии ресурсов Eucalyptus [1],[31],[64],[65].

Cluster B

SOAP-Based tools

Cluster A

Cloud Controller

Walrus

Cluster Controller

Storage Controller

Node Controller

Node Controller

Node Controller

Cluster Controller

Storage Controller

Node Controller

Node Controller

Node Controller

REST-based tools

Рисунок.2.2. Структура топологии ресурсов Eucalyptus

В рисунке 1 Контроллер узла (Node Controller, NC) управляет запуском, работой и остановкой виртуальных машин на подведомственном узле. Узел – это машина с работающим гипервизором (например, Xen), который осуществляет работу виртуальных машин (instances в терминологии Eucalyptus).

Контроллер кластера (Cluster Controller, CC) управляет подведомственными контроллерами узлов (NC): собирает информацию о загруженности узлов и принимает решения, на каких узлах будет выполнен запуск виртуальных машин.

Контроллер хранилища (Storage Controller) – место для хранения образов (image) виртуальных машин. В качестве хранилища выступает Walrus – сервис, подобный Amazon S3.

Контроллер облака (Cloud Controller, CLC) представляет собой точку входа. Со стороны конечного пользователя (или вышестоящего приложения) поступают запросы на запуск виртуальных машин. Со стороны контроллеров кластеров поступают данные о загруженности узлов облака [38],[43],[56],[63].

Результаты тестирования частного Облака на гетерогенной платформе ПМПУ СпбГУ показаны, что в нашем частном облаке запускали виртуальные машины. Потом пользователям предоставляют доступ к виртуальным машинам, на которых они могут установить и выполнить произвольное программное обеспечение, включая системы баз данных.

$ ~/.euca/eucarc

euca-describe-availability-zones verbose

AVAILABILITYZONE myanmar 192.168.45.41

AVAILABILITYZONE |- vm types free / max cpu ram disk

AVAILABILITYZONE |- m1.small 0000 / 0004 1 128 2

AVAILABILITYZONE |- c1.medium 0000 / 0004 1 256 5

AVAILABILITYZONE |- m1.large 0000 / 0002 2 512 10

AVAILABILITYZONE |- m1.xlarge 0000 / 0002 2 1024 20

AVAILABILITYZONE |- c1.xlarge 0000 / 0001 4 2048 20

$ euca-describe-instances

RESERVATION r-358E067B admin default

INSTANCE i-4DAD080A emi-DE1B1059 192.168.1.102 172.19.1.3 running mykey 0 m1.small 2010-04-10T00:51:19.394Z myanmar eki-F44C10D9 eri-08c21145

RESERVATION r-4C7C0843 admin default

INSTANCE i-47B5091E emi-DEB414FD 192.168.1.103 172.19.1.4 running mykey 0 m1.large 2010-04-10T00:53:58.901Z myanmar eki-238E1A05 eri-040E198A

RESERVATION r-544C09EB admin default

INSTANCE i-3F060729 emi-DFAD1076 192.168.1.101 172.19.1.2 running mykey 0 c1.medium 2010-04-10T00:39:24.834Z myanmar eki-F5EE10ED eri-0A&A1163

В нашем Облаке помещает в хранилище образы тех виртуальных машин, которые будут запускаться в облаке (например, Debian, CentOS, Ubuntu). Запрос на запуск виртуальных машин определяет, какие машины из списка возможных и в каком количестве будут подняты в облаке. Получив запрос, контроллер кластера решает, куда перенаправить этот запрос. У пользователя есть возможность указать, в каком кластере, или зоне (availability zone в терминологии Amazon) должны быть запущены машины. Соответствующий контроллер кластера получает запрос и принимает решение, на каких узлах будет выполнено задание. Запрос уходит либо первому из узлов с имеющимися свободными ресурсами до его полного заполнения либо поочередно каждому из них. Получив задание, контроллер узла загружает соответствующий образ из хранилища (или своего локального кэша, если этот образ уже загружался) и запускает машины средствами гипервизора. Пользователям предоставляют доступ к виртуальным машинам, на которых они могут установить и выполнить произвольное программное обеспечение, включая системы баз данных.

Для конечного пользователя Eucalyptus предоставляет Web-интерфейс, в котором можно зарегистрироваться в системе и затем получить необходимые данные для работы с облаком. Web-интерфейс доступен по адресу https://your.cloud.server:8443/. Загрузив эту страницу, Eucalyptus предложит авторизоваться, зарегистрироваться, либо восстановить пароль.

Рисунок.2.3 Web-интерфейс для конечного пользователя Облака

Авторизовавшись, попадаешь на страницу Credentials. Тут доступно:

  • Пользовательская информация аккаунта.

  • Возможность редактировать эту информацию.

  • Возможность поменять пароль.

  • Скачать Credentials ZIP-file.

Возможность посмотреть Query ID и Secret Key, не скачивая Credentials ZIP-file.

Так же доступна страница Images, где можно посмотреть список всех образов, которые пользователь может запустить.

Необходим для работы с облаком. Содержит 5 файлов:

  • eucarc. Содержит описание всех переменных окружения, необходимых для работы с euca2ools.

  • cloud-cert.pem. «Облачный» сертификат.

  • euca2-username-*-cert.pem.-Пользовательский PEM-закодированный сертификат.

  • euca2-username-*-pk.pem.-Пользовательский PEM-закодированный приватный ключ.

  • jssecacerts.

Для работы с euca2ools необходимо выполнить команду:

source /path/to/eucarc.

Для того чтобы использовать инстансы, запущенные из вашего образа, который вы создали (или скачали) – необходимо связать его с «облачным» сертификатом, затем загрузить его и зарегистрировать на облаке.

Действие

Команда

Параметры

Привязка образа

$euca-bundle-image

-i image.img

Загрузка образа

$euca-upload-bundle

-b image-bucket

-m image.img.manifest.xml

Регистрация образа

$euca-register

image-bucket/image.img.manifest.xml

Скачать загруженный образ

$ euca-delete-bundle

-b image-bucket

Удалить загруженный образ

$euca-delete-bundle

-b image-bucket

Отвязать образ

$ euca-unbundle

-m image.img.manifest.xml

Список запущенных инстансов

$euca-describe-instances

Запустить инстанс

$ euca-run-instances

-k testkey

--kernel kernel_id

--ramdisk ramdisk_id

image_id

Выключение инстанса

$ euca-terminate-instance

instance_id

Перезагрузка инстанса

$ euca-reboot-instances

instance_id

Создать группу безопасности

$ euca-add-group

-d "mygroup description"

mygroup

Добавление сетевых правил в группы безопасности

$ euca-authorize

-P tcp

-p 22

-s 0.0.0.0/0

mygroup

Отмена сетевых правил для группы безопасности

euca-revoke

-P tcp

-p 22

-s 0.0.0.0/0

Mygroup

Запрос на выделение IP адреса

$ euca-allocate-address

Привязать IP к инстансу

$ euca-associate-address

-i instance_id

a.b.c.d

Отвязать IP от инстанса

$ euca-disassociate-address

a.b.c.d

Освободить выделенный IP

$ euca-release-address

a.b.c.d

Удалить группу безопасности

$euca-delete-group

mygroup

Подключиться к инстансу

$ssh

-i keypair

root@PUBLIC_IP

Таблица- 2.1 Команды управления облаками Euca2ools

Управлять облаком можно с использованием Web-консоли ElasticFox. ElasticFox представляет собой plug-in, который встраивается в браузер FireFox на стороне пользователя и позволяет:

• Управлять загрузочными образами виртуальных машин

• Запускать и останавливать виртуальные машины

• Управлять виртуальными машинами

• Управлять динамическим распределением IP адресов

• Управлять доступом для групп

• Управлять ключами авторизации

• Управлять виртуальными блочными устройствами хранения данных

Рисунок.2.4. Web-консоли ElasticFox

Для настройки понадобятся значения следующих переменных: $EC2_URL, $EC2_ACCESS_KEY, $EC2_SECRET_KEY, $EC2_USER_ID, которые можно взять из файла eucarc.

• Через раздел "Regions" необходимо указать имя и адрес контролера облака. В конфигурационном файле этот адрес указан в переменной $EC2_URL.

• Через раздел "Credentials" необходимо указать параметры полномочий пользователя, которые хранятся в переменных $EC2_ACCESS_KEY и $EC2_SECRET_KEY.

• Через раздел "Accounts IDs" необходимо указать уникальный ID пользователя, который хранятся в переменной $EC2_USER_ID

• Через раздел Tools необходимо указать путь к директории, в которой установлен SSH клиент – Putty или любой другой SSH клиент.

После установки параметров, ElasticFox соединиться с контролером облака и отобразит текущее состояние [78].

Рисунок.2.5 файл eucarc