¿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?
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
-
Conéctese a su instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2) mediante SSH.
-
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.
-
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
-
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
-
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
-
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
-
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
-
Ejecute el comando unmount para desmontar el sistema de archivos tmpfs:
$ sudo umount /tmp
Contenido relevante
- ¿Cómo amplío mi sistema de archivos Linux después de aumentar el volumen de EBS en mi instancia EC2?OFICIAL DE AWSActualizada hace 7 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 9 meses
- OFICIAL DE AWSActualizada hace 5 años