Gestione avanzata dei dischi su Linux (Logical Volume Management - LVM)
- Introduzione ai volumi logici
Nella gestione quotidiana del computer come amministratori di sistema o come utenti esperti, si arriva a capire che un buon partizionamento dei dischi,
frutto di una meticolosa pianificazione, ci risparmierà un sacco di lavoro nel futuro.
Non sempre si è in grado di prevedere con certezza la crescita dei dati e potremmo trovarci un giorno a doverli riorganizzare facendo nuove partizioni e ricopiando tutto con un certo disagio.
Linux ha uno strumento a disposizione che ci consente di poter gestire questo tipo di problematiche e porvi tempestivamente rimedio: il Logical Volume Management.
Questo tipo di gestione prevede che la gestione dello spazio disco passi da un insieme di "partizioni" (dischi partizionati), ad un organizzazione secondo "volumi logici" (Physical Volumes, Volume Groups, Logical Volumes).
- Un esempio pratico
Per comprendere meglio, ipotizziamo di dover installare un sistema Linux.
A disposizione avremo:
Disco da 20 Gb
Disco da 40 Gb
Il partizionamento potrebbe essere come segue (RAM=1Gb):
| Mount |
Dimensione |
/boot
|
256 Mb
|
/
|
1+ Gb
|
/home
|
Max
|
/var
|
3+ Gb
|
/usr
|
5+ Gb
|
/tmp
|
1+ Gb
|
swap
|
2 x Ram |
La nomenclatura delle partizioni del disco, in Linux, è assegnata dal sistema.
- Il sistema tradizionale
Nella tabella che segue c'è un partizionamento "normale", basato su quelle che possono essere le esigenze di un
computer domestico (o anche di un piccolo server).
| Dischi |
Partizionamento |
| 20 Gb |
| Mount |
Dimensione |
| /boot |
256 Mb |
| / |
1 Gb |
| /var |
3 Gb |
| /usr |
5 Gb |
| swap |
2 x RAM |
| /tmp |
1 Gb |
| Libero: |
7.5 Gb (circa) |
|
| 40 Gb |
| Mount |
Dimensione |
| /home |
30 Gb |
| Libero: |
10 Gb |
|
La partizione che monteremo su /home sarà quella che conterrà le nostre attività principali: web server, database, ecc.
Le partizioni sono tutte sul medesimo disco (il più piccolo), tranne la partizione /home, che abbiamo pianificato sul disco più grande per 30Gb.
Abbiamo lasciato 7.5 Gb da una parte e 10 Gb dall'altra per le emergenze o gli imprevisti futuri (nuove partizioni necessarie o "travasi" di dati).
Questo sistema ha l'evidente svantagio che l'allargamento di una partizione è poco pratico (richiede un "travaso" dei dati). Ci riserviamo però la possibilità di fare delle nuove partizioni o di allargare /tmp ed /home.
- Gestione logica dei volumi
Nella tabella a seguire c'è il partizionamento eseguito con il gestore dei volumi logici (d'ora in poi LVM),
Lo spazio che avanza nel Volume Group potrà essere utilizzato per allargare una qualsiasi delle partizioni.
Le partizioni avranno un nome arbitrario scelto da noi che utilizzeremo per ricordarci la funzione che andranno a svolgere (es. il mount point)
| Gruppo di volumi |
Dischi
|
Spazio Tot
|
Volumi Logici
|
|
|
60 Gb |
| Nome |
Mount |
Taglia |
| lv_root |
/ |
1 Gb |
| lv_var |
/var |
3 Gb |
| lv_usr |
/usr |
5 Gb |
| lv_tmp |
/tmp |
1 Gb |
| lv_swap |
swap |
2 Gb (2xRam) |
| lv_home |
/home |
30 Gb |
| |
|
|
| Libero: |
|
18 Gb |
|
|
La procedura per "passi" è come segue:
- I dischi vengono etichettati come volumi fisici (Physical Volumes o per brevità PV)
- I PV vengono raggruppati in un gruppo di volumi (Volume Group o VG)
- All'interno del VG vengono creati i volumi logici (Logical Volumes o LV)
- Sui LV andremo a creare i nostri filesystems che infine comporranno il nostro sistema.
In questo schema è stato volutamente escluso il filesystem /boot che per ragioni tecniche deve rimanere una partizione a se stante.
In un futuro articolo vedremo in dettaglio il perchè, e realizzeremo quanto sopra esposto.