how-to:lvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
how-to:lvm [2014/08/18 02:43] Giuseppe Di Terlizzihow-to:lvm [2014/08/18 22:24] (current) Giuseppe Di Terlizzi
Line 1: Line 1:
 ====== LVM: Logical Volume Group ====== ====== LVM: Logical Volume Group ======
  
-LVM è un programma che permette di organizzare in modo più logico le partizioni sulla nostra Linux-Box. Con LVM si ha una maggiore flessibilità a differenza del partizionamento classico con la possibilità di ridimensionare "a caldo" le partizioni.+LVM è un gestore di volumi che permette di organizzare in modo più logico le partizioni sulla nostra Linux Box.
  
-Con LVM è possibile creare un volume con uno o più dischi fisici in modo da avere un unico grande volume. LVM offre anche la possibilità di creare degli "snapshot" in modo da ripristinare i nostri dati in modo sicuro ed efficiente.+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 ===== ===== Schema di esempio =====
Line 16: Line 24:
 | /dev/storage/root \\ (20GB) | /dev/storage/home \\ (80GB) | /dev/storage/log \\ (10GB) | /dev/storage/backup \\ (40GB) | /dev/storage/web \\ (50GB) | | /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. Da questi due dischi è stato creato un unico volume da 200GB. Successivamente sono stati creati diversi volumi logici.+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.
  
-===== Preparazione =====+===== 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.+<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> Se siamo in vena di esperimenti prendiamo una penna USB vuota!</div>
  
-==== Installare lvm ====+===== Installare LVM =====
  
 Prima di iniziare è necessario verificare che sul nostro sistema sia installato il pacchetto ''lvm2''. Prima di iniziare è necessario verificare che sul nostro sistema sia installato il pacchetto ''lvm2''.
Line 29: Line 37:
 <div info 90% round center>La maggior parte delle distribuzioni inseriscono di default il pacchetto nell'installazione base.</div> <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 creare, modificare ed amministrare i nostri volumi LVM.+Il pacchetto LVM mette a disposizione diversi comandi per amministrare i nostri volumi LVM.
  
 ^ ::: ^ Comando ^ Descrizione ^ ^ ::: ^ Comando ^ Descrizione ^
-| Physical Volume | ''pvcreate'' | Inizializza un disco per LVM |+**Physical Volume** | ''pvcreate'' | Inizializza un disco per LVM |
 | ::: | ''pvscan'' | Elenca tutti i volumi fisici presenti nel nostro sitema | | ::: | ''pvscan'' | Elenca tutti i volumi fisici presenti nel nostro sitema |
 | ::: | ''pvdisplay'' | Mostra le informazioni sui 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 |+**Volume Group** | ''vgcreate'' | Crea un gruppo di volumi LVM |
 | ::: | ''vgscan'' | Elenca tutti i gruppi di volumi presenti nel nostro sitema | | ::: | ''vgscan'' | Elenca tutti i gruppi di volumi presenti nel nostro sitema |
 | ::: | ''vgdisplay'' | Mostra le informazioni sui 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 | | ::: | ''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 | | ::: | ''vgreduce'' | Rimuove uno o più volumi fisici da un gruppo di volumi |
-| Logical Volume | ''lvcreate'' | Crea un volume logico |+**Logical Volume** | ''lvcreate'' | Crea un volume logico |
 | ::: | ''lvscan'' | Elenca tutti i volumi logici presenti nel nostro sitema | | ::: | ''lvscan'' | Elenca tutti i volumi logici presenti nel nostro sitema |
 | ::: | ''lvdisplay'' | Mostra le informazioni sui volumi logici presenti nel nostro sitema | | ::: | ''lvdisplay'' | Mostra le informazioni sui volumi logici presenti nel nostro sitema |
Line 46: Line 54:
 ==== Partizionare i dischi ==== ==== Partizionare i dischi ====
  
-Il prossimo passo è creare con ''fdisk'' o ''cfdisk'' una partizione di tipo ''Linux LVM'' (identificativo ''8e'') sul disco che abbiamo intenzione di usare con LVM.+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 ==== ==== 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   # 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 ==== ==== Creiamo il Volume Group ====
  
-  # vgcreate /dev/sda storage+Adesso creiamo il gruppo di volumi ed assegnamogli un nome. 
 + 
 +  # vgcreate storage /dev/sda
  
 ==== Creiamo i Logical Volume ==== ==== 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 10G -n root
   # lvcreate storage -L 5G -n swap    # lvcreate storage -L 5G -n swap 
   # lvcreate storage -L 50G -n home   # 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 ==== ==== 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   # mkfs.ext4 /dev/storage/root
   # mkswap /dev/storage/swap   # mkswap /dev/storage/swap
   # mkfs.ext4 /dev/storage/home   # 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}} {{tag>how-to linux lvm}}
 +
  • how-to/lvm.1408322594.txt.gz
  • Last modified: 10 years ago
  • by Giuseppe Di Terlizzi