Развертывание виртуальной системы Azure Stack HCI версии 23H2
Область применения: Azure Stack HCI, версия 23H2
В этой статье описывается развертывание виртуализированного отдельного сервера или многоузлового azure Stack HCI версии 23H2 в хост-системе под управлением Hyper-V в операционной системе Windows Server 2022, Windows 11 или более поздней версии.
Вам требуются права администратора для виртуального развертывания Azure Stack HCI и вы должны быть знакомы с существующим решением Azure Stack HCI. Развертывание может занять около 2,5 часов.
Важно!
Виртуальное развертывание Azure Stack HCI версии 23H2 предназначено только для образовательных и демонстрационных целей. служба поддержки Майкрософт не поддерживает виртуальные развертывания.
Предварительные требования
Ниже приведены требования к оборудованию, сети и другим предварительным требованиям для виртуального развертывания.
Требования к физическому узлу
Ниже приведены минимальные требования для успешного развертывания Azure Stack HCI версии 23H2.
Перед тем как начать, убедитесь в следующем.
У вас есть доступ к физической системе узла, работающей под управлением Hyper-V в Windows Server 2022, Windows 11 или более поздней версии. Этот узел используется для подготовки виртуального развертывания Azure Stack HCI.
У вас достаточно емкости. Для выполнения фактических рабочих нагрузок, таких как виртуальные машины или контейнеры, требуется больше емкости.
Физическое оборудование, используемое для виртуального развертывания, соответствует следующим требованиям.
Компонент Минимальные Процессор Intel VT-x или AMD-V с поддержкой вложенной виртуализации. Дополнительные сведения см. в разделе Поддерживает ли мой процессор технологию виртуализации Intel®?. Память Физический узел должен иметь не менее 32 ГБ ОЗУ для развертывания с одним виртуальным узлом. Виртуальная машина узла должна иметь не менее 24 ГБ ОЗУ.
Физический узел должен иметь не менее 64 ГБ ОЗУ для двух развертываний виртуальных узлов. Каждая виртуальная машина виртуального узла должна иметь не менее 24 ГБ ОЗУ.Сетевые адаптеры узла Один сетевой адаптер. Память Твердотельный накопитель (SSD) размером 1 ТБ.
Требования к виртуальному узлу
Прежде чем начать, убедитесь, что каждая виртуальная хост-система может выделить следующие ресурсы для подготовки виртуализированной системы Azure Stack HCI:
Компонент | Требование |
---|---|
Тип виртуальной машины | Безопасная загрузка и доверенный платформенный модуль (TPM) включены. |
Число виртуальных ЦП | Четыре ядра. |
Память | Не менее 24 ГБ. |
Сеть | По крайней мере два сетевых адаптера, подключенных к внутренней сети. Спуфингов mac должен быть включен. |
Загрузочный диск | Один диск для установки операционной системы Azure Stack HCI из ISO. |
Жесткие диски для Локальные дисковые пространства | Шесть динамических расширяющихся дисков. Максимальный размер диска — 1024 ГБ. |
Диск данных | Не менее 127 ГБ. |
Синхронизация времени в интеграции | Отключено. |
Примечание
Ниже приведены минимальные требования для успешного развертывания Azure Stack HCI версии 23H2. Увеличьте емкость, например виртуальные ядра и память, при выполнении фактических рабочих нагрузок, таких как виртуальные машины или контейнеры.
Настройка виртуального коммутатора
При развертывании Azure Stack HCI в виртуальной среде можно использовать существующие сети и IP-адреса из этой сети, если они доступны. В этом случае достаточно создать внешний коммутатор и подключить к нему все виртуальные сетевые адаптеры. Виртуальные узлы будут иметь подключение к физической сети без дополнительной настройки.
Однако если в вашей физической сети, в которой планируется развернуть виртуальную среду Azure Stack HCI, недостаточно IP-адресов, можно создать внутренний виртуальный коммутатор с включенным сетевым сетевым подключением, чтобы изолировать виртуальные узлы от физической сети, сохраняя при этом исходящие подключения к Интернету.
Ниже перечислены шаги для двух вариантов.
Развертывание с помощью внешнего виртуального коммутатора
На физическом хост-компьютере выполните следующую команду PowerShell, чтобы создать внешний виртуальный коммутатор:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
Развертывание с внутренним виртуальным коммутатором и включенным NAT
На физическом хост-компьютере выполните следующую команду PowerShell, чтобы создать внутренний виртуальный коммутатор. Использование этого параметра гарантирует изоляцию развертывания Azure Stack HCI.
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
После создания внутреннего виртуального коммутатора на узле создается новый сетевой адаптер. Чтобы стать шлюзом по умолчанию виртуальных узлов после подключения к этой внутренней сети коммутатора, необходимо назначить этому сетевому адаптеру IP-адрес. Кроме того, необходимо определить подсеть сети NAT, в которой подключены виртуальные узлы.
Следующий пример скрипта создает сеть HCINAT
NAT с префиксом 192.168.44.0/24
и определяет 192.168.44.1
IP-адрес в качестве шлюза по умолчанию для сети с помощью интерфейса на узле:
#Check interface index of the new network adapter on the host connected to InternalSwitch:
Get-NetAdapter -Name "vEthernet (InternalSwitch)"
#Create the NAT default gateway IP on top of the InternalSwitch network adapter:
New-NetIPAddress -IPAddress 192.168.44.1 -PrefixLength 24 -InterfaceAlias "vEthernet (InternalSwitch)"
#Create the NAT network:
New-NetNat -Name "HCINAT"-InternalIPInterfaceAddressPrefix 192.168.44.0/24
Create виртуального узла
Create виртуальную машину в качестве виртуального узла со следующей конфигурацией. Эту виртуальную машину можно создать с помощью диспетчера Hyper-V или PowerShell:
Диспетчер Hyper-V. Дополнительные сведения см. в статье Create виртуальной машины с помощью диспетчера Hyper-V для зеркало физической сети управления.
Командлеты PowerShell. Перед выполнением командлетов PowerShell обязательно измените параметры конфигурации виртуальной машины, указанные в разделе Требования к виртуальному узлу .
Выполните следующие действия, чтобы создать пример виртуальной машины с именем Node1
с помощью командлетов PowerShell.
Создайте виртуальную машину:
New-VHD -Path "your_VHDX_path" -SizeBytes 127GB New-VM -Name Node1 -MemoryStartupBytes 20GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
Отключить динамическую память:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
Отключение контрольных точек виртуальной машины:
Set-VM -VMName "Node1" -CheckpointType Disabled
Удалите сетевой адаптер по умолчанию, созданный во время создания виртуальной машины на предыдущем шаге:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
Добавьте новые сетевые адаптеры на виртуальную машину с помощью пользовательских имен. В этом примере добавляется четыре сетевых адаптера, но при необходимости можно добавить только две. Наличие четырех сетевых адаптеров позволяет протестировать два сетевых намерения (
Mgmt_Compute
иStorage
, например, с двумя сетевыми адаптерами).Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
Подключите все сетевые адаптеры к виртуальному коммутатору. Укажите имя созданного виртуального коммутатора, будь то внешний без NAT или внутренний с NAT:
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
Включите спуфингой MAC на всех сетевых адаптерах на виртуальной машине
Node1
. Спуфинг MAC-адресов — это метод, который позволяет сетевому адаптеру маскироваться под другого, изменяя свой mac-адрес контроль доступа (Media контроль доступа). Это необходимо в сценариях, в которых планируется использовать вложенную виртуализацию:Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
Включите магистральный порт (только для развертываний с несколькими узлами) для всех сетевых адаптеров на виртуальной машине
Node1
. Этот скрипт настраивает сетевой адаптер конкретной виртуальной машины для работы в режиме магистрали. Обычно это используется в развертываниях с несколькими узлами, где требуется разрешить нескольким виртуальным локальным сетям (VLAN) обмениваться данными через один сетевой адаптер:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
Create новый предохранитель ключа и назначьте
Node1
его . Обычно это делается в контексте настройки защищенной структуры в Hyper-V, функции безопасности, которая защищает виртуальные машины от несанкционированного доступа или незаконного изменения.После выполнения следующего скрипта
Node1
ему будет назначен новый предохранитель ключа. Этот предохранитель ключа защищает ключи виртуальной машины, помогая защитить виртуальную машину от несанкционированного доступа или незаконного изменения.$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
Включите vTPM для
Node1
. Включив vTPM на виртуальной машине, вы можете использовать BitLocker и другие функции, требующие TPM на виртуальной машине. После выполненияNode1
этой команды будет включен vTPM при условии, что оборудование главного компьютера и конфигурация виртуальной машины поддерживают эту функцию.Enable-VmTpm -VMName "Node1"
Измените виртуальные процессоры на
8
:Set-VmProcessor -VMName "Node1" -Count 8
Create дополнительные диски, которые будут использоваться в качестве загрузочного диска и жестких дисков для Локальные дисковые пространства. После выполнения этих команд в
C:\vms\Node1
каталоге будут созданы шесть новых VHDX- файлов, как показано в следующем примере:new-VHD -Path "C:\vms\Node1\s2d1.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d2.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d3.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d4.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d5.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d6.vhdx" -SizeBytes 1024GB
Подключите диски к вновь созданным VHDX-файлам для виртуальной машины. В этих командах в добавляются шесть виртуальных жестких диска, расположенных в
C:\vms\Node1
каталоге и именованныеs2d1.vhdx
Node1
черезs2d6.vhdx
. КаждаяAdd-VMHardDiskDrive
команда добавляет один виртуальный жесткий диск к виртуальной машине, поэтому команда повторяется шесть раз с разными-Path
значениями параметров.После этого к виртуальной
Node1
машине подключено шесть виртуальных жестких дисков. Эти VHDX-диски используются для включения Локальные дисковые пространства на виртуальной машине, которые необходимы для развертываний Azure Stack HCI:Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d1.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d2.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d3.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d4.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d5.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d6.vhdx"
Отключить синхронизацию времени:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
Включите вложенную виртуализацию:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
Запустите виртуальную машину:
Start-VM "Node1"
Установка ОС на виртуальных машинах узла
Выполните следующие действия, чтобы установить и настроить ОС Azure Stack HCI на виртуальных машинах узла.
Скачайте ISO-файл Azure Stack HCI 23H2 и установите операционную систему Azure Stack HCI.
Обновите пароль, так как это первый запуск виртуальной машины. Убедитесь, что пароль соответствует требованиям к сложности Azure. Пароль содержит не менее 12 символов и включает в себя 1 прописный, 1 нижний регистр, 1 цифру и 1 специальный символ.
После изменения пароля автоматически загружается средство настройки сервера (SConfig). Выберите параметр
15
, чтобы выйти из командной строки и выполнить следующие шаги.Запустите SConfig, выполнив следующую команду:
SConfig
Сведения об использовании SConfig см. в статье Настройка с помощью средства настройки сервера (SConfig).
Измените имя узла на
Node1
. Для этого используйте параметр2
дляComputer name
в SConfig.Изменение имени узла приводит к перезапуску. При появлении запроса на перезагрузку введите
Yes
и дождитесь завершения перезагрузки. SConfig снова запускается автоматически.На физическом узле выполните
Get-VMNetworkAdapter
командлеты иForEach-Object
, чтобы настроить четыре имени сетевых адаптеров для виртуальной машиныNode1
, сопоставив назначенные MAC-адреса с соответствующими сетевыми адаптерами в гостевой ОС.- Командлет
Get-VMNetworkAdapter
используется для получения объекта сетевого адаптера для каждой сетевой карты на виртуальной машине, где-VMName
параметр указывает имя виртуальной машины, а-Name
параметр указывает имя сетевого адаптера. ЗатемMacAddress
осуществляется доступ к свойству объекта сетевого адаптера для получения MAC-адреса:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
MAC-адрес — это строка шестнадцатеричных чисел. Командлет
ForEach-Object
используется для форматирования этой строки путем вставки дефисов через определенные интервалы. В частности,Insert
метод строкового объекта используется для вставки дефиса во 2-й, 5-й, 8-й, 11-й и 14-й позициях строки. Затемjoin
оператор используется для объединения результирующего массива строк в одну строку с пробелами между каждым элементом.Команды повторяются для каждого из четырех сетевых адаптеров на виртуальной машине, а окончательный форматированный MAC-адрес для каждой сетевой карты хранится в отдельной переменной:
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- Следующий скрипт выводит окончательный отформатированный MAC-адрес для каждой сетевой карты:
$Node1macNIC1 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1" $Node1macNIC1.MacAddress $Node1finalmacNIC1=$Node1macNIC1.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC1 $Node1macNIC2 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC2" $Node1macNIC2.MacAddress $Node1finalmacNIC2=$Node1macNIC2.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC2 $Node1macNIC3 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC3" $Node1macNIC3.MacAddress $Node1finalmacNIC3=$Node1macNIC3.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC3 $Node1macNIC4 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC4" $Node1macNIC4.MacAddress $Node1finalmacNIC4=$Node1macNIC4.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC4
- Командлет
Получите учетные данные локального
Node1
администратора виртуальной машины, а затем переименуйтеNode1
:$cred = get-credential
Переименуйте сетевые карты и сопоставьте их в
Node1
. Переименование основано на MAC-адресах сетевых адаптеров, назначенных Hyper-V при первом запуске виртуальной машины. Эти команды следует выполнять непосредственно с узла:Get-NetAdapter
Используйте команду , чтобы получить физические сетевые адаптеры на виртуальной машине, отфильтровать их по ИХ MAC-адресу, а затем переименуйте их в соответствующий адаптер с помощью командлетаRename-NetAdapter
.Это повторяется для каждой из четырех сетевых карт на виртуальной машине с MAC-адресом и новым именем каждой сетевой карты, указанными отдельно. Это устанавливает сопоставление между именами сетевых адаптеров в диспетчере Hyper-V и именами сетевых адаптеров в ОС виртуальной машины:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC1) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC1} | Rename-NetAdapter -NewName "NIC1"} -ArgumentList $Node1finalmacNIC1 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC2) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC2} | Rename-NetAdapter -NewName "NIC2"} -ArgumentList $Node1finalmacNIC2 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC3) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC3} | Rename-NetAdapter -NewName "NIC3"} -ArgumentList $Node1finalmacNIC3 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC4) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC4} | Rename-NetAdapter -NewName "NIC4"} -ArgumentList $Node1finalmacNIC4
Отключите протокол DHCP на четырех сетевых картах для виртуальной машины
Node1
, выполнив следующие команды.Примечание
Интерфейсы не будут автоматически получать IP-адреса с DHCP-сервера. Вместо этого им потребуется назначить IP-адреса вручную:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC1" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC2" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC3" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC4" -Dhcp Disabled}
Задайте IP-адрес управления, шлюз и DNS. После выполнения
Node1
следующих команд в сетевом интерфейсе будетNIC1
настроен указанный IP-адрес, маска подсети, шлюз по умолчанию и адрес DNS-сервера. Убедитесь, что IP-адрес управления может разрешать Active Directory и имеет исходящее подключение к Интернету:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {New-NetIPAddress -InterfaceAlias "NIC1" -IPAddress "192.168.44.201" -PrefixLength 24 -AddressFamily IPv4 -DefaultGateway "192.168.44.1"} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-DnsClientServerAddress -InterfaceAlias "NIC1" -ServerAddresses "192.168.1.254"}
Включите роль Hyper-V. Эта команда перезапускает виртуальную машину
Node1
:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
После
Node1
перезапуска и установки роли Hyper-V установите средства управления Hyper-V:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
После того как виртуальный сервер узла будет готов, необходимо зарегистрировать его и назначить разрешения в Azure в качестве ресурса Arc.
После регистрации сервера в Azure в качестве ресурса Arc и установки всех обязательных расширений выберите один из следующих способов развертывания Azure Stack HCI из Azure.
Повторите описанную выше процедуру для дополнительных узлов, если вы планируете тестировать развертывания с несколькими узлами. Убедитесь, что имена виртуальных узлов и IP-адреса управления уникальны и находятся в одной подсети: