Aumentar el tamaño de un disco persistente


Puedes aumentar el tamaño de tu Persistent Disk cuando tu instancia de máquina virtual requiera más espacio de almacenamiento o límites de rendimiento más altos. Puedes aumentar el tamaño del disco en cualquier momento, tanto si está conectado a una VM en ejecución como si no.

En esta página se explica cómo aumentar el tamaño de un disco persistente. Para aumentar el tamaño de un volumen de Hyperdisk de Google Cloud, consulta Modificar la configuración de un Hyperdisk.

Solo puedes aumentar el tamaño de un disco, no reducirlo. Para reducir el tamaño del disco, debes crear un disco con un tamaño inferior. Hasta que elimines el disco original de mayor tamaño, se te cobrarán ambos discos.

Cuando creas una imagen de Linux personalizada o una imagen de Windows personalizada, debes aumentar manualmente el tamaño de los discos de arranque y no de arranque. Si usas una imagen pública, Compute Engine cambia el tamaño de los discos de arranque automáticamente.

Aumentar el tamaño de un disco no elimina ni modifica los datos del disco, pero, como práctica recomendada, antes de hacer cambios en el sistema de archivos o en las particiones, crea una instantánea para hacer una copia de seguridad del disco.

Compute Engine gestiona el hardware que hay detrás de los discos persistentes, por lo que puedes añadir y cambiar el tamaño de tus discos sin tener que gestionar la franjas ni la redundancia.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    Terraform

    Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      Instala Google Cloud CLI.

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

      If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    Para obtener más información, consulta Set up authentication for a local development environment.

    REST

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

      Instala Google Cloud CLI.

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Roles y permisos necesarios

Para obtener el permiso que necesitas para cambiar el tamaño de un disco persistente, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos en el proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso compute.disks.update, que es necesario para cambiar el tamaño de un disco persistente.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

Aumentar el tamaño de un disco

Para aumentar el tamaño de un disco de arranque o de un disco que no sea de arranque, sigue estos procedimientos:

Consola

  1. En la Google Cloud consola, ve a la página Discos.

    Ir a Discos

  2. En la lista de discos persistentes de tu proyecto, haz clic en el nombre del disco cuyo tamaño quieras cambiar.

  3. En la página de detalles del disco, haz clic en Editar. Es posible que tengas que hacer clic en el menú Más acciones y, a continuación, en Editar.

  4. En el campo Tamaño, introduce el nuevo tamaño del disco. Los discos con tablas de particiones MBR solo pueden cambiar de tamaño hasta 2 TB.

  5. Haz clic en Guardar para aplicar los cambios al disco.

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

gcloud

Usa el comando gcloud compute disks resize y especifica la marca --size con el nuevo tamaño del disco en gibibytes (GiB).

gcloud compute disks resize DISK_NAME \
    --size DISK_SIZE \
    --zone=ZONE

Haz los cambios siguientes:

  • DISK_NAME: el nombre del disco cuyo tamaño quieres cambiar.
  • DISK_SIZE: el nuevo tamaño del disco en gibibytes (GiB). Los discos con tablas de particiones MBR solo pueden cambiar de tamaño hasta 2 TB.
  • ZONE: En el caso de los discos persistentes de zona, especifica la zona en la que se encuentra el disco.

    En el caso de los discos persistentes regionales, usa la marca --region=REGION y especifica la región en la que se encuentra el disco regional.

Terraform

Elige una de las siguientes opciones para cambiar el tamaño de los discos de zona o de los discos persistentes regionales:

Disco de zona

Para cambiar el tamaño de un disco persistente, puedes usar el recurso google_compute_disk y el parámetro size.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

Si incluye el parámetro size junto con el parámetro image o snapshot, el valor de size debe ser igual o superior al tamaño de la imagen o la captura.

Si omite los parámetros image y snapshot, puede asignar al parámetro size un valor inferior al tamaño del disco. Si lo haces, Terraform destruirá el disco y creará un disco persistente vacío.

Disco persistente regional

Para cambiar el tamaño de un disco persistente regional, puedes usar el recurso google_compute_region_disk y el parámetro size.

resource "google_compute_region_disk" "regiondisk" {
  name                      = "region-disk-name"
  snapshot                  = google_compute_snapshot.snapdisk.id
  type                      = "pd-ssd"
  region                    = "us-central1"
  physical_block_size_bytes = 4096
  size                      = 11

  replica_zones = ["us-central1-a", "us-central1-f"]
}

Si incluye el parámetro size junto con el parámetro image o snapshot, el valor de size debe ser igual o superior al tamaño de la imagen o la captura.

Si omite los parámetros image y snapshot, puede asignar al parámetro size un valor inferior al tamaño del disco. Si lo haces, Terraform destruye el disco y crea un disco persistente regional vacío.

REST

Para cambiar el tamaño de un disco persistente, crea una solicitud POST al método compute.disks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/resize
{
  "sizeGb": "DISK_SIZE"
}

Para cambiar el tamaño de un disco persistente regional, crea una solicitud POST al método compute.regionDisks.resize.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME/resize
{
   "sizeGb": "DISK_SIZE"
}

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • ZONE: En el caso de los discos persistentes de zona, la zona en la que se encuentra el disco.
  • REGION: En el caso de los discos persistentes regionales, la región en la que se encuentra el disco.
  • DISK_NAME: el nombre del disco cuyo tamaño se va a cambiar.
  • DISK_SIZE: el nuevo tamaño del disco en gibibytes (GiB). Los discos con tablas de particiones MBR solo pueden cambiar de tamaño hasta 2 TB.

Cambiar el tamaño del sistema de archivos y las particiones

Después de aumentar el tamaño de un disco, es posible que tengas que cambiar el tamaño de su sistema de archivos y sus particiones. En la siguiente lista se muestra información adicional sobre los discos de arranque y los que no son de arranque:

  • Disco de arranque: si usas una imagen de Linux personalizada o una imagen de Windows personalizada, debes cambiar el tamaño de la partición raíz y del sistema de archivos manualmente. En el caso de las VMs con imágenes públicas, Compute Engine cambia automáticamente el tamaño de la partición raíz y del sistema de archivos después de aumentar el tamaño del disco de arranque y reiniciar la VM.

  • Disco no de arranque: después de aumentar el tamaño del disco, debes ampliar el sistema de archivos del disco para usar el espacio añadido.

En el siguiente ejemplo se muestra cómo cambiar manualmente el tamaño de la partición raíz y del sistema de archivos de un disco de arranque, así como el tamaño del sistema de archivos de un disco de datos que no es de arranque y que no tiene tabla de particiones. En este ejemplo se da por supuesto que el disco está conectado mediante SCSI y que se ha formateado y montado anteriormente.

Si tu disco persistente se ha conectado mediante NVMe, consulta Cambiar el tamaño del sistema de archivos y las particiones para ver un ejemplo de salida de los discos conectados mediante NVMe.

Máquinas virtuales Linux

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Junto a la instancia que tiene el nuevo disco adjunto, haz clic en el botón SSH. El navegador abre una conexión de terminal a la instancia.

  3. Usa los comandos df y lsblk para mostrar el tamaño del sistema de archivos y buscar los nombres de los dispositivos de tus discos.

    $ sudo df -Th
    
    Filesystem      Type     Size   Used  Avail  Use%  Mounted on
    /dev/sda1       ext4     9.7G   1.2G   8.5G   12%  /
    /dev/sdb        ext4     250G    60M   250G    1%  /mnt/disks/disk-1
    
    
    $ sudo lsblk
    
    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda       8:0    0   20G  0 disk
    └─sda1    8:1    0   10G  0 part /
    sdb       8:16   0  500G  0 disk /mnt/disks/disk-1
    
    

    Este ejemplo incluye los siguientes discos:

    • Disco de arranque: la partición /dev/sda1 está en un disco de arranque cuyo tamaño se ha cambiado a 20 GB. La tabla de particiones y el sistema de archivos solo proporcionan 9,7 GB al sistema operativo.
    • Disco de datos no de arranque: el disco de datos no de arranque /dev/sdb no tiene tabla de particiones, pero el sistema de archivos de ese disco solo proporciona 250 GB al sistema operativo. El directorio de montaje de este disco es /mnt/disks/disk-1.

    El comando df muestra que la partición /dev/sda1 está montada como sistema de archivos raíz y que el disco /dev/sdb está montado como disco de datos no de arranque en /mnt/disks/disk-1. Fíjate en la columna Tipo, que indica si tu disco usa un sistema de archivos ext4 o xfs.

  4. Verifica el tipo de partición:

    sudo parted -l
    
    También puedes ver la información de un disco específico:
    sudo parted -l /dev/DEVICE_NAME
    
    Busca el campo Tabla de particiones. Si el valor es msdos, el disco tiene un tipo de partición MBR. Esto significa que el tamaño máximo de este disco es de 2 TB.

  5. Cambia el tamaño de la partición raíz y del sistema de archivos en el disco de arranque. En este ejemplo, se da por supuesto que la imagen de VM no admite la creación automática de particiones raíz ni el cambio de tamaño del sistema de archivos.

    1. Cambia el tamaño de la partición raíz con parted. Por ejemplo, los siguientes comandos amplían la partición 1 de /dev/sda al tamaño máximo posible:

      1. Abre parted en la partición /dev/sda:

        sudo parted /dev/sda
      2. En la petición (parted), introduce lo siguiente:

        resizepart
      3. En la petición Partition number?, introduce lo siguiente:

        1
      4. En la petición Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?, introduce lo siguiente:

        Yes
      5. En la petición End?, introduce

        100%
      6. En la petición (parted), introduce lo siguiente:

        quit
    2. Lee la nueva tabla de particiones con partprobe.

      sudo partprobe /dev/sda
      
    3. Amplía el sistema de archivos:

      • Si usas ext4, usa el comando resize2fs:

        sudo resize2fs /dev/sda1
        
      • Si usas xfs, usa el comando xfs_growfs:

        sudo xfs_growfs -d /
        
      • Si usas btrfs, usa el comando btrfs:

        sudo btrfs filesystem resize max /
        
  6. Cambia el tamaño del sistema de archivos del disco de datos que no es de arranque.

    • Si usas ext4, usa el comando resize2fs para ampliar el sistema de archivos:

      sudo resize2fs /dev/DEVICE_NAME
      

      Sustituye DEVICE_NAME por el nombre del dispositivo del disco. En este ejemplo, el nombre del dispositivo es /dev/sdb.

    • Si usas xfs, usa el comando xfs_growfs para ampliar el sistema de archivos:

      sudo xfs_growfs MOUNT_DIR
      

      Sustituye MOUNT_DIR por el punto de montaje del dispositivo. Puedes encontrar el punto de montaje en la columna MOUNTPOINT del resultado del comando lsblk.

    • Si usas btrfs, utiliza el comando btrfs para ampliar el sistema de archivos:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      Sustituye MOUNT_DIR por el punto de montaje del dispositivo. Puedes encontrar el punto de montaje en la columna MOUNTPOINT del resultado del comando lsblk.

  7. Usa el comando df para verificar que el sistema de archivos se ha ampliado. Por ejemplo:

    df -h /dev/sdb
    
    Filesystem  Size  Used  Avail  Use%  Mounted on
    /dev/sdb    493G   70M  492G     1%  /mnt/disks/disk-1
    

Máquinas virtuales de Windows

Usa la utilidad Administración de discos de Windows para cambiar el tamaño de las particiones de una instancia de Windows.

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Junto a la instancia que tiene el disco redimensionado, haz clic en el botón RDP. El navegador abre una conexión RDP a la instancia.

  3. Haz clic con el botón derecho en el botón Inicio de Windows y selecciona Administración de discos para abrir la herramienta.

    Seleccionando la herramienta Administrador de discos de Windows en el menú que aparece al hacer clic con el botón derecho en el botón Inicio de Windows.

  4. Para ver el tipo de partición de los discos, ejecuta el siguiente comando en PowerShell:

    Get-Disk
    
    En la columna Estilo de partición, si el valor es MBR, el disco tiene un tipo de partición MBR. Esto significa que el tamaño máximo de este disco sería de 2 TB.

  5. Actualiza la herramienta Administración de discos para que reconozca el espacio adicional de tu disco persistente de zona. En la parte superior de la ventana Administración de discos, haz clic en Acción y selecciona Actualizar.

    Hacer clic en el menú de acciones y seleccionar Actualizar para actualizar la información del disco persistente zonal en la herramienta Gestión de discos.

  6. En el disco cuyo tamaño has cambiado, haz clic con el botón derecho en la partición formateada y selecciona Ampliar volumen.

    Hacer clic con el botón derecho en la parte formateada del disco y seleccionar la opción Ampliar volumen.

  7. Sigue las instrucciones del Asistente para ampliar volumen para ampliar la partición actual e incluir el espacio en disco adicional. Si la partición ya está formateada en NTFS, el tamaño máximo de la partición está limitado por la configuración del tamaño de clúster.

  8. Una vez que hayas completado el asistente y el volumen haya terminado de formatearse, consulta la columna Status de la lista de discos adjuntos para asegurarte de que el nuevo disco tiene el estado Healthy.

    Consulta la lista de discos que reconoce Windows y comprueba que la instancia esté online y tenga el estado Correcto.

No es necesario que reinicies la VM después de completar este proceso. Ahora puedes usar el espacio en disco añadido para almacenar datos.

Siguientes pasos