Нир: "легковесная платформа управления виртуализацией"



страница1/5
Дата05.09.2014
Размер1.13 Mb.
ТипОтчет
  1   2   3   4   5


Министерство образования и науки Российской Федерации
Федеральное Государственное бюджетное образовательное учреждение высшего профессионального образования “Саратовский государственный университет имени Н.Г.Чернышевского” (СГУ)

УДК 004.4




УТВЕРЖДАЮ

Ректор Федерального государственного бюджетного образовательного учреждения высшего профессионального образования “Саратовский государственный

университет имени Н.Г.Чернышевского”

_____________________ Л.Ю.Коссович

«_____» _________________2011г.


МП

ОТЧЕТ


О НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ
по Государственному контракту от 7 сентября 2011 года № 07.Р20.11.0029
“Подготовка и переподготовка профильных специалистов на базе центров образования и разработок в сфере информационных технологий в Южном и Северо-Кавказском федеральных округах”
Тема НИР: “ЛЕГКОВЕСНАЯ ПЛАТФОРМА УПРАВЛЕНИЯ ВИРТУАЛИЗАЦИЕЙ”

Научный руководитель В.М.Соловьев


Саратов 2011

Список исполнителей


Научный руководитель НИР,

начальник ПРЦ НИТ СГУ, к.т.н., доцент


_________________


подпись, дата

В.М.Соловьев (реферат, введение, заключение)


Исполнители темы







Студент 5 курса физического факультета СГУ


_________________


подпись, дата

Харин И.А. (Приложение А, Б, В, Г, Д, Е, Основная часть)

Студент 5 курса физического факультета СГУ


______________


подпись, дата

Соколков Р.В. (Приложение Б, В, Г, Е, Основная часть)


Студент 3 курса механико-математического факультета СГУ


_________________


подпись, дата

Гуреев И.В. (Приложение Б, В, Г, Д, Основная часть)



Реферат

Отчет 99 с., 9 рис., 8 источников, 5 прил.


ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ, АВТОМАТИЗАЦИЯ, ВИРТУАЛИЗАЦИЯ, ГИПЕРВИЗОР, РАПРЕДЕЛЕННОЕ ХРАНЕНИЕ ДАННЫХ, БЛОЧНОЕ УСТРОЙСТВО
Объектом исследования являются системы управления виртуальными машинами, позволяющие автоматизировать типовые операции создания вычислительных систем, а также отказоустойчивые системы хранения данных.
Цель работы - разработка на базе технологий с открытым исходным кодом (open source) легковесной платформы управления виртуальной средой.

Разрабатываемая легковесная платформа должна отвечать следующим требованиям:



  • поддерживать распространенные гипервизоры с открытым исходным кодом;

  • работать с распределенным отказоустойчивым хранилищем данных для виртуальных машин;

  • обеспечивать гибкую настройку сетевого стека с 802.1q VLANs;

  • работать в условиях ограниченности вычислительных ресурсов (минимальная конфигурация - два сервера).

В процессе работы проводились экспериментальные исследования в области распределенного хранения данных и программного обеспечения систем управления виртуальными машинами.

В результате проведенных исследований разработана система управления виртуальной средой, удовлетворяющая заявленным требованиям.

Основные достигнутые результаты: легкая переносимость благодаря использованию API и языку программирования высокого уровня; максимальная гибкость, обеспеченная использованием открытых стандартов.

Результаты работы могут использоваться в образовании при проведении занятий с применением виртуальных сред и в научных исследованиях при создании исследовательских программно аппаратных комплексов.



Определения

В настоящем отчете используются следующие определения:



Метаданные


Структурированные данные, представляющие собой характеристики описываемых сущностей для целей их идентификации, поиска, оценки, управления ими

Распределенное хранилище данных


Физически распределенная совокупность локальных хранилищ данных, объединенных согласованными принципами организации, комплектования и эксплуатации, а также каналами связи, и доступная для совместного использования.

Режим primary-primary


Режим работы блочного устройства drbd, при котором оба узла являются первичными.

Режим Split-brain


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

Сетевой стек


Набор различных интерфейсов ядра linux, относящихся к сетевому взаимодействию.

Ядро операционной системы

Центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память, внешнее аппаратное обеспечение, внешнее устройство ввода и вывода информации. Также обычно ядро предоставляет сервисы файловой системы и сетевых протоколов.



Обозначения и сокращения

В настоящем отчете использованы следующие обозначения и сокращения:



API

(аббр. . от англ Application programming interface) Интерфейс программирования приложений

DRBD

(аббр. от англ. Distributed Replicated Block Device) Распределённое копируемое блочное устройство [1]

I/O

(аббр. от англ. Input/Output) Ввод / вывод данных

IEEE 802.1Q

Открытый стандарт, который описывает процедуру тегирования трафика для передачи информации о принадлежности к VLAN

LVM

(аббр. от англ Logical Volume Manager) Менеджер логических томов

Libvirt

(сокр. от Virtualization, Library) Свободная, кроссплатформенная библиотека управления виртуализацией [2].

Linux

ядро с открытым исходным кодом для Unix-подобных систем

VLAN

(аббр. от англ. Virtual Local Area Network) Виртуальная локальная компьютерная сеть

Sheepdog

Отказоустойчивая распределенная система хранения данных [3]

RAID

(аббр. от англ. redundant array of independent disks) Массив из независимых жестких дисков управляемых контроллером.

RAID-1.

RAID, зеркалирующий данные, обеспечивая повышение надежности

RADOS

(аббр. . от англ Reliable Autonomic Distributed Object Store) Отказоустойчивое автономное распределенное хранилище данных

RBD - (аббр. . от англ Rados Block Device)


Блочное устройство Rados [4]

ВМ

Виртуальная машина

Содержание

Реферат

3

Определения

5

Обозначения и сокращения

6

Содержание

7

Нормативные ссылки

8

Введение

9

1 Постановка задачи

10

1.1 Цель разработки

10

1.2 Обзор существующих аналогов

10

2 Выбор программного обеспечения и технологий для использования в работе над проектом

12


2.1 Архитектура системы хранения данных

12

2.2 Разработка архитектуры.

15

3. Реализация задачи проекта

17

3.1 Легковесная платформа управления виртуализацией

17


3.2Структура разработанного ПО

18

3.3 Примеры использования. Типовые задачи виртуализации

20


Заключение

24

Список используемых источников

25

Приложение А

26

Приложение Б

33

Приложение В

46

Приложение Г

50

Приложение Д

77

Нормативные ссылки
В настоящем отчете использованы ссылки на следующие стандарты.


ГОСТ 15.101–98

Система разработки и постановки продукции на производство. Порядок выполнения научно-исследовательских работ

ГОСТ 19.001-77.

ЕСПД. Общие положения.


ГОСТ 19.401-78

ЕСПД. Текст программы. Требования к содержанию и оформлению


ГОСТ 7.1-2003


Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание. Общие требования и правила составления


ГОСТ 7.32-2001

Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления


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

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


1 Постановка задачи

    1. Цель разработки

Объектом исследования являются системы управления виртуальными машинами, позволяющие автоматизировать типовые операции, а также отказоустойчивые системы хранения данных.

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

Цель работы - разработка на базе технологий с открытым исходным кодом (open source) легковесной платформы управления виртуальной средой.

Разрабатываемая легковесная платформа должна отвечать следующим требованиям:



  • поддерживать распространенные гипервизоры с открытым исходным кодом;

  • работать с распределенным отказоустойчивым хранилищем данных для виртуальных машин;

  • обеспечивать гибкую настройку сетевого стека с 802.1q VLANs;

работать в условиях ограниченности вычислительных ресурсов (минимальная конфигурация - два сервера).
1.2 Обзор существующих аналогов

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

Одна из самых известных платформ, Eucalyptus [5], на данный момент прекратила свое развитие. Последние обновления кода Eucalyptus были в марте 2011 года. Платформа поддерживает базовый функционал Amazon EC2, позволяя производить весьма ограниченный набор операций с виртуальными машинами. Следующая платформа OpenNebula [6] – проект, разрабатываемый в основном европейским сообществом. Платформа написана на языке С++ (основная часть кода) и Ruby и представляется достаточно успешным, так как имеет хороший набор функциональных возможностей. Однако, в разработке «ядра» платформы участвует менее 10 человек, что снижает его «уровень проработки» и он имеет большие сроки обновления. Проект развивается уже на протяжении трех лет. Проект OpenStack [7], код которого был открыт в середине 2010г., представляется одной из наиболее быстро развивающихся платформ на данный момент. Тем не менее, и он не лишен недостатков, таких как отсутствие гибкости в сетевых настройках, ограниченность параметров виртуальных машин, отсутствие интеграции с открытыми распределенными хранилищами данных (встроенное решение имеет проблемы с производительностью).

Все перечисленные проекты имеют развитую архитектуру и для внедрения предъявляют высокие требования к вычислительным ресурсам, что затрудняет их использование в условиях ограниченности возможностей аппаратного обеспечения.



2 Выбор программного обеспечения и технологий для использования в работе над проектом

Реализация проекта предполагает как исследование программного обеспечения систем управления, так и поиск подходящих технологий хранения данных. Были рассмотрены две технологии распределённого хранения и одна с репликацией данных.

Каждое решение подвергалось тестированию на стабильность и производительность, использовалось программное обеспечение bonnie++. Испытательный стенд состоял из двух серверов. Применялась следующая методика: измерялась производительность подсистемы ввода/вывода хост-серверов с файловой системой поверх предоставляемого блочного устройства; производительность подсистемы ввода-вывода виртуальных машин, одновременно запущенных в количестве пяти штук, блочные устройства виртуальных машин созданы с помощью тестируемого решения. Критерием оценки являлся параметр “скорость блочной записи”, когда удовлетворительными значениями считались: не менее 80 Мбайт/сек для подсистемы ввода/вывода хост-сервера и не менее 5 Мбайт/сек для подсистемы ввода-вывода одновременно запущенных виртуальных машин.
2.1 Архитектура системы хранения данных

Ceph/RDB – представляет собой распределённое сетевое хранилище с распределёнными метаданными. Она использует отказоустойчивое автономное распределенное хранилище данных RADOS (Reliable Autonomic Distributed Object Store) как хранилище объектов и блочное устройство RDB (Rados Block Device), которое реализует поддержку RADOS хранилища для ядра Linux. Клиентская сторона хранилища представлена RDB и библиотеками, которые позволяет работать непосредственно с RADOS. Таким образом, все файловые операции ввода-вывода (input/output, I/O) осуществляются напрямую с хранилищем, что положительно сказывается на быстродействии. Клиентская сторона так же взаимодействует с серверами метаданных для управления и корректировки I/O операций над хранилищем. Схематичную структуру можно представить рисунком 2.1.1. Решение имеет развитую архитектуру с многократным резервированием, однако представляется сложным для реализации. Тестирование показало, что в настоящий момент продукт является скорее экспериментальным и не готов к широкому применению.

Рисунок 2.1.1 - Архитектура Ceph/RDB


Sheepdog – представляет собой симметричную архитектуру, где отсутствует единая точка отказа. Архитектура этого проекта, однако, имеет и не решенные вопросы. Так лишние уровни абстракции снижают эффективность. Файловые операции I/O с клиентской стороны осуществляются посредством локального сервиса на каждом узле, который корректирует операции и реализует избыточность данных. Используется управление кластером хранилища, которое автоматически определяет неисправные узлы или новые добавленные узлы, автоматизирую операции над ними. Архитектура платформы Sheepdog представлена на рисунке 2.1.2. Тестирование платформы, проводимое в ходе исследования, показало нестабильность работы (возникновение различного рода ошибок).

Рисунок 2.1.2 - Архитектура Sheepdog


DRBD – является сетевым распределённым реплицируемым блочным устройством. Оно представляет собой сетевой аналог массива независимых жестких дисков (Redundant Array of Independent Disks, RAID1) зеркалирующих данные, обеспечивая повышенную надежность хранения данных. Простая архитектура определяет работоспособность и производительность (рисунок 2.1.3). Имеется ряд недостатков: в режиме primary-primary при потере сетевого соединения инициируется режим Split-brain, что теоретически может привести к потере данных. Несмотря на недостатки это решение наиболее стабильное и обеспечивает довольно высокую производительность.

Таким образом, наиболее приемлемыми характеристиками стабильности и производительности обладает решение хранения данных на базе DRBD.



Рисунок 2.1.3. - Архитектура DRBD


2.2 Разработка архитектуры

Решение, используемое в проекте, должно предоставлять интерфейс прикладного программирования (Application Programming Interface, API), который позволит гибко управлять всеми необходимыми ресурсами кластера виртуализации. Это требование должно быть выполнено в виде программной библиотеки, которую можно использовать на клиентской стороне. Данный API должен быть предоставлен серверным программным обеспечением, которое будет выполняться на каждом узле и выполнять непосредственные операции локально. Кроме того должен существовать клиент, реализующий как высокоуровневые операции над виртуальной машине (ВМ), так и более низкоуровневые операции управления ВМ и хранилищем данных. Необходимо разработать протокол взаимодействия клиент-серверного программного обеспечения (ПО). В целом разрабатываемая платформа должна уметь создавать виртуальные машины из заранее подготовленных образов и шаблонов конфигурации.

Архитектуру, удовлетворяющую выдвинутым требованиям, можно представить рисунком 2.2.1.

Рисунок 2.2.1 - Архитектура разработанной системы


Таким образом, архитектурное решение может быть представлено в виде аппаратно-программного комплекса, в котором можно выделить основные элементы: хранилище данных, серверное ПО (сервисы агентов), программная библиотека и клиентская часть.

3 Реализация задачи проекта

3.1 Легковесная платформа управления виртуализацией

Легковесная платформа управления виртуализацией (virt-platform), представляет собой библиотеку (рисунок 3.1.1), которая реализует API для взаимодействия с агентами всей виртуальной инфраструктуры



Рисунок 3.1.1 - Легковесная платформа управления виртуализацией


Агент устанавливается на каждый физический узел системы и реализует операции над локальными виртуальными машинами. Учитывая, что стабильно работающего распределенного хранилища виртуальных машин на данный момент нет, было принято решение использовать менеджер логических томов (Logical Volume Manager, LVM) поверх DRBD, что обеспечивает простое отказоустойчивое решение. С точки зрения администратора платформа представляет собой единый интерфейс управления кластером виртуализации, позволяющий выполнять основные операции над виртуальными машинами при помощи разработанной клиентской программы (vpc).

Для непосредственного управления блочными устройствами ВМ используется LVM. Для задач низкоуровнего управления виртуальными машинами используется библиотека libvirt [8], которая поддерживает все популярные гипервизоры с открытым исходным кодом. Автоматизированные операции над ВМ выполняет агент, установленный на каждом узле кластера виртуализации. Агент управляется посредством стандартизированного API.

Таким образом, virt-platform включается в себя: серверное программное обеспечение(VirtPlatform Agent), библиотеку, реализующую API данной платформы (VirtPlatform API), и клиентское обеспечение для управление платформой (VirtPlatform Client). Всё программное обеспечение написано на высокоуровневом языке Python, с использованием сетевого фреймворка Twisted и других модулей.

  1   2   3   4   5

Похожие:

Нир: \"легковесная платформа управления виртуализацией\" iconГосзадание по нир, полученное из минздравсоцразвития россии платформа «акушерство и гинекология»
Наименование государственной работы: Актуальные вопросы патологии беременности и родов
Нир: \"легковесная платформа управления виртуализацией\" iconВзрывозащищённая высокоскоростная ptz-платформа gl ex201
Платформа сочетает в себе интегрированный дизайн, компактную структуру, простоту установки и обслуживания. Платформа обладает максимальной...
Нир: \"легковесная платформа управления виртуализацией\" iconМишель Уэльбек Платформа
Дублинской премии. Роман «Платформа» (Ptateforme, 2001) получил приз Парижского кинофестиваля 2002 г. «Кинороман» (Cine Roman), присуждаемый...
Нир: \"легковесная платформа управления виртуализацией\" iconМишель Уэльбек Платформа
Дублинской премии. Роман «Платформа» (Ptateforme, 2001) получил приз Парижского кинофестиваля 2002 г. «Кинороман» (Cine Roman), присуждаемый...
Нир: \"легковесная платформа управления виртуализацией\" iconЦифровые показатели плана нир бгу на 2010 г
Нир проекты на всего в том числе докторов кандидатов получение Поступление в: Защита диссертаций
Нир: \"легковесная платформа управления виртуализацией\" iconПроект платформа «Форума за экологическую безопасность и устойчивое развитие Баренцевоморского Экорегиона»
Настоящая платформа является основой для сотрудничества и совместных действий членов Форума
Нир: \"легковесная платформа управления виртуализацией\" iconАннотированный отчет о научно-исследовательской работе за 2005 год Тема нир: Исследование магнитных наноструктур для спинтроники Номер государственной регистрации нир

Нир: \"легковесная платформа управления виртуализацией\" iconАннотированный отчет о научно-исследовательской работе за 2004 год Тема нир: Синтез и стереохимия семичленных гетероциклов с атомами O,S,N,P. Номер государственной регистрации нир

Нир: \"легковесная платформа управления виртуализацией\" iconАннотированный отчет о научно-исследовательской работе за 2004 год Тема нир: Анализ физического состояния вещества в атмосферах звезд разных типов. Номер государственной регистрации нир

Нир: \"легковесная платформа управления виртуализацией\" iconАннотированный отчет о научно-исследовательской работе за 2004 год Тема нир: Разработка структурных теорий алгебраических структур алгоритмической природы Номер государственной регистрации нир
Тема нир: Разработка структурных теорий алгебраических структур алгоритмической природы
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org