GrabDuck

Установка и настройка hyper-v server для тех, кто впервые его видит

:

Вступление


Сегодня я расскажу о том, как установить и настроить гипервизор hyper-v server от компании Microsoft, а так же о некоторых подводных камнях и способах их избежать.
Поводом для написания этот статьи стал материал данного поста. Этот пост подходит больше как шпаргалка, если вы уже работали с данным гипервизором. Новичку же придется столкнуться с кучей нюансов и перекопать немало форумов, в поисках ответов на нестандартные вопросы.

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

Под катом много текста и скриншотов

Описание


MS hyper-v server представляет собой урезанную версию MS server 2008 R2 в режиме Core (т.е. фактически, графический интерфейс отсутствует) с установленной ролью hyper-v и ничего более. Согласно википедии hyper-v server распространяется бесплатно, что вкупе с удобным управлением и интеграцией с продуктами от MS, делает его очень привлекательным гипервизором. Кроме того он имеет достаточно высокие показатели по производительности, а значит ресурсы хостовой машины будут расходоваться на работу нужных нам сервисов.

Установка


Перед началом установки необходимо убедиться, что ваш процессор поддерживает технологии аппаратной виртуализации Intel VT-x или AMD-V.
Для начала необходимо скачать дистрибутив hyper-v server 2008 R2 с сайта Microsoft (регистрироваться не нужно). Далее нарезать образ на DVD-диск или сделать установочную флешку.
Вставляем диск/флешку и загружаемся с нее.


Hyper-v server — выбор языка мастера установки

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


Hyper-v server — выбор языка ОС и раскладки клавиатуры

Язык мы выбрали английский, а формат времени лучше выбрать русский, чтобы потом не мучиться с настройкой в командной строке.
Далее жмем кнопку «Install now». Читаем и принимаем с лицензионное соглашение.


Hyper-v server — выбор типа установки

Выбираем полную установку (Custom).


Hyper-v server — настройка параметров жесткого диска

На этом этапе мастер предлагает настроить параметры разделов жесткого диска. Лучше всего создать 2 логических диска. Первый — для установки самого гипервизора, ему хватит 15 Гб. Второй для хранения контейнеров виртуальных машин (ВМ). Таким образом, будет намного удобнее осуществлять управление, импорт и миграцию ВМ.
Жмем «Next» и уходим пить чай. В процессе установки компьютер несколько раз перезагрузится.

Настройка


Базовая настройка и удаленный доступ

После перезагрузки hyper-v server предложит нам установить пароль администратора. Так как по-умолчанию в групповой политике ms windows 2008 server r2 стоит требование к сложности пароля, придется придумать пароль длинной от 6 символов, обязательно содержащий заглавную букву и спецсимвол или цифру (например «Password1»).
Как вы можете заметить ниже на скриншотах консоль управления у меня на русском языке, хотя при установке был выбран английский язык, скорее всего это из того, что с официального сайта Microsoft я скачал русский дистрибутив. На работу и настройку сервера это негативным образом не повлияет. Если же у вас консоль на английском — можно делать по аналогии, все настройки будет легко понять.


Hyper-v server — интерфейс управления

После загрузки рабочего окружения, ОС предлагает нам 2 консоли управления. Стандартная командная консоль cmd и консоль с предустановленными опциями. Первым делом нам необходимо задать статический ip-адрес и настроить удаленное управление сервером. В консоли управления выбираем пункт 8.


Hyper-v server — сетевые адаптеры

В списке будут перечислены сетевые адаптеры. Выбираем нужный и вписываем его индекс. Далее выбираем «1 — установить ip-адрес сетевого адаптера». Вписываем «S» — что означает статический ip-адрес. Для примера зададим параметры:
ip-адрес — 192.168.1.100
маска подсети — 255.255.255.0
шлюз по-умолчанию 192.168.1.1
После применения параметров, мы вернемся в подменю, где будут перечисленные ранее внесенные настройки. Если все верно возвращаемся в главное меню.
Теперь настроим удаленный доступ. Выбираем пункт 7, далее включаем удаленный рабочий стол, вписав английскую «E». На вопрос об ограничении подключений от rdp-клиентов старых версий, выбираем «2» — подключаться от любых клиентов.

В главном меню выбираем пункт 9, и задаем актуальную дату и время на сервере.

Сетевое имя сервера и рабочая группа

Теперь настроим рабочую группу. Для работы hyper-v server, я не стал включать его в домен, что несколько усложняет настройку, но для экспериментов это идеальный вариант. Во время тестов и проверки различных конфигураций, лучше изолировать тестовые машины от целевой сети.

Выбираем пункт 1, затем «присоединиться к рабочей группе» вписав «W». Далее задаем название рабочей группы, например «test». Очень важно, чтобы имя рабочей группы на hyper-v server и ПК, с которого мы планируем им управлять, совпадали. После этого мы возвращаемся в главное меню.

Желательно задать сетевое имя сервера, выбираем пункт 2 и вписываем имя, например «hyper-srv». Для применения параметров необходимо перезагрузиться, соглашаемся с предложением ОС.

Далее все настройки (такие как имя компьютера, рабочей группы, пользователи, ip-адрес и т.д.) я буду приводить те, что описывал в процессе установки. Если вы задавали свои параметры, не забывайте использовать именно их.

После перезагрузки мы можем подключиться к серверу, используя клиент удаленного рабочего стола. Выбираем пуск -> выполнить, вписываем mstsc. В первом поле задаем ip-адрес (в моем случае 192.168.1.100), подключаемся. Сервер запросит данные авторизации, вводим имя пользователя «hyper-srv\Administrator» и пароль «Password1».

Итак, мы подключились, теперь необходимо настроить дополнительные параметры удаленного управления. Заходим в пункт 4. Теперь по порядку выбираем подпункты 1, 2 и дожидаемся окончания настройки. После завершения, ОС опять попросит перезагрузиться. По завершению этих настроек мы сможем подключаться к серверу с помощь консоли mmc и диспетчера сервера hyper-v из пакета Remote Server Administration Tools (RSAT). Подробнее об этом я опишу далее по тексту.

Установка RSAT и диспетчера hyper-v

Для комфортного удаленного управления сервером (создание/удаление/импорт/настройка ВМ, добавление/удаление оборудования, управления пользователями/групповыми политиками и т.п.) нам необходимо установить RSAT на наш ПК. Устанавливать будем на windows 7. Первым делом скачаем его отсюда. В этом пакете нам нужен компонент “Диспетчер hyper-v” для консоли mmc — это собственно основной инструмент управления будущими ВМ.
Последующие настройки будет необходимо производить как на сервере (для краткости СРВ) так и на нашем управляющем ПК (УК).
Настраиваем пользователей

Первым делом нужно создать пользователя, от имени которого мы будем осуществлять управление. Имена пользователей и пароли должны совпадать для УК и СРВ!
На СРВ — в консоли управления выбираем пункт 3 (добавление локального администратора). Задаем имя «admin» и пароль для него «Qwerty1». Проверим, успешно ли добавился, в консоли cmd вводим net user admin. Эта команда покажет нам, что он состоит в группах «Administrators» и «Users».

На УК — запускаем консоль cmd от имени администратора и вводим команду net user admin Qwerty1 /add, добавим его в группу администраторов net localgroup Администраторы admin /add (для английской версии net localgroup Administrators admin /add). Снова проверим результаты с помощью net user admin.

Для настройки пользователей и групп безопасности есть замечательная утилита “HVRemote”, написанная одним из сотрудников Microsoft.
Скачиваем утилиту и копируем файл «HVremote.wsf» на сервер. Помните в самом начале, я писал, что нужно выбрать английский язык для ОС? Так вот для корректной работы скрипта «HVremote.wsf» необходимо, чтобы группы безопасности и пользователи именовались на английском языке.

Небольшое отступление: как я писал раньше — в hyper-v server отсутствует графический интерфейс. Это не совсем так, Microsoft просто вырезала по-максимому все, что связанно с Explorer, но это не мешает нам запускать приложения имеющие графические окна. Для примера можно скопировать на диск сервера программу «total commander» и запустить ее из консоли.


Hyper-v server — запуск приложений

Продолжим, на СРВ — открываем консоль cmd, переходим в папку с файлом скрипта (я сохранил в корень диска С: ). Выполняем команду cscript hvremote.wsf /add:domain\account, где domain — имя вашего сервера (домена), account — имя учетной записи для управления. В моем случае команда будет выглядеть так cscript hvremote.wsf /add:hyper-srv\admin.


Hyper-v server — выполнение скрипта

В результате у вас должно получиться как на скриншоте. Скрипт добавил пользователя в необходимые группы и назначил ему права.
На стороне УК необходимо выполнить следующую команду cscript hvremote.wsf /anondcom:grant и cscript hvremote.wsf /mmc:enable.

Для работы оснасток консоли удаленного управления компьютером, необходимо создать правила-исключения в брандмауэре сервера. Первым делом создадим правило, позволяющее управлять логическими дисками:
Netsh advfirewall firewall set rule group="Remote Volume Management" new enable=yes.
Если у вас выдает ошибку вида «Group cannot be specified with other identification conditions» — попробуйте перепечатать команду вручную, а не копировать/вставлять.
Результат успешного выполнения команды:

Updated 3 rule(s).
Ok.

Далее разрешим удаленное управление файерволом Netsh advfirewall firewall set rule group="Windows Firewall Remote Management" new enable=yes.
Updated 2 rule(s).
Ok.

Разрешим доступ для любых оснасток консоли mmc netsh advfirewall firewall set rule group="Remote Administration" new enable=yes.
Updated 3 rule(s).
Ok.

Разрешим использовать «Windows Management Instrumentation (WMI)» следующей командой
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes.
Updated 4 rule(s).
Ok.

Разрешим icmp-протокол — netsh firewall set icmpsetting 8.
Разрешим доступ к расшаренным файлам и папкам netsh firewall set service type=fileandprint scope=subnet.
Если вы по какой-то причине не можете подключиться к серверу, попробуйте отключить файервол командой netsh firewall set opmode disable. Возможно, вам придется создать дополнительные правила доступа.

Теперь мы можем использовать оснастки mmc для управления сервером (управление службами, пользователями, политиками и т.д.) и самое главное диспетчер hyper-v. Давайте откроем его: запускаем консоль mmc -> файл -> добавить или удалить оснастку -> диспетчер hyper-v. Выбираем меню Действие — > подключиться к серверу -> другой компьютер. В поле впишите сетевое имя вашего сервера (hyper-srv) и подключайтесь.


Hyper-v server — диспетчер управления ВМ

Вот собственно и все, мы успешно установили и настроили наш hyper-v server. Теперь можно смело разворачивать виртуальные машины и различные сервисы.

Это моя первая статья на хабре, поэтому жду советов и конструктивной критики

Ссылки на информационные ресурсы:
Wikipedia — Hyper-v server
Полезные консольные команды