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

Концепция виртуальной среды

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

Типы виртуализации

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

Программная виртуализация

Динамическая трансляция

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

Паравиртуализация

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

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

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

Впервые термин возник в проекте Denali.

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

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

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

Реализации:

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

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

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

Примеры применения:

  • тестовые лаборатории и обучение: Тестированию в виртуальных машинах удобно подвергать приложения, влияющие на настройки операционных систем, например инсталляционные приложения. За счёт простоты в развёртывании виртуальных машин, они часто используются для обучения новым продуктам и технологиям.
  • распространение предустановленного ПО: многие разработчики программных продуктов создают готовые образы виртуальных машин с предустановленными продуктами и предоставляют их на бесплатной или коммерческой основе. Такие услуги предоставляют Vmware VMTN или Parallels PTN

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

  1. размещение нескольких логических серверов в рамках одного физического (консолидация)
  2. объединение нескольких физических серверов в один логический для решения определенной задачи. Пример: Oracle Real Application Cluster , grid-технология , кластеры высокой производительности.
  • SVISTA
  • twoOStwo
  • Red Hat Enterprise Virtualization for Servers
  • PowerVM

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

Виртуализация рабочих станций

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

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

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

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

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

  • Агрегация, распределение или добавление множества ресурсов в большие ресурсы или объединение ресурсов. Например, симметричные мультипроцессорные системы объединяют множество процессоров; RAID и дисковые менеджеры объединяют множество дисков в один большой логический диск; RAID и сетевое оборудование использует множество каналов, объединённых так, чтобы они представлялись, как единый широкополосный канал. На мета-уровне компьютерные кластеры делают все вышеперечисленное. Иногда сюда же относят сетевые файловые системы абстрагированные от хранилищ данных на которых они построены, например, Vmware VMFS, Solaris /OpenSolaris ZFS , NetApp WAFL

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

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

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

См. также

Ссылки

  • Обзор методов, архитектур и реализаций виртуализации (Linux) , www.ibm.com
  • Виртуальные машины 2007.Наталия Елманова, Сергей Пахомов , КомпьютерПресс 9’2007
Виртуализация серверов
  • Виртуализация серверов. Нейл Макаллистер , InfoWorld
  • Виртуализация серверов стандартной архитектуры. Леонид Черняк , Открытые системы
  • Альтернативы лидерам в канале 2009 г , 17 августа 2009
Аппаратная виртуализация
  • Технологии аппаратной виртуализации , ixbt.com
  • Спирали аппаратной виртуализации. Александр Александров , Открытые системы

Примечания


Wikimedia Foundation . 2010 .

Смотреть что такое "Виртуализация" в других словарях:

    виртуализация - В трудах ассоциации SNIA дается следующее общее определение. "Виртуализация — это действие (act) по объединению нескольких устройств, служб или функций внутренней составляющей инфрастуктуры (back end) с дополнительной внешней (front… …

    виртуализация - Разделение физического уровня сети (расположение и соединения устройств) от ее логического уровня (рабочие группы и пользователи). Настройка конфигурации сети по логическим критериям вместо физических. … Справочник технического переводчика

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

История технологий виртуализации насчитывает уже более сорока лет. Однако после периода их триумфального применения в 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 имеют в своем арсенале не только технологии виртуализации на уровне ОС, но и средства поддержки виртуальных машин.

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

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

Технологии виртуализации

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

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


Рис. 2.1.

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

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

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

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

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

В 1999 г. компания VMware представила технологию виртуализации систем на базе x86 в качестве эффективного средства, способного преобразовать системы на базе x86 в единую аппаратную инфраструктуру общего пользования и назначения, обеспечивающую полную изоляцию, мобильность и широкий выбор ОС для прикладных сред. Компания VMware была одной из первых, кто сделал серьезную ставку исключительно на виртуализацию. Как показало время, это оказалось абсолютно оправданным. Сегодня WMware предлагает комплексную виртуализационную платформу четвертого поколения VMware vSphere 4, которая включает средства как для отдельного ПК, так и для центра обработки данных. Ключевым компонентом этого программного комплекса является гипервизор VMware ESX Server . Позднее в "битву" за место в этом модном направлении развития информационных технологий включились такие компании как Parallels (ранее SWsoft), Oracle ( Sun Microsystems), Citrix Systems (XenSourse).

Корпорация Microsoft вышла на рынок средств виртуализации в 2003 г. с приобретением компании Connectiх, выпустив свой первый продукт Virtual PC для настольных ПК. С тех пор она последовательно наращивала спектр предложений в этой области и на сегодня почти завершила формирование виртуализационной платформы, в состав которой входят такие решения как Windows 2008 Server R2 c компонентом Hyper-V, Microsoft Application Virtualization (App-v), Microsoft Virtual Desktop Infrastructure ( VDI ), Remote Desktop Services, System Center Virtual Machine Manager .

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

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

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

Приведем основные достоинства технологий виртуализации:

  1. Эффективное использование вычислительных ресурсов . Вместо 3х, а то 10 серверов, загруженных на 5-20% можно использовать один, используемый на 50-70%. Кроме прочего, это еще и экономия электроэнергии, а также значительное сокращение финансовых вложений: приобретается один высокотехнологичный сервер, выполняющий функции 5-10 серверов. С помощью виртуализации можно достичь значительно более эффективного использования ресурсов, поскольку она обеспечивает объединение стандартных ресурсов инфраструктуры в единый пул и преодолевает ограничения устаревшей модели "одно приложение на сервер".
  2. Сокращение расходов на инфраструктуру : Виртуализация позволяет сократить количество серверов и связанного с ними ИТ-оборудования в информационном центре. В результате этого потребности в обслуживании, электропитании и охлаждении материальных ресурсов сокращаются, и на ИТ затрачивается гораздо меньше средств.
  3. Снижение затрат на программное обеспечение . Некоторые производители программного обеспечения ввели отдельные схемы лицензирования специально для виртуальных сред. Так, например, покупая одну лицензию на Microsoft Windows Server 2008 Enterprise, вы получаете право одновременно её использовать на 1 физическом сервере и 4 виртуальных (в пределах одного сервера), а Windows Server 2008 Datacenter лицензируется только на количество процессоров и может использоваться одновременно на неограниченном количестве виртуальных серверов.
  4. Повышение гибкости и скорости реагирования системы : Виртуализация предлагает новый метод управления ИТ-инфраструктурой и помогает ИТ-администраторам затрачивать меньше времени на выполнение повторяющихся заданий - например, на инициацию, настройку, отслеживание и техническое обслуживание. Многие системные администраторы испытывали неприятности, когда "рушится" сервер. И нельзя, вытащив жесткий диск, переставив его в другой сервер, запустить все как прежде… А установка? поиск драйверов, настройка, запуск… и на все нужны время и ресурсы. При использовании виртуального сервера - возможен моментальный запуск на любом "железе", а если нет подобного сервера, то можно скачать готовую виртуальную машину с установленным и настроенным сервером, из библиотек, поддерживаемых компаниями разработчиками гипервизоров (программ для виртуализации).
  5. Несовместимые приложения могут работать на одном компьютере . При использовании виртуализации на одном сервере возможна установка linux и windows серверов, шлюзов, баз данных и прочих абсолютно несовместимых в рамках одной не виртуализированной системы приложений.
  6. Повышение доступности приложений и обеспечение непрерывности работы предприятия : Благодаря надежной системе резервного копирования и миграции виртуальных сред целиком без перерывов в обслуживании вы сможете сократить периоды планового простоя и обеспечить быстрое восстановление системы в критических ситуациях. "Падение" одного виртуального сервера не ведет к потере остальных виртуальных серверов. Кроме того, в случае отказа одного физического сервера возможно произвести автоматическую замену на резервный сервер. Причем это происходит не заметно для пользователей без перезагузки. Тем самым обеспечивается непрерывность бизнеса.
  7. Возможности легкой архивации . Поскольку жесткий диск виртуальной машины обычно представляется в виде файла определенного формата, расположенный на каком-либо физическом носителе, виртуализация дает возможность простого копирования этого файла на резервный носитель как средство архивирования и резервного копирования всей виртуальной машины целиком. Возможность поднять из архива сервер полностью еще одна замечательная особенность. А можно поднять сервер из архива, не уничтожая текущий сервер и посмотреть положение дел за прошлый период.
  8. Повышение управляемости инфраструктуры : использование централизованного управления виртуальной инфраструктурой позволяет сократить время на администрирование серверов, обеспечивает балансировку нагрузки и "живую" миграцию виртуальных машин.

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

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

ОС не может различить виртуальную и физическую машины. То же самое можно сказать о приложениях и других компьютерах в сети. Даже сама виртуальная машина считает себя "настоящим" компьютером. Но несмотря на это виртуальные машины состоят исключительно из программных компонентов и не включают оборудование. Это дает им ряд уникальных преимуществ над физическим оборудованием.


Рис. 2.2.

Рассмотрим основные особенности виртуальных машин более детально:

  1. Совместимость . Виртуальные машины, как правило, совместимы со всеми стандартными компьютерами. Как и физический компьютер, виртуальная машина работает под управлением собственной гостевой операционной системы и выполняет собственные приложения. Она также содержит все компоненты, стандартные для физического компьютера (материнскую плату, видеокарту, сетевой контроллер и т.д.). Поэтому виртуальные машины полностью совместимы со всеми стандартными операционными системами, приложениями и драйверами устройств. Виртуальную машину можно использовать для выполнения любого программного обеспечения, пригодного для соответствующего физического компьютера.
  2. Изолированность . Виртуальные машины полностью изолированы друг от друга, как если бы они были физическими компьютерами Виртуальные машины могут использовать общие физические ресурсы одного компьютера и при этом оставаться полностью изолированными друг от друга, как если бы они были отдельными физическими машинами. Например, если на одном физическом сервере запущено четыре виртуальных машины, и одна из них дает сбой, это не влияет на доступность оставшихся трех машин. Изолированность - важная причина гораздо более высокой доступности и безопасности приложений, выполняемых в виртуальной среде, по сравнению с приложениями, выполняемыми в стандартной, невиртуализированной системе.
  3. Инкапсуляция . Виртуальные машины полностью инкапсулируют вычислительную среду. Виртуальная машина представляет собой программный контейнер, связывающий, или "инкапсулирующий" полный комплект виртуальных аппаратных ресурсов, а также ОС и все её приложения в программном пакете. Благодаря инкапсуляции виртуальные машины становятся невероятно мобильными и удобными в управлении. Например, виртуальную машину можно переместить или скопировать из одного местоположения в другое так же, как любой другой программный файл. Кроме того, виртуальную машину можно сохранить на любом стандартном носителе данных: от компактной карты Flash-памяти USB до корпоративных сетей хранения данных.
  4. Независимость от оборудования . Виртуальные машины полностью независимы от базового физического оборудования, на котором они работают. Например, для виртуальной машины с виртуальными компонентами (ЦП, сетевой картой, контроллером SCSI) можно задать настройки, абсолютно не совпадающие с физическими характеристиками базового аппаратного обеспечения. Виртуальные машины могут даже выполнять разные операционные системы (Windows, Linux и др.) на одном и том же физическом сервере. В сочетании со свойствами инкапсуляции и совместимости, аппаратная независимость обеспечивает возможность свободно перемещать виртуальные машины с одного компьютера на базе x86 на другой, не меняя драйверы устройств, ОС или приложения. Независимость от оборудования также дает возможность запускать в сочетании абсолютно разные ОС и приложения на одном физическом компьютере.

Рассмотрим основные разновидности виртуализации, такие как:

  • виртуализация серверов (полная виртуализация и паравиртуализация)
  • виртуализация на уровне операционных систем,
  • виртуализация приложений,
  • виртуализация представлений.

О виртуализации сегодня не слышал разве что ленивый. Можно без преувеличения сказать, что сегодня это один из основных трендов развития 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-профессионалы, консолидация серверов небольших предприятий Близка к нативной (некоторые потери при работе с сетью и интенсивном использовании дисков)