Allargare una partizione VPS all’intero disco (/dev/vda1)

Quando proviamo a clonare una VPS oppure ad allargare la quota disco, potremmo trovarci nella situazione in cui /dev/vda1  (su alcuni sistemi  /dev/sda1 ) non riflette lo stato del disco. In parole povere, /dev/sda1  sarà più piccola della quota disco assegnata (e pagata).

In questo esempio, faremo il resize del disco di una VPS OVH SSD 1 che ha 10Gb di quota disco fino ai 20Gb dell’offerta VPS SSD 2. Utilizzeremo degli strumenti molto popolari come fdisk  e df , presenti su tutti i sistemi unix, ed è per questo che senza ulteriori modifiche potrete utilizzarla su altri tipi di VPS o server dedicati.

 

Prima di espandere /dev/vda1 , in modo da sfruttare tutti i Gb di disco che paghiamo, vi consiglio sempre di fare un backup. È sempre una buona idea, specialmente se qualcosa va storto o se pasticciamo con la tabella delle partizioni. Se potete, eseguite uno snapshot da poter ripristinare se il vostro provider ve lo permette. Nel mio caso, OVH supporta questa opzione.

Verifichiamo lo stato attuale:

Il sistema ci conferma che abbiamo uno spazio disco di 21.5GB e una partizione di 10Gb che inizia dal settore 2048. IMPORTANTE: annotiamoci questo numero perché sarà cruciale in seguito.

Modifichiamo la partizione

Il prossimo passo è usare lo strumento fdisk per cancellare temporaneamente la partizione /dev/vda1  e ricrearla immediatamente con la stessa posizione di partenza e naturalmente dello stesso tipo. Ricordate che tutte le operazioni che faremo non saranno effettive sino a quando non daremo il comando esplicitamente.

Analizziamo quanto fatto:

  1. Prima abbiamo cancellato la partizione attuale con il comando d;
  2. Abbiamo poi creato una nuova partizione con il comando n, l’abbiamo resa primaria con il comando p e gli abbiamo assegnato il numero 1. Il sistema ci ha chiesto da quale settore farla partire, gli abbiamo risposto 2048, come indicato in precedenza. Per quanto riguarda l’ultimo settore date semplicemente invio, dato che l’ultimo settore del disco è il default;
  3. Successivamente abbiamo dato il comando t per definire il tipo di partizione, e 83 come tipo (che corrisponde al nostro tipo originario, cioè ext4);
  4. Il comando a ha impostato la partizione appena creata come partizione di boot;
  5. Infine abbiamo salvato la configurazione con il comando w.

A questo punto, un messaggio ci informa che è impossibile rileggere la mappa partizioni, perché il disco è in uso. Come dargli torto. La configurazione verrà letta al prossimo riavvio. Quindi rebootiamo la VPS:

Ingrandiamo il filesystem

Dopo il riavvio del sistema, ci troveremo in questa situazione:

..che è quella precedente. Questo perché abbiamo allargato la partizione, ma dobbiamo farlo anche con il filesystem per coprirla tutta e poterla utilizzare per i nostri dati. Facciamolo in modo semplice con resize2fs :

Adesso sì che si ragiona:

La nostra partizione usabile è ora di 20Gb ed usa tutto lo spazio disponibile in /dev/vda .