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:
- Pare a VM replicada.
Clone o disco de arranque original:
gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
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
Edite a VM:
- Desanexe o disco de arranque atual e anexe-o aos discos adicionais.
- Remova o disco de arranque original dos Discos adicionais.
- Anexe o disco criado no Passo 3 ao Disco de arranque.
- 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.