Logical Volume Management (LVM)

autor - Říj.07, 2009 - Linux, Pamatováček

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ě.


Zanechte komentář

Archivy