Résoudre les problèmes liés à Migrate to Virtual Machines

Découvrez les étapes de dépannage qui pourraient vous être utiles si vous rencontrez des problèmes avec Migrate to Virtual Machines.

Erreur : Autorisation compute.subnetworks.use requise

Un VPC partagé permet à une organisation de connecter des ressources provenant de différents projets à un réseau cloud privé virtuel (VPC) commun, afin que ces ressources puissent communiquer entre elles de manière sécurisée et efficace en utilisant les adresses IP internes de ce réseau.

Migrate to Virtual Machines vous permet de déployer une instance Compute Engine dans un projet ayant accès à un VPC partagé. Toutefois, si vous n'avez pas attribué le rôle compute.subnetworks.use au compte de service Migrate to Virtual Machines par défaut, un message d'erreur s'affiche au format ci-dessous lorsque vous tentez de déployer l'instance 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'

Assurez-vous d'attribuer le rôle compute.subnetworks.use sur le projet hôte du VPC partagé au compte de service Migrate to Virtual Machines par défaut, comme décrit dans la section Configurer des autorisations pour un VPC partagé.

Erreur: L'utilisateur n'a pas accès au compte de service.

Dans le cadre de la configuration de la cible pour une VM migrée, Migrate to Virtual Machines vous permet d'attribuer un compte de service à une instance Compute Engine exécutée sur un projet cible.

Toutefois, pour être en mesure d'attribuer un compte de service à une instance Compute Engine exécutée sur un projet cible, le compte de service Migrate to Virtual Machines par défaut du projet hôte doit disposer du rôle Service Account User sur le compte de service cible.

Si vous attribuez un compte de service à une instance Compute Engine, mais que le projet hôte ne possède pas le rôle Service Account User sur le compte de service cible, l'erreur suivante s'affiche lorsque vous essayez d'effectuer un clone de test ou un basculement de 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

Assurez-vous que le compte de service Migrate to Virtual Machines par défaut est correctement configuré pour autoriser l'accès au compte de service cible. Pour en savoir plus, consultez Configurer des autorisations sur le compte de service du projet cible.

Erreur : Échec de la génération du rapport, car la limite maximale de requêtes vCenter a été dépassée

Pour vous aider à déterminer les paramètres optimaux pour la cible Compute Engine, Migrate to Virtual Machines vous permet de créer un rapport d'utilisation de VM source. Ce rapport affiche des informations sur l'attribution et l'utilisation des ressources pour les VM sources déployées sur vCenter.

Le rapport est généré à partir des données collectées sur vCenter. Lorsque vous générez le rapport, une erreur peut s'afficher au format ci-dessous indiquant qu'une limite de quota vCenter a été atteinte :

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

Consultez cet article vSphere pour en savoir plus sur l'augmentation de la limite de quota.

Erreur : L'instance créée dans Migrate to Virtual Machines ne démarre pas

Lorsque le disque de démarrage de votre VM source n'est pas le premier disque de la liste des disques de votre VM, vous pouvez recevoir une erreur de console série qui affiche le message suivant :

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...

Afin de corriger cette erreur, clonez vos disques et connectez ces clones dans l'ordre approprié à une nouvelle VM sur Migrate to Virtual Machines.

Pour cloner votre disque et le connecter dans le bon ordre, procédez comme suit :

  1. Arrêtez la VM répliquée.
  2. Clonez votre disque de démarrage d'origine :

    gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
    
  3. Exécutez la commande suivante pour réattribuer la licence au disque de démarrage cloné et ajoutez les tags pertinents (exemple avec 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. Modifiez la VM :

    1. Dissociez votre disque de démarrage actuel et associez-le aux disques supplémentaires.
    2. Supprimez le disque de démarrage d'origine des disques supplémentaires.
    3. Associez le disque créé à l'étape 3 au disque de démarrage.
    4. Enregistrez les modifications.

Après avoir confirmé le processus de démarrage de votre VM, vous pouvez supprimer votre disque de démarrage d'origine.

Erreur : La VM Windows exécute "chkdsk" lors du premier démarrage d'un clone

La phase de test du clone Migrate to Virtual Machines instancie un clone de la VM dans le cloud à partir d'un instantané pris pendant l'exécution de la VM source.

Dans certains cas, cela peut déclencher une opération d'analyse automatique chkdsk dans les VM Windows pendant le démarrage du clone dans le cloud. Si de telles erreurs bloquent les étapes de vérification, envisagez d'arrêter la VM entre les cycles de réplication pour permettre à Migrate to Virtual Machines de prendre des instantanés pendant que la VM est arrêtée.

Cela n'affecte pas la VM lors du basculement, car elle est arrêtée dans le cadre du processus de basculement avant la fin de la phase de synchronisation de Migrate to Virtual Machines.