Resolver problemas do Migrate to Virtual Machines

Saiba mais sobre as etapas de solução de problemas que podem ser úteis se você tiver problemas ao usar o Migrate to Virtual Machines.

Erro: permissão "compute.subnetworks.use" obrigatória

A VPC compartilhada permite que uma organização conecte recursos de vários projetos a i,a rede de nuvem particular virtual (VPC) comum para que eles possam se comunicar de maneira segura e eficiente usando IPs internos dessa rede.

A Migrate to Virtual Machines permite implantar uma instância do Compute Engine em um projeto que tem acesso a uma VPC compartilhada. No entanto, se você não atribuiu o papel compute.subnetworks.use à conta de serviço padrão do Migrate to Virtual Machines, verá uma mensagem de erro no formato a seguir ao tentar implantar 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 atribuir o papel compute.subnetworks.use no projeto host da VPC compartilhada à conta de serviço padrão do Migrate to Virtual Machines, conforme descrito em Como configurar permissões para uma VPC compartilhada.

Erro: o usuário não tem acesso à conta de serviço

Como parte de Como configurar o destino para uma VM migrada, o Migrate to Virtual Machines permite atribuir uma conta de serviço a uma instância do Compute Engine executada em um projeto de destino.

No entanto, para atribuir uma conta de serviço a uma instância do Compute Engine em execução em um projeto de destino, a conta de serviço padrão do Migrate to Virtual Machines no projeto host precisa ter o papel Service Account User na conta de serviço de destino.

Se você atribuir uma conta de serviço a uma instância do Compute Engine, mas o projeto host não tiver o papel Service Account User na conta de serviço de destino, você verá o seguinte erro ao tentar testar o clone ou cortar 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

Verifique se a conta de serviço padrão do Migrate to Virtual Machines está configurada corretamente para permitir o acesso à conta de serviço de destino. Para mais informações, consulte Como configurar permissões na conta de serviço do projeto de destino.

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

Para ajudar a determinar as configurações ideais para o destino do Compute Engine, o Migrate to Virtual Machines permite criar um relatório de utilização da VM de origem. Esse relatório exibe informações sobre a alocação e utilização de recursos das VMs de origem implantadas no vCenter.

O relatório é gerado a partir de dados coletados no vCenter. Ao gerar o relatório, você verá um erro no formulário abaixo indicando que um limite de cota do vCenter foi atingido:

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

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

Erro: a instância criada em Migrate to Virtual Machines não está inicializando

Quando o disco de inicialização da VM de origem não é o primeiro disco da lista de discos da VM, talvez você receba um erro do console serial mostrando 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 reduzir esse erro, clone os discos e conecte esses clones na ordem correta a uma nova VM em Migrate to Virtual Machines.

Para clonar o disco e conectá-lo na ordem correta, siga estas etapas:

  1. Interrompa a VM replicada.
  2. Clone o disco de inicialização original:

    gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
    
  3. Execute o comando a seguir para reatribuir a licença ao disco de inicialização clonado e adicionar tags 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. Remova seu disco de inicialização atual e anexe-o aos Discos adicionais.
    2. Remova o disco de inicialização original de Discos adicionais.
    3. Anexe o disco criado na Etapa 3, em Disco de inicialização.
    4. Salve as alterações.

Depois de confirmar o processo de inicialização da VM, é possível excluir o disco de inicialização original.

Erro: a VM do Windows está executando "chkdsk" na primeira inicialização de um clone

A fase de clone de teste do Migrate to Virtual Machines faz instância de um clone da VM na nuvem com base em um snapshot feito enquanto a VM de origem está em execução.

Em alguns casos, isso pode acionar uma operação de verificação automática chkdsk em VMs do Windows enquanto o clone é inicializado na nuvem. Se esses erros estiverem bloqueando as etapas de verificação, considere desligar a VM entre os ciclos de replicação para permitir que o Migrate to Virtual Machines faça um snapshot enquanto a VM está desativada.

Isso não afeta a VM quando ela é transferida, já que ela é encerrada como parte do processo de transferência antes que o Migrate to Virtual Machines conclua a fase de sincronização final.