• Meetings e Workshop
    l'associazione organizza workshop e meeting periodici

  • HowTo e manuali
    come costruire da te gadget elettronici e come programmarli

  • Hacking della PS3
    howto su come installare linux ed effettuare altri hack

  • Una comunità organizzata
    entra a far parte di una associazione organizzata e attiva

  • Strumenti di supporto
    per mantenersi in contatto e favorire la cooperazione

intermediate - guida pratica per LVM PDF Stampa E-mail
Scritto da allanon   
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

Struttura LVM

 

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


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


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.

 

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

 

Commenti  

 
#1 Blac]{out 2010-09-24 06:50 mii complimenti che bella guida! Citazione
 

Aggiungi commento


Codice di sicurezza
Aggiorna


grayhats.org, Powered by Joomla!; Joomla templates by SG web hosting
valid xhtml valid css