Microsoft Hyper-V — различия между версиями

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:55, 24 декабря 2016.
(Добавление роли Hyper-V в Microsoft Windows Server 2016)
 
(не показано 45 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{Infobox OS component|name = Hyper-V|os = [[Microsoft Windows Server]]|logo = |screenshot = |caption = |type = [[Гипервизор|Нативный гипервизор]]|included_with = {{Plainlist|
+
{{Infobox OS component
 +
|name = Hyper-V|os = [[Microsoft Windows Server]]
 +
|logo =  
 +
|screenshot =  
 +
|caption =  
 +
|type = [[Гипервизор|Нативный гипервизор]]|included_with = {{Plainlist|
 
* [[Microsoft Windows Vista]] and later
 
* [[Microsoft Windows Vista]] and later
 
* [[Microsoft Windows 8|Select editions]] of [[Microsoft Windows 8]] and later
 
* [[Microsoft Windows 8|Select editions]] of [[Microsoft Windows 8]] and later
 
   }}
 
   }}
|replaces = [[Windows Virtual PC]]|replaced_by = |also_available_for = |related_components = [[App-V]], [[Microsoft Desktop Optimization Pack#Virtualization|MED-V]], [[Remote Desktop Connection]]}}
+
|replaces = [[Windows Virtual PC]]|replaced_by = |also_available_for = |related_components = [[Microsoft App-V|App-V]], [[Microsoft MED-V|MED-V]], [[RDP (Remote Desktop Protocol)|Remote Desktop Connection]]}}
  
'''Microsoft Hyper-V''' (кодовое имя '''Viridian'''), — система аппаратной виртуализации для x64-систем на основе гипервизора. Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а финальная версия (автоматически, через Windows Update) была выпущена 26 июня 2008. Ранее была известна как '''виртуализация Windows Server (Windows Server Virtualization).'''
+
'''Microsoft Hyper-V''' (кодовое имя '''Viridian'''), — система аппаратной виртуализации для x64-систем на основе гипервизора. Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а финальная версия (автоматически, через Windows Update) была выпущена 26 июня 2008. Ранее была известна как '''виртуализация Windows Server (Windows Server Virtualization).''' <ref name="Википедия">[https://en.wikipedia.org/wiki/Hyper-V]</ref>
  
 
==Описание роли и технология==
 
==Описание роли и технология==
Строка 16: Строка 21:
 
Если для установки роли Hyper-V используется диспетчер серверов, средства управления будут включены, если вы исключите их в явном виде. Если для установки роли Hyper-V используется Windows PowerShell, средства управления по умолчанию не включаются.  
 
Если для установки роли Hyper-V используется диспетчер серверов, средства управления будут включены, если вы исключите их в явном виде. Если для установки роли Hyper-V используется Windows PowerShell, средства управления по умолчанию не включаются.  
  
Технология Hyper-V виртуализирует оборудование, создавая среду, в которой на одном физическом компьютере могут одновременно выполняться несколько операционных систем. Hyper-V позволяет создавать виртуальные машины и управлять ими и их ресурсами. Каждая виртуальная машина является изолированной виртуализованной компьютерной системой, на которой выполняется собственная операционная система. Операционную систему, выполняемую на виртуальной машине, называют операционной системой на виртуальной машине.
+
Технология Hyper-V виртуализирует оборудование, создавая среду, в которой на одном физическом компьютере могут одновременно выполняться несколько операционных систем. Hyper-V позволяет создавать виртуальные машины и управлять ими и их ресурсами. Каждая виртуальная машина является изолированной виртуализованной компьютерной системой, на которой выполняется собственная операционная система. Операционную систему, выполняемую на виртуальной машине, называют операционной системой на виртуальной машине.<ref name="Хабрахабр">Вложенная виртуализация Hyper-V — первый шаг [Электронный ресурс]: Архитектура / Дата обращения: 23.11.2015. — Режим доступа: https://habrahabr.ru/company/microsoft/blog/273791/.</ref>.
  
 
==Архитектура==
 
==Архитектура==
  
 
[[Файл:Гипервизор.png|обрамить|справа|Архитектура Hyper-V]]
 
[[Файл:Гипервизор.png|обрамить|справа|Архитектура Hyper-V]]
Как видно из рисунка, гипервизор работает на следующем уровне после железа – что характерно для гипервизоров 1 рода. Уровнем выше гипервизора работают родительская и дочерние партиции. Партиции в данном случае – это области изоляции, внутри которых работают операционные системы. Не нужно путать их, к примеру, с разделами на жестком диске. В родительской партиции запускается хостовая ОС (Windows Server 2008 R2) и стек виртуализации. Так же именно из родительской партиции происходит управление внешними устройствами, а так же дочерними партициями. Дочерние же партиции, как легко догадаться – создаются из родительской партиции и предназначены для запуска гостевых ОС. Все партиции связаны с гипервизором через интерфейс гипервызовов, предоставляющий операционным системам специальный API.
+
Как видно из рисунка, гипервизор работает на следующем уровне после железа – что характерно для гипервизоров 1 рода. Уровнем выше гипервизора работают родительская и дочерние партиции. Партиции в данном случае – это области изоляции, внутри которых работают операционные системы. Не нужно путать их, к примеру, с разделами на жестком диске. В родительской партиции запускается хостовая ОС (Windows Server 2008 R2) и стек виртуализации. Так же именно из родительской партиции происходит управление внешними устройствами, а так же дочерними партициями. Дочерние же партиции, как легко догадаться – создаются из родительской партиции и предназначены для запуска гостевых ОС. Все партиции связаны с гипервизором через интерфейс гипервызовов, предоставляющий операционным системам специальный API.<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
 
+
 
=== Родительская партиция ===
 
=== Родительская партиция ===
  
Строка 31: Строка 35:
 
Управление питанием и обработка аппаратных ошибок, если таковые возникают.
 
Управление питанием и обработка аппаратных ошибок, если таковые возникают.
 
[[Файл:Гипервизор2.png|обрамить|справа|Компоненты родительской партиции Hyper-V]]
 
[[Файл:Гипервизор2.png|обрамить|справа|Компоненты родительской партиции Hyper-V]]
 +
<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
  
 
=== Стек виртуализации ===
 
=== Стек виртуализации ===
Строка 49: Строка 54:
  
 
При запуске виртуальной машины VMMS создает новый рабочий процесс виртуальной машины. Подробнее о рабочих процессах будет рассказано далее.
 
При запуске виртуальной машины VMMS создает новый рабочий процесс виртуальной машины. Подробнее о рабочих процессах будет рассказано далее.
Так же именно VMMS определяет, какие операции разрешено выполнять с виртуальной машиной в настоящий момент: к примеру, если происходит удаление снапшота, то применить снапшот в течение операции удаления она не даст. Подробнее о работе с моментальными снимками (снапшотами) виртуальных машин можно почитать в соответствующей моей статье.
+
Так же именно VMMS определяет, какие операции разрешено выполнять с виртуальной машиной в настоящий момент: к примеру, если происходит удаление снапшота, то применить снапшот в течение операции удаления она не даст. Подробнее о работе с моментальными снимками (снапшотами) виртуальных машин можно почитать в соответствующей моей статье. <ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
 
Если говорить более детально – то VMMS управляет следующими состояниями виртуальных машин:
 
Если говорить более детально – то VMMS управляет следующими состояниями виртуальных машин:
 
* Starting
 
* Starting
Строка 58: Строка 63:
 
* Deleting Snapshot
 
* Deleting Snapshot
 
* Merging Disk
 
* Merging Disk
 
  
 
=== Рабочий процесс виртуальной машины (VMWP) ===
 
=== Рабочий процесс виртуальной машины (VMWP) ===
  
 
Для управления виртуальной машиной из родительской партиции запускается ''особый процесс'' – рабочий процесс виртуальной машины (VMWP). Процесс этот работает на уровне пользователя. Для каждой запущенной виртуальной машины служба VMMS запускает отдельный рабочий процесс. Это позволяет изолировать виртуальные машины друг от друга. Для повышения безопасности, рабочие процессы запускаются под встроенным пользовательским аккаунтом Network Service.
 
Для управления виртуальной машиной из родительской партиции запускается ''особый процесс'' – рабочий процесс виртуальной машины (VMWP). Процесс этот работает на уровне пользователя. Для каждой запущенной виртуальной машины служба VMMS запускает отдельный рабочий процесс. Это позволяет изолировать виртуальные машины друг от друга. Для повышения безопасности, рабочие процессы запускаются под встроенным пользовательским аккаунтом Network Service.
Процесс VMWP используется для управления соответствующей виртуальной машиной. В его задачи входит:
+
Процесс VMWP используется для управления соответствующей виртуальной машиной.<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref> В его задачи входит:
 
* Создание, конфигурация и запуск виртуальной машины
 
* Создание, конфигурация и запуск виртуальной машины
 
* Пауза и продолжение работы (Pause/Resume)
 
* Пауза и продолжение работы (Pause/Resume)
Строка 75: Строка 79:
 
* Эмулируемые устройства – эмулируют определенные аппаратные устройства, такие, к примеру, как видеоадаптер VESA. Эмулируемых устройств достаточно много, к примеру: BIOS, DMA, APIC, шины ISA и PCI, контроллеры прерываний, таймеры, управление питанием, контроллеры последовательных портов, системный динамик, контроллер PS/2 клавиатуры и мыши, эмулируемый (Legacy) Ethernet-адаптер (DEC/Intel 21140), FDD, IDE-контроллер и видеоадаптер VESA/VGA. Именно поэтому для загрузки гостевой ОС может использоваться только виртуальный IDE-контроллер, а не SCSI, который является синтетическим устройством.
 
* Эмулируемые устройства – эмулируют определенные аппаратные устройства, такие, к примеру, как видеоадаптер VESA. Эмулируемых устройств достаточно много, к примеру: BIOS, DMA, APIC, шины ISA и PCI, контроллеры прерываний, таймеры, управление питанием, контроллеры последовательных портов, системный динамик, контроллер PS/2 клавиатуры и мыши, эмулируемый (Legacy) Ethernet-адаптер (DEC/Intel 21140), FDD, IDE-контроллер и видеоадаптер VESA/VGA. Именно поэтому для загрузки гостевой ОС может использоваться только виртуальный IDE-контроллер, а не SCSI, который является синтетическим устройством.
  
* Синтетические устройства – не эмулируют реально существующие в природе железки. Примерами служат синтетический видеоадаптер, устройства взаимодействия с человеком (HID), сетевой адаптер, SCSI-контроллер, синтетический контроллер прерывания и контроллер памяти. Синтетические устройства могут использоваться только при условии установки компонент интеграции в гостевой ОС. Синтетические устройства обращаются к аппаратным устройствам сервера посредством провайдеров служб виртуализации, работающих в родительской партиции. Обращение идет через виртуальную шину VMBus, что намного быстрее, чем эмуляция физических устройств.
+
* Синтетические устройства – не эмулируют реально существующие в природе железки. Примерами служат синтетический видеоадаптер, устройства взаимодействия с человеком (HID), сетевой адаптер, SCSI-контроллер, синтетический контроллер прерывания и контроллер памяти. Синтетические устройства могут использоваться только при условии установки компонент интеграции в гостевой ОС. Синтетические устройства обращаются к аппаратным устройствам сервера посредством провайдеров служб виртуализации, работающих в родительской партиции. Обращение идет через виртуальную шину VMBus, что намного быстрее, чем эмуляция физических устройств.<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
  
 
===Драйвер виртуальной инфраструктуры (VID)===
 
===Драйвер виртуальной инфраструктуры (VID)===
  
Драйвер виртуальной инфраструктуры (vid.sys) работает на уровне ядра и осуществляет управление партициями, виртуальными процессорами и памятью. Так же этот драйвер является промежуточным звеном между гипервизором и компонентами стека виртуализации уровня пользователя.
+
Драйвер виртуальной инфраструктуры (vid.sys) работает на уровне ядра и осуществляет управление партициями, виртуальными процессорами и памятью. Так же этот драйвер является промежуточным звеном между гипервизором и компонентами стека виртуализации уровня пользователя.<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
  
 
===Библиотека интерфейса гипервизора===
 
===Библиотека интерфейса гипервизора===
  
Библиотека интерфейса гипервизора (WinHv.sys) – это DLL уровня ядра, которая загружается как в хостовой, так и в гостевых ОС, при условии установки компонент интеграции. Эта библиотека предоставляет интерфейс гипервызовов, использующийся для взаимодействия ОС и гипервизора.
+
Библиотека интерфейса гипервизора (WinHv.sys) – это DLL уровня ядра, которая загружается как в хостовой, так и в гостевых ОС, при условии установки компонент интеграции. Эта библиотека предоставляет интерфейс гипервызовов, использующийся для взаимодействия ОС и гипервизора.<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015. — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru:  — Режим доступа: https://habrahabr.ru/post/98580</ref>
  
 
===Провайдеры служб виртуализации (VSP)===
 
===Провайдеры служб виртуализации (VSP)===
Строка 94: Строка 98:
 
Если гостевая ОС не поддерживает работу интеграционных компонент – приходится использовать эмуляцию устройств. Это означает, что гипервизору приходится перехватывать вызовы гостевых ОС и перенаправлять их к эмулируемым устройствам, которые, напоминаю, эмулируются рабочим процессом виртуальной машины. Поскольку рабочий процесс запускается в пространстве пользователя, использование эмулируемых устройств приводит к значительному снижению производительности по сравнению с использованием VMBus. Именно поэтому рекомендуется устанавливать компоненты интеграции сразу же после установки гостевой ОС.
 
Если гостевая ОС не поддерживает работу интеграционных компонент – приходится использовать эмуляцию устройств. Это означает, что гипервизору приходится перехватывать вызовы гостевых ОС и перенаправлять их к эмулируемым устройствам, которые, напоминаю, эмулируются рабочим процессом виртуальной машины. Поскольку рабочий процесс запускается в пространстве пользователя, использование эмулируемых устройств приводит к значительному снижению производительности по сравнению с использованием VMBus. Именно поэтому рекомендуется устанавливать компоненты интеграции сразу же после установки гостевой ОС.
 
Как уже было сказано, при использовании VMBus взаимодействие между хостовой и гостевой ОС происходит по клиент-серверной модели. В родительской партиции запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочерних партициях – клиентская часть – VSC. VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительской партиции, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС.
 
Как уже было сказано, при использовании VMBus взаимодействие между хостовой и гостевой ОС происходит по клиент-серверной модели. В родительской партиции запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочерних партициях – клиентская часть – VSC. VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительской партиции, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС.
 +
<ref name="Hyper-V"> Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015. — Материал из Habrahabr - ресурса для IT-специалистов https://habrahabr.ru  — Режим доступа: https://habrahabr.ru/post/98580</ref>
  
 
===Дочерние партиции===
 
===Дочерние партиции===
Строка 109: Строка 114:
 
С выходом сборки Windows Server 2016 Technical Preview 4 (TP4) Hyper-V стал поддерживать возможность вложенной виртуализации.
 
С выходом сборки Windows Server 2016 Technical Preview 4 (TP4) Hyper-V стал поддерживать возможность вложенной виртуализации.
 
Из рисунка видно, что необходимо пробрасывать флаг, связанный с виртуализацией, в гостевую ОС. То есть, в общем случае, мы должны сообщить гипервизору на первом уровне, что необходимо включить поддержку виртуализации в разделяемом процессоре для виртуальной машины. Для этого необходимо запустить скрипт, который изменяет некоторые свойства виртуальной машины. Одно из основных свойств, которое изменяет скрипт, это поведение процессора виртуальной машины.
 
Из рисунка видно, что необходимо пробрасывать флаг, связанный с виртуализацией, в гостевую ОС. То есть, в общем случае, мы должны сообщить гипервизору на первом уровне, что необходимо включить поддержку виртуализации в разделяемом процессоре для виртуальной машины. Для этого необходимо запустить скрипт, который изменяет некоторые свойства виртуальной машины. Одно из основных свойств, которое изменяет скрипт, это поведение процессора виртуальной машины.
 +
<ref name="Хабрахабр">Вложенная виртуализация Hyper-V — первый шаг [Электронный ресурс]: Архитектура / Дата обращения: 23.11.2015. — Режим доступа: https://habrahabr.ru/company/microsoft/blog/273791/.</ref>.
  
 
+
<console>##i##Set-VMProcessor -VMName $vmName -ExposeVirtualizationExtensions $true##!i##</console>
<console>Set-VMProcessor -VMName $vmName -ExposeVirtualizationExtensions $true </console>
+
  
  
 
[[Файл:CoreInfo.png|мини|Работа утилиты CoreInfo|слева]]
 
[[Файл:CoreInfo.png|мини|Работа утилиты CoreInfo|слева]]
Из таблицы видно, что виртуальная машина «понимает», что работает из-под гипервизора. Но до запуска скрипта флаг, связанный с виртуализацией, не передаётся. Далее отработал скрипт, который изменил свойства нашей виртуальной машины и ее процессора и флаг, связанный с виртуализацией, появился. Далее мы включили роль Hyper-V, после этого возник тонкий слой виртуализации и наша операционная система переместилась в свой корневой раздел, флаг виртуализации исчез. Также обратим внимание на значение Microprocessor signature, которое в нашем случае стало FFFFFFFF, что указывает на виртуализацию процессора.
+
Из таблицы видно, что виртуальная машина «понимает», что работает из-под гипервизора. Но до запуска скрипта флаг, связанный с виртуализацией, не передаётся. Далее отработал скрипт, который изменил свойства нашей виртуальной машины и ее процессора и флаг, связанный с виртуализацией, появился. Далее мы включили роль Hyper-V, после этого возник тонкий слой виртуализации и наша операционная система переместилась в свой корневой раздел, флаг виртуализации исчез. Также обратим внимание на значение Microprocessor signature, которое в нашем случае стало FFFFFFFF, что указывает на виртуализацию процессора.<ref name="Хабрахабр">Вложенная виртуализация Hyper-V — первый шаг [Электронный ресурс]: Архитектура / Дата обращения: 23.11.2015. — Режим доступа: https://habrahabr.ru/company/microsoft/blog/273791/.</ref>.
 
+
  
  
Строка 126: Строка 130:
 
*Сначала заходим в "Настройки" виртуальной машины Microsoft Windows Server 2016, далее переходим в вкладку "Система", там нас интересует "Ускорение". Интерфейс паравиртуализации должен быть настроен на "Hyper-V", а аппаратная виртуализация должна поддерживать  "VT-x/AMD-V".  
 
*Сначала заходим в "Настройки" виртуальной машины Microsoft Windows Server 2016, далее переходим в вкладку "Система", там нас интересует "Ускорение". Интерфейс паравиртуализации должен быть настроен на "Hyper-V", а аппаратная виртуализация должна поддерживать  "VT-x/AMD-V".  
 
*Войдя в среду Microsoft Windows Server 2016, нам потребуется открыть Windows PowerShell ISE. После открытия последовательно вводим ряд инструкций, представленных в листинге ниже. Каждая инструкция должна быть введена максимально точно, иначе система её не распознает.
 
*Войдя в среду Microsoft Windows Server 2016, нам потребуется открыть Windows PowerShell ISE. После открытия последовательно вводим ряд инструкций, представленных в листинге ниже. Каждая инструкция должна быть введена максимально точно, иначе система её не распознает.
# Сначала пишем: <console> Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart </console>
+
# Сначала пишем: <console>##i##Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart##!i##</console>
# Далее: <console> Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature </console>
+
# Далее: <console>##i##Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature##!i##</console>
# Далее: <console> Install-WindowsFeature RSAT-Clustering -IncludeAllSubFeature </console>
+
# Далее: <console>##i##Install-WindowsFeature RSAT-Clustering -IncludeAllSubFeature##!i##</console>
# Далее: <console> Install-WindowsFeature Multipath-IO </console>
+
# Далее: <console>##i##Install-WindowsFeature Multipath-IO##!i##</console>
# И, наконец, даем системе команду перезапуститься:  <console> Restart-Computer </console>
+
# И, наконец, даем системе команду перезапуститься:  <console>##i##Restart-Computer##!i##</console>
  
 
=== Сфера применения вложенных виртуальных машин ===  
 
=== Сфера применения вложенных виртуальных машин ===  
Строка 145: Строка 149:
 
* В Windows 10 нужно отключить фичу Virtualization Based Security (VBS), которая предотвращает трансляцию Virtualization Extensions в виртуальные машины.
 
* В Windows 10 нужно отключить фичу Virtualization Based Security (VBS), которая предотвращает трансляцию Virtualization Extensions в виртуальные машины.
 
* Предусмотреть память под сам гостевой гипервизор и под все запущенные виртуальные машины
 
* Предусмотреть память под сам гостевой гипервизор и под все запущенные виртуальные машины
 +
<ref name="vmgu">Microsoft Hyper-V [Электронный реcурс]:Вложенная виртуализация (Nested virtualization)/ Дата обращения: 23.11.2016. - Режим доступа: http://www.vmgu.ru/search/Virtualization</ref>
  
 
[[Файл:Вложенная.png|мини|Виртуальная машина на виртуальном хосте Hyper-V|справа]]
 
[[Файл:Вложенная.png|мини|Виртуальная машина на виртуальном хосте Hyper-V|справа]]
 
Теперь для того чтобы включить Nested Virtualization, выполните следующий сценарий PowerShell (в нем и VBS отключается, и Mac Spoofing включается):
 
Теперь для того чтобы включить Nested Virtualization, выполните следующий сценарий PowerShell (в нем и VBS отключается, и Mac Spoofing включается):
  
<console> Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1 </console>
+
<console>##i##Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1##!i##</console>
  
<console> ~/Enable-NestedVm.ps1 -VmName <VmName> </console>
+
<console>##i##~/Enable-NestedVm.ps1 -VmName <VmName>##!i##</console>
  
 
Далее создайте виртуальную машину на базе Windows 10 Build 10565, и включите в ней Mac Spoofing (если вы не сделали это в скрипте). Сделать это можно через настройки ВМ или следующей командой PowerShell:
 
Далее создайте виртуальную машину на базе Windows 10 Build 10565, и включите в ней Mac Spoofing (если вы не сделали это в скрипте). Сделать это можно через настройки ВМ или следующей командой PowerShell:
  
<console> Set-VMNetworkAdapter -VMName <VMName> -MacAddressSpoofing on </console>
+
<console>##i##Set-VMNetworkAdapter -VMName <VMName> -MacAddressSpoofing on##!i##</console>
  
 
==Практическое применение==
 
==Практическое применение==
Строка 163: Строка 168:
 
#Непрерывные деловые операции. Hyper-V может помочь минимизировать влияние как плановых, так и незапланированных простоев на рабочие нагрузки.
 
#Непрерывные деловые операции. Hyper-V может помочь минимизировать влияние как плановых, так и незапланированных простоев на рабочие нагрузки.
 
#Установка или расширение инфраструктуры виртуальных рабочих столов (VDI). Стратегия централизованных рабочих столов с применением VDI может помочь быстрее выполнять деловые задачи и повысить безопасность данных, а также упростить соблюдение обязательных требований и управление операционными системами и приложениями на рабочих столах. Развертывайте Hyper-V и узел виртуализации удаленных рабочих столов (RD Virtualization Host) на одном физическом компьютере, чтобы сделать личные виртуальные рабочие столы или пулы виртуальных рабочих столов доступными для пользователей.
 
#Установка или расширение инфраструктуры виртуальных рабочих столов (VDI). Стратегия централизованных рабочих столов с применением VDI может помочь быстрее выполнять деловые задачи и повысить безопасность данных, а также упростить соблюдение обязательных требований и управление операционными системами и приложениями на рабочих столах. Развертывайте Hyper-V и узел виртуализации удаленных рабочих столов (RD Virtualization Host) на одном физическом компьютере, чтобы сделать личные виртуальные рабочие столы или пулы виртуальных рабочих столов доступными для пользователей.
#Повышение эффективности разработки и тестирования. Вы можете использовать виртуальные машины для воспроизведения реальных компьютерных сред без необходимости приобретать и поддерживать все оборудование, которое понадобилось бы в противном случае.
+
#Повышение эффективности разработки и тестирования. Вы можете использовать виртуальные машины для воспроизведения реальных компьютерных сред без необходимости приобретать и поддерживать все оборудование, которое понадобилось бы в противном случае.<ref name="Microsoft">Microsoft [Электронный реcурс]: Обзор Hyper-V / Дата обращения: 21.11.2016. - Режим доступа: https://msdn.microsoft.com/ru-ru/library/hh831531(v=ws.11).aspx</ref>
  
 
==Поддерживаемые операционные системы Windows Server==
 
==Поддерживаемые операционные системы Windows Server==
Строка 215: Строка 220:
 
По состоянию на декабрь 2008 Hyper-V не поддерживает доступ к USB-устройствам или воспроизведение звуков в гостевых ВМ. Тем не менее, обходным маневром для доступа к USB-накопителям в гостевых ВМ может послужить использование Microsoft Remote Desktop Client для открытия доступа к накопителям хоста для «гостей» через соединение Remote Desktop Connection.[17] Другая возможность — использовать устройства типа USB-over-Network с установкой драйверов в каждую виртуальную машину.
 
По состоянию на декабрь 2008 Hyper-V не поддерживает доступ к USB-устройствам или воспроизведение звуков в гостевых ВМ. Тем не менее, обходным маневром для доступа к USB-накопителям в гостевых ВМ может послужить использование Microsoft Remote Desktop Client для открытия доступа к накопителям хоста для «гостей» через соединение Remote Desktop Connection.[17] Другая возможность — использовать устройства типа USB-over-Network с установкой драйверов в каждую виртуальную машину.
 
Также Hyper-V весьма слаб в поддержке старых приложений для MS-DOS, в том числе игр. Unreal mode в «гостях» не поддерживается вовсе, хотя он правильно поддерживается в Virtual PC.
 
Также Hyper-V весьма слаб в поддержке старых приложений для MS-DOS, в том числе игр. Unreal mode в «гостях» не поддерживается вовсе, хотя он правильно поддерживается в Virtual PC.
Также Hyper-V поддерживает живую миграцию (начиная с Windows Server 2008 R2) гостевых ВМ, где живая миграция понимается как поддержка сетевых соединений и отсутствие прерываний выполнения служб во время переноса ВМ. Ранее вместо этого Hyper-V на Server 2008 Enterprise и Datacenter Editions поддерживал быструю миграцию, во время которой гостевая ВМ приостанавливается на одном хосте и «пробуждается» уже на другом. Такая операция занимает столько времени, сколько потребуется для передачи активной памяти гостевой ВМ по сети от первого хоста второму.
+
Также Hyper-V поддерживает живую миграцию (начиная с Windows Server 2008 R2) гостевых ВМ, где живая миграция понимается как поддержка сетевых соединений и отсутствие прерываний выполнения служб во время переноса ВМ. Ранее вместо этого Hyper-V на Server 2008 Enterprise и Datacenter Editions поддерживал быструю миграцию, во время которой гостевая ВМ приостанавливается на одном хосте и «пробуждается» уже на другом. Такая операция занимает столько времени, сколько потребуется для передачи активной памяти гостевой ВМ по сети от первого хоста второму. <ref name="Википедия">Hyper-V [Электронный ресурс]: Сведения о системе — Материал из Википедии — свободной энциклопедии: Версия, сохранённая в 17:35, 21 августа 2016‎ / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: https://ru.wikipedia.org/wiki/Hyper-V</ref>
==Дополнительно==
+
 
 +
== Ссылки ==
 +
 
 
===== Установка и настройка =====
 
===== Установка и настройка =====
 
#[http://habrahabr.ru/post/259115/ Hyper-v Server 2012R2: опыт установки и настройки]
 
#[http://habrahabr.ru/post/259115/ Hyper-v Server 2012R2: опыт установки и настройки]
Строка 222: Строка 229:
 
#[https://technet.microsoft.com/ru-ru/library/hh846766.aspx Установка Hyper-V и создание виртуальной машины]
 
#[https://technet.microsoft.com/ru-ru/library/hh846766.aspx Установка Hyper-V и создание виртуальной машины]
 
#[http://itew.ru/2009/05/26/340/ Настройка виртуальных сетей в Hyper-V]
 
#[http://itew.ru/2009/05/26/340/ Настройка виртуальных сетей в Hyper-V]
#[http://www.vmgu.ru/search/Virtualization Вложенная виртуализация(Nested virtualisation) на Microsoft Hyper-V]
+
#[https://blogs.msdn.microsoft.com/virtual_pc_guy/2014/06/09/ubuntu-14-04-in-a-generation-2-vm/ Ubuntu in Hyper-V]
 +
 
 
===== Интересное =====
 
===== Интересное =====
#[https://technet.microsoft.com/ru-ru/library/hh831531.aspx Обзор на официальном сайте microsoft]
+
 
 
#[https://habrahabr.ru/company/veeam/blog/159339/ Microsoft Hyper-V 3.0: новые возможности]
 
#[https://habrahabr.ru/company/veeam/blog/159339/ Microsoft Hyper-V 3.0: новые возможности]
 
#[https://habrahabr.ru/company/ua-hosting/blog/231647/ 15 принципов безопасности Hyper-V]
 
#[https://habrahabr.ru/company/ua-hosting/blog/231647/ 15 принципов безопасности Hyper-V]
 
#[https://habrahabr.ru/company/microsoft/blog/173159/ Виртуализация сети в Hyper-V. Концепция]
 
#[https://habrahabr.ru/company/microsoft/blog/173159/ Виртуализация сети в Hyper-V. Концепция]
 +
#[https://https://www.baswijdenes.com/portfolio/hyper-v-in-virtualbox-guide/ Решение проблемы отсутствия у процессора возможностей аппаратной виртуализации(Hyper-V in VirtualBox)]
 +
#[https://social.technet.microsoft.com/Forums/office/en-US/d7e13a44-a9c3-4cb6-b45a-6b347f32b97c/hyperv-failed-to-start-the-virtual-machine-test-because-one-of-the-hyperv-components-is-not?forum=winserverhyperv Когда один из компонентов Hyper-V не работает]
 +
#[http://www.outsidethebox.ms/13657/ Hyper-V в Windows: руководство по созданию и настройке виртуальных машин]
  
 
== Источники ==
 
== Источники ==
* Архитектура Hyper-V: Глубокое погружение: материал из Habrahabr - ресурса для IT-специалистов: /Статья с 8 июля 2010 / Автор статьи: Александр Косивченко // Habrahabr. — Электрон. дан. https://habrahabr.ru/post/98580
 
* Hyper-V [Электронный ресурс] : Материал из Википедии — свободной энциклопедии : Версия 75502151, сохранённая в 19:49 UTC 3 января 2016 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Режим доступа: http://ru.wikipedia.org/?oldid=75502151
 
* Вложенная виртуализация Hyper-V — первый шаг: материал из Habrahabr -ресурса для IT- специалистов: /Статья с 23 декабря 2015 года / Автор статьи: Михаил Комаров // Habrahabr. — Электрон. дан. https://habrahabr.ru/company/microsoft/blog/273791/
 

Текущая версия на 16:55, 24 декабря 2016

Hyper-V
A component of Microsoft Windows Server
Details
Type Нативный гипервизор
Included with
Replaces Windows Virtual PC
Related components
App-V, MED-V, Remote Desktop Connection

Microsoft Hyper-V (кодовое имя Viridian), — система аппаратной виртуализации для x64-систем на основе гипервизора. Бета-версия Hyper-V была включена в x64-версии Windows Server 2008, а финальная версия (автоматически, через Windows Update) была выпущена 26 июня 2008. Ранее была известна как виртуализация Windows Server (Windows Server Virtualization). [1]

Описание роли и технология

Роль Hyper-V позволяет создавать виртуализованную вычислительную среду с помощью технологии виртуализации, встроенной в Windows Server, и управлять ею. При установке роли Hyper-V выполняется установка необходимых компонентов, а также необязательных средств управления. В число необходимых компонентов входят низкоуровневая оболочка Windows, служба управления виртуальными машинами Hyper-V, поставщик виртуализации WMI и компоненты виртуализации, такие как шина VMbus, поставщик службы виртуализации (VSP) и драйвер виртуальной инфраструктуры (VID).

Средства управления для роли Hyper-V:

  1. Средства управления на основе графического интерфейса пользователя: диспетчер Hyper-V, оснастка консоли управления (MMC) и подключение к виртуальной машине, которое обеспечивает доступ к видеовыходу виртуальной машины, чтобы пользователь мог взаимодействовать с виртуальной машиной.
  2. Специализированные командлеты Hyper-V для Windows PowerShell.Windows Server 2012 включает модуль Hyper-V, обеспечивающий доступ из командной строки ко всем функциям, доступным в графическом интерфейсе пользователя, а также к функциям, недоступным через графический интерфейс пользователя.

Если для установки роли Hyper-V используется диспетчер серверов, средства управления будут включены, если вы исключите их в явном виде. Если для установки роли Hyper-V используется Windows PowerShell, средства управления по умолчанию не включаются.

Технология Hyper-V виртуализирует оборудование, создавая среду, в которой на одном физическом компьютере могут одновременно выполняться несколько операционных систем. Hyper-V позволяет создавать виртуальные машины и управлять ими и их ресурсами. Каждая виртуальная машина является изолированной виртуализованной компьютерной системой, на которой выполняется собственная операционная система. Операционную систему, выполняемую на виртуальной машине, называют операционной системой на виртуальной машине.[2].

Архитектура

Архитектура Hyper-V

Как видно из рисунка, гипервизор работает на следующем уровне после железа – что характерно для гипервизоров 1 рода. Уровнем выше гипервизора работают родительская и дочерние партиции. Партиции в данном случае – это области изоляции, внутри которых работают операционные системы. Не нужно путать их, к примеру, с разделами на жестком диске. В родительской партиции запускается хостовая ОС (Windows Server 2008 R2) и стек виртуализации. Так же именно из родительской партиции происходит управление внешними устройствами, а так же дочерними партициями. Дочерние же партиции, как легко догадаться – создаются из родительской партиции и предназначены для запуска гостевых ОС. Все партиции связаны с гипервизором через интерфейс гипервызовов, предоставляющий операционным системам специальный API.[3]

Родительская партиция

Родительская партиция создается сразу же при установке системной роли Hyper-V. Компоненты родительской партиции показаны на рис. 6. Назначение родительской партиции следующее: Создание, удаление и управление дочерними партициями, в том числе и удаленное, посредством WMI-провайдера. Управление доступом к аппаратным устройствам, за исключением выделения процессорного времени и памяти – этим занимается гипервизор. Управление питанием и обработка аппаратных ошибок, если таковые возникают.

Компоненты родительской партиции Hyper-V

[3]

Стек виртуализации

Следующие компоненты, работающие в родительской партиции, в совокупности называют стеком виртуализации:

  • Служба управления виртуальными машинами (VMMS)
  • Рабочие процессы виртуальных машин (VMWP)
  • Виртуальные устройства
  • Драйвер виртуальной инфраструктуры (VID)
  • Библиотека интерфейсов гипервизора

Помимо этого, в родительской партиции работают еще два компонента. Это провайдеры служб виртуализации (VSP) и шина виртуальных машин (VMBus). Служба управления виртуальными машинами В задачи службы управления виртуальными машинами (VMMS) входит:

  • Управление состоянием виртуальных машин (включено/выключено)
  • Добавление/удаление виртуальных устройств
  • Управление моментальными снимками

При запуске виртуальной машины VMMS создает новый рабочий процесс виртуальной машины. Подробнее о рабочих процессах будет рассказано далее. Так же именно VMMS определяет, какие операции разрешено выполнять с виртуальной машиной в настоящий момент: к примеру, если происходит удаление снапшота, то применить снапшот в течение операции удаления она не даст. Подробнее о работе с моментальными снимками (снапшотами) виртуальных машин можно почитать в соответствующей моей статье. [3] Если говорить более детально – то VMMS управляет следующими состояниями виртуальных машин:

  • Starting
  • Active
  • Not Active
  • Taking Snapshot
  • Applying Snapshot
  • Deleting Snapshot
  • Merging Disk

Рабочий процесс виртуальной машины (VMWP)

Для управления виртуальной машиной из родительской партиции запускается особый процесс – рабочий процесс виртуальной машины (VMWP). Процесс этот работает на уровне пользователя. Для каждой запущенной виртуальной машины служба VMMS запускает отдельный рабочий процесс. Это позволяет изолировать виртуальные машины друг от друга. Для повышения безопасности, рабочие процессы запускаются под встроенным пользовательским аккаунтом Network Service. Процесс VMWP используется для управления соответствующей виртуальной машиной.[3] В его задачи входит:

  • Создание, конфигурация и запуск виртуальной машины
  • Пауза и продолжение работы (Pause/Resume)
  • Сохранение и восстановление состояния (Save/Restore State)
  • Создание моментальных снимков

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

Виртуальные устройства

Виртуальные устройства (VDevs) – это программные модули, реализующие конфигурацию и управление устройствами для виртуальных машин. VMB включает в себя базовый набор виртуальных устройств, включающий в себя шину PCI и системные устройства, идентичные чипсету Intel 440BX. Есть два типа виртуальных устройств:

  • Эмулируемые устройства – эмулируют определенные аппаратные устройства, такие, к примеру, как видеоадаптер VESA. Эмулируемых устройств достаточно много, к примеру: BIOS, DMA, APIC, шины ISA и PCI, контроллеры прерываний, таймеры, управление питанием, контроллеры последовательных портов, системный динамик, контроллер PS/2 клавиатуры и мыши, эмулируемый (Legacy) Ethernet-адаптер (DEC/Intel 21140), FDD, IDE-контроллер и видеоадаптер VESA/VGA. Именно поэтому для загрузки гостевой ОС может использоваться только виртуальный IDE-контроллер, а не SCSI, который является синтетическим устройством.
  • Синтетические устройства – не эмулируют реально существующие в природе железки. Примерами служат синтетический видеоадаптер, устройства взаимодействия с человеком (HID), сетевой адаптер, SCSI-контроллер, синтетический контроллер прерывания и контроллер памяти. Синтетические устройства могут использоваться только при условии установки компонент интеграции в гостевой ОС. Синтетические устройства обращаются к аппаратным устройствам сервера посредством провайдеров служб виртуализации, работающих в родительской партиции. Обращение идет через виртуальную шину VMBus, что намного быстрее, чем эмуляция физических устройств.[3]

Драйвер виртуальной инфраструктуры (VID)

Драйвер виртуальной инфраструктуры (vid.sys) работает на уровне ядра и осуществляет управление партициями, виртуальными процессорами и памятью. Так же этот драйвер является промежуточным звеном между гипервизором и компонентами стека виртуализации уровня пользователя.[3]

Библиотека интерфейса гипервизора

Библиотека интерфейса гипервизора (WinHv.sys) – это DLL уровня ядра, которая загружается как в хостовой, так и в гостевых ОС, при условии установки компонент интеграции. Эта библиотека предоставляет интерфейс гипервызовов, использующийся для взаимодействия ОС и гипервизора.[3]

Провайдеры служб виртуализации (VSP)

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

Шина виртуальных машин (VMBus)

Назначение VMBus состоит в предоставлении высокоскоростного доступа между родительской и дочерними партициями, в то время как остальные способы доступа значительно медленнее из-за высоких накладных расходах при эмуляции устройств. Если гостевая ОС не поддерживает работу интеграционных компонент – приходится использовать эмуляцию устройств. Это означает, что гипервизору приходится перехватывать вызовы гостевых ОС и перенаправлять их к эмулируемым устройствам, которые, напоминаю, эмулируются рабочим процессом виртуальной машины. Поскольку рабочий процесс запускается в пространстве пользователя, использование эмулируемых устройств приводит к значительному снижению производительности по сравнению с использованием VMBus. Именно поэтому рекомендуется устанавливать компоненты интеграции сразу же после установки гостевой ОС. Как уже было сказано, при использовании VMBus взаимодействие между хостовой и гостевой ОС происходит по клиент-серверной модели. В родительской партиции запущены провайдеры служб виртуализации (VSP), которые являются серверной частью, а в дочерних партициях – клиентская часть – VSC. VSC перенаправляет запросы гостевой ОС через VMBus к VSP в родительской партиции, а сам VSP переадресовывает запрос драйверу устройства. Этот процесс взаимодействия абсолютно прозрачен для гостевой ОС. [3]

Дочерние партиции

Дочерние патриции

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

  • ОС Windows, с установленными компонентами интеграции (в нашем случае – Microsoft Windows 7)
  • ОС не из семейства Windows, но поддерживающая компоненты интеграции (Red Hat Enterprise Linux в нашем случае)
  • ОС, не поддерживающие компоненты интеграции (например, FreeBSD).

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

Вложенная виртуализация Hyper-V

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

С выходом сборки Windows Server 2016 Technical Preview 4 (TP4) Hyper-V стал поддерживать возможность вложенной виртуализации. Из рисунка видно, что необходимо пробрасывать флаг, связанный с виртуализацией, в гостевую ОС. То есть, в общем случае, мы должны сообщить гипервизору на первом уровне, что необходимо включить поддержку виртуализации в разделяемом процессоре для виртуальной машины. Для этого необходимо запустить скрипт, который изменяет некоторые свойства виртуальной машины. Одно из основных свойств, которое изменяет скрипт, это поведение процессора виртуальной машины. [2].

Set-VMProcessor -VMName $vmName -ExposeVirtualizationExtensions $true


Работа утилиты CoreInfo

Из таблицы видно, что виртуальная машина «понимает», что работает из-под гипервизора. Но до запуска скрипта флаг, связанный с виртуализацией, не передаётся. Далее отработал скрипт, который изменил свойства нашей виртуальной машины и ее процессора и флаг, связанный с виртуализацией, появился. Далее мы включили роль Hyper-V, после этого возник тонкий слой виртуализации и наша операционная система переместилась в свой корневой раздел, флаг виртуализации исчез. Также обратим внимание на значение Microprocessor signature, которое в нашем случае стало FFFFFFFF, что указывает на виртуализацию процессора.[2].



Добавление роли Hyper-V в Microsoft Windows Server 2016

Настройка состоит из 2-х этапов, которые нужно выполнить последовательно.

  • Сначала заходим в "Настройки" виртуальной машины Microsoft Windows Server 2016, далее переходим в вкладку "Система", там нас интересует "Ускорение". Интерфейс паравиртуализации должен быть настроен на "Hyper-V", а аппаратная виртуализация должна поддерживать "VT-x/AMD-V".
  • Войдя в среду Microsoft Windows Server 2016, нам потребуется открыть Windows PowerShell ISE. После открытия последовательно вводим ряд инструкций, представленных в листинге ниже. Каждая инструкция должна быть введена максимально точно, иначе система её не распознает.
  1. Сначала пишем:
    Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart
  2. Далее:
    Install-WindowsFeature RSAT-Hyper-V-Tools -IncludeAllSubFeature
  3. Далее:
    Install-WindowsFeature RSAT-Clustering -IncludeAllSubFeature
  4. Далее:
    Install-WindowsFeature Multipath-IO
  5. И, наконец, даем системе команду перезапуститься:
    Restart-Computer

Сфера применения вложенных виртуальных машин

  • Виртуальные тестовые лаборатории, где развертываются виртуальные серверы Hyper-V и строятся модели работающих виртуальных инфраструктур в рамках одного физического компьютера.
  • Использование контейнеризованных приложений (например, на движке Docker) в виртуальных машинах на виртуальных хостах Hyper-V.

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

Для того, чтобы вложенная виртуализация заработала, нужно:

  • Использовать Windows 10 Build 10565. Windows Server 2016 Technical Preview 3 (TPv3) и Windows 10 GA - не подойдут, так как в них возможности Nested Virtualization нет.
  • Включить Mac Spoofing на сетевом адаптере виртуального хоста Hyper-V, так как виртуальный коммутатор хостового Hyper-V будет видеть несколько MAC-адресов с этого виртуального адаптера.
  • В Windows 10 нужно отключить фичу Virtualization Based Security (VBS), которая предотвращает трансляцию Virtualization Extensions в виртуальные машины.
  • Предусмотреть память под сам гостевой гипервизор и под все запущенные виртуальные машины

[4]

Виртуальная машина на виртуальном хосте Hyper-V

Теперь для того чтобы включить Nested Virtualization, выполните следующий сценарий PowerShell (в нем и VBS отключается, и Mac Spoofing включается):

Invoke-WebRequest https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/master/hyperv-tools/Nested/Enable-NestedVm.ps1 -OutFile ~/Enable-NestedVm.ps1
~/Enable-NestedVm.ps1 -VmName <VmName>

Далее создайте виртуальную машину на базе Windows 10 Build 10565, и включите в ней Mac Spoofing (если вы не сделали это в скрипте). Сделать это можно через настройки ВМ или следующей командой PowerShell:

Set-VMNetworkAdapter -VMName <VMName> -MacAddressSpoofing on

Практическое применение

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

  1. Создание или расширение частной облачной среды. Hyper-V поможет перейти на работу с общими ресурсами или расширить их применение, а также регулировать их использование в соответствии с изменяющимися требованиями, чтобы более гибко предоставлять индивидуальные ИТ-услуги.
  2. Эффективное использование оборудования. Сосредоточив серверы и рабочие нагрузки на меньшем числе более мощных физических компьютеров, вы сможете сократить потребление ресурсов, например электроэнергии и физического пространства.
  3. Непрерывные деловые операции. Hyper-V может помочь минимизировать влияние как плановых, так и незапланированных простоев на рабочие нагрузки.
  4. Установка или расширение инфраструктуры виртуальных рабочих столов (VDI). Стратегия централизованных рабочих столов с применением VDI может помочь быстрее выполнять деловые задачи и повысить безопасность данных, а также упростить соблюдение обязательных требований и управление операционными системами и приложениями на рабочих столах. Развертывайте Hyper-V и узел виртуализации удаленных рабочих столов (RD Virtualization Host) на одном физическом компьютере, чтобы сделать личные виртуальные рабочие столы или пулы виртуальных рабочих столов доступными для пользователей.
  5. Повышение эффективности разработки и тестирования. Вы можете использовать виртуальные машины для воспроизведения реальных компьютерных сред без необходимости приобретать и поддерживать все оборудование, которое понадобилось бы в противном случае.[5]

Поддерживаемые операционные системы Windows Server

Клиентские

Операционная система на виртуальной машине(клиент) Максимальное число виртуальных процессоров Службы интеграции Заметки
Windows 8.1 32 Встроенные
Windows 8 32 Обновите службы интеграции после настройки операционной системы на виртуальной машине
Windows 7 с пакетом обновления 1 (SP1) 4 Обновите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Максимальная, Корпоративная и Профессиональная (32-разрдные и 64-разрядные)
Windows 7 4 Обновите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Максимальная, Корпоративная и Профессиональная (32-разрдные и 64-разрядные)
Windows Vista с пакетом обновления 2 (SP2) 2 Установите службы интеграции после настройки операционной системы на виртуальной машине Business, Enterprise и Ultimate, включая выпуски N и KN
Windows XP с пакетом обновления 3 (SP3) 2 Установите службы интеграции после настройки операционной системы на виртуальной машине Professional
Windows XP x64 Edition с пакетом обновления 2 (SP2) 2 Установите службы интеграции после настройки операционной системы на виртуальной машине Professional

Гостевые

Операционная система на виртуальной машине (сервер) Максимальное число виртуальных процессоров Службы интеграции Заметки
Windows Server 2012 R2 64 Встроенные
Windows Server 2012 64 Встроенные
Windows Server 2008 R2 с пакетом обновления 1 (SP1) 64 Установите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Datacenter, Enterprise, Standard и Web
Windows Server 2008 R2 с пакетом обновления 2 (SP2) 4 Установите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Datacenter, Enterprise, Standard и Web (32-разрядные и 64-разрядные)
Windows Home Server 2011 4 Установите службы интеграции после настройки операционной системы на виртуальной машине
Windows Small Business Server 2011 Выпуск Essentials - 2
Выпуск Standard - 4
Установите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Essentials и Standard
Windows Server 2003 R2 с пакетом обновления 2 (SP2) 2 Установите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Standard, Web и Enterprise (32-разрядные и 64-разрядные)
Windows Server 2003 с пакетом обновления 2 2 Установите службы интеграции после настройки операционной системы на виртуальной машине Выпуски Standard, Web и Enterprise (32-разрядные и 64-разрядные)

Ограничения

По состоянию на декабрь 2008 Hyper-V не поддерживает доступ к USB-устройствам или воспроизведение звуков в гостевых ВМ. Тем не менее, обходным маневром для доступа к USB-накопителям в гостевых ВМ может послужить использование Microsoft Remote Desktop Client для открытия доступа к накопителям хоста для «гостей» через соединение Remote Desktop Connection.[17] Другая возможность — использовать устройства типа USB-over-Network с установкой драйверов в каждую виртуальную машину. Также Hyper-V весьма слаб в поддержке старых приложений для MS-DOS, в том числе игр. Unreal mode в «гостях» не поддерживается вовсе, хотя он правильно поддерживается в Virtual PC. Также Hyper-V поддерживает живую миграцию (начиная с Windows Server 2008 R2) гостевых ВМ, где живая миграция понимается как поддержка сетевых соединений и отсутствие прерываний выполнения служб во время переноса ВМ. Ранее вместо этого Hyper-V на Server 2008 Enterprise и Datacenter Editions поддерживал быструю миграцию, во время которой гостевая ВМ приостанавливается на одном хосте и «пробуждается» уже на другом. Такая операция занимает столько времени, сколько потребуется для передачи активной памяти гостевой ВМ по сети от первого хоста второму. [1]

Ссылки

Установка и настройка
  1. Hyper-v Server 2012R2: опыт установки и настройки
  2. Как я перестал беспокоиться и полюбил Hyper-V Server
  3. Установка Hyper-V и создание виртуальной машины
  4. Настройка виртуальных сетей в Hyper-V
  5. Ubuntu in Hyper-V
Интересное
  1. Microsoft Hyper-V 3.0: новые возможности
  2. 15 принципов безопасности Hyper-V
  3. Виртуализация сети в Hyper-V. Концепция
  4. Решение проблемы отсутствия у процессора возможностей аппаратной виртуализации(Hyper-V in VirtualBox)
  5. Когда один из компонентов Hyper-V не работает
  6. Hyper-V в Windows: руководство по созданию и настройке виртуальных машин

Источники

  1. 1,0 1,1 [1]
  2. 2,0 2,1 2,2 Вложенная виртуализация Hyper-V — первый шаг [Электронный ресурс]: Архитектура / Дата обращения: 23.11.2015. — Режим доступа: https://habrahabr.ru/company/microsoft/blog/273791/.
  3. 3,0 3,1 3,2 3,3 3,4 3,5 3,6 3,7 Архитектура Hyper-V: Глубокое погружение [Электронный ресурс]: Сведения о Hyper-V / Дата обращения: 23.11.2015 — Материал из Habrahabr -ресурса для IT-специалистов https://habrahabr.ru: — Режим доступа: https://habrahabr.ru/post/98580
  4. Microsoft Hyper-V [Электронный реcурс]:Вложенная виртуализация (Nested virtualization)/ Дата обращения: 23.11.2016. - Режим доступа: http://www.vmgu.ru/search/Virtualization
  5. Microsoft [Электронный реcурс]: Обзор Hyper-V / Дата обращения: 21.11.2016. - Режим доступа: https://msdn.microsoft.com/ru-ru/library/hh831531(v=ws.11).aspx