Cómo mover tu carga de trabajo a una nueva instancia de procesamiento


En ciertas situaciones, es posible que desees mover tu carga de trabajo de una instancia de máquina virtual (VM) existente a una más reciente. Estos son algunos de los motivos para cambiar a una VM nueva:

  • Aprovecha los nuevos tipos de máquinas para obtener velocidades de almacenamiento o de red más rápidas. Por ejemplo, actualizar de C2 a H3 para mejorar el ancho de banda de las redes.
  • Beneficiarse de un mejor 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 5ª generación.
  • Usar funciones que solo están disponibles en la instancia de VM nueva Por ejemplo, actualizar de N4 a C4 para aprovechar opciones de rendimiento y mantenimiento adicionales.
  • Cambia una instancia de máquina virtual (VM) a una instancia de bare metal.
  • Agrega discos SSD locales a tu instancia de VM C3 o C3D.

Cuando actualices a la serie de máquinas de generación más reciente, es posible que puedas usar el procedimiento más simple que se describe en Cómo editar el tipo de máquina de una instancia de procesamiento si la VM actual (fuente) cumple con las siguientes condiciones:

  • La versión del sistema operativo (SO) es compatible con la nueva serie de máquinas.
  • La serie de máquinas nueva admite el tipo de disco de arranque conectado a la VM de origen.
  • La VM no usa el almacenamiento SSD local.
  • Tu VM con GPUs conectadas usa un tipo de máquina G2. Consulta Agrega o quita GPUs para obtener más información .
  • La VM solo usa funciones compatibles con la nueva serie de máquinas.
  • La VM no forma parte de un grupo de instancias administrado (MIG).
  • La VM usa la interfaz de red gVNIC.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Roles obligatorios

Para obtener los permisos que necesitas para editar o cambiar una VM, pídele a tu administrador que te otorgue los siguientes roles de IAM en el proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra 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 son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

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

  • Para cambiar el tipo de máquina, haz lo siguiente:
    • 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, sigue estos pasos:
    • compute.snapshots.create en el proyecto
    • compute.disks.createSnapshot en el disco
  • Para crear un disco nuevo, sigue estos pasos:
    • 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, sigue estos pasos:
    • compute.instances.attachDisk en la instancia
    • compute.disks.use en el disco
  • Para borrar un disco, sigue estos pasos: compute.disks.delete en el proyecto.
  • Para realizar cambios en el tipo de red, haz lo siguiente:
    • compute.networks.list en el proyecto
    • compute.networks.update en el proyecto

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Evalúa las opciones de migración de VMs

La migración de un tipo de máquina a otro depende de varios factores, como 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 SO invitado de la fuente y la nueva serie de máquinas.

Requisitos de procesamiento

Revisa los siguientes requisitos para tu instancia actual y el nuevo tipo de máquina:

  • Explora la documentación del recurso de familia de máquinas para identificar qué tipos de máquinas son adecuados para tu carga de trabajo. Considera si tu aplicación requiere hardware específico (GPU), un rendimiento alto o costos más bajos.
  • Revisa las funciones de los tipos de discos compatibles con el nuevo tipo de máquina. Hyperdisk es compatible con la mayoría de las funciones de Persistent Disk, pero no con todas. Sin embargo, Hyperdisk proporciona funciones adicionales que no están disponibles con Persistent Disk.
  • Revisa las funciones de la serie de máquinas en cuestión. Es posible que la nueva serie de máquinas no admita las mismas funciones que usas con tu serie de máquinas actual, como los tipos de máquinas personalizados, el SSD local o la VM protegida.
  • Revisa las regiones y zonas para asegurarte de que la nueva serie de máquinas esté disponible en todas las regiones como tu VM actual. Es posible que debas ajustar tus planes de implementación, alta disponibilidad y recuperación ante desastres.
  • Revisa tu plan de migración del SO:
    • Si la VM nueva requiere una versión más reciente del SO, verifica que las aplicaciones sean compatibles con la versión más reciente del SO.
    • Si la migración a Arm y una imagen de Arm no están disponibles para tu versión actual del SO, elige un SO nuevo o una versión del SO para ejecutar tus aplicaciones y verifica que tus aplicaciones sean compatibles con el SO nuevo.
  • Es posible migrar de una instancia de VM C3 a una instancia de Bare Metal C3, siempre que la instancia de VM C3 de origen use un sistema operativo y un controlador de red compatibles.
  • Si pasas de una serie de máquinas que no sea C3 a una instancia de Bare Metal, debes crear una instancia nueva. Es posible que debas ejecutar tu propio hipervisor. Sin embargo, también puedes ejecutar cualquier sistema operativo compatible con C3 Metal, siempre que el controlador de IDPF esté habilitado. Las instancias de Bare Metal usan la interfaz de red de IDPF, que se presenta solo como una función física, no virtual.

Requisitos de almacenamiento

Revisa los siguientes requisitos de almacenamiento para tu instancia actual y el tipo de instancia nuevo:

  • Revisa los tipos de almacenamiento y las interfaces de almacenamiento compatibles con la serie de máquinas nueva.
    • De forma predeterminada, las series de máquinas de primera y segunda generación solo usan el tipo de almacenamiento de Persistent Disk y las interfaces VirtIO-SCSI.
    • Las series de máquinas de tercera generación y posteriores (como M3, C3 y N4) solo admiten la interfaz NVMe, y algunas solo admiten los tipos de almacenamiento Hyperdisk y SSD local.
    • Las instancias de Bare Metal (como C3 y X4) solo admiten Hyperdisk.
  • Compatibilidad con discos:
    • Si el disco de arranque usa un tipo de disco que no es compatible con la nueva serie de máquinas, por ejemplo, pd-standard, debes crear un disco de arranque nuevo para la VM nueva.
    • Si actualizas el SO a una versión nueva y este no es compatible con las actualizaciones in situ, debes crear un disco de arranque nuevo. Se perderán todos los datos del disco de inicio de origen, a menos que los copies en un disco temporal que no sea de inicio. A continuación, creas un disco de arranque nuevo y copias los datos almacenados en el disco temporal que no es de arranque al disco de arranque nuevo.
    • Si no actualizas la versión del SO, puedes tomar una instantánea de tu disco de arranque actual y restablecerlo en el nuevo tipo de disco compatible. Cuando crees una VM, podrás usar este disco nuevo 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, puedes usar una instantánea para cambiar el disco de origen a uno nuevo, como se describe en Cambia el tipo de disco.
  • Los discos SSD locales no se pueden mover a una VM nueva. Puedes conectar un disco lo suficientemente grande como para almacenar todos los datos del SSD local en tu VM actual y, luego, usar una instantánea para cambiar el disco de origen a un tipo de disco nuevo, como se describe en Cambia el tipo de disco. Después de crear una VM con discos SSD locales conectados, puedes volver a copiar los datos en los discos SSD locales.
  • Si tu instancia de VM actual usa discos en un grupo de almacenamiento, pero trasladas tu carga de trabajo a una VM en una región diferente, debes volver a crear los discos y el grupo de almacenamiento en la región nueva.
  • Si la nueva serie de máquinas usa una interfaz de disco diferente (por ejemplo, NVMe en lugar de SCSI), los nombres de los dispositivos de disco en el SO huésped son diferentes. Asegúrate de que tus aplicaciones y secuencias de comandos usen nombres de dispositivos persistentes o vínculos simbólicos cuando hagan referencia a los discos conectados.

Requisitos de Herramientas de redes

Revisa los siguientes requisitos de red para tu instancia actual y el tipo de instancia nueva:

  • Revisa las interfaces de red compatibles con la VM nueva.

    • De forma predeterminada, las series de máquinas de primera y segunda generación solo usan la interfaz de red VirtIO.
    • Las series de máquinas de tercera generación y posteriores (como M3, C3 y N4) solo admiten la interfaz de red gVNIC.
    • Las instancias de Bare Metal solo admiten la interfaz de red IDPF.
  • Asegúrate de que tu aplicación y el sistema operativo admitan las interfaces disponibles para la serie de máquinas.

  • Revisa la configuración de red de tu VM para determinar si necesitas conservar las direcciones IP asignadas. Si es así, debes promover las direcciones IP a direcciones IP estáticas.

  • Si usas el rendimiento de red Tier_1 por VM con tu VM actual, asegúrate de que esté disponible o sea necesario con la nueva serie de máquinas. Por ejemplo, puedes usar redes de nivel 1 con un tipo de máquina C2, pero no es necesario con una VM 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 tu VM tiene un nic-type establecido en VIRTIO, no puedes cambiar el tipo de interfaz de red. Debes crear una VM nueva y configurar el tipo de interfaz de red como gVNIC.

Prepara la migración de tus VMs existentes

Después de completar la sección de evaluación, el siguiente paso es prepararte para mover tus instancias de VM solicitando recursos para la instancia de VM nueva y preparando copias de seguridad de la instancia de VM de origen.

Prepara los recursos de procesamiento

Completa los siguientes pasos para prepararte para trasladar tu instancia actual a una nueva:

  1. Solicita la cuota en la región y las zonas en las que planeas mover tus recursos. Si tienes una cuota existente para un tipo de máquina, puedes solicitar que se mueva esa cuota. El proceso tarda unos días en completarse.
  2. Crea una reserva para las instancias de VM nuevas para asegurarte de que los recursos de la máquina estén disponibles en la región y las zonas nuevas. Asegúrate de comprender cómo se consumen los recursos reservados y prueba que puedes consumir recursos reservados.
  3. Extiende tus planes de alta disponibilidad y recuperación ante desastres para incluir la región nueva.
  4. Si es necesario, actualiza el SO en la VM actual.
    1. Si el proveedor del sistema operativo lo admite, realiza una actualización in situ del SO a una versión compatible con la nueva serie de máquinas y verifica que la carga de trabajo funcione como se espera en la nueva versión del SO.
    2. Si no se admite una actualización in situ del SO, cuando crees una VM nueva, deberás crear un disco de arranque nuevo. Determina qué información debes copiar del disco de arranque actual y cópiala en una ubicación temporal en un disco que no sea de arranque para que se pueda transferir a la VM nueva. Si no tienes discos que no sean de arranque conectados a tu VM actual, haz lo siguiente:
  5. Si corresponde a tu distribución de Linux, verifica 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. Por ejemplo, la siguiente entrada garantiza que el controlador virtio-pci (VirtIO Net) proporcione eth0, 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 instancia nueva:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Prepara los recursos de almacenamiento

Completa los siguientes pasos para prepararte para mover los datos de los discos adjuntos a tu instancia actual a una nueva:

  1. En los sistemas Linux, prueba las aplicaciones y las secuencias de comandos actualizadas para asegurarte de que funcionen con nombres de dispositivos persistentes o symlinks en lugar de los nombres de dispositivos del disco.
  2. Si migras desde una VM que ejecuta Microsoft Windows, haz lo siguiente:
  3. Si tu VM nueva no admite los mismos tipos de discos que tu VM actual, es posible que debas actualizar tus secuencias de comandos de implementación o plantillas de instancias para admitir la nueva serie de máquinas.
  4. Si tu VM actual usa un tipo de disco de arranque que no es compatible con la nueva serie de máquinas y migras varias VMs con la misma configuración, crea una imagen personalizada para usar cuando crees las VMs nuevas:
    1. Crea una instantánea del disco de arranque pd-standard de tu VM actual.
    2. Crea una imagen personalizada con la instantánea del disco como fuente.
  5. Si necesitas mover información de SSD locales, crea un disco en blanco lo suficientemente grande para crear una copia de seguridad de tus discos SSD locales.
    1. Si es posible, usa un tipo de disco compatible con la VM nueva.
    2. Si no hay tipos de disco compatibles con la VM actual y la VM nueva, crea un disco temporal con un tipo de disco compatible con la VM actual.
    3. Conecta el disco nuevo a la VM actual y, luego, formatéalo y actívalo.
    4. Copia los datos de los discos SSD locales conectados a la VM actual a este disco temporal.
  6. Cambia el tipo de disco de los discos conectados a la VM actual que usen un tipo de disco que no sea compatible con la VM nueva. Para mover los datos de los discos a discos nuevos, crea instantáneas de los discos. Como alternativa, puedes transferir archivos de una VM a la otra.

    1. Puedes tomar las instantáneas mientras la VM está en ejecución, pero no se capturan los datos que se escriben en los discos después de tomar la instantánea. Debido a que las instantáneas son incrementales, puedes tomar una segunda instantánea después de detener la VM para capturar todos los cambios más recientes. Este enfoque debería minimizar el tiempo durante el cual la VM está indisponible mientras cambias a una nueva.
    2. Como alternativa, puedes tomar todas las instantáneas del disco después de detener la VM. Te recomendamos que crees una instantánea de todos los discos conectados a tu VM, incluso si el tipo de disco es compatible con la nueva serie de máquinas. Incluye los discos temporales que contengan los datos de SSD locales copiados.
    3. La cantidad de tiempo que se tarda en crear una instantánea de un disco depende de varios factores, como el tamaño del disco y la cantidad de datos que contiene. Por ejemplo, si tomas una instantánea de un disco de 1 TiB que está al 85% de su capacidad, es posible que la instantánea tarde 5 minutos en completarse. Sin embargo, si tomas una instantánea de un disco de 100 TiB que está al 85% de su capacidad, es posible que tarde 11 minutos en completarse. Te recomendamos que realices instantáneas de prueba de tus discos antes de iniciar el proceso de migración para comprender cuánto tiempo tarda la creación de instantáneas.
  7. Si tienes un disco que se puede desconectar, puedes usar el siguiente enfoque para mover los datos a un disco nuevo mientras la VM de origen aún está disponible:

    1. Desconecta el disco de la VM.
    2. Toma una instantánea del disco.
    3. Usa la instantánea para crear un disco nuevo con un tipo de disco compatible con la nueva serie de máquinas. El disco nuevo debe tener el mismo tamaño o ser más grande que el disco de origen.

Prepara los recursos de red

Completa los siguientes pasos para actualizar la configuración de red que usa tu instancia actual para admitir la nueva:

  1. Si tu VM actual no usa gVNIC, debes crear una instancia nueva con una interfaz de red que use gVNIC. Revisa la descripción general del uso de gVNIC con VMs de Compute Engine para comprender los pasos que debes seguir cuando crees una instancia nueva.
  2. Si creas una VM en una región nueva, crea una red de VPC y subredes en la región nueva.
  3. Si configuraste recuentos de colas de NIC personalizados, consulta Asignaciones de cola y cambio del tipo de máquina.
  4. Si deseas conservar las direcciones IP que usa la VM de origen, promociona las direcciones IP a direcciones IP estáticas.
  5. Anula la asignación de la dirección IP estática antes de detener la VM de origen.

Prepara el sistema operativo SUSE Enterprise Linux Server

Para evitar dependencias específicas del hardware, vuelve a compilar el initramfs (sistema de archivos de la 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á el problema conocido que impide que la VM se inicie correctamente.

Antes de cerrar el sistema, ejecuta el siguiente comando como root para volver a compilar initramfs con todos los controladores:

  sudo dracut --force --no-hostonly

Mueve tu carga de trabajo a la VM nueva

Después de preparar tus VMs para la migración, el siguiente paso es mover tu carga de trabajo a la VM nueva.

Si trasladas tus VMs de la primera generación a la serie de máquinas de segunda generación, lee las instrucciones en la página Edita el tipo de máquina de una VM. Si quieres cambiar el nombre de tu VM existente, consulta la información en Cómo cambiar el nombre de una VM.

Permisos necesarios para esta tarea

Para realizar esta tarea, debes tener los siguientes permisos:

  • compute.instances.setMachineType en la VM

En esta sección, se describe cómo mover tu carga de trabajo de una VM de primera o segunda generación a una de tercera generación (o una más reciente). Durante este procedimiento, crearás una instancia de VM nueva y, luego, moverás tus cargas de trabajo a la VM nueva.

  1. Cuando crees la VM nueva, elige uno de los tipos de disco admitidos para el disco de arranque, por ejemplo, Hyperdisk Balanced.

Crea la VM nueva

Cuando muevas tus cargas de trabajo de VMs de primera o segunda generación (N1 o N2, por ejemplo) a la tercera generación o versiones posteriores, primero debes crear una VM nueva y, luego, mover tus cargas de trabajo.

  1. Si la VM de origen usa discos que no son de arranque con un tipo de disco compatible con la nueva serie de máquinas, desconecta los discos de la VM.
  2. Detén tu VM de origen.
  3. Crea instantáneas de todos los discos que aún están conectados a la VM de origen.
  4. Crea una nueva instancia de VM de procesamiento con una imagen pública o una imagen personalizada que esté configurada para usar gVNIC. Cuando crees la VM nueva, elige las siguientes opciones:
    • Selecciona el tipo de máquina de la serie que elegiste.
    • Selecciona una imagen de SO compatible o usa una imagen personalizada que creaste antes.
    • Selecciona un tipo de disco compatible para el disco de arranque.
    • Si creaste discos nuevos a partir de instantáneas de los discos originales, inclúyelos.
    • Especifica la nueva red de VPC si creas la instancia en una región diferente.
    • Si VirtIO y gVNIC son compatibles con la instancia nueva, selecciona gVNIC.
    • Especifica las direcciones IP estáticas si ascendiste las direcciones IP efímeras de la VM de origen.
  5. Inicia la nueva VM.

Después de que se inicia la instancia

Ahora que se creó y se inició la instancia nueva, completa los siguientes pasos para terminar de configurarla y copiar todos los datos de la instancia de origen.

  1. Conecta los discos que desconectaste de la VM de origen a la VM nueva.
  2. Para los discos conectados a la VM de origen que usan un tipo de disco que no es compatible con la VM nueva, crea un disco a partir de una instantánea y conéctalo a la instancia nueva. Cuando crees el disco nuevo, selecciona un tipo de disco que admita la VM nueva y especifica un tamaño que sea, al menos, tan grande como el disco original.
  3. Si la VM original usaba una política de recursos para los discos que se volvieron a crear para la VM nueva, debes agregar la política de recursos a los discos nuevos.
  4. Si creaste la VM nueva con una imagen de SO pública y no una imagen personalizada, haz lo siguiente:
    1. Configura los usuarios, controladores, paquetes y directorios de archivos necesarios en la instancia nueva para admitir la carga de trabajo.
    2. Instala las aplicaciones y los programas modificados en la VM nueva. Vuelve a compilar los programas en el SO o la arquitectura nuevos, si es necesario.
  5. Opcional: Si moviste el contenido de los discos SSD locales a un disco temporal y la nueva VM tiene almacenamiento SSD local conectado, después de formatear y activar los discos, puedes mover los datos del disco temporal a los discos SSD locales.
  6. Reasigna las direcciones IP estáticas asociadas con la VM de origen a la nueva VM.
  7. Completa las tareas adicionales necesarias para que tu nueva VM tenga alta disponibilidad, como configurar balanceadores de cargas y actualizar las reglas de reenvío.
  8. Opcional: Actualiza las entradas de DNS, si es necesario, para la VM nueva.
  9. Opción recomendada: Programa copias de seguridad de disco para los discos nuevos.
  10. Opción recomendada: Si cambiaste el SO a una versión o arquitectura diferente, vuelve a compilar tus aplicaciones.

Si tienes problemas cuando mueves tu carga de trabajo, comunícate con tu administrador técnico de cuentas (TAM) o Professional Services Organization (PSO) de Google para obtener asistencia.

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

En el siguiente ejemplo, se muestra la migración de una VM n1-standard-8 a una VM n4-standard-8. La VM n1-standard-8 tiene un disco de arranque PD-SSD que ejecuta una imagen Ubuntu1804 y un disco de datos PD-SSD. Debes usar la CLI o la API de REST para este procedimiento.

Existen dos opciones disponibles para actualizar tu VM N1 a una VM N4:

Opción 1: Si tu VM N1 usa la interfaz de red VirtIO, debes crear una VM N4 nueva. N4 solo admite la interfaz de red gvnic y los discos Hyperdisk Balanced. Creas una instantánea de los discos de datos y de arranque de tu disco persistente, creas discos de Hyperdisk Balanced a partir de esas instantáneas, los adjuntas, y creas la nueva VM de N4 con los discos de Hyperdisk Balanced.

También puedes crear un nuevo disco de arranque Hyperdisk Balanced con una versión más reciente del SO Ubuntu. En esta situación, puedes crear un nuevo disco Hyperdisk Balanced desde la instantánea del disco de arranque, pero lo conectas como un disco que no es de arranque a la VM N4. Luego, puedes copiar los datos que no son del sistema de la instantánea restablecida al disco de arranque nuevo.

Opción 2: Si tu VM N1 usa la interfaz de red gvnic, el sistema operativo tiene un controlador de dispositivo de almacenamiento NVMe, no tiene discos SSD locales ni GPUs conectados, y no forma parte de un grupo de instancias administrado (MIG), puedes cambiar el tipo de máquina de N1 a N4, pero debes cambiar los tipos de disco de Persistent Disk a discos Hyperdisk Balanced. Primero, debes desconectar los discos de arranque y de datos de tu Persistent Disk, crear instantáneas de los discos, crear discos Hyperdisk Balanced con las instantáneas como fuente y, luego, conectar los nuevos discos Hyperdisk Balanced a tu VM N4 después de cambiar el tipo de máquina. Si tu VM tiene GPUs conectadas, primero debes desconectarlas.

El tiempo para crear una instantánea de un disco depende de varios factores, como la cantidad total de TB en un disco. Por ejemplo, si tomas una instantánea de un disco de 1 TB que está al 85% de su capacidad, es posible que la instantánea tarde 5 minutos en completarse. Sin embargo, si tomas una instantánea de un disco de 100 TB que está al 85% de su capacidad, es posible que tarde 11 minutos en completarse. Google recomienda que realices instantáneas de prueba de tus discos antes de iniciar el proceso de migración para comprender cuánto tiempo tardan las instantáneas.

gcloud

Opción 1: Crea una nueva VM N4 con discos con instantáneas:

  1. Detén la VM con gcloud compute instances stop:

    gcloud compute instances stop VM_NAME \
      --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME Es el nombre de tu VM n1-standard-8 actual.
    • ZONE: Es la zona en la que se encuentra la VM.
  2. Crea instantáneas de tus discos. Usa el comando gcloud compute snapshots create para crear una instantánea del disco de arranque y del disco de datos de Persistent Disk conectados a la VM.

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

    Reemplaza lo siguiente:

    • SNAPSHOT_NAME: Es el nombre de la instantánea que deseas crear.
    • SOURCE_DISK_NAME: Es el nombre de tu disco de origen.
    • SOURCE_DISK_ZONE: Es la zona de tu disco de origen.
  3. Para crear un nuevo disco Hyperdisk Balanced para el disco de datos, repite el paso anterior y especifica la información del disco de datos en lugar del disco de arranque. gcloud compute disks create:

    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
    
    

    Reemplaza lo siguiente:

    • DISK_NAME: Es el nombre del disco nuevo que estás creando a partir del disco con instantánea.
    • PROJECT_NAME: el nombre del proyecto.
    • DISK_TYPE: Es el nuevo tipo de disco. En este ejemplo, es un disco Hyperdisk Balanced.
    • DISK_SIZE: Es el tamaño del disco (por ejemplo, 100GB).
    • ZONE: Es la zona en la que se encuentra el disco nuevo.
    • SNAPSHOT_NAME: Es el nombre del disco de origen de la instantánea.
    • Opcional: PROVISIONED_IOPS: El rendimiento de IOPS del disco (por ejemplo, 3600).
    • Opcional: PROVISIONED_THROUGHPUT: Es el rendimiento de la capacidad de procesamiento para aprovisionar el disco (por ejemplo, 290).
  4. Repite el paso anterior para cada disco con instantánea.

  5. Crea la VM n4-standard-8 y conecta los discos Hyperdisk Balanced con el comando gcloud compute instances create:

    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
    

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM nueva.
    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra la VM nueva.
    • NEW_MACHINE_TYPE: Es el tipo de máquina, en este ejemplo, n4-standard-8.
    • BOOT_DISK_NAME El nombre del disco de arranque Hyperdisk Balanced que creaste a partir de la instantánea del disco de origen conectada a la VM n1-standard-8.
    • NON_BOOT_DISK_NAME Es el nombre del disco de datos Hyperdisk Balanced que creaste a partir del disco de instantáneas de origen conectado a la VM n1-standard-8.
  6. Inicia la VM n4-standard-8 con el comando gcloud compute instances start:

    gcloud compute instances start VM_NAME
    

    Reemplaza VM_NAME por el nombre de la VM nueva.

Opción 2: Realiza una actualización de la máquina sin cambiarla:

Esta opción solo está disponible si tu VM de N1 usa la interfaz de red gvnic, el sistema operativo tiene un controlador de dispositivo de almacenamiento NVMe, no tiene discos SSD locales ni GPUs conectados, y no forma parte de un grupo de instancias administrado (MIG). Si realizas este procedimiento con una VM N1 con una interfaz de red VirtIO, se genera un error de incompatibilidad de VM.

  1. Detén la VM.
  2. Desconecta los discos de la VM.
  3. Crea una instantánea de los discos de arranque y de datos.
  4. Crea discos de arranque y de datos equilibrados de Hyperdisk con una instantánea de disco como fuente para cada disco.
  5. Establece el tipo de máquina en una VM N4.
  6. Conecta el disco de arranque Hyperdisk Balanced y el disco de datos Hyperdisk Balanced.
  7. Inicia la VM de N4.

REST

Opción 1: Crea una nueva VM N4 con discos con instantáneas:

  1. Detén la VM con el método instances.stop:

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: El ID del proyecto
    • ZONE: Es la zona que contiene la VM.
    • VM_NAME: Es el nombre de tu VM n1-standard-8 actual.
  2. Crea instantáneas de tus discos con el método disks.createSnapshot para crear una instantánea del disco de arranque y del disco de datos del Persistent Disk conectado 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, incluye el nombre del nuevo disco de Persistent Disk con instantánea.

    Por ejemplo:

    {
        "name": "SNAPSHOT_NAME"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.
    • DISK_NAME: Es el disco del que deseas crear una instantánea.
    • SNAPSHOT_NAME: Es un nombre para la instantánea, como hdb-boot-disk o hdb-data-disk.
  3. Crea un disco Hyperdisk Balanced con el método disks.insert. Realizas este paso dos veces: una para incluir el name de tu disco de arranque Hyperdisk Balanced y una segunda vez para incluir el name de tus discos de datos. Usa sourceSnapshot para los nuevos discos de arranque y datos de Hyperdisk Balanced, el type del 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
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.

    En el cuerpo de la solicitud, incluye 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. Usa el método instances.insert para crear la nueva VM de N4.

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.

    En el cuerpo de la solicitud, incluye 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"
              }
           ]
         }
    
    

    Reemplaza lo siguiente:

    • VM_NAME: El nombre de la VM.
    • NETWORK_NAME: Es el nombre de la red.
    • REGION: Es el nombre de la región.
    • SUBNET_NAME: Es el nombre de la subred.
  5. Inicia la VM con el método instances.start:

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra tu VM.
    • VM_NAME: El nombre de la VM.

Opción 2: Realiza una actualización de la máquina sin cambiarla:

Esta opción solo está disponible si tu VM N1 usa la interfaz de red gvnic, no tiene discos SSD locales ni GPUs conectados, y no forma parte de un grupo de instancias administrado (MIG). Si realizas este procedimiento con una VM N1 con una interfaz de red VirtIO, se genera un error de incompatibilidad de VM.

  1. Detén la VM con el método instances.stop.

  2. Para desconectar los discos, usa el método instances.detachDisk para desconectar el disco de arranque del Persistent Disk original de la VM N1. También debes desconectar los discos de datos de la VM.

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.
    • VM_NAME: Es el nombre de la VM de origen con el disco pd-ssd conectado.
    • DISK_NAME: Es el disco que deseas desconectar.
  3. Crea una instantánea de los discos. Usa el método disks.createSnapshot para crear una instantánea del disco de arranque y de los discos de datos de Persistent Disk conectados a la instancia.

  4. Crea discos de arranque y de datos de Hyperdisk Balanced con el método disks.insert. Incluye el name de tu disco Hyperdisk Balanced, sourceSnapshot para el nuevo disco Hyperdisk Balanced, el type del disco, Hyperdisk Balanced y sizeGB del disco en el cuerpo de la solicitud.

  5. Realiza una actualización del tipo de máquina sin cambiar de ubicación con el método instances.setMachineType y, luego, incluye el machineType en el cuerpo de la solicitud:

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.
    • VM_NAME: Es el nombre de la VM que se actualizará.
    • MACHINE_TYPE: Es el nuevo tipo de máquina.

    En el cuerpo de la solicitud, incluye lo siguiente:

    
    {
     "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE",
    }
    
    
  6. Usa el método instances.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
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.
    • VM_NAME: Es el nombre de la instancia de VM fuente con el disco pd-ssd conectado.
    • DISK_NAME Es el disco que quieres conectar.

    En el cuerpo de la solicitud, incluye 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. Inicia la VM de N4 con el método instances.start.

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

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • ZONE: Es la zona en la que se encuentra el disco.
    • VM_NAME: El nombre de la VM.

Limpia

Después de verificar que puedes conectarte a la VM nueva y que tu carga de trabajo se ejecuta como se espera en la VM nueva, puedes quitar los recursos que ya no son necesarios:

  1. Las instantáneas que creaste para los discos conectados a la VM de origen
  2. Cualquier programación de instantáneas para los discos que se conectaron a la VM de origen
  3. Es el disco temporal que se crea para copiar los datos del SSD local a la VM nueva.
  4. La VM de origen y todos los discos conectados

¿Qué sigue?