Развертывание виртуальной системы 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-адресов, можно создать внутренний виртуальный коммутатор с включенным NAT, чтобы изолировать виртуальные узлы от физической сети, сохраняя при этом исходящие подключения к Интернету.
Ниже перечислены шаги для этих двух вариантов.
Развертывание с помощью внешнего виртуального коммутатора
На физическом хост-компьютере выполните следующую команду 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-адрес контроль доступа мультимедиа. Это необходимо в сценариях, в которых вы планируете использовать вложенную виртуализацию: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 и другие функции, которым требуется доверенный платформенный модуль на виртуальной машине. После выполненияNode1
этой команды будет включен vTPM при условии, что оборудование главного компьютера и конфигурация виртуальной машины поддерживают эту функцию.Enable-VmTpm -VMName "Node1"
Измените виртуальные процессоры на
8
:Set-VmProcessor -VMName "Node1" -Count 8
Create дополнительные диски, которые будут использоваться в качестве загрузочного диска и жестких дисков для Локальные дисковые пространства. После выполнения этих команд в
C:\vms\Node1
каталоге будут созданы шесть виртуальных жестких дисков, как показано в этом примере: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-адреса управления уникальны и находятся в одной подсети:
Дальнейшие действия
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по