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.