Tutorial: Criar um laboratório baseado em VMs para o Azure Stack HCI

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

Neste tutorial, vai utilizar scripts do MSLab PowerShell para automatizar o processo de criação de uma floresta privada para executar o Azure Stack HCI em máquinas virtuais (VMs) com virtualização aninhada.

Importante

Uma vez que o Azure Stack HCI se destina a um anfitrião de virtualização onde executa todas as cargas de trabalho em VMs, a virtualização aninhada não é suportada em ambientes de produção. Utilize a virtualização aninhada apenas para fins de teste e avaliação.

Vai aprender a:

  • Criar uma floresta privada com um controlador de domínio e um servidor Windows Admin Center
  • Implementar várias VMs com o Azure Stack HCI para clustering

Depois de concluído, poderá criar um cluster do Azure Stack HCI com as VMs que implementou e utilizar o laboratório privado para prototipagem, teste, resolução de problemas ou avaliação.

Pré-requisitos

Para concluir este tutorial, precisa de:

  • Administração privilégios num servidor anfitrião Hyper-V com o Windows Server 2022, Windows Server 2019 ou Windows Server 2016
  • Pelo menos 8 GB de RAM
  • CPU com suporte de virtualização aninhada
  • Unidades de estado sólido (SSD)
  • 40 GB de espaço livre no servidor anfitrião Hyper-V
  • Uma conta do Azure para registar Windows Admin Center e o cluster

Preparar o laboratório

Prepare cuidadosamente o ambiente de laboratório ao seguir estas instruções.

Ligar ao anfitrião de virtualização

Ligue-se ao servidor físico no qual irá criar o laboratório baseado em VMs. Se estiver a utilizar um servidor remoto, ligue-se através do Ambiente de Trabalho Remoto.

Transferir o Azure Stack HCI

Pode transferir o SO HCI do Azure Stack a partir do portal do Azure. Para obter instruções de transferência, veja Transferir o sistema operativo Azure Stack HCI.

Transferir o Windows Server

Também precisará de uma cópia do Windows Server 2022, Windows Server 2019 ou Windows Server 2016 para o controlador de domínio e Windows Admin Center VMs. Pode utilizar um suporte de dados de avaliação ou, se tiver acesso a uma Subscrição do VL ou do Visual Studio, pode utilizá-los. Neste tutorial, vamos transferir uma cópia de avaliação.

Criar uma pasta para os ficheiros de laboratório

Crie uma pasta Lab na raiz da unidade C (ou onde preferir) e utilize Explorador de Ficheiros para copiar os ficheiros do SO que transferiu para a pasta C:\Lab\Isos.

Transferir scripts do MSLab

Ao utilizar o browser no seu servidor, transfira scripts do MSLab. O ficheiro zip wslab_vxx.xx.x.zip deve ser transferido automaticamente para o disco rígido. Copie o ficheiro zip para a localização do disco rígido (C:\Lab) e extraia os scripts.

Editar o script LabConfig

As VMs MSLab são definidas no script LabConfig.ps1 do PowerShell como uma tabela hash simples. Terá de personalizar o script para criar uma floresta privada com VMs do Azure Stack HCI.

Para editar o script, utilize Explorador de Ficheiros para navegar para C:\Lab\wslab_xxx\ e, em seguida, clique com o botão direito do rato no LabConfig.ps1. Selecione Editar, que abrirá o ficheiro com Windows PowerShell ISE.

Dica

Guarde a versão original do LabConfig.ps1 como Original_LabConfig.ps1, para que seja fácil recomeçar se precisar.

Repare que a maior parte do script é comentada; só terá de executar algumas linhas. Siga estes passos para personalizar o script para que produza a saída pretendida. Em alternativa, pode simplesmente copiar o bloco de código no final desta secção e substituir as linhas adequadas em LabConfig.

Para personalizar o script:

  1. Adicione o seguinte à primeira linha não consolidada de LabConfig.ps1 para indicar ao script onde localizar os ISOs, ativar a interface de serviço convidado e ativar o reencaminhamento de DNS no anfitrião: ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true; UseHostDnsAsForwarder=$true

  2. Altere o nome e a palavra-passe do administrador, se assim o desejar.

  3. Se planear criar vários laboratórios no mesmo servidor, altere Prefixo = "MSLab-" para utilizar um novo nome de Prefixo, como Lab1-. Vamos manter o prefixo MSLab predefinido para este tutorial.

  4. Comente a linha ForEach-Object predefinida para o Windows Server e remova a hashtag antes da linha ForEach-Object para o Azure Stack HCI para que o script crie VMs do Azure Stack HCI em vez de VMs do Windows Server para os nós de cluster.

  5. Por predefinição, o script cria um cluster de quatro nós. Se quiser alterar o número de VMs no cluster, substitua 1..4 por 1..2 ou 1..8, por exemplo. Lembre-se de que quanto mais VMs estiverem no cluster, maiores serão os requisitos de memória no servidor anfitrião.

  6. Adicionar NestedVirt=$true ; AdditionalNetworks=$True ao comando ForEach-Object e defina MemoryStartupBytes como 4GB.

  7. Adicione uma linha AdditionalNetworksConfig: $LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Sub-rede='255.255.255.0'}

  8. Adicione a seguinte linha para configurar um servidor de gestão de Windows Admin Center a executar o sistema operativo Windows Server Core para adicionar uma segunda NIC para que possa ligar a Windows Admin Center de fora da rede privada: $LabConfig.VMs += @{ VMName = "AdminCenter" ; ParentVHD = "Win2019Core_G2.vhdx"; MGMTNICs=2}

  9. Certifique-se de que guarda as alterações ao LabConfig.ps1.

As alterações às LabConfig.ps1 efetuadas nos passos acima refletem-se neste bloco de código:

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='LS1setup!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@() ; ServerISOFolder="C:\lab\isos" ; EnableGuestServiceInterface=$true ; UseHostDnsAsForwarder=$true }
# Windows Server 2019
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2019Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}
# Or Azure Stack HCI 
1..4 | ForEach-Object {$VMNames="AzSHCI"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB ; NestedVirt=$true ; AdditionalNetworks=$true }}
# Or Windows Server 2022
#1..4 | ForEach-Object {$VMNames="S2D"; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'Win2022Core_G2.vhdx'; SSDNumber = 0; SSDSize=800GB ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 512MB }}

$LabConfig.AdditionalNetworksConfig += @{ NetName = 'Converged'; NetAddress='10.0.1.'; NetVLAN='0'; Subnet='255.255.255.0'}

$LabConfig.VMs += @{ VMName = 'AdminCenter' ; ParentVHD = 'Win2019Core_G2.vhdx'; MGMTNICs=2}

Executar scripts do MSLab e criar discos principais

Os scripts do MSLab automatizam grande parte do processo de configuração do laboratório e convertem imagens ISO dos sistemas operativos em ficheiros VHD.

Executar o script Prereq

Navegue para C:\Lab\wslab_xxx\ e execute o script 1_Prereq.ps1 clicando com o botão direito do rato no ficheiro e selecionando Executar com o PowerShell. O script irá transferir os ficheiros necessários. Alguns ficheiros de exemplo serão colocados na pasta ToolsDisk e alguns scripts serão adicionados à pasta ParentDisks . Quando o script estiver concluído, pedir-lhe-á para premir Enter para continuar.

Nota

Poderá ter de alterar a política de execução de scripts no seu sistema para permitir scripts não assinados ao executar este cmdlet do PowerShell como administrador: Set-ExecutionPolicy -ExecutionPolicy Unrestricted

Criar os discos principais do Windows Server

O script2_CreateParentDisks.ps1 prepara discos rígidos virtuais (VHDs) para Windows Server e Server Core a partir do ficheiro ISO do sistema operativo e também prepara um controlador de domínio para implementação com todas as funções necessárias configuradas. Execute 2_CreateParentDisks.ps1 clicando com o botão direito do rato no ficheiro e selecionando Executar com o PowerShell.

Ser-lhe-á pedido que selecione níveis de telemetria; selecioneB para Básico ou F para Completo. O script também irá pedir o ficheiro ISO para o Windows Server 2019. Aponte-o para a localização para a qual copiou o ficheiro (C:\Labs\Isos). Se existirem vários ficheiros ISO na pasta, ser-lhe-á pedido que selecione o ISO que pretende utilizar. Selecione o ISO do Windows Server. Se lhe for pedido para formatar uma unidade, selecione N.

Aviso

Não selecione o ISO do Azure Stack HCI – irá criar o disco principal (VHD) do Azure Stack HCI na secção seguinte.

A criação dos discos principais pode demorar entre 1 e 2 horas, embora possa demorar muito menos tempo. Quando terminar, o script irá perguntar-lhe se os ficheiros desnecessários devem ser removidos. Se selecionar Y, este removerá os dois primeiros scripts porque já não são necessários. Prima Enter para continuar.

Criar o disco principal do Azure Stack HCI

Transfira a funçãoConvert-WindowsImage.ps1 para a pasta C:\Lab\wslab_xxx\ParentDisks comoConvert-WindowsImage.ps1. Em seguida, execute CreateParentDisk.ps1 como administrador. Escolha o ISO do Azure Stack HCI em C:\Labs\Isos e aceite o nome e o tamanho predefinidos.

A criação do disco principal demorará algum tempo. Quando a operação estiver concluída, ser-lhe-á pedido para iniciar as VMs. Não os inicie ainda - escreva N.

Implementar as VMs

Execute Deploy.ps1 clicando com o botão direito do rato e selecionando Executar com o PowerShell. O script demorará 10 a 15 minutos a ser concluído.

Instalar atualizações e software do sistema operativo

Agora que as VMs estão implementadas, terá de instalar as atualizações de segurança e o software necessário para gerir o laboratório.

Atualizar o controlador de domínio e Windows Admin Center VMs

Inicie sessão no anfitrião de virtualização e inicie o Gestor de Hyper-V. O controlador de domínio na sua floresta privada já deve estar em execução (MSLab-DC). Aceda a Máquinas Virtuais, selecione o controlador de domínio e ligue-se ao mesmo. Inicie sessão com o nome de utilizador e palavra-passe que especificou ou, se não os tiver alterado, utilize as predefinições: LabAdmin/LS1setup!

Instale as atualizações de segurança necessárias e reinicie a VM do controlador de domínio, se necessário. Esta operação poderá demorar algum tempo e poderá ter de reiniciar a VM várias vezes.

No Gestor de Hyper-V, inicie a VM Windows Admin Center (MSLab-AdminCenter), que está a executar o Server Core. Ligue-se ao mesmo, inicie sessão e escreva sconfig. Selecione transferir e instalar atualizações de segurança e reinicie, se necessário. Esta operação pode demorar algum tempo e poderá ter de reiniciar a VM e escrever sconfig várias vezes.

Instalar o Microsoft Edge no controlador de domínio

Precisará de um browser na VM do controlador de domínio para utilizar Windows Admin Center na sua floresta privada. É provável que o Internet Explorer seja bloqueado por razões de segurança, pelo que deve utilizar o Microsoft Edge. Se o Edge ainda não estiver instalado na VM do controlador de domínio, terá de instalá-lo.

Para instalar o Microsoft Edge, ligue-se à VM do controlador de domínio a partir do Gestor de Hyper-V e inicie uma sessão do PowerShell como administrador. Em seguida, execute o seguinte código para instalar e iniciar o Microsoft Edge.

#Install Edge
Start-BitsTransfer -Source "https://aka.ms/edge-msi" -Destination "$env:USERPROFILE\Downloads\MicrosoftEdgeEnterpriseX64.msi"
#Start install
Start-Process -Wait -Filepath msiexec.exe -Argumentlist "/i $env:UserProfile\Downloads\MicrosoftEdgeEnterpriseX64.msi /q"
#Start Edge
start microsoft-edge:

Instalar Windows Admin Center no modo de gateway

Com o Microsoft Edge na VM do controlador de domínio, transfira este script para a VM do controlador de domínio e guarde-o com uma extensão de ficheiro .ps1.

Clique com o botão direito do rato no ficheiro, selecione Editar com o PowerShell e altere o valor de $GatewayServerName na primeira linha para corresponder ao nome da VM do AdminCenter sem o prefixo (por exemplo, AdminCenter). Guarde o script e execute-o ao clicar com o botão direito do rato no ficheiro e selecionar Executar com o PowerShell.

Iniciar sessão no Windows Admin Center

Agora, deverá conseguir aceder ao Windows Admin Center a partir do Edge no DC:http://admincenter

O browser pode avisá-lo de que é uma ligação insegura ou insegura, mas não há problema em continuar.

Adicionar uma placa de rede acessível externamente (opcional)

Se o laboratório estiver numa rede privada, poderá querer adicionar um NIC acessível externamente à VM do AdminCenter para que possa ligar-se ao mesmo e gerir o laboratório a partir de fora da floresta privada. Para tal, utilize Windows Admin Center para ligar ao seu anfitrião de virtualização (e não ao controlador de domínio) e aceda a Máquinas > virtuais MSLab-AdminCenter > Redes de Definições>. Certifique-se de que tem um comutador virtual ligado à rede adequada. Procure Tipo de Comutador = Externo (como MSLab-LabSwitch-External). Em seguida, adicione/vincule uma NIC de VM a este comutador virtual externo. Certifique-se de que seleciona a caixa de verificação "Permitir que o SO de gestão partilhe estes adaptadores de rede".

Tome nota dos endereços IP das placas de rede na VM do AdminCenter. Acrescente :443 ao endereço IP da NIC acessível externamente e deverá conseguir iniciar sessão no Windows Admin Center e criar e gerir o cluster a partir de um browser externo, como:https://10.217.XX.XXX:443

Instalar atualizações do sistema operativo nas VMs do Azure Stack HCI

Inicie as VMs do Azure Stack HCI com o Gestor de Hyper-V no anfitrião de virtualização. Ligue-se a cada VM e transfira e instale atualizações de segurança com o Sconfig em cada uma delas. Poderá ter de reiniciar as VMs várias vezes. (Pode ignorar este passo se preferir instalar as atualizações do SO mais tarde como parte do assistente de criação de clusters).

Ativar a função Hyper-V nas VMs do Azure Stack HCI

Se as VMs do cluster estiverem a executar o Azure Stack HCI 20H2, terá de executar um script para ativar a função Hyper-V nas VMs. Guarde este script em C:\Lab no anfitrião de virtualização como PreviewWorkaround.ps1.

Clique com o botão direito do rato no ficheiro PreviewWorkaround.ps1 e selecione Editar com o PowerShell. Altere as variáveis $domainName, $domainAdmin e $nodeName se não corresponderem, tais como:

$domainName = "corp.contoso.com"
$domainAdmin = "$domainName\labadmin"
$nodeName = "MSLab-AzSHCI1","MSLab-AzSHCI2","MSLab-AzSHCI3","MSLab-AzSHCI4"

Guarde as alterações e, em seguida, abra uma sessão do PowerShell como administrador e execute o script:

PS C:\Lab> ./PreviewWorkaround.ps1

O script demorará algum tempo a ser executado, especialmente se tiver criado muitas VMs. Deverá ver a mensagem "MSLab-AzSHCI1 MSLab-AzSHCI2 está agora online. A continuar para instalar o PowerShell do Hyper-V." Se o script parecer fixar depois de apresentar a mensagem, prima Enter para a reativar. Quando terminar, deverá ver: "MSLab-AzSHCI1 MSLab-AzSHCI2 está agora online. Avance para o passo seguinte..."

Adicionar adaptadores de rede adicionais (opcional)

Consoante a forma como pretende utilizar o cluster, poderá querer adicionar mais algumas placas de rede a cada VM do Azure Stack HCI para testes mais versáteis. Para tal, ligue-se ao servidor anfitrião com Windows Admin Center e aceda a Redes de Definições > msLab-(nó) > de máquinas > virtuais. Certifique-se de que seleciona Ativar Avançadas > Spoofing de Endereços MAC. Se esta definição não estiver ativada, poderá deparar-se com falhas nos testes de conectividade ao tentar criar um cluster.

Registar Windows Admin Center no Azure

Ligue-se a Windows Admin Center na sua floresta privada com o URL externo ou com o Edge no controlador de domínio e registe Windows Admin Center com o Azure.

Limpar os recursos

Se tiver selecionado Y para limpar ficheiros e pastas desnecessários, a limpeza já está concluída. Se preferir fazê-lo manualmente, navegue para C:\Labs e elimine quaisquer ficheiros desnecessários.

Passos seguintes

Agora, está pronto para avançar para o Assistente de Criação de Clusters.