Развертывание виртуальной локальной системы Azure версии 23H2
Область применения: Локальная версия Azure, версия 23H2
Внимание
Azure Stack HCI теперь является частью Azure Local. Выполняется переименование документации по продукту. Текстовые изменения завершены, а визуальные обновления будут завершены в ближайшее время. Подробнее.
В этой статье описывается развертывание виртуализированного локального экземпляра Azure с версией 23H2 в хост-системе под управлением Hyper-V в операционной системе Windows Server 2022, Windows 11 или более поздней версии (ОС).
Вам нужны права администратора для локального развертывания Azure и должны быть знакомы с существующим решением Azure Local. Развертывание может занять около 2,5 часа.
Внимание
Виртуальное развертывание Azure Local, версия 23H2 предназначена только для образовательных и демонстрационных целей. служба поддержки Майкрософт не поддерживает виртуальные развертывания.
Необходимые компоненты
Ниже приведены требования к оборудованию, сети и другим предварительным требованиям для виртуального развертывания:
Требования к физическому узлу
Ниже приведены минимальные требования для успешного развертывания Локальной версии Azure 23H2.
Перед тем как начать, убедитесь в следующем.
У вас есть доступ к физической системе узла под управлением Hyper-V в Windows Server 2022, Windows 11 или более поздней версии. Этот узел используется для подготовки виртуального локального развертывания Azure.
У вас достаточно емкости. Для выполнения фактических рабочих нагрузок, таких как виртуальные машины или контейнеры, требуется больше емкости.
Физическое оборудование, используемое для виртуального развертывания, соответствует следующим требованиям:
Компонент Минимальная конфигурация Процессор Intel VT-x или AMD-V с поддержкой вложенной виртуализации. Дополнительные сведения см. в разделе "Поддержка технологии виртуализации процессора Intel®?". Память Физический узел должен иметь не менее 32 ГБ ОЗУ для развертываний одного виртуального узла. Виртуальная виртуальная машина узла должна иметь не менее 24 ГБ ОЗУ.
Физический узел должен иметь не менее 64 ГБ ОЗУ для двух развертываний виртуальных узлов. Каждая виртуальная машина виртуального узла должна иметь не менее 24 ГБ ОЗУ.Сетевые адаптеры узла Один сетевой адаптер. Хранилище 1 ТБ Твердотельный накопитель (SSD).
Требования к виртуальному узлу
Перед началом работы убедитесь, что каждая система виртуального узла может выделить следующие ресурсы для подготовки виртуализированного локального экземпляра Azure:
Компонент | Требование |
---|---|
Тип виртуальной машины | Включена безопасная загрузка и доверенный модуль платформы (TPM). |
Число виртуальных ЦП | Четыре ядра. |
Память | Не менее 24 ГБ. |
Сеть | По крайней мере два сетевых адаптера, подключенных к внутренней сети. Подпуфинирование MAC должно быть включено. |
Загрузочный диск | Один диск для установки операционной системы Azure Stack HCI из ISO. |
Жесткие диски для Локальные дисковые пространства | Шесть динамических расширяющихся дисков. Максимальный размер диска составляет 1024 ГБ. |
Диск данных | По крайней мере 127 ГБ. |
Синхронизация времени в интеграции | Disabled. |
Примечание.
Это минимальные требования для успешного развертывания локальной версии Azure версии 23H2. Увеличьте емкость, например виртуальные ядра и память при выполнении фактических рабочих нагрузок, таких как виртуальные машины или контейнеры.
Настройка виртуального коммутатора
При развертывании локальной среды Azure в виртуальной среде можно использовать существующие сети и использовать IP-адреса из этой сети, если они доступны. В таком случае необходимо просто создать внешний коммутатор и подключить все виртуальные сетевые адаптеры к виртуальному коммутатору. Виртуальные узлы будут иметь подключение к физической сети без дополнительной настройки.
Однако если физическая сеть, в которой планируется развернуть локальную виртуальную среду Azure, не хватает IP-адресов, можно создать внутренний виртуальный коммутатор с включенным NAT, чтобы изолировать виртуальные узлы от физической сети при сохранении исходящего подключения к Интернету.
Ниже перечислены шаги для двух вариантов.
Развертывание с помощью внешнего виртуального коммутатора
На физическом компьютере узла выполните следующую команду PowerShell, чтобы создать внешний виртуальный коммутатор:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
Развертывание с помощью внутреннего виртуального коммутатора и NAT
На физическом компьютере узла выполните следующую команду PowerShell, чтобы создать внутренний виртуальный коммутатор. Использование этого параметра гарантирует изоляцию локального развертывания Azure.
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
Создание виртуального узла
Создайте виртуальную машину для обслуживания виртуального узла со следующей конфигурацией. Эту виртуальную машину можно создать с помощью диспетчера Hyper-V или PowerShell:
Диспетчер Hyper-V. Дополнительные сведения см. в статье "Создание виртуальной машины с помощью диспетчера 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
. Этот скрипт настраивает сетевой адаптер определенной виртуальной машины для работы в режиме магистрали. Обычно это используется в развертываниях с несколькими узлами, в которых требуется разрешить взаимодействие нескольких виртуальных сетей локальных сетей (VLA) через один сетевой адаптер:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
Создайте новый предохранитель ключа и назначьте его
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 и другие функции, требующие доверенного платформенного модуля на виртуальной машине. После выполнения этой команды будет включен vTPM,Node1
если оборудование хост-компьютера и конфигурация виртуальной машины поддерживают эту функцию.Enable-VmTpm -VMName "Node1"
Измените виртуальные процессоры на
8
:Set-VmProcessor -VMName "Node1" -Count 8
Создайте дополнительные диски, которые будут использоваться в качестве загрузочного диска и жестких дисков для Локальные дисковые пространства. После выполнения этих команд в каталоге будут созданы шесть новых виртуальных жестких дисков, как показано в
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
Подключите диски к вновь созданным виртуальным жестким дискам для виртуальной машины. В этих командах добавляются шесть виртуальных жестких жестких адресов, расположенных в каталоге
C:\vms\Node1
и именованном черезs2d1.vhdx
s2d6.vhdx
.Node1
КаждаяAdd-VMHardDiskDrive
команда добавляет один виртуальный жесткий диск к виртуальной машине, поэтому команда повторяется шесть раз с разными-Path
значениями параметров.После этого виртуальная
Node1
машина имеет шесть виртуальных жестких дисков, подключенных к нему. Эти VHDX используются для включения Локальные дисковые пространства на виртуальной машине, которые необходимы для локальных развертываний Azure: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 на виртуальных виртуальных машинах узла:
Скачайте программное обеспечение Azure Local 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 Local из Azure.
Повторите описанный выше процесс для дополнительных узлов, если планируется протестировать развертывания с несколькими узлами. Убедитесь, что имена виртуальных узлов и IP-адреса управления уникальны и находятся в одной подсети: