Dimensionar a migração de VMs do VMware
Este artigo ajuda você a entender como usar scripts para migrar um grande número de VMs (máquinas virtuais) do VMware usando o método sem agente. Para dimensionar as migrações, use o módulo Migrações para Azure do PowerShell.
Observação
Essa documentação do cenário de migração de VMware de ponta a ponta está atualmente em versão prévia. Para obter mais informações sobre como usar as Migrações para Azure, consulte a documentação do produto das Migrações para Azure.
Os scripts de automação de migração do VMware das Migrações para Azure estão disponíveis para download no repositório de Exemplos do Azure PowerShell no GitHub. Os scripts podem ser usados para migrar VMs do VMware para o Azure usando o método de migração sem agente. Os comandos das Migrações para Azure do PowerShell usados nesses scripts estão documentados aqui.
Limitações atuais
- Esses scripts dão suporte à migração de VMs do VMware com todos os discos. Você pode atualizar os scripts se quiser replicar seletivamente os discos anexados a uma VM do VMware.
- Os scripts dão suporte ao uso de recomendações de avaliação. Se as recomendações de avaliação não forem usadas, todos os discos anexados à VM do VMware serão migrados para o mesmo tipo de disco gerenciado (Standard ou Premium). Você pode atualizar os scripts se quiser usar vários tipos de discos gerenciados com a mesma VM.
Pré-requisitos
- Concluir o tutorial de descoberta para preparar o Azure e o VMware para migração.
- Recomendamos que você conclua o segundo tutorial para avaliar as VMs VMware antes de migrá-las para o Azure.
- Você precisa ter o módulo
Az
do Azure PowerShell. Se precisar instalar ou atualizar o Azure PowerShell, siga este guia para instalar e configurar o Azure PowerShell.
Instalar o módulo do PowerShell das Migrações para Azure
O módulo do PowerShell das Migrações para Azure está disponível em versão prévia. Você precisará instalar o módulo do PowerShell usando o comando a seguir.
Install-Module -Name Az.Migrate
Arquivo de entrada CSV
Depois que todos os pré-requisitos forem concluídos, você precisa criar um arquivo CSV que contenha os dados para cada VM de origem que você deseja migrar. Todos os scripts são desenvolvidos para trabalhar no mesmo arquivo CSV. Um modelo de CSV de exemplo está disponível na pasta de scripts para sua referência. O arquivo CSV é configurável para que você possa usar as recomendações de avaliação e até mesmo especificar se determinadas operações não devem ser disparadas para uma VM específica.
Observação
O mesmo arquivo CSV pode ser usado para migrar VMs em vários projetos das Migrações para Azure.
Esquema de arquivo CSV
Cabeçalho de Coluna | Descrição |
---|---|
AZMIGRATEPROJECT_SUBSCRIPTION_ID | Forneça a ID da assinatura do projeto das Migrações para Azure. |
AZMIGRATEPROJECT_RESOURCE_GROUP_NAME | Forneça o nome do grupo de recursos das Migrações para Azure. |
AZMIGRATEPROJECT_NAME | Forneça o nome do projeto das Migrações para Azure no qual você deseja migrar servidores. |
SOURCE_MACHINE_NAME | Forneça um nome amigável (nome de exibição) para a VM descoberta no projeto das Migrações para Azure. |
AZMIGRATEASSESSMENT_NAME | Forneça o nome da avaliação que precisa ser aproveitada para a migração. |
AZMIGRATEGROUP_NAME | Forneça o nome do grupo que foi usado para a avaliação das Migrações para Azure. |
TARGET_RESOURCE_GROUP_NAME | Forneça o nome do grupo de recursos do Azure para o qual a VM precisa ser migrada. |
TARGET_VNET_NAME | Forneça o nome da rede virtual do Azure que a VM migrada deve usar. |
TARGET_SUBNET_NAME | Forneça o nome da sub-rede na rede virtual de destino que a VM migrada deve usar. Se for deixado em branco, a sub-rede "padrão" será usada. |
TARGET_MACHINE_NAME | Forneça o nome que a VM migrada deve usar no Azure. Se for deixado em branco, o nome da máquina de origem será usado. |
TARGET_MACHINE_SIZE | Forneça a SKU (Unidade de Manutenção de Estoque) que a VM deve usar no Azure. Para migrar uma VM para a VM D2_v2 no Azure, especifique o valor neste campo como "Standard_D2_v2". Se você usar uma avaliação, esse valor será derivado com base na recomendação de avaliação. |
LICENSE_TYPE | Especifique se deseja usar o Benefício Híbrido do Azure para VMs do Windows Server. Use o valor "WindowsServer" para aproveitar o Benefício Híbrido do Azure. Caso contrário, deixe em branco ou use "NoLicenseType". |
OS_DISK_ID | Forneça a ID do disco do SO para a VM que será migrada. A ID do disco a ser usada é a propriedade do UUID (identificador exclusivo) do disco, recuperada usando o cmdlet Get-AzMigrateServer. O script usará o primeiro disco da VM como o disco do SO caso nenhum valor seja fornecido. |
TARGET_DISKTYPE | Forneça o tipo de disco a ser usado para todos os discos da VM no Azure. Use 'Premium_LRS' para discos gerenciados Premium, 'StandardSSD_LRS' para discos SSD padrão e 'Standard_LRS' para usar discos HDD padrão. Se você optar por usar uma avaliação, o script priorizará o uso de tipos de disco recomendados para cada disco da VM. Se você não usar a avaliação ou especificar qualquer valor, o script usará discos HDD padrão por padrão. |
AVAILABILITYZONE_NUMBER | Especifique o número da zona de disponibilidade a ser usado para a VM migrada. Você pode deixar isso em branco caso não deseje usar zonas de disponibilidade. |
AVAILABILITYSET_NAME | Especifique o nome do conjunto de disponibilidade a ser usado para a VM migrada. Você pode deixar isso em branco caso não deseje usar o conjunto de disponibilidade. |
TURNOFF_SOURCESERVER | Especifique 'Y' se quiser desativar a VM de origem no momento da migração. Caso contrário use 'N'. Se for deixado em branco, o script assumirá o valor como 'N'. |
TESTMIGRATE_VNET_NAME | Especifique o nome da rede virtual a ser usada para a migração de teste. |
UPDATED_TARGET_RESOURCE_GROUP_NAME | Se você deseja atualizar o grupo de recursos a ser usado pela VM migrada no Azure, especifique o nome do grupo de recursos do Azure, caso contrário, deixe em branco. |
UPDATED_TARGET_VNET_NAME | Se você deseja atualizar a Rede Virtual a ser usada pela VM migrada no Azure, especifique o nome da Rede Virtual do Azure, caso contrário, deixe em branco. |
UPDATED_TARGET_MACHINE_NAME | Se você deseja atualizar o nome a ser usado pela VM migrada no Azure, especifique o novo nome a ser usado, caso contrário, deixe em branco. |
UPDATED_TARGET_MACHINE_SIZE | Se você deseja atualizar o SKU a ser usado pela VM migrada no Azure, especifique o novo SKU a ser usado, caso contrário, deixe em branco. |
UPDATED_AVAILABILITYZONE_NUMBER | Se você deseja atualizar a zona de disponibilidade a ser usada pela VM migrada no Azure, especifique a nova zona de disponibilidade a ser usada, caso contrário, deixe em branco. |
UPDATED_AVAILABILITYSET_NAME | Se você deseja atualizar o conjunto de disponibilidade a ser usado pela VM migrada no Azure, especifique o novo conjunto de disponibilidade a ser usado, caso contrário, deixe em branco. |
UPDATE_NIC1_ID | Especificar a ID do NIC que será atualizado. Se deixado em branco, o script considera o valor como a primeira NIC da VM descoberta. Se você não quiser atualizar a NIC da VM, deixe todos os campos que contenham o nome da NIC em branco. |
UPDATED_TARGET_NIC1_SELECTIONTYPE | Especifique o valor a ser usado para esta NIC. Use "Primary", "Secondary" ou "DoNotCreate" para especificar se a NIC deve ser primária, secundária ou se não deve ser criada na VM migrada. Somente uma NIC pode ser especificada como NIC primária para a VM. Deixe em branco se não quiser atualizar. |
UPDATED_TARGET_NIC1_SUBNET_NAME | Especifique o nome da sub-rede a ser usada para a NIC na VM migrada. Deixe em branco se não quiser atualizar. |
UPDATED_TARGET_NIC1_IP | Especifique o endereço IPv4 a ser usado pela NIC na VM migrada se você quiser usar o IP estático. Use "auto" se desejar atribuir automaticamente o IP. Deixe em branco se não quiser atualizar. |
UPDATE_NIC2_ID | Especificar a ID do NIC que será atualizado. Se deixado em branco, o script considera o valor como a segunda NIC da VM descoberta. Se você não quiser atualizar a NIC da VM, deixe todos os campos que contenham o nome da NIC em branco. |
UPDATED_TARGET_NIC2_SELECTIONTYPE | Especifique o valor a ser usado para esta NIC. Use "Primary", "Secondary" ou "DoNotCreate" para especificar se a NIC deve ser primária, secundária ou se não deve ser criada na VM migrada. Somente uma NIC pode ser especificada como NIC primária para a VM. Deixe em branco se não quiser atualizar. |
UPDATED_TARGET_NIC2_SUBNET_NAME | Especifique o nome da sub-rede a ser usada para a NIC na VM migrada. Deixe em branco se não quiser atualizar. |
UPDATED_TARGET_NIC2_IP | Especifique o endereço IPv4 a ser usado pela NIC na VM migrada se você quiser usar o IP estático. Use "auto" se desejar atribuir automaticamente o IP. Deixe em branco se não quiser atualizar. |
OK_TO_UPDATE | Use 'Y' para indicar se as propriedades da VM precisam ser atualizadas quando você executar o script AzMigrate_UpdateMachineProperties. Use 'N' ou então deixe em branco. |
OK_TO_MIGRATE | Use 'Y' para indicar se a VM deve ser migrada quando você executar o script de AzMigrate_StartMigration. Use 'N' ou deixe em branco se não quiser migrar a VM. |
OK_TO_USE_ASSESSMENT | Use 'Y' para indicar se a VM deve iniciar a replicação usando recomendações de avaliação quando você executar o script AzMigrate_StartReplication. Isso substituirá os valores TARGET_MACHINE_SIZE e TARGET_DISKTYPE no arquivo CSV. Use 'N' ou deixe em branco se não quiser usar as recomendações de avaliação. |
OK_TO_TESTMIGRATE | Use 'Y' para indicar se a VM deve ser migrada para teste quando você executar o script AzMigrate_StartTestMigration. Use 'N' ou deixe em branco se não quiser migrar a VM. |
OK_TO_RETRIEVE_REPLICATIONSTATUS | Use 'Y' para indicar se o estado de replicação da VM deve ser atualizado quando você executar o script AzMigrate_ReplicationStatus. Use 'N' ou deixe em branco se não quiser atualizar o status de replicação. |
OK_TO_CLEANUP | Use 'Y' para indicar se a replicação da VM deve ser limpa quando você executar o script AzMigrate_StopReplication. Use 'N' ou então deixe em branco. |
OK_TO_TESTMIGRATE_CLEANUP | Use 'Y' para indicar se a migração para teste da VM deve ser limpa quando você executar o script AzMigrate_CleanUpTestMigration. Use 'N' ou então deixe em branco. |
Execução do script
Quando o CSV estiver pronto, você poderá executar as etapas a seguir para migrar suas VMs do VMware local.
Etapa nº | Nome do script | Descrição |
---|---|---|
1 | AzMigrate_StartReplication.ps1 | Habilitar a replicação para todas as VMs listadas no csv, o script cria uma saída CSV e um arquivo de log para solucionar problemas. |
2 | AzMigrate_ReplicationStatus.ps1 | Verifique o status da replicação, o script cria uma saída CSV com o status de cada VM e um arquivo de log para solução de problemas. |
3 | AzMigrate_UpdateMachineProperties.ps1 | Depois que as VMs concluírem a replicação inicial, use este script para atualizar as propriedades de destino da VM (Propriedades de computação e rede). O script cria uma saída CSV com os detalhes do trabalho para cada VM. |
4 | AzMigrate_StartTestMigration.ps1 | Inicie o failover de teste para todas as VMs listadas no CSV que estão configuradas para migração de teste. O script cria uma saída CSV com os detalhes do trabalho para cada VM. |
5 | AzMigrate_CleanUpTestMigration.ps1 | Depois de validar manualmente as VMs que foram testadas com failover, use esse script para limpar as VMs de teste de cluster para todas as VMs listadas no CSV que estão configuradas para limpeza de migração para teste. O script cria uma saída CSV com os detalhes do trabalho para cada VM. |
6 | AzMigrate_StartMigration.ps1 | Inicie a migração para todas as VMs listadas no CSV que estão configuradas para migração. O script cria uma saída CSV com os detalhes do trabalho para cada VM. |
7 | AzMigrate_StopReplication.ps1 | Interrompe a replicação para a VM depois que ela é migrada com êxito ou se você deseja cancelar a replicação devido a outros motivos. O script cria uma saída CSV com os detalhes do trabalho para cada VM. |
Os scripts a seguir são invocados por outros scripts para todas as operações das Migrações para Azure, como habilitar a replicação, iniciar a migração para teste, atualizar as propriedades da VM e assim por diante. Verifique se todos os scripts estão presentes na mesma pasta/caminho.
Etapa nº | Nome do script | Descrição |
---|---|---|
1 | AzMigrate_Shared.ps1 | Script comum que contém funções para recuperar propriedades de avaliação (por meio da API), VMs descobertas e replicar VMs. |
2 | AzMigrate_CSV_Processor.ps1 | Script comum que contém funções usadas para operações de arquivo CSV, incluindo carregamento, leitura e impressão de logs. |
3 | AzMigrate_Logger.ps1 | Script comum invocado para gerar o arquivo de log para operações de automação das Migrações para Azure. O arquivo de log terá o formato log.Scriptname.Datetime.txt. |
Além do citado acima, a pasta também contém o AzMigrate_Template.ps1 que contém o esboço estrutural para a criação de scripts personalizados para operações diferentes das Migrações para Azure.
Sintaxe da execução de script
Depois de baixar os scripts, os scripts podem ser executados da seguinte maneira.
Se você quiser executar o script para iniciar a replicação para VMs usando o arquivo Input.csv, use a sintaxe a seguir.
".\AzMigrate_StartReplication.ps1" .\Input.csv
Para saber mais sobre como usar o Azure PowerShell para migrar VMs do VMware com as Migrações para Azure, siga o tutorial.