intermediate - guida pratica per LVM

Transcript

intermediate - guida pratica per LVM
intermediate - guida pratica per LVM
Scritto da {ga=allanon}
LVM (Logical Volume Manager) e' un meccanismo per astrarre la struttura di uno o piu' dischi
rigidi.
Si possono creare partizioni virtuali, dimensionarle e muoverle a piacimento. Naturalmente e'
possibile aggiungere e rimuovere tali partizioni.
Tale sistema molto in uso nelle aziende di un certo spessore, sta diventando sempre piu'
popolare anche tra gli utenti comuni che si trovano a dover immagazzinare materiale di vario
tipo e non sempre lo spazio ipotizzato si rivela adeguato....
Visualizziamo la struttura di un LVM generico
1/5
intermediate - guida pratica per LVM
Scritto da {ga=allanon}
Come vediamo in figura, a partire da due dischi, suddivisi in partizioni in vario modo, possiamo
creare un unico Device virtuale da partizionare a nostro piacimento, ad esempio per creare due
partizioni, prova e munnizzaro. Da notare che ho utilizzato partizioni non necessariamente
contigue, anzi, posizionate in due dischi differenti!
Per il mio esempio ho iniziato avendo due partizioni
sda1 11 GB
sda2 66 GB
ho installato i componenti necessari
sudo apt-get install lvm2 dmsetup
ho formattato i devices come linux LVM (hex 8e)
(ho usato cfdisk...)
adesso che possiedo le partizioni, preparo i device per LVM
pvcreate /dev/sda1 /dev/sda
per visualizzare il riepilogo
pvdisplay
ora creo il gruppo volume con i giusti device
vgcreate letstry1 /dev/sda1 /dev/sda2 vgdisplay #x il riepilogo vgrename letstry1 newname #
per rinominare un gruppo volume
2/5
intermediate - guida pratica per LVM
Scritto da {ga=allanon}
creo i volumi logici
lvcreate --name try1 --size 76G letstry lvdisplay lvrename letstry try1 newname #per
rinominare un volume logico
creo i filesystem
mkfs.ext4 /dev/letstry/try1
lo monto per provarlo
mkdir /media/try1 mount /dev/letstry/try1 /media/try1 df -h #per visualizzare i filesystem
montati chmod 777 /media/try1/ #per permettere la scrittura sul fs a tutti gli utenti
Ridurre la dimensione di un volume logico
Per ridurre e' importante ricordare l'ordine logico e cronologico in cui effettuare le operazioni
0) smontare il fs
1) riduzione del filesystem
2) riduzione del volume logico
Altrimenti la perdita di dati e' garantita.
Non e' possibile avere una dimensione del volume logico inferiore a quella del filesystem:
perdita di dati.
Quando si gioca sulla dimensione di una partizione, e piu in generale quando si parla di Byte,
c'e' sempre una certa confusione sul modo di misurare tale grandezza.
Ad esempio 40GB non sono 40000MB, perche' k, M, G vengono calcolati in potenze di 2, non di
10.
1k = 2^10 = 1024 1M = 2^20 = 1048576 1G = 2^30 = 1073741824
Quindi io preferisco ridurre il filesystem di una quantita' molto inferiore rispetto a quella
desiderata, ridurre il volume logico alla quantita' desiderata, e poi allargare il filesystem fino alla
dimensione del volume logico. E' un po' un casino, ma voi siete liberi di provare diversamente
:D
smonto il device
umount /dev/letstry/try1
forzo un check sulla partizione
e2fsck -f /dev/letstry/try1
3/5
intermediate - guida pratica per LVM
Scritto da {ga=allanon}
se e' tutto apposto, riduciamo il fs
resize2fs /dev/letstry/try1 20G
ora riduciamo il volume logico
lvreduce -L25G /dev/letstry/try1
fine
Allargare la dimensione del volume logico
L'ordine cronologico e logico delle operazioni e'
0) smontare il fs
1) aumentare la dimensione del volume logico
2) aumentare la dimensione del fs fino a quella del volume logico
Quindi,
allargo la dimensione del volume logico a 60G
lvextend -L 60G /dev/letstry/try1
esistono diverse opzioni per aumentare la dimensione, ad esempio:
allarghiamo la dimensione del volume logico fino al 100% della dimensione del gruppo di volumi
lvextend -l 100%VG /dev/letstry/try1
utilizzera tutti i 76G del gruppo volumi, non lasciando piu' spazio libero all'interno del gruppo.
Quindi impossibile creare altri volumi logici senza prima ridimensionare quello esistente.
rapido controllino sul fs
e2fsck -f /dev/letstry/try1
e allargo anche il fs fino alle dimensioni del volume logico.
resize2fs /dev/letstry/try1
fine.
4/5
intermediate - guida pratica per LVM
Scritto da {ga=allanon}
Aggiungiamo una partizione al gruppo volume
a questo punto i comandi ormai li conoscete, non c'e' ulteriore bisogno di spiegarli. Il nuovo
volume occupera' il 100% dello spazio libero del gruppo volume.
umount /dev/letstry/try1 umount /dev/sdb5 pvcreate /dev/sdb5 pvdisplay vgextend letstry
/dev/sdb5 vgdisplay lvextend -l +100%FREE /dev/letstry/try1 e2fsck -f /dev/letstry/try1
resize2fs /dev/letstry/try1 mount /dev/mapper/letstry-try1
Rimuovere una partizione dal gruppo volume
Supponiamo di voler rimuovere /dev/sdb5 dal gruppo volume.
L'ordine cronologico delle operazione da fare e'
1) smontare fs
umount /dev/letstry/try1
2) copiare i dati da /dev/sdb5 a /dev/sda1
pvmove /dev/sdb5 /dev/sda1
3) rimuovere la partizione
vgreduce letstry /dev/sdb5
4) se non vogliamo piu' usare /dev/sdb5 come volume fisico per LVM allora:
pvremove /dev/sdb1
5/5