A volte capita di dover estendere lo spazio disco associato ad una partizione di tipo EXT4 che è attiva (online) su un server. Nel nostro caso abbiamo un server con Ubuntu 14.04 sul quale è necessario più spazio per cui bisogna estendere la partizione / del sistema operativo.
Il server non ha logical volume (LVM) ma le partizioni sono le solite standard.
![](http://www.valent-blog.eu/wp-content/docs/ubuntu-disk-space.png)
Il problema di questa configurazione è la swap. Infatti la partizione di swap è posta alla fine del disco SDA, quindi è necessario toglierla perchè una classica partizione EXT4 deve essere contigua.
Come si può vedere abbiamo una partizione SDA5 di swap a fine disco.
![](http://www.valent-blog.eu/wp-content/docs/lsblk.png)
La prima cosa da fare è estendere il disco, se è un disco virtuale spesso è opportuno spegnere la virtual machine ed estendere il disco. Poi riaccendere la virtual machine. Se il disco è fisico, rimuovere la swap e usare quello spazio per estendere la partizione principale. La swap può essere ricreata su un altro disco oppure fatta su file.
Nel nostro caso vogliamo espandere la partizione / e mantenere la partizione di swap di 3 GB sullo stesso disco.
Attenzione questa procedura è rischiosa e potrebbe portarvi alla perdita di tutti i dati, per cui in primis è necessario fare un backup di tutto.
Ok. Ora il disco SDA è stato espanso di ulteriori 4 GB passando dai precedenti 8 GB ai 12 GB. Dobbiamo rimuovere la swap, cancellare le partizioni, ricreare la partizione / e quella di swap.
La partizione di swap va disattivata.
swapoff /dev/sda5
Poi va lanciato fdisk sul disco che contiente il tutto.
fdisk /dev/sda
Premendo il carattere p, si ottiene la situazione attuale delle partizioni.
![](http://www.valent-blog.eu/wp-content/docs/print-fdisk.png)
Cancelliamo la partizione 5 e la 2 che sono rispettivamente la swap e una partizione estesa. Per cancellare una partizione premere il tasto d, seguito dal numero della partizione es. 5.
![](http://www.valent-blog.eu/wp-content/docs/delete-part.png)
Ora c’è la parte più delicata: quella di cancellare anche la partizione 1. Premendo d, si cancella l’ultima partizione esistente.
![](http://www.valent-blog.eu/wp-content/docs/delete-part-1.png)
La partizione / va ricreata come una nuova partizione primaria la cui dimensione deve essere pari allo spazio del disco meno lo spazio della swap, quindi se il nostro disco è di 12 GB e la nostra swap di 3 GB, la partizione / sarà di 9 GB.
Per creare una partizione nuova premere n, poi p (per primaria), +9G per assegnare 9 gigabyte di spazio.
![](http://www.valent-blog.eu/wp-content/docs/new-root-part.png)
Ora è possibile creare la partizione di swap. Premere n per una nuova partizione, p per una primaria, come partition number premere INVIO per confermare l’opzione di default. Siccome è l’ultima partizione del disco anche la dimensione è quell di default, quindi basta premere INVIO.
E’ opportuno, a differenza della partizione di root, modificare l’etichetta (tag) del codice, premendo t, indicando la seconda partizione premendo 2 e inserendo l’hex code 82.
![](http://www.valent-blog.eu/wp-content/docs/create-swap-part.png)
questo è lo stato dopo tutte le operazioni:
![](http://www.valent-blog.eu/wp-content/docs/print.png)
Per confermare tutte le operazioni bisogna premere il tasto w.
Può essere che compaia un messaggio di avvertimento. In questo caso, la tabella delle partizioni modificata non è stata ricaricata dal kernel, quindi per poter estendere il disco, occorre ricaricare la tabella.
![](http://www.valent-blog.eu/wp-content/docs/confirm.png)
Per ricaricare la tabella usare il comando partprobe.
partprobe
Creiamo la nuova swap, usando il classico comando:
mkswap /dev/sda2
![](http://www.valent-blog.eu/wp-content/docs/mkswap.png)
Annotiamoci l’UUID (quello che nell esempio inizia con 1c8…) che è apparso sopra. Apriamo il file fstab e modifichiamo l’UUID associato alla swap vecchia con quello nuovo.
vi /etc/fstab
![](http://www.valent-blog.eu/wp-content/docs/uuid-fstab.png)
Il nuovo file fstab avrà queste informazioni:
![](http://www.valent-blog.eu/wp-content/docs/nuovo-fstab.png)
La swap va nuovamente attiva con il comando swapon, per verificare poi lo stato si può ricorrere allo stesso comando con il parametro -s.
swapon /dev/sda2
swapon -s
![](http://www.valent-blog.eu/wp-content/docs/activate-swap.png)
Finalmente possiamo estendere la partizione / con il semplice ma efficace resize2fs.
resize2fs /dev/sda1
![](http://www.valent-blog.eu/wp-content/docs/resize2fs-1.png)
Il ridimensionamento è online, ossia senza la necessità di smontare il filesystem / per estendere la partizione. Ora la partizione è molto più grande.
![](http://www.valent-blog.eu/wp-content/docs/df-h.png)