Вступление
Сегодня я расскажу о том, как установить и настроить гипервизор 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
Полезные консольные команды