Nel precedente articolo ho descritto come ridurre un filesystem ed il suo logical volume corrispondente, la procedura si riferisce in particolare al filesystem di root, un filesystem su linux molto particolare per cui è necessario operare in modalità rescue partendo dal Dvd di installazione della Red Hat.
Sia che tu abbia necessità di ridurre prima un filesystem ed un logical volume per fare spazio all’area di swap, sia che tu abbia abbastanza spazio libero per estendere l’area di swap, la procedura è la medesima ed io consiglio di eseguirla sempre dalla modalità rescue per non correre rischi di malfunzionamenti o instabilità del sistema.
La situazione da cui parto è la seguente:
La situazione attuale è:
[root@localhost ~]# free total used free shared buffers cached Mem: 8173236 1590572 6582664 0 140784 1224916 -/+ buffers/cache: 224872 7948364 Swap: 1048576 0 1048576
in cui il logical volume in cui è attualmente presente il filesystem di swap è il LogVol01.
Riavvia il server avendo cura di aver inserito il disco di installazione della versione RedHat con cui hai installato il server, nel mio caso la 5.4, alla schermata di boot del cd:
digita “linux rescue” e procedo come nell’installazione fino alla richiesta da parte di Anaconda di montare i filesystem della macchina nel path /mnt/sysimage, a questo punto scegli di non montare i filesystems in quanto le operazioni da compiere presuppongono che i filesystems non siano montati.
Al prompt dei comandi è necessario attivare il volume group, esegui:
#> lvm vgchange -a y
e per verificare i logical olume presenti puoi utilizzare il comando:
#> ls /dev/VolGroup00/
il cui risultato dovrebbe essere il seguente:
#> ls /dev/VolGroup00/ LogVol00 LogVol01
Per disabilitare l’uso dell’area di swap da parte del sistema utilizzo il comando:
#> swapoff /dev/VolGroup00/LogVol01
quindi procediamo con l’incremento del logical volume dei 7Gb che mi occorrono per arrivare ad area di swap da 8Gb.
Utilizzando il comando:
#> lvm lvresize /dev/VolGroup00/LogVol01 -L +7168M
ho utilizzato la notazione in Mb (7168M) invece della notazione in Gb (7G) utilizzata in precedenza, sono equivalenti in casi simili a quello mostrato in quanto non ho applicato incrementi di spazio specifici ma ho incrementato di dimensioni finite.
L’attenzione in questo caso va posta sul + che precede il valore di incremento, se lo avessi omesso avrei ottenuto un logical volume di 7Gb e non di 8Gb (1Gb + 7Gb).
Non resta che formattare il filesystem ed essendo il filesystem di swap devi utilizzare il comando:
#> mkswap /dev/VolGroup00/LogVol01
avendo cura di specificare il logical volume corretto per non incorrere nella formattazione del filesystem sbagliato, e conseguente perdita dei dati in esso contenuti.
Al termine della formattazione devi riattivare l’area di swap e riavviare, puoi omettere la prima operazione in quanto il riavvio automaticamente ripristina tale area nella fase di start, tuttavia è utile attivarla in questa fase per verificare che le operazioni eseguite siano andate a buon fine, per farlo utilizza il comando:
#> swapon -a
procedi quindi al riavvio del sistema ed alla conclusione della procedura eseguendo il comando “free” dovresti ottenere il risultato seguente:
[root@localhost ~]# free total used free shared buffers cached Mem: 8173236 1590572 6582664 0 140784 1224916 -/+ buffers/cache: 224872 7948364 Swap: 8388608 0 8388608
L’area di swap risulta di 8Gb, come volevamo.