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