Slackware LVM HOWTO: differenze tra le versioni
(→Procedura) |
(→Creazione di un Logical Volume (LV)) |
||
| Riga 117: | Riga 117: | ||
=== Creazione di un Logical Volume (LV) === |
=== Creazione di un Logical Volume (LV) === |
||
| + | |||
| + | La procedura riguarda un singolo Volume (lvhome) ma può essere estesa a tutti gli LV del nostro VG (spazio totale permettendo). |
||
| + | |||
| + | root@box:~# lvcreate -L 1000M -n lvhome /dev/vgDATI |
||
| + | lvcreate -- doing automatic backup of "vgDATI" |
||
| + | lvcreate -- logical Volume "/dev/vgDATI/lvhome" successfully created |
||
| + | |||
| + | A questo punto possiamo procedere alla creazione di due LV nel VG precedentemente creato, utilizzando l’apposito comando lvcreate. |
||
| + | |||
| + | In questo caso verranno creato un LV denominato lvhome di 1000M. |
||
=== Formattazione e montaggio delle partizioni === |
=== Formattazione e montaggio delle partizioni === |
||
Versione delle 22:21, 13 set 2006
WORK IN PROGRESS
Indice |
Introduzione
Ho dovuto affrontare questo argomento per motivi pratici visto che mi hanno chiesto di predisporre un sistema che consentisse con il tempo di ampliare le partizioni (per i dati contenuti), sia per un eventuale spazio di swap (per un proxy) che per un’area dedicata allo storage di dati per utenti (home directory).
Ho pensato di utilizzare le potenzialità del LVM ovvero il Logical Volume Manager da tempo incorporate nel kernel di Linux. Con questo sistema diventa infatti possibile superare le limitazioni offerte dalle partizioni standard, che possono essere maneggiate (ampliate o ridotte) con grande difficoltà. Le caratteristiche di LVM consentono invece la manipolazione e soprattutto l’estensione delle partizioni dati con grande facilità, rendendo meno complessa l’espansione dello storage su di un sistema.
Siccome l’argomento è complesso ed io non mi ritengo un esperto in materia (non lo sono in nulla) eviterò le trattazioni teoriche che lascio all’HOWTO originale e ad alcuni argomenti disponibili su web.
Vi documenterò invece la parte pratica, ovvero le operazioni che ho fatto per poter espandere dei Volumei creati con LVM. E’ stato abbastanza semplice e si è rivelato incredibilmente versatile è potente tanto da farmi pensare ad un suo utilizzo un po’ più su larga scala su alcuni dei miei sistemi.
Alcune distribuzioni (RedHat, Mandrake, Suse) offrono la possibilità di installare l’intero sistema in LVM a partire dalla prima installazione. In questo caso sui doc di RedHat ho visto che ciò può essere fatto ma la partizione boot deve per forza essere montata in una normale partizione perché il kernel non può partire da un LVM.
Nel mio caso il sistema è montato su di un disco con distribuzione Slackware 9.0 kernel 2.4.21, mentre i Volumei in LVM (due partizioni) sono stati creati prima su un disco secondario (/dev/hdc) e poi sono state estese con l’aggiunta di un secondo disco (/dev/hdd).
Il punto di partenza consiste nel predisporre un sistema con Kernel 2.4.x con il supporto LVM compilato:
Multi-device support (RAID and LVM) ---> [*] Multiple devices driver support (RAID and LVM) < > RAID support <M> Logical Volume Manager (LVM) support
Una volta ricompilato il kernel possiamo caricare il modulo con:
modprobe lvm-mod
Un altro elemento essenziale per poter manipolare i Logical Volume ed il filesystem è rappresentato da E2fsprogs, se non presente sul sistema è reperibile qui.
Nozioni Basilari
Prima di effettuare le operazioni sul sistema è bene avere per lo meno un’idea di come funziona LVM e quali siano i suoi concetti di base. Potremmo dire che la struttura di LVM è concentrica o nucleare infatti alla base della creazione di un Volume logico c’è il Physical Volume in pratica il Volume Fisico che conterrà alla fine i nostri Volumei Logici.
In realtà esso contiene ancora un unità intermedia chiamata Volume Group la quale conterrà infine i Logical Volume (LV).
Questa spiegazione è davvero sintetica, in realtà l’argomento è molto più complesso per cui è bene lasciare a documenti più approfonditi tale trattazione (vedi HOWTO), per noi è comunque sufficiente per poter operare con LVM.
Alcune regole base vanno comunque tenute presenti durante la procedura di crezione dei LV:
- Un volume fisico non può essere disteso su più di una unità. Quindi bisogna creare un volume fisico per ogni unità.
- I volumi logici possono essere estesi su più dischi, due dischi IDE nel nostro caso, ma anche su un pool di disci SCSI o SATA, per cui LVM è molto versatile.
Legenda
Le sigle utilizzate nel documento:
- PV - Phisical Volume;
- VG - Volume Group;
- LV - Logical Volume;
- LVM - Logical Volume Manager.
Procedura
A questo punto si può iniziare a creare i PV sul sistema per poi arrivare alla creazione dei veri e propri LV obiettivo della nostra dimostrazione.
Creazione del Volume Fisico (PV)
root@box:~# pvcreate /dev/hdc pvcreate -- device "/dev/hdc" has a partition table
Con pvcreate viene creato il primo Volume fisico sul primo disco IDE su cui verranno create gli LV. Trovando delle partizione attive lo segnala per cui è bene eliminare le partizioni presenti con fdisk e rilanciare il comando:
root@box:~# pvcreate /dev/hdc pvcreate -- physical Volume "/dev/hdc" successfully created
Il comando pvscan ci informa sui device utilizzati:
root@box:/# pvscan pvscan -- reading all physical Volumes (this may take a while...) pvscan -- ACTIVE PV "/dev/hdc" of VG "vgDATI" [9.54 GB / 4.65 GB free] pvscan -- total: 1 [9.54 GB] / in use: 1 [9.54 GB] / in no VG: 0 [0]
il device coinvolto è hdc e ha dimensione 10 GB di cui circa la metà liberi.
Creazione del Volume Group (VG)
root@box:~# vgcreate vgDATI /dev/hdc vgcreate -- INFO: using default physical extent size 4 MB vgcreate -- INFO: maximum logical Volume size is 255.99 Gigabyte vgcreate -- doing automatic backup of Volume group "vgDATI" vgcreate -- Volume group "vgDATI" successfully created and activated
Il comando vgcreate crea il Volume Group in cui verranno poi inseriti il Volumei Logici. Qui sta la parte interessante del discorso poiché i VG possono contenere più dischi in modo da permettere ai LV di espandersi su più dischi superando le limitazioni offerte dal singolo device.
Informazioni su VG esistenti si possono ottenere con vgscan:
root@box:/# vgscan vgscan -- reading all physical Volumes (this may take a while...) vgscan -- found active Volume group "vgDATI" vgscan -- "/etc/lvmtab" and "/etc/lvmtab.d" successfully created vgscan -- WARNING: This program does not do a VGDA backup of your Volume group
il comando vgscan controlla la presenza dei PV e crea un file /etc/lvmtab senza del quale la procedura di creazione degli LVM non può essere iniziate.
Possiamo invece visualizzare lo stato del VG con il comando:
root@box:/# vgdisplay /dev/vgDATI --- Volume group --- VG Name vgDATI VG Access read/write VG Status available/resizable VG # 0 MAX LV 256 Cur LV 2 Open LV 1 MAX LV Size 255.99 GB Max PV 256 Cur PV 1 Act PV 1 VG Size 9.54 GB PE Size 4 MB Total PE 2441 Alloc PE / Size 1375 / 5.37 GB Free PE / Size 1066 / 4.16 GB VG UUID 8jG3ug-inbp-mk5X-7xaB-9VlH-Xqe1-QFE67z
Creazione di un Logical Volume (LV)
La procedura riguarda un singolo Volume (lvhome) ma può essere estesa a tutti gli LV del nostro VG (spazio totale permettendo).
root@box:~# lvcreate -L 1000M -n lvhome /dev/vgDATI lvcreate -- doing automatic backup of "vgDATI" lvcreate -- logical Volume "/dev/vgDATI/lvhome" successfully created
A questo punto possiamo procedere alla creazione di due LV nel VG precedentemente creato, utilizzando l’apposito comando lvcreate.
In questo caso verranno creato un LV denominato lvhome di 1000M.
Formattazione e montaggio delle partizioni
Ridimensionamento delle partizioni
Estensione di una partizione
Riduzione di una partizione
Ridimansionamento dei Volume Group (VG
Rimozione di un Volume Group (VG)
Estensione di un Volume Group (VG) aggiungendo un device
Estensione di un Volume Group (VG) aggiungendo una partizione
Note
Bisogna ricordarsi che questo non è un sistema che consente di ridondare i dati quindi anche aggiungendo nuovi device (PV Phisical Volumees) non avremo alcuna protezione per i dati per cui è bene fare sempre backup periodici dei dati.
C’è da dire che nonostante una certa semplicità di gestione, il filesystem con LVM è più elaborato rispetto a quello con le tradizionali partizioni, per questo è bene utilizzarlo solo in caso di reale necessità, almeno questo è il mio consiglio.
In ogni caso non fermatevi alle indicazioni offerte in questo documento, ma approfondite soprattutto con l’HOWTO originale.
Questo spiega come creare un LVM con Redhat all’atto dell’installazione del sistema
Autore: Paolo Pavan