¿Cómo puedo aumentar el tamaño de mi volumen de EBS si se muestra un mensaje de error que indica que no queda espacio en mi sistema de archivos?

5 minutos de lectura
0

Quiero aumentar el tamaño de mi volumen de Amazon Elastic Block Store (Amazon EBS). Sin embargo, se muestra un error que indica que no queda espacio en mi sistema de archivos.

Breve descripción

Si intenta ampliar la partición raíz o el sistema de archivos raíz del volumen de EBS, es posible que se muestre el error No space left on device. Para evitar este error, utilice el sistema de archivos temporales (tmpfs) de la memoria virtual. Monte el sistema de archivos tmpfs en el punto de montaje /tmp y, a continuación, amplíe la partición raíz o el sistema de archivos raíz.

En el siguiente ejemplo se puede ver que el dispositivo de bloques del volumen de EBS raíz (/dev/nvme0n1) tiene 9 GiB y que la partición raíz (partición 1) ya tiene 8 GiB:

$ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0   9G  0 disk
├─nvme0n1p1   259:1    0   8G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part

Si intenta aumentar la partición raíz (partición 1), se mostrará uno de los siguientes errores como resultado:

$ sudo growpart /dev/nvme0n1 1/bin/growpart: line 248: /tmp/growpart.fklt5u/dump.out: No space left on device
FAILED: failed to dump sfdisk info for /dev/nvme0n1

Alternativa:

$ sudo growpart /dev/nvme0n1 1CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
FAILED: failed: sfdisk --list /dev/nvme0n1

Nota: Antes de continuar, se recomienda crear una copia de seguridad de la imagen de máquina de Amazon (AMI) de la instancia. Como alternativa, también puede crear una instantánea del volumen de EBS raíz asociado a la instancia. La copia de seguridad le permitirá recuperar los datos ante problemas imprevistos.

Solución

  1. Conéctese a su instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) mediante SSH.

  2. Utilice el comando df -h para comprobar si la partición raíz montada en / está llena (100 %). En el siguiente ejemplo, /dev/nvme0n1p1 utiliza el 100 % del espacio:

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        460M     0  475M   0% /dev
    tmpfs           478M     0  492M   0% /dev/shm
    tmpfs           478M  432K  492M   1% /run
    tmpfs           478M     0  492M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  8.0G  8.0G  664K 100% /
    tmpfs            96M     0   99M   0% /run/user/1000

    Ejecute los siguientes comandos para recopilar detalles sobre los dispositivos de bloques asociados y el punto de montaje / raíz:

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   8G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
    
    $ lsblk -fNAME          FSTYPE LABEL           UUID                                 MOUNTPOINT
    nvme0n1
    ├─nvme0n1p1   xfs    /               afcf1342-1d40-41bd-bde9-e4ea5d87e3b6 /
    └─nvme0n1p128

    En este resultado de ejemplo, el volumen de EBS raíz tiene 9 GiB de espacio total. Sin embargo, la partición raíz (/dev/nvme0n1p1), o partición 1, solo tiene 8 GiB. El tipo de sistema de archivos es XFS.

  3. Para evitar el error No space left on the block device, monte el sistema de archivos temporales tmpfs en el punto de montaje /tmp. De este modo, se crea un tmpfs de 10 MB montado en /tmp:

    $ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
  4. Ejecute el comando growpart para aumentar el tamaño de la partición raíz o partición 1. Sustituya /dev/nvme0n1 por la partición raíz:

    $ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
  5. Para comprobar si la partición se ha ampliado de 1 a 9 GiB, ejecute el comando lsblk:

    $ lsblkNAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    nvme0n1       259:0    0   9G  0 disk
    ├─nvme0n1p1   259:1    0   9G  0 part /
    └─nvme0n1p128 259:2    0   1M  0 part
  6. Amplíe el sistema de archivos. Consulte el paso 3 para comprobar el sistema de archivos de la partición raíz /. En el siguiente ejemplo, se amplía un sistema de archivos del tipo XFS:

    $ sudo xfs_growfs -d /data blocks changed from 2096635 to 2358779
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    log      =internal               bsize=4096   blocks=2560, version=2
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
             =                       sunit=0      swidth=0 blks
    data     =                       bsize=4096   blocks=2096635, imaxpct=25
             =                       crc=1        finobt=1 spinodes=0
             =                       sectsz=512   attr=2, projid32bit=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    meta-data=/dev/nvme0n1p1         isize=512    agcount=4, agsize=524159 blks

    En el siguiente ejemplo, se amplía un sistema de archivos EXT2/EXT3/EXT4 en la partición 1:

    $ sudo resize2fs /dev/nvme0n1p1
  7. Tras ampliar el sistema de archivos, utilice el comando df -h para comprobar si el sistema operativo puede ver el espacio adicional:

    $ df -hFilesystem      Size  Used Avail Use% Mounted on
    devtmpfs        960M     0  960M   0% /dev
    tmpfs           978M     0  978M   0% /dev/shm
    tmpfs           978M  392K  978M   1% /run
    tmpfs           978M     0  978M   0% /sys/fs/cgroup
    /dev/nvme0n1p1  9.0G  8.0G 1022M  89% /
    tmpfs           196M     0  196M   0% /run/user/1000
    tmpfs            10M     0   10M   0% /tmp
  8. Ejecute el comando unmount para desmontar el sistema de archivos tmpfs:

    $ sudo umount /tmp
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 8 meses