Migrar VMs VMware com HCX Automation usando PowerCLI - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Migrar VMs VMware com HCX Automation usando PowerCLI

Criado por Giri Nadiminty (AWS), Hassan Adekoya (AWS) e Naveen Deshwal

Ambiente: produção

Origem: VMware vCenter ou SDDC on-premises ou baseado em nuvem

Destino: VMware Cloud na AWS

Tipo R: redefinir a hospedagem

Workload: todas as outras workloads

Tecnologias: migração; nuvem híbrida

Serviços da AWS: VMware Cloud na AWS

Resumo

Aviso: a partir de 30 de abril de 2024, o VMware Cloud on não AWS é mais revendido AWS nem por seus parceiros de canal. O serviço continuará disponível pela Broadcom. Recomendamos que você entre em contato com seu AWS representante para obter detalhes.

Esse padrão descreve como migrar máquinas virtuais (VMs) on-premises da VMware para o VMware Cloud na AWS usando a automação da VMware Hybrid Cloud Extension (HCX) baseada em scripts VMware PowerCLI. O PowerCLI é uma ferramenta de linha de comando criada no Windows. PowerShell Ele ajuda você a gerenciar o software VMware e automatiza as tarefas de infraestrutura e migração.

Você pode adaptar esse padrão para migração entre qualquer combinação de vCenters, datacenters definidos por software (SDDCs) e ambientes em nuvem. Os scripts PowerCLI incluídos nesse padrão usam automação em vez de cliques do mouse para todas as tarefas de configuração e agendamento da VM, portanto, proporcionam economia de tempo nas atividades de migração e ajudam a reduzir o risco de erro humano.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta do VMware Cloud na AWS com SDDC

  • Um vCenter ou SDDC existente on-premises ou baseado na nuvem

  • Uma conta de usuário com as permissões necessárias para vCenters ou SDDCs de origem e destino

  • Emparelhamento de sites HCX com extensão de rede HCX (HCX-NE) configurada entre vCenters ou SDDCs de origem e destino

  • VMware PowerCLI instalado no servidor de sua escolha

Limitações

  • Se o vCenter de origem usar o Cross-vCenter NSX, o módulo PowerCLI não funcionará. Use um método de script (como Python) com a API HCX em vez do PowerCLI.

  • Se as VMs migradas precisarem de novos nomes ou endereços IP, use um método de script (como Python) com a API HCX.

  • Este padrão não preenche o arquivo.csv, o que é obrigatório. Você pode preencher o arquivo usando o VMware vRealize Network Insight (vRNi) ou algum outro método.

Versões do produto

  • VMware vSphere versão 5 ou superior

  • VMware vSphere versão 4.4 ou superior

  • VMware vSphere versão 12.7 ou superior

Arquitetura

Pilha de tecnologia de origem

  • VMware on-premises ou baseado em nuvem

Pilha de tecnologias de destino

  • VMware Cloud na AWS

Arquitetura de destino

Migração de VMs para a AWS com HCX Automation e PowerCLI

Ferramentas

Serviços da AWS

  • O VMware Cloud na AWS é um serviço desenvolvido em conjunto pela AWS e a VMware para ajudar você a migrar e estender seus ambientes on-premises baseados no VMware vSphere para a Nuvem AWS.

Outras ferramentas

  • O VMware Hybrid Cloud Extension (HCX) é um utilitário para migrar workloads do seu ambiente VMware on-premises para o VMware Cloud na AWS sem alterar a plataforma subjacente. Observação: esse produto era conhecido anteriormente como Hybrid Cloud Extension e NSX Hybrid Connect. Esse padrão usa HCX para migração de VM.

  • O VMware PowerCLI é uma ferramenta de linha de comando para automatizar o gerenciamento do VMware vSphere e do vCloud. Você executa comandos PowerCLI no Windows PowerShell usando PowerShell cmdlets. Esse padrão usa o PowerCLI para executar comandos de migração.

Código

Script simples e independente

Recomendamos que você use esse script de máquina única para testes iniciais, para verificar se as opções de configuração são aceitas e se comportam conforme o esperado. Para obter instruções, consulte a seção Épicos.

<# Manual Variables #> $HcxServer = "[enterValue]" $SrcNetworkName = "[enterValue]" $DstNetworkName = "[enterValue]" $DstComputeName = "[enterValue]" $DstDSName = "[enterValue]" $DstFolderName = "[enterValue]" $vmName = "[enterValue]" <# Environment Setup #> Connect-HCXServer -Server $HcxServer $HcxDstSite = Get-HCXSite -Destination $HcxSrcSite = Get-HCXSite -Source $SrcNetwork = Get-HCXNetwork -Name $SrcNetworkName -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork -Name $DstNetworkName -Type NsxtSegment -Site $HcxDstSite $DstCompute = Get-HCXContainer -Name $DstComputeName -Site $HcxDstSite $DstDS = Get-HCXDatastore -Name $DstDSName -Site $HcxDstSite $DstFolder = Get-HCXContainer -name $DstFolderName -Site $HcxDstSite $vm = Get-HCXVM -Name $vmName <# Migration #> $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM $vm -MigrationType vMotion -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDS -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True

Script completo baseado em .csv

Depois que o teste for concluído, você poderá usar o script a seguir em seus ambientes de produção. Para obter instruções, consulte a seção Épicos.

<# Schedule #> write-host("Getting Time for Scheduling") $startTime = [DateTime]::Now.AddDays(12) $endTime = [DateTime]::Now.AddDays(15) <# Migration #> Connect-HCXServer -Server [enterValue] write-host("Getting Source Site") $HcxSrcSite = Get-HCXSite write-host("Getting Target Site") $HcxDstSite = Get-HCXSite -Destination $HCXVMS = Import-CSV .\Import_VM_list.csv ForEach ($HCXVM in $HCXVMS) { $DstFolder = Get-HCXContainer $HCXVM.DESTINATION_VM_FOLDER -Site $HcxDstSite $DstCompute = Get-HCXContainer $HCXVM.DESTINATION_COMPUTE -Site $HcxDstSite $DstDatastore = Get-HCXDatastore $HCXVM.DESTINATION_DATASTORE -Site $HcxDstSite $SrcNetwork = Get-HCXNetwork $HCXVM.SOURCE_NETWORK -Type VirtualWire -Site $HcxSrcSite $DstNetwork = Get-HCXNetwork $HCXVM.DESTINATION_NETWORK -Type NsxtSegment -Site $HcxDstSite $NetworkMapping = New-HCXNetworkMapping -SourceNetwork $SrcNetwork -DestinationNetwork $DstNetwork $NewMigration = New-HCXMigration -VM (Get-HCXVM $HCXVM.VM_NAME) -MigrationType Bulk -SourceSite $HcxSrcSite -DestinationSite $HcxDstSite -Folder $DstFolder -TargetComputeContainer $DstCompute -TargetDatastore $DstDatastore -NetworkMapping $NetworkMapping -DiskProvisionType Thin -UpgradeVMTools $True -RemoveISOs $True -ForcePowerOffVm $True -RetainMac $True -UpgradeHardware $True -RemoveSnapshots $True -ScheduleStartTime $startTime -ScheduleEndTime $endTime Start-HCXMigration -Migration $NewMigration -Confirm:$false }

Épicos

TarefaDescriçãoHabilidades necessárias

Encontrar os nomes dos servidores vCenter e SDDC de origem e destino.

Os scripts do PowerCLI exigem as variáveis descritas neste épico. Você pode coletar essas informações com antecedência para facilitar o uso do script.

Na seção HCX do console vSphere, escolha Infraestrutura, Emparelhamento de site. Anote os nomes dos servidores de origem e destino que são exibidos.

Arquiteto de nuvem

Encontrar os nomes dos HCX de origem e destino.

Na seção HCX do console vSphere, escolha Sistema, Administração. Anote os nomes dos HCX de origem e destino que são exibidos.

Arquiteto de nuvem

Encontrar os nomes das redes de origem e destino.

Na seção HCX do console vSphere, escolha Sistema, Extensão de rede. Anote os nomes da rede de origem e destino.

Nota: Como alternativa, você pode obter os nomes da rede de origem e destino usando os comandos Get-HCXNetwork e Get-HCXNetwork-Destination do PowerCLI depois de se conectar ao servidor HCX.

Arquiteto de nuvem

Reunir informações adicionais no console do vSphere.

No console do vSphere, colete as seguintes informações:

  • Nomes das VMs que você deseja migrar

  • Ambiente computacional de destino (cluster/host)

  • Datastore de destino

  • Nome da pasta da VM de destino

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Determinar as opções de migração.

Determine o seguinte:

  • MigrationType: os tipos de migração assistida por HCX são vMotion, bulk, cold e RAV. Sua escolha depende dos requisitos de tempo de inatividade, da largura de banda da rede, do período de migração e do tipo de workload. Para obter mais informações, consulte a publicação do blog da AWS Migrar workloads para a VMware Cloud na AWS com Hybrid Cloud Extension (HCX).

  • DiskProvisionType (Thin, Thick)

  • UpgradeVMTools ($True, $False)

  • RemoveISOs ($True, $False)

  • ForcePowerOffVm ($True, $False)

  • RetainMac ($True, $False)

  • UpgradeHardware ($True, $False)

  • RemoveSnapshots ($True, $False)

Para obter mais informações sobre cada opção, consulte a documentação do desenvolvedor da VMware.

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Copiar o script.

A versão simples do script é independente em um único arquivo. Você pode usá-lo para testar a migração de uma única máquina.

Copie o primeiro script da seção Código desse padrão e armazene-o no computador que tem o módulo VMware PowerCLI instalado. (Para instalar PowerCLI, siga as instruções na documentação da VMware.)

Arquiteto de nuvem

Definir as variáveis do script.

Defina todas as variáveis na seção Manual Variables do script.

Arquiteto de nuvem

Definir as variáveis de migração.

Defina todas as configurações New-HCXMigration na seção Migration do script.

Arquiteto de nuvem

Especificar os sites.

(Opcional) Se a origem ou o destino tiver vários sites, especifique os sites manualmente na seção Environment Setup do script.

Se a origem e o destino tiverem sites únicos, o script pesquisará automaticamente as informações.

Arquiteto de nuvem

Executar o script.

No servidor em que o PowerCLI está instalado, em uma PowerShell janela elevada, execute o script e insira suas credenciais quando solicitado.

Arquiteto de nuvem

Validar o script.

Confirme se a migração da VM foi iniciada.

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Criar e preencher o arquivo .csv.

Crie um arquivo.csv chamado Import_VM_list.csv em seu computador e preencha-o com o seguinte conteúdo de amostra:

VM_NAME,DESTINATION_VM_FOLDER,DESTINATION_COMPUTE,DESTINATION_DATASTORE,SOURCE_NETWORK,DESTINATION_NETWORK [enterValue],[enterValue],[enterValue],[enterValue],[enterValue],[enterValue]

Substitua cada [enterValue] no arquivo.csv pelas informações coletadas anteriormente.

Observação:Você pode preencher o arquivo .csv usando o VMware vRealize Network Insight (vRNi) ou algum outro método.

Arquiteto de nuvem

Copiar o script.

A versão completa do script usa informações de um arquivo.csv externo para migrar automaticamente várias VMs.

Copie o segundo script da seção Código desse padrão e armazene-o no computador que tem o módulo VMware PowerCLI instalado, na mesma pasta que o arquivo .csv.

Arquiteto de nuvem

Modificar o script.

Edite o script para fazer as seguintes alterações:

  • Linha 7: defina a variável do servidor HCX (Connect-HCXServer).

  • Linha 12: (opcional) se você definiu o nome do arquivo.csv de forma diferente, atualize-o.

  • Linhas 3-4: (opcional) defina o cronograma.

  • Linha 20: (opcional) especifique as configurações New-HCXMigration na seção Migration.

  • Linhas 9 e 11: (opcional) se a origem ou o destino incluir vários sites, especifique os sites desejados manualmente.

Arquiteto de nuvem

Executar o script.

No servidor em que o PowerCLI está instalado, em uma PowerShell janela elevada, execute o script e insira suas credenciais quando solicitado.

Arquiteto de nuvem

Validar o script.

Confirme se a migração da VM foi iniciada.

Arquiteto de nuvem

Solução de problemas

ProblemaSolução

O script falha com a mensagem de erro:

“Todas as redes de origem não estão mapeadas para o destino!”

Se o vCenter de origem usar o Cross-vCenter NSX, o módulo PowerCLI não funcionará. Use um método de script (como Python) com a API HCX em vez do PowerCLI. Essa é uma limitação conhecida do script PowerCLI.

O script falha com a mensagem de erro: 

“Erro do Connect-HCXServer: não autorizado”

As credenciais que você inseriu não fornecem as permissões necessárias.

Recursos relacionados