Error: Required compute.subnetworks.use permission
Una VPC compartida permite a una organización conectar recursos de varios proyectos a una red de nube privada virtual (VPC) común para que puedan comunicarse entre sí de forma segura y eficiente mediante IPs internas de esa red.
Migrar a máquinas virtuales te permite desplegar una instancia de Compute Engine en un proyecto que tenga acceso a una VPC compartida.
Sin embargo, si no has asignado el rol compute.subnetworks.use
a la cuenta de servicio predeterminada de Migrate to Virtual Machines, verás un mensaje de error con el siguiente formato cuando intentes desplegar la instancia de 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'
Asegúrate de asignar el rol compute.subnetworks.use
en el proyecto del host de la VPC compartida a la cuenta de servicio predeterminada de Migrate to Virtual Machines, tal como se describe en el artículo Configurar permisos para una VPC compartida.
Error: El usuario no tiene acceso a la cuenta de servicio
Como parte de la configuración del destino de una VM migrada, Migrate to Virtual Machines te permite asignar una cuenta de servicio a una instancia de Compute Engine que se ejecuta en un proyecto de destino.
Sin embargo, para poder asignar una cuenta de servicio a una instancia de Compute Engine que se ejecute en un proyecto de destino, la cuenta de servicio predeterminada de Migrate to Virtual Machines del proyecto host debe tener el rol Service Account User
en la cuenta de servicio de destino.
Si asignas una cuenta de servicio a una instancia de Compute Engine, pero el proyecto host no tiene el rol Service Account User
en la cuenta de servicio de destino, verás el siguiente error cuando intentes clonar o migrar la máquina virtual:
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
Asegúrate de que la cuenta de servicio predeterminada de Migrate to Virtual Machines esté configurada correctamente para permitir el acceso a la cuenta de servicio de destino. Consulta más información en Configurar permisos de la cuenta de servicio del proyecto de destino.
Error: No se ha podido generar el informe porque se ha superado el límite máximo de consultas de vCenter
Para ayudarte a determinar la configuración óptima del destino de Compute Engine, Migrate to Virtual Machines te permite crear un informe de utilización de la VM de origen. Este informe muestra información sobre la asignación y la utilización de recursos de las VMs de origen implementadas en vCenter.
El informe se genera a partir de los datos recogidos en vCenter. Al generar el informe, es posible que vea un error con el siguiente formato que indica que se ha alcanzado un límite de cuota de vCenter:
Report generation for source source connected to vCenter vcenter failed due to vCenter maximum query limit exceeded. Details: VC message
Consulta este artículo de vSphere para obtener más información sobre cómo aumentar el límite de cuota.
Error: La instancia creada en Migrate to Virtual Machines no se inicia
Si el disco de arranque de la VM de origen no es el primer disco de la lista de discos de la VM, es posible que recibas un error de consola en serie que muestre el siguiente mensaje:
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 error, clona tus discos y conecta esos clones en el orden correcto a una nueva VM en Migrate to Virtual Machines.
Para clonar tu disco y conectarlo en el orden correcto, sigue estos pasos:
- Detén la VM replicada.
Clona tu disco de arranque original:
gcloud compute disks create -project=$PROJECT --zone=$ZONE --source-disk=$DISK new-disk-name
Ejecuta el siguiente comando para reasignar la licencia a tu disco de arranque clonado y añadir las etiquetas pertinentes (ejemplo 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
Edita la VM:
- Desconecta tu disco de arranque actual y conéctalo en Discos adicionales.
- Quita el disco de arranque original de Discos adicionales.
- Conecta el disco creado en el paso 3 al disco de arranque.
- Guarda los cambios.
Después de confirmar el proceso de arranque de la VM, puedes eliminar el disco de arranque original.
Error: la VM de Windows ejecuta `chkdsk' en el primer arranque de un clon
La fase de clonación de prueba de Migrate to Virtual Machines crea una instancia de un clon de la VM en la nube a partir de una instantánea tomada mientras se ejecuta la VM de origen.
En algunos casos, esto puede activar una operación de análisis chkdsk
automática en las máquinas virtuales Windows mientras se inicia el clon en la nube. Si estos errores impiden que se completen los pasos de verificación, considera la posibilidad de apagar la VM entre ciclos de replicación para permitir que Migrate to Virtual Machines cree una instantánea mientras la VM está apagada.
Esto no afecta a la VM cuando se cambia, ya que se apaga como parte del proceso de cambio antes de que Migrate to Virtual Machines complete la fase de sincronización final.