Mueva su carga de trabajo a una nueva instancia informática


En determinadas situaciones, es posible que desee mover su carga de trabajo de una instancia de máquina virtual (VM) existente a una VM más nueva. Los motivos para migrar a una nueva máquina virtual incluyen los siguientes:

  • Aproveche los nuevos tipos de máquinas para velocidades de almacenamiento o de red más rápidas. Por ejemplo, actualizar de C2 a H3 para mejorar el ancho de banda de la red.
  • Benefíciese de un mayor rendimiento de precios en relación con la instancia de VM de origen. Por ejemplo, actualizar de N1 a N4 para obtener un mayor valor en el procesador Intel Xeon de quinta generación.
  • Utilice funciones que solo están disponibles en la nueva instancia de VM. Por ejemplo, actualizar de N4 a C4 para aprovechar opciones adicionales de rendimiento y mantenimiento.
  • Cambie una instancia de máquina virtual (VM) a una instancia básica.
  • Agregue discos SSD locales a su instancia de VM C3 o C3D.

Al actualizar a la serie de máquinas de última generación, es posible que pueda utilizar el procedimiento más simple descrito en Editar el tipo de máquina de una instancia informática si la máquina virtual actual (de origen) cumple las siguientes condiciones:

  • La versión del sistema operativo (OS) es compatible con la nueva serie de máquinas.
  • El tipo de disco de arranque conectado a la máquina virtual de origen es compatible con la nueva serie de máquinas.
  • La VM no utiliza almacenamiento SSD local.
  • Su VM con GPU conectadas utiliza un tipo de máquina G2. Consulte Agregar o quitar GPU para obtener más detalles.
  • La máquina virtual utiliza únicamente funciones compatibles con la nueva serie de máquinas.
  • La VM no forma parte de un grupo de instancias administrado (MIG).
  • La VM utiliza la interfaz de red gVNIC.

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles requeridos

Para obtener los permisos que necesita para editar o cambiar una VM, solicite a su administrador que le otorgue los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .

Estos roles predefinidos contienen los permisos necesarios para editar o cambiar una VM. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :

Permisos requeridos

Se requieren los siguientes permisos para editar o cambiar una VM:

  • Para cambiar el tipo de máquina:
    • compute.instances.stop en el proyecto
    • compute.instances.create en el proyecto.
    • compute.instances.start en el proyecto
    • compute.instances.setMachineType en la instancia
  • Para crear una instantánea del disco:
    • compute.snapshots.create en el proyecto
    • compute.disks.createSnapshot en el disco
  • Para crear un nuevo disco:
    • compute.disks.list en el proyecto
    • compute.disks.create en el proyecto.
    • compute.disks.update en el proyecto
  • Para conectar un disco a una VM:
    • compute.instances.attachDisk en la instancia
    • compute.disks.use en el disco
  • Para eliminar un disco: compute.disks.delete en el proyecto
  • Para realizar cambios en el tipo de red:
    • compute.networks.list en el proyecto.
    • compute.networks.update en el proyecto

Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .

Evaluar las opciones de migración de VM

La migración de un tipo de máquina a otro depende de varios factores, entre ellos: la disponibilidad regional del nuevo tipo de máquina y la compatibilidad de las opciones de almacenamiento y las interfaces de red con respecto al sistema operativo invitado de la fuente y la nueva serie de máquinas.

Requisitos de cálculo

Revise los siguientes requisitos para su instancia actual y el nuevo tipo de máquina:

  • Explore la documentación de recursos de la familia de máquinas para identificar qué tipos de máquinas son adecuadas para su carga de trabajo. Considere si su aplicación requiere hardware específico (GPU), alto rendimiento o costos más bajos.
  • Revise las características de los tipos de discos admitidos por el nuevo tipo de máquina. La mayoría de las funciones de Persistent Disk, pero no todas, son compatibles con Hyperdisk. Sin embargo, Hyperdisk proporciona funciones adicionales que no están disponibles con Persistent Disk.
  • Revise las características de la posible serie de máquinas. Es posible que la nueva serie de máquinas no admita las mismas funciones que utiliza con su serie de máquinas actual, como tipos de máquinas personalizadas, SSD local o VM protegida .
  • Revise las regiones y zonas para asegurarse de que la nueva serie de máquinas esté disponible en todas las regiones como su máquina virtual actual. Es posible que deba ajustar sus planes de implementación, alta disponibilidad y recuperación ante desastres.
  • Revise su plan de migración de sistema operativo:
    • Si la nueva VM requiere una versión más nueva del sistema operativo, verifique que sus aplicaciones sean compatibles con la versión más reciente del sistema operativo.
    • Si está migrando a Arm y una imagen de Arm no está disponible para su versión actual del sistema operativo, elija un nuevo sistema operativo o una versión del sistema operativo para ejecutar sus aplicaciones y verifique que sus aplicaciones sean compatibles con el nuevo sistema operativo.
  • Es posible migrar de una instancia de VM C3 a una instancia básica de C3, siempre que la instancia de VM C3 de origen utilice un sistema operativo y un controlador de red compatibles .
  • Si va a pasar de una serie de máquinas que no sea C3 a una instancia básica, debe crear una nueva instancia. Quizás tengas que ejecutar tu propio hipervisor; sin embargo, también puede ejecutar cualquier sistema operativo compatible con C3 metal siempre que el controlador IDPF esté habilitado. Las instancias bare metal utilizan la interfaz de red IDPF presentada solo como una función física, no como una función virtual.

Requisitos de almacenamiento

Revise los siguientes requisitos de almacenamiento para su instancia actual y el nuevo tipo de instancia:

  • Revise los tipos de almacenamiento admitidos y las interfaces de almacenamiento admitidas para la nueva serie de máquinas.
    • De forma predeterminada, las series de máquinas de primera y segunda generación utilizan solo el tipo de almacenamiento de disco persistente y las interfaces VirtIO-SCSI.
    • Las series de máquinas de tercera generación y más nuevas (como M3, C3 y N4) solo admiten la interfaz NVMe, y algunas solo admiten los tipos de almacenamiento Hyperdisk y SSD local.
    • Las instancias bare metal (como C3 y X4) solo admiten Hyperdisk.
  • Compatibilidad de discos:
    • Si el disco de inicio utiliza un tipo de disco que no es compatible con la nueva serie de máquinas, por ejemplo pd-standard , debe crear un nuevo disco de inicio para la nueva máquina virtual.
    • Si está actualizando el sistema operativo a una nueva versión y el sistema operativo no admite actualizaciones locales, debe crear un nuevo disco de inicio. Todos los datos del disco de inicio de origen se pierden a menos que los copie en un disco temporal que no sea de inicio. A continuación, crea un nuevo disco de inicio y copia los datos almacenados en el disco temporal que no es de inicio al nuevo disco de inicio.
    • Si no está actualizando la versión del sistema operativo, puede tomar una instantánea de su disco de arranque actual y restaurarla al nuevo tipo de disco compatible. Cuando crea una VM, puede usar este nuevo disco como disco de arranque.
    • Si un disco que no es de arranque usa un tipo de disco que no es compatible con la nueva serie de máquinas, puede usar una instantánea para cambiar el disco de origen a un nuevo tipo de disco, como se describe en Cambiar el tipo de disco .
  • Los discos SSD locales no se pueden mover a una nueva máquina virtual. Puede conectar un disco lo suficientemente grande como para almacenar todos los datos del SSD local en su máquina virtual actual y luego usar una instantánea para cambiar el disco de origen a un nuevo tipo de disco, como se describe en Cambiar el tipo de disco . Después de crear una máquina virtual con discos SSD locales conectados, puede copiar los datos nuevamente a los discos SSD locales.
  • Si su instancia de VM actual usa discos en un grupo de almacenamiento , pero está moviendo su carga de trabajo a una VM en una región diferente, debe volver a crear los discos y el grupo de almacenamiento en la nueva región.
  • Si la nueva serie de máquinas utiliza una interfaz de disco diferente (por ejemplo, NVMe en lugar de SCSI), entonces los nombres de los dispositivos de disco en el sistema operativo invitado son diferentes. Asegúrese de que sus aplicaciones y scripts utilicen nombres de dispositivos persistentes o enlaces simbólicos al hacer referencia a los discos conectados.

Requisitos de red

Revise los siguientes requisitos de red para su instancia actual y el nuevo tipo de instancia:

  • Revise las interfaces de red admitidas para la nueva VM.

    • De forma predeterminada, las series de máquinas de primera y segunda generación utilizan únicamente la interfaz de red VirtIO.
    • Las series de máquinas de tercera generación y más nuevas (como M3, C3 y N4) solo admiten la interfaz de red gVNIC.
    • Las instancias bare metal solo admiten la interfaz de red IDPF .
  • Asegúrese de que su aplicación y sistema operativo admitan las interfaces disponibles para la serie de máquinas.

  • Revise la configuración de red de su máquina virtual para determinar si necesita conservar las direcciones IP asignadas . Si es así, debe promover las direcciones IP a direcciones IP estáticas.

  • Si utiliza el rendimiento de red por VM Tier_1 con su VM actual, asegúrese de que esté disponible o sea necesario con la nueva serie de máquinas. Por ejemplo, puede utilizar redes de nivel 1 con un tipo de máquina C2, pero no es necesario con una máquina virtual H3 .

Para determinar el tipo de interfaz de red de tu VM actual, usa el comando gcloud compute instances describe para ver el nic-type de la VM:

  gcloud compute instances describe VM_NAME --zone=ZONE

Si su VM tiene un nic-type configurado en VIRTIO , no puede cambiar el tipo de interfaz de red. Debe crear una nueva máquina virtual y configurar el tipo de interfaz de red en gVNIC .

Prepárese para mover sus máquinas virtuales existentes

Una vez que haya completado la sección de evaluación , el siguiente paso es prepararse para mover sus instancias de VM solicitando recursos para la nueva instancia de VM y preparando copias de seguridad de la instancia de VM de origen.

Preparar recursos informáticos

Complete los siguientes pasos para prepararse para mover su instancia actual a una nueva instancia:

  1. Solicita cupo en la región y zonas donde planeas mover tus recursos. Si tiene una cuota existente para un tipo de máquina, puede solicitar mover esa cuota. El proceso tarda unos días en completarse.
  2. Cree una reserva para las nuevas instancias de VM para garantizar que los recursos de la máquina estén disponibles en la nueva región y zonas. Asegúrese de comprender cómo se consumen los recursos reservados y pruebe que puede consumir recursos reservados .
  3. Amplíe sus planes de alta disponibilidad y recuperación ante desastres para incluir la nueva región.
  4. Si es necesario, actualice el sistema operativo en la máquina virtual actual.
    1. Si el proveedor del sistema operativo lo admite, realice una actualización local de su sistema operativo a una versión que sea compatible con la nueva serie de máquinas y verifique que su carga de trabajo esté funcionando como se espera en la nueva versión del sistema operativo.
    2. Si no se admite una actualización local del sistema operativo, cuando cree una nueva máquina virtual, deberá crear un nuevo disco de arranque. Determine qué información necesita copiar del disco de inicio actual y cópiela en una ubicación temporal en un disco que no sea de inicio para que pueda transferirse a la nueva máquina virtual. Si no tiene ningún disco que no sea de arranque conectado a su máquina virtual actual:
  5. Si corresponde a su distribución de Linux, verifique las reglas de udev en /etc/udev/rules.d/ . Este archivo puede contener entradas relevantes para la configuración de hardware de la instancia actual, pero no para la nueva instancia. Por ejemplo, la siguiente entrada garantiza que eth0 sea proporcionado por el controlador virtio-pci (VirtIO Net), lo que impide que el controlador gve (gVNIC) proporcione esta interfaz. Esto podría generar secuencias de comandos de inicio de red y problemas de conectividad en la nueva instancia:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Preparar recursos de almacenamiento.

Complete los siguientes pasos para prepararse para mover los datos de los discos conectados a su instancia actual a una nueva instancia:

  1. En sistemas Linux, pruebe sus aplicaciones y scripts actualizados para asegurarse de que funcionen con nombres de dispositivos persistentes o enlaces simbólicos en lugar de nombres de dispositivos de disco.
  2. Si está migrando desde una máquina virtual que ejecuta Microsoft Windows:
  3. Si su nueva máquina virtual no admite los mismos tipos de discos que su máquina virtual actual, es posible que deba actualizar sus scripts de implementación o plantillas de instancias para admitir la nueva serie de máquinas.
  4. Si su máquina virtual actual usa un tipo de disco para el disco de arranque que no es compatible con la nueva serie de máquinas y está migrando varias máquinas virtuales con la misma configuración, cree una imagen personalizada para usar al crear las nuevas máquinas virtuales:
    1. Cree una instantánea del disco de arranque estándar pd de su máquina virtual actual.
    2. Cree una imagen personalizada utilizando la instantánea del disco como fuente.
  5. Si necesita mover información de SSD local, cree un disco en blanco lo suficientemente grande como para hacer una copia de seguridad de sus discos SSD locales .
    1. Si es posible, utilice un tipo de disco que sea compatible con la nueva máquina virtual.
    2. Si no hay ningún tipo de disco compatible con la máquina virtual actual y la nueva máquina virtual, cree un disco temporal utilizando un tipo de disco compatible con la máquina virtual actual.
    3. Adjunte el nuevo disco a la máquina virtual actual, luego formatee y monte el disco .
    4. Copie los datos de los discos SSD locales conectados a la máquina virtual actual a este disco temporal.
  6. Cambie el tipo de disco de cualquier disco conectado a la máquina virtual actual que utilice un tipo de disco que no sea compatible con la nueva máquina virtual. Para mover los datos del disco a discos nuevos, cree instantáneas de los discos. Alternativamente, puedes transferir archivos de una máquina virtual a otra.

    1. Puede tomar las instantáneas mientras la máquina virtual se está ejecutando, pero los datos escritos en los discos después de tomar la instantánea no se capturan. Debido a que las instantáneas son incrementales , puede tomar una segunda instantánea después de detener la máquina virtual para capturar todos los cambios más recientes. Este enfoque debería minimizar el período de tiempo que la máquina virtual no está disponible mientras cambia a una nueva máquina virtual.
    2. Alternativamente, puede tomar todas las instantáneas del disco después de detener la VM. Le recomendamos que cree una instantánea de todos los discos conectados a su VM, incluso si el tipo de disco es compatible con la nueva serie de máquinas. Incluya todos los discos temporales que contengan los datos del SSD local copiados.
    3. La cantidad de tiempo que lleva tomar una instantánea de un disco depende de múltiples factores, como el tamaño del disco y la cantidad de datos contenidos en el disco. Por ejemplo, si toma una instantánea de un disco de 1 TiB que está lleno en un 85 %, es posible que la instantánea tarde 5 minutos en completarse. Pero, si toma una instantánea de un disco de 100 TiB que está lleno al 85%, es posible que tarde 11 minutos en completarse. Le recomendamos realizar instantáneas de prueba de sus discos antes de iniciar el proceso de migración para comprender cuánto tiempo lleva la creación de instantáneas.
  7. Si tiene un disco que se puede desconectar, puede utilizar el siguiente método para mover los datos a un disco nuevo mientras la máquina virtual de origen todavía está disponible:

    1. Separe el disco de su VM.
    2. Tome una instantánea del disco .
    3. Utilice la instantánea para crear un disco nuevo utilizando un tipo de disco compatible con la nueva serie de máquinas. El nuevo disco debe tener el mismo tamaño o más que el disco de origen.

Preparar recursos de red

Complete los siguientes pasos para actualizar la configuración de red utilizada por su instancia actual para admitir la nueva instancia:

  1. Si su máquina virtual actual no usa gVNIC, debe crear una nueva instancia con una interfaz de red que use gVNIC. Revise la descripción general del uso de gVNIC con máquinas virtuales de Compute Engine para comprender los pasos que debe seguir al crear una nueva instancia.
  2. Si está creando una VM en una nueva región, cree una red de VPC y subredes en la nueva región.
  3. Si configuró recuentos de colas de NIC personalizados, consulte Asignaciones de colas y cambio del tipo de máquina .
  4. Si desea conservar las direcciones IP utilizadas por la máquina virtual de origen, promueva las direcciones IP a direcciones IP estáticas .
  5. Anule la asignación de una dirección IP estática antes de detener la máquina virtual de origen.

Prepare el sistema operativo SUSE Enterprise Linux Server

Para evitar dependencias específicas del hardware, reconstruya initramfs (sistema de archivos RAM inicial). Esto incluye una gama más amplia de controladores y módulos, lo que hace que el sistema operativo sea compatible con otros tipos de instancias. De lo contrario, se producirá un problema conocido que impide que la máquina virtual se inicie correctamente.

Antes de apagar el sistema, ejecute el siguiente comando como root para reconstruir initramfs con todos los controladores:

  sudo dracut --force --no-hostonly

Mueva su carga de trabajo a la nueva VM

Después de preparar sus máquinas virtuales para la migración , el siguiente paso es mover su carga de trabajo a la nueva máquina virtual.

Si va a trasladar sus máquinas virtuales de la serie de máquinas de primera generación a la de segunda generación, lea las instrucciones en la página Editar el tipo de máquina de una máquina virtual . Si desea cambiar el nombre de su VM existente, revise la información en Cambiar el nombre de una VM .

Permisos necesarios para esta tarea

Para realizar esta tarea, debe tener los siguientes permisos :

  • compute.instances.setMachineType en la máquina virtual

Esta sección describe cómo mover su carga de trabajo de una VM de primera o segunda generación a una VM de tercera (o más reciente). Durante este procedimiento, crea una nueva instancia de VM y luego mueve sus cargas de trabajo a la nueva VM.

  1. Al crear la nueva máquina virtual, elija uno de los tipos de disco admitidos para el disco de arranque, por ejemplo, Hyperdisk Balanced.

Crear la nueva máquina virtual

Al mover sus cargas de trabajo de máquinas virtuales de primera o segunda generación (N1 o N2, por ejemplo) a tercera generación o posteriores, primero debe crear una nueva máquina virtual y luego mover sus cargas de trabajo.

  1. Si la máquina virtual de origen utiliza discos que no son de arranque con un tipo de disco compatible con la nueva serie de máquinas, desconecte los discos de la máquina virtual.
  2. Detenga su máquina virtual de origen.
  3. Cree instantáneas de todos los discos que todavía están conectados a la máquina virtual de origen.
  4. Cree una nueva instancia de VM informática utilizando una imagen pública o una imagen personalizada que esté configurada para usar gVNIC . Al crear la nueva VM, elija las siguientes opciones:
    • Seleccione el tipo de máquina de la serie de máquinas que haya elegido.
    • Seleccione una imagen del sistema operativo compatible o utilice una imagen personalizada que haya creado anteriormente.
    • Seleccione un tipo de disco compatible para el disco de arranque.
    • Si creó discos nuevos a partir de instantáneas de los discos originales, incluya esos discos nuevos.
    • Especifique la nueva red de VPC, si está creando la instancia en una región diferente.
    • Si tanto VirtIO como gVNIC son compatibles con la nueva instancia, seleccione gVNIC.
    • Especifique las direcciones IP estáticas, si promovió las direcciones IP efímeras de la máquina virtual de origen.
  5. Inicie la nueva máquina virtual.

Después de que comience la instancia

Ahora que se creó e inició la nueva instancia, complete los siguientes pasos para finalizar la configuración de la nueva instancia y copiar todos los datos de la instancia de origen.

  1. Adjunte los discos que desconectó de la máquina virtual de origen a la nueva máquina virtual.
  2. Para cualquier disco conectado a la VM de origen que utilice un tipo de disco no admitido por la nueva VM, cree un disco a partir de una instantánea y asócielo a la nueva instancia . Al crear el nuevo disco, seleccione un tipo de disco que sea compatible con la nueva máquina virtual y especifique un tamaño que sea al menos tan grande como el disco original.
  3. Si la máquina virtual original usó una política de recursos para cualquier disco que se volvió a crear para la nueva máquina virtual, debe agregar la política de recursos a los discos nuevos.
  4. Si creó la nueva máquina virtual utilizando una imagen pública del sistema operativo y no una imagen personalizada, haga lo siguiente:
    1. Configure los usuarios, controladores, paquetes y directorios de archivos necesarios en la nueva instancia para admitir su carga de trabajo.
    2. Instale sus aplicaciones y programas modificados en la nueva VM. Vuelva a compilar los programas en el nuevo sistema operativo o arquitectura, si es necesario.
  5. Opcional: si movió el contenido de los discos SSD locales a un disco temporal y la nueva máquina virtual tiene almacenamiento SSD local adjunto, después de formatear y montar los discos , puede mover los datos del disco temporal a los discos SSD locales.
  6. Reasigne cualquier dirección IP estática asociada con la máquina virtual de origen a la nueva máquina virtual.
  7. Complete cualquier tarea adicional necesaria para que su nueva máquina virtual tenga alta disponibilidad, como configurar balanceadores de carga y actualizar las reglas de reenvío .
  8. Opcional: actualice las entradas DNS , si es necesario, para la nueva VM.
  9. Recomendado: Programe copias de seguridad de los discos nuevos.
  10. Recomendado: si cambió el sistema operativo a una versión o arquitectura diferente, vuelva a compilar sus aplicaciones.

Si tiene problemas al mover su carga de trabajo, comuníquese con su administrador técnico de cuentas (TAM) o con la organización de servicios profesionales de Google (PSO) para obtener ayuda.

Ejemplo de migración de n1-standard-8 a n4-standard-8

El siguiente ejemplo es una migración de una máquina virtual n1-standard-8 a una máquina virtual n4-standard-8 . La máquina virtual n1-standard-8 tiene un disco de arranque PD-SSD que ejecuta una imagen de Ubuntu1804 y un disco de datos PD-SSD . Debe utilizar la CLI o la API REST para este procedimiento.

Hay dos opciones disponibles para actualizar su VM N1 a una VM N4:

Opción 1: si su VM N1 usa la interfaz de red VirtIO , debe crear una nueva VM N4. N4 solo admite la interfaz de red gvnic y discos Hyperdisk Balanced. Usted crea una instantánea de sus discos de datos y de arranque de disco persistente, crea discos Hyperdisk Balanced a partir de esas instantáneas, conecta los discos Hyperdisk Balanced y crea la nueva máquina virtual N4 con los discos Hyperdisk Balanced.

También puede optar por crear un nuevo disco de arranque Hyperdisk Balanced utilizando una versión más reciente del sistema operativo Ubuntu. En este escenario, puede crear un nuevo disco Hyperdisk Balanced a partir de la instantánea del disco de inicio, pero conecta ese disco como un disco que no es de inicio a la máquina virtual N4. Luego puede copiar datos que no sean del sistema desde la instantánea restaurada al nuevo disco de arranque.

Opción 2: si su máquina virtual N1 usa la interfaz de red gvnic , el sistema operativo tiene un controlador de dispositivo de almacenamiento NVMe, no tiene ningún disco SSD o GPU local conectado y no forma parte de un grupo de instancias administrado (MIG), entonces puede cambiar el tipo de máquina de N1 a N4, pero aún debe cambiar sus tipos de discos de disco persistente a discos equilibrados de hiperdisco. Primero debe desconectar sus discos de datos y de arranque de disco persistente, crear instantáneas de los discos, crear discos Hyperdisk Balanced usando las instantáneas como fuente y luego conectar los nuevos discos Hyperdisk Balanced a su VM N4 después de cambiar el tipo de máquina. Si su máquina virtual tiene GPU conectadas, primero debe desconectarlas .

El tiempo para tomar una instantánea de un disco depende de múltiples factores, como la cantidad total de TB en un disco. Por ejemplo, si toma una instantánea de un disco de 1 TB que está lleno en un 85 %, es posible que la instantánea tarde 5 minutos en completarse. Pero, si toma una instantánea de un disco de 100 TB que está lleno al 85%, es posible que tarde 11 minutos en completarse. Google recomienda realizar instantáneas de prueba de sus discos antes de iniciar el proceso de migración para comprender cuánto tiempo lleva la creación de instantáneas.

nube de gcloud

Opción 1: crear una nueva máquina virtual N4 con discos con instantáneas:

  1. Detenga la máquina virtual mediante la parada de instancias informáticas de gcloud :

    gcloud compute instances stop VM_NAME \
      --zone=ZONE
    

    Reemplace lo siguiente:

    • VM_NAME El nombre de su máquina virtual n1-standard-8 actual.
    • ZONE : La zona donde se encuentra la VM.
  2. Haz una instantánea de tus discos. Usa las instantáneas de computación de gcloud create para crear una instantánea tanto del disco de arranque del disco persistente como del disco de datos conectado a la VM.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk=SOURCE_DISK_NAME \
        --source-disk-zone=SOURCE_DISK_ZONE
    

    Reemplace lo siguiente:

    • SNAPSHOT_NAME : el nombre de la instantánea que deseas crear.
    • SOURCE_DISK_NAME : el nombre de su disco de origen.
    • SOURCE_DISK_ZONE : La zona de su disco de origen.
  3. Cree un nuevo disco Hyperdisk Balanced para el disco de datos repitiendo el paso anterior y especificando la información del disco de datos en lugar del disco de arranque. Los discos de computación de gcloud crean :

    gcloud compute disks create DISK_NAME \
        --project=PROJECT_NAME \
        --type=DISK_TYPE \
        --size=DISK_SIZE \
        --zone=ZONE \
        --source-snapshot=SNAPSHOT_NAME \
        --provisioned-iops=PROVISIONED_IOPS \
        --provisioned-throughput=PROVISIONED_THROUGHPUT
    
    

    Reemplace lo siguiente:

    • DISK_NAME : el nombre del nuevo disco que está creando a partir del disco del que se tomó una instantánea.
    • PROJECT_NAME : El nombre de tu proyecto.
    • DISK_TYPE : el nuevo tipo de disco; en este ejemplo, es un disco hiperdisco equilibrado.
    • DISK_SIZE : El tamaño del disco (ejemplo: 100GB ).
    • ZONE : La zona donde se encuentra el nuevo disco.
    • SNAPSHOT_NAME : el nombre del disco de origen de la instantánea.
    • Opcional: PROVISIONED_IOPS : el rendimiento de IOPS del disco (ejemplo: 3600 ).
    • Opcional: PROVISIONED_THROUGHPUT : el rendimiento para aprovisionar el disco (ejemplo: 290 ).
  4. Repita el paso anterior para cada disco del que se tomó una instantánea.

  5. Cree la máquina virtual n4-standard-8 y conecte los discos Hyperdisk Balanced mediante la creación de instancias informáticas de gcloud :

    gcloud compute instances create VM_NAME \
        --project=PROJECT_NAME \
        --zone=ZONE \
        --machine-type=NEW_MACHINE_TYPE \
        --boot-disk-device-name=BOOT_DISK_NAME \
        --disk=name=NON_BOOT_DISK_NAME, boot=no \
        --network-interface=nic-type=GVNIC
    

    Reemplace lo siguiente:

    • VM_NAME : el nombre de la nueva instancia de VM.
    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra la nueva VM.
    • NEW_MACHINE_TYPE : El tipo de máquina, en este ejemplo es n4-standard-8 .
    • BOOT_DISK_NAME El nombre del disco de arranque Hyperdisk Balanced que creó a partir de la instantánea del disco de origen adjunta a la máquina virtual n1-standard-8 .
    • NON_BOOT_DISK_NAME El nombre del disco de datos Hyperdisk Balanced que creó a partir del disco de instantánea de origen adjunto a la máquina virtual n1-standard-8 .
  6. Inicie la máquina virtual n4-standard-8 usando el inicio de instancias informáticas de gcloud :

    gcloud compute instances start VM_NAME
    

    Reemplace VM_NAME con el nombre de la nueva VM.

Opción 2: realizar una actualización de la máquina in situ:

Esta opción solo está disponible si su VM N1 usa la interfaz de red gvnic , el sistema operativo tiene un controlador de dispositivo de almacenamiento NVMe, no tiene ningún disco SSD o GPU local conectado y no forma parte de un grupo de instancias administrado (MIG). Realizar este procedimiento con una VM N1 con una interfaz de red VirtIO genera un error de incompatibilidad de VM .

  1. Detenga la máquina virtual .
  2. Separe los discos de la VM.
  3. Cree una instantánea de los discos de arranque y de datos.
  4. Cree discos de datos y de arranque equilibrados de Hyperdisk utilizando una instantánea del disco como origen para cada disco.
  5. Configure el tipo de máquina en una VM N4.
  6. Conecte el disco de arranque Hyperdisk Balanced y el disco de datos Hyperdisk Balanced .
  7. Inicie la máquina virtual N4 .

DESCANSAR

Opción 1: crear una nueva máquina virtual N4 con discos con instantáneas:

  1. Detenga la VM utilizando el método instancias.stop :

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
    

    Reemplace lo siguiente:

    • PROJECT_NAME : ID del proyecto.
    • ZONE : La zona que contiene la VM.
    • VM_NAME : el nombre de su máquina virtual n1-standard-8 actual.
  2. Realice una instantánea de sus discos utilizando el método disks.createSnapshot para crear una instantánea tanto del disco de arranque del disco persistente como del disco de datos adjunto a la instancia.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
    

    En el cuerpo de la solicitud, incluya el nombre de su nuevo disco Persistent Disk del que se tomó una instantánea.

    Por ejemplo:

    {
        "name": "SNAPSHOT_NAME"
    }
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.
    • DISK_NAME : el disco del que planeas tomar una instantánea.
    • SNAPSHOT_NAME : un nombre para la instantánea, como hdb-boot-disk o hdb-data-disk .
  3. Cree un disco Hyperdisk Balanced utilizando el método disks.insert . Realiza este paso dos veces: una para incluir el name de su disco de arranque Hyperdisk Balanced; y una segunda vez para incluir el name de sus discos de datos. Utilice la sourceSnapshot para los nuevos discos de datos y de arranque de Hyperdisk Balanced, el type de disco, Hyperdisk Balanced y sizeGB del disco en el cuerpo de la solicitud.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.

    En el cuerpo de la solicitud, incluya lo siguiente:

    Por ejemplo:

    {
        "name": "my-hdb-boot-disk" or "my-hdb-data-disk",
        "sourceSnapshot": "projects/your-project/global/snapshots/SNAPSHOT_NAME",
        "type": "projects/your-project/zones/us-central1-a/diskTypes/hyperdisk-balanced",
        "sizeGb": "100"
    }'
    
  4. Utilice el método instancias.insert para crear la nueva máquina virtual N4.

    
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
    
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.

    En el cuerpo de la solicitud, incluya lo siguiente:

    
      {
        "machineType":"projects/your-project/zones/us-central1-a/machineTypes/n4-standard-8" "name":"VM_NAME",
        "disks": [
          {
            "boot": true,
            "deviceName": "my-hdb-boot-disk",
            "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk",
            "type": "PERSISTENT"
          },
    
          {
            "boot": false,
            "deviceName": "my-hdb-data-disk",
            "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk",
            "type": "PERSISTENT"
          }
          ],
            "networkInterfaces":[
              {
                "network":"global/networks/NETWORK_NAME",
                "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME",
                "nicType": "GVNIC"
              }
           ]
         }
    
    

    Reemplace lo siguiente:

    • VM_NAME : el nombre de la máquina virtual.
    • NETWORK_NAME : El nombre de la red.
    • REGION : El nombre de la región.
    • SUBNET_NAME : el nombre de la subred.
  5. Inicie la VM utilizando el método instancias.start :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su VM.
    • VM_NAME : el nombre de la máquina virtual.

Opción 2: realizar una actualización de la máquina in situ:

Esta opción solo está disponible si su VM N1 usa la interfaz de red gvnic , no tiene ningún disco SSD o GPU local conectado y no forma parte de un grupo de instancias administrado (MIG). Realizar este procedimiento con una VM N1 con una interfaz de red VirtIO genera un error de incompatibilidad de VM .

  1. Detenga la máquina virtual utilizando el método instancias.stop .

  2. Separe los discos utilizando el método instancias.detachDisk para desconectar el disco de arranque del disco persistente original de la máquina virtual N1. También debe desconectar todos los discos de datos de la máquina virtual.

    https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.
    • VM_NAME : el nombre de la máquina virtual de origen con el disco pd-ssd adjunto.
    • DISK_NAME : el disco que desea desconectar.
  3. Instantánea de los discos. Utilice el método disks.createSnapshot para crear una instantánea del disco de arranque del disco persistente y de los discos de datos conectados a la instancia.

  4. Cree un arranque Hyperdisk Balanced y discos de datos usando el método disks.insert, incluya el name de su disco Hyperdisk Balanced, sourceSnapshot para el nuevo disco Hyperdisk Balanced, el type de disco, Hyperdisk Balanced y sizeGB del disco en el cuerpo de la solicitud.

  5. Realice una actualización del tipo de máquina local utilizando el método instancias.setMachineType e incluya el machineType en el cuerpo de la solicitud:

    POST  https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.
    • VM_NAME : el nombre de la VM que se actualizará.
    • MACHINE_TYPE : El nuevo tipo de máquina.

    En el cuerpo de la solicitud, incluya lo siguiente:

    
    {
     "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE",
    }
    
    
  6. Utilice el método instancias.attachDisk para conectar el nuevo disco de arranque Hyperdisk Balanced y los discos de datos Hyperdisk Balanced a la VM N4.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.
    • VM_NAME : el nombre de la instancia de VM de origen con el disco pd-ssd adjunto.
    • DISK_NAME El disco que deseas adjuntar.

    En el cuerpo de la solicitud, incluya lo siguiente:

    {
    "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk",
    "deviceName":"my-hdb-boot-disk","boot":true
    }
    
    {
    "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk",
    "deviceName":"my-hdb-data-disk","boot":false
    }
    
  7. Inicie la máquina virtual N4 utilizando el método instancias.start .

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
    

    Reemplace lo siguiente:

    • PROJECT_NAME : El nombre de tu proyecto.
    • ZONE : La zona donde se encuentra su disco.
    • VM_NAME : el nombre de la máquina virtual.

Limpiar

Después de verificar que puede conectarse a la nueva máquina virtual y que su carga de trabajo se ejecuta según lo esperado en la nueva máquina virtual, puede eliminar los recursos que ya no son necesarios:

  1. Las instantáneas que creó para los discos conectados a la máquina virtual de origen.
  2. Cualquier programación de instantáneas para los discos conectados a la máquina virtual de origen.
  3. El disco temporal creado para copiar los datos del SSD local a la nueva VM.
  4. La máquina virtual de origen y todos los discos conectados.

¿Qué sigue?