Обзор технологий виртуализации для VPS. Особенности платформы виртуализации MS Hyper-V R2 Место в серверной


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

VMware ESXi

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

Да и сегодня на десктопах нередко можно найти VMware Workstation и VMware Player. Последний появился как ответ MS Virtual PC и является бесплатной версией Workstation. Работает он из-под установленной ОС, то есть к промышленной среде не совсем подходит. Для установки на «голое железо» предлагается VMware ESXi – самостоятельный продукт, являющийся основой для установки гостевых ОС, а совместно с VMware vSphere - средством для построения виртуальной инфраструктуры и управления виртуальными ресурсами (подробнее в статье «Виртуальная сфера», см. ][ 08.2010). По сути, ESXi - это сильно урезанная версия Linux, содержащая гипервизор (VMkernel) и консоли управления: vCLI (vSphere CLI), PowerCLI (PowerShell интерфейс к vCLI), SSH и DCUI (Direct Console User Interface).

Ранее ESXi считался «младшим братом» в линейке продуктов VMware, ведь он представляет собой бесплатный и урезанный вариант ESX. Но время ESX прошло, следующие версии VMware VSphere будут включать поддержку исключительно ESXi (предложено также его альтернативное название - VMware vSphere Hypervisor), а все преимущества ESX перед ESXi сошли на нет. Так что разработчики рекомендуют переходить на ESXi.

Главное отличие ESXi от ESX заключается в архитектуре. Основой ESX служит полноценная версия Linux, на которую можно устанавливать при необходимости свои приложения. Агенты VMware работают через COS (Console OS), то есть через дополнительный уровень. В итоге мы имеем больший размер дистрибутива: ~2 Гб по сравнению с 350 Мб у ESXi (на хард ставится всего 70Мб).

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

Дистрибутив можно записать на флэшку или вообще вшить в firmware сервера. Из-за некоторых особенностей официальный список совместимого оборудования у ESXi (clck.ru/9xlp) меньше, чем у ESX, который поддерживается и старыми серверами, но со временем он увеличится. Кроме того, добровольцами создан неофициальный список компьютеров ESXi Whitebox HCL (clck.ru/9xnD), на которых работает VMware ESXi. Системы из этого списка используются на свой страх и риск, но обычно проблем не возникает.

Продукт от VMware отличает поддержка большого количества гостевых ОС. Здесь полный фарш - Windows, Linux, Solaris, FreeBSD, Netware и многие другие, весь список доступен на сайте.

Функциональность последних релизов ESXi уже «подтянули» под возможности ESX - появилась интеграция с Active Directory (любая учетная запись будет проверяться в каталоге), функции расширенного управления памятью (неиспользованные ресурсы освобождаются), совместная работа с системами хранения данных VMware vStorage VMFS/Storage VMotion и SAN, настройка приоритетов трафика, технология безопасности VMsafe Security API. Гибкое распределение ресурсов позволяет «на горячую» добавить CPU, ОЗУ, жесткий диск (в том числе и изменить размер текущего без перезагрузки).

Установка дистрибутива на голое железо очень проста (стандартный вариант с привода или через PXE), к тому же начиная с версии 4.1 поддерживаются сценарии, позволяющие автоматизировать процесс инсталляции ПО, настройку сети и подключения к vCenter Server. Через VSphere API интегрировано управление резервного копирования ESXi.

Немаловажно наличие специального конвертера VMware vCenter Converter (vmware.com/products/datacentervirtualization/converter), позволяющего использовать в ESXi образы MS Virtual Server, Virtual PC, Hyper-V, а также физические серверы и образы дисковых разделов, созданных такими программами как Acronis True Image, Norton Ghost и другими.

Кроме этого, помочь в развертывании ESXi может и бесплатный веб-сервис VMware Go (go.vmware.com), позволяющий протестировать физический сервер на совместимость, установить ESXi и создать новые VM.

MS Hyper-V

Технология виртуализации от MS, финальная версия которой выпущена летом 2008 года. С выходом Win2k8R2 Hyper-V получил новые возможности - Live Migration, динамическая память, улучшены ряд инструментов и поддержка оборудования.

Hyper-V построен по принципу гипервизора с микроядром и напрямую «общается» с оборудованием сервера на Ring-1. Это уменьшает расходы, благодаря чему достигается высокая скорость работы. Предлагается в двух вариантах - как роль Windows Server 2k8/R2 (доступна в полном варианте и Server Core) или как отдельное решение для установки на «голое железо» - MS Hyper-V Server 2008 R2 (microsoft.com/hyper-v-server). Последний распространяется бесплатно (не требует Client Access License), лицензия понадобится лишь для гостевых Windows. По сути, это урезанный вариант Server Core, в котором установлена одна роль (без возможности изменения) и ограничены инструменты управления.

Кроме лицензии, между разными вариантами Hyper-V есть и другие отличия, но в бесплатном варианте доступно все необходимое для построения сервера виртуализации. Это поддержка технологии Live Migration, консолидация серверов и кластеризация узлов.

Сервер, на который устанавливается MS Hyper-V Server, может иметь ОЗУ в 1 Тб и до 8 CPU, чего вполне достаточно для задач небольшой и средней организации.
Официально поддерживаются 32- и 64-битные версии Windows XP SP3, Vista SP2/2k3 SP1/2k8 и Linux (SLES и RHEL). Но в интернете можно найти десяток руководств, в которых описана успешная эксплуатация других версий *nix - Ubuntu, FreeBSD и так далее. Для установки рекомендуется выбирать дистрибутивы Linux с ядром 2.6.32+, в котором добавлена поддержка Hyper-V (LinuxIC, распространяется MS под GPL). Правда, только гостевые Win2k8 могут быть сконфигурированы с 4 vCPU.

Для установки MS Hyper-V Server потребуется компьютер с x64 CPU, поддерживающий технологии Intel VT или AMD-V, и минимум 1 Гб RAM.

Для управления большими массивами виртуальных серверов MS предлагает отдельный продукт System Center Virtual Machine Manager 2008 (SCVMM 2008), имеющий инструменты для P2V(Physical to Virtual) и V2V-конвертирования серверов (с VMware). Опять же, в списке поддерживаемых для P2V только Win. Поэтому, чтобы перенести свой сервак, работающий на Linux, придется выбрать длинный путь: VMware vCenter Converter .. ESXi .. SCVMM .. Hyper-V. Не всегда данный процесс проходит гладко, особенно для дистрибутивов, не поддерживаемых официально.

В этом случае безопасней установить систему вчистую, а затем перенести данные из бэкапа. Вместо SCVMM в этой связке можно использовать бесплатный VMDK2VHD (vmtoolkit.com/files), Citrix XenConvert, Quest vConverter (

У тех кто впервые сталкивается с виртуализацией возникает логичный вопрос — Как выбрать подходящий гипервизор?

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

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

Если не лезть в дебри и компактно описать плюсы и минусы самых популярных гипервизоров, а это VMware ESXi, Microsoft Hyper-V и XenServer. Мне понравился ответ на Тостере пользователя под ником Evgeny_Shiryaev.

Плюсы и минусы Microsoft Hyper-V, VMware ESXi и XenServer

Microsoft Hyper-V

1. Сам гипервизор ничего не стоит, его можно скачать с сайта Microsoft (в виде Hyper-V Server);
2. Хорошо подходит для виртуализации ОС от Microsoft;
3. Большинство продуктов Microsoft поддерживают работу в виртуальной среде Hyper-V;
4. Легко установить и настроить;
5. Большинство системных администраторов умеют с ним работать;
6. Может установиться на любой сервер, на который может встать Windows.

1. Плохо подходит для виртуализации ОС не от Microsoft (т.е. не Windows);
2. Продвинутые инструменты администрирования (Virtual Machine Manager) платные;
3. За каждую копию Windows внутри гипервизора придется заплатить (это если используется продукт Hyper-V Server, если используется роль Hyper-V ОС Windows Server 2008 R2 Datacenter, то за копии Windows, запущенные в виртуальной среде платить не надо).

VMware ESXi

1. С технической точки зрения самый продвинутый гипервизор;
2. Бесплатен (можно скачать с сайта VMware);
3. Поддерживает множество ОС внутри себя (Windows, Linux, BSD, Solaris, и т.д.);
4. Легко установить и настроить.


2. Может установиться только на ограниченное количество серверов;
3. За каждую копию Windows внутри гипервизора придется заплатить;
4. Не все системные администраторы умеют с ним работать.

XenServer

1. Поддерживает множество ОС внутри себя;
2. Бесплатен;
3. Поддерживает достаточно большое количество серверов.

1. Продвинутые инструменты администрирования платные;
2. За каждую копию Windows внутри гипервизора придется заплатить;
3. Большинство системных администраторов с ним не работали.

Выводы по выбору гипервизора:

— Если Вы хотите запускать в виртуальной среде ОС и ПО от Microsoft - выбирайте Hyper-V.

— Если Вы хотите запускать в виртуальной среде различные ОС (Windows, Linux, Solaris, и т.д.) и при этом Ваши сервера входят в HCL ESXi - выбирайте ESXi.

— Если Вы хотите запускать в виртуальной среде Linux и OSS, и при этом у Вас есть специалисты, которые могут с ним работать - выбирайте XenServer.

Все четко, я согласен.
Для себя выбрал бесплатную версию гипервизора ESXi, в самый раз. Хотя нормально подружить FreeBSD с ESXi не удалось — происходит заметная потеря производительности, однако Linux (Debian, CentOS летают )

Я там немного скакнул с одного аспекта на другой. =)

Смотрите...

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

Нюанс в том, что есть три основных варианта:

  • У вас есть гипервизор и N виртуальных машин на нем
  • У вас есть N физических серверов
  • У вас есть один физический сервер с одной операционной системой (без виртуализации) и все установлено в эту ОС.

В случае с третьим вариантом (самым ужасным) у вас получаются проблемы априори. Вы не можете прогнозировать нагрузку, у вас отсутствует безопасность как таковая (потому что наверняка нужно давать доступ пользователям на сервер, которые еще и контроллер домена) и ваши приложения влияют друг на друга. Ну, например, из жизни: "одинэс" сожрал 100% CPU - встало все, просто потому, что все на одном экземпляре ОС.

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

Ну и первый вариант. Если вам нужно купить только один сервер, вы практически всегда можете обосновать больший бюджет на него. Объяснив, что покупка его один раз избавит от необходимости закупать новые серверы, скажем, в ближайшие два года. И получится купить уже сервер от нормального производителя (HP\DELL и т.п.), у которого будет нормальный аппаратный RAID, нормальная по качеству компонентная база и так далее. Плюсом - у него будет нормальная гарантийная поддержка. Если вы используете соответствующий уровень RAID - вы защищены от потери данных при выходе из строя диска (или даже двух). А вышедший из строя диск вам поменяют по гарантии. Так же по гарантии вам поменяют все остальное (хотя "остальное" выходит из строя в приличных серверах гораздо реже, я за много лет помню всего пару случаев, когда выходили из строя компоненты). Но опять же вы будете избавлены от поиска "такой же материнки", потому что вам все покроет гарантия.

То есть надежность существенно выше, рисков меньше.

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

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

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

Надеюсь, так понятнее.

Даже при поверхностном рассмотрении предложений по аренде VPS бросается в глаза обилие систем виртуализации, предлагаемых хостерами. Среди них можно выделить OpenVZ, Virtuozzo, Xen, KVM, Microsoft Hyper-V, VDSmanager и различные модификации этих технологий. Каждый провайдер приводит массу плюсов используемой именно им системы, но при этом мало кто сравнивает технологии виртуализации между собой и говорит о минусах.

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

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

Технологии виртуализации, используемые в хостинге, можно разделить на два типа - программная виртуализация и полная (аппаратная) виртуализация.
К первой группе можно отнести OpenVZ, Virtuozzo, VDSmanager, а ко второй - Xen, KVM и Hyper-V от Microsoft.

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

Поскольку используется общее ядро, ОС на виртуальных машинах могут использовать только это ядро. Если речь идет о Linux VPS на базе программных технологий виртуализации - пользователю VPS доступен любой Linux дистрибутив на выбор (CentOS, Debian, Ubuntu и так далее). Если речь идет о Windows VPS – пользователи могут рассчитывать только на сервер с той же версией Windows, что установлена на гипервизоре. Сегодня это как правило Windows Server 2008.

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

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

Процессоры: 2 x Intel Xeon E5620 (8 физических ядер)
ОЗУ: 48-96 ГБ ECC Reg
Дисковая система: 4 x 450 ГБ SAS Hardware RAID 10 (примерно в 5 раз производительнее SATA-дисков)

Подобная нода позволяет без особых неудобств для пользователей разместить до 50 серверов со следующими параметрами:

Процессор: 1800-3600 МГц
ОЗУ: 2048-4096 МБ
HDD: 20-40 ГБ

При выборе VPS на программной виртуализации никогда не стоит гнаться за копеечными предложениями - они обычно означают, что хостер оверселлит (продает больше ресурсов, чем имеет). Нормальная цена среднего по ресурсам VPS, как указанного выше – от $15-20 ежемесячно.

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

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

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

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

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

Стоит ли VPS на аппаратной виртуализации этих минусов? Если Вам нужен именно тот объем ресурсов, за который вы платите, и важна полная независимость, а не компромиссы - тогда да, стоит.

Особенности каждой из технологий для пользователя

OpenVZ – бесплатная технология виртуализации, используемая большинством хостинг-провайдеров, и поддерживаемая многими панелями управления VPS-серверами, как платными (SolusVM, VDSmanager), так и бесплатными (HyperVM, OpenVZ Web Panel).

OpenVZ активно развивается, и первой получает все нововведения, которые после обкатки переходят в Virtuozzo – коммерческий вариант OpenVZ, разрабатываемый и продвигаемый корпорацией Parallels в качестве оптимальной платформы VPS-хостинга.

Разумеется, коммерческая технология Virtuozzo более стабильна и удобна в управлении для пользователя (взять ту же Parallels Power Panel, которая входит в дистрибутив системы и поставляется с контейнерами), но при этом, данная технология - удовольствие не из дешевых. VPS на базе Virtuozzo по своей стоимости граничат с VPS на аппаратной виртуализации, в то время как VPS на OpenVZ существенно дешевле - почти в два раза. Кроме того, сегодняшние инструменты управления VPS на OpenVZ делают работу с данными VPS для пользователей вполне приемлемой и даже удобной.

Стоит заметить, что имеется вариант Virtuozzo для Windows, работающий по тому же принципу, что и для Linux.

FreeBSD же, к сожалению, не поддерживается ни Virtuozzo, ни OpenVZ, зато обеими системами поддерживаются большинство современенных Linux-дистрибутивов.

VDSmanager - это программная технология виртуализации для FreeBSD, которая затем переросла и в универсальную панель управления, которая поддерживает сейчас и другие технологии виртуализации, в частности KVM, Xen и OpenVZ.

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

Для VPS с Linux лучше выбрать другие решения - они более стабильны, и как правило, более функциональны. Один из лучших вариантов - OpenVZ c SolusVM. Не слишком отстает и недавно появившаяся бесплатная панель OpenVZ Web Panel, которая уже начинает активно использоваться хостинг-провайдерами.

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

KVM же имеет некоторые преимущества - к примеру, является неотъемлемой частью ядра, а не модулем, как Xen, и соответственно, более активно развивается вместе с развитием дистрибутивов, в частности - Redhat-based систем. Провайдеры видят эту тенденцию, и мигрируют с Xen на KVM.

Поэтому, если вам нужен аппаратно независимый VPS c Linux или FreeBSD, рекомендуем сделать выбор именно в пользу KVM, с прицелом на будущее.

Средств управления Xen/KVM серверами также достаточно. Одним из лучших вариантов считаем SolusVM – универсальную панель для OpenVZ, Xen и KVM VPS, занимающую около 90 процентов зарубежного VPS-рынка, и активно внедряемую уже и отечественными провайдерами.

Hyper-V – аппаратный гипервизор от Microsoft. На сегодняшний день по праву считается лучшим решением для виртуализации серверов с ОС Windows, и активно внедряется хостинг-провайдерами.

Оптимальный вариант для аппаратного VPS с Windows на борту, но не самое лучшее решение для VPS с Linux или FreeBSD. Большинство хостеров по этой причине и позиционируют Hyper-V как виртуализацию для Windows VPS.

VMware – дорогая коммерческая аппаратная технология виртуализации, которая сегодня используется, преимущественно, для облачных VPS (пользователь может на лету изменять объем доступных ресурсов, оплачивая затем тот объем, которые использовал). Традиционные VPS на WMware – большая редкость ввиду стоимости данной технологии. Отметим, что виртуальные машины VMWare легко переносить между физическими нодами без остановки.

Идеальной системы виртуализации для VPS-хостинга нет, и, наверное, и быть не может. Каждая система хороша для своих задач: если вам нужен быстрый в управлении и работе VPS по самой низкой цене, но не критично удобство и стабильность - лучше всего подойдет OpenVZ. Цените стабильность и комфорт, но нужны преимущества программной виртуализации? Значит, ваш выбор - Virtuozzo. KVM отлично подойдет тем, кому нужен честный «кусок» выделенного сервера, но до аренды целого сервера проект еще не дорос, и так далее.