Per prima cosa analizziamo le partizioni disponibili. Tra i vari comandi disponibili (ad esempio fdisk -l) ho preferito utilizzare il comando df che, tramite una chiara tabella, evidenzia le informazioni per ogni filesystem presente nel sistema:
# df -H Filesystem Size Used Avail Use% Mounted on /dev/mapper/sistema-root 4.0G 3.3G 1.5G 70% / tmpfs 531M 0 531M 0% /lib/init/rw udev 11M 607k 9.9M 6% /dev tmpfs 531M 0 531M 0% /dev/shm /dev/hdb2 8.3G 153M 7.7G 2% /LVMbackup /dev/hda1 192M 23M 159M 13% /boot /dev/hdb1 192M 5.8M 176M 4% /bootbackup /dev/mapper/sistema-home 2.0G 52M 1.9G 3% /home
Si osservino i filesystem indicati. Esclusi quelli di sistema (tmpfs e udev) abbiamo indicate solo 3 delle 4 partizioni da noi precedentemente create. Infatti la partizione hda2, gestita tramite l'LVM, non è formattata con un filesystem siccome è il PD che in fase di installazione abbiamo assegnato al VG sistema. Su di esso vi è invece un mosaico di filesystem divisi e sparpagliati in una moltitudine di PE. Però è proprio dall'assegnazione eseguita dall'LVM tra PE e LE che viene alloco lo spazio dei LV da noi nomiti root e sistema. Tutti i LV sono astratti dal kernel e raggiungibili tramite un path così composto: /dev/mapper/[Nome_VG-Nome_LV]. Questo path altro non è che un link ad un rispettivo disk virtuale gestito del kernel in /dev/dm-ID.
Inoltriamoci ora nell'analisi dell'LVM partendo dall'identificazione dei VG presenti:
# vgdisplay --- Volume group --- VG Name sistema Format lvm2 VG Access read/write VG Status resizable Cur LV 3 Open LV 3 Cur PV 1 VG Size 7.81 GB VG UUID DLd0DF-Rr0p-LnMj-1IJH-v5jK-v5Hi-m5LTvl
L'output appena proposto (dal quale è stato estrapolato solo qualche rigo) indica la presenza un unico VG nominato sistema, contenente 3 Logical Volume e composto da un unico disco (il PD hda2).
Per analizzare i LV possiamo utilizzare lvdisplay (in tutto e per tutto analogo a vgdisplay) oppure utilizzare il più sintetico lvs (logical volume show). Nell'esempio riportato è stato utilizzato lvs specificando di mostrare tutti i LV presenti (-a di all) con in più l'indicazione del device dove è allocato ogni LV (-o +devices).
# lvs -a -o +devices LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices home sistema -wi-ao 1.86G /dev/hda2(1192) root sistema -wi-ao 3.72G /dev/hda2(0) swap sistema -wi-ao 952.00M /dev/hda2(1668)