Виртуализация серверов.
Лабораторная работа №9.
Настройка миграции виртуальных машин на базе Hyper-V.
Методические указания.
Миграция виртуальных машин (ВМ) – это перемещение ВМ с одного физического сервера
на другой без остановки работы ВМ и незаметно для пользователя. Миграция ВМ используется в
следующих случаях.
1. При проведении профилактических работ на сервере в том числе, когда сервер требуется
выключить.
2. При балансировке нагрузки, когда некоторые ВМ надо переместить с высоконагруженного
сервера на другие менее нагруженные сервера.
3. При консолидации нагрузки. При низкой нагрузке на ВМ некоторые сервера освобождают-
ся от ВМ и выключаются. Это делается для экономии энергии.
Standard Edition для выполнения работы, однако тогда все функции ВМ «iscsi» необходимо реали-
зовывать на серверной части.
Если перечисленные выше требования к ОС не выполняются, то можно использовать для
создания ВМ гипервизор VMware Workstation. В этом случае алгоритм настройки гипервизора бу-
дет несколько отличаться от нижеизложенного.
3. Создадим три виртуальные машины с названиями «serv1», «serv2», «iscsi». Виртуальная ма-
шина «iscsi» будет являться сервером хранения данных, а другие две виртуальные машины –
хостами виртуализации. ВМ надо создать со следующими настройками.
3.1. Поколение ВМ – Поколение 1.
3.2. Так как на виртуальных машинах serv1 и serv2 будет использоваться вложенная виртуали-
зация, то для этих машин нельзя использовать динамическую память. Поэтому динамиче-
ская память используется только на сервере iscsi, а на серверах serv1 и serv2 – статическая.
Память настраивается таким образом:
3.2.1. ВМ “iscsi” ОЗУ: 1024 мб, использовать динамическую память.
3.2.2. ВМ “serv1”: ОЗУ: 2048 мегабайт, динамическую память использовать нельзя.
3.2.3. ВМ “serv1”: ОЗУ: 2048 мегабайт, динамическую память использовать нельзя.
3.3. При настройке сети надо выбрать сетевой коммутатор iSCSI для всех ВМ.
3.4. Размер диска для каждой ВМ указать не менее 50 ГБ. Диск является динамическим и будет
расти по мере потребления места.
3.5. В пункте «Параметры установки» выберите «Установить операционную систему позд-
нее».
3.6. Для ускорения работы ВМ целесообразно отключить создание контрольных точек. Для
этого войдите в настройки ВМ и в левой части открывшегося окна выберите в разделе
Управление пункт меню Контрольные точки. В правой части окна надо убрать галочку
напротив пункта Включить контрольные точки.
3
3.7. На ВМ serv1 и serv2 установите второй сетевой адаптер и подключите его к виртуальному
коммутатору с именем «Cluster network».
5. На все созданные машины необходимо установить ОС Windows Server 2016 Standard или
Datacenter Edition.
6. Настроим ВМ iscsi. Данная виртуальная машина предназначена для выполнения роли файл-
сервера, на котором будут лежать файлы виртуальных машин. Для этого на данной машине
необходимо развернуть таргет-сервер протокола iSCSI и разрешить остальным ВМ к нему под-
ключаться, а также создать хранилище для ВМ.
6.1. Настроим сетевой интерфейс сервера iscsi.
6.1.1. На ВМ iscsi для единственного сетевого адаптера надо задать статический IP адрес
10.0.0.3 маску подсети 255.255.255.0. Сетевой шлюз по умолчанию и DNS сервер указывать не
нужно. Должно получиться как на рис. 1.
надо включить отклик на команду. Для этого надо в консоли Powershell задать следующую ко-
манду:
New-NetFirewallRule –DisplayName “Allow Ping” –Direction Inbound –Action Allow –Protocol
icmpv4 –Enabled True
8. Установим на сервер iscsi следующие роли:
1) Службы хранения (Storage Services) – службы, необходимые для работы файлового храни-
лища.
2) Файловый сервер (File Server) – предоставление доступа к файлам на сервере по сети.
3) Сервер цели для iSCSI (iSCSI Target Server) – службы для доступа к данным файлового сер-
вера по протоколу iSCSI.
Для этого надо открыть оснастку «Диспетчер серверов» (Server Manager). В оснастке вы-
брите «Локальный сервер» (Manage). Найдите окно «Роли и компоненты» (Roles and features).
Используя кнопку «Задачи» добавьте требуемые роли (рис.2).
Рис. 3. Определение IP адресов для серверов, которые получают доступ к дисковому хранилищу.
10. Теперь осуществим настройку сервера serv2. Данная виртуальная машина является одним из
хостов виртуализации в кластере Hyper-V и исполняет роль вычислительного сервера. В
первую очередь необходимо обеспечить сетевую связность виртуальных машин, то есть
настроить сетевые адаптеры. На serv2, как и на serv1, должны быть установлены два виртуаль-
ных сетевых адаптера. Один сетевой адаптер должен быть подключён к сети iSCSI, а другой к
сети Cluster network.
10.1. Задайте сетевому адаптеру, подключённому к сети iSCSI статический IP адрес
10.0.0.2 и маску сети 255.255.255.0. Проверьте наличие связи с сервером iscsi (адрес
10.0.0.3) командой ping. Обратите внимание, что на сервере iscsi должен быть разрешён
ответ на запрос ping, то есть, включена настройка Allow Ping. Отсутствие ответа на ping
также возможно, если IP адрес присвоен не тому сетевому адаптеру, то есть адаптеру, под-
ключённому не к сети iSCSI, а к сети Cluster network. В этом случае удалите настройки
сетевого адреса с этого адаптера и назначьте адрес 10.0.0.2 другому сетевому адаптеру и
снова проверьте связь с 10.0.0.3.
10.2. Для сервера serv2 также надо внести в конфигурацию Firewall разрешение отклика
на запрос ping. Для этого надо в консоли Powershell задать следующую команду:
New-NetFirewallRule –DisplayName “Allow Ping” –Direction Inbound –Action Allow
–Protocol icmpv4 –Enabled True
10.3. Настроим имя сервера и DNS суффикс имени. Эти настройки нужны, чтобы сервер
корректно определялся DNS сервером и корректно в нём зарегистрировался. После уста-
новки ОС сервер имеет какое-то случайное имя и принадлежит к рабочей группе
WORKGROUP. Задайте имя «server2», имя рабочей группы «TESTGROUP» и DNS суф-
фикс «test.local» (рис. 4). Для задания DNS суффикса надо в окне «Изменение имени
компьютера или домена» (Computer Name/Domain Change) нажать кнопку «Дополни-
тельно» (More). Для завершения настроек надо перегрузить сервер.
10.4. Установим требуемые роли на сервер serv2. Этот сервер должен работать в одном
кластере с сервером serv1, поэтому оба эти сервера должны удовлетворять трём следую-
щим условиям.
6
1) Оба сервера должны являться хостами Hyper-V, то есть серверами, содержащими вир-
туальные машины.
2) Оба сервера должны быть объединены в специальную структуру под названием Failover
Cluster – это режим совместной работы нескольких серверов, обеспечивающий отказо-
устойчивость какой-либо службы на них.
3) Виртуальные машины, доступные для миграции, должны располагаться на сетевом дис-
ковом хранилище, к которому имеют одновременный доступ на запись и чтение оба хо-
ста. Примером такого диска может являться хранилище iSCSI, которое было настроено
нами на прошлом шаге.
11. Настроим ВМ serv1. Данная виртуальная машина также будет хостом виртуализации в класте-
ре Hyper-V, что подразумевает схожие настройки с ВМ serv2. Однако данная ВМ также будет
исполнять роль DNS сервера, что потребует дополнительной настройки сервера.
11.1. Настройте на serv1 сеть iSCSI: IP адрес 10.0.0.1, маска сети 255.255.255.0.
11.2. Внести в конфигурацию Firewall разрешение отклика на запрос ping.
11.3. Проверьте наличие пинга на адреса 10.0.0.2 и 10.0.0.3.
11.4. Задайте имя сервера server1, рабочей группы TESTGROUP и основной DNS суф-
фикс test.local.
11.5. Установите на сервер роль Hyper-V и компонент «Отказоустойчивая кластериза-
ция» (Failover Clustering). Во время установки роли Hyper-V вам потребуется указать, ка-
кой из сетевых интерфейсов использовать для виртуализации – выберите интерфейс, сете-
вой адрес которого вы не назначали (НЕ тот, которому присвоен адрес 10.0.0.1). Осталь-
ные настройки оставьте по умолчанию. После установки роли надо перегрузить сервер.
11.6. Сетевому адаптеру «Microsoft Hyper-V Network Adapter…» присвойте статический
адрес 172.16.0.1 и маску сети 255.255.255.0. Адрес DNS сервера 172.16.0.1. Укажите также
DNS суффикс test.local.
12. Настроим DNS на сервере serv1. DNS нужна для определения IP адреса по имени хоста. Данная
служба необходима, в частности, при развертывании Failover Cluster Hyper-V.
12.1. На сервер serv1 установите роль DNS и перегрузите сервер.
12.2. Откройте оснастку DNS: Пуск – Средства администрирования Windows – DNS.
8
12.3. Откроется окно «Диспетчер DNS». В данном окне нас интересует «Зона прямого
просмотра» (Forward Lookup Zone) – зона прямого поиска. Данная зона ответственна за
непосредственное преобразование имени в IP адрес устройства. В этой же зоне будет хра-
ниться информация о IP адресе кластера. Создадим Forward Lookup зону, соответствую-
щую нашему локальному домену test.local. Для этого выполним следующие действия.
12.3.1. Нажмите правой кнопкой на «Зоны прямого просмотра» (Forward Lookup Zone) и
выберите «Создать новую зону»(New Zone...). Откроется мастер создания новой зо-
ны.
12.3.2. В окне выбора типа зоны укажите «Основная зона» (Primary Zone). Если зона,
хранящаяся на DNS-сервере, является основной, то DNS-сервер становится основным
источником сведений об этой зоне. Он хранит главную копию данных зоны в локаль-
ном файле или в доменных службах Active Directory. Данные хранящиеся в основной
зоне можно изменять с данного сервера. Если зона хранится в файле, файл основной
зоны называется имя_зоны.dns и размещается в папке сервера
%windir%\System32\Dns.
Данные хранящиеся в дополнительной зоне – это копии данных с других серверов.
12.3.3. В качестве «Имени зоны» (zone name) укажите test.local.
12.3.4. Оставьте по умолчанию настройки создания файла для зоны и нажмите далее.
12.3.5. В окне выбора динамических обновлений зоны (Dynamic Update) выберите режим
«Разрешить любые динамические обновления» (Allow both nonsecure and secure
dynamic updates) – это позволит любому компьютеру регистрироваться в данной DNS
службе.
12.3.6. Проверьте настройки и нажмите кнопку Finish. Итогом данных действий станет со-
здание DNS Forward Lookup зоны с именем test.local, в которую уже будет добавлен
данный DNS сервер, т.е. server1 (рис. 6).
13. Перед созданием отказоустойчивого кластера надо убедиться, что все подготовительные рабо-
ты выполнены правильно. Необходимо проверить следующее.
13.1. Корректно настроены адреса всех сетевых интерфейсов всех трёх виртуальных ма-
шин.
13.1.1. На ВМ iscsi должен быть один сетевой адаптер с статическим адресом
10.0.0.3 и должна корректно работать программа ping до адресов 10.0.0.1 и 10.0.0.2.
13.1.2. На ВМ serv1 и serv2 должны быть по два сетевых адаптера:
13.1.2.1. Адаптеры со статическими адресами 10.0.0.1 и 10.0.0.2 соответственно, поз-
воляющие пинговать друг друга и адрес 10.0.0.3.
13.1.2.2. Адаптеры со статическими адресами 172.16.0.1 и 172.16.0.2 соответственно,
имеющие коннект друг до друга.
13.1.3. На каждом из серверов server1 и server2 корректно отрабатывают все 4 ко-
манды: “ping server1”, “ping server1.test.local”, “ping server2”, “ping server2.test.local” и
выдают верные IP адреса данных хостов. При тестировании локального имени server1
на ВМ serv1 может выдавать другой адрес – из сети IPv6. В таком случае необходимо
проверить связность командами
14.1. На сервере server1 необходимо ослабить режим доверия. В результате можно будет
при совпадении локальных пользователей и паролей вносить изменения на не доверенные
компьютеры. Сервера server1 и server2 не являются доверенными, так как не входят в до-
мен. Режим доверия ослабляется следующей командой
Данная команда вносит изменение в реестр. Указывается путь, имя параметра и значение.
15.7. Проверим наличия диска системы хранения данных. Для этого надо открыть консоль
управления дисками diskmgmt.msc. Запустить эту консоль можно двумя способами:
1) Используя команду «Выполнить».
2) Используя следующую последовательность действий: Пуск – Средства администри-
рования Windows – Управление компьютером – Управление дисками.
15.8. Используя консоль управления дисками надо проверить наличие диска размером
около 30ГБ. Этот диск должен иметь статус «Вне сети» (Offline). Таким образом, диск,
размещенный на ВМ iscsi, стал доступен по сети для использования сервером server2.
15.9. Аналогичные действия выполните на сервере server1. Проведите инициализацию
диска, используя оснастку «Инициатор iSCSI» (iSCSI Initiator).
15.10. Подключенный диск на server1 переведите в состояние «В сети» (Online), используя
консоль управления дисками. Далее необходимо инициализировать диск.
15.11. Отформатируйте весь раздел диска для файловой системы NTFS. Создаваемому то-
му не надо назначать букву диска или пути диска (Do not assign a drive letter or drive path).
16. В результате выполнения предыдущего пункта было создано дисковое хранилище, доступное
обоим серверам server1 и server2 и, таким образом, выполняющее условие для создания общего
тома кластера (Cluster Shared Volume). Теперь введём дисковое хранилище в кластер.
16.1. На сервере server1 откройте «Диспетчер отказоустойчивости кластеров» (Failover
Cluster Manager). Для этого используйте следующую последовательность действий: Пуск
– Средства администрирования Windows –Диспетчер отказоустойчивости класте-
ров.
16.2. Сначала надо подключить диспетчер отказоустойчивости кластеров к существую-
щему кластеру. Для этого в правой части окна надо выбрать пункты меню «Подключить-
ся к кластеру – Кластер на этом сервере…» (Connect to cluster – Cluster on this server).
Откроется консоль управления кластером.
16.3. В левом меню выберите «Хранилище – Диски» (Storage – Disks). В правом меню
выберите «Добавить диск» (Add disk). Добавьте диск в кластер. Результат представлен на
рис.8.
12
17. В результате выполнения предыдущих пунктов был создан отказоустойчивый кластер с общим
хранилищем данных. Теперь развернём на нем виртуальную машину способную мигрировать с
одного сервера на другой.
17.1. На любом сервере, например, на server1 при помощи диспетчера Hyper-V (Hyper-V
Manager) создайте новую виртуальную машину. Все диски ВМ надо разместить на общем
томе кластера C:\ClusterStorage\Volume1. Так как количество оперативной памяти на
server1 невелико, то для создаваемой ВМ достаточно выделить 256 МБ. Этого количества
памяти должно хватить для проверки и тестирования. Устанавливать операционную си-
стему не надо.
17.2. После создания виртуальной машины откройте «Диспетчер отказоустойчивости
кластеров» (Failover Cluster Manager) и подключитесь к кластеру на данном сервере.
17.2.1. В левой части окна выберите созданный кластер TestClaster.test.local. В средней ча-
сти окна выберите пункт «Настроить роль» (Configure Role).
17.2.2. Откроется мастер настройки роли. Выберите роль «Виртуальная машина» (Virtual
Machine). В следующем окне выберите созданную виртуальную машину. Нажимайте
«Далее» до закрытия окна.
17.3. Запустите виртуальную машину, если она еще не запущена. Для этого надо в левой
части окна диспетчера отказоустойчивости кластеров надо выбрать пункт «Роли» (Roles),
в средней части окна надо выбрать ВМ, а в правой части окна нажать кнопки «Запустить»
и «Подключить». Так как операционная система не установлена, то ВМ будет пытаться
установить ОС с загрузочного диска.
13
17.4. Таким образом, запущенная виртуальная машина находиться в режиме высокой до-
ступности (High Available). Данный режим предполагает, что в случае выхода из строя
сервера, на котором располагается данная ВМ, виртуальная машина будет перезапущена
на другом доступном сервере, входящем в кластер и обладающим доступом к Cluster
Shared Volume. Также возможна ручная миграция виртуальной машины с одного хоста
виртуализации на другой для оптимизации использования ресурсов или по иным причи-
нам.
18. Полноценное управление виртуальными машинами, которые находятся в режиме высокой до-
ступности, возможно только из консоли диспетчер отказоустойчивости кластеров, и сильно
ограничено в консоли диспетчера Hyper-V. Осуществим миграции ВМ с одного хоста на дру-
гой.
18.1. Откройте Failover «Диспетчер отказоустойчивости кластеров» (Failover Cluster
Manager) и подключитесь к кластеру.
18.2. В левой части окна выберите пункт «Роли» (Roles).
18.3. Откройте контекстное меню ВМ, щелкнув по ней правой кнопкой мыши. Далее вы-
берите следующее «Переместить – Быстрая миграция – Выбрать узел» (Move – Quick
Migration – Select Node) или «Лучший из возможных узлов» (Best Possible Node). Ре-
жим Best Possible Node автоматически переместит ВМ на наименее загруженный хост, а
кнопка Select Node позволит вам самим выбрать хост для перемещения.
18.4. После выполнения команды убедитесь, что ВМ появилась на другом сервере.
18.5. Режим «Быстрая миграция» (Quick Migration) предполагает временную остановку
ВМ и перемещение её памяти на другой хост. На этом хосте продолжается выполнение
ВМ. Пункт меню «Динамическая миграция» (Live Migration) (рис. 10) позволяет пере-
мещать ВМ без остановки её работы, но данная возможность доступна лишь в доменной
среде и невозможна в рабочей группе.