Hyper-V: виртуализация в Windows Server 2008
В последнее время увеличение вычислительных мощностей позволило рассматривать средства виртуализации как серьезный инструмент, позволяющий существенно расширить функционал корпоративных ресурсов.
Виртуальный мир
Microsoft Windows Server 2008 содержит в себе множество новых технологий, таких как: Core Server, Network Access Protection, улучшенный контроль за подключением к системе различных устройств и т. д. Одной из таких новых технологий стало средство виртуализации под названием Hyper-V. Изначально выпуск бета-версии Hyper-V был запланирован на первый квартал 2008 года одновременно с официальным началом производства новой ОС Microsoft Windows Server 2008, однако в Microsoft решили выпустить тестовый вариант средства виртуализации раньше срока, вместе с Windows Server 2008 RC0 – Release Candidate. Возможно, таким образом в компании хотят выяснить, какие ошибки были допущены разработчиками при реализации данного продукта, и дать возможность потенциальным пользователям ознакомиться с продуктом перед его финальным релизом.
Прежде чем приступить к описанию Hyper-V, мне хотелось бы сделать небольшое отступление, посвященное существующим средствам и технологиям виртуализации. Рынок платформ виртуализации и средств управления в данный момент растет быстрыми темпами, и на нем периодически появляются новые игроки, а также в самом разгаре процесс поглощения крупными игроками мелких компаний, занимающихся разработкой программного обеспечения для платформ виртуализации и средств для повышения эффективности использования виртуальных инфраструктур. Это продиктовано прежде всего тем, что технологии виртуализации позволяют избежать ряда ограничений, которые существуют при использовании физических систем. Например, возможность использовать одновременно несколько операционных систем на одном физическом сервере, удобство резервного копирования, улучшенная безопасность и т. д.
На сегодняшний день лидерами в сфере производства средств виртуализации являются компании VMware, Microsoft, SWSoft (вместе с принадлежащей ей компанией Parallels), XenSource (купленный Citrix), Virtual Iron и InnoTek ( приобретенный SUN). Также на рынке присутствует ORACLE со своим пакетом виртуализации на основе Xen. Помимо продуктов этих вендоров присутствуют также такие разработки, как QEMU, Bosch и прочие, а также средства виртуализации от других разработчиков операционных систем (например, Solaris Containers – часто называется Zones, а также разработанная SUN система xVMM), которые не получили широкого распространения и используются узким кругом специалистов. Думаю, всем хорошо известны продукты компании VMware, ориентированные как на использование на рабочих станциях и в небольших сетях (VMware Workstation), так и на использование в больших корпоративных сетях (VMware Server, VMware ESX). На сегодняшний день они являются наиболее популярными и обладают наибольшим функционалом. Средства виртуализации от Microsoft (такие как Virtual PC, Virtual Server) являются основным конкурентом VMware. Однако пока как по функционалу, так и по популярности продукты последних явно опережают. Немаловажным является и ценовой фактор, в частности, наличие свободно распространяемых версий средств виртуализации. Для использования данных программных продуктов в учебных целях, а также в небольших организациях такие приложения наиболее подходят. Как правило, бесплатные средства виртуализации частично ограничены в функционале, лишены технической поддержки со стороны производителя, а также не имеют средств централизованного управления. Помимо уже упоминавшейся компании VMware, некоторые из продуктов которой имеют бесплатные версии, следует также отметить средства виртуализации от таких компаний, как Virtual Iron и XenSource, которые представляют собой приложения с открытым исходным кодом. Эти средства полностью бесплатны, однако не лишены ряда ограничений. Так, например, Virtual Iron для использования параллельной виртуализации требуется внесение изменений в ядро операционной системы, что для ОС с открытым исходным кодом не является большой проблемой, в то время как для проприетарных закрытых систем, таких как Windows, это неприемлемо, так как требует дополнительных технических и финансовых затрат на доработку своего кода для интеграции в ядро операционной системы.
Также следует упомянуть такой факт: продукты Microsoft – Virtual PC, Virtual Server 2005 бесплатны уже много лет и не являются ограниченными, в отличие от продуктов конкурентов. Еще следует отметить то обстоятельство, что именно появление бесплатных средств виртуализации от Microsoft заставило всех остальных игроков рынка либо выпустить ограниченные бесплатные версии, либо сделать бесплатными полные версии или создать сильно урезанные реализации вроде vmplayer.
Технология Hyper-V
Перейдем непосредственно к теме данной статьи, а именно к описанию новой технологии виртуализации Hyper-V.
В первую очередь необходимо рассказать о тех нововведениях, которые появились в Hyper-V. Данная технология позволяет гипервизору работать, напрямую взаимодействуя с аппаратной частью сервера. Таким образом, данная разработка может работать без наличия основной ОС, на базе которой будет происходить виртуализация. Поэтому Hyper-V является новым шагом в развитии технологии виртуализации, не уступающим другим гипервизорным продуктам, таким как Xen и VMware ESX, а по многим параметрам даже превосходящим.
Далее перечислю те редакции операционной системы Windows 2008, которые поддерживают Hyper-V. Поддерживаются только 64-битные редакции Windows Server 2008 Standard, Windows Server 2008 Enterprise и Windows Server 2008 Datacenter. По заявлениям разработчиков, наличие 64-битного процессора является необходимым условием для использования данной технологии. Возможно, для многих потенциальных пользователей это окажется серьезной проблемой. Для них предназначен Virtual Server. Кстати, Microsoft недавно объявила о поддержке Virtual Server 2005 R2 под Windows Server 2008. Существуют также и другие аппаратные ограничения: требуется «аппаратная поддержка виртуализации» (Hardware-assisted virtualization). Эта опция доступна на процессорах, поддерживающих виртуализацию, например Intel VT или AMD-V (Pacifica). И еще: должна быть доступна и использоваться технология DEP (Data Execution Protection), которая присутствует во всех современных материнских платах. Также желательно использовать ОЗУ с технологией ECC. Подводя итог приведенным аппаратным ограничениям, следует заметить, что новая технология достаточно требовательна к используемому аппаратному обеспечению и это может вызвать определенные трудности при внедрении, ведь далеко не все используют Brand Name оборудование. Тут следует отметить, что для средств виртуализации от других производителей требуется такая же аппаратная поддержка.
Вот основные возможности виртуализации, предлагаемые виртуализацией Windows Server 2008:
- 64-bit hypervisor-based-виртуализация.
- Возможность запуска 32-битных и 64-битных виртуальных машин одновременно.
- Поддержка однопроцессорных и многопроцессорных виртуальных машин. До 8 процессоров на каждую гостевую систему. Для сравнения, VMware умеет только 4.
- Возможность делать «снимки» виртуальных машин в запущенном состоянии. С помощью этих «снимков» машину можно вернуть в состояние, предшествующее выполнению «снимка». Снимки делаются прозрачно для виртуальной машины с помощью технологии vss writer (опубликована как промышленный стандарт). В случае использования System Center Data protection manager снимки могут делаться раз в 15 секунд и записываться в централизованное резервное хранилище.
- Поддержка виртуальных машин с большими требованиями к оперативной памяти (до 128 Гб).
- Поддержка виртуальных локальных сетей. Причем возможно создание нескольких полноценных виртуальных коммутаторов, поддерживающих VLAN по стандарту 802.1q. В такой коммутатор можно подключить 4096 сетевых устройств.
- Управление через Microsoft Management Console (MMC) 3.0.
- Наличие задокументированных функций Windows Management Instrumentation (WMI) для управления виртуальными машинами с помощью сценариев.
- Поддержка хранилища размером до 2 петабайт (1024 Тб).
- Поддержка ОЗУ физического сервера размером до 2 Тб. Для сравнения, VMware esxi поддерживает только 128 Гб ОЗУ.
Настраиваем Hyper-V
Прежде всего стоит отметить, что на данный момент уже доступна RC0-версия Hyper-V. Крайне рекомендуется обновление на нее, так как быстродействие существенно возрастает и увеличивается список поддерживаемых систем. Подробнее можно посмотреть по ссылке [6]. Выход финальной версии запланирован на осень этого года.
Установка Hyper-V достаточно проста и аналогична установке других компонентов Windows Server 2008. Для установки нажимаем «Start», затем выбираем «Server Manager». В меню «Roles Summary» выбираем опцию «Add Roles». На странице «Select Server Roles» выбираем Hyper-V.
Далее на странице «Create Virtual Networks» предлагается указать один или несколько сетевых адаптеров, которые будут использоваться для подключения к виртуальным машинам. Затем подтверждаем выбранные опции «Confirm Installation Selections», нажимаем «Install». После перезагрузки сервера необходимо осуществить доступ к консоли сервера под той же учетной записью, под которой была начата установка, так как мастер установки должен завершить инсталляцию продукта.
Создание виртуальных машин также достаточно стандартно, в Hyper-V для этого имеется специальный мастер. Перед созданием виртуальной машины необходимо заранее позаботиться о наличии свободного места на жестком диске, необходимых ресурсов оперативной памяти, а также дистрибутиве операционной системы, которую необходимо установить.
Консоль управления Hyper-V располагается в разделе Administrative Tools операционной системы Windows 2008. Далее запускаем создание новой виртуальной машины, выбрав в меню «Action» опцию «New» и затем «Next». После этого необходимо указать имя новой виртуальной машины и ее расположение, затем указываем количество используемой памяти. На странице «Networking» указываем используемый сетевой адаптер. На следующей странице указываем расположение виртуального жесткого диска, необходимо проследить за тем, чтобы на физическом жестком диске было достаточно места для нормальной работы виртуального. Затем выбираем источник для установки операционной системы: CD-ROM, iso-файл образа диска, дискета или установка по сети. Соответственно, в случае если используется установка по сети, необходимо позаботиться о том, чтобы виртуальная машина и сервер, с которого производится установка, находились в одной подсети. Собственно, на этом создание виртуальной машины заканчивается. Теперь достаточно запустить виртуальную машину и произвести установку операционной системы.
Средства интеграции
В процессе установки и дальнейшего использования виртуальной машины у вас могут возникнуть сложности с переключением между реальной системой и виртуальной, также могут быть проблемы с передачей данных через буфер обмена. Для решения этих проблем можно воспользоваться специальным пакетом, содержащим интеграционный сервис (integration service), который можно установить на виртуальную операционную систему. Интеграционные пакеты существуют для наиболее распространенных версий операционных систем. Для того чтобы установить данный пакет, необходимо в меню «Action» консоли Hyper-V выбрать Insert Integration. Далее должен запуститься файл установки, в случае если этот файл не запустился автоматически, его можно стартовать вручную из каталога: %windir%\support\amd64\setup.exe. После установки пакета работа с виртуальной машиной станет более «прозрачной», то есть вы сможете использовать буфер обмена, свободно перемещать курсор мыши и т. д. Таким образом, ваши виртуальные машины готовы к работе.
Средства управления
Завершая тему виртуализации в решениях Microsoft, следует упомянуть также еще о некоторых нововведениях. Помимо виртуализации сервера, также предлагается использовать новое средство управления System Center для мониторинга и удаленного управления виртуальной средой. System Center – это семейство продуктов, предназначенных для мониторинга и управления различными приложениями и системами, ранее продукты из этого семейства были известны как Microsoft Operations Manager (MOM) и System Management Server. Применение System Center будет полезно при использовании большого числа виртуальных машин (например, в крупных корпоративных сетях), так как позволит не просто следить за состоянием каждой из виртуальных машин, нагрузкой, количеством доступных ресурсов и т. д., но и автоматизирует процесс установки различных приложений. Модуль System Center, используемый для управления виртуальной средой, называется System Center Virtual Machine Manager. Данный модуль позволяет не просто осуществлять мониторинг использования ресурсов виртуальными машинами, но и дает возможность на уровне гостевой операционной системы отслеживать системные события, определять, какие именно приложения вызывают избыточную нагрузку, выяснять, что именно вызвало нехватку ресурсов, и т. д. Здесь следует также отметить, что решение для мониторинга виртуальных машин от Microsoft гораздо мощнее предлагаемых другими производителями, например VWware ESX, так как для ESX гостевая машина – это черный ящик, а System Center понимает, что именно происходит внутри гостевой ОС. Кстати, на сайте Microsoft можно скачать бесплатную 120-дневную испытательную версию System Center Virtual Machine Manager. Также для управления из-под Windows Vista серверами с Hyper-V доступен RSAT (Microsoft Remote Server Administration Tools) [6]:
Заключение
Таким образом, заявленные в Windows Server 2008 средства виртуализации вполне могут стать мощным средством, позволяющим распределить роли между различными серверами без дополнительных затрат на оборудование и упростить процесс администрирования сети.
- http://www.microsoft.com/downloads/details.aspx?FamilyID=bcaa9707-0228-4860-b088-dd261ca0c80d&DisplayLang=en – Windows Server 2008. Step-by-Step Guide to Getting Started with Hyper-V – руководство по развертыванию виртуальной среды. Или: http://technet2.microsoft.com/windowsserver2008/en/library/c513e254-adf1-400e-8fcb-c1aec8a029311033.mspx?mfr=true.
- http://www.microsoft.com/windowsserver2008/en/us/virtualization-consolidation.aspx.
- http://blogs.technet.com/virtualization – блог команды, разрабатывающей Hyper-V.
- http://blogs.msdn.com/Virtual_PC_Guy – блог менеджера команды Hyper-V.
- http://www.microsoft.ru/virtualization – большой постоянно обновляемый сборник русскоязычных документов о виртуализации.
- http://blogs.technet.com/vm – русскоязычный блог о виртуализации от Microsoft.
- http://blogs.technet.com/abeshkov – русскоязычный блог о виртуализации от Microsoft.