Установка и настройка Windows Hyper-V Server 2012 R2

Добрый день.

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

Скачиваем (нужна регистрация на сайте), пишем на болванку: Hyper-V Server 2012 R2. Небольшая рекомендация — если у вас на руках окажется на выбор больше чем одна локализация дистрибутива (русская, английская), могу посоветовать использовать английскую. Такой выбор обусловлен тем, что по некоторыми (непроверенным) данным, русскоязычная версия имеет свои подводные камни при работе с командно-строчным интерфейсом и русскими символами в нем. Правда это или нет и в каком проявлении, на этот раз гадать мне не хотелось, потому я без особых колебаний выбрал английскую версию, что и вам советую сделать, хотя бы по причине того, что дальнейшее описание будет основываться на такой системе.

Содержание

Устанавливаем Hyper-V Server 2012 R2
Настраиваем новый гипервизор из консоли sconfig (TUI-интерфейс)
Настройка сетевых интерфейсов
Настройка межсетевого экрана (Advanced Firewall) через PowerShell
Установка и настройка системы хоста управления для Hyper-V
Настройка хоста управления гипервизором Hyper-V на Windows 8.1
Источники

Устанавливаем Hyper-V Server 2012 R2

Начнем со скучного, установим сам Hyper-V. Подключаем привод, образ или флешку и устанавливаем.

Рис. 01

hyperv-ins_01

Рис. 02

hyperv-ins_06

Рис. 03

hyperv-ins_10

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

Пока двигаемся дальше.

Настраиваем новый гипервизор из консоли sconfig (TUI-интерфейс)

После завершения установки, первое, что видит пользователь — пара окон CMD и открытая в ней же утилита базовой настройки сервера — Sconfig. Не густо, но для сервера нам вполне хватит.
Рис. 04

hyperv-ins_11

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

1. Указываем рабочую группу. (В моем случае сервер вне доменной сети, имя группы — HOMELAB).
2. Указываем имя сервера (мое значение — HYPERV01).
3. Создаем дополнительного пользователя (для примера — hvoper). Можно администрировать от имени Administrator, который создается по-умолчанию, но можно создать для управления отдельного пользователя. Чуть позднее будет ясно для чего
4. Включаем удаленное управление. (Включаем возможность ответов на PING) (опционально)

5. Включаем автоматическое обновление. (опционально)
6. Скачиваем и инсталлируем обновления. (опционально)

7. Разрешаем подключаться по rdp всем клиентам, с любой версией протокола.

8. Задаем сетевые настройки.

9. Устанавливаем время и дату.

 

Настраивать и проводить обновление сразу или же после завершения конфигурирования сервера — на ваш выбор. Можно обновить систему и затем просто перевести этот процесс на ручное управление — не оставлять же карты судьбы продакшн-сервера в руках малопредсказуемых индусов отдела троянских коней обновления Windows из славной организации MS. В своем случае я это сделал сразу, пока имел выданные адреса от моего DHCP. Статический IP-адрес можно настроить в Sconfig с целью работы по RDP, хотя делать это сразу вовсе не обязательно, поскольку позже планируется настраивать сеть более обстоятельно (процесс будет ниже по тексту).

Если вы меняли имя хоста и/или делали обновление, то вероятно вас попросят перезагрузиться. Когда первые установочные «ре-старты» завершены, пойдем далее.

Кстати говоря, можно уже соединиться с сервером по RPD, если такой вариант вам покажется удобнее.

Для первичной настройки и удобства оной временно выключаем встроенный брандмауэр сервера (также будет настроен чуть позже):

netsh advfirewall set allprofiles state off

Для удобства дальнейшей работы с ФС копируем на Hyper-V некоторые полезные инструменты:
Total Commander (Far)
HVRemote
— Дистрибутив ОС ввиде образа ISO будущей виртуальной машины.

Total Commander можно сразу же и установить.

По-моему так рабочее место администратора в Hyper-V выглядит более оптимистично:

Рис. 05

hyperv-stp_27-e1

 

Настройка сетевых интерфейсов

Ввиду того, что наш сервер не имеет привычного для семейства Windows рабочего стола, где можно бодро двигать мышкой и ставить нужные «галочки», приличная часть дальнейшего текста будет посвящена настройке с использованием командной строки, а в частности ее более современного и мощного средства — PowerShell. Если и после этого вы готовы продолжать, тогда продолжим — впереди нас ждет удача!

Открываем окно CMD и запускаем сеанс PowerShell:

powershell

Рис. 06

hyperv-stp_36-e1

Смотрим какие у нас есть данные по сетевому адаптеру:

Get-NetAdapter | Where-Object -Property Status -eq Up

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet 2                Broadcom NetXtreme Gigabit Ethernet          13 Up           11-22-33-44-55-AB         1 Gbps

Добавляем новый виртуальный «коммутатор» (сеть) используя значение Name из вывода команды выше:

New-VMSwitch -Name "local1" -NetAdapterName "Ethernet 2"

где: local1 – имя нашего нового «коммутатора»

Устанавливаем «коммутатору» флаг для будущего управляющего хоста, разрешающий ему использование физического сетевого адаптера:

Set-VMSwitch -Name "local1" -AllowManagementOS 1

Проверяем наличие нового созданного устройства:

Get-VMSwitch

Name   SwitchType NetAdapterInterfaceDescription
----   ---------- ------------------------------
local1 External   Broadcom NetXtreme Gigabit Ethernet

Настройка протоколов сети

Если сервер работает в локальной корпоративной сети, и использовать адресацию IPv6 не планируется (а чаще всего так и бывает), то выключаем 6-ю версию. Активная и не сконфигурированная версия протокола может давать лишнюю уязвимость в соответствующем диапазоне адресов, которым не уделено внимание при развертывании системы.

Проверяем текущую настройку IPv6 на интерфейсе. Имя интерфейса берем из вывода командлетов

Get-NetAdapter

или

Get-NetIPConfiguration

Смотрим, включена ли она:

Get-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" | Where-Object -Property DisplayName -Match IPv6 | Format-Table –AutoSize

Если видите что IPv6 активен (наличие полей IPv6 в выводе), то выключаем:

Disable-NetAdapterBinding -InterfaceDescription "Microsoft Hyper-V Network Adapter" -ComponentID ms_tcpip6

где: «Microsoft Hyper-V Network Adapter» — ваше значение из описания (InterfaceDescription) сетевого адаптера.

Теперь посмотрим, какие сетевые установки у нас имеются:

Get-NetIPConfiguration

(тут смотрим InterfaceIndex)

InterfaceAlias       : vEthernet (local1)
InterfaceIndex       : 27
InterfaceDescription : Hyper-V Virtual Ethernet Adapter #2
IPv4Address          : 192.168.10.2
IPv4DefaultGateway   : 192.168.10.1
DNSServer            : 192.168.10.1

InterfaceAlias       : Ethernet 3
InterfaceIndex       : 14
InterfaceDescription : Broadcom NetXtreme Gigabit Ethernet #2
NetAdapter.Status    : Disconnected

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

Даем новый IP-адрес:

New-NetIPAddress -InterfaceIndex 27 -IPAddress 192.168.55.101 -DefaultGateway 192.168.55.254 -PrefixLength 24

В этом месте очевидно, потребуется пересоединиться к серверу по RDP — перезапустить сессию с новым IP.

И новые DNS:

Set-DnsClientServerAddress -InterfaceIndex 27 -ServerAddress 192.168.55.254,192.168.10.1

После чего они должны принять вид похожий на таблицу ниже:

InterfaceAlias       : vEthernet (local1)
InterfaceIndex       : 27
InterfaceDescription : Hyper-V Virtual Ethernet Adapter #2
IPv4Address          : 192.168.55.101
IPv4DefaultGateway   : 192.168.55.254
DNSServer            : 192.168.55.254
192.168.10.1

InterfaceAlias       : Ethernet 3
InterfaceIndex       : 14
InterfaceDescription : Broadcom NetXtreme Gigabit Ethernet #2
NetAdapter.Status    : Disconnected

 

Настройка межсетевого экрана (Advanced Firewall) через PowerShell

Настройка разрешающих правил

После появления PowerShell в стандартной поставке Hyper-V в системе имеется удобный способ настройки встроенного брандмауэра. Для просмотра соответствующих доступных командлетов выполните:

Get-Command -Noun *Firewall* -Module NetSecurity

Проверим правило разрешающее удаленное управление рабочим столом (RDP).

Get-NetFirewallRule | Where-Object -Property DisplayName -Match "remote desktop" | Format-List -Property Name, DisplayName, Enabled

Если видим в графе Enabled: значение False, разрешаем это правило:

Enable-NetFirewallRule RemoteDesktop-UserMode-In-TCP

Переключимся на окно CMD и активируем брандмауэр:

netsh advfirewall set allprofiles state on

Если все было сделано правильно, то соединение через RDP не должно прерваться.

Теперь задействуем правило разрешающее удаленный доступ к управлению встроенным фаерволом.

Проверим, включено ли оно:

Get-NetFirewallRule | Where-Object -Property DisplayName -Match "firewall" | Format-List -Property Name, DisplayName, Enabled

Если в строке Enable видим False, то выполним следующее:

Enable-NetFirewallRule -Name RemoteFwAdmin-In-TCP,RemoteFwAdmin-RPCSS-In-TCP

После этого должна стать доступна оснастка «Брандмауэр Windows» MMC на хосте управления (Windows 8.1, Windows 2012 Server), которая нужна чтобы получить доступ к фаерволу сервера Hyper-V:

Точно также, при желании можно изменить статус для других правил, например для удаленного управления службой Virtual Disk (vds):

Смотрим, включено или нет

Get-NetFirewallRule | Where-Object -Property DisplayName -Match "volume" | Format-List -Property Name, DisplayName, Enabled

Включаем нужные модули, если они выключены:

Enable-NetFirewallRule RVM-VDS-In-TCP,RVM-VDSLDR-In-TCP,RVM-RPCSS-In-TCP

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

Get-NetFirewallRule | Where-Object -Property DisplayName -Match "smb" | Format-List -Property Name, DisplayName, Enabled

Name        : FPS-SMB-In-TCP
DisplayName : File and Printer Sharing (SMB-In)
Enabled     : False

Name        : FPS-SMB-Out-TCP
DisplayName : File and Printer Sharing (SMB-Out)
Enabled     : False

Name        : FPSSMBD-iWARP-In-TCP
DisplayName : File and Printer Sharing over SMBDirect (iWARP-In)
Enabled     : False

Если видите аналогичную «фальш», меняем ситуацию:

Enable-NetFirewallRule FPS-SMB-In-TCP

Добавление автозагрузки сеанса PowerShell (опционально)

Если вам нужно, чтобы окно с сеансом PowerShell запускалось при каждом старте системы (входе в сеанс администратором) — выполним следующее:

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

Внедряем HVRemote (его функции будут нужны позднее):

Копируем файл скрипта hvremote.wsf в удобный для вас каталог, переходим в него.

В каталоге с hvremote.wsf в консольном окне CMD на хосте Hyper-V и выполняем:

cscript hvremote.wsf /add:hvoper

где: hvoper – имя администратора для Hyper-V

Установка и настройка системы хоста управления для Hyper-V

Настал момент задействовать хост управления гипервизором. Тут могут рассматриваться два различных варианта в зависимости от ваших возможностей, желания и наличия нужного свободного оборудования:

1. Вы используете реальный (отдельный физический) компьютер / сервер.
2. Устанавливаете виртуальную машину

Какой бы вариант не выбрали, в любом случае далее нужно будет установить одну из версий ОС на «выбор»: Windows 8.1 Professional или Windows Server 2012. Такое требование связано с наличием в этих версиях ОС необходимых инструментов администрирования для Hyper-V 2012 R2 начиная с указанных версий (тот же Windows 7 или Windows Server 2008 использовать можно только для управления Hyper-V 2008).

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

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

Развертывание виртуальной машины

Если вы ставите управляющий хост на физической машине, можете пропустить этот раздел и перейти сразу к следующему, где описывается настройка управляющей системы (Настройка хоста управления гипервизором Hyper-V на Windows 8.1).

Загружаем с сетевого ресурса локальной сети образ ISO нужного дистрибутива будущей виртуальной машины (Windows 8.1 Pro или Windows 2012 Server) в локальный каталог Hyper-V.

Рис. 07

hyperv-stp_34

Качаем и ставим на клиента (например с Windows 7) программу 5nine Manager for Hyper-V.

Для корректной обработки запроса соединения с консолью виртуальной машины в программе 5nine Manager, на своей рабочей станции в файл hosts добавьте строку такого вида:

192.168.55.101 hyperv01

Добавляем в конфигурацию 5nine Manager наш сервер Hyper-V .

Рис. 08

5nine_02

Создаем в 5nine Manager новую виртуальную машину.

Рис. 09

5nine_03

Рис. 10

5nine_12

Не забудьте включить в свойствах новой виртуальной машины (ВМ) сетевой адаптер, указав его в диалоге настройки сети (в нашем случае это local1).

Рис. 11

5nine_16

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

Рис. 12

5nine_17

Выполним инсталляцию ВМ из ISO.

Рис. 13

5nine_18

Настройка хоста управления гипервизором Hyper-V на Windows 8.1

Все манипуляции выполняются на системе «клиента», т. е. хоста управления, если не сказано иное.

Устанавливаем Windows 8.1

После завершения установки, создаем пользователя-оператора с парой логин-пароль как для дополнительного админа на Hyper-V: hvoper (пароль должен совпадать с «коллегой» из гипервизора имеющего права группы Hyperv-V-Администраторы там – добавляли выше с помошью hvremote)

Рис. 14

5nine_22

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

Например 192.168.55.0/24 и 192.168.10.0/24 как в данной статье.

Активируем удаленный доступ к ВМ и правило на входящие подключения в брандмауэре.
Правим файл hosts (необходимо для корректной работы оснасток в Windows 8 по имени хоста сервера):

192.168.55.101 hyperv01

Устанавливаем компонент «Диспетчер управления Hyper-V»:
Панель управления — Программы и компоненты — Включение и отключения компонентов Windows;

Рис. 15

win8_07

В загрузившемся окне диалога, отмечаем галкой пункт «Hyper-V» – применяем изменения кнопкой ОК.

Загружаем Средства удаленного администрирования сервера для Windows 8.1 (RSAT) и устанавливаем.

Рис. 16

win8_06

Загружаем на хост управления скрипт HVRemote. Файл скрипта необходимо поместить в любой каталог, до которого есть прописаный путь в переменной текущего пользователя или системы (например корень домашней папки — %userprofile% (C:\Users\username\), C:\Windows\).

Рис. 17

win8_05

Запускаем командную строку Windows от имени администратора и окне CMD выполняем:

C:Windows\System32\cscript C:\Windows\System32\hvremote.wsf /AnonDCOM:grant

Если пользователь в вашей ОС один и он администратор, то при действующих переменных можно сделать тоже самое короткой формой команды:

сscript hvremote.wsf /AnonDCOM:grant

Обращаем внимание на регистр символов в командах — в моем случае система выполняла данные команды только при правильном написании.

Запускаем команду для тестирования настроек связки клиент-сервер Hyper-V:

Вариант с CMD «от имени администратора»:

C:Windows\System32\cscript C:\Windows\System32\hvremote.wsf /show /target:hyperv01

Или от пользователя-администратора

cscript hvremote.wsf /show /target:hyperv01

Смотрим в самом конце экрана вывода, если есть ошибки устраняем, вдумчиво изучая текст ошибок.

Запускаем mmc
Добавляем необходимые оснастки (во всех случаях для сервера HYPERV01):

Диспетчер Hyper-V
Брандмауэр Windows
Управление компьютером

Для последнего пункта. если он востребован, необходимо в правила брандмауэра на сервере Hyper-V добавить несколько дополнительных, для обеспечения требуемых типов соединений в зависимости от нужного раздела данной оснастки — их нетрудно найти в оснастке «Брандмауэр Windows» для HYPERV01, в перечне имеющихся по-умолчанию правил.
Кроме этого, на хосте управления также надо добавить некоторые отдельные правила, например одно важное для оснастки «Управление дисками» сервера. Для доступа к службе VirtualDisk на Hyper-V, в брандмауэре хоста управления надо включить разрешающее правило:

«Удаленное управление томами — загрузчик службы виртуальных дисков».

Рис. 18

win8_12

После того, как консоль MMC настроена, сохраняем ее конфигурацию в файл в удобном месте — например на рабочем столе.

По завершении перечисленных этапов настройки, у нас в руках удобное рабочее место по администрированию сервера Hyper-V с привычным интерфейсом.

Рис. 19

win8_11

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

Удачи!

Источники:

http://serveradmin.ru/
http://www.vmstart.ru/
https://blogs.technet.microsoft.com/
http://vmind.ru/

VKOdnoklassnikiFacebookTwitterBlogger PostGoogle+Поделиться
Запись опубликована в рубрике ЭВТ ИТ с метками , , , , , , , , , , , , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *