Partilhar via


Implementar um sistema virtual do Azure Stack HCI, versão 23H2

Aplica-se a: Azure Stack HCI, versão 23H2

Este artigo descreve como implementar um servidor único virtualizado ou um Azure Stack HCI de vários nós, versão 23H2, num sistema anfitrião com Hyper-V no Windows Server 2022, Windows 11 ou sistema operativo (SO) posterior.

Precisa de privilégios de administrador para a implementação virtual do Azure Stack HCI e deve estar familiarizado com a solução existente do Azure Stack HCI. A implementação pode demorar cerca de 2,5 horas a concluir.

Importante

Uma implementação virtual do Azure Stack HCI, versão 23H2 destina-se apenas a fins educativos e de demonstração. Suporte da Microsoft não suporta implementações virtuais.

Pré-requisitos

Seguem-se os pré-requisitos de hardware, rede e outros pré-requisitos para a implementação virtual:

Requisitos do anfitrião físico

Seguem-se os requisitos mínimos para implementar com êxito o Azure Stack HCI, versão 23H2.

Antes de começar, certifique-se de que:

  • Tem acesso a um sistema anfitrião físico que está a executar o Hyper-V no Windows Server 2022, Windows 11 ou posterior. Este anfitrião é utilizado para aprovisionar uma implementação virtual do Azure Stack HCI.

  • Tem capacidade suficiente. É necessária mais capacidade para executar cargas de trabalho reais, como máquinas virtuais ou contentores.

  • O hardware físico utilizado para a implementação virtual cumpre os seguintes requisitos:

    Componente Mínimo
    Processador Intel VT-x ou AMD-V, com suporte para virtualização aninhada. Para obter mais informações, veja O meu processador suporta tecnologia de virtualização Intel®?.
    Memória O anfitrião físico tem de ter um mínimo de 32 GB de RAM para implementações de nós virtuais individuais. A VM do anfitrião virtual deve ter, pelo menos, 24 GB de RAM.

    O anfitrião físico tem de ter um mínimo de 64 GB de RAM para duas implementações de nós virtuais. Cada VM de anfitrião virtual deve ter, pelo menos, 24 GB de RAM.
    Placas de rede de anfitrião Uma única placa de rede.
    Armazenamento Unidade de estado sólido (SSD) de 1 TB.

Requisitos do anfitrião virtual

Antes de começar, certifique-se de que cada sistema anfitrião virtual pode dedicar os seguintes recursos para aprovisionar o seu sistema virtualizado do Azure Stack HCI:

Componente Requisito
Tipo de máquina virtual (VM) Arranque Seguro e TPM (Trusted Platform Module) ativados.
vCPUs Quatro núcleos.
Memória Um mínimo de 24 GB.
Rede Pelo menos dois adaptadores de rede ligados à rede interna. O spoofing mac tem de estar ativado.
Disco de arranque Um disco para instalar o sistema operativo Azure Stack HCI a partir do ISO.
Discos rígidos para Espaços de Armazenamento Direto Seis discos de expansão dinâmicos. O tamanho máximo do disco é de 1024 GB.
Disco de dados Pelo menos 127 GB.
Sincronização de tempo na integração Desativado.

Nota

Estes são os requisitos mínimos para implementar com êxito o Azure Stack HCI, versão 23H2. Aumente a capacidade, como núcleos virtuais e memória ao executar cargas de trabalho reais, como máquinas virtuais ou contentores.

Configurar o comutador virtual

Ao implementar o Azure Stack HCI num ambiente virtual, pode utilizar as suas redes existentes e utilizar endereços IP dessa rede, se estiverem disponíveis. Nesse caso, só precisa de criar um comutador externo e ligar todos os adaptadores de rede virtual a esse comutador virtual. Os anfitriões virtuais terão conectividade à sua rede física sem qualquer configuração adicional.

No entanto, se a sua rede física onde planeia implementar o ambiente virtual do Azure Stack HCI for escassa em IPs, pode criar um comutador virtual interno com NAT ativado, para isolar os anfitriões virtuais da sua rede física, mantendo a conectividade de saída à Internet.

Segue-se uma lista dos passos para as duas opções:

Implementar com comutador virtual externo

No computador anfitrião físico, execute o seguinte comando do PowerShell para criar um comutador virtual externo:

New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true

Implementar com comutador virtual interno e NAT ativado

No computador anfitrião físico, execute o seguinte comando do PowerShell para criar um comutador virtual interno. A utilização deste comutador garante que a implementação do Azure Stack HCI está isolada.

New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name" 

Assim que o comutador virtual interno for criado, é criado um novo adaptador de rede no anfitrião. Tem de atribuir um endereço IP a esta placa de rede para se tornar o gateway predefinido dos anfitriões virtuais uma vez ligados a esta rede de comutadores internos. Também tem de definir a sub-rede de rede NAT onde os anfitriões virtuais estão ligados.

O script de exemplo seguinte cria uma rede HCINAT NAT com prefixo 192.168.44.0/24 e define o 192.168.44.1 IP como o gateway predefinido para a rede com a interface no anfitrião:

#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 o anfitrião virtual

Create uma VM para servir como anfitrião virtual com a seguinte configuração. Pode criar esta VM com o Gestor de Hyper-V ou o PowerShell:

Siga estes passos para criar uma VM de exemplo com o nome Node1 com cmdlets do PowerShell:

  1. Criar a VM:

    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. Desativar a memória dinâmica:

    Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
    
  3. Desativar pontos de verificação de VM:

    Set-VM -VMName "Node1" -CheckpointType Disabled
    
  4. Remova o adaptador de rede predefinido criado durante a criação da VM no passo anterior:

    Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
    
  5. Adicione novos adaptadores de rede à VM com nomes personalizados. Este exemplo adiciona quatro NICs, mas pode adicionar apenas dois, se necessário. Ter quatro NICs permite-lhe testar duas intenções de rede (Mgmt_Compute e Storage , por exemplo) com duas NICs cada:

    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. Anexe todos os adaptadores de rede ao comutador virtual. Especifique o nome do comutador virtual que criou, se foi externo sem NAT ou interno com NAT:

    Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
    
  7. Ative o spoofing mac em todos os adaptadores de rede na VM Node1. O spoofing de endereços MAC é uma técnica que permite que um adaptador de rede se disfarça de outro, alterando o respetivo endereço Controlo de Acesso multimédia (MAC). Isto é necessário em cenários em que planeia utilizar a virtualização aninhada:

    Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
    
  8. Ative a porta de ramal (apenas para implementações de vários nós) para todos os adaptadores de rede na VM Node1. Este script configura o adaptador de rede de uma VM específica para funcionar no modo de ramal. Normalmente, isto é utilizado em implementações de vários nós em que pretende permitir que várias Redes Locais Virtuais (VLANs) comuniquem através de uma única placa de rede:

    Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
    
  9. Create um novo protetor de chaves e atribuí-lo a Node1. Normalmente, isto é feito no contexto da configuração de um recurso de infraestrutura protegido no Hyper-V, uma funcionalidade de segurança que protege as VMs de acesso não autorizado ou adulteração.

    Depois de o script seguinte ser executado, Node1 terá um novo protetor de chaves atribuído ao mesmo. Este protetor de chaves protege as chaves da VM, ajudando a proteger a VM contra acesso não autorizado ou adulteração:

    $owner = Get-HgsGuardian UntrustedGuardian
    $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot
    Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
    
  10. Ative o vTPM para Node1. Ao ativar o vTPM numa VM, pode utilizar o BitLocker e outras funcionalidades que necessitam de TPM na VM. Após a execução deste comando, Node1 terá um vTPM ativado, partindo do princípio de que o hardware do computador anfitrião e a configuração da VM suportam esta funcionalidade.

    Enable-VmTpm -VMName "Node1"
    
  11. Altere os processadores virtuais para 8:

     Set-VmProcessor -VMName "Node1" -Count 8
    
  12. Create unidades adicionais a serem utilizadas como disco de arranque e discos rígidos para Espaços de Armazenamento Direto. Após a execução destes comandos, serão criados seis VHDX novos no C:\vms\Node1 diretório, conforme mostrado neste exemplo:

     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. Anexe unidades aos VHDXs recentemente criados para a VM. Nestes comandos, são adicionados seis Node1VHDs localizados no diretório e com o C:\vms\Node1 nome s2d1.vhdx através s2d6.vhdx de . Cada Add-VMHardDiskDrive comando adiciona um VHD à VM, pelo que o comando é repetido seis vezes com valores de parâmetros diferentes -Path .

    Posteriormente, a Node1 VM tem seis VHDs ligados à mesma. Estes VHDXs são utilizados para ativar Espaços de Armazenamento Direto na VM, que são necessárias para implementações do 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"
    
  14. Desativar a sincronização de tempo:

    Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
    
  15. Ativar virtualização aninhada:

    Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
    
  16. Inicie a VM:

    Start-VM "Node1"
    

Instalar o SO nas VMs do anfitrião virtual

Conclua os seguintes passos para instalar e configurar o SO do Azure Stack HCI nas VMs do anfitrião virtual:

  1. Transfira o ISO do Azure Stack HCI 23H2 e Instale o sistema operativo Azure Stack HCI.

  2. Atualize a palavra-passe, uma vez que este é o primeiro arranque da VM. Certifique-se de que a palavra-passe cumpre os requisitos de complexidade do Azure. A palavra-passe tem, pelo menos, 12 carateres e inclui 1 caráter em maiúscula, 1 caráter em minúsculas, 1 número e 1 caráter especial.

  3. Após a alteração da palavra-passe, a Ferramenta de Configuração do Servidor (SConfig) é carregada automaticamente. Selecione a opção 15 para sair para a linha de comandos e executar os passos seguintes a partir daí.

  4. Inicie o SConfig ao executar o seguinte comando:

      SConfig
    

    Para obter informações sobre como utilizar o SConfig, veja Configurar com a ferramenta de Configuração do Servidor (SConfig).

  5. Altere o nome do anfitrião para Node1. Utilize a opção 2 no Computer name SConfig para o fazer.

    A alteração do nome do anfitrião resulta num reinício. Quando lhe for pedido para reiniciar, introduza Yes e aguarde que o reinício seja concluído. O SConfig é iniciado novamente automaticamente.

  6. No anfitrião físico, execute os Get-VMNetworkAdapter cmdlets e ForEach-Object para configurar os quatro nomes das placas de rede para a VM Node1 ao mapear os endereços MAC atribuídos para os adaptadores de rede correspondentes no SO convidado.

    1. O Get-VMNetworkAdapter cmdlet é utilizado para obter o objeto de placa de rede para cada NIC na VM, onde o -VMName parâmetro especifica o nome da VM e o -Name parâmetro especifica o nome da placa de rede. A MacAddress propriedade do objeto de placa de rede é então acedida para obter o endereço MAC:
    Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
    
    1. O endereço MAC é uma cadeia de números hexadecimais. O ForEach-Object cmdlet é utilizado para formatar esta cadeia ao inserir hífenes em intervalos específicos. Especificamente, o Insert método do objeto de cadeia é utilizado para inserir um hífen na 2ª, 5ª, 8ª, 11ª e 14ª posições na cadeia. Em join seguida, o operador é utilizado para concatenar a matriz resultante de cadeias numa única cadeia com espaços entre cada elemento.

    2. Os comandos são repetidos para cada um dos quatro NICs na VM e o endereço MAC formatado final para cada NIC é armazenado numa variável separada:

    ($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
    
    1. O script seguinte produz o endereço MAC formatado final para cada NIC:
    $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. Obtenha as credenciais de administrador local da VM e, em seguida, mude o Node1 nome Node1:

    $cred = get-credential
    
  8. Mude o nome e mapeie as NICs em Node1. A mudança de nome baseia-se nos endereços MAC dos NICs atribuídos pelo Hyper-V quando a VM é iniciada pela primeira vez. Estes comandos devem ser executados diretamente a partir do anfitrião:

    Utilize o Get-NetAdapter comando para obter os adaptadores de rede físicos na VM, filtre-os com base no respetivo endereço MAC e, em seguida, mude o nome para o adaptador correspondente com o Rename-NetAdapter cmdlet .

    Isto é repetido para cada um dos quatro NICs na VM, com o endereço MAC e o novo nome de cada NIC especificados separadamente. Isto estabelece um mapeamento entre o nome das NICs no Gestor de Hyper-V e o nome dos NICs no SO da VM:

    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. Desative o Protocolo DHCP (Dynamic Host Configuration Protocol) nos quatro NICs da VM Node1 ao executar os seguintes comandos.

    Nota

    As interfaces não obtêm automaticamente endereços IP a partir de um servidor DHCP e, em vez disso, precisam de ter endereços IP atribuídos manualmente aos mesmos:

    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. Defina o IP de gestão, o gateway e o DNS. Após a execução dos seguintes comandos, Node1 a interface de rede será configurada com o endereço IP especificado, a máscara de sub-rede, o gateway predefinido e o NIC1 endereço do servidor DNS. Certifique-se de que o endereço IP de gestão consegue resolver o Active Directory e tem conectividade de saída à Internet:

    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. Ative a função Hyper-V. Este comando reinicia a VM Node1:

    Invoke-Command -VMName "Node1"
    -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
    
  12. Depois de Node1 reiniciar e a função Hyper-V estar instalada, instale as Ferramentas de Gestão do Hyper-V:

    Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
    
  13. Assim que o servidor anfitrião virtual estiver pronto, tem de registá-lo e atribuir permissões no Azure como um recurso do Arc.

  14. Assim que o servidor estiver registado no Azure como um recurso do Arc e todas as extensões obrigatórias estiverem instaladas, escolha um dos seguintes métodos para implementar o Azure Stack HCI a partir do Azure.

Repita o processo acima para nós adicionais se planear testar implementações de vários nós. Confirme que os nomes de anfitriões virtuais e os IPs de gestão são exclusivos e na mesma sub-rede:

Passos seguintes