Библиотека

  Аноприенко А.Я. (канд. техн. наук, проф.)
        Миргород В.С. (ассист.)

  (Донецкий национальный технический университет)

               

         ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ: ЭВОЛЮЦИЯ И ПЕРСПЕКТИВЫ ИСПОЛЬЗОВАНИЯ


                    Рассмотрены технологии виртуализации, их эволюция, различные варианты использования, связь с облачными вычислениями. Проанализирована техническая возможность реализации и современные проблемы виртуализации. Рассмотрено и проанализировано внедрение виртуализации в ВУЗах США на примере Государственного университета Северной Каролины. Описаны преимущества использования виртуализации в ДонНТУ и предложена модель цифровой библиотеки будущего, которая может быть внедрена в образовательный процесс ДонНТУ.

        виртуализация, облачные вычисления, гипервизор, паравиртуализация, бинарная трансляция, виртуальная компьютерная лаборатория, Citrix Xen, VMware, Amazon EC2, Google App Engine

        

             Введение

        

        Виртуализация является одной из наиболее важных компьютерных технологий, которая имеет долгую историю и большие перспективы развития. С ее помощью становится возможной серверная консолидация и реализация концепции рабочего стола в качестве сервиса (Desktop as a Service). Виртуализация может быть использована для создания виртуальной компьютерной архитектуры для облачных или параллельных вычислений в компьютерной лаборатории. Она дает значительную экономию затрат на оборудование и энергопотребление.

             

                Эволюция виртуализации

       

Долгое время термин «виртуализация» ассоциировался с мейнфреймами, большими универсальными ЭВМ, получившими широкое распространение в начале 70-ых годов предыдущего столетия [1]. В этот же период появилась поддержка интерактивного пользовательского интерфейса. Мейнфрейм одновременно взаимодействовал с несколькими пользователями посредством терминалов благодаря разделению компьютерных ресурсов между операторами [2]. Позже, мейнфреймы стали поддерживать терминальное соединение с «толстыми» клиентами (персональные компьютеры, имеющие ПЗУ).

        Виртуализация с тех пор видоизменилась и продолжила свое существование в UNIX-совместимых операционных системах и в ОС Windows. Для подключения к удаленному UNIX-совместимому серверу могут быть задействованы следующие компоненты: виртуальный терминал, графическая подсистема X Window System, туннелирование, протокол Secure Shell [3]. При этом в качестве терминала использовался «толстый клиент», но все вычислительные операции осуществлялись на сервере, что позволяло снизить затраты на оборудование клиентских компьютеров. Процесс установки и конфигурирования компонентов и приложений операционной системы при этом существенно упрощался, за счет того, что настройка выполнялась единожды на сервере. Данная технология в настоящее время используется системными администраторами для управления удаленными Интернет-серверами, однако ограничивает их в некоторых возможностях, связанных с установкой и конфигурированием ОС. Основным недостатком вышеприведенного способа вирутализации является низкая отказоустойчивость системы в случае возникновение проблем со стабильностью сетевого соединения или выходом из строя серверного оборудования. Решение данной проблемы подразумевает резервирование данных и использование дополнительного сервера для распределения нагрузки или быстрой замены основного сервера в случае его отказа и резервного Интернет-подключения [4].

        

            Виртуализация в наши дни

        

         В наши дни под виртуализацией понимают несколько иную концепцию, которая допускает выполнение отдельных экземпляров операционной системы в среде виртуальной машины. Виртуальная машина эмулирует работу реального компьютера [5]. Разные компьютерные платформы могут эмулироваться виртуальной машиной соответствующей, например, x86, x86_64, Power Architecture, Virtage, UltraSPARC [6]. Например, виртуальная среда позволяет пользователю работать в операционной системе Solaris, Mac OS, Linux на компьютере под управлением ОС Windows и наоборот. На одном компьютере может функционировать несколько виртуальных машин. Использование виртуализации облегчает процесс разработки и тестирования программного обеспечения и сетевого ПО, благодаря возможности эмуляции компьютерной сети объединяющей нескольких виртуальных машин.

        Виртуальную машину можно копировать с одного компьютера на другой, передавать по сети, создавать ее резервные копии и восстанавливать их «на лету». Образ виртуальной машины представлен в виде файла, а процесс загрузки операционной системы с помощью виртуальной машины происходит очень быстро [4]. С помощью виртуальной машины можно выделить физически больше памяти, чем на самом деле позволяет оборудование, симулировать работу 64-битного процессора на 32-разрядной архитектуре. Некоторые серверные операционные системы работают в стеке над виртуальной машиной, что облегчает последующий «апргейд» или «даунгрейд» оборудования или перенос сервера на совершенно отличную от начальной компьютерную конфигурацию.

           Работа нескольких серверных ОС в виртуальной среде на одном сервере позволяет утилизировать его простаивающие ресурсы, что уменьшает затраты для конечного пользователя. Данная технология часто применяется для реализации виртуальных выделенных серверов. Полный контроль над сервером, в том числе доступ к его BIOS, загрузчику, консоли; администрирование; управление выключением через Интернет осуществляется значительно проще и без необходимости дополнительных вложений по сравнению с технологией KVM Over IP. Существует решение, когда в двух различных точках планеты работают два физических сервера, выполняющих по одному виртуальному серверу, и «на лету» производящих резервное копирование образов виртуальных серверов на сервер, находящийся в другой точке планеты. В случае отказа одного из серверов резервная копия работающего над ним виртуального сервера немедленно будет запущена в виртуальной среде работоспособного сервера [4].

        

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

        

        Существует два основных способа виртуализации на компьютерной архитектуре x86, представленных на рисунке 1. В первом случае гостевая ОС находится над слоем виртуализации, работающим как приложение базовой ОС. Во втором случае гостевая ОС находится над слоем виртуализации, входящего в состав гипервизора – программного обеспечения, работающего на том же уровне, что и базовая операционная система [7] [8].

       К реализациям первого способа относятся продукты VMware Server, VirtualBox, Microsoft Hyper-V, Parallels Workstation, а к реализациям второго – Vmware ESX Server, Xen, Citrix XenServer, Oracle VM Server [9]. В некоторых серверах встроенное ПО может содержать гипервизор.

         paint
            Рисунок 1  Способы виртуализации   

       

        Существует метод полной виртуализации, который использует бинарную трансляцию команд, и метод паравиртуализации. Основная идея паравиртуализации заключается во взаимодействии гостевой операционной системы с гипервизором для улучшения производительности и работы с памятью. Для этого гостевую операционную систему модифицирует, заменяя некоторые участки кода на гипер-вызовы к гипервизору. Относительно новым методом является встроенная поддержка виртуализации в современном оборудовании. Технологии VT-x и AMD-V от компаний Intel и AMD соответственно стали поддерживаться процессорами, выпускаемыми этими компаниями с 2006 года. Как показано на рисунке 2, данные технологии наделяют монитор виртуальной машины (МВМ) большим приоритетом выполнения, чем у программ уровня Ring 0.

paint
                                        Рисунок 2  Поддержка виртуализации в современных компьютерных архитектурах [8]

       

        Команды, поступающие от виртуальных машин, автоматически перехватываются МВМ и обрабатываются необходимым образом, что избавляет от необходимости полной бинарной трансляции или паравиртуализации [8]. На данный момент эта технология слабо развита и не дает значительных преимуществ, но у нее есть большие перспективы развития. Помимо этого, у виртуализации есть две существенные проблемы: большие требования к пропускной способности сети, а так же значительные требования к объему оперативной памяти сервера [4].

        

            Производительность виртуальных машин

        

        В работе [10] была установлена зависимость нагрузки на процессор от числа виртуальных машин (ВМ), работающих одновременно. Чем больше число ВМ, тем больше нагрузка на процессор. При использовании одной виртуальной машины на компьютере, нагрузка минимальна и может составлять до 15%, в этом случае вычислительные мощности компьютера используются не эффективно.

        Динамики улучшения характеристик выпускаемых процессоров и оперативной памяти являются линейными, однако прирост вычислительных мощностей процессора больше, чем прирост объемов оперативной памяти за одинаковый период [4]. К тому же, зависимость стоимости составляющей ОЗУ в серверах от объема оперативной памяти напоминает геометрическую прогрессию. Таким образом, стоимость эффективного сервера для виртуализации во многом определяется стоимостью оперативной памяти.

paint

                Рисунок 3  Зависимость характеристик взаимодействия с жестким диском от количества
     одновременно-запущенных виртуальных машин [11]

        

        В работе [11] была проанализирована зависимость параметров системы от количества одновременно работающих виртуальных машин. Из рисунка 3 следует, что увеличение количества операций ввода- вывода происходит «быстрее», чем увеличение задержки. Известно, что стоимость ГБ памяти тем меньше, чем больше объем жесткого диска. В данном случае использование технологии виртуализации целесообразно.

        

            Виртуализация и облачные вычисления

        

          Идея облачных вычислений состоит в переносе вычислительных мощностей, хранилищ данных и программного обеспечения с персональных компьютеров или мобильных устройств на удаленную рассеянную компьютерную инфраструктуру, доступную конечному пользователю через Интернет соединение. Облачные технологии являются совокупностью следующих компонентов: инфраструктура, платформа и программное обеспечение, предоставляемые в качестве сервиса [12]. Платформа в качестве сервиса состоит из следующих компонент: инфраструктура; управление ресурсами и политиками безопасности; управление рабочими процессами; собственно платформа, доступная через Интернет [13].

        Технологии виртуализации и облачных вычислений являются конкурирующими с точки зрения маркетинга и предполагают выбор одной из них для создания эффективной инфраструктуры бизнеса [4, 14]. Но, с технической точки зрения данные технологии являются взаимопроникающими и дополняют друг друга. Например, инфраструктура компьютерного облака Amazon EC2 построена с помощью решений виртуализации разработанных в компании Citrix. Инфраструктура Amazon EC2 поддерживает выполнение в виртуально- облачной среде импортированного образа виртуального сервера, созданного с помощью приложения Citrix XenApp [15]. Конкурент Сitrix, компания VMware разработала первую облачную операционную систему vSphere, которая предназначена для обеспечения выполнения виртуальных машин в облачной среде. Данное решение позволяет сбалансировано распределять нагрузку между узлами облака, повысить эффективность серверной консолидации и обеспечить надежность и отказоустойчивость системы [16].

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

        

            Виртуальная компьютерная лаборатория

        

        В Государственном университете Северной Каролины с 2004 был запущен проект VCL (Virtual Computer Labaratory – виртуальная компьютерная лаборатория), который является одним из лучших примеров соединения технологий виртуализации и облачных вычислений. Проект является инициативой компании Apache Foundation и спонсируется Государственным университетом Северной Каролины. Структура виртуальной компьютерной лаборатории представлена на рисунке 4.

        Проект был удостоен наградой лучшего ПО с открытым исходным кодом, являющейся реализацией сервисно-ориентированной архитектуры и предоставляющим виртуальные компьютерные ресурсы через Интернет, включая ресурсы необходимые для облачных/grid вычислений, хранения данных и доступа к программному обеспечению по требованию посетителя, используя web-интерфейс для составления заявок и планирования времени доступа [7][17].

paint

Рисунок 4  Виртуальная компьютерная лаборатория Государственного
университета Северной Каролины [17]

        

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

        Аппаратно виртуальная компьютерная лаборатория представлена 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 [18]. VMware ESXi – это бесплатный гипервизор от компании VMware, предназначенный для виртуализации, а xCAT – это проект с открытым исходным кодом, который резервирует северное оборудование без виртуализации.

        

        Виртуализация рабочего стола

        

    Виртуализация рабочего стола обеспечивает удаленный доступ к виртуальной операционной системе, выполняемой на удаленном сервере. Данная технология эффективна, когда необходимо предоставить быстрый доступ к рабочему столу из локальной сети или из сети Интернет. Так как, рабочая нагрузка ложится на сервер, требования к клиентскому оборудованию минимальны. Технология позволяет использовать тонкие клиенты для подключения к виртуальному рабочему столу по сети, осуществлять к нему доступ через специализированное ПО либо через Интернет-обозреватель. Данная технология часто используется для виртуализации рабочих столов под управлением ОС 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 [21], но себестоимость его в несколько раз меньше – от $0.04 до $0.08 [4]. Использование виртуализации уменьшает затраты на энергопотребление на 80% [22].

n
Таблица 1. Сравнение стоимости выделенных и виртуальных серверов
 
n
Таблица 2. Сравнение стоимости использования платформ Google App
Engine [20] и Amazon EC2 [21]

        

        Преимущества использования виртуализации в ДонНТУ

        

        Можно получить значительные преимущества при использовании технологии виртуализации рабочего стола в учебных заведениях, а так же в других государственных, общественных и бизнес организациях. В ДонНТУ является актуальной проблема замены старого оборудования на новое для работы в новейших версиях программного обеспечения. Применение технологии виртуализации может сэкономить значительную долю средств, если использовать старое оборудование в качестве тонких клиентов. Получаемые преимущества можно охарактеризовать следующими особенностями:

  1. уменьшение стоимости оборудования за счет использования серверов виртуализации совместно с тонкими клиентами, что проявляется в:
  1. оборудования;уменьшение энергопотребления при использовании тонких клиентов;
  2.  очень низкая стоимость тонких клиентов (около $100);
  3.  возможность использовать устаревшие ПК в качестве тонких клиентов;
  4.  выгодные тарифы на лицензионное ПО при использовании виртуализации;
  5.  значительное уменьшение времени, необходимого на администрирование, установку, обновление, и поддержку программного обеспечения;
  6.  лучшая защита от вирусов, т.к. они не могут проникнуть в образ, из которого создается виртуальная машина;
  7.  доступ к виртуальному рабочему столу из любой точки мира;
  8.  высокая скорость загрузки ОС в виртуальной машине.

Кроме этого, может быть создана виртуальная компьютерная лаборатория на базе вычислительного кластера, состоящего из blade- серверов, которая предоставит следующие преимущества:


  1. быстрое создание сложной компьютерной архитектуры с помощью средств виртуализации для параллельных/облачных вычислений или параллельного моделирования; например, может быть создана виртуальная архитектура, такая, как облако Amazon Elastic Cloud, либо, как среда Google Map/Reduce, либо grid-подобная архитектура;
  2. создание среды виртуализации рабочих столов, с возможностью планирования и предоставления мгновенного доступа к виртуальной машине;
  3.  доступ студентов к виртуальному рабочему столу, содержащему необходимое ПО, из дома, библиотеки или общежития;
  4. доступ к сложно-настраиваемым серверным операционным системам в процессе обучения студентов;
  5.  предоставление виртуальных выделенных серверов подразделениям университета для задач исследования, моделирования и хостинга.
  6.    

        Разработка модели цифровой библиотеки будущего 

    

    Технология виртуализации может быть, также, использована в научной библиотеке ДонНТУ для уменьшения затрат на оборудование. А применение «легких» операционных систем на базе Linux, содержащих минимальный необходимый набор ПО для работы, позволит добиться максимально коэффициента виртуализации, за счет снижения нагрузки на сервер. Учитывая перспективы развития облачных вычислений и концепции ПО как услуги, можно с уверенностью предположить, что модель, представленная на рисунке 5, будет использована в цифровых библиотеках будущего.

      Разработанная модель, указывает на эффективный способ виртуализации, т.к. в ней присутствует виртуальная браузерная операционная система, которая потребляет ограниченное количество вычислительных ресурсов и занимаемого места, что позволяет уменьшить затраты на необходимое серверное оборудование. В качестве браузерной операционной системы может быть использована Google Chrome OS или другие «легкие» сборки ОС Linux.

    n
    Рисунок 5  Модель цифровой библиотеки будущого

            Вместо виртуализации может быть использован метод сетевой загрузки ОС в память клиента [23], что значительно сократит требования к серверу, но увеличит требования к тонким клиентам. Таким образом, применение технологии виртуализации в ДонНТУ в настоящее время представляется эффективным, как с финансовой точки зрения, так и с технической.

            

                Выводы

            

            Рассмотрены технологии виртуализации, их эволюция, различные варианты использования, связь с облачными вычислениями; проанализирована техническая возможность реализации и современные проблемы виртуализации; рассмотрено и проанализировано внедрение виртуализации в ВУЗах США на примере Государственного университета Северной Каролины; описаны преимущества использования виртуализации в ДонНТУ и предложена модель цифровой библиотеки будущего, которая может быть внедрена в образовательный процесс ДонНТУ.

            

                Литература

  1. Kroeker K. L. The Evolution of Virtualization – Сommunications of the ACMMarch 2009 – vol. 52 – no. 3.
  2. Mainframe Computer. Wikipedia.
  3.  Barrett D.J. SSH, The Secure Shell: The Definitive Guide, Second Edition/ D.J. Barrett, R.E. Silverman, R.G. Byrnes// – O'Reilly Media – May 2005 – P. 672.
  4.  Creeger M. CTO Roundtable on Virtualization – Communications of the ACM – November 2008 – vol. 51 – no. 11.
  5.  Виртуальная машина. Википедия.
  6.  Platform Virtualization. Wikipedia.
  7.  Buillding E-commerce applications and infrastucture.
  8.  Understanding Full Virtualization, Paravirtualization, and Hardware Assist. VMware.
  9.  Hypervisor. Wikipedia.
  10.  Wood T. Profiling and Modeling Resource Usage of Virtualized Applications/ T. Wood, L. Cherkasova, K. Ozonat, P. Shenoy// – University of Massachusetts, Amherst, HP Labs, Palo Alto.
  11.  100,000 I/O Operations Per Second, One ESX Host. VMware – May 2008.
  12.  Аноприенко А.Я. Постбинарный компьютинг, GRID и «облачные вычисления»: новые реальности компьютерного моделирования/ А.Я. Аноприенко, А.П. Коноплева, Хасан Аль Абабех – Моделирование и компьютерная графика// Материалы 3-й международной научно -технической конференции, 7-9 октября 2009 г. – Донецк, ДонНТУ, 2009.
  13.  Mashey I. Specialities of Cloud Computing/ Mashey I. Malcheva R. – Информатика и компьютерные технологии// Материалы V международной научно- технической конференции студентов, аспирантов и молодых ученых – 24-26 ноября 2009 г. – Донецк, ДонНТУ, 2009 – сс. 110-116.
  14.  Creeger M. CTO Roundtable on Virtualization – Communications of the ACM, Part II – December 2008 – vol. 51 – no. 11.
  15.  Fleck C. How to get your own Citrix XenApp server in EC2 for 12 cents & 15 min. Citrix Community.. vSphere White Paper. VMware.
  16.  Vouk M.A. Cloud Computing – Issues, Research and Implementations. Journal of Computing and Information Technology – CIT 16 – 2008.04 – P. 235-246.
  17. Apache VCL Documentation.
  18. Citrix XenDesktop Overview. Citrix.
  19. Google App Engine.
  20.  Amazon EC2.
  21.  Reduce Energy Costs and Go Green. VMware.
  22.  gPXE: Modern FOSS Network Booting. Youtube.

A. J. Anoprienko, V. S. Mirgorod

Donetsk National Technical University

Virtualization technologies: evolution and application prospects. Virtualization technologies, their evolution, use cases and relation to cloud computing were observed. Technical possibility of implementation and modern issues of technology were considered. Virtualization application in USA universities on the example of North Carolina State University were examined and analyzed. Benefits of using virtualization in Donetsk National Technical University were described and model of the digital library of future were proposed, that can be applied in DonNTU.

virtualization, cloud computing, hypervisor, paravirtualization, binary translation, virtual computer lab, Citrix Xen, VMware, Amazon EC2, Google App Engine


Библиотека