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
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](images/pattern-img/744c7937-c625-40d8-a858-e8fdcc2f6600/images/c4ffe8b3-d905-4bd6-8538-ecd57d01b8a7.png)
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
Tarefa | Descrição | Habilidades 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:
| Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Determinar as opções de migração. | Determine o seguinte:
Para obter mais informações sobre cada opção, consulte a documentação do desenvolvedor da VMware | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades 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 | Arquiteto de nuvem |
Definir as variáveis de migração. | Defina todas as configurações | Arquiteto de nuvem |
Especificar os sites. | (Opcional) Se a origem ou o destino tiver vários sites, especifique os sites manualmente na seção 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 |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar e preencher o arquivo .csv. | Crie um arquivo.csv chamado
Substitua cada 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:
| 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
Problema | Soluçã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
Migração de workloads para VMware Cloud na AWS com a extensão de nuvem híbrida (HCX) (publicação
no blog da AWS) Escolher uma abordagem de migração para realocar seus aplicativos e workloads dos aplicativos da VMware para a Nuvem AWS (Recomendações da AWS)
Migrar um SDDC VMware para o VMware Cloud na AWS usando o VMware HCX (Recomendações da AWS)
Conceitos básicos do módulo HCX
(publicação no blog da VMware)