Resolva problemas com o Migrate to Virtual Machines

Saiba mais sobre os passos de resolução de problemas que podem ser úteis se tiver problemas ao usar o Migrate to Virtual Machines.

Erro: é necessária a autorização compute.subnetworks.use

Uma VPC partilhada permite que uma organização ligue recursos de vários projetos a uma rede de nuvem virtual privada (VPC), para que possam comunicar entre si em segurança e de forma eficiente através de IPs internos dessa rede.

A migração para máquinas virtuais permite-lhe implementar uma instância do Compute Engine num projeto que tenha acesso a uma VPC partilhada. No entanto, se não tiver atribuído a função compute.subnetworks.use à conta de serviço predefinida do Migrate to Virtual Machines, é apresentada uma mensagem de erro no seguinte formato quando tenta implementar a instância do Compute Engine:

"Create instance of VM "my-vm" from source "my-proj" to target project "target-proj" using Compute Engine instance name "instance-id" failed due to: Required 'compute.subnetworks.use' permission for 'projects/vpc-proj/regions/us-central1/subnetworks/shared-central1'

Certifique-se de que atribui a função compute.subnetworks.use no projeto anfitrião de VPC partilhada à conta de serviço predefinida do Migrate to Virtual Machines, conforme descrito no artigo Configurar autorizações para uma VPC partilhada.

Erro: o utilizador não tem acesso à conta de serviço

Como parte da configuração do destino de uma VM migrada, o Migrate to Virtual Machines permite-lhe atribuir uma conta de serviço a uma instância do Compute Engine em execução num projeto de destino.

No entanto, para poder atribuir uma conta de serviço a uma instância do Compute Engine em execução num projeto de destino, a conta de serviço predefinida do Migrate to Virtual Machines no projeto anfitrião tem de ter a função Service Account User na conta de serviço de destino.

Se atribuir uma conta de serviço a uma instância do Compute Engine, mas o projeto anfitrião não tiver a função Service Account User na conta de serviço de destino, é apresentado o seguinte erro quando tenta clonar ou transferir a VM:

Test-Clone of VM "my-vm" from source "source-vm" to target project "target-proj" using Compute Engine instance name "my-instance" failed due to: The user does not have access to service account 'target-service-account-email'. User: 'host-user-account-email'. Ask a project owner to grant you the iam.serviceAccountUser role on the service account

Certifique-se de que a conta de serviço predefinida do Migrate to Virtual Machines está configurada corretamente para permitir o acesso à conta de serviço de destino. Consulte o artigo Configurar autorizações na conta de serviço do projeto de destino para mais informações.

Erro: a geração do relatório falhou porque o limite máximo de consultas do vCenter foi excedido

Para ajudar a determinar as definições ideais para o destino do Compute Engine, o Migrate to Virtual Machines permite-lhe criar um relatório de utilização da VM de origem. Este relatório apresenta informações sobre a atribuição e a utilização de recursos para as VMs de origem implementadas no vCenter.

O relatório é gerado a partir de dados recolhidos no vCenter. Ao gerar o relatório, pode ver um erro no seguinte formato a indicar que foi atingido um limite de quota do vCenter:

Report generation for source source connected to vCenter vcenter failed due to vCenter maximum query limit exceeded. Details: VC message

Consulte este artigo do vSphere para mais informações sobre como aumentar o limite da quota.

Erro: a instância criada no Migrate to Virtual Machines não está a ser iniciada

Quando o disco de arranque da VM de origem não é o primeiro disco na lista de discos da VM, pode receber um erro da consola série que mostra a seguinte mensagem:

drive 0x000f2410: PCHS=0/0/0 translation=lba LCHS=1024/255/63 s=104857600
drive 0x000f23d0: PCHS=0/0/0 translation=lba LCHS=1024/255/63 s=167772160
drive 0x000f2390: PCHS=0/0/0 translation=lba LCHS=1024/255/63 s=83886080
Sending Seabios boot VM event.
Booting from Hard Disk 0...

Para mitigar este erro, clone os discos e ligue esses clones na ordem correta a uma nova VM no Migrate to Virtual Machines.

Para clonar o disco e ligá-lo na ordem correta, siga estes passos:

  1. Pare a VM replicada.
  2. Clone o disco de arranque original:

    gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
  3. Execute o seguinte comando para reatribuir a licença ao disco de arranque clonado e adicionar etiquetas relevantes (exemplo com windows2008-r2):

    gcloud compute disks create --project=$PROJECT --zone=$ZONE --source-disk=disk created on step #2 --licenses=projects/windows-cloud/global/licenses/windows-server-2008-r2-dc --guest-os-features=VIRTIO_SCSI_MULTIQUEUE,MULTI_IP_SUBNET,WINDOWS new-disk-name
  4. Edite a VM:

    1. Desanexe o disco de arranque atual e anexe-o aos discos adicionais.
    2. Remova o disco de arranque original dos Discos adicionais.
    3. Anexe o disco criado no Passo 3 ao Disco de arranque.
    4. Guarde as alterações.

Depois de confirmar o processo de arranque da VM, pode eliminar o disco de arranque original.

Erro: a VM do Windows está a executar o comando "chkdsk" no primeiro arranque de um clone

A fase de teste de clonagem da migração para máquinas virtuais instancia um clone da VM na nuvem com base num instantâneo tirado enquanto a VM de origem está em execução.

Em alguns casos, isto pode acionar uma operação de análise chkdsk automática em VMs do Windows enquanto o clone está a ser iniciado na nuvem. Se estes erros estiverem a bloquear os passos de validação, pondere encerrar a VM entre os ciclos de replicação para permitir que o Migrate to Virtual Machines tire uma captura de ecrã enquanto a VM está desativada.

Isto não afeta a VM quando é transferida, uma vez que a VM é encerrada como parte do processo de transferência antes de o Migrate to Virtual Machines concluir a fase de sincronização final.