Ciao a tutti! Recentemente ho affrontato un compito che all'apparenza sembrava semplice: aumentare "a caldo" la dimensione del disco su un server Linux.
Descrizione del compito
Ho un server nel cloud. Nel mio caso, è Google Cloud — Compute Engine. Il sistema operativo è Ubuntu. Attualmente ho collegato un disco di 30 GB. Il database cresce, i file aumentano, quindi è necessario aumentare la dimensione del disco, diciamo, a 50 GB. In questo modo non dobbiamo disattivare nulla, né riavviare.
Attenzione! Prima di iniziare, facciamo un backup di tutte le informazioni importanti!
1. Per prima cosa, verifichiamo quanto spazio libero abbiamo. Nella console Linux scriviamo:
df -h 
In parole semplici, ho un totale di 30 GB e attualmente sono liberi 7.9 GB. È necessario aumentare.
2. Successivamente, vado e attraverso la console del mio provider di hosting collego un po' di GB in più. In Google Cloud è facile, senza riavvio. Vado su Compute Engine -> Disks -> Seleziono il disco del mio server — cambiamo la sua dimensione:

Entro, clicco su "Modifica" e aumento la dimensione del disco alle dimensioni desiderate (nel mio caso, a 50 GB).
3. Ora abbiamo 50 GB. Verifichiamo con server con il comando:
sudo fdisk -l 
Vediamo i nostri nuovi 50 GB, ma al momento possiamo utilizzare solo 30 GB.
4. Ora eliminiamo la partizione attuale di 30 GB, creiamo una nuova di 50 GB. Potresti avere più partizioni. Potrebbe essere necessario crearne alcune nuove. Per questa operazione utilizzeremo il programma fdisk, che consente di gestire le partizioni del disco rigido. È anche importante capire cosa sono le partizioni del disco e a cosa servono — leggiamo . Per avviare il programma fdisk usiamo il comando:
sudo fdisk /dev/sda5. All'interno della modalità interattiva del programma fdisk eseguiamo alcune operazioni.
Per prima cosa digitiamo:
p 
Il comando restituisce un elenco delle attuali partizioni. Nel mio caso, una partizione da 30 GB e altri 20 GB in sospeso, per così dire.
6. Quindi digitiamo:
d 
Eliminiamo la partizione esistente per poter crearne una nuova di 50 GB. Prima dell'operazione, controlliamo ancora una volta se abbiamo fatto il backup delle informazioni importanti!
7. Successivamente, indichiamo al programma:
n 
Il comando crea una nuova partizione. Tutti i parametri devono essere impostati di default — si può semplicemente premere Invio. Se hai un caso particolare, puoi specificare i tuoi parametri. Come si vede dallo screenshot, ho creato una partizione di 50 GB — quello di cui ho bisogno.
8. Infine, indico al programma:
w 
Questo comando salva le modifiche ed esce fdisk. Non preoccuparti se la lettura della tabella delle partizioni non è riuscita. Il comando seguente aiuterà a rimediare. Manca poco.
9. Siamo usciti da fdisk e siamo tornati alla shell principale di Linux. Ora digitiamo, come suggerito in precedenza:
sudo partprobe /dev/sdaSe tutto è andato bene, non vedrai alcun messaggio. Se non hai installato il programma partprobe, installalo. Questo partprobe aggiornerà le tabelle delle partizioni, permettendoci di espandere la partizione a 50 GB in modalità live. Andiamo avanti.
Suggerimento! Puoi installare partprobe in questo modo:
apt-get install partprobe
10. Ora dobbiamo ridefinire la dimensione della partizione utilizzando il programma resize2fs. Lo farà in modalità live: durante questo processo gli script stavano anche funzionando e scrivendo sul disco.
Programma resize2fs riscriverà i metadati del file system. Per questo utilizziamo il seguente comando:
sudo resize2fs /dev/sda1 
Qui sda1 è il nome della tua partizione. Nella maggior parte dei casi, è sda1, ma potrebbero esserci delle eccezioni. Fai attenzione. In definitiva, il programma ci ha modificato la dimensione della partizione. Penso che sia un successo.
11. Ora assicuriamoci che la dimensione della partizione sia cambiata e ora abbiamo 50 GB. Per farlo, ripetiamo il comando iniziale:
df -h 
Fonte: habr.com
