User Tools

Site Tools


doc:appunti:linux:sa:resize2fs

Espansione di un volume virtuale

In uno scenario di virtualizzazione è possibile incrementare la dimensione di un volume assegnato ad un host senza interrompere il servizio.

Prima di espandere un volume verifichiamo la sua percentuale di utilizzo con il comando df:

Filesystem  1K-blocks     Used Available Use% Mounted on
/dev/sdb     61796140 34130080  24503948  59% /home/backup

Ogni sistema di virtualizzazione offre il suo strumento per aumentare la dimensione di un volume. La procedura qui illustrata è stata verificata con il Cloud di Hetzner. Appena effettuato il ridimensionamento, il kernel emette le seguenti righe di log:

kernel: sd 2:0:0:1: Capacity data has changed
kernel: sd 2:0:0:1: [sdb] 136314880 512-byte logical blocks: (69.7 GB/65.0 GiB)
kernel: sdb: detected capacity change from 64424509440 to 69793218560
kernel: VFS: busy inodes on changed media or resized disk sdb

La nuova capacità (espressa in multipli di 1024) può essere verificata con con cat /proc/partitions:

major minor  #blocks  name

   8        0  240001024 sda
   8        1  239999983 sda1
   8       16   68157440 sdb

Dopo aver ridimensionato il volume bisogna allargare anche il filesystem ospitato. Trattandosi di un ext4 si utilizza il comando resize2fs. Dalla man page si legge:

  • The resize2fs program will resize ext2, ext3, or ext4 file systems. It can be used to enlarge or shrink an unmounted file system.
  • Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.
  • If size parameter is not specified, it will default to the size of the partition.

Quindi l'allargamento può essere fatto senza smontare il volume:

resize2fs -d 16 /dev/sdb

L'opzione -d 16 mostra informazioni di debug su timing information.

resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/sdb is mounted on /home/backup; on-line resizing required
old_desc_blocks = 8, new_desc_blocks = 9
The filesystem on /dev/sdb is now 17039360 blocks long.

Lo spazio mostrato da df risulta quindi incrementato:

Filesystem  1K-blocks     Used Available Use% Mounted on
/dev/sdb     66956728 34130028  29433908  54% /home/backup
doc/appunti/linux/sa/resize2fs.txt · Last modified: 2019/12/04 18:45 by niccolo