Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== LVM: Logical Volume Group ====== LVM è un gestore di volumi che permette di organizzare in modo più logico le partizioni sulla nostra Linux Box. Uno dei problemi che affligge il classico sistema di partizionamento è la difficolta di ridimensionare la dimensione delle partizioni create. In passato ci dovevamo affidare a tool di terze parti o spostare tutti i dati delle partizioni in un disco capiente, riorganizzare le partizioni e travasare nuovamente i dati. Con LVM si supera questa difficoltà in quanto al posto delle partizioni vengono creati dei volumi logici che possono essere ridimensionati facimente ed anche "a caldo". Con LVM è possibile creare un volume unendo uno o più dischi fisici in modo da avere un unico grande volume. Un'altra caratteristica degna di nota e che LVM offre anche la possibilità di creare degli "snapshot" in modo da ripristinare facilmente i nostri dati. Con LVM abbiamo: * **Physical Volume**: Uno o più dischi che vanno a creare il Volume Group * **Volume Group**: Il contenitore dei Logical Volume * **Logical Volume**: Volume che contiene i nostri dati, paragonabile alla vecchia partizione. ===== Schema di esempio ===== ^ Physical volumes ^^^^^ ^ Disco 1 ^^ Disco 2 ^^^ | /dev/sda (100GB) || /dev/sdb (100GB) ||| | /dev/sda1 (50GB) | /dev/sda2 (50GB) | /dev/sdb1 (50GB) | /dev/sdb2 (50GB) || ^ Volume Group ^^^^^ | /dev/storage (/dev/sda + /dev/sdb = 200GB) ||||| ^ Logical Volume ^^^^^ | /dev/storage/root \\ (20GB) | /dev/storage/home \\ (80GB) | /dev/storage/log \\ (10GB) | /dev/storage/backup \\ (40GB) | /dev/storage/web \\ (50GB) | Nell'esempio qui sopra abbiamo due dischi da 100GB l'uno partizionati a sua volta con due volumi da 50GB. Da questi due dischi è stato creato un unico volume da 200GB. Successivamente sono stati creati diversi volumi logici. ===== Avvertenze ===== <div important 90% round center>Utilizzate i comandi descritti in questo articolo con cautela in quanto stiamo lavorando con i dischi e se qualcosa va storto possiamo **perdere i nostri dati**. Se siamo in vena di esperimenti prendiamo una penna USB vuota!</div> ===== Installare LVM ===== Prima di iniziare è necessario verificare che sul nostro sistema sia installato il pacchetto ''lvm2''. <div info 90% round center>La maggior parte delle distribuzioni inseriscono di default il pacchetto nell'installazione base.</div> Il pacchetto LVM mette a disposizione diversi comandi per amministrare i nostri volumi LVM. ^ ::: ^ Comando ^ Descrizione ^ | **Physical Volume** | ''pvcreate'' | Inizializza un disco per LVM | | ::: | ''pvscan'' | Elenca tutti i volumi fisici presenti nel nostro sitema | | ::: | ''pvdisplay'' | Mostra le informazioni sui volumi fisici presenti nel nostro sitema | | **Volume Group** | ''vgcreate'' | Crea un gruppo di volumi LVM | | ::: | ''vgscan'' | Elenca tutti i gruppi di volumi presenti nel nostro sitema | | ::: | ''vgdisplay'' | Mostra le informazioni sui gruppi di volumi presenti nel nostro sitema | | ::: | ''vgextend'' | Aggiunge uno o più volumi fisici ad un gruppo di volumi gia esistente | | ::: | ''vgreduce'' | Rimuove uno o più volumi fisici da un gruppo di volumi | | **Logical Volume** | ''lvcreate'' | Crea un volume logico | | ::: | ''lvscan'' | Elenca tutti i volumi logici presenti nel nostro sitema | | ::: | ''lvdisplay'' | Mostra le informazioni sui volumi logici presenti nel nostro sitema | ==== Partizionare i dischi ==== Il prossimo passo è creare con ''fdisk'' o ''cfdisk'' una partizione di tipo ''Linux LVM'' (identificativo ''8E'' o ''0x08e'') sul disco che abbiamo intenzione di usare con LVM. ==== Creiamo il Physical Volume ==== Il prossimo passo è inizializzare il disco con il comando ''pvcreate''. Questo comando riserva un'area di dati sul disco per permettere ad LVM per scrivere le informazioni necessarie per gestire il volume. # pvcreate /dev/sda <div tip 90% center round>Se dobbiamo utilizzare più dischi con LVM è possibile indicare nello stesso comando più dispositivi: # pvcreate /dev/sda /dev/sdb1 </div> ==== Creiamo il Volume Group ==== Adesso creiamo il gruppo di volumi ed assegnamogli un nome. # vgcreate storage /dev/sda ==== Creiamo i Logical Volume ==== Prossimo passo è creare i singoli volumi logici dimensionandoli in base alle nostre necessità. # lvcreate storage -L 10G -n root # lvcreate storage -L 5G -n swap # lvcreate storage -L 50G -n home Nell'esempio abbiamo creato 3 volumi logici chiamati root (da 10G), swap (da 5G) e home (da 50G). <div tip 90% round center>Per assegnare ad un volume tutto lo spazio rimasto sul **VolumeGroup** possiamo usare il comando con questa sintassi: # lvcreate storage -l 100%FREE -n home </div> ==== Formattiamo le partizioni ==== Ultimo importante passo è formattare le partizioni con il filesystem più adatto allo scopo del volume. Ad esempio: # mkfs.ext4 /dev/storage/root # mkswap /dev/storage/swap # mkfs.ext4 /dev/storage/home ==== Ultimi ritocchi ==== === Editiamo /etc/fstab === Se abbiamo creato dei volumi con LVM per installare la nostra distribuzione assicuriamoci che ''/etc/fstab'' sia configurato correttamente. === LVM su dischi rimuovibili === Se al posto di un disco rigido abbiamo utilizzato un HD esterno o pennetta USB prima di rimuoverlo completamente è necessario disattivare il **VolumeGroup** altrimenti avremo una serie di errori: # vgscan [...] /dev/storage/home: read failed after 0 of 4096 at 10737352704: Errore di input/output /dev/storage/home: read failed after 0 of 4096 at 10737410048: Errore di input/output /dev/storage/home: read failed after 0 of 4096 at 0: Errore di input/output /dev/storage/home: read failed after 0 of 4096 at 4096: Errore di input/output Per disattivare il **VolumeGroup**: # vgchange -an <nome del gruppo> Nel caso fosse necessario attivarlo: # vgchange -ay <nome del gruppo> {{tag>how-to linux lvm}} how-to/lvm.txt Last modified: 10 years agoby Giuseppe Di Terlizzi Log In