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:
Gestor de Hyper-V. Para obter mais informações, veja Create uma máquina virtual com o Gestor de Hyper-V para espelhar a sua rede de gestão física.
Cmdlets do PowerShell. Certifique-se de que ajusta os parâmetros de configuração da VM referenciados nos Requisitos do anfitrião virtual antes de executar os cmdlets do PowerShell.
Siga estes passos para criar uma VM de exemplo com o nome Node1
com cmdlets do PowerShell:
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"
Desativar a memória dinâmica:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
Desativar pontos de verificação de VM:
Set-VM -VMName "Node1" -CheckpointType Disabled
Remova o adaptador de rede predefinido criado durante a criação da VM no passo anterior:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
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
eStorage
, 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"
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"
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
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
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
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"
Altere os processadores virtuais para
8
:Set-VmProcessor -VMName "Node1" -Count 8
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
Anexe unidades aos VHDXs recentemente criados para a VM. Nestes comandos, são adicionados seis
Node1
VHDs localizados no diretório e com oC:\vms\Node1
nomes2d1.vhdx
atravéss2d6.vhdx
de . CadaAdd-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"
Desativar a sincronização de tempo:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
Ativar virtualização aninhada:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
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:
Transfira o ISO do Azure Stack HCI 23H2 e Instale o sistema operativo Azure Stack HCI.
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.
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í.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).
Altere o nome do anfitrião para
Node1
. Utilize a opção2
noComputer 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.No anfitrião físico, execute os
Get-VMNetworkAdapter
cmdlets eForEach-Object
para configurar os quatro nomes das placas de rede para a VMNode1
ao mapear os endereços MAC atribuídos para os adaptadores de rede correspondentes no SO convidado.- 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. AMacAddress
propriedade do objeto de placa de rede é então acedida para obter o endereço MAC:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
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, oInsert
método do objeto de cadeia é utilizado para inserir um hífen na 2ª, 5ª, 8ª, 11ª e 14ª posições na cadeia. Emjoin
seguida, o operador é utilizado para concatenar a matriz resultante de cadeias numa única cadeia com espaços entre cada elemento.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).
- 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
- O
Obtenha as credenciais de administrador local da VM e, em seguida, mude o
Node1
nomeNode1
:$cred = get-credential
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 oRename-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
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}
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 oNIC1
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"}
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 }
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}
Assim que o servidor anfitrião virtual estiver pronto, tem de registá-lo e atribuir permissões no Azure como um recurso do Arc.
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: