Quickstart LVM-IT
Altre Pagine: · Home Page · Documentazione · Downloads · Screenshots · Contatti
Indice
Introduzione
Questa pagina mostra come creare modificare, ampliare e restringere un volume LVM. Mostra anche come montarli in un sistema diverso dall'originale e come ripristinarlo/recuperarlo in caso di emergenza.
Creare un volume LVM
Creare con fdisk o cfdisk le partizioni da aggiungere al volume. Le partizioni devono essere di tipo "Linux LVM", ossia 8E. Vanno creati i Physical Volume in queste partizioni:
# pvcreate /dev/sda1 /dev/sdb1
Va creato il Volume Group dal nome arbitrario (io ho usato backupVG0):
# vgcreate -s 32M backupVG0 /dev/sda1 /dev/sdb1
L'opzione -s definisce la dimensione degli extent. Poiché il numero massimo degli extent è fisso, per volumi più grandi è necessario fissare extent più grandi. Il default è 4M, che fissa il massimo per un volume a 256 GB. 16M fissa il massimo a 1 TB. 32M fissa il massimo a 2 TB. È un parametro che non si può modificare dopo.
A questo punto va creato il Logical Volume dal nome arbitrario (io ho usato backupLV0):
# lvcreate -l 100%VG -n backupLV0 backupVG0
Il parametro -l controlla la dimensione iniziale del volume creato, che può essere inferiore allo spazio disponibile, ed eventualmente aumentare quando verranno aggiunti nuovi Physical Volume al Volume Group. Si può dare la dimensione esatta (es. 40G), oppure si può indicare una dimensione percentuale (100%VG == usa tutta la capacità del Volume Group).
Formattare il Logical Volume:
# mkfs.ext3 -m 0.1 -L backup -O dir_index /dev/backupVG0/backupLV0
/dev/backupVG0/backupLV0 è il nome del device associato al Logical Volume, costruito a partire dal nome del Volume Group e dal nome del Logical Volume stabiliti prima (per il logical volume, come per le partizioni, si possono usare label e uuid per farvi riferimento nei file di configurazione). In alternativa si può accedere al volume logico anche con /dev/mapper/backupVG0-backupLV0
Montare il Logical Volume:
# mount /dev/backupVG0/backupLV0 /mnt/backup/
Modificare un Logical Volume
Ampliare un LV
È possibile ampliare un volume logico, aggiungendo nuovi volumi fisici a un gruppo pre-esistente ed estendendo il volume logico sul nuovo spazio disponibile, senza dover riavviare il sistema. Inoltre con il kernel 2.6 e versioni recenti di e2fsprogs è possibile ridimensionare una partizione ext2/ext3 anche senza smontarla (Brrr...). Questo è posibile perché con lvm il kernel vede subito l'aumento di dimensioni del volume anche se montato (con le partizioni fisiche, al contrario, è necessario smontare la partizione).
- Creiamo una partizione di tipo "Linux LVM" come fatto prima, con cfdisk;
- Rendiamola un nuovo physical volume con pvcreate.
- Aggiungiamola ad un volume group esistente con vgextend.
- Ampliamo il logical volume con lvextend.
- Ridimensioniamo il file system (solo se ext3) con resize2fs.
Di solito è una buona idea controllare il file system con e2fsck prima di ridimensionarlo.
Ridurre un LV
Per restringere un logical volume a una dimensione inferiore alle dimensioni del file system che contiene è comunque necessario smontare il file system e prima ridimensionare questo (ammesso che ci sia sufficiente spazio vuoto).
- smontare il LV
- controllare il file system con e2fsck -f
- ridimensionare il file system con resize2fs
- restringere il LV con lvreduce
Se dobbiamo rimuovere un physical volume dal volume group, dobbiamo prima spostare i dati su un altro physical volume con pvmove e poi rimuovere il physical volume con vgreduce.
Backup e ripristino dei metadati
Intro
I metadati descrivono il LV e consentono di montarlo correttamente. Senza di questi il LV non funziona.
Backup
È possibile fare un backup dei metadati con il comando:
# vgcfgbackup -f backupVG0.lvm
Restore
Per ripristinare i metadati da un file di backup si usa il comando vgcfgrestore. Elenchiamo i volume group salvati nel file di backup:
# vgcfgrestore -f backupVG0.lvm -l
Ripristiniamo un volume group dando il suo nome a vgcfgrestore:
# vgcfgrestore -f backupVG0.lvm backupVG0
In alternativa, è utile fare un backup di /etc/lvm (il file equivalente è /etc/lvm/system o /etc/lvm/backup, sono file di testo modificabili secondo le esigenze). Per ripristinare i metadati sui physical volume usare:
# pvcreate --restorefile backupVG0
Accesso da un live-cd
Per accedere al Logical Volume da un live-cd, devono essere disponibili i tool lvm2 (disponibile in PoliArch). Identifichiamo le partizioni esistenti, e quelle che potrebbero essere PV:
# fdisk -lu
Cerchiamo i physical volume esistenti:
# pvscan
Cerchiamo i volume group esistenti:
# vgscan
Attiviamo tutti i volume group disponibili:
# vgchange -a y
Cerchiamo i logical volume:
# lvscan
Montiamo i logical volume trovati su una directory.
Altri comandi utili di LVM
pvdisplay mostra i volumi fisici disponibili vgdisplay mostra i volume group disponibili vgrename rinomina un volume group lvdisplay mostra i logical volume disponibili lvrename rinomina un logical volume GNU parted crea pv, ridimensiona e copia lvAltre cose interessanti da sapere su LVM
LVM supporta gli snapshot, "immagini congelate" di un logical volume, che si possono montare e usare così come il volume originale, la differenza è che al momento della creazione bisogna specificare quanto possono "crescere". L'idea è che per quel che rimane uguale all'originale, si usano i dati dell'originale, mentre le differenze vengono scritte nello spazio indicato, e perciò non è necesario avere sui volumi fisici uno spazio pari al doppio dell'originale. Gli snapshot sono molto utili per fare backup online di sistemi attivi. # lvcreate -L500 -s -n mysnapshot /dev/backupVG0/backupLV0 crea un logical volume snapshot dal nome mysnapshot # mkdir /mnt/mysnapshot Monta lo snapshot # mount /dev/backupVG0/mysnapshot /mnt/mysnapshot smonta lo snapshot e lo rimuove # umount /dev/backupVG0/mysnapshot # lvremove /dev/backupVG0/mysnapshotDocumentazione utile
Le pagine man dei tool di LVM sono esaurienti e molto amichevoli. Un buon punto di partenza è # man lvm