Agrega discos persistentes regionales o modifica su tamaño

En esta página, se explica cómo agregar y administrar recursos de almacenamiento para discos persistentes regionales. Cuando cambias el tamaño de un disco persistente regional, solo puedes aumentar su tamaño. No puedes disminuir el tamaño de un disco persistente.

Los discos persistentes regionales tienen cualidades similares a los discos persistentes zonales, pero tienen las siguientes diferencias:

  • No se pueden usar como discos de arranque.
  • Admiten la conexión forzada a otra instancia de VM en caso de falla de la zona.
  • Puedes crear un disco persistente regional a partir de una instantánea, pero no de una imagen.
  • Existen diferencias de rendimiento, que se describen en el documento Opciones de almacenamiento.

El disco persistente regional proporciona la replicación sincrónica de datos entre dos zonas en una región. En el caso improbable de una falla de zona, la carga de trabajo puede conmutar por error en otra instancia de VM en la misma zona o en una zona secundaria. Luego, puedes realizar la conexión forzada del disco persistente regional a esa instancia. El tiempo de conexión forzada se estima en menos de un minuto.

La práctica recomendada es realizar una copia de seguridad de los discos persistentes regionales mediante el uso de instantáneas para evitar la pérdida involuntaria de datos.

El disco persistente regional es una opción adecuada para tener en cuenta cuando diseñas sistemas robustos y para servicios de bases de datos con estado, como MySQL y Postgres que requieren alta disponibilidad.

Consulta las Opciones de almacenamiento de Compute Engine para comparar recursos y su rendimiento.

Cada disco persistente que creas tiene un tamaño de bloque físico predeterminado de 4 KB. Si la aplicación de base de datos requiere un mayor tamaño de bloque físico, puedes seleccionar 16 KB cuando creas el disco. Esta función no es compatible con los discos de arranque. Si deseas cambiar el tamaño del bloque físico de un disco existente, debes realizar una instantánea del disco y, luego, crear un disco nuevo. No puedes editar directamente el tamaño del bloque físico del disco.

Antes de comenzar

Limitaciones

El disco persistente regional tiene las siguientes limitaciones:

  • No se puede usar como disco de arranque.
  • Puedes crear un disco persistente regional a partir de una instantánea, pero no de una imagen.
  • El tamaño mínimo de un disco persistente estándar regional es de 200 GB.
  • No puedes utilizar un disco persistente regional con un tipo de máquina con optimización de memoria.

Agrega un disco persistente regional a tu instancia

Crea un disco persistente estándar regional o un disco persistente SSD regional y conéctalo a una instancia. Si no tienes ninguna instancia, primero debes crear una instancia nueva y, luego, iniciarla. Debes crear la instancia en la misma región que los discos.

Console

Primero debes crear el disco persistente regional y, luego, conectarlo a una instancia existente. No puedes crear discos persistentes regionales como discos de arranque, ya que no se puede realizar la conexión forzada durante una conmutación por error.

Crea un disco persistente regional.

  1. Ve a la página Discos.

    Ir a la página Discos

  2. Selecciona tu proyecto.
  3. Haz clic en Crear disco.
  4. Especifica un Nombre para el disco.
  5. Elige un Tipo de disco.
  6. Marca el cuadro Replicar este disco dentro de la región.
  7. Selecciona la región.

    Anota la región porque debes seleccionarla cuando crees la instancia.

  8. Selecciona dos zonas en esa región y haz clic en Aceptar.

    Debes seleccionar dos zonas. Anota las zonas que selecciones porque debes conectar el disco a la instancia en una de esas zonas.

  9. Elige el Tipo de origen.
  10. De forma opcional, elige el Tamaño de bloque físico (KB). El tamaño predeterminado del disco es de 4 KB. Sin embargo, puedes seleccionar 16 KB en el menú desplegable para aumentar el tamaño del bloque físico del disco. Esta función está en versión Beta.
  11. Selecciona la Encriptación.
  12. Haz clic en Crear para terminar la creación del disco.

Después de crear el disco persistente regional, conéctalo a la instancia.

Cuando conectas un disco a una instancia existente, puedes recibir un mensaje de error si el disco ya está conectado a otra instancia. Es posible que debas forzar la conexión del disco a la instancia marcando el cuadro Forzar conexión en el menú desplegable Discos adicionales.

Después de conectar un disco nuevo a una instancia, debes formatear y activar el disco para que el sistema operativo pueda usar el espacio de almacenamiento disponible.

gcloud

Crea y adjunta un disco persistente regional con la herramienta de gcloud:

  1. Usa el comando compute disks create para crear discos persistentes regionales nuevos. Si necesitas un disco persistente SSD regional para aumentar el rendimiento o las IOPS, incluye el marcador --type y especifica pd-ssd. De forma opcional, agrega el marcador --physical-block-size para establecer el tamaño del bloque físico. Si incluyes esta marca, debes usar el comando beta compute disks create. Esta función está en versión Beta.

    gcloud beta compute disks create [DISK_NAME] \
        --size [DISK_SIZE] \
        --type [DISK_TYPE] \
        --region [REGION] \
        --replica-zones [ZONE1],[ZONE2] \
        --physical-block-size [BLOCK_SIZE]
    

    en el que:

    • [DISK_NAME] es el nombre del disco nuevo.
    • [DISK_SIZE] es el tamaño en GB del disco nuevo.
    • [DISK_TYPE] es el tipo de disco persistente. Ya sea pd-standard o pd-ssd.
    • [REGION] es la región donde residirá el disco regional. Por ejemplo, europe-west1.
    • [ZONE1] y [ZONE2] son las zonas dentro de la región donde se encuentran las dos réplicas del disco.
      Debes seleccionar dos zonas. Por ejemplo, europe-west1-a,europe-west1-b.
    • [BLOCK_SIZE] es 4096 (4 KB) o 16384 (16 KB). 4 KB es el tamaño de bloque físico predeterminado. 16 KB es un tamaño mayor de bloque físico. Usa el comando beta compute disks create con esta marca. Esta función está en versión Beta.
  2. Después de crear el disco, conéctalo a cualquier instancia en ejecución o detenida. Usa el comando compute instances attach-disk junto con la marca --disk.

    gcloud compute instances attach-disk [INSTANCE_NAME] \
        --disk [DISK_NAME]
    

    en el que:

    • [INSTANCE_NAME] es el nombre de la instancia donde estás agregando los discos persistentes regionales nuevos.
    • [DISK_NAME] es el nombre del disco nuevo que estás conectando a la instancia.

    Después de crear y conectar un disco nuevo a una instancia, debes formatear y activar el disco para que el sistema operativo pueda usar el espacio de almacenamiento disponible.

  3. Usa el comando compute disks describe para ver una descripción del disco. La respuesta incluirá el tamaño de bloque físico del disco.

API

  1. En la API, realiza una solicitud POST para crear un disco persistente regional. En el cuerpo de la solicitud compute.regionDisks.insert, inicializa un disco nuevo con un name de disco y las propiedades replicaZones. Para crear un disco en blanco, no especifiques ninguna fuente de imagen o instantánea. De forma opcional, incluye la propiedad physicalBlockSizeBytes para establecer el tamaño de almacenamiento en bloque físico. Usa el método Beta compute.regionDisks.insert de la API para esta propiedad. Esta función está en versión Beta.

    POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/regions/[REGION]
    
    {
     "name": "[DISK_NAME]",
     "physicalBlockSizeBytes": "[BLOCK_SIZE]",
     "replicaZones": [
       "projects/[PROJECT_ID]/zones/[ZONE1]",
       "projects/[PROJECT_ID]/zones/[ZONE2]"
       ],
     }
    

    en el que:

    • [PROJECT_ID] es el ID del proyecto.
    • [DISK_NAME] es el nombre del disco nuevo.

    • [BLOCK_SIZE] es 4096 (4 KB) o 16384 (16 KB). 4 KB es el tamaño de bloque físico predeterminado. 16 KB es un tamaño mayor de bloque físico. Usa el método Beta compute.regionDisks.insert de la API para esta propiedad. Esta función está en versión Beta.

    • [ZONE1] y [ZONE2] son las zonas donde deben ubicarse las réplicas del disco nuevo.

  2. En la API, realiza una solicitud POST para el método compute.instances.attachDisk y, luego, incluye la URL del disco persistente que acabas de crear:

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk
    
    {
     "source": "/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
    }
    

    en el que:

    • [PROJECT_ID] es el ID del proyecto.
    • [ZONE] es la ubicación de la instancia.
    • [INSTANCE_NAME] es el nombre de la instancia en la que agregas el disco persistente nuevo.
    • [DISK_NAME] es el nombre del disco nuevo.

Después de crear y conectar un disco nuevo a una instancia, debes formatear y activar el disco para que el sistema operativo pueda usar el espacio de almacenamiento disponible.

Accede a un disco persistente regional durante una falla de zona

En el caso improbable de una interrupción zonal, el disco persistente regional se puede conmutar por error en una instancia de VM en otra zona mediante el comando force-attach.

Si una zona donde se está ejecutando la instancia de VM no está disponible, puede que sea imposible desconectar un disco de la instancia porque no se puede acceder a esta para realizar la desconexión. La desconexión forzada permite conectar un disco persistente regional a una instancia de VM, incluso si ese disco está conectado a otra instancia.

Una vez que completes la operación de conexión forzada, Compute Engine evita que la VM original escriba en el disco. La desconexión forzada permite volver a acceder de forma segura a los datos y recuperar el servicio.

Una operación de escritura se confirma en una VM solo cuando persiste de manera duradera en ambas réplicas. Si una de las réplicas no está disponible, Compute Engine escribe solo en la réplica en buen estado. Cuando se realiza una copia de seguridad de la réplica en mal estado en función de lo que determina Compute Engine, esta se sincroniza con transparencia con la réplica en buen estado y se reanuda el modo sincrónico completo de la operación. Esta operación es transparente para una VM.

En el caso poco común de que ambas réplicas no estén disponibles al mismo tiempo, o la réplica en buen estado no esté disponible mientras la otra se sincroniza, el disco correspondiente no estará disponible.

También tienes la opción de cerrar la instancia de forma manual después de realizar la conexión forzada.

Falla dentro de la zona

También es posible forzar la conexión del disco persistente regional a una instancia de VM en la misma zona. Esta opción de conmutación por error dentro de la zona está disponible para manejar las interrupciones que causa una configuración incorrecta de la VM, una mala actualización del SO o cualquier otro modo de falla.

Console

Crea una instancia de VM en espera y realiza la conexión forzada de un disco a una instancia.

  1. Ve a la página de VM Instances.

    Ir a la página de VM Instances

  2. Selecciona tu proyecto.
  3. Especifica un Nombre para la instancia.
  4. Selecciona la región donde reside el disco persistente regional.
  5. Selecciona la zona alternativa de la instancia de VM original donde se conectó el disco.

    Los discos se detallan en la página Discos.

  6. Haz clic en Administración, discos, redes, Llaves SSH.
  7. Haz clic en Discos.
  8. En Discos adicionales, haz clic en + Conectar disco existente.
  9. Selecciona el disco persistente regional en el menú desplegable.
  10. Marca el cuadro para realizar la conexión forzada del disco.
  11. Haz clic en Listo.
  12. Haz clic en Crear para terminar la creación de esta instancia.

    La instancia de VM nueva aparecerá en la página Instancias de VM.
    Sigue los mismos pasos para forzar la conexión de un disco a la instancia original una vez que la zona se recupere de su interrupción.

gcloud

En la herramienta de gcloud, usa el comando instances attach-disk para conectar la réplica del disco a una instancia de VM. Incluye el marcador --disk-scope y configúralo en regional.

gcloud compute instances attach-disk [INSTANCE_NAME]  \
    --disk [DISK_NAME] \
    --disk-scope regional \
    --force-attach

en el que:

  • [INSTANCE_NAME] es el nombre de la instancia de VM nueva en la región.
  • [DISK_NAME] es el nombre del disco.

Después de forzar la conexión del disco, activa los sistemas de archivos en el disco, si es necesario. La instancia puede usar el disco con conexión forzada para continuar las operaciones de lectura y escritura.

API

Realiza una solicitud POST al método compute.instances.attachDisk y, luego, incluye la URL al disco persistente que acabas de crear. Se necesita el parámetro de la consulta forceAttach=true para conectar el disco a la instancia de VM nueva, aunque la instancia principal todavía tenga el disco.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk?forceAttach=true

{
 "source": "projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]"
}

en el que:

  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la ubicación de la instancia.
  • [INSTANCE_NAME] es el nombre de la instancia donde estás agregando el disco persistente nuevo.
  • [REGION] es la región donde se encuentra el disco persistente regional nuevo.
  • [DISK_NAME] es el nombre del disco nuevo.

Después de conectar la réplica del disco, activa los sistemas de archivos en los discos, si es necesario. La instancia puede usar la réplica del disco para continuar las operaciones de lectura y escritura.

Cambia el tamaño de un disco persistente regional

Si las instancias con discos persistentes regionales requieren más espacio de almacenamiento, IOPS o rendimiento, puedes cambiar el tamaño de los discos. Si necesitas separar los datos en volúmenes únicos, crea varios discos secundarios para la instancia. Puedes cambiar el tamaño de los discos en cualquier momento, independientemente de si el disco está conectado a una instancia en ejecución.

El comando para cambiar el tamaño de un disco persistente regional es idéntico al que se utiliza para cambiar el tamaño de uno estándar, sin embargo, existe un marcador adicional para la región.

Console

Cambia el tamaño de un disco persistente regional.

  1. Ve a la página Discos.

    Ir a la página Discos

  2. Selecciona el disco al que deseas cambiar el tamaño.
  3. Haz clic en Editar en la parte superior de la página.
  4. Ingresa el tamaño en GB para el disco.

    Solo puedes aumentar el tamaño del disco. No puedes disminuir su tamaño.

  5. Haz clic en Guardar.
  6. Después de cambiar el tamaño del disco, debes cambiar el tamaño del sistema de archivos para que el sistema operativo pueda acceder al espacio adicional.

    El tamaño nuevo del disco se muestra en la lista de discos.

gcloud

En la herramienta de gcloud, usa el comando compute disks resize. Especifica el marcador --size con el tamaño de disco deseado en GB y el marcador --region con la región donde se encuentra el disco.

gcloud compute disks resize [DISK_NAME] \
    --region [REGION]  \
    --size [DISK_SIZE]

en el que:

  • [DISK_NAME] es el nombre del disco al que le cambias el tamaño.
  • [REGION] es la región donde se encuentra el disco.
  • [DISK_SIZE] es el tamaño nuevo del disco en GB.

Después de cambiar el tamaño del disco, debes cambiar el tamaño del sistema de archivos para que el sistema operativo pueda acceder al espacio adicional.

API

En la API, realiza una solicitud POST para el método compute.regionDisks.resize. En el cuerpo de la solicitud, especifica el parámetro sizeGb y establece el tamaño deseado del disco en GB.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/resize

{
 "sizeGb": "[DISK_SIZE]"
}

en el que:

  • [PROJECT_ID] es el ID del proyecto.
  • [REGION] es la región donde se encuentra el disco.
  • [DISK_NAME] es el nombre del disco al que le cambias el tamaño.
  • [DISK_SIZE] es el tamaño nuevo del disco en GB.

Después de cambiar el tamaño del disco, debes cambiar el tamaño del sistema de archivos para que el sistema operativo pueda acceder al espacio adicional.

Comparte un disco persistente regional entre varias instancias

Puedes conectar un disco persistente que no sea de inicio a más de una instancia de máquina virtual en modo de solo lectura, lo que te permite compartir datos estáticos entre varias instancias. Compartir estos datos entre varias instancias desde un disco persistente es más económico que replicar los datos en discos únicos para instancias individuales.

Si conectas un disco persistente a varias instancias, todas esas instancias deben conectar el disco persistente en modo de solo lectura. No es posible conectar el disco persistente a varias instancias en modo de lectura-escritura. Si necesitas compartir espacio de almacenamiento dinámico entre varias instancias, puedes usar una de las siguientes opciones:

Si tienes un disco persistente con datos que deseas compartir entre varias instancias, desconéctalo de cualquier instancia en modo de lectura-escritura y conéctalo a una o más instancias en modo de solo lectura.

Console

  1. Ve a la página Instancias para ver la lista de instancias del proyecto.

    Ir a la página Instancias

  2. En la columna Nombre, haz clic en el nombre de la instancia a la que deseas conectar el disco. Se abre la página de detalles de la instancia.
  3. En la parte superior de esta página, haz clic en Editar.
  4. En la sección Discos adicionales, haz clic en Agregar elemento para agregar un disco a la lista de discos persistentes que no son de inicio.
  5. En la columna Nombre, haz clic en Seleccionar un disco y, luego, en el nombre del disco que deseas conectar. Si creas un disco nuevo que no es de arranque, configura sus propiedades y haz clic en Crear para aplicar los cambios.
  6. En la columna Modo, haz clic en Lectura/Escritura y cámbialo a Solo lectura.
  7. En la parte inferior de la página de detalles de la instancia, haz clic en Guardar para aplicar los cambios en la instancia.
  8. Conéctate a la instancia y activa el disco.
  9. Repite este proceso para agregar el disco a otras instancias en modo de solo lectura.

gcloud

En la herramienta de gcloud, usa el comando compute instances attach-disk y especifica la marca --mode con la opción ro.

gcloud beta compute instances attach-disk [INSTANCE_NAME] --disk [DISK_NAME] \
    --disk-scope regional --mode ro

en el que:

  • [INSTANCE_NAME] es el nombre de la instancia donde deseas conectar el disco persistente.
  • [DISK_NAME] es el nombre del disco que deseas conectar.

Después de conectar el disco, conéctate a la instancia y activa el disco.

Repite este comando para cada instancia donde deseas agregar este disco en modo de solo lectura.

API

En la API, realiza una solicitud POST al método compute.instances.attachDisk. En el cuerpo de la solicitud, especifica el parámetro mode como READ_ONLY.

POST https://www.googleapis.com/compute/beta/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/attachDisk

{
 "source": "regions/[REGION]/disks/[DISK_NAME]",
 "mode": "READ_ONLY"
}

en el que:

  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la zona de la instancia.
  • [INSTANCE_NAME] es el nombre de la instancia donde deseas conectar el disco persistente.
  • [REGION] es la región donde se encuentra el disco.
  • [DISK_NAME] es el nombre del disco que estás conectando.

Después de conectar el disco, conéctate a la instancia y activa el disco.

Repite esta solicitud para cada instancia donde deseas agregar este disco en modo de solo lectura.

Migra un disco persistente zonal a un disco persistente regional

Para convertir los discos persistentes zonales existentes en discos persistentes regionales, realiza una instantánea del disco actual y crea un disco persistente regional a partir de esa instantánea.

gcloud

En el herramienta de gcloud, usa el comando compute disks snapshot y especifica las marcas --zone y --snapshot-name.

gcloud compute disks snapshot [DISK_NAME] \
    --zone [ZONE] \
    --snapshot-name [SNAPSHOT_DISK_NAME]

en el que:

  • [DISK_NAME] es el nombre del disco del que deseas realizar una instantánea.
  • [ZONE] es la ubicación donde se encuentra el disco zonal de origen.
  • [SNAPSHOT_DISK_NAME] es el nombre del disco en el que se realizó la instantánea.

Crea un disco regional a partir de una instantánea del disco zonal con compute disks create. Especifica el nombre del disco y los marcadores --region, --replica-zones y --source-snapshot.

gcloud compute disks create [DISK_NAME] \
    --region [REGION] \
    --replica-zones [ZONE1],[ZONE2] \
    --source-snapshot [SNAPSHOT_DISK_NAME]

en el que:

  • [DISK_NAME] es el nombre del disco nuevo.
  • [REGION] es la región donde residirá el disco.
  • [ZONE1] , [ZONE2] son las zonas donde residirán las réplicas de los discos persistentes regionales nuevos.
  • [SNAPSHOT_DISK_NAME] es el nombre del disco de instantánea de origen.

Puedes usar el mismo método para migrar discos regionales a discos zonales.

API

En la API, realiza una solicitud POST al método compute.disk.createSnapshot para crear una instantánea de un disco. En el cuerpo de la solicitud, especifica la zone donde reside el disco, el nombre del disk en el que realizas la instantánea y createSnapshot.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/disks/[DISK_NAME]/createSnapshot

en el que:

  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la zona donde se encuentra el disco.
  • [DISK_NAME] es el nombre del disco del que realizas la instantánea.

En la API, realiza una solicitud POST para crear un disco persistente regional. En el cuerpo de la solicitud compute.regionDisks.insert, inicializa un disco nuevo y especifica su nombre y las propiedades de las zonas de réplica. Como se trata de un disco de datos, no incluyas la propiedad sourceImage, ya que crea un disco en blanco:

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/regions/[REGION]/disks

{
 "name": "[DISK_NAME]",
 "sourceSnapshot": "global/snapshots/[SNAPSHOT_NAME]",
 "replicaZones": [
 "projects/[PROJECT_ID]/zones/[ZONE1]",
 "projects/[PROJECT_ID]/zones/[ZONE2]"
 ],
}

en el que:

  • [PROJECT_ID] es el ID del proyecto.
  • [REGION] es la región donde residirá el disco.
  • [DISK_NAME] es el nombre del disco nuevo.
  • [SNAPSHOT_NAME] es la instantánea para restablecer.
  • [ZONE1] , [ZONE2] son las zonas donde residirán las réplicas de los discos persistentes regionales nuevos. ## Qué sigue
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine