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. El tamaño de un disco persistente no se puede disminuir.

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

  • No se pueden usar como discos de arranque.
  • Admiten la conexión forzada a otra instancia de máquina virtual (VM) en caso de falla de la zona.
  • Se puede crear un disco persistente regional a partir de una instantánea, pero no de una imagen.
  • Existen diferencias en cuanto al rendimiento, que se describen en el documento de opciones de almacenamiento.

El disco persistente regional proporciona replicación sincrónica de datos entre dos zonas de 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. Se calcula que el tiempo de conexión forzada es menor a 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 a 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 se crea tiene un tamaño predeterminado de bloque físico 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 tu disco. Esta función no es compatible con discos de arranque. Si quieres 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 limitaciones siguientes:

  • No se pueden usar como discos de arranque.
  • Se puede 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 se puede usar 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 se pueden 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 de 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 del menú desplegable para aumentar el tamaño de 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, adjúntalo a tu instancia.

Cuando conectas un disco a una instancia, 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 a través de la marcación del cuadro Forzar conexión del disco después de hacer clic en Conectar disco existente.

Una vez conectado el 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, debes incluir la marca --type y especificar pd-ssd. De forma opcional, puedes agregar la marca --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 ejemplo anterior, se ilustra lo siguiente:

    • [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. 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. Ejemplo: europe-west1-a,europe-west1-b.
    • [BLOCK_SIZE] es 4096 (4 KB) o 16384 (16 KB). 4 KB es el tamaño predeterminado del bloque físico. 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. Una vez creado el disco, conéctalo a cualquier instancia en ejecución o detenida. Usa el comando compute instances attach-disk y, también, incluye la marca --disk.

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

    En el ejemplo anterior, se ilustra lo siguiente:

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

    Una vez creado y conectado el disco nuevo a una instancia, debes formatearlo y activarlo 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 de POST para crear un disco persistente regional. En el cuerpo de solicitud compute.regionDisks.insert, inicializa un disco nuevo con un disco name y las propiedades replicaZones. Para crear un disco en blanco, no debes especificar ninguna fuente de imagen ni instantánea. De manera opcional, puedes incluir la propiedad physicalBlockSizeBytes para establecer el tamaño físico del almacenamiento en bloque. Usa el método Beta compute.regionDisks.insert de la API para esta propiedad. Esta función está en versión Beta.

    POST https://compute.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 ejemplo anterior, se ilustra lo siguiente:

    • [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 predeterminado del bloque físico. 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 se deben ubicar las réplicas del disco nuevo.

  2. En la API, debes crear una solicitud POST para el método compute.instances.attachDisk y, a continuación, incluir la URL en el disco persistente que acabas de crear:

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

    En el ejemplo anterior, se ilustra lo siguiente:

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

Una vez creado y conectado el 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 de operación forzada.

Si una zona en la que se ejecuta la instancia de VM no está disponible, puede que sea imposible desconectar un disco de la instancia, ya que no se puede acceder a esta para realizar la operación de desconexión. La conexió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 conexió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 que 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 Instancias de VM.

    Ir a la página Instancias de VM

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

    Los discos se detallan en la página de discos.

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

    La instancia de VM nueva aparecerá en la página de 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 el disco de réplica a una instancia de VM. Incluye la marca --disk-scope y configúrala en regional.

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

En el ejemplo anterior, se ilustra lo siguiente:

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

Una vez forzada la conexión del disco, activa los sistemas de archivos en este 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 para el método compute.instances.attachDisk y, luego, incluye la URL en el disco persistente que acabas de crear. Se necesita el parámetro de consulta forceAttach=true para conectar el disco a la instancia de VM nueva, aunque la instancia principal todavía tenga el disco.

POST https://compute.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 ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la ubicación de la instancia.
  • [INSTANCE_NAME] es el nombre de la instancia a la que 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.

Una vez conectada 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 con 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 de 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. Una vez cambiado 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 gcloud, usa el comando compute disks resize. Especifica la marca --size con el tamaño de disco deseado en GB y la marca --region con la región en la que se encuentra el disco.

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

En el ejemplo anterior, se ilustra lo siguiente:

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

Una vez cambiado 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, debes especificar el parámetro sizeGb y configurarlo en el tamaño deseado del disco en GB.

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

{
 "sizeGb": "[DISK_SIZE]"
}

En el ejemplo anterior, se ilustra lo siguiente:

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

Una vez cambiado 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 opciones siguientes:

Si tienes un disco persistente con datos que quieres 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. Haz clic en el nombre de la instancia en la que deseas conectar el disco. Se abrirá 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 Conectar disco existente.
  5. Selecciona el disco persistente regional de la lista desplegable.
  6. En la sección Modo, selecciona Solo lectura.
  7. Haz clic en Listo.
  8. En la parte inferior de la página de detalles de la instancia, haz clic en Guardar para aplicar los cambios en la instancia.
  9. Conéctate a la instancia y activa el disco.
  10. 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 ejemplo anterior, se ilustra lo siguiente:

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

Una vez conectado el disco, conéctate a la instancia y activa el disco.

Repite este comando para cada instancia en la que quieras agregar este disco en modo de solo lectura.

API

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

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

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

En el ejemplo anterior, se ilustra lo siguiente:

  • [PROJECT_ID] es el ID del proyecto.
  • [ZONE] es la zona de la instancia.
  • [INSTANCE_NAME] es el nombre de la instancia donde quieres 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.

Una vez conectado 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 la 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 ejemplo anterior, se ilustra lo siguiente:

  • [DISK_NAME] es el nombre del disco a partir del cual quieres 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 las marcas --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 ejemplo anterior, se ilustra lo siguiente:

  • [DISK_NAME] es el nombre del disco nuevo.
  • [REGION] es la región donde residirá el disco.
  • [ZONE1] y [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 en la que reside el disco, el nombre del disk en el que realizas la instantánea y createSnapshot.

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

En el ejemplo anterior, se ilustra lo siguiente:

  • [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 de POST para crear un disco persistente regional. En el cuerpo de la solicitud compute.regionDisks.insert, inicializa un disco nuevo y especifica el nombre del disco y las propiedades de las zonas de réplica. Como se trata de un disco de datos, no debes incluir la propiedad sourceImage, ya que crea un disco en blanco:

POST https://compute.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 ejemplo anterior, se ilustra lo siguiente:

  • [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 que se debe restablecer.
  • [ZONE1] y [ZONE2] son las zonas donde residirán las réplicas de los discos persistentes regionales nuevos. ## Próximos pasos
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine