Site icon Tosolini.info

Ubuntu server: growpart

Capita qualche volta di fare errori, una VM con disco da 200 giga per errore l’ho fatto da poco meno di 50 gigabytes. Poco male, ma non è una partizione LVM, bensì una partizione fisica.

Per scoprirlo basterà dare il comando df -h o anche semplicemente df.

Nel caso di LVM vedrete nella lista la voce “/dev/mapper/ubuntu–vg-ubuntu–lv” che sta ad indicare proprio l’utilizzo del Logical Volume Management.

Nel mio caso, come detto, il disco è “pulito” e pur senza essere sotto volume management, possiamo espanderlo alla bisogna, tanto più che la parte sopra provenendo da un virtualizzatore permette questo tipo di giochi.

Per prima cosa è stato necessario far prendere coscienza al sistema operativo che il disco ha subito una maggiorazione mentre lui era acceso. Il disco che prenderemo in esame è /dev/sda e la partizione da ampliare sarà /dev/sda1

echo 1 > /sys/block/sda/device/rescan

A questo punto diamo un df -h e il risultato come vediamo non è cambiato

root@tosolini:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        45G  1.7G   44G   4% /
/dev/sda2        98M  6.3M   92M   7% /boot

Come si può notare /dev/sda1 risulta essere sempre a 44G. Ora usiamo un tool core di Ubuntu che si chiama “growpart” e il nome è piuttosto chiaro circa la sua funzionalità

root@tosolini:~# growpart /dev/sda 1
CHANGED: partition=1 start=206848 old: size=97470431 end=97677279 new: size=417126367 end=417333215

Attenzione che dopo sda c’è uno spazio e poi il numero, perché stiamo indicando al comando di agire sul disco /dev/sda e la partizione è la prima. Nota: Il numero delle partizioni parte sempre da uno.

Con il comando lsblk vediamo se il comando è effettivamente stato preso

root@tosolini:~# lsblk 
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda       8:0    0   199G  0 disk 
├─sda1    8:1    0 198.9G  0 part /
└─sda2    8:15   0    99M  0 part /boot

Come vediamo, sda1 ora è di 199 gigabytes, tuttavia il sistema operativo vedrà ancora 44 gigabytes, perché dobbiamo dare l’ultimo comando che è resize2fs seguito dalla partizione.

root@tosolini:~# resize2fs /dev/sda1
resize2fs 
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 25
The filesystem on /dev/sda1 is now 52140795 (4k) blocks long.

Solo a questo punto se diamo il comando df vedremo che il sistema operativo realmente utilizzerà lo spazio ampliato

root@tosolini:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       193G  1.7G  191G   1% /
/dev/sda2       98M  6.3M   92M   7% /boot

Un reboot giusto per stare sicuri che in caso di riavvio la procedura sopra sia stata più che perfetta, e ridando il comando df -h lo spazio deve rimanere immutato.

Exit mobile version