Hyper-V is a hardware virtualization product developed by Microsoft. Hyper-V can create and run virtual machines, each virtual machine acts like a complete computer. Hyper-V is a Type-2 hypervisor, that runs inside Windows operating system. The type-2 hypervisor runs inside an operating system of a physical host machine.
Table of Contents
- Install Hyper V on Windows Server 2022
- Configure Virtual Machine on Hyper V
Demo environment
- Computer Name: vdtutorials
- Operating System: Windows Server 2022 Datacenter
- IP Address: 192.168.3.10
Steps for Install Hyper V on Windows Server 2022
- Open Add roles and features Wizard
- Select installation type
- Select the destination server
- Select server roles
- Select features
- Configure Hyper-V
- Confirm installation selections
1. Open Add roles and features Wizard
Open the Server Manager dashboard and click Add roles and features.
Before you begin, click Next.
2. Select installation type
Select Role-based or feature-based installation and click Next.
3. Select destination server
Select a Host to which you’d like to add services and click Next.
4. Select server roles
Choose the Hyper-V box from the server roles page.
As soon as you choose Hyper-V a new window appears. Click Add Features.
Click Next to continue.
5. Select features
On the select features console, just click Next because we do not require any extra features at the moment.
6. Configure Hyper-V
On the Hyper-V console, you can read brief information about the Hyper-V server. Click Next to continue.
In Virtual Switches, select a Network adapter for Virtual Switch and click Next.
This is the section for Migration for Virtual Machines, on this tutorial keep it default and click Next.
Specify the Default location for virtual hard disk files and virtual machine configuration files and click Next.
7. Confirm installation selections
Confirm installation selections and click on Install to start the installation process.
After finishing the installation, click Close and restart the Server.
Configure Virtual Machine on Hyper V
Steps for Configure Virtual Machine on Hyper V
- Open Hyper-V Manager
- Open New Virtual Machine Wizard
- Specify Name and Location
- Specify Generation
- Assign Memory
- Configure Networking
- Connect Virtual Hard Disk
- Configure Installation Options
1. Open Hyper-V Manager
Open Server Manager, click Tools, and select Hyper-V Manager.
2. Open New Virtual Machine Wizard
Right click on Hostname select New and click Virtual Machine.
Before you begin, click Next.
3. Specify Name and Location
Choose the name for Virtual Machine and click Next.
- Name: New Virtual Machine
- Location: Default Location.
4. Specify Generation
Choose the generation of this virtual machine and click Next.
- Generation: Generation1.
5. Assign Memory
Assign Memory for Virtual Machine and click Next.
- Memory: 4096.
6. Configure Networking
Select Virtual Switch to use networking of Virtual Machine and click Next.
7. Connect Virtual Hard Disk
Configure the Virtual hard disk for the new virtual machine and click Next.
- Name: New Virtual Machine.vhdx
- Location: Default Location
- Size: 60GB
8. Configure Installation Options
Select Installation Options and click Next.
- Installation Options: Install the operating system later.
To create the virtual machine and close the wizard, click Finish.
The virtual machine has been created. To connect Virtual Machine, Right click on the virtual machine and click Connect.
To start the virtual machine, select Start.
To install Windows Server 2022 on this Virtual Machine Read Install Windows Server 2022 tutorial.
Первым делом следует скачать дистрибутив операционной системы(ОС), т.к. ОС условно бесплатная, ее можно совершенно спокойна скачать с сайта microsoft, скачивать и устанавливать ОС нужно на английском языке, т.к. система не понимает русского и большая часть команд могут не работать, но проблемы в этом не вижу в самой ОС на англиском языке мы увидим только первоначальную настройку сервера! Для удаленного управления Hyper-V Server можно использовать ОС Windows Server 2012 R2 Standard или Datacenter, а также Windows 8\8.1\10.
В случае использования Windows Server 2012 R2 Standard или Datacenter необходимо установить консоль Hyper-V Manager. Это можно сделать в Server Manager или при помощи командлета PowerShell Install-WindowsFeature -Name ‘RSAT-Hyper-V-Tools’
В Windows 8\8.1\10 для установки Hyper-V Manager можно использовать средство настройки компонентов Windows.
Для остальных версий Windows необходимо установить Remote Server Administration Tools (RSAT), которую также можно скачать на официальном сайте Microsoft.
Прежде, чем перейти непосредственно к настройке серверов, хочу подробнее остановиться на схеме сети, которая будет использоваться в нашей демонстрации.
В моем случае я буду использовать наипростейший вариант — локальная подсеть 192.168.1.0/24 с двумя машинами: Hyper-V Server 2012 R2 с IP-адресом 192.168.1.5 в качестве хоста виртуализации и Windows Server 2012 R2 Standard R2 с IP 192.168.1.6 в качестве хоста управления. Обе машины не являются участниками домена и входят в рабочую группу TESTLAB.
Итак, после завершения вполне себе интуитивной установки Hyper-V Server 2012 R2 перед нами предстает рабочий стол с двумя окнами, стандартная командная строка cmd.exe и окно скрипта sconfig.cmd:
Данный скрипт позволяет произвести первоначальную настройку сервера:
– сменить имя сервера
– сменить имя рабочей группы или ввести сервер в домен
– добавить локального администратора
– включить удаленный доступ к серверу, что позволить управлять им с помощью Server Manager, консолей MMC, PowerShell, подключаться по RDP, проверить доступность с помощью pingили tracert
– настроить Windows Update и устанавливать обновления
– настроить сетевые карты сервера
– настроить время на сервере
Также настройку времени на сервере можно выполнить с помощью команды controltimedate.cpl, а настройку региональных параметров — с помощью команды control intl.cpl. При этом будут запущены привычные консоли Панели Управления.
АВТОМАТИЧЕСКИЙ ЗАПУСК POWERSHELL ПРИ ВХОДЕ В СЕАНС
Когда вышла первая версия Hyper-V Server 2008, PowerShell в нем официально не поддерживался, и, единственным способом настройки и получения информации с сервера были утилиты командной строки, такие как net, netsh, wmic, и множество других. Они не обладали единообразным интерфейсом и способом использования, что в итоге увеличивало порог вхождения для администратора и влияло на производительность работы. Но время не стоит на месте и, начиная с Hyper-V Server 2008 R2, Microsoft внедряет поддержку PowerShell, а в Hyper-V Server 2012 PowerShell можно использовать сразу после установки системы. Более того, в Hyper-V Server 2012 включен модуль PowerShell для взаимодействия с Hyper-V, а в Hyper-V Server 2012 R2 количество командлетов для работы с Hyper-V превысило значение 170. Точное значение можно посмотреть с помощью
Get-Command -ModuleHyper-V | Measure-Object
Зайдем в оболочку PowerShell и запустим командлет New-ItemProperty, который создаст новый ключ в реестре HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\run.
New-ItemProperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\run -Name PowerShell -Value "cmd /c start /max C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -noExit" -Type string
Теперь при следующем входе в систему будет запускаться окно с оболочкой PowerShell, в которой мы продолжим настройку нашего сервера.
НАСТРОЙКА СЕТЕВЫХ АДАПТЕРОВ
Если сетевые адаптеры до этого не были настроены с помощью sconfig.cmd, сделаем это с помощью командлетов PowerShell.
Смотрим текущую конфигурацию IP на сетевых интерфейсах. В моем случае адресация назначена службой APIPA, так как в сети нет DHCP сервера.
Get-NetIPConfiguration
Назначаем статическую адресацию, маску сети, шлюз по умолчанию и адреса DNS серверов. InterfaceIndex сетевого адаптера берем из вывода предыдущего командлета.
New-NetIPAddress -InterfaceIndex 13 -IPAddress 192.168.1.5 -DefaultGateway 192.168.1.1 -PrefixLength 24
Set-DnsClientServerAddress -InterfaceIndex 13 -ServerAddresses 192.168.1.2,192.168.1.3
Если использование IPv6 на сетевом интерфейсе пока не планируется, имеет смысл отключить его на интерфейсе для уменьшения «attacksurface».
Проверяем текущую настройку IPv6 на интерфейсе. Имя интерфейса берем из вывода командлетов Get-NetAdapter или Get-NetIPConfiguration.
Get-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize
Отключить поддержку IPv6 на сетевом адаптере можно командлетом Disable-NetAdapterBinding. Данное действие будет аналогично снятию галки «Internet Protocol Version 6 (TCP/IPv6)» в настройках адаптера в графическом интерфейсе Windows.
Disable-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" -ComponentID ms_tcpip6
Настройка межсетевого экрана (Advanced Firewall)
С внедрением PowerShell в Hyper-V Server появился удобный способ управления правилами межсетевого экрана, взамен устаревающего netsh. Просмотреть список комадлетов можно с помощью Get-Command.
Get-Command -Noun *Firewall* -Module NetSecurity
В качестве примера включим возможность традиционного управления межсетевым экраном через оснастку MMCс хоста управления. Для начала получим список правил, относящихся к удаленному управлению межсетевым экраном.
Get-NetFirewallRule | Where-Object -Property DisplayName -Match "firewall" | Format-List -Property Name, DisplayName, Enabled
Включаем оба правила.
Enable-NetFirewallRule -Name RemoteFwAdmin-In-TCP,RemoteFwAdmin-RPCSS-In-TCP
Теперь можно попробовать подключиться к оснастке MMC управления межсетевым экраном с хоста управления.
ВЗАИМОДЕЙСТВИЕ С SERVER MANAGER
Если гипервизор и хост управления не являются частью домена, а находятся в рабочей группе, как в нашем случае, то при попытке добавить сервер Hyper-V в Server Manager на удаленном хосте возникнет ошибка согласования WinRM.
Решается проблема довольно просто – достаточно добавить на Hyper-V Server в доверенные узлы WinRM на хосте управления и обновить текущее состояние в ServerManager.
Set-Item wsman:\localhost\Client\TrustedHosts HYPER-V01 -Concatenate –Force
HYPER-V01 — имя вашего Hyper-v сервера
Создание дискового хранилища для виртуальных машин
Теперь настало время создать хранилище файлов виртуальных машин и файлов виртуальных дисков. Для хранения данных будем использовать отдельный раздел на физическом диске. Для начала посмотрим список командлетов PowerShell, которые используются для управления носителями. Как обычно будем использовать для этого командлет Get-Command. Во втором случае мы получим список командлетов, служащих для получения информации.
Get-Command -Module Storage
Get-Command -Verb *Get* -Module Storage
Просмотрим список физических дисков на сервере.
Get-Disk
Создаем новый раздел на диске максимально возможного размера, назначаем букву D. Используем id из Get-Disk. После этого форматируем раздел в NTFS и указываем его метку.
New-Partition -DiskNumber 0 -DriveLetter D –UseMaximumSize
Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel "VMStore"
Убедимся в правильности проделанных нами операций с помощью оснастки MMC Disk Management на удаленном хосте, для этого включим соответствующие правила на межсетевом экране.
Enable-NetFirewallRule RVM-VDS-In-TCP,RVM-VDSLDR-In-TCP,RVM-RPCSS-In-TCP
Как мы видим, наш только что созданный диск прекрасно отображается в Disk Management.
Создадим папку на нашем разделе, где будем хранить настройки и файлы дисков виртуальных машин. Командлет New-Item позволяет создавать вложенные пути, так что нет необходимости запускать его два раза для каждой папки.
New-Item -Path "D:\Hyper-V\Virtual Hard Disks" -Type Directory
Создадим папки D:\Distrib и D:\ImportedVM, которые будем соответственно использовать для хранения дистрибутивов ОС и импортированных ВМ с других хостов виртуализации.
New-Item -Path D:\Distrib -ItemType Directory
New-Item -Path D:\ImportedVM -ItemType Directory
Для создания шары используем командлет New-SmbShare, с помощью которого дадим полный доступ по сети для группы локальных администраторов сервера.
New-SmbShare -Path D:\Distrib -Name Distrib -Description "OS Distributives" -FullAccess "BUILTIN\Administrators"
New-SmbShare -Path D:\ImportedVM -Name ImportedVM -Description "Imported VMs" -FullAccess "BUILTIN\Administrators"
Проверяем с помощью PowerShell и с помощью ServerManager с хоста управления.
Get-SmbShare -Name Distrib,ImportedVM | Format-List
Get-SmbShareAccess -Name Distrib,ImportedVM | Format-List
Общий список командлетов, относящихся к SMB (ServerMessageBlock), как обычно можно получить с помощью командлета Get-Command.
Get-Command -ModuleSmbShare
В заключение этой темы добавлю только то, что если на сервере не используется физический или логический RAID, то для повышения производительности и надежности работы с хранилищем ВМ целесообразно использование технологии Storage Pools (к примеру, такие командлеты, как New-StoragePool, New-Volume). Более подробнее об использовании Storage Pools совместно с Hyper-V я напишу в одной из будущих статей.
НАСТРАИВАЕМ ПАРАМЕТРЫ ГИПЕРВИЗОРА
Приступим к настройке параметров гипервизора. Основные параметры Hyper-V можно получить с помощью командлета Get-VMHost.
Get-VMHost | Format-List
Как мы видим из вывода командлета, пути ВМ и виртуальных дисков сейчас размещаются на одном разделе с ОС, что нас не устраивает ни с точки зрения скорости работы, ни с точки зрения надежности. Пропишем пути к созданным в прошлом разделе папкам с помощью командлета Set-VMHost.
Set-VMHost -VirtualMachinePath D:\Hyper-V -VirtualHardDiskPath 'D:\Hyper-V\Virtual Hard Disks'
Проверим с помощью PowerShell…
Get-VMHost | Format-List
… и с помощью Hyper-V Manager.
Как я упоминал выше, в Hyper-V Server 2012 R2 возможно использование EnhancedSessionMode для ВМ, что позволит пробросить в ВМ локальные диски, принтеры, звук, использовать буфер обмена и многомониторные конфигурации. Давайте включим его.
Set-VMHost -EnableEnhancedSessionMode 1
СОЗДАДИМ ВИРТУАЛЬНЫЙ КОММУТАТОР
Виртуальный коммутатор Hyper-V (Hyper-V Extensible Switch) предназначен для организации сетевого взаимодействия между различными ВМ, между ВМ и хостом виртуализации, между ВМ и внешней средой. На самом деле у Hyper-V Extensible Switch обширное количество возможностей, много вкусного появилось в версии 2012 R2. Так что сейчас не будем углубляться в эту тему, и создадим простейший External Switch, который привязывается к сетевой карте Hyper-V Server, и организует взаимодействие ВМ с физической сетью.
Для начала проверим поддержку SR-IOV (Single-Root Input/Output (I/O) Virtualization).
Get-VMHost | Select-Object -Property "Iov*" | Format-List
или
Get-NetAdapterSriov
В моем случае поддержки SR-IOV нет. Это связано с тем, что я немного схитрил, и в данной демонстрации у меня Hyper-V сервер запущен не на живом железе, а в виртуальной среде.
Получим список подсоединенных сетевых адаптеров
Get-NetAdapter | Where-Object -PropertyStatus -eqUp
Привязываем виртуальный свитч к сетевому адаптеру и при наличии SR-IOV включим его поддержку.
Внимание: Включить или отключить поддержку SR-IOV после создания свитча будет невозможно, для изменения этого параметра необходимо будет пересоздавать свитч.
New-VMSwitch -Name "Extenal_network" -NetAdapterName "Ethernet 2" -EnableIov 1
В моем случае Hyper-V выдает ошибку, опять же связанную с тем, что гипервизор сам запущен в виртуальной среде. На живом железе командлет создаст External Switch с именем «External_network» и привяжет его к сетевому адаптеру Ethernet 2. Виртуальный свитч также появится в списке сетевых адаптеров и на него будет перепривязаны все сетевые параметры физического адаптера Ethernet 2
Проверить можно с помощью командлетов
Get-VMSwitch и Get-NetIPConfiguration –Detailed
На этом этапе первоначальная настройка Hyper-V Server 2012 R2 закончена, и все готово для создания нашей первой виртуальной машины. Но об этом мы поговорим в следующей статье, использовать будем, естественно, PowerShell.
На сервере Windows Server 2019 потребовалось запустить виртуальную машину посредством Hyper-V. Установим роль Hyper-V на сервер Windows Server 2019 и создадим какую-нибудь виртуальную машину.
Я буду все действия выполнять на свежем сервере Windows Server 2019 Standard Evaluation. Сервер развёрнут на гипервизоре VMware ESXi. Да-да, я понимаю, что на виртуалке поднимать систему виртуализации не самая здравая идея, но всё это в тестовых целях.
Установка роли Hyper-V на сервере Windows Server 2019
Открываем Server Manager. Manage > Add Roles and Features
Открывается мастер установки ролей. Попадаем в раздел Before You Begin.
Это информационная страница, Next.
Попадаем в раздел Installation Type. Здесь нужно выбрать тип установку. Выбираем «Role-based or feature-based installation». Next.
Попадаем в раздел Server Selection. Здесь нужно выбрать сервер, на который будем устанавливать роль. Я выбираю текущий сервер. Next.
Попадаем в раздел Server Roles. Находим роль Hyper-V, выделяем галкой. Нам предлагают установить фичи, которые необходимы для работы Hyper-V, соглашаемся. Add Features.
Облом. Я словил ошибку:
Hyper-V cannot be installed: The processor does not have required virtualization.
Для роли Hyper-V требуется процессор, поддерживающий функции виртуализации. Поддержка аппаратной виртуализации может быть отключена в BIOS, в этом случае нужно перезагрузить сервер и в BIOS включить поддержку виртуализации. Это могут быть опции:
- Intel — Intel Virtualization Technology
- AMD — SVM Mode
У меня сервер аппаратный на базе VMware, я выключаю его и перехожу к настройкам виртуальной машины.
В настройках CPU включаю галку «Expose hardware assisted virtualization to the guest OS».
Включаю сервер. Снова проходим ту же процедуру. Открываем Server Manager. Manage > Add Roles and Features. Выбираем «Role-based or feature-based installation». Находим роль Hyper-V, выделяем галкой. Нам предлагают установить фичи, которые необходимы для работы Hyper-V, соглашаемся. Add Features.
В этот раз всё проходит успешно. Next.
Попадаем в раздел Features, здесь нам ничего не нужно. Next.
Попадаем в раздел Hyper-V. Здесь рассказывается для чего используется Hyper-V. Кроме того, на этой странице есть важная информация.
- Перед установкой роли Hyper-V следует решить, какую сетевую карту сервера вы будете подключать к виртуальному коммутатору.
- После установки роли Hyper-V для управления виртуальными машинами используйте Hyper-V Manager.
Next.
Попадаем в раздел Virtual Switches. Для работы виртуальных машин требуется связать виртуальный коммутатор в сетевой картой сервера, если вы хотите выпустить виртуальный машины в сеть. У меня выбор не очень большой, выделяю единственную сетевую карту. Next.
Попадаем в раздел Migration. Здесь настраивается миграция виртуальных машин. У меня будет один сервер с Hyper-V, поэтому никаких миграций не предусмотрено. Next.
Попадаем в раздел Default Stores. Здесь можно настроить папки по умолчанию для хранения виртуальных дисков и файлов настроек виртуальных машин. Next.
Попадаем в раздел Confirmation. Проверяем что у нас будет установлено. Здесь же ставим галку, чтобы сервер при необходимости перезагрузился. Install.
Начинается процесс установки роли Hyper-V.
Сервер перезагружается.
После перезагрузки роль продолжает устанавливаться.
Установка роли Hyper-V успешно завершена. Close.
В Administrative Tools появляется Hyper-V Manager.
Настройка виртуального коммутатора Hyper-V
Запускаем Hyper-V Manager.
В списках серверов Hyper-V есть текущий сервер ILAB-DC. Нажимаем на него.
Список виртуальных машин пуст. Перед созданием новой виртуалки нужно настроить виртуальный коммутатор. По идее он уже должен быть настроен, т.к. мы при установке роли Hyper-V ставили галку для привязки виртуального коммутатора к физическому сетевому адаптеру. Но проверить не помешает, были случаи, когда виртуальный коммутатор на привязывался к физическому адаптеру. Такое случается, когда роль Hyper-V устанавливается несколько раз. В этом случае зайдите в настройки физического адаптера и снимите галку со всего где есть слово «Hyper-V», после этого физический адаптер можно снова привязать к виртуальному коммутатору из оснастки Hyper-V Manager.
Нажимаем Virtual Switch Manager…
У меня один виртуальный коммутатор «vmxnet3 Ethernet Adapter — Virtual Switch». Виртуальный коммутатор может работать в трёх режимах:
- External network
Предоставляет виртуальным машинам доступ к физической сети для взаимодействия с серверами и клиентами во внешней сети. Позволяет виртуальным машинам на одном сервере Hyper-V взаимодействовать друг с другом.- Allow management operating system to share this network adapter (Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру)
Выберите этот параметр, если вы хотите разрешить узлу Hyper-V совместно использовать виртуальный коммутатор и сетевую карту или группу сетевых адаптеров с виртуальной машиной. Если этот параметр включен, узел может использовать любые параметры, настроенные для виртуального коммутатора, такие как параметры качества обслуживания (QoS), параметры безопасности или другие функции виртуального коммутатора Hyper-V. - Enable single-root I/O virtualization (SR-IOV) (Включить виртуализацию SR-IOV)
Выберите этот параметр, только если вы хотите разрешить трафику виртуальной машины обходить коммутатор виртуальной машины и перейти непосредственно к физическому сетевому адаптеру. Сетевой адаптер должен поддерживать SR-IOV.
- Allow management operating system to share this network adapter (Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру)
- Internal network
Разрешает обмен данными между виртуальными машинами на одном сервере Hyper-V, а также между виртуальными машинами и сервером Hyper-V. - Private network
Разрешает обмен данными только между виртуальными машинами на одном сервере Hyper-V. Частная сеть изолирована от всего внешнего сетевого трафика на сервере Hyper-V. Этот тип сети полезен, если необходимо создать изолированную сетевую среду, например изолированный тестовый домен.
SR-IOV (Single Root Input/Output Virtualization, виртуализация ввода-вывода с единым корнем) — технология виртуализации устройств, позволяющая предоставить виртуальным машинам прямой доступ к части аппаратных возможностей устройства.
При необходимости можно включить поддержку VLAN.
Настраиваю виртуальный коммутатор, вернее, ничего не меняю, меня устраивают текущие настройки. OK.
Создание виртуальной машины в Hyper-V
Пришло время создать первую виртуальную машину. Открываем Hyper-V Manager.
New > Virtual Machine…
Открывается мастер создания виртуальных машин. Попадаем в раздел Before You Begin. Здесь нет ничего интересного. Next.
Попадаем в раздел Specify Name and Location. Указываем имя виртуалки. При необходимости можно изменить папку, в которой будут храниться файлы виртуалки. Next.
Попадаем в раздел Specify Generation. Выбор поколения зависит от того, какую операционную систему на виртуальной машине вы хотите установить, и метод загрузки, который вы хотите использовать для развертывания виртуальной машины. Виртуальные машины поколения 1 поддерживают большинство гостевых операционных систем. Виртуальные машины поколения 2 поддерживают большинство 64-разрядных версий Windows, Linux и FreeBSD. Рекомендуется выбрать поколение 2 за исключением случаев когда:
- Виртуальный жесткий диск, с которого требуется выполнить загрузку, не совместим с UEFI.
- Поколение 2 не поддерживает операционную систему, которую нужно запустить на виртуальной машине.
- Поколение 2 не поддерживает метод загрузки, который вы хотите использовать.
Next.
Попадаем в раздел Assign Memory. Выделяем память для виртуалки. Динамическая память забирается у сервера, как ни странно, динамически, т.е. сколько нужно, столько и забирается. Если галку не поставить, то вся выбранная память серверу будет недоступна. Next.
Попадаем в раздел Configure Networking. Выбираем виртуальный коммутатор. У меня он один. Next.
Попадаем в раздел Connect Virtual Hard Disk. Здесь создаём жёсткий диск, можно выбрать папку для его хранения. Можно подключить существующий жёсткий диск. Можно не подключать жёсткий диск. Я создаю новый диск объёмом 40 ГБ. Next.
Попадаем в раздел Installation Options. Здесь можно примонтировать образ установочного диска, я сделаю это позже. Next.
Попадаем в раздел Summary. Проверяем параметры. Finish.
Начинается процесс создания виртуальной машины.
Виртуальная машина создана, она выключена (State = Off).
Установка операционной системы на виртуальную машину Hyper-V
Теперь примонтируем ISO образ к виртуальной машине и попробуем начать процесс установки операционной системы.
Выделяем виртуалку, нажимаем Settings.
Переходим в раздел SCSI Controller. Видим, что в нём находится только жёсткий диск. Справа выбираем DVD Drive, Add.
У виртуальной машины появляется виртуальный DVD Drive. Выбираем Image file, выбираем ISO образ для установки операционной системы. Apply.
Правой кнопкой на виртуалку, Connect.
Открывается консоль виртуалки. ISO образ можно также вставить/извлечь в меню Mediz > DVD Drive. Включаем виртуалку, Start.
Виртуальная машина включается.
Загружается ISO образ и мы можем установить операционную систему, дальше вы справитесь.
Заключение
Мы с вами на сервере Windows Server 2019 установили роль Hyper-V, настроили виртуальный коммутатор и создали первую виртуальную машину. Подключили виртуальный дисковод и загрузились с установочного ISO образа операционной системы.
Добро пожаловать в волшебный мир виртуализации Hyper-V.
В этой статье мы создадим виртуальную машину с Windows Server 2019 и развернем там Hyper-V Server. Попутно разберемся что нового появилось в этой версии.
Hyper-V — это платформа виртуализации от Microsoft, которая распределяет ресурсы одного физического сервера между набором виртуальных серверов. Чтобы создать среду для Hyper-V Server 2019, закажем выделенный сервер. Для этого в меню Серверы и оборудование выберем нужный сервер.
В нашем примере — это сервер по тарифу EL11-SSD с процессором Intel® Xeon® E-2236 3.4 ГГц, ОЗУ 32 ГБ DDR4 и двумя дисками SSD по 480 ГБ каждый. Далее выбираем операционную систему Windows 2019 — подойдут версии 2019 Datacenter (64-bit) и 2019 Standard (64-bit). В обоих случаях можно добавить роль Hyper-V.
Далее нажимаем Заказать и Оплатить. Деньги списываются с личного счёта.
Установка сервера занимает время, поэтому, чтобы его не тратить впустую, расскажем о новых функциях в Windows Server 2019 относительно Hyper-V.
Что нового в Hyper-V Server 2019
Любопытная особенность Hyper-V Server 2019 — это то, что первоначально эта версия была Hyper-V Server 2016 R2, вышедшая в конце 2018 года. Но из-за неприемлемого количества багов, она была отозвана и полноценно вышла уже в 2019 году под новой версией. А теперь, давайте разберем нововведения данного релиза.
Во-первых — это обновленная консоль администратора Windows Admin Center (WAC). Теперь она доступна через веб-интерфейс. Из браузера стало возможным управлять виртуальными машинами, сервисами на них, запускать скрипты PowerShell, инициировать RDP-сессии и выполнять прочие операции. Во-вторых, появилась возможность работать с окружением Linux. Работает через специальный слой совместимости Windows Subsystem for Linux (WSL) на уровне ядра ОС. Таким образом, можно запускать bash-скрипты или бинарные файлы ELF без необходимости входа на виртуальный сервер через консольный клиент (например, Putty или SecureCRT).
Во-вторых, улучшились механизмы безопасности. Windows Defender теперь имеет на борту поддержку Advanced Threat Protection. Этот механизм умеет блокировать доступ к файлам и папкам из недоверенных источников (например, для защиты от вирусов-шифровальщиков), защищает от вредоносных процессов, сетевых атак, а также поддерживает шифрование сетевых соединений между виртуальными машинами.
В-третьих, улучшилась поддержка экранированных виртуальных машин. Теперь внутри них можно запускать Linux-подобные системы: RHEL, SUSE, Ubuntu. Кроме этого, такими машинами теперь можно управлять при помощи VMConnect и PowerShell Direct.
В-четвертых, появилась служба миграции хранилища. Этот инструмент позволяет мигрировать с устаревших версий Windows Server: 2003, 2008 или 2012. Можно мигрировать даже AD со всеми пользователями и настройками.
В-пятых и далее: улучшились инструменты репликации, работа с географически распределенными серверами, функции дедупликации, появилась поддержка Kubernetes и многое другое. Подробнее о нововведениях можно узнать на соответствующей странице Microsoft.
А пока мы рассказывали о новых возможностях гипервизора, установка сервера завершилась и можно приступать к настройке Hyper-V.
Как установить Hyper-V Server 2019
Для установки Hyper-V в образе Windows Server есть соответствующая роль, которую нужно активировать. Для этого откроем консоль управления сервером и нажмем Add Roles and Features. Появится меню, в котором нужно выбрать Hyper-V.
Далее нажать на Add Features для добавления необходимых инструментов.
Далее нужно настроить роль Hyper-V: Virtual Switches, Migration и Default Stores.
На экране Virtual Switches нужно выбрать сетевой интерфейс, который будет использоваться платформой виртуализации в качестве виртуального коммутатора. В нашем примере — Intel Ethernet l210 #2. Важно не задействовать под это основной сетевой интерфейс, который будет использоваться для физического доступа к управлению сервером.
Следующая настройка — Migration. Для целей демонстрации здесь можно оставить всё по умолчанию.
Default Stores — также оставляем по умолчанию.
Когда всё готово к установке — можно нажимать кнопку Install. После завершения установки потребуется перезагрузка.
После перезагрузки сервера, через командную строку можно открыть утилиту sconfig и посмотреть возможные настройки Hyper-V Server. Об этом в следующем разделе.
Как настроить Hyper-V Server утилитой sconfig
Утилита sconfig имеет интерфейс командной строки.
Важными пунктами являются:
- Domain/Workgroup — настроено при создании сервера.
- Computer Name — настроено при создании сервера.
- Configure Remote Management — включено. Опция нужна для удалённого управления сервером с Hyper-V через специальные утилиты или PowerShell.
- Remote Desktop — включено. Опция нужна для возможности удаленного управления сервером.
- Network Setting — это сетевые настройки виртуального коммутатора, которые уже были выполнены на этапе установки роли Hyper-V на шаге Virtual Switches.
Таким образом, необходимые настройки были выполнены ранее.
Как удаленно управлять Hyper-V Server
Самый простой способ удаленного управления — это использование веб-интерфейса WAC. Для начала, нужно загрузить это приложение с сайта Microsoft. При установке следует использовать значения по умолчанию. После установки станет доступен веб-интерфейс консоли. Его можно открыть по имени сервера или IP-адресу из удаленных локаций.
Из этого интерфейса можно управлять виртуальными коммутаторами.
Или, например, создать в Hyper-V новую виртуальную машину.
Об отдельных функциях управления Hyper-V расскажем в разделах ниже.
Как использовать PowerShell для настройки Hyper-V Server
Обратите внимание, что на этапе добавления роли Hyper-V, мы добавили возможность управления через PowerShell при помощи Hyper-V Module for Windows Power Shell. Таким образом, теперь достаточно просто открыть консоль PowerShell. Чтобы узнать общее количество командлетов, выполним следующую команду:
Get-Command –ModuleHyper-V | Measure-Object
Увидим, что общее количество командлетов — 1940 штук.
Командлеты управляют инфраструктурой Hyper-V аналогично консоли WAC. Например, при помощи командлета Get-NetIPConfiguration можно проверить настройки сети:
Для примера, проверим включена ли поддержка IPv6 на сетевом интерфейсе. Для этого выполним команду:
Get-NetAdapterBinding -InterfaceDescription "Hyper-V Virtual Ethernet Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table -AutoSize
Вывод будет следующим:
Значение True в поле Enabled показывает, что IPv6 включен. Попробуем его выключить. Для этого выполним следующий командлет:
Disable-NetAdapterBinding -InterfaceDescription "Hyper-V Virtual Ethernet Adapter" -ComponentID ms_tcpip6
Этот командлет вывод не показывает, поэтому проверим поле Enabled при помощи командлета Get-NetAdapterBinding:
PowerShell позволяет полноценно управлять инфраструктурой Hyper-V.
Как настроить правила Advanced Firewall для Hyper-V Server
Advanced Firewall — это расширенные настройки сетевого экрана на основе правил. Как и все остальное, их можно настраивать через PowerShell. Чтобы увидеть доступные команды для управления сетевым экраном, выполним следующий командлет с параметрами:
Get-Command -Noun *Firewall* -Module NetSecurity
В выводе увидим:
Теперь, чтобы включить правила для удаленного доступа к серверу, выполняем последовательно следующие командлеты через командную строку PowerShell:
Enable-NetFireWallRule -DisplayName "Windows Management Instrumentation (DCOM-In)"
Enable-NetFireWallRule -DisplayGroup "Remote Event Log Management"
Enable-NetFireWallRule -DisplayGroup "Remote Service Management"
Enable-NetFireWallRule -DisplayGroup "Remote Volume Management"
Enable-NetFireWallRule -DisplayGroup "Windows Defender Firewall Remote Management"
Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management"
Проверить работу и статус этих правил можно в веб-консоли Windows Admin Center:
Обратите внимание, что если открывать Windows Admin Center через браузер с русской локалью, интерфейс будет на русском языке. Это не зависит от настроек самого сервера. Например, наш демо-сервер развернут с английской локалью и тот же самый Windows Admin Center открывается там на английском языке. Для сравнения:
Возможность выбирать — очень приятная возможность.
Как создать дисковое хранилище для виртуальных машин
Дисковое хранилище для виртуальных машин мы создали на этапе установки на сервер роли Hyper-V. Это было на шаге Default Stores. В этом разделе мы покажем как теперь управлять этими разделами. Самый простой способ — через консоль Windows Admin Center.
Для этого нужно перейти в раздел Settings и перейти к настройкам Hyper-V. Здесь мы видим те же самые созданные разделы под хранилище для виртуальных машин.
При необходимости, расположение хранилища можно изменить, создав под него, например, новый дисковый раздел.
Как настроить виртуальный коммутатор в Hyper-V Server
Базовая настройка виртуального коммутатора была выполнена при установке роли Hyper-V на экране Virtual Switches. Посмотрим эти настройки в WAC.
Из этого же интерфейса возможно создание новых виртуальных коммутаторов или редактирование существующих.
Как создавать виртуальные машины в Hyper-V Server
Теперь перейдем к тому, ради чего всё и затевалось — созданию виртуальной машины в Hyper-V. Воспользуемся для этого уже знакомым WAC. Для начала скачаем образ Windows 10 с сайта для разработчиков Microsoft.
Разархивируем и добавим образ жесткого диска при создании виртуальной машины и нажимаем кнопку Create.
После создания виртуальной машины, можно ее запускать через меню WAC.
Виртуальная машина создана и готова к использованию.
Как сделать резервную копию виртуальных машин в Hyper-V Server
Создать резервную копию виртуальной машины Hyper-V можно при помощи встроенной утилиты wbadmin. По умолчанию её на сервере нет, поэтому добавим роль Windows Server Backup.
После добавления новой роли, будет доступна утилита wbadmin. Выполним команду для получения списка имеющихся на сервере виртуальных машин:
wbadmin get virtualmachines
В ответ получим данные о созданной ранее виртуальной машине с именем Windows10.
После получения имени машин все готово к началу создания резервной копии. Для этого выполним следующую команду:
wbadmin start backup -backuptarget:D: -hyperv:"Windows10" -quiet
Это запустит процесс создания резервной копии:
После достижения 100% появится сообщение об успешном завершении операции. Лог создания можно увидеть в одной директории с резервной копией.
Утилита позволяет настроить создание резервных копий по расписанию.
Заключение
Мы рассказали об обновлениях в Hyper-V Server 2019 и о базовых настройках, которых будет достаточно для запуска вашей первой виртуальной машине на гипервизоре. Выделенный сервер Selectel с предустановленной операционной системой поможет максимально быстро запустить проект виртуализации на базе Hyper-V.