Есть средство виртуализации hyper v. Обзор бесплатной версии Hyper-V

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

Технология Hyper-V

Пару лет назад ситуация на рынке систем виртуализации напоминала полный
штиль. Пользователи и администраторы, желающие установить один из подобных
продуктов, выбирали традиционные решения. И очень часто таким решением
оказывался всем известный VMware, который давно (и вполне заслуженно) занял
место лидера. Но сейчас ситуация резко изменилась и напоминает гонку
процессоров, когда одна ошибка может дорого стоить. Сегодня виртуализация
используется примерно на 10% всех серверов в мире, а это весьма солидный кусок
пирога.

Все началось с покупки Microsoft компании Connectix и выпуска нового на этом
рынке продукта - Microsoft Virtual PC. Пикантность ситуации состояла не столько
в появлении еще одного конкурента, сколько в том, что Virtual PC предлагался
абсолютно бесплатно. И поэтому, несмотря на некоторые его недостатки (например,
отсутствие хороших средств и функций управления), новичок был принят весьма
неплохо. А главное, производители, чтобы не остаться за бортом, вынуждены были
ответить появлением бесплатных, хотя и несколько ограниченных по возможностям
версий своих продуктов. В качестве примера приведу VMware Player, который может
использовать только готовые образы, но не умеет самостоятельно их создавать.
Последняя проблема была решена появлением сервисов вроде
EasyVMX , позволяющих ваять
нужный образ прямо в онлайне, а некоторые производители ПО стали выкладывать
рядом с обычными версиями своих продуктов еще и готовый образ для VMware Player.
Как бы то ни было, корпорация Microsoft смогла быстро занять место среди
лидеров, выпускающих средства виртуализации.

Технология Hyper-V стала одной из ключевых возможностей Win2k8, хотя первые
релизы этой системы включали beta3-версию Hyper-V. Финальный выпуск был обещан
через 180 дней после анонса Win2k8, но он появился в начале лета, на два месяца
раньше заявленного срока. Сегодня он входит в состав 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, необходимо установить обновление
KB956710 .

В зависимости от версий родительской и гостевой ОС некоторые из указанных
характеристик будут отличаться. Так, версии Win2k8 Standard и Hyper-V Server
поддерживают в гостевых системах только до 32 Гб RAM. Гостевая Win2k8 в Standard
может иметь 1,2 и 4 CPU, 2k3/Vista – 1 или 2, все остальные - только 1.
Очевидно, что потенциал у Hyper-V довольно высокий, по многим характеристикам он
уверенно обходит аналогичные программы. Будут ли все они востребованы в
ближайшее время, – это другой вопрос.

Количество официально поддерживаемых гостевых ОС постоянно увеличивается.
Уточненный список можно просмотреть на странице, посвященной Hyper-V (www.microsoft.com/servers/hyper-v-server).
На сегодняшний день это практически все семейство ОС от Microsoft, начиная с
версии WinXP Pro SP2. Из "не оконных" систем в список попал только SUSE Linux
Enterprise Server 10 SP1 (неудивительно, учитывая соглашение, заключенное между
Novell и Microsoft). Но под Hyper-V нормально работают и другие
Linux-дистрибутивы – Debian, Ubuntu, Mandriva. Есть информация и об удачных
гостевых запусках FreeBSD.

Установка Hyper-V

Так как в настоящее время технология 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 - набор
Hyper-V Language Pack (support.microsoft.com/kb/951636), в котором есть и
русский язык. Это обновление содержит два пакета: для 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

Для управления настройками 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" и пройтись там по пунктам. Например,
по умолчанию виртуальные диски и снапшоты помещаются в один из каталогов на
системном диске С. Это не очень практично с точки зрения производительности,
безопасности, да и резервного копирования. Лучше использовать отдельный раздел
для их хранения. Остальные параметры позволяют настроить реакцию виртуальной
системы на комбинацию переключения окон (), комбинацию для выхода из
виртуальной машины () и прочее.

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

INFO

Инструменты управления Hyper-V

Помимо встроенного "Диспетчера Hyper-V" в Win2k8, есть и другие инструменты
управления. По адресу support.microsoft.com/kb/952627 доступен аналогичный
диспетчер для Vista SP1. Существует и более мощное решение: System Center
Virtual Machine Manager (SCVMM) 2008, основное назначение которого – управление
массивами виртуальных серверов в большой сети компании или провайдера. При этом
он может работать как отдельное приложение, но рекомендуется соединять его с
другими решениями System Center. Также SCVMM поддерживает Microsoft Virtual
Server и VMware ESX. В этом случае он позволит не только управлять, но и следить
за состоянием виртуальных машин (нагрузка, количество доступных ресурсов,
системные события). Оценочную 120-дневную версию SCVMM можно скачать по ссылке
на странице продукта:

www.microsoft.com/systemcenter/virtualmachinemanager .

Клавиши управления 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".

А так же

Первоначально технология виртуализации 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:
www.easyvmx.com .

Полезные ресурсы по Hyper-V.

Итак Windows 8 представлена официально и начинается ее активное распространение. Соответственно, по крайней мере, перед некоторыми из нас вскоре встанет вопрос: стоит ли обновлять имеющуюся ОС?

Действительно, предустановленной на новый ПК (даже самый обычный, а не современный гибрид-трансформер) Windows 8 наверняка не будет вызывать большого отторжения, т. к. ее «настольная» часть мало чем отличается от Windows 7. Отсутствие кнопки Пуск можно легко компенсировать одной из сторонних утилит, многие из которых умеют практически полностью скрывать Metro, так что сталкиваться с новым интерфейсом (который я по-прежнему считаю неуместным на настольном компьютере или обычном ноутбуке) придется совсем редко. А некоторые новые функции Windows 8 несомненно полезны: безопасная загрузка, усовершенствованные аварийные инструменты, новый менеджер задач, дифференцированная работа с беспроводными сетями и т. д.

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

На самом деле в Windows 8 есть некоторые возможности, способные потрафить даже самому консервативному пользователю ПК. И это, конечно, совсем не Metro, который (вместе с API WinRT) безусловно является самым принципиальным изменением в Windows 8, но актуальным лишь для сравнительно небольших устройств с сенсорным экраном, в первую очередь, - планшетов. Есть более практичные новинки, одна из которых - встроенная система виртуализации на основе гипервизора Hyper-V.

Клиентские гипервизоры

Технология Hyper-V пришла в Windows 8 из Windows Server. Формально она призвана заменить морально устаревший Virtual PC и XP Mode, но на самом деле имеет несколько иное позиционирование и больше отличий, чем сходств. Hyper-V называют просто гипервизором, хотя этот термин (синоним - монитор виртуальных машин, VMM) распространяется на все системы виртуализации. Поэтому во избежание путаницы их делят на две категории - Type 1 и Type 2. Гипервизоры первого типа также называют bare-metal, т. е. работающими непосредственно на «железе», без родительской ОС общего назначения. Сюда относятся Microsoft Hyper-V, VMware ESX/ESXi, Citrix XenServer, Xen, KVM. Второй тип, соответственно, функционирует как приложение в рамках родительской ОС и использует различные ее механизмы. Примеры - VMware Workstation/Player, Oracle VirtualBox.

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

Поэтому класс «клиентских гипервизоров» сформировался еще несколько лет назад, по мере совершенствования технологий виртуализации, прежде всего аппаратной поддержки. Его типичными представителями были NxTop компании Virtual Computer и XenClient фирмы Citrix. Сегодня обе технологии принадлежат Citrix и скомбинированы в различных решениях, все больше нацеливаемых на корпоративный рынок. Почему нужно говорить именно об отдельном классе ПО? Потому что серверные решения мало приспособлены для функционирования на ПК и применения обычными пользователями. Ведь для клиентских решений требуется не только поддержка массового оборудования, но и специфические интерфейсные решения для работы в рамках одного ПК, тогда как серверная модель предполагает почти исключительно удаленный доступ.

Microsoft вполне недвусмысленно называет встроенный в Windows 8 гипервизор Client Hyper-V, однако его отличия от серверного Hyper-V гораздо меньше, чем, скажем, у XenClient от XenServer. Дело в том, что тогда как Citrix пришлось с нуля реализовать интерфейсную часть, а также виртуализацию видеоадаптера, чтобы обеспечить поддержку 3D в одной из ВМ, задача Microsoft была гораздо проще в силу изначально своеобразной архитектуры Hyper-V:

Как видно, гипервизор Microsoft все-таки предполагает родительскую, или корневую ОС (иногда также говорят «раздел»), в которую он, фактически встроен. Эта ОС, соответственно, находится на особом положении, в частности, хотя она отчасти и виртуализована (в чем можно убедиться по некоторым характерным признакам), но все же имеет доступ к видеоакселератору и многому другому оборудованию. Для сравнения, архитектура XenClient выглядит следующим образом:

В действительности здесь также присутствует привилегированная ВМ, обозначенная как Control Domain, но она специализированная, предназначенная только для организации доступа к остальным пользовательским ВМ. В случае же Client Hyper-V корневая ОС предполагается основной рабочей, т. к. только в ней будет полноценно работать графический акселератор и обеспечиваться максимальная производительность.

Заметным отличием клиентского Hyper-V от серверного является его способность работы с беспроводными адаптерами. В серверной среде эта возможность не востребована, потому и не поддерживается, но для клиентской - норма жизни. Сложность же возникает оттого, что сетевая инфраструктура Hyper-V основывается на виртуальном коммутаторе, который дифференцирует пакеты по MAC-адресам виртуальных адаптеров. Эта схема прекрасно работает при организации внутренней сети, а также при обеспечении доступа вовне через проводной физический адаптер:

Но по Wi-Fi-каналу передавать пакеты с различными MAC-адресами нельзя, поэтому стандартную схему пришлось несколько скорректировать. Конкретнее, в нее добавили еще одного посредника в виде сетевого моста:

Мост просто сопоставляет IP-адрес виртуальной сетевой карты с ее MAC-адресом, что и обеспечивает корректную маршрутизацию пакетов, которые поступают из внешней сети. Естественно, создается и настраивается мост автоматически, как только пользователь выберет соответствующие настройки.

Client Hyper-V

Hyper-V входит в 64-разрядные Windows 8 Pro и Enterprise и является опциональным компонентом. Соответственно, вначале его нужно установить, после чего он сразу же автоматически активируется (после обязательной перезагрузки):

Для его работы, однако, необходимо выполнение нескольких условий. Формально говорится о 4 ГБ RAM, хотя, вполне возможно, он запустится и на меньшем объеме - память нужна не столько самому гипервизору, сколько виртуальным машинам.

Действительно принципиальным требованием является процессор с поддержкой виртуализации и технологии SLAT (Second Level Address Translation). Для серверного гипервизора SLAT не является обязательным условием и нужна только для работы RemoteFX. Последняя технология в Client Hyper-V не поддерживается, но, видимо, SLAT используется для оптимизации общей производительности в отсутствие эффективной виртуализации 3D-акселератора в ВМ.

Данному требованию удовлетворяют все сравнительно новые чипы Intel и AMD, к примеру практически все i3/i5/i7 - в их случае искомое называется VT-x с EPT (NPT у AMD). Проверить присутствие соответствующих технологий можно в спецификациях процессоров на сайте производителя и именно с этого стоит начать, подбирая конфигурацию нового компьютера. Однако надо иметь в виду, что они также должны быть включены в BIOS, при этом VT-x с EPT, к примеру, нередко скрываются под общим названием «технология виртуализации». Поэтому более надежную проверку соблюдения всех условий уже готовой системы можно выполнить с помощью специальных утилит.

В данном случае VT-x with EPT вроде бы не поддерживается (вопреки информации из спецификации процессора), но это лишь следствие того, что Hyper-V на данном компьютере уже активирован. Это косвенно также свидетельствует в пользу того, что корневая ОС все-таки виртуализуется. Кстати, то что технология виртуализации уже задействована гипервизором, делает невозможным параллельное использование другой системы виртуализации - и VMware Workstation/Player, и Oracle VirtualBox сообщат о невозможности установки. С другой стороны, VMware Workstation 9 допускает использование Hyper-V в ВМ, хотя такой сценарий официально и не поддерживается.

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

В отсутствие (по любой причине) поддержки SLAT пункт Платформа Hyper-V в списке опциональных компонентов будет просто недоступен, соответственно, установить Hyper-V не удастся.

В арсенале Intel имеется еще одна технология виртуализации - VT-d, но Hyper-V (и серверный, и клиентский) ее пока не задействует. В отличие, к примеру, от XenClient, которому она необходима как раз для поддержки 3D-графики в одной из ВМ. Но, как говорилось выше, Microsoft того же результата добивается иным способом.

Иcпользование

После того, как Hyper-V установлен, работа в нем осуществляется из Диспетчера Hyper-V (Hyper-V Manager):

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

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

Какая-то настройка требуется только в последнем случае - нужно выбрать правильный адаптер (если их несколько), который обеспечит доступ в локальную сеть или Интернет.

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

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

Настроив все необходимые параметры можно приступать к установке гостевой ОС. Официально в качестве последних Hyper-V поддерживает все клиентские и серверные версии Windows, начиная, соответственно, с XP и 2003, а также CentOS 6.0-6.2, RHEL 6.0-6.2 и SLES 11 SP2. Подразумевается, что все эти ОС корректно опознают виртуальное оборудование и, кроме того, для них доступны интеграционные компоненты Hyper-V, которые обеспечивают ряд дополнительных драйверов и поддержку специфических операций. Это, впрочем, не означает, что нельзя установить другие ОС. Некоторое время назад Microsoft передала код, необходимый для взаимодействия с Hyper-V, Linux-сообществу и стала одним из официальных разработчиков свободной ОС. Таким образом, сегодня некоторые дистрибутивы уже готовы к работе в среде Hyper-V без дополнительных усилий, в частности, это относится к последним версиям Ubuntu (12.04 и 12.10 точно), хотя в моем случае параметры IP пришлось устанавливать вручную, получить их по DHCP почему-то не удавалось. Но затем все пошло абсолютно гладко:

Непосредственно работать с ВМ можно двумя способами:

  • с помощью стандартной консоли Virtual Machine Connection, которая, ввиду ограниченности (в ней не будет работать звук, через буфер обмена копируются только текст и пр.), рекомендуется исключительно для инсталляции и настройки гостевой ОС;
  • через Remote Desktop Connection, в котором можно воспользоваться всеми преимуществами протокола RDP и различными мелкими удобствами.

В последнем случае, естественно, нужно предварительно разрешить удаленный доступ в гостевой ОС. К сожалению, как уже говорилось, RemoteFX в Client Hyper-V не поддерживается, поэтому ускорение графики возможно только в корневой ОС. В гостевых этот недостаток отчасти компенсируется именно возможностями RDP, который обеспечивает поддержку некоторых графических эффектов, а также передачу звука, перенаправление USB-устройств, обмен файлами между хостом и ВМ через буфер обмена и пр.

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

Дополнительные возможности

Перекочевав из серверной среды, Client Hyper-V потерял некоторые «корпоративные» возможности. Кроме уже упоминавшейся технологии RemoteFX, исчезли кластеры, живая миграция, реплики и пр. Из нетривиальных функций сохранилась возможность перемещения виртуальной машины в другое место (к примеру, на новый жесткий диск) без необходимости ее выключения:

Сохранилась также динамическая память. Данная возможность подразумевает корректировку объема оперативной памяти ВМ в зависимости от ее текущих потребностей и настроек. Как всегда для ее функционирования требуется соблюдения ряда условий. Во-первых, гостевая ОС должна поддерживать горячее добавление памяти. Это справедливо для большинства современных ОС, как серверных, так и клиентских, в частности - для всех Windows, начиная с Vista SP1. Во-вторых, должны быть установлены интеграционные компоненты. Среди последних важную роль играет драйвер динамической памяти:

Он забирает на себя свободный объем RAM и возвращает ее гипервизору для последующего перераспределения.

Динамическую память необходимо особо включать для каждой ВМ, при этом можно настроить подробные параметры:

В частности, под «весом памяти» нужно понимать важность, ценность конкретной ВМ. Чем выше этот параметр, тем меньше шансов, что память будет забираться, и тем скорее она при возможности будет добавляться. Проконтролировать действие механизма динамической памяти можно различными способами, к примеру, с помощью специальной вкладки в диспетчере Hyper-V:

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

Резюме

Несмотря на ряд ограничений, клиентский Hyper-V имеет те же возможности масштабирования, что и серверный. Кроме того, виртуальные машины полностью совместимы и без проблем переносятся. Это, в частности, позволяет использовать для тестирования и отладки ВМ персональный компьютер, чтобы не «засорять» производственный виртуализованный сервер.

Сохранение архитектуры и общей организации Hyper-V в Windows 8 также свидетельствуют о том, что клиентская виртуализация Microsoft больше ориентирована на ИТ-профессионалов и разработчиков, чем на обычных пользователей. В отличие от XP Mode из Windows 7, где публикация приложений позволяла практически полностью скрыть ВМ, в Windows 8 пользователю придется работать непосредственно с ВМ и разбираться в ее возможностях и ограничениях. По большому счету, нынешний Client Hyper-V не вполне соответствует идее клиентских гипервизоров. Все-таки это серверная технология, просто слегка адаптированная для ПК.

С другой стороны, серверное происхождение Client Hyper-V является и его сильной стороной. Высокая масштабируемость, поддержка (уникальная для клиентских решений) динамической памяти и некоторых других технологий свидетельствует об отлаженности и большом «запасе прочности».

VMware Workstation и Oracle VirtualBox, безусловно, более «клиентские» чем Hyper-V. К их преимуществам можно отнести 3D-графику в ВМ (хотя у Oracle она не слишком хороша) и более широкую и удобную поддержку USB-периферии. Кроме того, у обоих продуктов более скромные системные запросы, в частности, они могут работать и в 32-разрядных ОС, хотя с точки зрения эффективности управления памятью 64-разрядные предпочтительнее. Microsoft большую часть пробелов может заполнить с помощью технологии RemoteFX, но пока ее намерения неясны.

Тем не менее, даже со всеми оговорками Hyper-V в составе Windows 8 для многих окажется приятным «подарком» и наверняка найдет немало применений.

Ни для кого не секрет, что в Windows Server 2016 появилась вложенная виртуализация Hyper-V. Несмотря на то, что на момент написания статьи доступна лишь версия Technical Preview 5, уже в ней можно очень близко познакомиться с новым функционалом, о котором я и постараюсь коротко рассказать в этой статье.

Хочу отметить, что все сказанное относится к предрелизной версии и может сильно отличаться от официального релиза.

Если вам интересна тематика Windows Server, рекомендую обратиться к тегу на моем блоге.

Функция вложенной виртуализации в гипервизорах разных производителей доступна достаточно давно. Например у VMWare поддержка 64х-битных вложенных виртуальных машин была реализована в версии ESXi 5.1 и это было аж в 2011 году, не говоря о поддержке 32х-битных вложенных ОС, доступных ещё ранее. Другие вендоры также не отставали. Тем не менее, у Microsoft мы не могли увидеть такого функционала до сегодняшнего дня. Почему? Официального ответа мне найти не удалось, но можно говорить как об общей позиции (неприоритетная на то время задача), так и о чисто логических рассуждениях — в 2008 году с выходом Windows Server 2008 и последующей 2008 R2 говорить о вложенной виртуализации было не совсем актуально, ведь гипервизор был ещё во многом сыроват по многим направлениям (например max. vCPU упиралось в 4 шт.), а ситуация с конкурентами была такова, что Microsoft по сути вынужден был активно их догонять.

Архитектура

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

Раньше попытка развернуть роль Hyper-V внутри виртуальной машины непременно заканчивалась ошибкой:

Так происходило потому, что гипервизор намеренно маскировал от гостевых ОС наборы аппаратных инструкций (Virtualization Extensions), отвечающих за виртуализацию — Intel VT-x и AMD-V (все мы помним, что Hyper-V — это система именно аппаратной виртуализации и без поддержки функционала со стороны «железа» работать не будет).

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

Все это открывает возможности для вложенной виртуализации, которая при этом не ограничена вторым уровнем (Level 2 на рис. вверху).

Примечание: в лабораторных условиях я совершенно спокойной развернул виртуальную машину с четвертой степенью вложенности.

Но как и у любой свежей технологии (в данном случае свежей именно для Microsoft), у неё есть некоторые ограничения, о которых ниже.

Ограничения

Условно можно разделить на аппаратные и программные.

Аппаратные

Аппаратные ограничения упираются в обязательную поддержку процессором Intel технологий VT-x и EPT. Если наличие VT-x было стандартным требованиям и для ранних версий Hyper-V, то необходимость в EPT появилась только сейчас и только для вложенной виртуализации:

Примечание: Intel EPT предоставляет виртуальным машинам прямой доступ к памяти, минуя гипервизор и по сути представляет из себя технологию виртуализации страниц памяти. Технология эта не нова и её можно встретить даже в давно устаревших Core 2 Quad.

И я ничего не забыл, не написав про процессоры AMD. Дело в том, что в Windows Server 2016 TP5 вложенная виртуализация на процессорах AMD пока что не поддерживается.

Программные

Программных ограничений значительно больше:

  1. Использование Windows Server 2016 или Windows 10 как в родительском, так и в гостевых разделах;
  2. Виртуальная машина с версией конфигурации 8.0 и выше;

Примечание: в Windows Server 2016 изменился формат хранения файлов конфигурации виртуальных машин. Если верить разработчикам, то новый формат стал более надежным, также появилась поддержка новых функций, которые будут недоступны при использовании виртуальных машин со старой версией конфигурации (для Windows Server 2012 R2 эта версия — 5.0).

Для вложенных виртуальных машин не поддерживается:

  1. Динамическая память;
  2. Динамическая миграция;
  3. Снимки виртуальных машин и состояния Save/Restore;

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

Есть и обходной вариант — использовать NAT (это тоже новый функционал, о котором расскажу ниже).

Применение

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

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

Мне стало интересно проверить на реальной среде падение производительности ЦП внутри виртуальных машин разной степени вложенности. Для этого я использовал Hot CPU Tester Pro. Хоть и тестирование получилось исключительно субъективное, но оно как минимум намекает на существенное падение отдачи CPU:

Примечание: для измерения индекса производительности ЦП я просто запускал тест по очереди сначала на хосте (при этом все VM были заглушены), потом включал виртуальную машину и измерял индекс внутри неё, выделив максимально возможное количество vCPU. Следующим шагом был запуск VM внутри этой VM и измерение индекса производительности уже внутри виртуальной машины второй вложенности и т.д.

Моего терпения хватило только для развертывания экземпляра третьей вложенности.

Настройка

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

Обновление версии VM

Если по каким-либо причинам ваша виртуальная машина имеет версию конфигурации ниже 7.1 (например она смигрировала на ваш Hyper-V с предыдущих версий Technical Preview), то обязательно обновляем конфигурацию вручную, нажав правой кнопкой по VM и выбрав Обновить версию конфигурации :

Или через Powershell:

PowerShell

Update-VMVersion -Name "vm_name"

Update-VMVersion -Name "vm_name"

Последний вариант удобен при массовом обновлении виртуальных машин. Обновить все VM враз можно командой Get-VM | Update-VMVersion .

Активирование вложенной виртуализации

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

Shell

Set-VMProcessor -VMName VMName -ExposeVirtualizationExtensions $true

Set - VMProcessor - VMName VMName - $true

Изменение опции ExposeVirtualizationExtensions доступно только через Powershell.

Спуфинг MAC-адресов / NAT

Если вы планируете настроить сеть вложенных виртуальных машин таким образом, чтобы все они находились в реальной локальной сети, то на одном единственном сетевом адаптере «хостовой» виртуальной машины будут висеть несколько MAC-адресов. Это ожидаемо вызовет проблемы со связью, если не активирована настройка Включить спуфинг MAC-адресов (а она не активирована по умолчанию).

Ставим галочку вручную:

Или через Powershell:

Shell

Get-VMNetworkAdapter -VMName "vm_name" | Set-VMNetworkAdapter -MacAddressSpoofing On

Get - VMNetworkAdapter - VMName "vm_name" | Set - VMNetworkAdapter - MacAddressSpoofing On

Если же вы не планируете выпускать вложенные VM в локальную сеть, но все же хотите обеспечить их возможностью коммуникаций по сети, можно поднять NAT. Для этого необходимо создать виртуальный коммутатор внутреннего типа командой (на данный момент настройка NAT возможна только через Powershell):

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

Shell

New-VMSwitch -Name "NAT 01" -SwitchType Internal

New - VMSwitch - Name "NAT 01" - SwitchType Internal

Создаем NAT:

Shell

New-NetNat -Name "name" –InternalIPInterfaceAddressPrefix "ip-address/netmask"

New - NetNat - Name "name" –InternalIPInterfaceAddressPrefix "ip-address/netmask"

Обратите внимание, что на этом этапе нужно определиться с подсетью, которая будет использоваться за NAT-ом. Разумеется диапазон адресов не должен пересекаться с реальными диапазонами в вашей локальной сети.

Назначаем адрес для интерфейса.

В тройке лидеров на рынке софта для виртуализации операционных систем – VMware, VirtualBox и Hyper-V – последний гипервизор занимает особое место. Такое особое место обусловлено тем, что Hyper-V является штатным компонентом серверных систем Windows и некоторых версий Windows для настольных ПК. Уступая VMware Workstation и VirtualBox в функциональности, кроссплатформенности и отчасти в удобстве пользования, Hyper-V, тем не менее, не лишен своих преимуществ. И главное из них – более высокая производительность гостевых ОС.

Ниже речь пойдет об активации Hyper-V в системе Windows 10 и создании средствами этого гипервизора виртуальной машины.

1. Hyper-V - штатный гипервизор от Microsoft

Штатный компонент Hyper-V система Windows 10 унаследовала от версий Windows 8 и 8.1, а в них гипервизор перекочевал из Windows Server. И Windows 8.1, и Windows 10 опционально предусматривают компонент Hyper-V в редакциях Pro и Enterprise. Работа гипервизора возможна только в 64-битных системах.

Длительное время Hyper-V не поддерживал никаких иных гостевых ОС, кроме как Windows. Однако относительно недавно компания Microsoft позаботилась о поддержке гипервизором гостевой ОС Linux. И сегодня с помощью Hyper-V можно тестировать некоторые дистрибутивы Linux, в частности, популярный Ubuntu.

2. Требования для работы Hyper-V

Минимальный объем оперативной памяти физического компьютера для работы Hyper-V – 4 Гб.

Процессор компьютера должен поддерживать технологию SLAT (Intel EPT или AMD RVI). Практически все современные процессоры соответствуют этому требованию.

Другое требование к процессору, также предусматриваемое многими современными моделями – поддержка технологии аппаратной виртуализации и, соответственно, ее активное состояние в BIOS. В BIOS материнских плат для процессоров Intel такая технология (в зависимости от версии) может называться по-разному – Intel-VT, Intel Virtualization Technology, Intel VT-x, Vanderpool или Virtualization Extensions. У AMD технология аппаратной виртуализации называется AMD-V или SVM (Secure Virtual Machines). Например, в AMI BIOS версии 17.9 функцию аппаратной виртуализации процессора AMD можно найти по пути Cell Menu – CPU Feature – SVM Support.

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

3. Активация и запуск Hyper-V

Hyper-V в комплекте Windows 10 Pro и Enterprise поставляется опционально. Изначально штатный гипервизор отключен. Включается он в разделе панели управления «Программы и компоненты». Самый быстрый способ попасть туда – внутрисистемный поиск.

Запускаем «Включение и отключение системных компонентов».

В появившемся небольшом окошке галочкой отмечаем все подпункты пункта Hyper-V. Жмем «Ок».

Система пару секунд будет применять изменения и попросит перезагрузку. После перезагрузки ищем ярлык запуска диспетчера Hyper-V. Ярлык диспетчера Hyper-V можно сразу закрепить на начальном экране Windows 10, найдя его в средствах администрирования меню «Пуск».

Доступ к ярлыку диспетчера Hyper-V также можно получить с помощью внутрисистемного поиска.

Запускаем диспетчер Hyper-V.

4. Настройка доступа к сети

В диспетчере Hyper-V сеть настраивается отдельным этапом, и сначала нужно создать виртуальный коммутатор – параметр, обеспечивающий доступ к сети. Делаем клик на названии физического компьютера, а в правой части окна выбираем «Диспетчер виртуальных коммутаторов…».

Запустится мастер создания виртуального коммутатора, где первым делом нужно выбрать тип сети. Их три:

  • Внешняя – этот тип использует сетевую карту или адаптер Wi-Fi физического компьютера и подключает виртуальную машину к той же сети, в которой находится физический компьютер. Соответственно, это тип сети, предусматривающий доступ виртуальной машины к Интернету;
  • Внутренняя – этот тип обеспечивает сеть между физическим компьютером и виртуальными машинами Hyper-V, но не предусматривает их доступ к Интернету;
  • Частная – этот тип позволяет создать сеть между виртуальными машинами Hyper-V, но в этой сети не будет физического компьютера, равно как и не будет выхода в Интернет.

В нашем случае доступ виртуальной машины к Интернету необходим, потому выберем первый тип - внешнюю сеть. Жмем «Создать виртуальный коммутатор».

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

5. Создание виртуальной машины

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

В приветственном окне запустившегося мастера жмем «Далее».

Задаем виртуальной машине имя; также можно сменить ее месторасположение на диске физического компьютера, указав нужный раздел диска и нужную папку с помощью кнопки обзора. Жмем «Далее».

Одна из относительно новых возможностей Hyper-V – выбор поколения виртуальной машины. В нашем случае выбрано поколение 2.

Что это значит? Поколение 1 – это виртуальные машины, поддерживающие 32- и 64-битные системы Windows. Поколение 1 совместимо с прежними версиями Hyper-V.

Поколение 2 – виртуальные машины нового формата со встроенным программным обеспечением на базе UEFI. Такие виртуальные машины поддерживают ряд новых возможностей и способны обеспечить небольшой прирост производительности. На виртуальные машины поколения 2 в качестве гостевых ОС устанавливаются только 64-битные версии Windows 8.1 и 10, а также серверные Windows Server 2012, Server 2012 R2 и Server 2016.

Платформа UEFI обуславливает еще одно требование для использования виртуальных машин поколения 2 – загрузочный носитель UEFI. Этот момент необходимо уточнять, скачивая ISO-образ с дистрибутивом Windows со сторонних источников в Интернете. Но лучше все же скачивать дистрибутивы Windows с официальных источников компании Microsoft. Так, утилита Media Creation Tool, скачивающая с сайта Microsoft дистрибутивы Windows 8.1 и , на выходе создает загрузочный ISO-образ, поддерживающий среду UEFI.

В случае установки в качестве гостевой ОС Windows 10 именно такой способ получения ISO-образа системы и рекомендуется. Windows 10 предусматривает процесс установки с возможностью отложенного ввода . В нашем случае в качестве гостевой ОС будет установлена Windows 8.1, а ее официальный дистрибутив, получаемый с помощью утилиты Media Creation Tool, в процессе установки требует ввод ключа продукта. Обеспечить поддержку среды UEFI и воспользоваться бесплатной возможностью протестировать систему Windows 8.1 поможет сайт Центра пробного ПО TechNet. На этом сайте можно скачать англоязычную редакцию 64-битной Windows 8.1 Корпоративная и бесплатно тестировать систему целых 3 месяца. Проблему с отсутствием поддержки русского языка после установки системы можно решить отдельно, установив языковой пакет и настроив русский основным языком системы.

Возвращаемся к мастеру создания виртуальной машины. В окне выделения памяти оставляем предустановленные параметры, если физический компьютер имеет не более 4 Гб оперативной памяти. Если ее больше 4 Гб, можно увеличить показатель, выделяемый при запуске виртуальной машины. Для гостевой Windows ХР показатель оперативной памяти можно, наоборот, уменьшить до 512 Мб. Жмем «Далее».

В окне настроек сети из выпадающего списка выбираем ранее созданный виртуальный коммутатор. Жмем «Далее».

В окне подключения виртуального жесткого диска задаем виртуальной машине имя, указываем расположение на диске физического компьютера, указываем размер. Это параметры создания нового жесткого диска. Второй пункт этого шага мастера используется, когда на компьютере уже имеется виртуальный жесткий диск, в частности, с установленной гостевой ОС. При выборе виртуальной машины поколения 2 файл такого виртуального жесткого диска должен иметь формат VHDX (а не VHD), а гостевая ОС должна поддерживать среду загрузки UEFI. Жмем «Далее».

Если в предыдущем шаге мастера выбран пункт создания нового виртуального жесткого диска, следующим шагом будет указание пути к дистрибутиву Windows. Виртуальные машины поколения 2 уже не предусматривают загрузку с физического CD/DVD-привода. Источниками загрузки дистрибутива гостевой ОС могут быть только сеть и ISO-образ. В нашем случае это ISO-образ. Жмем «Далее».

Завершающий этап мастера – жмем «Готово».

6. Подключение виртуальной машины

Создав виртуальную машину, вернемся в окно диспетчера Hyper-V. Теперь ее нужно подключить. Для этого существует команда «Подключить» в числе прочих команд контекстного меню, вызываемого на виртуальной машине. Команда «Подключить» присутствует и в правой части окна диспетчера Hyper-V. Для подключения также можно сделать двойной клик левой клавишей мыши на окошке-превью выбранной виртуальной машины.

В открывшемся окне подключения жмем зеленую кнопку запуска.

Последует обычный процесс установки Windows 8.1, как это происходило бы на физическом компьютере.

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

Закрытие окна подключения высвободит какие-то ресурсы физического компьютера для выполнения других задач, при этом виртуальная машина продолжит свою работу в фоновом режиме. Ее рабочие показатели будут отображаться в диспетчере Hyper-V.

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

Все – Windows 8.1 установилась. Выключить, приостановить, сохранить виртуальную машину или сбросить ее состояние можно и командами в диспетчере Hyper-V, и кнопками на верхней панели окна подключения.

7. Приоритет загрузки

Чтобы в дальнейшем при запуске виртуальной машины не терять время на окно загрузки с CD/DVD-диска, нужно в выключенном ее состоянии открыть окно параметров и убрать путь к ISO-файлу с дистрибутивом. Это делается во вкладке DVD-привода настроек оборудования виртуальной машины.

Альтернативный вариант – поднять жесткий диск в приоритете загрузки выше DVD-привода (но не выше файла «bootmgfw.efi»). Это делается во вкладке «Встроенное ПО» настроек оборудования.

В обоих случаях проделанные изменения сохраняются кнопкой «Применить» внизу.

8. Обход ограничений окна подключения Hyper-V

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

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

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

Подключение к виртуальной машине таким образом обеспечит в гостевой ОС воспроизведение звука и двустороннюю передачу файлов.

Отличного Вам дня!

Сегодня мы с Вами узнаем о том, как установить и настроить гипервизор hyper-v server от компании Microsoft, а так же о некоторых подводных камнях и способах их избежать.

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

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

Описание

MS hyper-v server представляет собой урезанную версию MS server 2008 R2 в режиме Core (т.е. фактически, графический интерфейс отсутствует) с установленной ролью hyper-v и ничего более. Согласно википедии hyper-v server распространяется бесплатно, что вкупе с удобным управлением и интеграцией с продуктами от MS, делает его очень привлекательным гипервизором. Кроме того он имеет достаточно высокие показатели по производительности, а значит ресурсы хостовой машины будут расходоваться на работу нужных нам сервисов.

Установка

Перед началом установки необходимо убедиться, что ваш процессор поддерживает технологии аппаратной виртуализации Intel VT-x или AMD-V.

Для начала необходимо скачать дистрибутив hyper-v server 2008 R2 с сайта Microsoft (регистрироваться не нужно). Далее записать образ на DVD-диск или сделать установочную флешку . Вставляем диск/флешку и загружаемся с нее.

Hyper-v server - выбор языка мастера установки

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

Hyper-v server - выбор языка ОС и раскладки клавиатуры

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

Hyper-v server - выбор типа установки

Выбираем полную установку (Custom).

Hyper-v server - настройка параметров жесткого диска

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

Жмем «Next» и можем ненадолго отдохнуть. В процессе установки компьютер несколько раз перезагрузится.

Настройка

Базовая настройка и удаленный доступ

После перезагрузки hyper-v server предложит нам установить пароль администратора. Так как по-умолчанию в групповой политике ms windows 2008 server r2 стоит требование к сложности пароля, придется придумать пароль длинной от 6 символов, обязательно содержащий заглавную букву и спецсимвол или цифру (например «Password1»).

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

Hyper-v server - интерфейс управления

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

Hyper-v server - сетевые адаптеры

В списке будут перечислены сетевые адаптеры. Выбираем нужный и вписываем его индекс. Далее выбираем «1 - установить ip-адрес сетевого адаптера». Вписываем «S» - что означает статический ip-адрес. Для примера зададим параметры:

Ip-адрес - 192.168.1.100 маска подсети - 255.255.255.0 шлюз по-умолчанию 192.168.1.1 После применения параметров, мы вернемся в подменю, где будут перечисленные ранее внесенные настройки. Если все верно возвращаемся в главное меню. Теперь настроим удаленный доступ. Выбираем пункт 7, далее включаем удаленный рабочий стол, вписав английскую «E». На вопрос об ограничении подключений от rdp-клиентов старых версий, выбираем «2» - подключаться от любых клиентов.

В главном меню выбираем пункт 9, и задаем актуальную дату и время на сервере.

Сетевое имя сервера и рабочая группа

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

Выбираем пункт 1, затем «присоединиться к рабочей группе» вписав «W». Далее задаем название рабочей группы, например «test». Очень важно, чтобы имя рабочей группы на hyper-v server и ПК, с которого мы планируем им управлять, совпадали. После этого мы возвращаемся в главное меню.

Желательно задать сетевое имя сервера, выбираем пункт 2 и вписываем имя, например «hyper-srv». Для применения параметров необходимо перезагрузиться, соглашаемся с предложением ОС.

Далее все настройки (такие как имя компьютера, рабочей группы, пользователи, ip-адрес и т.д.) будут использоваться в качестве тех, которые описывались в процессе установки. Если Вы задавали свои параметры, не забывайте использовать именно их.

После перезагрузки мы можем подключиться к серверу, используя клиент удаленного рабочего стола. Выбираем пуск -> выполнить, вписываем: mstsc В первом поле задаем ip-адрес (в моем случае 192.168.1.100), подключаемся. Сервер запросит данные авторизации, вводим имя пользователя «hyper-srv\Administrator» и пароль «Password1».

Итак, мы подключились, теперь необходимо настроить дополнительные параметры удаленного управления. Заходим в пункт 4. Теперь по порядку выбираем подпункты 1, 2 и дожидаемся окончания настройки. После завершения, ОС опять попросит перезагрузиться. По завершению этих настроек мы сможем подключаться к серверу с помощь консоли mmc и диспетчера сервера hyper-v из пакета Remote Server Administration Tools (RSAT). Подробнее об этом будет описано далее по тексту.

Установка RSAT и диспетчера hyper-v

Для комфортного удаленного управления сервером (создание/удаление/импорт/настройка ВМ, добавление/удаление оборудования, управления пользователями/групповыми политиками и т.п.) нам необходимо установить RSAT на наш ПК. Устанавливать будем на windows 7. Первым делом скачаем его отсюда . В этом пакете нам нужен компонент “Диспетчер hyper-v” для консоли mmc - это собственно основной инструмент управления будущими ВМ.

Последующие настройки будет необходимо производить как на сервере (для краткости СРВ) так и на нашем управляющем ПК (УК).

Настраиваем пользователей

Первым делом нужно создать пользователя, от имени которого мы будем осуществлять управление. Имена пользователей и пароли должны совпадать для УК и СРВ!

На СРВ - в консоли управления выбираем пункт 3 (добавление локального администратора). Задаем имя «admin» и пароль для него «Qwerty1». Проверим, успешно ли добавился, в консоли cmd вводим: net user admin Эта команда покажет нам, что он состоит в группах «Administrators» и «Users».

На УК - запускаем консоль cmd от имени администратора и вводим команду: net user admin Qwerty1 /add добавим его в группу администраторов: net localgroup Администраторы admin /add для английской версии вводим:net localgroup Administrators admin /add Снова проверим результаты с помощью: net user admin

Для настройки пользователей и групп безопасности есть замечательная утилита “HVRemote” , написанная одним из сотрудников Microsoft.

Скачиваем утилиту и копируем файл «HVremote.wsf» на сервер. Помните в самом начале, упоминалось, что нужно выбрать английский язык для ОС? Так вот для корректной работы скрипта «HVremote.wsf» необходимо, чтобы группы безопасности и пользователи именовались на английском языке.

Небольшое отступление: как писалось раньше - в hyper-v server отсутствует графический интерфейс. Это не совсем так, Microsoft просто вырезала по-максимому все, что связанно с Explorer, но это не мешает нам запускать приложения имеющие графические окна. Для примера можно скопировать на диск сервера программу «total commander» и запустить ее из консоли.

Hyper-v server - запуск приложений

Продолжим, на СРВ - открываем консоль cmd, переходим в папку с файлом «HVremote.wsf» (в статье файл сохранен в корень диска С:). Выполняем команду: cscript hvremote.wsf /add:domain\account где domain - имя вашего сервера (домена), account - имя учетной записи для управления. В нашем случае команда будет выглядеть так: cscript hvremote.wsf /add:hyper-srv\admin

Hyper-v server - выполнение скрипта

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

На стороне УК необходимо выполнить следующие команды cscript hvremote.wsf /anondcom:grant cscript hvremote.wsf /mmc:enable

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

Netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes Если у Вас выдает ошибку вида «Group cannot be specified with other identification conditions» - попробуйте перепечатать команду вручную, а не копировать/вставлять. Результат успешного выполнения команды: Updated 3 rule(s). Ok. Далее разрешим удаленное управление файерволом netsh advfirewall firewall set rule group="Windows Firewall Remote Management" new enable=yes Результат успешного выполнения команды: Updated 2 rule(s). Ok. Разрешим доступ для любых оснасток консоли mmc netsh advfirewall firewall set rule group="Remote Administration" new enable=yes Результат успешного выполнения команды: Updated 3 rule(s). Ok. Разрешим использовать «Windows Management Instrumentation (WMI)» следующей командой netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Результат успешного выполнения команды: Updated 4 rule(s). Ok. Разрешим icmp-протокол: netsh firewall set icmpsetting 8 Разрешим доступ к расшаренным файлам и папкам: netsh firewall set service type=fileandprint scope=subnet Если вы по какой-то причине не можете подключиться к серверу, попробуйте отключить файервол командой netsh firewall set opmode disable Возможно, Вам придется создать дополнительные правила доступа.

Теперь мы можем использовать оснастки mmc для управления сервером (управление службами, пользователями, политиками и т.д.) и самое главное диспетчер hyper-v. Давайте откроем его: запускаем консоль mmc -> файл -> добавить или удалить оснастку -> диспетчер hyper-v. Выбираем меню Действие - > подключиться к серверу -> другой компьютер. В поле впишите сетевое имя вашего сервера (hyper-srv) и подключайтесь.

Hyper-v server - диспетчер управления ВМ

Вот собственно и все, мы успешно установили и настроили наш hyper-v server. Теперь можно смело разворачивать виртуальные машины и различные сервисы.

Wikipedia - Hyper-v server Полезные консольные команды

Статьи по теме