L'aumento degli spazi su disco sui server Linux è un lavoro di routine quotidiano per tutti gli amministratori di sistema. Quindi, in questo articolo ti mostreremo alcuni semplici passaggi che puoi utilizzare per aumentare lo spazio su disco su Linux CentOS 7 senza riavviare il tuo server di produzione utilizzando i comandi Linux.
Tratteremo molteplici metodi e possibilità per aumentare e aggiungere nuovi dischi ai sistemi Linux, in modo che tu possa seguire quello che ti senti a tuo agio durante l'utilizzo in base alle tue esigenze.
1) Aumento del disco del guest VM
Prima di aumentare il volume del disco all'interno del tuo sistema Linux, devi aggiungere un nuovo disco o aumentare quello che è già stato collegato al sistema modificandone le impostazioni da VMware Vsphere, Workstation o qualsiasi altro ambiente dell'infrastruttura che stai utilizzando.
2) Verifica spazio su disco
Esegui il comando seguente per verificare la dimensione corrente del tuo spazio su disco.
# df -h
# fdisk -l
Qui possiamo vedere che la dimensione totale del disco è sempre la stessa, ovvero 10 GB, mentre l'abbiamo già aumentata a 50 GB dal back-end.
3) Espandere lo spazio senza riavviare la VM
Ora esegui i seguenti comandi per espandere lo spazio su disco nel volume fisico del sistema operativo senza riavviare la macchina virtuale eseguendo nuovamente la scansione del bus SCSI e quindi aggiungendo il dispositivo SCSI.
# ls /sys/class/scsi_host/
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
Controlla i nomi dei tuoi dispositivi SCSI e quindi scansiona nuovamente i bus SCSI usando i comandi seguenti.
# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
Ciò eseguirà nuovamente la scansione del bus scsi corrente e le dimensioni del disco che abbiamo aumentato dalle impostazioni del guest VM verranno visualizzate come puoi vedere nell'immagine sottostante.
4) Nuova partizione del disco
Una volta che sei in grado di vedere lo spazio su disco aumentato all'interno del tuo sistema, esegui il seguente comando per formattare il tuo disco per creare una nuova partizione seguendo i passaggi per aumentare il volume del tuo disco fisico.
# fdisk /dev/sda
Benvenuto in fdisk (util-linux 2.23.2) premi il tasto 'm' per aiuto
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help):
Digitare la "p" per stampare la tabella delle partizioni corrente, quindi creare una nuova partizione primaria digitando il tasto "n" e selezionando i settori disponibili. Cambia il tipo di disco in "Linux LVM" usando il comando "t" e selezionando il codice su "8e" o lascialo come tipo predefinito che è "83".
Ora scrivi la tabella su disco ed esci inserendo il tasto 'w' come mostrato.
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
5)Creazione del volume fisico
Come indicato sopra, esegui il comando 'partprobe' o kpartx in modo che le tabelle siano pronte per l'uso e quindi crea il nuovo volume fisico utilizzando i comandi seguenti.
# partprobe
# pvcreate /dev/sda3
Per controllare il volume appena creato, eseguire il comando seguente per vedere se il nuovo volume fisico è stato creato e visibile. Successivamente estenderemo il gruppo di volumi "centos" con il volume fisico appena creato come mostrato.
# pvdisplay
# vgextend centos /dev/sda3
6) Estensione del volume logico
Ora estenderemo il volume logico per aumentare lo spazio su disco utilizzando il comando seguente.
# lvextend -L +40G /dev/mapper/centos-root
Una volta ricevuto il messaggio aumentato con successo, esegui il comando come mostrato di seguito per estendere la dimensione del tuo volume logico.
# xfs_growfs /dev/mapper/centos-root
La dimensione della partizione '/' è stata aumentata con successo, puoi controllare la dimensione delle tue unità disco usando il comando 'df' come mostrato.
7) Estendere la partizione di root aggiungendo un nuovo disco senza riavviare
Questo è il secondo metodo con ma con comandi abbastanza simili per aumentare la dimensione del volume logico in CentOS 7.
Quindi, il primo passaggio consiste nell'aprire l'impostazione delle impostazioni del guest VM e fare clic sul nuovo pulsante "Aggiungi" e passare all'opzione successiva.
Scegli la configurazione richiesta per il nuovo disco selezionando la dimensione del nuovo disco e il suo tipo come mostrato nell'immagine sottostante.
Quindi vai sul lato server e ripeti i seguenti comandi per scansionare i tuoi dispositivi disco in modo che il nuovo disco sia visibile sul sistema.
# echo "- - -" > /sys/class/scsi_host/host0/scan
# echo "- - -" > /sys/class/scsi_host/host1/scan
# echo "- - -" > /sys/class/scsi_host/host2/scan
Elenca i nomi dei tuoi dispositivi SCSi
# ls /sys/class/scsi_device/
# echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
# echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan
# fdisk -l
Una volta che il nuovo disco è visibile, esegui i comandi seguenti per creare il nuovo volume fisico e aggiungerlo al gruppo di volumi come mostrato.
# pvcreate /dev/sdb
# vgextend centos /dev/sdb
# vgdisplay
Ora estendi il volume logico aggiungendo lo spazio su disco su di esso e quindi aggiungilo alla partizione di root.
# lvextend -L +20G /dev/mapper/centos-root
# xfs_growfs /dev/mapper/centos-root
# df -h
Conclusione
La gestione delle partizioni del disco in Linux CentOS 7 è un processo semplice per aumentare lo spazio su disco di qualsiasi volume logico utilizzando i passaggi descritti in questo articolo. Non è necessario eseguire il riavvio del server di produzione per questo scopo, ma è sufficiente eseguire nuovamente la scansione dei dispositivi SCSi ed espandere l'LVM desiderato. Ci auguriamo che tu possa trovare questo articolo molto utile. Sentiti libero di lasciare i tuoi preziosi commenti o suggerimenti.