Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Come posso aumentare le dimensioni del volume EBS se ricevo un errore che indica che lo spazio nel file system è esaurito?
Desidero aumentare o diminuire le dimensioni del volume di Amazon Elastic Block Store (Amazon EBS). Tuttavia, ho ricevuto un messaggio di errore che indica che lo spazio nel file system è esaurito.
Breve descrizione
Quando si tenta di espandere la partizione root o il file system root sul volume EBS, è possibile che venga visualizzato l'errore No space left on device. Per evitare questo errore, utilizza il file system temporaneo (tmpfs) presente nella memoria virtuale. Monta il file system tmpfs sotto il punto di montaggio /tmp, quindi espandi la partizione o il file system root.
L'esempio seguente mostra che il dispositivo a blocchi del volume EBS root (/dev/nvme0n1) è di 9 GiB, mentre la partizione root (partizione 1) è già di 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
Se si tenta di aumentare la partizione root (partizione 1) verrà visualizzato uno dei seguenti messaggi di errore:
$ 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
-oppure-
$ 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: prima di procedere, è consigliabile creare un backup Amazon Machine Image (AMI) dell'istanza. Oppure crea uno snapshot del volume EBS root collegato all'istanza. Un backup ti consentirà di recuperare i dati in caso di problemi imprevisti.
Risoluzione
-
Connettiti alla tua istanza Linux Amazon Elastic Compute Cloud (Amazon EC2) con SSH.
-
Usa il comando df -h per verificare che la partizione root montata in / sia piena (100%). Nell'esempio seguente, /dev/nvme0n1p1 utilizza il 100% del suo spazio:
$ 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
Per raccogliere dettagli sui dispositivi a blocchi collegati e sul punto di montaggio root /, esegui i comandi seguenti:
$ 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
In questo output di esempio, il volume EBS root ha 9 GiB di spazio totale. Tuttavia, la partizione root (/dev/nvme0n1p1) o la partizione 1 è di soli 8 GiB. Il tipo di file system è XFS.
-
Per evitare l'errore No space left on the block device, monta il file system temporaneo tmpfs sul punto di montaggio /tmp. In questo modo verrà creato un file tmpfs da 10 M su /tmp:
$ sudo mount -o size=10M,rw,nodev,nosuid -t tmpfs tmpfs /tmp
-
Per aumentare le dimensioni della partizione root o della partizione 1, esegui il comando growpart. Sostituisci /dev/nvme0n1 con la tua partizione root:
$ sudo growpart /dev/nvme0n1 1 CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=18870239 end=18874335
-
Per verificare di aver espanso la partizione da 1 Gib a 9 GiB, esegui il 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
-
Espandi il file system. Fai riferimento al passaggio 3 per verificare il file system della partizione root /. Nell'esempio seguente viene espanso un file system di 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
Nell'esempio seguente viene espanso un file system EXT2/EXT3/EXT4 sulla partizione 1:
$ sudo resize2fs /dev/nvme0n1p1
-
Dopo aver espanso il file system, utilizza il comando df -h per verificare che il sistema operativo possa vedere lo spazio aggiuntivo:
$ 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
-
Per smontare il file system tmpfs, esegui il comando unmount:
$ sudo umount /tmp

Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata un anno fa