Аноприенко А.Я. (канд. техн. наук, проф.)
Миргород В.С. (ассист.)
(Донецкий национальный технический университет)
ТЕХНОЛОГИИ
ВИРТУАЛИЗАЦИИ: ЭВОЛЮЦИЯ И
ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ
Рассмотрены технологии виртуализации, их эволюция, различные варианты использования, связь с облачными вычислениями. Проанализирована техническая возможность реализации и современные проблемы виртуализации. Рассмотрено и проанализировано внедрение виртуализации в ВУЗах США на примере Государственного университета Северной Каролины. Описаны преимущества использования виртуализации в ДонНТУ и предложена модель цифровой библиотеки будущего, которая может быть внедрена в образовательный процесс ДонНТУ.
виртуализация, облачные вычисления, гипервизор, паравиртуализация, бинарная трансляция, виртуальная компьютерная лаборатория, Citrix Xen, VMware, Amazon EC2, Google App Engine
Введение
Виртуализация является одной из наиболее важных компьютерных технологий, которая имеет долгую историю и большие перспективы развития. С ее помощью становится возможной серверная консолидация и реализация концепции рабочего стола в качестве сервиса (Desktop as a Service). Виртуализация может быть использована для создания виртуальной компьютерной архитектуры для облачных или параллельных вычислений в компьютерной лаборатории. Она дает значительную экономию затрат на оборудование и энергопотребление.
Эволюция виртуализации
Долгое
время
термин «виртуализация» ассоциировался с
мейнфреймами, большими универсальными ЭВМ, получившими широкое
распространение в начале 70-ых годов предыдущего столетия [1].
В этот
же период появилась поддержка интерактивного пользовательского
интерфейса. Мейнфрейм одновременно взаимодействовал с несколькими
пользователями посредством терминалов благодаря разделению
компьютерных ресурсов между операторами
Виртуализация с тех пор видоизменилась и продолжила свое существование в UNIX-совместимых операционных системах и в ОС Windows. Для подключения к удаленному UNIX-совместимому серверу могут быть задействованы следующие компоненты: виртуальный терминал, графическая подсистема X Window System, туннелирование, протокол Secure Shell [3]. При этом в качестве терминала использовался «толстый клиент», но все вычислительные операции осуществлялись на сервере, что позволяло снизить затраты на оборудование клиентских компьютеров. Процесс установки и конфигурирования компонентов и приложений операционной системы при этом существенно упрощался, за счет того, что настройка выполнялась единожды на сервере. Данная технология в настоящее время используется системными администраторами для управления удаленными Интернет-серверами, однако ограничивает их в некоторых возможностях, связанных с установкой и конфигурированием ОС. Основным недостатком вышеприведенного способа вирутализации является низкая отказоустойчивость системы в случае возникновение проблем со стабильностью сетевого соединения или выходом из строя серверного оборудования. Решение данной проблемы подразумевает резервирование данных и использование дополнительного сервера для распределения нагрузки или быстрой замены основного сервера в случае его отказа и резервного Интернет-подключения [4].
Виртуализация в наши дни
В наши дни под
виртуализацией понимают несколько иную
концепцию, которая допускает выполнение отдельных экземпляров
операционной системы в среде виртуальной машины. Виртуальная машина
эмулирует работу реального компьютера
Виртуальную машину можно копировать с одного компьютера на другой, передавать по сети, создавать ее резервные копии и восстанавливать их «на лету». Образ виртуальной машины представлен в виде файла, а процесс загрузки операционной системы с помощью виртуальной машины происходит очень быстро [4]. С помощью виртуальной машины можно выделить физически больше памяти, чем на самом деле позволяет оборудование, симулировать работу 64-битного процессора на 32-разрядной архитектуре. Некоторые серверные операционные системы работают в стеке над виртуальной машиной, что облегчает последующий «апргейд» или «даунгрейд» оборудования или перенос сервера на совершенно отличную от начальной компьютерную конфигурацию.
Работа нескольких серверных ОС в виртуальной среде на одном сервере позволяет утилизировать его простаивающие ресурсы, что уменьшает затраты для конечного пользователя. Данная технология часто применяется для реализации виртуальных выделенных серверов. Полный контроль над сервером, в том числе доступ к его BIOS, загрузчику, консоли; администрирование; управление выключением через Интернет осуществляется значительно проще и без необходимости дополнительных вложений по сравнению с технологией KVM Over IP. Существует решение, когда в двух различных точках планеты работают два физических сервера, выполняющих по одному виртуальному серверу, и «на лету» производящих резервное копирование образов виртуальных серверов на сервер, находящийся в другой точке планеты. В случае отказа одного из серверов резервная копия работающего над ним виртуального сервера немедленно будет запущена в виртуальной среде работоспособного сервера [4].
Способы виртуализации и проблемы технологии
Существует два
основных способа виртуализации на компьютерной
архитектуре x86, представленных на рисунке 1. В первом случае гостевая
ОС находится над слоем виртуализации, работающим как приложение
базовой ОС. Во втором случае гостевая ОС находится над слоем
виртуализации, входящего в состав гипервизора – программного
обеспечения, работающего на том же уровне, что и базовая операционная
система
К реализациям
первого способа относятся продукты VMware Server,
VirtualBox, Microsoft Hyper-V, Parallels Workstation, а к реализациям
второго – Vmware ESX Server, Xen, Citrix XenServer, Oracle VM
Server
Существует метод полной виртуализации, который использует бинарную трансляцию команд, и метод паравиртуализации. Основная идея паравиртуализации заключается во взаимодействии гостевой операционной системы с гипервизором для улучшения производительности и работы с памятью. Для этого гостевую операционную систему модифицирует, заменяя некоторые участки кода на гипер-вызовы к гипервизору. Относительно новым методом является встроенная поддержка виртуализации в современном оборудовании. Технологии VT-x и AMD-V от компаний Intel и AMD соответственно стали поддерживаться процессорами, выпускаемыми этими компаниями с 2006 года. Как показано на рисунке 2, данные технологии наделяют монитор виртуальной машины (МВМ) большим приоритетом выполнения, чем у программ уровня Ring 0.
Команды,
поступающие от виртуальных машин, автоматически
перехватываются МВМ и обрабатываются необходимым образом, что
избавляет от необходимости полной бинарной трансляции или
паравиртуализации
Производительность виртуальных машин
В работе [10] была установлена зависимость нагрузки на процессор от числа виртуальных машин (ВМ), работающих одновременно. Чем больше число ВМ, тем больше нагрузка на процессор. При использовании одной виртуальной машины на компьютере, нагрузка минимальна и может составлять до 15%, в этом случае вычислительные мощности компьютера используются не эффективно.
Динамики улучшения характеристик выпускаемых процессоров и оперативной памяти являются линейными, однако прирост вычислительных мощностей процессора больше, чем прирост объемов оперативной памяти за одинаковый период [4]. К тому же, зависимость стоимости составляющей ОЗУ в серверах от объема оперативной памяти напоминает геометрическую прогрессию. Таким образом, стоимость эффективного сервера для виртуализации во многом определяется стоимостью оперативной памяти.
одновременно-запущенных виртуальных машин [11]
В работе
Виртуализация и облачные вычисления
Идея облачных вычислений состоит в переносе вычислительных мощностей, хранилищ данных и программного обеспечения с персональных компьютеров или мобильных устройств на удаленную рассеянную компьютерную инфраструктуру, доступную конечному пользователю через Интернет соединение. Облачные технологии являются совокупностью следующих компонентов: инфраструктура, платформа и программное обеспечение, предоставляемые в качестве сервиса [12]. Платформа в качестве сервиса состоит из следующих компонент: инфраструктура; управление ресурсами и политиками безопасности; управление рабочими процессами; собственно платформа, доступная через Интернет [13].
Технологии
виртуализации и облачных вычислений являются
конкурирующими с точки зрения маркетинга и предполагают выбор одной
из них для создания эффективной инфраструктуры бизнеса [4,
14].
Но, с
технической точки зрения данные технологии являются
взаимопроникающими и дополняют друг друга. Например,
инфраструктура компьютерного облака Amazon EC2 построена с помощью
решений виртуализации разработанных в компании Citrix.
Инфраструктура Amazon EC2 поддерживает выполнение в виртуально-
облачной среде импортированного образа виртуального сервера,
созданного с помощью приложения Citrix XenApp
Слияние технологий облачных вычислений и виртуализации, поддержка виртуализации на уровне оборудования и операционной системы, увеличение пропускных способностей компьютерных сетей, совершенствование средств управления виртуальными машинами приведет к созданию нового уровня абстракции над компьютерным оборудованием, объединяющего многомиллионные компьютерные компоненты в единую виртуальную отказоустойчивую вычислительную систему. На данный момент виртуализация актуальна для организации инфраструктур банковской сферы, платформ хостинг-провайдеров, правительственных, научных и медицинских вычислительных систем, но уже может быть эффективно использована в малом и среднем бизнесе, позволяя добиться максимального возвращения затраченных в оборудование средств. Совмещение виртуализации и облачных вычислений, несомненно, позволит уменьшить затраты на обновление оборудования и программного обеспечения в библиотеках, школах, университетах и других общественных учреждениях.
Виртуальная компьютерная лаборатория
В Государственном университете Северной Каролины с 2004 был запущен проект VCL (Virtual Computer Labaratory – виртуальная компьютерная лаборатория), который является одним из лучших примеров соединения технологий виртуализации и облачных вычислений. Проект является инициативой компании Apache Foundation и спонсируется Государственным университетом Северной Каролины. Структура виртуальной компьютерной лаборатории представлена на рисунке 4.
Проект был удостоен наградой
лучшего ПО с открытым исходным
кодом, являющейся реализацией сервисно-ориентированной архитектуры
и предоставляющим виртуальные компьютерные ресурсы через Интернет,
включая ресурсы необходимые для облачных/grid вычислений, хранения
данных и доступа к программному обеспечению по требованию
посетителя, используя web-интерфейс для составления заявок и
планирования времени доступа
В учебное время виртуальная компьютерная лаборатория предоставляет доступ к виртуальным операционным системам, содержащим заказное программное обеспечение, необходимое для работы студентов в университете или из любой точки мира. В остальное время система может быть использована научными сотрудниками для выполнения исследовательской работы, требующей значительных вычислительных мощностей.
Аппаратно виртуальная компьютерная лаборатория представлена 1000 blade-серверами фирмы IBM, на каждом из которых запущено несколько виртуальных машин. Коэффициент виртуализации сервера при использовании его студентами составляет в среднем 25:1, что значительно больше, чем в других лабораториях (от 5:1 до 8:1).
Фокусируя
внимание на облачных технологиях, благодаря
виртуализации любая компьютерная архитектура может быть создана
средствами VCL, например, такая как Amazon Elastic Cloud, либо среда
Google Map/Reduce, либо grid-подобная архитектура [17].
Таким образом,
виртуальная компьютерная лаборатория избавляет от необходимости
резервировать компьютерное оборудование и ПО на постоянной основе, но
мгновенно предоставляет их по требованию. Это достигается путем
запуска виртуальных машин из заготовленных VMware-совместимых
образов операционных систем, которые содержат необходимое ПО.
Подача заявок автоматизирована и осуществляется с помощью web-
интерфейса. Обработкой заявок и размещением виртуальных серверов
занимается ПО Apache VCL, которое может использовать следующие
гипервизоры: xCAT, VMware Server, VMware ESX, and VMware ESXi
Виртуализация рабочего стола
Виртуализация рабочего стола обеспечивает удаленный доступ к виртуальной операционной системе, выполняемой на удаленном сервере. Данная технология эффективна, когда необходимо предоставить быстрый доступ к рабочему столу из локальной сети или из сети Интернет. Так как, рабочая нагрузка ложится на сервер, требования к клиентскому оборудованию минимальны. Технология позволяет использовать тонкие клиенты для подключения к виртуальному рабочему столу по сети, осуществлять к нему доступ через специализированное ПО либо через Интернет-обозреватель. Данная технология часто используется для виртуализации рабочих столов под управлением ОС Windows. При запросе нового виртуального рабочего стола, он создается из образа, хранимого на сервере, и с помощью технологий доставки пользовательского интерфейса взаимодействует с конечным пользователем. Существует несколько программных продуктов для виртуализации рабочего стола, такие как Xitrix XenDesktop, VMware VIEW и Microsoft System Center Virtual Machine Manager, и др.
Виртуализация рабочего стола обеспечивает удаленный доступ к виртуальной операционной системе, выполняемой на удаленном сервере. Данная технология эффективна, когда необходимо предоставить быстрый доступ к рабочему столу из локальной сети или из сети Интернет. Так как, рабочая нагрузка ложится на сервер, требования к клиентскому оборудованию минимальны. Технология позволяет использовать тонкие клиенты для подключения к виртуальному рабочему столу по сети, осуществлять к нему доступ через специализированное ПО либо через Интернет-обозреватель. Данная технология часто используется для виртуализации рабочих столов под управлением ОС Windows. При запросе нового виртуального рабочего стола, он создается из образа, хранимого на сервере, и с помощью технологий доставки пользовательского интерфейса взаимодействует с конечным пользователем. Существует несколько программных продуктов для виртуализации рабочего стола, такие как Xitrix XenDesktop, VMware VIEW и Microsoft System Center Virtual Machine Manager, и др.
Анализ стоимость удаленных виртуальных вычислительных ресурсов
При использовании виртуализации стоимость выделенного сервера для конечного пользователя сокращается от двух до пяти раз. Это показано в таблице 1. На ценообразование во многом влияет конфигурация сервера, а также срок его эксплуатации пользователем и объем исходящего/входящего трафика.
Вычислительные мощности виртуальной платформы Amazon EC2 могут быть предоставлены пользователю по требованию, без предварительного резервирования, в этом случае цена за час процессорного времени увеличивается. Такая политика предоставления услуг может быть сравнима с политикой предоставления услуг облачной платформы Google App Engine. Сравнение стоимости использования данных платформ приведено в таблице 2.
Стоимость
использования часа аналога восьмиядерного процессора в
Amazon EC2 составляет $0.29
Таблица 1. Сравнение стоимости выделенных и виртуальных серверов
Преимущества использования виртуализации в ДонНТУ
Можно получить значительные преимущества при использовании технологии виртуализации рабочего стола в учебных заведениях, а так же в других государственных, общественных и бизнес организациях. В ДонНТУ является актуальной проблема замены старого оборудования на новое для работы в новейших версиях программного обеспечения. Применение технологии виртуализации может сэкономить значительную долю средств, если использовать старое оборудование в качестве тонких клиентов. Получаемые преимущества можно охарактеризовать следующими особенностями: