Risolvere i problemi di Migrate to Virtual Machines

Scopri i passaggi per la risoluzione dei problemi, utili in caso di problemi nell'utilizzo di Migrate to Virtual Machines.

Errore: autorizzazione compute.subnetworks.use richiesta

Un VPC condiviso consente a un'organizzazione di collegare le risorse di più progetti a un Rete Virtual Private Cloud (VPC), in modo che possano comunicare tra loro in modo sicuro ed efficiente utilizzando IP interni di quella rete.

Migrate to Virtual Machines consente di eseguire il deployment di un'istanza Compute Engine in un progetto che ha accesso a un VPC condiviso. Tuttavia, se non hai assegnato il ruolo compute.subnetworks.use all'account di servizio predefinito di Migrazione a macchine virtuali, quando provi a eseguire il deployment dell'istanza Compute Engine viene visualizzato un messaggio di errore nel seguente formato:

"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'

Assicurati di assegnare il ruolo compute.subnetworks.use nella del progetto host del VPC condiviso Account di servizio predefinito Migrate to Virtual Machines come descritto in Configurazione delle autorizzazioni per un VPC condiviso.

Errore: l'utente non ha accesso all'account di servizio

Nell'ambito della configurazione della destinazione per una VM di cui è stata eseguita la migrazione, Migrazione a macchine virtuali ti consente di assegnare un account di servizio a un'istanza Compute Engine in esecuzione in un progetto di destinazione.

Tuttavia, la possibilità di assegnare un account di servizio a un'istanza Compute Engine in esecuzione su un progetto di destinazione, l'account di servizio predefinito il progetto host deve avere il ruolo Service Account User nell'account di servizio di destinazione.

Se assegni un account di servizio a un'istanza Compute Engine, ma il progetto host non ha il ruolo Service Account User nell'account di servizio di destinazione, quando provi a eseguire il clone di test o il cut over della VM viene visualizzato il seguente errore:

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

Assicurati che l'account di servizio Migrate to Virtual Machines predefinito sia configurato correttamente per consentire l'accesso all'account di servizio di destinazione. Per saperne di più, consulta Configurare le autorizzazioni per l'account di servizio del progetto di destinazione.

Errore: generazione del report non riuscita a causa del limite massimo di query vCenter superato

Per aiutarti a determinare le impostazioni ottimali per la destinazione Compute Engine, la migrazione a Virtual Machines ti consente di creare un report sull'utilizzo delle VM di origine. Questo report mostra informazioni sull'allocazione e sull'utilizzo delle risorse per le VM di origine di cui è stato eseguito il deployment su vCenter.

Il report viene generato dai dati raccolti su vCenter. Quando generi il report, Potresti visualizzare un errore nel seguente formato che indica che un limite di quota vCenter è stato raggiunto:

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

Per ulteriori informazioni sull'aumento del limite di quota, consulta questo articolo su vSphere.

Errore: l'istanza creata in Migrate to Virtual Machines non si avvia

Se il disco di avvio della VM di origine non è il primo nell'elenco di dischi della tua VM, potresti visualizzare un errore della console seriale che mostra il seguente messaggio:

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

Per ridurre al minimo questo errore, clona i dischi e collega le relative copie nell'ordine corretto a una nuova VM in Migrate to Virtual Machines.

Per clonare il disco e collegarlo nell'ordine corretto:

  1. Arresta la VM replicata.
  2. Clona il disco di avvio originale:

    gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
  3. Esegui questo comando per riassegnare la licenza al disco di avvio clonato e aggiungi tag pertinenti (ad esempio con 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. Modifica la VM:

    1. Scollega il disco di avvio attuale e collegalo in Dischi aggiuntivi.
    2. Rimuovi il disco di avvio originale da Dischi aggiuntivi.
    3. Collega il disco creato dal Passaggio 3 al disco di avvio.
    4. Salva le modifiche.

Dopo aver confermato il processo di avvio della VM, puoi eliminare il disco di avvio originale.

Errore: la VM Windows esegue "chkdsk" al primo avvio di un clone

La fase di clone di test di Migrate to Virtual Machines esegue l'istanza di un clone della VM nel cloud in base a uno snapshot acquisito durante l'esecuzione della VM di origine.

In alcuni casi, questa operazione potrebbe attivare un'operazione di scansione automatica chkdsk nelle VM Windows durante l'avvio del clone nel cloud. Se questi errori bloccano la verifica passaggi, valuta la possibilità di arrestare la VM tra i cicli di replica per Migrate to Virtual Machines per creare uno snapshot quando la VM è disattivata.

Ciò non influisce sulla VM durante il passaggio, poiché la VM viene arrestata nel corso della procedura di passaggio prima che la migrazione alle VM completi la fase di sincronizzazione finale.