Linux LVM: Logical Volume Manager

linux-lvm-storageLinux LVM (Logical Volume Manager) è un software di gestione dei dischi disegnato per essere più flessibile rispetto al normale partizionamento fisico. Soluzioni di Logical Volume Manager sono presenti in diversi tipi di Unix, tra i quali HP-UX, AIX e Oracle Solaris (in quest’ultimo tramite software aggiuntivi).

il Logical Volume Manager fornisce un’astrazione del disco andando a creare un oggetto chiamato “Volume” che conterrà i dati. Rispetto alla normale partizione del disco, il volume viene considerato “astratto” perché non riferisce ad una precisa zona del disco, anzi può anche comprendere zone di dischi differenti.

L’implementazione di Linux LVM, o in altre parole, il modo in cui il Logical Volume Manager è stato realizzato su Linux, comprende una serie di oggetti che in scala gerarchica partono dal disco fisico fino ad arrivare al volume in cui l’astrazione è completa. Vediamoli in ordine.

Linux LVM – physical volume

Al livello più basso si trova il disco fisico, o meglio una sua partizione, che viene chiamata “physical volume” (volume fisico) abbreviato con la sigla PV. Il physical volume normalmente corrisponde all’intero disco, nel senso che generalmente volendo utilizzare un disco con LVM si crea un’unica partizione che comprende tutto il disco.

Perché utilizzare una partizione che occupa l’intero disco (ad esempio /dev/sdc1) invece di usare direttamente il disco (ad esempio /dev/sdc)? Per motivi di chiarezza. Se LVM può funzionare benissimo utilizzando l’intero disco, dal punto di vista utilizzatore è più comodo utilizzare una partizione contrassegnata con l’etichetta “8e” (Linux LVM) in modo da ricordarsi per cosa il disco è stato destinato.

Linux LVM – volume group

Il livello successivo al physical volume (PV) è il “volume group” (gruppo di volumi) abbreviato con la sigla VG. Il volume group non è altro che un contenitore per mettere insieme uno o più physical volume. Per quale motivo i volumi fisici vanno messi insieme? Per raggrupparli a livello logico. Serve per evidenziare, in maniera chiara, ogni singolo disco (PV), a quale scopo è destinato.

Se questo sembra avere poco senso su un computer personale che normalmente ha solo uno, o al massimo due dischi, la cosa risulta perfettamente chiara su un server che può avere diverse decine di dischi. In questo caso, sapere quali sono i dischi destinati al sistema, quali al database, quali al web server è importante.

Quindi se nel caso di un computer personale, o piccolo server, può essere sufficiente creare un unico volume group, nel caso di un server più grosso può essere opportuno creare volume group differenti.

Linux LVM – logical volume

Infine, l’ultimo livello di LVM è quello del “logical volume” (volume logico) abbreviato con la sigla LV. Sul logical volume sarà creato il filesystem nella corrispondenza di uno ad uno. Nel senso che su ogni logical volume si potrà creare un solo filesystem.

So che a prima vista la struttura del Logical Volume Manager (LVM) di Linux sembra eccessivamente complessa, ma in realtà è molto comoda perché comporta diversi vantaggi. I vantaggi sono dovuti al fatto che il volume, essendo “logico”, appoggia i propri dati sul disco fisico (o dischi fisici) in maniera stabilita dal sistema (e trasparente) a seconda delle necessita.

Linux LVM – vantaggi nell’utilizzo

I vantaggi che offre una soluzione come Linux LVM sono i seguenti:

  • possibilità di ingrandire un volume senza problemi. A differenza del partizionamento fisico non è necessario che lo spazio allocato sia contiguo, in un volume non importa quali siano i settori del disco utilizzato, possono essere anche distanti, per cui non è un problema aggiungere un altro pezzo.
  • possibilità di creare un volume più grande del disco fisico. Nel caso sul sistema siano presenti diversi dischi, un volume può risiedere su dischi differenti e quindi può anche essere più grande del singolo disco.
  • possibilità di ingrandire un volume col sistema online. Per ingrandire un volume non è necessario fermare il sistema, può essere fatto “a caldo”. E’ necessario fermare il sistema solo se il volume deve essere rimpicciolito.
  • possibilità di creare volumi con ridondanza. Nel caso siano presenti più dischi è possibile creare dei volumi in “mirror” o RAID5, in modo che se si dovesse guastare un disco non ci siano perdite di dati.
  • possibilità di creare oggetti avanzati come gli snapshot. Gli snapshot sono delle “fotografie” di un volume che rappresentano come si trovava in un certo momento. Sono utili per situazioni tipo backup o installazioni/aggiornamenti in cui ci possa essere la necessità di tornare alla situazione precedente.

I motivi per utilizzare Linux Logical Volume Manager sono tanti. E’ talmente comodo e versatile che andrebbe utilizzato non solo sui server ma anche sui computer personali. E’ vero che all’inizio può sembrare complesso e difficile da utilizzare. Ma con una buona guida si impara velocemente ed in maniera semplice ad utilizzare Linux LVM e a lavorarci sopra senza problemi.

i 5 errori da evitare con Linux LVM

 

Filed in: Linux LVM | Tags:

Leave a Reply

Trackback URL | RSS Feed for This Entry