Hyper V Server Free, установка и первоначальная настройка.
В сегодняшней статье я хочу рассказать об установке и настройке бесплатного гипервизора первого уровня(bare-metal) Hyper V Server от Microsoft.
Hyper-V Server является бесплатным продуктом от компании Microsoft и представляет из себя платформу виртуализации, устанавливаемую непосредственно на «железо»(не путать с ролью Hyper-V, которую можно установить на Windows). Скачать его можно на сайте https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2019
Не буду распространяться о достоинствах и недостатках, скажу только, что в отличие от бесплатного гипервизора ESXi, имеющего много ограничений в сравнении с платными версиями, Hyper-V Server имеет ограничение, выражающееся в отсутствии графического интерфейса и некоторые сложности в настройке. Хотя, вряд ли это можно считать существенными недостатками, ведь для управления серверами Hyper-V есть достаточно средств, в том числе и бесплатные от самой Microsoft.
Думаю, достаточно прелюдий, давайте приступим к установке.
Установка Hyper-V Server.
Установка Hyper-V Server ничем не отличается от установки Windows с графическим интерфейсом, как и установка Server Core, поэтому описывать ее еще раз я не буду.
Скажу только, что после установки вы не увидите привычный графический интерфейс. Вместо этого, будут доступны интерфейс командной строки, Powershell и утилита настройки сервера sconfig.
Итак, после установки, вам предложат сменить пароль для учетной записи Администратора, и снова, как и при установке Server Core откроется мастер настройки сервера sconfig.
К этому мастеру вы всегда можете вернуться, набрав в командной строке sconfig. Если вы закрыли все окна, открыть консоль Powershell или CMD можно из диспетчера задач, запустив его нажатием Ctrl+Shift+Esc, в меню «Файл» выбрать «Создать новую задачу» и, в открывшемся окне ввести название программы, которую хотите запустить( например powershell, cmd или notepad).
Но, вернемся к настройке. В меню sconfig все понятно, там можно сменить имя компьютера, добавить его в домен или рабочую группу, изменить сетевые настройки и т.д. Просто введите нужный пункт меню и нажмите Enter.
Я изменю имя сервера, создам еще одну учетку с правами администратора, разрешу удаленное управление(в том числе ping), удаленный доступ по RDP и настрою статический IP-адрес. Также, рекомендую скачать и установить доступные обновления. И создайте соответствующую запись на вашем ДНС-сервере или пропишите соответствие имени и IP-адреса сервера в файле hosts на машине, с которой будете управлять гипервизором.
После этого, можно подключиться к серверу по RDP. Но, подключившись к удаленному рабочему столу, мы увидим те же самые CMD и Powershell.
Для более удобного управления сервером у Microsoft есть бесплатный инструмент Windows Admin Center. Узнать о нем подробнее и скачать его можно по ссылке: https://docs.microsoft.com/ru-ru/windows-server/manage/windows-admin-center/understand/windows-admin-center
Также, управлять сервером можно с помощью Диспетчера серверов, входящего в «комплектацию» серверных операционных систем Windows Server, либо в пакет для удаленного администрирования RSAT.
Так вот, сейчас, при попытке добавить наш сервер для управления в Windows Admin Center, мы получим ошибку:
Для ее устранения нужно на клиентском компьютере, с которого производится управление сервером выполнить команду:
1 |
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "hvserver1" -Concatenate |
Она добавит сервер с именем «hvserver1» в список доверенных хостов на вашем клиентском компьютере. Ключ -Concatenate означает, что список нужно дополнить, а не перезаписать содержащиеся там записи.
Настройка правил файрволла на сервере:
Настройка файрволла для русскоязычной ОС:
1 2 3 4 5 6 |
Enable-NetFireWallRule -DisplayName "Инструментарий управления Windows (DCOM - входящий трафик)" Enable-NetFireWallRule -DisplayGroup "Удаленное управление журналом событий" Enable-NetFireWallRule -DisplayGroup "Удаленное управление Windows" Enable-NetFireWallRule -DisplayGroup "Удаленное управление томами" Enable-NetFireWallRule -DisplayGroup "Удаленное управление брандмауэром Windows" Enable-NetFireWallRule -DisplayGroup "Удаленное управление назначенными задачами" |
Настройка файрволла для англоязычной ОС:
1 2 3 4 5 6 |
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 Firewall Remote Management" Enable-NetFireWallRule -DisplayGroup "Remote Scheduled Tasks Management" |
Разрешить удаленное управление дисками можно и так:
1 |
Enable-NetFirewallRule -name RVM-RPCSS-In-TCP,RVM-VDSLDR-In-TCP,RVM-VDS-In-TCP |
Отключить файрвол полностью можно командой:
1 |
Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False |
Разрешим удаленное управление:
1 |
Enable-PSRemoting |
и передачу учетных данных:
1 |
Enable-WSManCredSSP -Role server |
Будет создано правило файрвола для прослушивателя WinRM. Внимание, этот пункт завершится с ошибкой если любая из сетевых карточек имеет тип сети «публичная». Если у вас при настройке вышла такая ошибка, измените профиль этой сети командлетом Set-NetConnectionProfile и после этого запустите Enable-PSRemoting снова. Если вам нужна сетевая карточка с профилем «Публичная сеть» запустите Enable-PSRemoting с параметром -SkipNetworkProfileCheck в этом случае будут созданы правила файрвола, разрешающие доступ из общедоступных сетей в той же локальной подсети. Подробнее про PSRemoting можно прочитать здесь: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/enable-psremoting?view=powershell-6
Проверить прослушивается ли порт WinRM можно командой:
1 |
tnc <server> -port 5985 |
также, может быть полезной команда:
1 |
winrm e winrm/config/listener |
Если подключение к Hyper V Server производится с компьютера, находящегося в другой локальной сети, и сервер является членом домена, проверьте разрешено ли политиками удаленное управление из этой сети. В политиках этот параметр находится по пути Конфигурация компьютера->Административные шаблоны->Компоненты Windows->Удаленное управление Windows->Служба удаленного управления Windows. Параметр Разрешить удаленное администрирование сервера средствами WinRM.
На клиентском компьютере можно выполнить команду, добавляющую учетные данные для подключения к серверу(если используются разные учетные данные).
1 |
cmdkey /add:HVSERVER1 /user:Администратор /pass:MyPa$$word |
и разрешим передачу учетных данных:
1 |
Enable-WSManCredSSP -Role client -DelegateComputer "hvserver1" |
Также, возможно, потребуется сделать следующее:
Через командную строку или команду Выполнить (Win + R) запустите оснастку dcomcnfg, в ней разверните дерево Службы компонентов — Компьютеры — Мой компьютер. После чего по щелчку правой кнопки мыши выберите Свойства и перейдите на закладку Безопасность COM — Права доступа — Изменить ограничения и в открывшемся окне установите для пользователя АНОНИМНЫЙ ВХОД права Удаленный доступ.
После этого можно будет подключиться к серверу с помощью Windows Admin Center и добавить сервер в Диспетчер серверов.
Настройка сети.
Настройку сети можно произвести из Windows Admin Center и в Диспетчере серверов. Правда, доступны не все настройки. Но тут на помощь всегда может прийти Powershell.
Например, настройку объединения сетевых карт можно сделать в Диспетчере серверов или в Powershell:
1 |
New-NetLbfoTeam -Name NicTeam -TeamMembers Ethernet0,Ethernet1 -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic |
Изменить режим работы объединенного интерфейса можно при помощи командлета Set-NetLbfoTeam
1 |
Set-NetLbfoTeam -Name "NicTeam" -TeamingMode LACP |
Создать виртуальный коммутатор на основе созданного объединенного интерфейса:
1 |
New-VMSwitch -Name VMSwitch1 -NetAdapterName "NicTeam" -AllowManagementOS $true -Confirm:$false |
Настроить на нем IP-адрес:
1 |
New-NetIPAddress -InterfaceAlias "vEthernet (VMSwitch1)" -IPAddress 192.168.1.40 -PrefixLength 24 -DefaultGateway 192.168.1.1 |
Настроить днс-серверы:
1 |
Set-DnsClientServerAddress -InterfaceAlias "vEthernet (VMSwitch1)" -ServerAddresses 192.168.1.1,192.168.1.2 |
Вот еще несколько команд, которые могут пригодиться при настройке сети:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Get-NetLbfoTeam Set-NetLbfoTeam -Name "NicTeam" -TeamingMode Lacp Remove-NetLbfoTeamNic -Team "Team-name" -VlanID "VLAN" Get-NetAdapter Rename-NetAdapter -Name "OldName" -NewName "NicTeam" Get-NetIPConfiguration Set-NetIPAddress -InterfaceAlias "vEthernet (VMSwitch1)" -IPAddress 192.168.1.70 -PrefixLength 24 Set-VMNetworkAdapterVlan -ManagementOS -Access -VlanId 100 Get-VM | Get-VMNetworkAdapter | Disconnect-VMNetworkAdapter Get-VMSwitch | Remove-VMSwitch -Force |
Ну и наконец управлять виртуальными машинами можно с помощью стандартной оснастки Hyper-V, которая доступна в составе компонентов Windows, если не ошибаюсь, с 8 версии(естественно, не Home редакции).
Для управления Hyper V Server, запустите оснастку Hyper-V и выберите «Подключиться к серверу».
В открывшемся окне выберите «Другой компьютер» и укажите имя Hyper-V Server. Если вы указали ранее учетные данные для управления сервером командой cmdkey, то просто нажмите ОК. Если нет, то выберите «Подключиться как другой пользователь» и укажите имя пользователя и пароль.
После подключения, вы сможете управлять виртуальными машинами и параметрами Hyper-V.
Хост с Hyper-V Server также может быть добавлен в Virtual Machine Manager.