Виртуализация вычислительных машин. Технологии виртуализации

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

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

VMware vSphere - флагманский продукт компании VMware безусловного лидера по доли рынка виртуализации уже много лет подряд. Имеет широкий функционал и специально создана для дата центров предоставляющих облачные решения и компаний строящих частные облака различных масштабов. Имеет продуманный интерфейс и большое количество технической документации. Если у вас мало опыта в работе с виртуализацией эта система будет хорошим выбором для вас. Лицензируется по количеству физических процессоров в облаке независимо от количества ядер. В виду обширного функционала и множества модулей данная система достаточно требовательна к ресурсам необходимым для ее работы.

WMware Esxi - является бесплатным аналогом VMware vSphere . Так как данный гипервизор бесплатен он обладает более скромным функционалом, однако вполне достаточным для реализации большинства типовых задач виртуализации и управления частным облаком. Так же достаточно прост в использовании

Hyper - V - продукт компании Microsoft разработанный как дополнение к OS Windows server , начиная с версии 2008 года. Так же существует в виде отдельного продукта, однако использующий для работы OS Windows server . Данный гипервизор достаточно прост в настройке и эксплуатации, и разумеется, поддерживает все версии OS Windows для гостевых машин, однако производитель не гарантирует работу многих OS Linux . Обращаем внимание, что сам гипервизор распространяется по бесплатной лицензии, но для работы требует платной OS Windows .

OpenVZ - полностью бесплатная система виртуализации реализованная на ядре Linux . Как большинство Linux систем имеет хорошие показатели продуктивности и потребляемым ресурсам и отлично работает с любыми дистрибутивами Linux в качестве ОС гостевых машин. Однако не поддерживает OS Windows , за счет чего данная система виртуализации не может считаться универсальной.

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

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

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

Система виртуализации

Поддерживаемые ОС

Преимущества

Недостатки

Лицензия

VMware vSphere

Win/Lin

Легкая в использовании. Широкий функционал

Потребление ресурсов.

Платная. По количеству процессоров

WMware Esxi

Win/Lin

Легкая в использовании

Не самый широкий функционал.

Бесплатная

OpenVZ

Linux

Эффективное потребление ресурсов

Поддерживается только Linux

Бесплатная

Win /Lin

Эффективное потребление ресурсов. Поддерживает все ОС

Бесплатная

Hyper -V

Windows

Легкаявиспользовании

Поддерживается только Windows . Потребление ресурсов

Бесплатная. Работает на платной ОС

Win/Lin

Высокая эффективность. Открытый исходный код.

Требует знаний Unix систем для настройки и управления

Бесплатная

Linux

Высокая эффективность

Не поддерживает Windows

Бесплатная

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

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

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

Что такое виртуализация?

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

Так что-же такое виртуализация? Это возможность запустить на одном физическом компьютере несколько изолированных друг от друга виртуальных машин, каждая из которых будет "думать" что работает на отдельном физическом ПК. Рассмотрим следующую схему:

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

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

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

Как устроена виртуальная машина?

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

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

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

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

Преимущества виртуализации

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

На рисунке ниже окно средства настольной виртуализации из нашей тестовой лаборатории в окне которого запущена ОС Windows 8.

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

Оптимальное использование вычислительных ресурсов

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

Экономия физических ресурсов

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

Повышение масштабируемости и расширяемости инфраструктуры

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

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

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

Повышение отказоустойчивости

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

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

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

Возможность поддерживать устаревшие ОС

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

Виртуальные сети

Трудно представить современный ПК без подключения к какой-либо сети. Поэтому современные технологии виртуализации позволяют виртуализировать не только компьютеры но и сети. Как и обычный компьютер, виртуальная машина может иметь один или несколько сетевых адаптеров, которые могут быть подключены либо к внешней сети, через один из физических сетевых интерфейсов хоста, либо к одной из виртуальных сетей. Виртуальная сеть представляет собой виртуальный сетевой коммутатор к которому подключаются сетевые адаптеры виртуальных машин. При необходимости, в такой сети, средствами гипервизора, могут быть реализованы сервисы DHCP и NAT, для доступа к интернету через интернет-подключение хоста.

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

Хост подключен к внешней сети посредством физического сетевого адаптера LAN 0 , посредством этого же физического интерфейса к внешней сети подключена виртуальная машина VM5, через сетевой адаптер VM LAN 0 . Для остальных машин внешней сети хост и VM5 два разных ПК, каждый из них имеет свой сетевой адрес, свою сетевую карту со своим MAC-адресом. Вторая сетевая карта VM5 подключена к виртуальному коммутатору виртуальной сети VM NET 1 , к нему же подключены сетевые адаптеры виртуальных машин VM1-VM4. Таким образом мы в пределах одного физического хоста организовали безопасную внутреннюю сеть, которая имеет доступ к внешней сети только через роутер VM5.

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

Моментальные снимки

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

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

Заключение

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

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

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

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

Лидеры в производстве платформ виртуализации

Развитие средств виртуализации на различных уровнях абстракции систем продолжается уже на протяжении более тридцати лет. Однако, только сравнительно недавно аппаратные мощности серверов и настольных ПК позволили всерьез воспринимать эту технологию относительно виртуализации операционных систем. Так уж сложилось, что многие годы, как различные компании, так и энтузиасты разрабатывали различные средства для виртуализации операционных систем, но не все они в данный момент активно поддерживаются и находятся в приемлемом для эффективного использования состоянии. На сегодняшний день, лидерами в сфере производства средств виртуализации являются компании VMware, Microsoft, SWSoft (вместе с принадлежащей ей компанией Parallels), XenSource, Virtual Iron и InnoTek. Помимо продуктов этих вендоров присутствуют также такие разработки как QEMU, Bosch и прочие, а также средства виртуализации разработчиков операционных систем (например, Solaris Containers), которые не получили широкого распространения и используются узким кругом специалистов.

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

Тем не менее, если применять виртуализацию серверов в небольших масштабах, в секторе SMB (Small and Medium Business) бесплатные платформы вполне могут заполнить нишу в производственной среде компании и обеспечить существенную экономию денежных средств.

Когда использовать бесплатные платформы

В случае если вам не требуется массовое развертывание виртуальных серверов в организации, постоянный контроль производительности физических серверов при изменяющейся нагрузке и высокая степень их доступности, вы можете использовать виртуальные машины на основе бесплатных платформ для поддержания внутренних серверов организации. При увеличении числа виртуальных серверов и высокой степени их консолидации на физических платформах требуется применение мощных средств управления и обслуживания виртуальной инфраструктуры. В зависимости от того, необходимо ли вам использовать различные системы и сети хранения данных, например, Storage Area Network (SAN), средства резервного копирования и восстановления после сбоев и «горячую» миграцию запущенных виртуальных машин на другое оборудование, вам может не хватить возможностей бесплатных платформ виртуализации, однако, надо отметить, что и бесплатные платформы постоянно обновляются и приобретают новые функции, что расширяет сферу их использования.

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

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

Бесплатные серверные платформы виртуализации

Практически в любой организации, использующих инфраструктуру серверов, часто возникает необходимость применения как стандартных сетевых сервисов (DNS, DHCP, Active Directory), так и нескольких внутренних серверов (приложений, баз данных, корпоративных порталов), которые не испытывают больших нагрузок и разнесены по разным физическим серверам. Эти сервера могут быть консолидированы в количестве нескольких штук в виртуальных машинах на одном физическом хосте. При этом упрощается процесс миграции серверов с одной аппаратной платформы на другую, уменьшаются затраты на оборудование, упрощается процедура резервного копирования и повышается их управляемость. В зависимости от видов операционных систем, под управлением которых работают сетевые сервисы, и требований к системе виртуализации можно выбрать подходящий бесплатный продукт для корпоративной среды. При выборе серверной платформы виртуализации необходимо учитывать характеристики быстродействия (они зависят как от применяющейся техники виртуализации, так и от качества реализации различных компонентов платформы производителей), простоты развертывания, возможности масштабирования виртуальной инфраструктуры и наличие дополнительных средств управления, обслуживания и мониторинга.


Проект представляет собой платформу виртуализации с открытым исходным кодом, развитие которого осуществляет сообщество независимых разработчиков, поддерживаемое компанией SWSoft. Распространяется продукт под лицензией GNU GPL. Ядро платформы OpenVZ входит в состав продукта Virtuozzo, коммерческого продукта SWSoft, обладающего большими, нежели OpenVZ, возможностями. Оба продукта используют оригинальную технику виртуализации: виртуализацию на уровне экземпляров операционной системы. Такой способ виртуализации обладает меньшей гибкостью по сравнению с полной виртуализацией (можно запускать только ОС семейства Linux, поскольку используется одно ядро для всех виртуальных окружений), однако позволяет достичь минимальных потерь производительности (около 1-3 процентов). Системы под управлением OpenVZ нельзя назвать полноценными виртуальными машинами, это скорее виртуальные среды (Virtual Environments, VE), в которых не происходит эмуляции компонентов аппаратуры. Такой подход позволяет лишь устанавливать различные дистрибутивы Linux в качестве виртуальных сред на одном физическом сервере. При этом каждое из виртуальных окружений имеет свои собственные деревья процессов, системные библиотеки и пользователей и может по-своему использовать сетевые интерфейсы.

Виртуальные окружения представляются для пользователей и приложений, работающих в них, практически полностью изолированными средами, которые могут управляться независимо от других окружений. Благодаря этим факторам и высокой производительности, продукты OpenVZ и SWSoft Virtuozzo получили наибольшее распространение при поддержке виртуальных частных серверов (Virtual Private Servers, VPS) в системах хостинга. На основе OpenVZ можно предоставлять клиентам несколько выделенных виртуальных серверов на основе одной аппаратной платформы, на каждом из которых могут быть установлены различные приложения и которые могут быть перезагружены отдельно от других виртуальных окружений. Архитектура OpenVZ представлена ниже:

Некоторые независимые эксперты проводили сравнительных анализ производительности виртуальных серверов на основе коммерческих платформ SWSoft Virtuozzo и VMware ESX Server для целей хостинга и выносили заключение, что Virtuozzo лучше справляется с этой задачей. Безусловно, платформа OpenVZ, на которой построен Virtuozzo, обладает такой же высокой производительностью, однако ей не хватает расширенных средств управления, которые есть в Virtuozzo.

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


Компания сравнительно недавно вышла на рынок платформ виртуализации, однако быстро включилась в конкурентную борьбу с такими серьезными вендорами серверных платформ, как VMware, XenSource и SWSoft. Продукты компании Virtual Iron основываются на бесплатном гипервизоре Xen, поддерживаемым Open Source сообществом Xen-community. Virtual Iron представляет собой платформу виртуализации, не требующую хостовой операционной системы (так называемая bare-metal платформа), и направлена на использование в корпоративной среде крупных предприятий. Продукты Virtual Iron обладают всеми необходимыми средствами для создания виртуальных машин, управления ими и их интеграции в производственную информационную среду компании. Virtual Iron поддерживает 32- и 64-битные гостевые и хостовые операционные системы, а также виртуальный SMP (Symmetric Multi Processing), предоставляющий возможность использования нескольких процессоров виртуальными машинами.

Изначально Virtual Iron использовала техники паравиртуализации для запуска гостевых систем в виртуальных машинах, так же как и продукты компании XenSource на основе гипервизора Xen. Использование паравиртуализации предполагает использование в виртуальных машинах специальных версий гостевых систем, исходный код которых модифицирован для запуска их платформами виртуализации. При этом требуется внесение изменений в ядро операционной системы, что для ОС с открытым исходным кодом не является большой проблемой, в то время, как для проприетарных закрытых систем, таких как Windows, это неприемлемо. Большого же прироста производительности в системах паравиртуализации не наблюдается. Как показала практика, производители операционных систем неохотно идут на включение поддержки паравиртуализации в свои продукты, поэтому эта технология не завоевала большой популярности. Вследствие этого, компания Virtual Iron одной из первых стала использовать техники аппаратной виртуализации, позволяющие запускать немодифицированные версии гостевых систем. В данный момент, последняя версия платформы Virtual Iron 3.7 позволяет использовать виртуальные машины на серверных платформах только с поддержкой аппаратной виртуализации. Официально поддерживаются следующие процессоры:

  • Intel® Xeon® 3000, 5000, 5100, 5300, 7000, 7100 Series
  • Intel® Core™ 2 Duo E6000 Series
  • Intel® Pentium® D-930, 940, 950, 960
  • AMD Opteron™ 2200 or 8200 Series Processors
  • AMD Athlon™ 64 x2 Dual-Core Processor
  • AMD Turion™ 64 x2 Dual-Core Processor

К тому же, на сайте Virtual Iron можно найти списки сертифицированного компанией оборудования для своей платформы виртуализации.

Продукты Virtual Iron существуют в трех изданиях:

  • Single Server Virtualization and Management
  • Multiple Server Virtualization and Management
  • Virtual Desktop Infrastructure (VDI) Solution

На данный момент бесплатным решением является решение Single Server, которое позволяет установить Virtual Iron на одном физическом хосте в инфраструктуре организации. При этом поддерживается протокол iSCSI, сети SAN и локальные системы хранения.

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

  • 2 ГБ RAM
  • Привод CD-ROM
  • 36 ГБ места на диске
  • Сетевой интерфейс Ethernet
  • Сетевой интерфейс Fibre channel (не обязательно)
  • Поддержка аппаратной виртуализации в процессоре

Virtual Iron позволяет по достоинству оценить все возможности аппаратной виртуализации и средства управления виртуальными машинами. Бесплатное издание в первую очередь предназначено для того, чтобы оценить эффективность и удобство платформы виртуализации и средств управления. Однако и оно может использоваться в производственной среде предприятия для поддержки внутренних серверов компании. Отсутствие отдельной хостовой платформы позволит, во-первых, не тратится на приобретение лицензии на хостовую ОС, а во-вторых, снижает потери производительности на поддержку гостевых систем. Типичные применения бесплатного издания Virtual Iron - развертывание нескольких виртуальных серверов в инфраструктуре небольшой организации сектора SMB в целях отделения от аппаратуры жизненно важных серверов и повышения их управляемости. В дальнейшем, при покупке коммерческой версии платформы инфраструктура виртуальных серверов может быть расширена, а также могут быть использованы такие возможности, как эффективные средства резервного копирования и «горячей» миграции виртуальных серверов между хостами.


С точки зрения удобства и простоты использования VMware Server является безусловным лидером, а по производительности не отстает от коммерческих платформ (особенно в хостовых системах Linux). К недостаткам можно отнести отсутствие поддержки горячей миграции и отсутствие средств резервного копирования, которые, однако, предоставляются, чаще всего, только коммерческими платформами. Безусловно, VMware Server лучший выбор для быстрого развертывания внутренних серверов организации, включая предустановленные шаблоны виртуальных серверов, которых в избытке можно найти на различных ресурсах (например, ).

Итоги

Подводя итоги обзора бесплатных серверных платформ виртуализации, можно сказать, что каждая из них на данный момент занимает свою нишу в секторе SMB, где за счет использования виртуальных машин можно существенно повысить эффективность ИТ-инфраструктуры, сделать ее более гибкой и уменьшить затраты на приобретение оборудования. Бесплатные платформы, в первую очередь, позволяют оценить возможности виртуализации не на бумаге и ощутить все преимущества этой технологии. В заключение, приведем сводную таблицу характеристик бесплатных платформ виртуализации, которая поможет вам выбрать подходящую серверную платформу для своих целей. Ведь именно через бесплатную виртуализацию лежит путь к дальнейшему вложению денег в проекты по виртуализации на основе коммерческих систем.

Название платформы, разработчик Хостовая ОС Официально поддержи- ваемые гостевые ОС Поддержка нескольких виртуальных процессоров (Virtual SMP) Техника виртуализации Типичное использование Производи- тельность
Открытый проект сообщества Open Source при поддержке SWSoft Linux Различные дистрибутивы Linux Да Виртуализация уровня операционной системы Изоляция виртуальных серверов (в том числе для услуг хостинга) Без потерь

Virtual Iron Software, Inc
Не требуется Windows, RedHat, SuSE Да (до 8) Виртуализация серверов в производственной среде Близка к нативной
Virtual Server 2005 R2 SP1
Microsoft
Windows Windows, Linux (Red Hat и SUSE) Нет Нативная виртуализация, аппаратная виртуализация Виртуализация внутренних серверов в корпоративной среде Близка к нативной (при установленных Virtual Machine Additions)

VMware
Windows, Linux DOS, Windows, Linux, FreeBSD, Netware, Solaris Да Нативная виртуализация, аппаратная виртуализация Консолидация серверов небольших предприятий, разработка /тестирование Близка к нативной
Xen Express и Xen
XenSource (при поддержке Intel и AMD)
NetBSD, Linux, Solaris Linux, NetBSD, FreeBSD, OpenBSD, Solaris, Windows, Plan 9 Да Паравиртуализация, аппаратная виртуализация Разработчики, тестировщики, IT-профессионалы, консолидация серверов небольших предприятий Близка к нативной (некоторые потери при работе с сетью и интенсивном использовании дисков)

История технологий виртуализации насчитывает уже более сорока лет. Однако после периода их триумфального применения в 70--80-х годах прошлого века, в первую очередь на мэйнфреймах IBM, эта концепция отошла на второй план при создании корпоративных информационных систем. Дело в том, что сама концепция виртуализации связана с созданием вычислительных центров коллективного пользования, с необходимостью применения единого комплекса аппаратных средств для формирования нескольких различных логически независимых систем. А с середины 80-х в компьютерной отрасли начала доминировать децентрализованная модель организации информационных систем на базе мини-компьютеров, а потом x86-серверов.

Виртуализация для архитектуры x86

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

Нужно сразу подчеркнуть, что хотя в идеях x86-виртуализации в теоретическом плане вроде бы ничего неизвестного ранее не было, речь шла о качественно новом для ИТ-отрасти явлении по сравнению с ситуацией 20-летней давности. Дело в том, что в аппаратно-программной архитектуре мэйнфреймов и Unix-компьютеров вопросы виртуализации сразу решались на базовом уровне. Система же x86 строилась совсем не в расчете на работу в режиме датацентров, и ее развитие в направлении виртуализации — это довольно сложный эволюционный процесс со множеством разных вариантов решения задачи.

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

Использование средств x86-виртуализации началось в конце 90-х с рабочих станций: одновременно с увеличением числа версий клиентских ОС постоянно росло и количество людей (разработчиков ПО, специалистов по технической поддержке, экспертов по софту), которым нужно было на одном ПК иметь сразу несколько копий различных ОС.

  • Виртуализация для серверной инфраструктуры стала применяться немного позднее, и связано это было прежде всего с решением задач консолидации вычислительных ресурсов. Но тут сразу сформировалось два независимых направления: ·
  • поддержка неоднородных операционных сред (в том числе для работы унаследованных приложений). Этот случай наиболее часто встречается в рамках корпоративных информационных систем. Технически проблема решается путем одновременной работы на одном компьютере нескольких виртуальных машин, каждая из которых включает экземпляр операционной системы. Но реализация этого режима выполняется с помощью двух принципиально разных подходов: полной виртуализации и паравиртуализации; ·
  • поддержка однородных вычислительных сред, что наиболее характерно для хостинга приложений провайдерами услуг. Конечно, тут можно использовать и вариант виртуальных машин, но гораздо эффективнее создание изолированных контейнеров на базе одного ядра ОС.

Следующий жизненный этап технологий x86-виртуализации стартовал в 2004--2006 гг. и был связан с началом их массового применения в корпоративных системах. Соответственно если раньше разработчики в основном занимались созданием технологий исполнения виртуальных сред, то теперь на первый план стали выходить задачи управления этими решениями и их интеграции в общую корпоративную ИТ-инфрастуктуру. Одновременно обозначилось заметное повышение спроса со стороны персональных пользователей (но если в 90-х это были разработчики и тестеры, то сейчас речь уже идет о конечных пользователях -- как профессиональных, так и домашних).

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

  • разработка и тестирование ПО; ·
  • моделирование работы реальных систем на исследовательских стендах; ·
  • консолидация серверов с целью повышения эффективности использования оборудования; ·
  • консолидация серверов в рамках решения задач поддержки унаследованных приложений; ·
  • демонстрация и изучение нового ПО; ·
  • развертывание и обновление прикладного ПО в условиях действующих информационных систем; ·
  • работа конечных пользователей (преимущественно домашних) на ПК с разнородными операционными средами.

Базовые варианты виртуализации ПО

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

Полная виртуализация (Full, Native Virtualization) . Используются немодифицированные экземпляры гостевых операционных систем, а для поддержки работы этих ОС служит общий слой эмуляции их исполнения поверх хостовой ОС, в роли которой выступает обычная операционная система (рис. 1). Такая технология применяется, в частности, в VMware Workstation, VMware Server (бывший GSX Server, Parallels Desktop, Parallels Server, MS Virtual PC, MS Virtual Server, Virtual Iron. К достоинствам данного подхода можно причислить относительную простоту реализации, универсальность и надежность решения; все функции управления берет на себя хост-ОС. Недостатки - высокие дополнительные накладные расходы на используемые аппаратные ресурсы, отсутствие учета особенностей гостевых ОС, меньшая, чем нужно, гибкость в использовании аппаратных средств.

Паравиртуализация (paravirtualization). Модификация ядра гостевой ОС выполняется таким образом, что в нее включается новый набор API, через который она может напрямую работать с аппаратурой, не конфликтуя с другими виртуальными машинами (ВМ; рис. 2). При этом нет необходимости задействовать полноценную ОС в качестве хостового ПО, функции которого в данном случае исполняет специальная система, получившая название гипервизора (hypervisor). Именно этот вариант является сегодня наиболее актуальным направлением развития серверных технологий виртуализации и применяется в VMware ESX Server, Xen (и решениях других поставщиков на базе этой технологии), Microsoft Hyper-V. Достоинства данной технологии заключаются в отсутствии потребности в хостовой ОС -- ВМ устанавливаются фактически на “голое железо”, а аппаратные ресурсы используются эффективно. Недостатки - в сложности реализации подхода и необходимости создания специализированной ОС-гипервизора.

Виртуализация на уровне ядра ОС (operating system-level virtualization). Этот вариант подразумевает использование одного ядра хостовой ОС для создания независимых параллельно работающих операционных сред (рис. 3). Для гостевого ПО создается только собственное сетевое и аппаратное окружение. Такой вариант используется в Virtuozzo (для Linux и Windows), OpenVZ (бесплатный вариант Virtuozzo) и Solaris Containers. Достоинства - высокая эффективность использования аппаратных ресурсов, низкие накладные технические расходы, отличная управляемость, минимизация расходов на приобретение лицензий. Недостатки - реализация только однородных вычислительных сред.

Виртуализация приложений подразумевает применение модели сильной изоляции прикладных программ с управляемым взаимодействием с ОС, при которой виртуализируется каждый экземпляр приложений, все его основные компоненты: файлы (включая системные), реестр, шрифты, INI-файлы, COM-объекты, службы (рис. 4). Приложение исполняется без процедуры инсталляции в традиционном ее понимании и может запускаться прямо с внешних носителей (например, с флэш-карт или из сетевых папок). С точки зрения ИТ-отдела такой подход имеет очевидные преимущества: ускорение развертывания настольных систем и возможность управления ими, сведение к минимуму не только конфликтов между приложениями, но и потребности в тестировании приложений на совместимость. Фактически именно такой вариант виртуализации используется в Sun Java Virtual Machine, Microsoft Application Virtualization (ранее называлось Softgrid), Thinstall (в начале 2008 г. вошла в состав VMware), Symantec/Altiris.

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

Сказать: “продукт A - это решение для виртуализации ПО” -- совсем не достаточно для понимания реальных возможностей “А”. Для этого нужно детальнее посмотреть на различные характеристики предлагаемых продуктов.

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

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

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

Основные игроки рынка x86-виртуализации

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

Созданная в 1998 г. компания VMware является одним из пионеров в использовании технологий виртуализации для компьютеров архитектуры x86 и занимает сегодня лидирующую позицию на этом рынке (по некоторым оценкам, ее доля составляет 70--80%). С 2004 г. она является дочерним предприятием корпорации ECM, но на рынке работает автономно под собственной торговой маркой. По данным EMC, штат сотрудников VMware вырос за это время с 300 до 3000 человек, а объемы продаж ежегодно увеличивались вдвое. Согласно официально объявленным сведениям, сейчас ежегодный доход компании (от продажи продуктов виртуализации и оказания сопутствующих услуг) приближается к 1,5 млрд. долл. Эти данные хорошо отражают общее повышение рыночного спроса на средства виртуализации.

Сегодня WMware предлагает комплексную виртуализационную платформу третьего поколения VMware Virtual Infrastructure 3, которая включает средства как для отдельного ПК, так и для центра обработки данных. Ключевым компонентом этого программного комплекса является гипервизор VMware ESX Server. Компании могут также воспользоваться бесплатным продуктом VMware Virtual Server, на базе которого предлагается выполнять пилотные проекты.

Parallels - это новое (с января 2008 г.) название компании SWsoft, которая также является ветераном рынка технологийвиртуализации . Ее ключевой продукт - Parallels Virtuozzo Containers, решение по виртуализации на уровне ОС, позволяющее запускать на одном Windows- или Linux-сервере множество изолированных контейнеров (виртуальных серверов). Для автоматизации бизнес-процессов хостинг-провайдеров предлагается средство Parallels Plesk Control Panel. В последние годы компания активно развивает направление средств виртуализации настольных систем - Parallels Workstation (для Windows и Linux) и Parallels Desktop for Mac (для Mac OS на компьютерах архитектуры x86). В 2008 г. она объявила о выпуске нового продукта - Parallels Server, поддерживающего серверный механизм виртуальных машин с использованием разных ОС (Windows, Linux, Mac OS).

Корпорация Microsoft вышла на рынок средств виртуализации в 2003 г. с приобретением компании Connectiх, выпустив свой первый продукт Virtual PC для настольных ПК. С тех пор она последовательно наращивала спектр предложений в этой области и на сегодня почти завершила формирование виртуализационной платформы , в состав которой входят следующие компоненты. ·

  • Серверная виртуализация. Здесь предлагается два различных технологических подхода: с помощью Microsoft Virtual Server 2005 и нового решения Hyper-V Server (пока оно представлено бета-версией). ·
  • Виртуализация для ПК. Выполняется с помощью бесплатно распространяемого продукта Microsoft Vitrual PC 2007. ·
  • Виртуализация приложений. Для таких задач предлагается система Microsoft SoftGrid Application Virtualization (ранее называлась SoftGrid). ·
  • Презентационная виртуализация. Реализуется с помощью Microsoft Windows Server Terminal Services и в целом представляет собой давно известный режим терминального доступа. ·
  • Интегрированное управление виртуальными системами. В решении этих задач ключевая роль отводится выпущенному в конце прошлого года System Center Virtual Machine Manager.

Компания Sun Microsystems предлагает многоуровневый набортехнологий : традиционная ОС, управление ресурсами, виртуализация ОС, виртуальные машины и домены на уровне аппаратуры (hard partitions). Эта последовательность выстроена по принципу повышения уровня изоляции приложений (но одновременно снижается гибкость решения). Все виртуализационные технологии Sun реализованы в рамках операционной системы Solaris. В аппаратном плане везде есть поддержка архитектуры x64, хотя системы на базе UltraSPARC изначально лучше заточены на данные технологии. В качестве виртуальных машин могут использоваться и другие операционные системы, в том числе Windows и Linux.

Корпорация Citrix Systems является признанным лидером в сфере инфраструктур удаленного доступа к приложениям. Она серьезно усилила свои позиции в области виртуализационных технологий, купив в 2007 г. за 500 млн. долл. компанию XenSource, разработчика Xen -- одной из ведущих технологий виртуализации операционных систем . Как раз накануне этой сделки XenSource представила новую версию своего флагманского продукта XenEnterprise на базе ядра Xen 4. Данное приобретение вызвало некоторое смятение в ИТ-отрасли, поскольку Xen является открытым проектом и заложенные в него технологии лежат в основе коммерческих продуктов таких поставщиков, как, например, Sun, Red Hat и Novell. Определенная неясность в позиции Citrix в будущем продвижении Xen, в том числе в маркетинговом плане, сохраняется до сих пор. На первую половину 2008 г. запланирован выпуск первого продукта компании на базе технологии Xen - Citrix XenDesktop (для виртуализации ПК). Затем ожидается представление обновленного варианта XenServer.

В ноябре 2007-го о своем выходе на рынок средств виртуализации объявила Oracle, представив ПО под названием Oracle VM для виртуализации серверных приложений этой корпорации и других производителей. Новое решение включает серверный программный компонент с открытым исходным кодом и интегрированную консоль управления на базе браузера, предназначенную для создания и администрирования виртуальных пулов серверов, работающих в системах на базе архитектур x86 и x86-64. Эксперты усмотрели в этом нежелание Oracle поддерживать пользователей, которые запускают ее продукты в виртуальных средах других производителей. Известно, что решение Oracle VM реализовано на базе гипервизора Xen. Уникальность данного шага Oracle заключается в том, что это, кажется, первый случай в истории компьютерной виртуализации, когда фактически технология подстраивается не под операционную среду, а под конкретные приложения.

Рынок виртуализации глазами IDC

Рынок средств виртуализации архитектуры x86 находится на этапе бурного развития, и его структура еще не устоялась. Это усложняет проведение оценок его абсолютных показателей и сравнительного анализа представленных тут продуктов. Подтверждением данного тезиса служит опубликованный в ноябре прошлого года отчет IDC “Enterprise Virtualization Software: Customer Needs and Strategies” (“Корпоративное программное обеспечение виртуализации: потребности заказчиков и стратегии”). Наибольший интерес в этом документе представляет вариант структуризации серверного виртуализационного ПО, в котором IDC выделяет четыре основных компонента (рис. 5).

Платформа виртуализации. Ее основу составляют гипервизор, а также основные элементы управления ресурсами и программный интерфейс приложений (API). В качестве ключевых характеристик выделяются число сокетов и количество процессоров, поддерживаемых одной виртуальной машиной, число гостевых систем, доступных по одной лицензии, и спектр поддерживаемых ОС.

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

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

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

В плане общего анализа ситуации на рынке IDC выделяет три лагеря участников. Первый водораздел проходит между теми, кто виртуализирует на верхнем уровне ОС (SWsoft и Sun) и на нижнем уровне ОС (VMware, XenSource, Virtual Iron, Red Hat, Microsoft, Novell). Первый вариант позволяет создавать самые эффективные с точки зрения производительности и дополнительных затрат на ресурсы решения, но реализующие только однородные вычислительные среды. Второй дает возможность запускать на одном компьютере несколько ОС разного типа. Внутри второй группы IDC проводит еще одну границу, разделяющую поставщиков автономных продуктов виртуализации (VMware, XenSource, Virtual Iron) и производителей операционных систем, в состав которых входят средства виртуализации (Microsoft, Red Hat, Novell).

С нашей точки зрения, предложенная IDC структуризация рынка является не очень точной. Во-первых, почему-то IDC не выделяет наличие двух принципиально разных типов виртуальных машин - с использованием хост-ОС (VMware, Virtual Iron, Microsoft) и гипервизора (VMware, XenSource, Red Hat, Microsoft, Novell). Во-вторых, если говорить о гипервизоре, то тут полезно отличать тех, кто использует собственные базовые технологии (VMware, XenSource, Virtual Iron, Microsoft), и тех, кто лицензирует чужие (Red Hat, Novell). И, наконец, нужно сказать, что SWsoft и Sun имеют в своем арсенале не только технологии виртуализации на уровне ОС, но и средства поддержки виртуальных машин.

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

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

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

Существует несколько типов виртуализации:

  • Программная виртуализация;
  • Аппаратная виртуализация.

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

  • Динамическая (бинарная) трансляция - процесс, при котором проблемные команды гостевой OC заменяются на безопасные.
  • Паравиртуализация — процесс, при котором гостевые ОС модифицируют свое ядро с целью функционирования в виртуализированной среде. ОС взаимодействует с гипервизором, который обеспечивает гостевой API. Таким образом, исключается использование таблицы страниц памяти. Паравиртуализация гарантирует более высокую производительность в сравнении с динамической трансляцией, однако она уместна лишь тогда, когда гостевые ОС имеют открытые исходные коды, либо же гипервизор и гостевая ОС - от одного производителя. Термин сформировался в рамках проекта Denali.
  • Встроенная виртуализация — новый метод, базирующийся на применении аппаратно-поддерживаемых возможностей виртуализации, что позволяет пользователям использовать любые версии ОС в сочетании с различными вариантами рабочих сред. По сути, встроенная виртуализация представляет собой полную виртуализацию, реализованную на аппаратном уровне. Данный подход был реализован в рамках проекта BlueStacks Multi-OS (MOS).

Достоинства программной виртуализации:

  • Доступность ресурсов (каталоги, принтеры и т.д.) для обеих ОС;
  • Удобный интерфейс окон приложений;
  • При тонкой настройке аппаратной платформы производительность мало отличается от оригинальной ОС. Переключение между системами происходит менее чем за 1 сек.;
  • Простая процедура обновления гостевой ОС;
  • Двухсторонняя виртуализация (приложения одной системы запускаются в другой, и наоборот).

Аппаратная виртуализация

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

Достоинства:

  • Простота разработки программных платформ виртуализации, доступность аппаратных интерфейсов управления, поддержка виртуальных гостевых систем;
  • Увеличение быстродействия платформ виртуализации за счет использования гипервизора;
  • Защищенность, возможность переключения между несколькими запущенными независимыми платформами виртуализации. Каждая виртуальная машина работает независимо в своем пространстве аппаратных ресурсов. Полная изоляция, позволяющая устранить потери быстродействия на поддержание хостовой платформы;
  • Гостевая система не привязана к архитектуре хостовой платформы. Возможен запуск 64-битных гостевых ОС на 32-битных хостовых системах.

Технологии:

  • Режим виртуального 8086
  • Intel VT (VT-x)
  • AMD-V

Платформы, работающие на аппаратной виртуализации:

  • IBM LPAR
  • VMware
  • Hyper-V

Где применяется виртуализация?

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

  • Виртуальные машины;
  • Ресурсы;
  • Приложения.

Виртуализация уровня ОС

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

  • Solaris Containers/Zones
  • FreeBSD Jail
  • Linux-VServer (англ.)
  • FreeVPS (англ.)
  • OpenVZ
  • Virtuozzo
  • iCore Virtual Accounts

Виртуальные машины

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

Виртуализация серверов

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

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

Также возможен и обратный процесс: объединение нескольких физических серверов в один логический. Примером такого процесса является Oracle Real Application Cluster. Также существует и ряд других:

  • Virtual Iron
  • Microsoft (Hyper-V)
  • VMware (ESX Server)
  • Red Hat Enterprise Virtualization for Servers
  • PowerVM

Виртуализация ресурсов

Разделение одного физического сервера на несколько. Каждая отдельная часть отображается у пользователя как отдельный сервер. Данный метод осуществляется на уровне ядра ОС.

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

Примером реализации разделения ресурсов можно отнести проект OpenSolaris Network Virtualization and Resource Control, позволяющий создавать несколько виртуальных сетевых интерфейсов на основе одного физического.

Также данный процесс подразумевает агрегацию, распределение и объединение ресурсов. К примеру, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск. Зачастую к данному подтипу также относятся сетевые файловые системы, абстрагированные от хранилищ данных на которых они построены (Vmware VMFS, Solaris/OpenSolaris ZFS, NetApp WAFL).

Виртуализация приложений

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

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

Чтобы создать виртуальное приложение, виртуализируемое помещается в специальную папку. При запуске виртуального приложения запускается виртуализируемое приложение и папка, являющаяся для него рабочей средой. Таким образом, образуется определенный промежуток между приложением и операционной системой, что позволяет избежать конфликтов между ПО и ОС. Виртуализацию приложений осуществляют такие программы, как: Citrix XenApp, SoftGrid и VMWare ThinApp.

Достоинства виртуализации приложений:

  • Изолированность приложений и ОС;
  • Отсутствие несовместимости и конфликтов ПО и ОС;
  • Не засоряется реестр, отсутствие конфигурационных файлов;
  • Низкие ресурсозатраты по сравнению с эмуляцией всей ОС.