Modifica el tamaño de un Persistent Disk

Si tu instancia de máquina virtual (VM) de Compute Engine necesita espacio de almacenamiento adicional o límites de rendimiento aumentados, puedes aumentar el tamaño de tu Persistent Disk. Puedes aumentar el tamaño del disco en cualquier momento, ya sea que el disco esté conectado o no a una VM en ejecución.

En esta página, se explica cómo cambiar el tamaño de un Persistent Disk. Para aumentar el tamaño de un volumen de Google Cloud Hyperdisk, consulta Cambia el tamaño o el rendimiento aprovisionado de un volumen de Hyperdisk.

Cuando creas una imagen personalizada de Linux, una imagen personalizada de Windows o una imagen de Fedora CoreOS, debes aumentar de forma manual el tamaño del disco de arranque y de los que no son de arranque. Si usas una imagen pública (excepto las imágenes de Fedora CoreOS), Compute Engine cambia el tamaño de los discos de arranque de forma automática.

Cuando se aumenta el tamaño de un disco, no se borran ni modifican los datos de este, pero la práctica recomendada es siempre crear una instantánea para generar una copia de seguridad del disco antes de realizar cambios en el sistema de archivos o las particiones.

Compute Engine administra el hardware detrás de los discos persistentes, por lo que puedes agregar discos y cambiar su tamaño sin tener que controlar la fragmentación ni la redundancia.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs 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:

    Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:

    Console

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  • Configura una región y una zona predeterminadas.
  • Terraform

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

    1. Instala Google Cloud CLI.

    2. Si usas un proveedor de identidad (IdP) externo, primero debes acceder a gcloud CLI con tu identidad federada.

    3. Si usas una shell local, crea credenciales de autenticación locales para tu cuenta de usuario:

      gcloud auth application-default login

      No es necesario que lo hagas si usas Cloud Shell.

      Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.

    Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

    REST

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

      Instala Google Cloud CLI.

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

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

Roles y permisos requeridos

Para obtener el permiso que necesitas para cambiar el tamaño de un Persistent Disk, 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.

Este rol predefinido contiene el permiso compute.disks.update, que se requiere para cambiar el tamaño de un Persistent Disk.

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

Disminuye el tamaño de un disco

No puedes disminuir el tamaño de un Persistent Disk. Debes reemplazar el disco por uno nuevo y más pequeño. Para ello, crea un disco en blanco que tenga un tamaño más pequeño y, luego, copia el contenido del disco original en el disco nuevo. Luego, puedes usar el disco nuevo en lugar del original.

Para reemplazar un disco por uno más pequeño, sigue estos pasos:

  1. Crea un disco persistente en blanco y especifica el tamaño que desees. Asegúrate de que el disco nuevo sea lo suficientemente grande como para contener los datos del disco de origen.
  2. Adjunta ambos discos a la misma instancia. Para obtener instrucciones, consulta Conecta un disco que no sea de arranque a una VM.
  3. Formatea y activa el disco nuevo. Consulta las instrucciones para las instancias de Linux y Windows.
  4. Copia los datos del disco original al nuevo con las utilidades disponibles para tu sistema operativo (SO). Por ejemplo, para Linux, puedes usar rsync o dd. Para las instancias de Windows, puedes usar robocopy.
  5. Verifica que el disco nuevo tenga todos los datos y que funcione según lo esperado.
  6. Actualiza tu aplicación o SO para usar el nuevo disco.
  7. Después de confirmar que la migración se realizó correctamente, puedes desconectar y borrar el disco original más grande.
Se te cobrará por el disco original hasta que lo borres.

Límites de tamaño para volúmenes de Persistent Disk

El tamaño que especifiques para un volumen de Persistent Disk debe estar dentro de los rangos que se indican en la siguiente tabla.

Tipo de disco Tamaño mínimo Tamaño máximo Tamaño predeterminado
Disco persistente balanceado Zonal: 10 GiB
Regional: 10 GiB
64 TiB 100 GiB
Persistent Disk de rendimiento (SSD) Zonal: 10 GiB
Regional: 10 GiB
64 TiB 100 GiB
Disco persistente estándar Zonal: 10 GiB
Regional: 200 GiB
64 TiB 500 GiB
Disco persistente extremo 500 GiB 64 TiB 1 TiB

Aumenta el tamaño de un Persistent Disk

Para aumentar el tamaño de un disco de arranque o que no sea de arranque, usa los siguientes procedimientos:

Console

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

    Ir a Discos

  2. En la lista de discos de tu proyecto, haz clic en el nombre del disco al que deseas cambiar el tamaño.

  3. En la página de detalles del disco, haz clic en Editar. Es posible que debas hacer clic en el menú Más acciones y, luego, en Editar.

  4. En el campo Tamaño, ingresa el tamaño nuevo para tu disco. Se puede cambiar el tamaño de los discos con tablas de partición MBR solo hasta 2 TB.

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

El tamaño nuevo 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

Reemplaza lo siguiente:

  • DISK_NAME: el nombre del disco al que deseas cambiarle el tamaño.
  • DISK_SIZE: Es el tamaño nuevo del disco, expresado en gibibytes (GiB). Se puede cambiar el tamaño de los discos con tablas de partición MBR solo hasta 2 TB.
  • ZONE: Para el Persistent Disk zonal, especifica la zona en la que se encuentra el disco.

    Para el disco persistente regional, 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 zonales o del disco persistente regional:

Disco zonal

Para cambiar el tamaño de un Persistent Disk, 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 incluyes el parámetro size junto con el parámetro image o snapshot, el valor size debe ser igual o mayor que el tamaño de la imagen o instantánea.

Si omites los parámetros image y snapshot, puedes establecer el parámetro size en un tamaño menor que el existente. Si haces esto, Terraform destruye el disco y crea un nuevo Persistent Disk 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 incluyes el parámetro size junto con el parámetro image o snapshot, el valor size debe ser igual o mayor que el tamaño de la imagen o instantánea.

Si omites los parámetros image y snapshot, puedes establecer el parámetro size en un tamaño menor que el existente. Si haces esto, Terraform destruye el disco y crea un nuevo RegionalPersistent Disk vacío.

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

REST

Para cambiar el tamaño de un Persistent Disk, crea una solicitud POST para el 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 para el método compute.regionDisks.resize.

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

Reemplaza lo siguiente:

  • PROJECT_ID: el ID de tu proyecto
  • ZONE: Para Persistent Disk zonales, es la zona en la que se encuentra el disco.
  • REGION: Para el disco persistente regional, es la región en la que se encuentra el disco.
  • DISK_NAME: Es el nombre del disco cuyo tamaño deseas cambiar.
  • DISK_SIZE: Es el tamaño nuevo del disco, expresado en gibibytes (GiB). Se puede cambiar el tamaño de los discos con tablas de partición MBR solo hasta 2 TB.

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

Después de aumentar el tamaño de un disco, es posible que debas cambiar el tamaño de su sistema de archivos y particiones. A continuación, se incluye información adicional para los discos de arranque y los que no son de arranque:

  • Discos de arranque: Si usas una imagen personalizada de Linux, una imagen personalizada de Windows o una imagen de Fedora CoreOS, debes cambiar de forma manual el tamaño de la partición raíz y el sistema de archivos. En el caso de las instancias con imágenes públicas (excepto las imágenes de Fedora CoreOS), Compute Engine cambia el tamaño de la partición raíz y el sistema de archivos de forma automática después de que aumentas el tamaño del disco de arranque, y no es necesario que reinicies la instancia.

  • Discos que no son de arranque: Después de aumentar el tamaño del disco, debes extender el sistema de archivos en el disco para usar el espacio agregado.

En el siguiente ejemplo, se muestra cómo cambiar el tamaño de la partición raíz y el sistema de archivos de un disco de arranque de forma manual y cómo cambiar manualmente el tamaño del sistema de archivos de un disco de datos que no es de arranque sin tabla de partición. En ambos ejemplos, se supone que los discos adjuntos se formatearon y activaron antes.

Instancias de Linux

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

    Ir a Instancias de VM

  2. Busca la instancia a la que está conectado el disco cuyo tamaño cambiaste. Haz clic en SSH. El navegador abrirá una conexión de terminal a la instancia.

  3. Usa los comandos df y lsblk para enumerar el tamaño del sistema de archivos y encontrar los nombres de dispositivo de tus discos.

    $ sudo df -Th
    
    Filesystem      Type      Size  Used Avail Use% Mounted on
    udev            devtmpfs  3.9G     0  3.9G   0% /dev
    /dev/nvme0n1p1  ext4      9.7G  2.0G  7.2G  22% /
    /dev/nvme0n1p15 vfat      124M   12M  113M  10% /boot/efi
    /dev/nvme0n2    ext4       98G   24K   98G   1% /mnt/disks/data
    
    
    $ sudo lsblk
    
    NAME        MAJ:MIN   RM  SIZE RO TYPE MOUNTPOINT
    nvme0n1      259:0    0   20G  0 disk
    ├─nvme0n1p1  259:5    0  9.9G  0 part /
    ├─nvme0n1p14 259:6    0    3M  0 part
    └─nvme0n1p15 259:7    0  124M  0 part /boot/efi
    nvme0n2      259:4    0  100G  0 disk /mnt/disks/data
    
    

    En este ejemplo, se incluyen los siguientes discos:

    • Disco de arranque: La partición /dev/nvme0n1p1 está en un disco de arranque que se cambió de tamaño a 20 GB. La tabla de particiones y el sistema de archivos proporcionan solo 9.9 GB al sistema operativo.
    • Disco de datos no de arranque: El disco de datos /dev/nvme0n2 que no es de arranque no tiene una tabla de particiones, pero el sistema de archivos en ese disco proporciona solo 100 GB al sistema operativo. El directorio de activación de este disco es /mnt/disks/data.

    Toma nota de la columna Tipo en el resultado del comando df, que indica si tu disco usa un sistema de archivos ext4 o xfs.

  4. Verifica el tipo de partición:

    sudo parted -l
    

    La primera vez que ejecutes este comando después de cambiar el tamaño de un disco, es posible que veas un mensaje similar al siguiente:

    Warning: Not all of the space available to /dev/nvme0n1 appears to be
    used, you can fix the GPT to use all of the space (an extra 20971520
    blocks) or continue with the current setting?
    Fix/Ignore?
    

    Si ingresas Fix, el SO volverá a particionar automáticamente el disco para que el espacio adicional esté disponible para el SO. Si no tienes discos adicionales para modificar, avanza hasta el último paso.

  5. Si decides no usar la opción de corrección automática o esta no está disponible, consulta la información del disco que deseas volver a particionar:

    sudo parted -l /dev/DEVICE_NAME
    

    Busca un campo: Tabla de particiones, si el valor es msdos, entonces el disco tiene un tipo de partición MBR. Esto significa que el tamaño máximo de ese disco sería de 2 TB.

  6. En el caso de un disco de arranque, cambia el tamaño de la partición raíz y el sistema de archivos en el disco. En este ejemplo, se supone que la imagen de VM no admite la partición automática de la raíz ni el cambio de tamaño del sistema de archivos.

    1. Cambia el tamaño de la partición raíz mediante parted. Por ejemplo, con los siguientes comandos, se expande la partición 1 del dispositivo al tamaño máximo posible:

      1. Abre parted en el dispositivo:

        sudo parted /dev/DEVICE_NAME
        

        Reemplaza DEVICE_NAME por el nombre del dispositivo del disco de arranque, por ejemplo, nvme0n1.

      2. Cuando aparezca el mensaje, ingresa lo siguiente:

        (parted) resizepart
        
      3. Cuando aparezca el mensaje Partition number?, ingresa lo siguiente:

        1
        
      4. Cuando aparezca el mensaje Warning: Partition /dev/DEVICE_NAMEp1 is being used. Are you sure you want to continue?, ingresa lo siguiente:

        Yes
        
      5. Cuando aparezca el mensaje End?, ingresa lo siguiente:

        100%
        
      6. Cuando aparezca el mensaje (parted), ingresa lo siguiente:

        (parted) quit
        
    2. Consulta la tabla de particiones nueva con parted -l.

      sudo parted -l /dev/DEVICE_NAME
      
      Model: nvme_card-pd (nvme)
      Disk /dev/DEVICE_NAME: 21.5GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
      14      1049kB  4194kB  3146kB                     bios_grub
      15      4194kB  134MB   130MB   fat16              boot, esp
      1       134MB   21.5GB  21.3GB  ext4
      
    3. Extiende el sistema de archivos:

      • Si usas ext4, usa el comando resize2fs:

        sudo resize2fs /dev/PARTITION_NAME
        

        Reemplaza PARTITION_NAME por el nombre de la partición del disco de arranque, por ejemplo, nvme0n1p1.

      • Si usas xfs, usa el comando xfs_growfs:

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

        sudo btrfs filesystem resize max /
        
  7. En el caso de un disco de datos que no es de arranque, cambia el tamaño del sistema de archivos en el disco.

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

      sudo resize2fs /dev/PARTITION_NAME
      

      Reemplaza PARTITION_NAME por el nombre de la partición del disco de datos. En este ejemplo, el nombre de la partición es /dev/nvme0n2p1.

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

      sudo xfs_growfs MOUNT_DIR
      
    • Si usas btrfs, usa el comando btrfs para extender el sistema de archivos:

      sudo btrfs filesystem resize max MOUNT_DIR
      

      Reemplaza MOUNT_DIR por el punto de activación del dispositivo. Puedes encontrar el punto de activación en la columna MOUNTPOINT del resultado del comando lsblk.

  8. Usa el comando df para verificar que el sistema de archivos esté extendido. Por ejemplo:

    df -h /dev/PARTITION_NAME
    
    Filesystem       Size  Used  Avail    Use%     Mounted on
    /dev/nvme0n2p1   118G  70M   118G     1%     /mnt/disks/data
    

VM de Windows

Usa la herramienta de administración de discos de Windows para cambiar el tamaño de las particiones en 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. Busca la instancia que tiene el disco que cambió de tamaño. Haz clic en el botón RDP de la instancia. El navegador abre una conexión de RDP a la instancia.

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

    Selección de la herramienta Administración de discos de Windows en el menú que aparece cuando haces clic derecho en el botón Inicio de Windows

  4. Para mostrar el tipo de partición de disco, 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 ese disco sería de 2 TB.

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

    Haz clic en el menú de acciones y selecciona Actualizar para actualizar la información del disco en la herramienta Administración de discos.

  6. En el disco que cambiaste de tamaño, haz clic derecho en la partición formateada y selecciona Extender volumen.

    Haz clic derecho en la parte formateada del disco y selecciona la opción Extender volumen.

  7. Sigue las instrucciones en el asistente Extender volumen (Extend Volume Wizard) a fin de extender tu partición existente para incluir el espacio adicional en el disco. Si la partición existente está formateada en NTFS, el tamaño máximo de la partición está limitado por su configuración de tamaño de clúster.

  8. Después de completar el Asistente para extender el volumen y de que el volumen termine de formatearse, verifica la columna Estado en la lista de discos conectados para asegurarte de que el disco nuevo tenga el estado Correcto.

    En la vista de la lista de discos reconocidos por Windows, verifica que la instancia esté en línea y en buen estado.

No es necesario reiniciar la instancia después de completar este proceso. Ahora puedes comenzar a usar el espacio en el disco agregado.

¿Qué sigue?