Настройка узлов Hyper-V с помощью PowerShell

Опубликовано: 19 Апреля, 2023

Введение

Версии Microsoft Hyper-V до Windows Server 2012 не включали встроенный модуль Windows PowerShell для управления узлами Hyper-V и работающими на них виртуальными машинами. Чтобы восполнить этот недостаток, была разработана библиотека управления PowerShell для Hyper-V, которая размещена на CodePlex, бесплатном сайте Microsoft для размещения проектов с открытым исходным кодом. Эта библиотека PowerShell называется PSHyper-V и включает около 80 различных командлетов, которые администраторы могут использовать для управления Hyper-V в Windows Server 2008 R2. Позднее была выпущена отдельная версия этой библиотеки для Windows Server 2008 R2 с пакетом обновления 1 (SP1).

Начиная с Windows Server 2012, Microsoft теперь включает встроенный модуль PowerShell для Hyper-V, который предоставляет более сотни командлетов Windows PowerShell, которые можно использовать для управления как узлами Hyper-V, так и виртуальными машинами, работающими на этих узлах. Благодаря своей гибкости и поддержке автоматизации Windows PowerShell теперь является предпочтительным встроенным инструментом для управления узлами Hyper-V и виртуальными машинами в крупных средах, таких как центры обработки данных и среды облачных вычислений. В этой статье демонстрируются некоторые способы использования PowerShell для управления узлами Hyper-V под управлением Windows Server 2012 и более поздних версий с помощью командлетов, доступных во встроенном модуле PowerShell. Приведенные ниже пояснения и процедуры взяты из моей книги «Руководство по обучению: установка и настройка Windows Server 2012 R2» (Microsoft Press, 2014) и содержат дополнительную информацию, не представленную в этой статье.

Настройка хостов Hyper-V

После того, как вы установили роль Hyper-V на сервер, вам все равно нужно настроить роль в соответствии с потребностями вашей среды. Настройка узла Hyper-V включает следующие шаги:

  • Настройка хранилища виртуальной машины
  • Создание виртуальных коммутаторов
  • Выполнение других задач по настройке

Узлы Hyper-V также можно настроить с помощью оснастки диспетчера Hyper-V или командлетов Windows PowerShell. Чтобы просмотреть конфигурацию хоста с помощью оснастки «Диспетчер Hyper-V», щелкните правой кнопкой мыши хост в дереве консоли и выберите «Настройки Hyper-V», чтобы отобразить диалоговое окно «Настройки Hyper-V», показанное на снимках экрана в этом разделе.. Чтобы просмотреть конфигурацию хоста с помощью Windows PowerShell, используйте командлет Get-VMHost, как показано здесь:

PS C:> Get-VMHost -ComputerName HOST4
 
Имя LogicalProcessorCount MemoryCapacity(M) VirtualMachineMigrationEnabled
---- -------------------- ------------------ -------- ----------------------
HOST4 4 24570.2421875 Ложь
Чтобы просмотреть все параметры конфигурации, связанные с указанным узлом, передайте выходные данные предыдущей команды в командлет Format-List и укажите подстановочный знак:
PS C:> Get-VMHost -ComputerName HOST4 | Список форматов *
 
Имя компьютера: HOST4
VirtualHardDiskPath: C:UsersPublicDocumentsHyper-VVirtual Hard Disks
Путь к виртуальной машине: C:ProgramDataMicrosoftWindowsHyper-V
FullyQualifiedDomainName: WORKGROUP
Имя: ХОСТ4
MacAddressMinimum: 00155D0BE600
MacAddressMaximum: 00155D0BE6FF
МаксимумStorageMigrations: 2
Максимум виртуальных машинных миграций: 2
VirtualMachineMigrationEnabled: False
VirtualMachineMigrationAuthenticationType: CredSSP
Усеанинетворкформиграция: False
FibreChannelWwnn: C003FF0000FFFF00
FibreChannelWwpnMaximum: C003FF68F816FFFF
FibreChannelWwpnMinimum: C003FF68F8160000
Логикалпроцессоркаунт: 4
Емкость памяти: 25763766272
ResourceMeteringSaveInterval: 01:00:00
NumaSpanningEnabled: Истина
HostNumaStatus: {HOST4}
Статус Нумы:
Внутренние сетевые адаптеры: {Виртуальный коммутатор CONTOSO}
ExternalNetworkAdapters: {Виртуальный коммутатор CONTOSO_External}
IovSupport: Ложь
IovSupportReasons: {Убедитесь, что в системе установлен чипсет...

Обратите внимание, что конфигурация виртуальных коммутаторов на узле не включается в выходные данные командлета Get-VMHost. Чтобы просмотреть список виртуальных коммутаторов, созданных на узле, используйте командлет Get-VMSwitch, как показано здесь:

PS C:> Get-VMSwitch
 
Имя SwitchType NetAdapterInterfaceDescription
---- ---------- ----------------
Виртуальный коммутатор CONTOSO Внешний Gigabit Ethernet Broadcom NetXtreme #2

Чтобы просмотреть все свойства всех виртуальных коммутаторов на хосте, используйте следующую команду:

PS C:> Get-VMSwitch | Список форматов *
 
Имя компьютера: HOST4
Имя: Виртуальный коммутатор CONTOSO
Идентификатор: cffd5106-2735-4c54-b9e1-1cad8944e8c0
Заметки:
Тип переключателя: Внешний
AllowManagementOS: True
NetAdapterInterfaceОписание: Broadcom NetXtreme Gigabit Ethernet #2
Доступные очереди VM: 0
КоличествоVmqAllocated: 0
Айовенаблед: Ложь
IovVirtualFunctionCount: 0
IovVirtualFunctionsInUse: 0
IovQueuePairCount: 0
IovQueuePairsInUse: 0
ДоступноIPSecSA: 0
Номер IPSecSAAllocated: 0
Процент пропускной способности: 10
BandwidthReservationMode: Абсолютный
DefaultFlowMinimumBandwidthAbsolute: 10000000
DefaultFlowMinimumBandwidthWeight: 0
Расширения: {Microsoft NDIS Capture, Microsoft Windows Filtering Platform}
IovSupport: Ложь
IovSupportReasons: {Убедитесь, что система поддерживает набор микросхем...
IsDeleted: Ложь

Настройка хранилища виртуальной машины

На рис. 1 показано расположение по умолчанию, в котором хост Hyper-V хранит файлы виртуального жесткого диска для своих виртуальных машин. Такие файлы могут включать следующее:

  • VHD или VHDX, который может быть системным диском или диском данных для каждой виртуальной машины.
  • Файлы AVHD, которые представляют собой разностные файлы дисков, используемые для моментальных снимков виртуальной машины.

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

Рисунок 1: Настройка места, где будут храниться файлы виртуального жесткого диска.

Вы также можете использовать командлет Set-VMHost для настройки расположения виртуального жесткого диска с помощью Windows PowerShell. Например, вы можете использовать следующую команду, чтобы изменить местоположение виртуального жесткого диска на HOST4 на папку E:VM Storage:

Set-VMHost -ComputerName HOST4 -VirtualHardDiskPath «E:VM Storage»

На рис. 2 показано расположение по умолчанию, в котором хост Hyper-V хранит файлы конфигурации виртуальной машины. Такие файлы могут включать следующее:

  • Файлы XML с глобальным уникальным идентификатором (GUID), используемым для внутренней идентификации виртуальной машины или моментального снимка.
  • Файлы BIN, содержащие память виртуальной машины или моментального снимка
  • Файлы VSV, содержащие сохраненное состояние устройств, связанных с виртуальной машиной.

Рисунок 2: Настройка места, где будут храниться файлы конфигурации виртуальной машины.

Вы также можете использовать командлет Set-VMHost для настройки расположения файлов конфигурации виртуальной машины с помощью Windows PowerShell. Например, вы можете использовать следующую команду, чтобы изменить расположение файлов конфигурации виртуальной машины на HOST4 на папку E:VM Configurations:

Set-VMHost -ComputerName HOST4 -VirtualMachinePath «E:VM Configurations»

Создание виртуальных коммутаторов

На рис. 3 показана страница «Новый виртуальный сетевой коммутатор» диалогового окна «Диспетчер виртуальных коммутаторов» для хоста Hyper-V. Вы можете использовать эту страницу для создания виртуальных коммутаторов внешнего, внутреннего и частного типов.

Рисунок 3: Создание нового виртуального коммутатора в диспетчере Hyper-V.

Нажатие кнопки «Создать виртуальный коммутатор», показанное на рис. 3, создает новый виртуальный коммутатор выбранного типа (здесь — внешний), и свойства нового виртуального коммутатора теперь можно настроить, как показано на рис. 4. Ключевые свойства для настройки следующие::

  • Указание описательного имени для нового коммутатора
  • Выбор типа подключения (внешнее, внутреннее или частное), если вы решите изменить свой первоначальный выбор

Если вы выберете External в качестве типа подключения, вы должны назначить физический сетевой адаптер на узле новому коммутатору. В этом случае у вас также есть возможность разрешить операционной системе управления на хосте совместно использовать выбранный сетевой адаптер. Если вы используете отдельную физическую сеть для управления хостом, а хост имеет другой физический сетевой адаптер, подключенный к сети управления, вы можете снять флажок, показанный на рис. корневая виртуализация ввода-вывода (SR-IOV), если выбранный сетевой адаптер поддерживает эту функцию. SR-IOV описан далее в этой главе. Наконец, если вы используете виртуальные локальные сети (VLAN) для сегментации трафика в вашей производственной сети, вы можете включить эту функцию и указать здесь идентификатор VLAN.

Рисунок 4: Настройка нового виртуального коммутатора.

Обратите внимание, что при создании нового виртуального коммутатора типа «Внешний» также создается новое сетевое подключение в папке «Сетевые подключения» на сервере, которое можно отобразить с помощью утилиты «Сеть и Интернет» в Панели управления. Новое сетевое соединение обычно называется «vEthernet (<имя виртуального коммутатора>), а параметры TCP/IP, назначенные физическому сетевому адаптеру, связанному с коммутатором, становятся параметрами TCP/IP нового соединения.

Вы также можете использовать командлет New-VMSwitch для создания новых виртуальных коммутаторов с помощью Windows PowerShell. Например, для создания виртуального коммутатора CONTOSO, показанного на рис. 7-4, можно использовать следующую команду:

New-VMSwitch -Name «Виртуальный коммутатор CONTOSO» `

-NetAdapterName «Broadcom NetXtreme Gigabit Ethernet #2» -ComputerName HOST4

Чтобы получить справку по синтаксису этого командлета, используйте команду Get-Help New-VMSwitch.

Помимо создания и настройки виртуальных коммутаторов на хостах, вы также можете настроить диапазон адресов управления доступом к среде (MAC), которые хост может использовать для динамического назначения MAC-адресов виртуальным сетевым адаптерам виртуальных машин на хосте. На рис. 5 показан диапазон MAC-адресов по умолчанию, используемый для этой цели. Хотя этого диапазона по умолчанию может быть достаточно, когда развернуто всего несколько хостов, обычно рекомендуется назначать разные диапазоны MAC-адресов для каждого хоста, чтобы гарантировать, что дублирующиеся MAC-адреса не могут быть назначены виртуальным машинам на разных хостах, что может вызывать сетевые проблемы для гостевых операционных систем таких виртуальных машин.

Рисунок 5: Настройка диапазона MAC-адресов, которые хост может назначать виртуальным сетевым адаптерам.

Вы также можете использовать командлет Set-VMHost для настройки диапазона MAC-адресов, которые узел может назначать виртуальным сетевым адаптерам виртуальных машин на узле. Например, вы можете использовать следующую команду, чтобы изменить диапазон MAC-адресов на HOST4 с 00-00-04-00-00-00 на 00-00-04-FF-FF-FF:

Set-VMHost -ComputerName HOST4 -MacAddressMinimum 000004000000 `

-MacAddressMaximum 000004FFFFFF

Другие этапы настройки

Дополнительные шаги, необходимые для настройки хостов Hyper-V, зависят от того, какие типы функций вы хотите включить на них. Например, с помощью диалогового окна «Параметры Hyper-V» вы можете:

  • Включите динамическую миграцию на узле и настройте протокол аутентификации, используемый для динамической миграции, сколько живых миграций можно выполнять одновременно, а также какую сеть или IP-адрес можно использовать для входящих динамических миграций.
  • Настройте количество одновременных миграций хранилища, которые можно выполнить на хосте.
  • Включите функцию реплики Hyper-V на узле, а также протокол проверки подлинности и порты, используемые для репликации, а также укажите, будет ли разрешена репликация с любого сервера, прошедшего проверку подлинности, или из списка указанных серверов.
  • Включите охват NUMA — новую функцию Hyper-V в Windows Server 2012, которая позволяет виртуальным машинам охватывать узлы с неоднородной архитектурой памяти (NUMA) на узлах с поддержкой NUMA. NUMA spanning работает путем проецирования виртуальной топологии NUMA на гостевую операционную систему способом, оптимизированным для соответствия топологии NUMA базовой физической хост-машины. В результате виртуальные машины получают дополнительные вычислительные ресурсы для высокопроизводительных серверных приложений, таких как Microsoft SQL Server, и современных серверных операционных систем, таких как Windows Server 2012, которые включают встроенные оптимизации NUMA.

Вы также можете использовать Windows PowerShell для выполнения этих дополнительных действий по настройке на своих хостах. Например, вы можете использовать командлет Set-VMHost, чтобы включить динамическую миграцию, настроить его для использования CredSSP для проверки подлинности и разрешить входящие живые миграции с использованием любой доступной сети следующим образом:

Set-VMHost -VirtualMachineMigrationEnabled $true `

-VirtualMachineMigrationAuthenticationType CredSSp -UseAnyNetworkForMigration $true

Дополнительные ресурсы

Сведения о синтаксисе командлетов Hyper-V и примеры использования см. в разделе «Командлеты Hyper-V в Windows PowerShell».