Hyper-V: технология виртуализации для Windows Server 2008
Ульяна Смелая (core@synack.ru)
По мере увеличения вычислительных мощностей компьютерной техники специалисты и обычные пользователи стали уделять все больше внимания системам виртуализации. В Win2k8 встроено мощное средство виртуализации Hyper-V, которое способно в корне изменить ситуацию на рынке подобных решений.
Содержание:
- Технология Hyper-V
- Установка Hyper-V
- Управление Hyper-V
- Виртуальные сети и диски
- Заключение
- Врезка: Инструменты управления Hyper-V
- Врезка: Клавиши управления Hyper-V
- Боковые выносы
Всего каких-то пару лет назад ситуация на рынке систем виртуализации напоминала полный штиль. Пользователи и администраторы, желающие установить один из подобных продуктов, выбирали традиционные решения, предоставляющие необходимый уровень функциональности. И очень часто таким решением оказывался всем известный VMware, который давно (и вполне заслуженно) занял место лидера. Но сегодня ситуация резко изменилась и напоминает гонку процессоров, когда одна ошибка может дорогого стоить. Ведь сегодня виртуализация используется примерно на 10% всех серверов в мире, а это весьма солидный кусок пирога.
Все началось с покупки Microsoft компании Connectix и выпуска нового на этом рынке продукта — Microsoft Virtual PC. Причем пикантность ситуации состояла не столько в появлении еще одного конкурента, а в том, что Virtual PC предлагался абсолютно бесплатно. И поэтому, не смотря на некоторые его недостатки (например, отсутствие хороших средств и функций управления), он был принят весьма неплохо. И главное, производители, чтобы не остаться за бортом, вынуждены были ответить появлением бесплатных, хотя и несколько ограниченных по возможностям версий своих продуктов. Как пример приведу VMware Player, который может использовать только готовые образы, но не умеет самостоятельно их создавать. Последняя проблема была решена появлением сервисов вроде , позволяющих ваять нужный образ прямо в онлайне, а некоторые производители ПО стали выкладывать рядом с обычными версиями своих продуктов еще и готовый образ для VMware Player. Но как бы то ни было, корпорация Microsoft смогла быстро занять место среди лидеров, выпускающих средства виртуализации.
Технология Hyper-V стала одной из ключевых возможностей Win2k8, хотя первые релизы этой системы включали beta3 версию Hyper-V. Финальный выпуск был обещан через 180 дней после анонса Win2k8, но он появился в начале лета, на 2 месяца раньше срока. Сегодня он входит в состав 64-битных версий Win2k8 Standard/Enterprise/Datacenter (Web и Itanium — нет) и как отдельный продукт под названием Microsoft Hyper-V Server 2008. Последний полностью бесплатен и не требует CAL (Client Access License), лицензия понадобится лишь для гостевых Windows. Технологию Hyper-V можно использовать как в режиме полной установки (с графической оболочкой), так и в Server Core.
Возможности, предоставляемые Hyper-V, в разных версиях Win2k8 несколько отличаются. Так Hyper-V Server 2008, по сути, является сильно облегченной версией Win2k8 Standard, из которой убрано практически все, что не касается виртуализации. Оставлены только средства управления гипервизором. Предназначен этот вариант для «чистой виртуализации» (других сервисов там попросту нет), но зато требует на порядок меньше ресурсов, чем тот же Server Core. Он поддерживает (как и Standard) до 4 физических процессоров и до 32 Гб ОЗУ. Возможен запуск до 128 VM, недоступен локальный графический интерфейс управления, отсутствует поддержка кластеров, что не позволяет создавать на нем отказоустойчивые решения и реализовать возможность быстрой миграции.
Еще одним отличием версий является количество VM, которые можно запускать без дополнительного лицензирования. Так в лицензию Standard «включена» одна бесплатная VM, в Enterprise – 4, количество VM в Datacenter — не ограничено.
Основной минус новой технологии – довольно высокие требования к процессорам. Как ты, наверное, заметил, поддержка 32-х разрядных систем отсутствует (вообще говоря, архитектура платформы x86 никогда не предназначалась для запуска нескольких операционных систем одновременно, кроме того, ей присущи различные ограничения, например, максимальный размер ОЗУ равен 4 Гб). Возможна работа только на 64-разрядных процессорах, поддерживающих технологии Intel VT или AMD-V (прежнее название Pacifica). В BIOS должен быть активизирован механизм защиты исполняемого кода (Intel XD или AMD NX).
Работает гипервизор на Ring-1 и напрямую общается с оборудованием сервера, без задействования основной ОС, роль которой в Hyper-V минимальна. Микроядерная архитектура гипервизора (его размер менее 1 Мб) позволяет абстрагироваться от основных функций, на его плечи возложено управление выделением ресурсов (CPU, RAM, I/O). Каждый сервер Hyper-V имеет один родительский (Parent Partition) и несколько дочерних разделов (по количеству гостевых ОС, Child Partition). Родительский раздел является виртуальным устройством с прямым доступом к аппаратным ресурсам. Гостевые ОС для доступа к устройству используют Parent Partition. Заявленные возможности Hyper-V весьма впечатляют:
- Поддерживаются как однопроцессорные, так и многопроцессорные виртуальные машины с максимальным количеством процессоров 24;
- Физический сервер может работать в конфигурации до 1 Тб RAM, виртуальные машины поддерживать 128 Гб RAM;
- Возможность одновременного запуска до 192 виртуальных машин, количество настроенных, но не работающих VM ограничено числом 512;
- Одновременная работа 32- и 64-битных версий гостевых ОС;
- Поддержка виртуальных локальных сетей – VLAN до 4096 устройств, отдельная VM может иметь до 12 виртуальных сетевых адаптера;
- VM может иметь 4 виртуальных диска, каждый размером до 2040 Гб;
- Возможность создания мгновенных снимков работающих виртуальных машин. В такую копию записывается также системное состояние, данные и конфигурация аппаратных средств.
Для создания резервной копии может задействоваться и служба Volume Shadow Copy Service (VSS). Поэтому при необходимости можно быстро вернуть виртуальный сервер к предыдущему состоянию. По умолчанию максимальное количество виртуальных процессоров равно 16, а виртуальных машин — 128. Чтобы увеличить их число до указанных 24 и 192, необходимо установить обновление .
В зависимости от версий родительской и гостевой ОС некоторые из указанных характеристик будут отличаться. Так версии Win2k8 Standard и Hyper-V Server поддерживают в гостевых системах только до 32 Гб RAM. Гостевая Win2k8 в Standard может иметь 1,2 и 4 CPU, 2k3/Vista – 1 или 2, все остальные — только 1. Очевидно, что потенциал у Hyper-V довольно высокий, по многим характеристикам он уверенно обходит аналогичные программы. Будут ли все они востребованы в ближайшее время, это уже другой вопрос.
Количество официально поддерживаемых гостевых ОС постоянно увеличивается. Уточненный список можно просмотреть на странице, посвященной . На сегодняшний день это практически все семейство ОС от Microsoft, начиная с версии WinXP Pro SP2. Из «не оконных» систем в этот список попал только SUSE Linux Enterprise Server 10 SP1 (что не вызывает удивления, учитывая соглашение, заключенное между Novell и Microsoft). Но под Hyper-V нормально работают и другие Linux дистрибутивы – Debian, Ubuntu, Mandriva. Есть информация и об удачных гостевых запусках FreeBSD.
Так как в настоящее время технология Hyper-V развивается весьма активно, перед началом установки рекомендуется накатить последние системные обновления, среди них наверняка будет что-то новенькое и для Hyper-V. Для этого в режиме полной установки следует выбрать Start – Control Panel — Windows Update, щелкнуть View update history, выбрать, а затем установить необходимые обновления. В Server Core просмотр обновлений производится командой «wmic qfe list». Как вариант, их можно просто скачать с сайта Microsoft и установить стандартным образом или воспользоваться Диспетчером сервера. В частности, следует установить KB956710, KB950050. Некоторые обновления потребуют последующей перезагрузки системы. Но есть еще один нюанс, о котором нужно знать. Во многих руководствах по Hyper-V рекомендуется использовать только английскую версию Win2k8. К счастью для тех, кто не владеет языком Шекспира, Microsoft выпустила обновление KB951636 — набор , в котором есть и русский язык. Это обновление содержит два пакета: для x86 и x64 гостевых систем. Но перед его инсталляцией необходимо установить Windows Server 2008 MUI Language Pack, а затем добавить в систему поддержку нужного языка. Последнее не тривиально. Следует извлечь из img образа каталог своего языка (внутри несколько файлов, основной — Lp.cab), затем в консоли «Regional and Language Options» перейти во вкладку «Keyboards and Languages», где нажать на Install/uninstall languages и указать на извлеченный каталог с языковыми файлами.
Сам процесс добавления новой роли выполняется стандартным способом в Диспетчере сервера (Server Manager) при помощи мастера добавления ролей, вызываемого нажатием ссылки «Добавить роли» (Add Roles). Перейдя на страницу выбора ролей «Select Server Roles», отмечаем флажком Hyper-V и переходим к следующему шагу «Create Virtual Networks». Здесь необходимо отметить один или несколько физических сетевых адаптеров, которые будут использованы при создании виртуальных сетей. Рекомендуется одно сетевое устройство использовать только для удаленного управления компьютером, не задействуя его в виртуальной сети. Далее знакомимся с установками и, если все в порядке, нажимаем кнопку Install. Возможно, будет предложено произвести некоторые действия, например, включить поддержку виртуализации в BIOS для Intel VT (для AMD-V она активирована по умолчанию). По всем вопросам здесь же присутствуют ссылки, по которым можно получить дополнительную информацию. Через некоторое время потребуется произвести перезагрузку. После рестарта обязательно зарегиструемся в системе под той же учетной записью. Теперь еще некоторое время уйдет на автоматическую установку компонентов и конфигурирование при помощи «Resume Configuration Wizard».
Для установки Hyper-V в режиме Server Core необходимо произвести стандартные настройки сервера (смотри статью «Без окон, без дверей» в августовском ][ за 2008 год) и затем ввести команду:
> start /w ocsetup Microsoft-Hyper-V
Кроме самой роли Hyper-V, будет установлен и инструмент удаленного управления «Hyper-V Tools». Если управление Hyper-V планируется производить с другого Win2k8, тогда в Диспетчере сервера открываем Компоненты (Features), нажимаем (Add Features), в окне выбора компонентов переходим в «Средства удаленного администрирования сервера – Средства администрирования ролей», где отмечаем «Средства Hyper-V» (Remote Server Administration Tools — Remote Administration Tools — Hyper-V Tools).
Для управления настройками Hyper-V в Win2k8 предлагается Диспетчер Hyper-V (Hyper-V Manager), установленный нами на предыдущем шаге. Как и все прочие инструменты в этой системе, диспетчер является консолью MMC и позволяет управлять не только локальным, но и несколькими удаленными серверами. Его можно вызвать из Server Manager, либо как отдельное приложение из меню Administrative Tools.
Структура окна Диспетчера Hyper-V стандартна. Окно разделено на три части. В левой выводится список Hyper-V серверов, к которым подключен диспетчер. При помощи настроек, расположенных справа, производится собственно управление работой выбранного сервера. В окне посередине показываются и редактируются некоторые параметры, а также выбираются VM.
При первом запуске диспетчера необходимо принять условия лицензионного соглашения. Далее подключаемся к удаленному серверу, нажав ссылку «Connect to Server», или выбираем локальную систему. Перед началом дальнейших настроек советую зайти в пункт «Hyper-V Server Settings» и пройтись по пунктам. Например, по умолчанию виртуальные диски и снапшоты помещаются в один из каталогов на системном диске С. Это не очень практично с точки зрения производительности, безопасности и резервного копирования. Лучше использовать отдельный раздел для их хранения. Остальные параметры позволяют настроить реакцию виртуальной системы на комбинацию переключения окон <Alt+Tab>, комбинацию для выхода из виртуальной машины <Ctrl+Alt+Стрелка влево> и другие.
Если уже есть готовые виртуальные машины (например, созданные в Virtual Server), то их можно импортировать в Hyper-V. Для этого достаточно нажать ссылку «Import Virtual Machine», после чего указать на каталог, в котором расположены связанные файлы.
Большая часть настроек производится при помощи мастеров, поэтому процесс создания новой виртуальной машины довольно прост, необходимо пройти всего несколько простых шагов, но для начала желательно познакомиться с некоторыми особенностями и тонкостями.
В Hyper-V для связи с VM и VM между собой могут использоваться три типа виртуальных сетей:
- External (Внешняя) — универсальный тип, который можно использовать для связи между виртуальными устройствами на том же физическом сервере, включая родительский раздел, а также внешними серверами;
- Internal (Внутренняя) — предназначена для связи между виртуальными системами, расположенными на одном физическом сервере, включая сеть управления. Отличается от предыдущей тем, что она должна привязываться к реальному сетевому устройству.
- Private (Частная) – используется для связи между виртуальными устройствами на одном физическом сервере, она является внутренней, изолированной от остальных виртуальной сетью, в которой не используется виртуальное сетевое устройство.
Для того чтобы создать новую виртуальную сеть, необходимо выбрать ссылку «Virtual Network Manager». Откроется окно диспетчера виртуальных сетей, в котором будут показаны все виртуальные сетевые устройства, подключенные к Hyper-V на этапе установки. Для удобства в поле Name можно прописать другое имя сетевого устройства и добавить его описание в поле Notes, чтобы затем легче было ориентироваться среди множества виртуальных девайсов. По умолчанию все созданные виртуальные сетевые устройства имеют тип External (кстати, для него можно указать альтернативное физическое устройство, с которым он будет сопоставлен). При необходимости этот тип можно изменить, установив в поле «Connection Type» переключатель в другую позицию. И наконец, в самом низу прописывается VLAN идентификатор (опционально). Кнопка Remove позволяет удалить выбранный виртуальный адаптер. Чтобы создать новую сеть, щелкаем в панели слева ссылку «New virtual network», указываем тип сети и нажимаем кнопку Add, после чего редактируем параметры.
Сервер Hyper-V может работать с тремя типами устройств хранения данных:
- Жесткий диск, подключенный непосредственно к серверу;
- Сеть хранения данных SAN (Storage area network), подключенная при помощи технологий Internet SCSI (iSCSI), Fibre Channel или SAS;
- Сетевая система хранения данных NAS (Network-attached storage) – один или несколько серверов, используемых для хранения информации и подключенных обычно по сети Ethernet.
Мастер создания виртуальной машины практически не имеет настроек, связанных с виртуальным жестким диском (файл с расширением .vhd). Более гибким вариантом работы является предварительное создание виртуальных дисков и подключение их на этапе создания новой VM. Чтобы создать новый виртуальный диск, выбираем «New – Hard Disk» и следуем указаниям мастера создания дисков. Второй шаг «Choose Disk Type» позволяет задать тип диска. По умолчанию предлагается тип «Dynamically expanding», т.е. динамически расширяющийся по мере заполнения виртуальный диск. Этот тип позволяет рационально использовать дисковое пространство, но придется контролировать доступное место на физическом диске. Альтернативой является тип «Fixed size» – диск фиксированного размера. При его создании образ сразу заполняет все выделенное место, вне зависимости от потребности. Проблем с нехваткой пространства для таких серверов не будет, а учитывая, что «диск» занимает последовательно расположенные блоки, и не затрачивается время на их перераспределение, его производительность выше, чем у динамического. Эти два типа встречаются и в других виртуальных машинах. В Hyper-V есть еще один вид диска — «Differencing», назначение которого несколько иное. Такой диск хранит только различия от другого диска. Это позволяет изолировать все изменения на виртуальное устройство. Основной диск может использоваться как некий эталон и должен обязательно быть в режиме «только для чтения».
Кроме того, в Hyper-V есть возможность напрямую использовать физический диск без создания виртуального (только локальный диск или LUN (logical unit number) SAN-среды). В этом случае виртуальная система должна иметь исключительный доступ к такому разделу (необходимо установить Offline в Disk Management), а его размер ограничен возможностями самой системы хранения. Естественно, он не может быть «Dynamically expanded» или «Differencing».
После выбора типа диска переходим к следующему шагу мастера, где можно указать его расположение. Размер виртуального диска указывается на этапе «Configure Disk». Переключив флажок в положение «Copy the contents of the specified physical disk», сможем задать раздел для прямого доступа. Разделы локальной системы будут показаны в списке внизу. В дальнейшем можно изменить некоторые параметры созданных ранее жестких дисков. Для этого в Диспетчере Hyper-V следует выбрать «Edit Disk» и указать на нужный образ. На этапе «Choose Action» доступно три пункта, при помощи которых можно уменьшить размер образа, перераспределив свободное пространство, изменить его тип (Dynamic на Fixed) и увеличить размер.
Подобно мастеру создания жесткого диска, в меню присутствует и мастер создания образа флоппи-дисковода, принцип работы с ним аналогичен.
Итак, пришло время создания новой виртуальной машины. Выбираем «New – Virtual Machine» и следуем указаниям мастера «New Virtual Machine Wizard». Пропустив информацию на первом шаге, далее вводим имя новой VM и при необходимости указываем другое место размещения файлов. Задаем в окне «Assign Memory» количество ОЗУ, которое будет доступно VM (естественно, не может быть больше, чем размер физической памяти в компьютере), далее выбираем из раскрывающегося списка сеть, к которой будет подключена VM. Затем создаем новый виртуальный диск или выбираем из списка имеющийся. И наконец, на шаге «Installation Options» указываем источник, с которого будет ставиться ОС. Это может быть физический CD/DVD привод, ISO образ, загрузочный флоппик (физический или образ) или сетевая PXE загрузка. Чтобы создать VM, на последнем шаге нажимаем Finish. Через некоторое время новая VM появится в окне Диспетчера. Кстати, чтобы отменить работу мастера, на любом этапе нажимай Cancel, кнопка Finish также активна, и, если нажать ее по ошибке, будет создана VM или другое виртуальное устройство с неполными характеристиками. Чтобы запустить VM в работу, выбираем ее в окне Диспетчера и нажимаем ссылку Start. В последствии можно изменить основные настройки VM, в том числе и добавить еще устройства, выбрав в контекстном меню ссылку Settings.
Hyper-V является довольно мощным по возможностям и одновременно простым в настройке продуктом, обладающим высокой производительностью и масштабируемостью. К минусам стоит отнести горячую любовь к 64-битным платформам и малое количество официально поддерживаемых ОС. Вероятно, эти характеристики плюс бесплатное распространение позволят ему уверенно занять свою нишу среди подобных решений.
Врезка: Инструменты управления Hyper-V
Помимо встроенного Диспетчера Hyper-V в Win2k8, есть и другие инструменты управления. По адресу доступен аналогичный диспетчер для Vista SP1. Есть и более мощное решение — System Center Virtual Machine Manager (SCVMM) 2008, основное назначение которого — управление массивами виртуальных серверов в большой сети компании или провайдера. При этом он может работать как отдельное приложение, но рекомендуется соединять его с другими решениями System Center. Также SCVMM поддерживает Microsoft Virtual Server и VMware ESX. В этом случае он позволит не только управлять, но и следить за состоянием виртуальных машин (нагрузка, количество доступных ресурсов, системные события. Оценочную 120 дневную версию SCVMM можно скачать по ссылке на продукта.
Врезка: Клавиши управления Hyper-V
Работая в виртуальной системе при использовании Hyper-V, тебе понадобятся некоторые комбинации клавиш, так как стандартные сочетания Windows (даны в скобках) в полноэкранном режиме работают иначе.
- Ctrl + Alt + End (Ctrl + Alt + Del) – показать Диспетчер задач Windows
- Alt + Page UP (Alt +Tab) – переключение между программами
- Alt + Page Down (Alt + Shift + Tab) — переключение между программами в обратном порядке
- Alt + Insert (Alt + Esc) – свернуть активное окно и открыть следующее
- Alt + Home (Ctrl + Esc) – открытие меню Пуск
- Ctrl + Alt + Pause – переключение из режима окна в полноэкранный и обратно
- Ctrl + Alt + Left Arrow – освобождение мыши и клавиатуры из окна виртуальной машины
Некоторые комбинации и реакцию на них родительской и виртуальных систем можно настроить в «Hyper-V Server Settings».
INFO
-
Первоначально технология виртуализации Hyper-V называлась Viridian.
-
Гипервизор — программа, позволяющая параллельное выполнение нескольких операционных систем на одном и том же компьютере. Гипервизор также обеспечивает изоляцию операционных систем друг от друга, защиту и безопасность, разделение ресурсов между различными запущенными ОС и управление ресурсами.
-
VT (Intel Virtualization Technology) — одна из технологий аппаратной виртуализации ресурсов, разработанная компанией Intel. AMD имеет в своем арсенале похожую технологию AMD-V, в которой реализована (в отличие от Intel VT) виртуализация режима реальной адресации (режим совместимости с 8086).
-
Официально Hyper-V в качестве гостевых систем поддерживает практически все версии 32х и 64х Windows, начиная с XP Professional SP2 и заканчивая Win2k8 (сюда же входит Windows HPC Server 2008), а также SUSE Linux Enterprise Server 10 SP1. Поддержка вариантов Home не заявлена.
-
Распределение ролей сервера между виртуальными машинами, вместо запуска множества серверных приложений на одной операционной системе, способствует повышению уровня безопасности.
WWW
-
Создать готовый образ для VMware Player можно на сайте EasyVMX: .
Полезные ресурсы по Hyper-V:
WARNING
- Hyper-V будет работать только на 64-битных ОС.
Статья опубликована в февральском номере журнала «Xakep» за 2009 год.





