Поделиться через


Развертывание виртуальной локальной системы 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:

Выполните следующие действия, чтобы создать пример виртуальной машины с именем Node1 с помощью командлетов PowerShell:

  1. Создайте виртуальную машину:

    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"
    
  2. Отключите динамическую память:

    Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
    
  3. Отключите контрольные точки виртуальной машины:

    Set-VM -VMName "Node1" -CheckpointType Disabled
    
  4. Удалите сетевой адаптер по умолчанию, созданный во время создания виртуальной машины на предыдущем шаге:

    Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
    
  5. Добавьте новые сетевые адаптеры на виртуальную машину с помощью пользовательских имен. В этом примере добавляются четыре сетевых адаптера, но при необходимости можно добавить только два. Наличие четырех сетевых адаптеров позволяет протестировать два сетевых намерения (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"
    
  6. Подключите все сетевые адаптеры к виртуальному коммутатору. Укажите имя созданного виртуального коммутатора, будь то внешний без NAT или внутренний с помощью NAT:

    Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
    
  7. Включите подпуфинирование MAC для всех сетевых адаптеров на виртуальной машине Node1. Спуфинг MAC-адреса — это метод, позволяющий сетевому адаптеру маскироваться как другой, изменив его адрес контроль доступа мультимедиа (MAC). Это необходимо в сценариях, когда планируется использовать вложенную виртуализацию:

    Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
    
  8. Включите порт магистрали (только для развертываний с несколькими узлами) для всех сетевых адаптеров на виртуальной машине Node1. Этот скрипт настраивает сетевой адаптер определенной виртуальной машины для работы в режиме магистрали. Обычно это используется в развертываниях с несколькими узлами, в которых требуется разрешить взаимодействие нескольких виртуальных сетей локальных сетей (VLA) через один сетевой адаптер:

    Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
    
  9. Создайте новый предохранитель ключа и назначьте его Node1. Обычно это делается в контексте настройки защищенной структуры в Hyper-V, функции безопасности, которая защищает виртуальные машины от несанкционированного доступа или изменения.

    После выполнения Node1 следующего скрипта будет назначен новый средство защиты ключей. Этот средство защиты ключей защищает ключи виртуальной машины, помогая защитить виртуальную машину от несанкционированного доступа или изменения:

    $owner = Get-HgsGuardian UntrustedGuardian
    $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot
    Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
    
  10. Включите vTPM для Node1. Включив vTPM на виртуальной машине, вы можете использовать BitLocker и другие функции, требующие доверенного платформенного модуля на виртуальной машине. После выполнения этой команды будет включен vTPM, Node1 если оборудование хост-компьютера и конфигурация виртуальной машины поддерживают эту функцию.

    Enable-VmTpm -VMName "Node1"
    
  11. Измените виртуальные процессоры на 8:

     Set-VmProcessor -VMName "Node1" -Count 8
    
  12. Создайте дополнительные диски, которые будут использоваться в качестве загрузочного диска и жестких дисков для Локальные дисковые пространства. После выполнения этих команд в каталоге будут созданы шесть новых виртуальных жестких дисков, как показано в 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
    
  13. Подключите диски к вновь созданным виртуальным жестким дискам для виртуальной машины. В этих командах добавляются шесть виртуальных жестких жестких адресов, расположенных в каталоге 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"
    
  14. Отключить синхронизацию времени:

    Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
    
  15. Включите вложенную виртуализацию:

    Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
    
  16. Запустите виртуальную машину:

    Start-VM "Node1"
    

Установка ОС на виртуальных машинах узла

Выполните следующие действия, чтобы установить и настроить ОС Azure Stack HCI на виртуальных виртуальных машинах узла:

  1. Скачайте программное обеспечение Azure Local 23H2 и установите операционную систему Azure Stack HCI.

  2. Обновите пароль, так как это первый запуск виртуальной машины. Убедитесь, что пароль соответствует требованиям к сложности Azure. Пароль составляет не менее 12 символов и содержит 1 прописный знак, 1 строчные буквы, 1 номер и 1 специальный символ.

  3. После изменения пароля средство настройки сервера (SConfig) автоматически загружается. Выберите вариант 15 выхода из командной строки и выполните следующие действия.

  4. Запустите SConfig, выполнив следующую команду:

      SConfig
    

    Сведения об использовании SConfig см. в разделе "Настройка с помощью средства настройки сервера" (SConfig).

  5. Измените имя Node1узла на . Используйте параметр 2 Computer name для этого в SConfig.

    Изменение имени узла приводит к перезапуску. При появлении запроса на перезапуск введите Yes и дождитесь завершения перезапуска. SConfig запускается автоматически.

  6. На физическом узле запустите Get-VMNetworkAdapter и ForEach-Object командлеты, чтобы настроить четыре имена сетевых адаптеров для виртуальной машины Node1 , сопоставив назначенные MAC-адреса с соответствующими сетевыми адаптерами в гостевой ОС.

    1. Командлет Get-VMNetworkAdapter используется для получения объекта сетевого адаптера для каждой сетевой карты на виртуальной машине, где -VMName параметр задает имя виртуальной машины, а -Name параметр указывает имя сетевого адаптера. Затем MacAddress получает доступ к свойству объекта сетевого адаптера, чтобы получить MAC-адрес:
    Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
    
    1. MAC-адрес — это строка шестнадцатеричных чисел. Командлет ForEach-Object используется для форматирования этой строки путем вставки дефисов через определенные интервалы. В частности, Insert метод строкового объекта используется для вставки дефиса на 2-е, 5-е, 8-е, 11-е и 14-е позиции в строке. Затем join оператор используется для объединения результирующего массива строк в одну строку с пробелами между каждым элементом.

    2. Команды повторяются для каждого из четырех сетевых адаптеров на виртуальной машине, а окончательный отформатированный MAC-адрес для каждой сетевой карты хранится в отдельной переменной:

    ($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
    
    1. Следующий скрипт выводит окончательный отформатированный 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
    
  7. Получите учетные данные локального администратора виртуальной Node1 машины и переименуйте:Node1

    $cred = get-credential
    
  8. Переименуйте и сопоставийте сетевые адаптеры 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
    
  9. Отключите протокол конфигурации динамического узла (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}
    
  10. Задайте 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"}
    
  11. Включите роль Hyper-V. Эта команда перезапускает виртуальную машину Node1:

    Invoke-Command -VMName "Node1"
    -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
    
  12. После Node1 перезагрузки и установки роли Hyper-V установите средства управления Hyper-V:

    Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
    
  13. После готовности виртуальной хост-машины необходимо зарегистрировать ее и назначить разрешения в Azure в качестве ресурса Arc.

  14. После регистрации компьютера в Azure в качестве ресурса Arc и всех обязательных расширений выберите один из следующих методов для развертывания Azure Local из Azure.

Повторите описанный выше процесс для дополнительных узлов, если планируется протестировать развертывания с несколькими узлами. Убедитесь, что имена виртуальных узлов и IP-адреса управления уникальны и находятся в одной подсети:

Следующие шаги