Введение
История релиза Hyper-V Server 2019 получилась необычной и даже какой-то драматичной, как и все последние релизы от компании Microsoft. Поясню для тех, кто не в курсе. Сам 2019-й сервер зарелизился в октябре 2018 года с какими-то критичными багами. Подробности проблем не помню, но в итоге релиз отозвали. Через месяц зарелизили еще раз и вроде как успешно.
С сайта микрософт можно было скачать все версии 2019-го сервера, кроме бесплатной версии Hyper-V. Я следил за темой и все ждал, когда же появится iso образ с Hyper-V Server 2019, а его все не было и не было. Причем в Evaluation Center стояла пометка, что релиз пока откладывается, ждите, скоро все будет.
И вот дождались. 15-го июня я увидел новость о том, что Hyper-V Server 2019 доступен для загрузки в Evaluation Center. Зашел, проверил. В самом деле это так. Появился iso образ, который можно свободно загрузить, что я успешно сделал.
К слову, образ hyper-v 2019 гулял в сети, так как после первого релиза еще в октябре 2018, он был доступен и многие его скачали. Но там были какие-то баги. Из того, что я прочитал, люди указывали на то, что не работал rdp доступ к гипервизору. Не смог это проверить, так как у меня просто не проходила установка на сервер. Он то ли не устанавливался вовсе, выдавая ошибку в процессе установки, то ли потом в синий экран падал. Точно не помню. Я не стал разбираться, а поставил предыдущую версию. Как оказалось, не зря.
Принцип работы вложенной виртуализации
Современные процессоры поддерживают аппаратные функции, которые делают виртуализацию быстрее и надежнее. Hyper-V использует эти расширения процессора (например, Intel VT-x и AMD-V) для выполнения виртуальных машин. Как правило, после запуска Hyper-V другое программное обеспечение блокируется с помощью этих возможностей процессора. Это предотвращает запуск Hyper-V на гостевых виртуальных машинах.
Вложенная виртуализация предоставляет поддержку этих аппаратных функций гостевым виртуальным машинам.
На схеме ниже показана роль Hyper-V без вложения. Низкоуровневая оболочка Hyper-V полностью контролирует возможности аппаратной виртуализации (оранжевая стрелка) и скрывает их от операционной системы.
На следующей схеме показана роль Hyper-V с включенной вложенной виртуализацией. В этом случае Hyper-V предоставляет расширения аппаратной виртуализации виртуальным машинам. Если вложение включено, гостевая виртуальная машина может установить собственную низкоуровневую оболочку и запускать свои гостевые виртуальные машины.
Запуск виртуальной машины и установка Windows на нее
Здесь тоже все просто, но немного непривычно для тех, кто ранее не сталкивался с Hyper-V.
В диспетчере Hyper-V:
- для запуска виртуальной машины нажмите «Пуск»
- для взаимодействия с ней нажмите «Подключить» или дважды щелкните эскиз машины
Когда в параметрах машины указан загрузочный ISO-образ Windows, вы увидите на экране знакомую надпись Press any key to boot… Дальше вы уже сами справитесь, но если вам нужны пошаговые инструкции по установке, они есть на OSZone для Windows 7 и Windows 8.
Если операционная система на физической машине новее той, что установлена на виртуальной, рекомендуется обновить компоненты интеграции (спасибо, Артем). Для этого подключитесь в диспетчере Hyper-V к виртуальной машине, нажмите Ctrl + I и запустите setup.exe.
Hyper-V vs. VirtualBox
Разбираясь с Hyper-V, я невольно сравнивал решение Microsoft для клиентской операционной системы с Oracle VirtualBox.
VirtualBox не имеет столь жестких аппаратных требований, а его графические возможности даже шире, поскольку имеется поддержка аппаратного ускорения 3D (хотя я никогда ей не пользовался).
Что касается графического интерфейса, то это исключительно дело вкуса. Наверное, пришедший из серверных ОС гипервизор выглядит более аскетично, но параметры и настройка виртуальных машин в целом очень похожи.
Наличие Hyper-V в Windows в первую очередь порадует ИТ-специалистов, привыкших к этой технологии. Для домашних пользователей – это хорошая возможность воспользоваться встроенными средствами системы и расширить свой кругозор, приобщившись к серверным технологиям Microsoft.
Создание виртуального коммутатора с помощью диспетчера Hyper-V
-
Откройте диспетчер Hyper-V и выберите имя компьютера узла Hyper-V.
-
Выберите действиеДиспетчер виртуальных коммутаторов.
-
Выберите тип нужного виртуального коммутатора.
Тип соединений Описание External Предоставляет виртуальным машинам доступ к физической сети для взаимодействия с серверами и клиентами во внешней сети. Позволяет виртуальным машинам на одном сервере Hyper-V взаимодействовать друг с другом. Внутренние Разрешает обмен данными между виртуальными машинами на одном сервере Hyper-V, а также между виртуальными машинами и операционной системой узла управления. Личные Разрешает обмен данными только между виртуальными машинами на одном сервере Hyper-V. Частная сеть изолирована от всего внешнего сетевого трафика на сервере Hyper-V. Этот тип сети полезен, если необходимо создать изолированную сетевую среду, например изолированный тестовый домен. -
Выберите элемент Создать виртуальный коммутатор.
-
Добавьте имя для виртуального коммутатора.
-
Если выбран параметр внешний, выберите сетевой адаптер, который вы хотите использовать, и любые другие параметры, описанные в следующей таблице.
Имя параметра Описание Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру Выберите этот параметр, если вы хотите разрешить узлу Hyper-V совместно использовать виртуальный коммутатор и сетевую карту или группу сетевых адаптеров с виртуальной машиной. Если этот параметр включен, узел может использовать любые параметры, настроенные для виртуального коммутатора, такие как параметры качества обслуживания (QoS), параметры безопасности или другие функции виртуального коммутатора Hyper-V. Включить виртуализацию SR-IOV Выберите этот параметр, только если вы хотите разрешить трафику виртуальной машины обходить коммутатор виртуальной машины и перейти непосредственно к физическому сетевому адаптеру. Дополнительные сведения см. в в справочнике по основам для плакатов: сети Hyper-V. -
Если вы хотите изолировать сетевой трафик от операционной системы узла управления Hyper-V или других виртуальных машин, использующих один и тот же виртуальный коммутатор, выберите параметр включить идентификацию виртуальной локальной сети для операционной системы управления. Можно изменить идентификатор виртуальной ЛС на любое число или оставить значение по умолчанию. Это идентификационный номер виртуальной локальной сети, который будет использоваться операционной системой управления для всех сетевых подключений через этот виртуальный коммутатор.
-
Нажмите кнопку ОК.
-
Нажмите кнопку Да.
Настройка подключения к интернету в виртуальной машине Hyper-V
В этой статье, мы рассмотрим пример организации подключения к Интернету на виртуальной машине Hyper-V. Хостовая ОС (это ОС сервера Hyper-V) может быть подключена к интернету через физический адаптер или беспроводное подключение Wi-Fi.
Итак, предполагаем, что вы уже создали виртуальную машину Hyper-V и теперь нам нужно настроить виртуальный коммутатор, к которому она будет подключена. Есть три типа виртуальных коммутаторов Hyper-V:
- External (внешний): – этот коммутатор используется для подключения виртуальных машин к внешней сети и Интернету. Хост и виртуальная машина при этом находятся в одной сети. Если хост имеет несколько сетевых адаптеров, то для виртуальных машин можно настроить несколько сетей.
- Internal (внутренний): – этот тип коммутатора используется для создания внутреннего сетевого соединения только между виртуальными машинами и гипервизором Hyper-V.
- Private (частный): — данный тип коммутатора используется для создания сетевого соединения только между виртуальными машинами.
Проводное подключение к Интернету
Создадим виртуальный коммутатор. Мы будем использовать его для подключения к физическому сетевому адаптеру Ethernet сервера Hyper-V. Откройте консоль управления Hyper-V. В меню действий выберите пункт Virtual Switch Manager.
В качестве типа коммутатора выберите External и нажмите кнопку Create Virtual Switch.
В свойствах виртуального коммутатора укажите его имя, в свойствах подключения укажите физический Ethernet адаптер, через который должен работать данный коммутатор (в моем случае это контроллер Realtek PCIe GBE).
Затем откройте настройки ВМ, которой вы хотите предоставить доступ в Интернет. В разделе Network Adapter выберите, что данная ВМ подключена к созданному нами ранее виртуальному коммутатору.
В моем случае я подключен к интернету через широкополосное соединение. Найдите это подключение в панели управления хоста Hyper-V и откройте его свойства. Перейдите на вкладку Sharing в секции Internet Connection Sharing выберите опцию Allow Other Network Users to Connect Through This Computer’s Internet Connection. В выпадающем списке выберите ваш виртуальный коммутатор, созданный ранее. Сохраните изменения.
Теперь в вашей виртуальной машине должен появится доступ в интернет.
Настройка доступа в Интеренет через WiFi подключение
В том случае, если вы подключаетесь к Интернету через беспроводное WiFi подключение, доступ гостевой ОС виртуальной машины к Интернету настраивается по аналогии.
С помощью консоли Hyper-V Manager создайте новый внешний виртуальный коммутатор. В качестве внешней сети для виртуального коммутатора выберите свой WiFi адаптер (у меня это Intel Centrino Wireless-N 1030).
Теперь в свойствах ВМ укажите, что она подключена к Интернету через данный коммутатор.
В том случае, если точка доступа, к которой вы подключаетесь работает как сервер DHCP, то виртуальная машина должно получить от сервера DHCP динамический IP адрес (он будет отличатся от адреса, полученным хостовой ОС). Теперь вы можете пользоваться подключением к интернету внутри ВМ.
Одним из вариантов организации внешнего подключения является NAT (см статью Как настроить NAT в Hyper-V 2016).
Установка Hyper-V vSwitch
В ходе установки среды Hyper-V предварительная настройка V vSwitch не выполняется. Если вы попытаетесь создать ВМ сразу после процесса установки, подключиться к сети вам не удастся. Чтобы настроить сетевую среду, выберите Virtual Switch Manager (Менеджер виртуального коммутатора) на правой панели приложения Hyper-V Manager.
Рис. 1. Hyper-V Manager
Virtual Switch Manager упрощает настройку параметров коммутатора vSwitch и глобальной сети, что дает возможность изменять пространство стандартных MAC-адресов (примечание: изменение пространства MAC не будет влиять на существующий виртуальный коммутатор).
Создание виртуального коммутатора простая процедура. Для создания доступно три типа коммутаторов vSwitch:
- Внешний vSwitchсоединит физический сетевой адаптер хоста Hyper-V с виртуальным и затем предоставит вашим ВМ доступ за пределы хоста — в вашу физическую сеть и интернет (если физическая сеть подключена к интернету).
- Внутренний vSwitchследует использовать для построения независимой виртуальной сети, в которой подключенные ВМ будут «видеть» друг друга, а также хост гипервизора.
- Частный vSwitchсоздаст виртуальную сеть, в которой все входящие в соединение ВМ будут «видеть» друг друга, но не хост Hyper-V. В этой тестовой среде ВМ будут полностью изолированы.
Рис.2 vSwitch Manager
Обмен файлами между физической и виртуальными машинами
По ходу работы с виртуальной машиной регулярно возникает необходимость скопировать на нее файлы с физической, либо наоборот. Я опишу несколько способов решения этой задачи.
Общие сетевые папки
Этот способ работает во всех изданиях Windows 10. Поскольку в нашем распоряжении есть локальная сеть, можно использовать общие папки для обмена файлами. Фактически инструкции ниже сводятся к основам создания общих папок.
Доступ с виртуальной машины на физическую
Картинка стоит тысячи слов, как говорят американцы.
На рисунке показан проводник виртуальной машины (VIRTUAL-PC), откуда осуществляется доступ к физической машине (VADIK-PC). Как только вы введете учетные данные аккаунта, доступ к его профилю будет в вашем распоряжении.
Возможно, вы захотите сделать общей папку, расположенную на физической машине вне своего профиля. Для этого достаточно задействовать стандартные средства предоставления общего доступа, но этот процесс я объясню уже на примере доступа к произвольной папке виртуальной машины.
Доступ с физической машины на виртуальную
Допустим, в корне диска виртуальной машины есть папка Shared. Щелкните по ней правой кнопкой мыши и выберите Общий доступ – Отдельные люди (или Конкретные пользователи в Windows 7).
Теперь вы можете открыть общую папку по сети в проводнике, в том числе введя в адресную строку адрес вида \\имя-компьютера\имя-папки.
Подключение к удаленному рабочему столу виртуальной рабочей машины
В Hyper-V между физической и виртуальной машиной невозможен обмен файлами путем копирования и вставки. Можно лишь вставлять скопированный на физической машине текст сочетанием клавиш Ctrl + V. Однако после запуска виртуальной машины можно соединяться с ней посредством RDP вместо того чтобы открывать ее из диспетчера Hyper-V. Этот способ работает в изданиях Pro и выше.
Действия на виртуальной машине
Сначала нужно разрешить на виртуальной машине подключения к удаленному рабочему столу в свойствах системы. Нажмите Win + R и выполните:
RUNDLL32.EXE shell32.dll,Control_RunDLL sysdm.cpl,,5
Затем разрешите подключение, как показано на рисунке.
Остается лишь выяснить IP-адрес виртуальной машины командой ipconfig
Действия на физической машине
Нажмите Win + R и введите mstsc и раскройте параметры входа.
В открывшемся окне:
- Введите IP-адрес виртуальной машины (обязательно).
- Укажите имя пользователя, в чью учетную запись будет выполнен вход.
- Включите запоминание учетных данных.
- Сохраните параметры подключения.
Вы также можете задать на вкладке «Экран» разрешение меньше того, что используется в физической машине.
Теперь можно обмениваться файлами между физической и виртуальной машинами привычными сочетаниями клавиш Ctrl + C и Ctrl + V.
Включение компонента Hyper-V
Hyper-V представляет собой компонент операционной системы, который изначально отключен. Опытные пользователи могут включить его одной командой PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Если вы предпочитаете графический интерфейс, нажмите Win + R, введите OptionalFeatures и нажмите Enter.
В открывшемся окне отметьте флажком Hyper-V.
Так или иначе, компонент станет доступен после перезагрузки системы. Из проблем с установкой в Windows 8 RP пока была замечена циклическая перезагрузка по вине драйверов контроллера USB 3.0, которая на некоторых системах решалась отключением USB 3.0 в BIOS.
Дополнительная информация
VMQ — это новая функция, которая используется с Hyper-V кластерами. Ниже приведен полный контрольный список для VMQ.
-
Виртуальная очередь машины (VMQ) будет работать только на Windows 7 и Windows Сервер 2008 R2 Гостей.
-
Если у вас включена очередь виртуальных машин (VMQ), труба виртуальной машины (VMC) не будет работать. Необходимо сохранить отключение VMC.
-
Убедитесь, что синтетические НИКИ настроены для VMs.
Дополнительные сведения в следующих статьях:
- Контрольный список: развертывание очереди виртуальных машин
- Контрольный список: развертывание дымохода виртуальной машины
- Включение очереди виртуальных машин в операционной системе управления
- FaQ: VMDq, VLANs и teaming on Intel Ethernet Adapters in Hyper-V
Hyper-V vs. VirtualBox
Разбираясь с Hyper-V, я невольно сравнивал решение Microsoft для клиентской операционной системы с Oracle VirtualBox.
VirtualBox не имеет столь жестких аппаратных требований, а его графические возможности даже шире, поскольку имеется поддержка аппаратного ускорения 3D (хотя я никогда ей не пользовался).
Что касается графического интерфейса, то это исключительно дело вкуса. Наверное, пришедший из серверных ОС гипервизор выглядит более аскетично, но параметры и настройка виртуальных машин в целом очень похожи.
Наличие Hyper-V в Windows в первую очередь порадует ИТ-специалистов, привыкших к этой технологии. Для домашних пользователей – это хорошая возможность воспользоваться встроенными средствами системы и расширить свой кругозор, приобщившись к серверным технологиям Microsoft.
Общий доступ к дискам и устройствам
Возможности общего доступа в расширенном режиме сеанса скрыты в этом неприметном окне подключения, которое открывается при подключении к виртуальной машине:
По умолчанию виртуальные машины с включенным режимом расширенного сеанса будут совместно использовать буфер обмена и принтеры. Они по умолчанию передают звук виртуальной машины на динамики компьютера.
Чтобы включить совместное использование устройств на виртуальной машине или изменить параметры по умолчанию, выполните следующие действия.
- Откройте дополнительные параметры
- Просмотрите локальные ресурсы
Общий доступ к хранилищу и USB-устройствам
По умолчанию виртуальные машины в режиме расширенного сеанса совместно используют принтеры, буфер обмена, смарт-карты и другие устройства безопасности, чтобы вы могли применять более безопасные средства входа в систему на виртуальной машине.
Для совместного использования других устройств, таких как USB-устройства или диска C:, выберите меню «Дополнительно…»:
Здесь можно выбрать устройства, которые будут совместно использоваться с виртуальной машиной. Особенно полезным будет общий системный диск (Windows C:).
Совместное использование звуковых устройств (динамиков и микрофона)
По умолчанию виртуальные машины в режиме расширенного сеанса передают звук на динамики компьютера. Виртуальная машина также использует звуковое устройство, выбранное на хост-компьютере.
Чтобы изменить эти параметры или включить сквозную передачу микрофона (для записи звука на виртуальной машине), выполните следующие действия.
Откройте меню «Параметры…» для настройки параметров удаленного звука
Теперь настройте параметры звука и микрофона
Поскольку виртуальная машина, скорее всего, выполняется локально, параметры «Воспроизвести на этом компьютере» и «Воспроизвести на удаленном компьютере» дают одни и те же результаты.
Параметры сетей
Существуют два параметра для сетей со вложенными виртуальными машинами:
- спуфинг MAC-адресов;
- Сеть NAT
Спуфинг MAC-адресов
Чтобы сетевые пакеты перенаправлялись через два виртуальных коммутатора, необходимо включить спуфинг MAC-адресов на первом (L1) уровне виртуального коммутатора. Это можно сделать с помощью следующей команды PowerShell.
Преобразование сетевых адресов (NAT)
Второй параметр связан с преобразованием сетевых адресов (NAT). Этот подход рекомендуется для случаев, когда спуфинг MAC-адресов невозможен, например в общедоступной облачной среде.
Сначала необходимо создать виртуальный коммутатор NAT в виртуальной машине узла («средняя» виртуальная машина)
Обратите внимание, что IP-адреса приведены только в качестве примера и будут разниться в зависимости от сред:. Далее назначьте IP-адрес для сетевого адаптера:
Далее назначьте IP-адрес для сетевого адаптера:
Каждая вложенная виртуальная машина должна иметь назначенный IP-адрес и шлюз
Обратите внимание, что IP-адрес шлюза должен указывать на адаптер NAT из предыдущего действия. Можно также назначить DNS-сервер:
Управление виртуальными машинами
В некоторых отношениях виртуальные машины ведут себя точно так же, как их физические копии и работа с виртуальными машинами Hyper-V не отличается от стандартной. Но виртуальные машины, для некоторых видов деятельности, все же имеют бесспорные преимущества перед физическим оборудованием. Вы хотите увеличить объем доступной памяти своей виртуальной машины или добавить второй диск? Отвёртка вам не понадобится. Просто сначала закройте виртуальную машину (не используйте параметр «Сохранить»). Затем, в диспетчере Hyper-V, выберите виртуальную машину. В нижней части панели «действия» под заголовком, совпадающим с именем виртуальной машины, нажмите кнопку «Параметры» и откройте диалоговое окно.
Многие параметры виртуальной машины, включая Secure Boot и опции виртуального TPM, могут быть скорректированы только после её создания.
На примере выше показана виртуальная машина с Generation 2. Так как в ней, в области навигации, имеется параметр Firmware (не BIOS), а под ним — опция Secure Boot, которая недоступна на машине Generation 1.
В группе параметров «Оборудование» вы можете щёлкнуть «Firmware», чтобы изменить порядок запуска (по умолчанию виртуальная загрузка DVD перед жёсткими дисками). Нажмите «Память», чтобы настроить объем виртуальной памяти и включить или выключить динамическую память. Измените тип сети.
Под заголовком «Управление» вы найдёте опции изменения имени виртуальной машины (вы также можете переименовать ВМ в её листинге, в «Диспетчере Hyper-V»). А в нижней части списка, изменение действий «Автоматический старт» и «Автоматическая остановка». Например, если у вас есть виртуальный сервер, который вы хотите использовать каждый раз, при включении своего компьютера, щёлкните «Автоматическое начало действия» и выберите «Всегда запускать виртуальную машину автоматически».
Например, представьте себе, что вы тестируете два конкурирующих пакета программного обеспечения, и хотите определить, какой из них использовать для решения конкретной задачи. Возможно, первая установленная вами программа, изменит некоторые настройки (например, сопоставление файлов). Что, в свою очередь, повлияет на работу программы, которую вы устанавливаете позже. Создав, перед установкой первой программы, контрольную точку, вы можете выполнить тестирование, а затем, после его завершения, вернуться к чистой конфигурации. Это действие создаёт возможность чистой проверки обеих программ.
Hyper-V в Windows 10 поддерживает два типа контрольных точек: production и standard. Вы можете выбрать тип контрольной точки (или полностью отключить контрольные точки) на странице настроек. В общем, контрольные точки production предпочтительнее стандартных контрольных точек, которые сохраняют все состояние машины и могут привести к нежелательным поведениям.
Контрольные точки включены по умолчанию, и нет причины для их отключения. Их можно использовать для возврата к стабильно рабочему состоянию, что позволяет экспериментировать с VM.
Чтобы установить контрольную точку в окне работающей VM (базовые или расширенные сессии), в меню приложения «Virtual Machine Connection», выберите «Action», а затем «Checkpoint». В диспетчере Hyper-V щёлкните правой кнопкой мыши на имени виртуальной машины и выберите в контекстном меню: «контрольные точки».
Каждая контрольная точка отделена от других, что даёт возможность сделать несколько контрольных точек и затем вернуться к нужной.
Чтобы вернуться к ранее созданной контрольной точке, выберите её в списке диспетчера Hyper-V. Щёлкните по ней правой кнопкой мыши, а затем выберите «Применить». Операция проходит быстро.
Возврат к более ранней контрольной точке не влияет на более поздние точки. Можно вернуться к предыдущей конфигурации, а затем применить контрольную точку, которую вы сохранили позже.
Конечно же контрольные точки потребляют определённое дисковое пространство. После завершения тестирования, можно безопасно удалить контрольную точку (или всё дерево точек). Выберите её запись в списке и используйте команды, на панели действия или в контекстном меню правой кнопки мыши.