LVM odstraňuje omezení diskových oddílů (zmenšování, zvětšování, přidávání nových disků – díky SATA to vše lze za běhu bez vypnutí počítače) – a to vytvořením vrstvy mezi souborovým systémem a fyzickým diskem. Schéma je převzato z LVM-HOWTO z TLDP:
hda1 hdc1 (PV:s on partitions or whole disks) \ / \ / diskvg (VG) / | \ / | \ usrlv rootlv varlv (LV:s) | | | ext2 reiserfs xfs (filesystems)
Instalace
V Ubuntu 9.04 a dále je příslušný modul obsažen přímo v jádře, stačí doinstalovat balíček lvm2.
Konfigurace
Konfigurační soubor je v /etc/lvm/lvm.conf – v Ubuntu není třeba měnit, automaticky jsou hledány LVM disky při startu.
Běžné úkoly
$ sudo pvcreate /dev/sda1 Vytvořit PV na diskovém oddíle $ sudo vgcreate vg /dev/sda1 /dev/sdb1 Vytvořit VG "vg" na disk. oddílech sda1 a sdb1 $ sudo vgchange -a y Aktivovat VG (je též spouštěno init skripty) $ sudo vgextend vg /dev/sdc1 Přidat další fyzický disk do VG "vg" $ sudo lvcreate -L 20G -n root vg Vytvořit 10GB LV s názvem "root" ve VG "vg
S Logical Volumes se již pracuje jako s běžnými disky – tj. vytvořit a připojit souborový systém:
$ sudo mkfs.ext4 /dev/vg/root $ sudo mount -t ext4 /dev/vg/root /mnt/root
Ostatní příkazy
$ sudo vgscan Zobrazit dostupné LVM disky $ sudo vgchange -a n Deaktivovat VG (je spouštěno init skripty při vypnutí) $ sudo vgremove vg Odstranit VG "vg" $ sudo vgextend vg /dev/sdc1 Přidat další fyzický disk do VG "vg" $ sudo pvdisplay /dev/sdc1 Zobrazit info o PV $ sudo pvmove -v /dev/sdc1 Přemístit použité physical extents na jiné PV v příslušné Volume Group (tj. vyprázdnit daný disk) $ sudo vgreduce vg /dev/sdc1 Odstranit PV "sdc1" z VG "vg" (pouze v případě, neobsahuje-li data - viz pvmove) $ sudo vgdisplay vg Zobrazit info o VG - ("Total PE" je velikost extentů v MB použitelných pro vytvoření LV) $ sudo lvremove /dev/vg/root Odstranit LV s názvem "root" (musí být unmounted) $ sudo lvextend -L +2GB /dev/vg/root Zvětšit LV s názvem "root" o 2 GB $ sudo resize2fs /dev/vg/root Zvětšit souborový systém na LV "root" - doporučuje se na odpojeném systému!
Poznámky
Je rozumné vytvářet pouze jeden Physical Volume (pvcreate) na jednom fyzickém disku (pro snazší správu a lepší výkon při striping). Důvodem pro více PV na jednom disku může být snaha o vytvoření více Volume Groups.
Nastavit /var na samostatný LVM logickém disku způsobí, že se tento disk ani nepřipojí, neboť LVM proces chce zapisovat do /var/run, který ovšem v tu chvíli ještě není připojen. Lze to vyřešit vytvořením /var/run na diskovém oddíle s root souborovým systémem a teprve přes něj připojit var na LVM. Pozor při zálohování – ten první, nyní skrytý /var/run nebude zálohován a tedy při obnovení ze zálohy jej bude nutné opět vytvořit ručně.