Migração em escala de VMs VMware
Este artigo ajuda você a entender como usar scripts para migrar um grande número de máquinas virtuais (VMs) VMware usando o método sem agente. Para dimensionar migrações, use o módulo Azure Migrate PowerShell.
Nota
Esta documentação completa do cenário de migração VMware está atualmente em visualização. Para obter mais informações sobre como usar o Azure Migrate, consulte a documentação do produto Azure Migrate.
Os scripts de automação de migração do Azure Migrate VMware estão disponíveis para download no repositório de Exemplos do Azure PowerShell no GitHub. Os scripts podem ser usados para migrar VMs VMware para o Azure usando o método de migração sem agente. Os comandos do Azure Migrate PowerShell usados nesses scripts estão documentados aqui.
Limitações atuais
- Esses scripts suportam a migração de VMs VMware com todos os seus discos. Você pode atualizar os scripts se quiser replicar seletivamente os discos conectados a uma VM VMware.
- Os scripts suportam o uso de recomendações de avaliação. Se as recomendações de avaliação não forem usadas, todos os discos conectados à VM 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
- Conclua o tutorial de descoberta para preparar o Azure e o VMware para a migração.
- Recomendamos que você conclua o segundo tutorial para avaliar as VMs VMware antes de migrá-las para o Azure.
- Você deve ter o módulo do Azure PowerShell
Az
. Se você precisar instalar ou atualizar o Azure PowerShell, siga este guia para instalar e configurar o Azure PowerShell.
Instalar o módulo Azure Migrate PowerShell
O módulo Azure Migrate PowerShell está disponível na visualização. Você precisará instalar o módulo PowerShell usando o comando a seguir.
Install-Module -Name Az.Migrate
Arquivo de entrada CSV
Depois de concluir todos os pré-requisitos, você precisa criar um arquivo CSV com dados de cada VM de origem que deseja migrar. Todos os scripts são projetados para funcionar no mesmo arquivo CSV. Um modelo CSV de exemplo está disponível na pasta scripts para sua referência. O arquivo csv é configurável para que você possa usar recomendações de avaliação e até mesmo especificar se determinadas operações não devem ser acionadas para uma VM específica.
Nota
O mesmo arquivo csv pode ser usado para migrar VMs em vários projetos do Azure Migrate.
Esquema de arquivo CSV
Cabeçalho da coluna | Descrição |
---|---|
AZMIGRATEPROJECT_SUBSCRIPTION_ID | Forneça a ID de assinatura do projeto Azure Migrate. |
AZMIGRATEPROJECT_RESOURCE_GROUP_NAME | Forneça o nome do grupo de recursos do Azure Migrate. |
AZMIGRATEPROJECT_NAME | Forneça o nome do projeto Azure Migrate no qual você deseja migrar servidores. |
SOURCE_MACHINE_NAME | Forneça um nome amigável (nome para exibição) para a VM descoberta no projeto Azure Migrate. |
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 do Azure Migrate. |
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 deixada 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 deixado em branco, o nome da máquina de origem será usado. |
TARGET_MACHINE_SIZE | Forneça a Unidade de Manutenção de Estoque (SKU) que a VM deve usar no Azure. Para migrar uma VM para D2_v2 VM 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-o em branco ou use "NoLicenseType". |
OS_DISK_ID | Forneça o ID de disco do sistema operacional para a VM a ser migrada. O ID do disco a ser usado é a propriedade identificador exclusivo (UUID) do disco recuperado usando o cmdlet Get-AzMigrateServer. O script usará o primeiro disco da VM como o disco do sistema operacional, caso nenhum valor seja fornecido. |
TARGET_DISKTYPE | Forneça o tipo de disco a ser usado para todos os discos da VM no Azure. Utilize "Premium_LRS" para discos geridos premium, "StandardSSD_LRS" para discos SSD padrão e "Standard_LRS" para utilizar discos HDD padrão. Se você optar por usar uma avaliação, o script priorizará o uso dos tipos de disco recomendados para cada disco da VM. Se não utilizar a avaliação ou especificar qualquer valor, o script utilizará discos HDD padrão por predefinição. |
AVAILABILITYZONE_NUMBER | Especifique o número da zona de disponibilidade a ser usado para a VM migrada. Você pode deixar isso em branco se não quiser 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 se não quiser usar o conjunto de disponibilidade. |
TURNOFF_SOURCESERVER | Especifique 'Y' se quiser desativar a VM de origem no momento da migração. Use 'N' caso contrário. Se deixado em branco, o script assume 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ê quiser 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-o em branco. |
UPDATED_TARGET_VNET_NAME | Se você quiser atualizar a Rede Virtual a ser usada pela VM migrada no Azure, especifique o nome da Rede Virtual do Azure, caso contrário, deixe-a em branco. |
UPDATED_TARGET_MACHINE_NAME | Se você quiser atualizar o nome a ser usado pela VM migrada no Azure, especifique o novo nome a ser usado, caso contrário, deixe-o em branco. |
UPDATED_TARGET_MACHINE_SIZE | Se você quiser atualizar a SKU a ser usada pela VM migrada no Azure, especifique a nova SKU a ser usada, caso contrário, deixe-a em branco. |
UPDATED_AVAILABILITYZONE_NUMBER | Se você quiser 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-a em branco. |
UPDATED_AVAILABILITYSET_NAME | Se você quiser 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-o em branco. |
UPDATE_NIC1_ID | Especifique o ID da NIC a ser atualizada. Se deixado em branco, o script assume que o valor é a primeira NIC da VM descoberta. Se você não quiser atualizar a NIC da VM, deixe todos os campos que contêm o nome da NIC em branco. |
UPDATED_TARGET_NIC1_SELECTIONTYPE | Especifique o valor a ser usado para esta NIC. Use "Primário", "Secundário" ou "DoNotCreate" para especificar se essa NIC deve ser primária, secundária ou não deve ser criada na VM migrada. Apenas uma NIC pode ser especificada como a 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 desejar usar IP estático. Use "auto" se quiser atribuir automaticamente o IP. Deixe em branco se não quiser atualizar. |
UPDATE_NIC2_ID | Especifique o ID da NIC a ser atualizada. Se deixado em branco, o script assume que o valor é a segunda NIC da VM descoberta. Se você não quiser atualizar a NIC da VM, deixe todos os campos que contêm o nome da NIC em branco. |
UPDATED_TARGET_NIC2_SELECTIONTYPE | Especifique o valor a ser usado para esta NIC. Use "Primário", "Secundário" ou "DoNotCreate" para especificar se essa NIC deve ser primária, secundária ou não deve ser criada na VM migrada. Apenas uma NIC pode ser especificada como a 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 desejar usar IP estático. Use "auto" se quiser 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ê executa o script AzMigrate_UpdateMachineProperties. Use 'N' ou deixe em branco caso contrário. |
OK_TO_MIGRATE | Use 'Y' para indicar se a VM deve ser migrada quando você executa o script 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 ao 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 recomendações de avaliação. |
OK_TO_TESTMIGRATE | Use 'Y' para indicar se a VM deve ser migrada para teste quando você executa o script AzMigrate_StartTestMigration. Use 'N' ou deixe em branco se não quiser testar a migração da VM. |
OK_TO_RETRIEVE_REPLICATIONSTATUS | Use 'Y' para indicar se o status de replicação da VM deve ser atualizado quando você executa o script AzMigrate_ReplicationStatus. Use 'N' ou deixe em branco se não quiser atualizar o status da replicação. |
OK_TO_CLEANUP | Use 'Y' para indicar se a replicação para a VM deve ser limpa quando você executa o script AzMigrate_StopReplication. Use 'N' ou deixe em branco caso contrário. |
OK_TO_TESTMIGRATE_CLEANUP | Use 'Y' para indicar se a migração de teste para a VM deve ser limpa quando você executa o script AzMigrate_CleanUpTestMigration. Use 'N' ou deixe em branco caso contrário. |
Execução de scripts
Quando o CSV estiver pronto, você poderá executar as etapas a seguir para migrar suas VMs VMware locais.
Passo # | Nome do script | Descrição |
---|---|---|
5 | AzMigrate_StartReplication.ps1 | Habilite a replicação para todas as VMs listadas no csv, o script cria uma saída CSV e um arquivo de log para solução de 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 tiverem concluído a replicação inicial, use esse 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 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 submetidas a failover de teste, use esse script para limpar as VMs de failover de teste para todas as VMs listadas no csv configuradas para limpeza de migração de 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 tiver sido migrada com êxito ou se você quiser 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 do Azure Migrate, como habilitar a replicação, iniciar a migração de teste, atualizar as propriedades da VM e assim por diante. Certifique-se de que todos os scripts estão presentes na mesma pasta/caminho.
Passo # | Nome do script | Descrição |
---|---|---|
5 | AzMigrate_Shared.ps1 | Script comum contendo funções para recuperar propriedades de avaliação (por meio de API), VMs descobertas e replicar VMs. |
2 | AzMigrate_CSV_Processor.ps1 | Script comum contendo 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 do Azure Migrate. O arquivo de log será do formato log. Scriptname.Datetime.txt. |
Além do acima, a pasta também contém AzMigrate_Template.ps1 que contém a estrutura esqueleto para criar scripts personalizados para diferentes operações do Azure Migrate.
Sintaxe de execução de script
Depois de ter baixado os scripts, eles podem ser executados da seguinte maneira.
Se desejar 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 VMware com o Azure Migrate, siga o tutorial.