Mi az az LVM?

Linux 3 perc olvasás

Az LVM (Logical Volume Manager, logikaikötet-kezelő) a Linux egy rétege a lemezek és a fájlrendszerek között. Hagyományos partícionálásnál a fájlrendszer közvetlenül egy partíción van, amelynek mérete és helye a lemezen kötött. LVM esetén a lemezterületet egy közös tárolókészletbe gyűjti, és abból tetszőleges méretű „virtuális partíciókat”, logikai köteteket hoz létre. Ezek később átméretezhetők, akár több lemezre is kiterjedhetnek, a fájlrendszer pedig nem érzékeli, hogy alatta több fizikai eszköz van.

Az LVM rétegei alulról felfelé: lemez, fizikai kötet (PV), kötetcsoport (VG), logikai kötet (LV) és a rajta lévő fájlrendszer, a lekérdező és a növelő parancsokkal

Az LVM három szintje

  • Fizikai kötet (PV, physical volume): egy lemez vagy partíció, amelyet LVM-használatra jelöltek ki, például /dev/vda2 vagy /dev/sdb.
  • Kötetcsoport (VG, volume group): egy vagy több fizikai kötet összevont tárterülete. Ez a közös készlet, amelyből a logikai kötetek kapják a helyet.
  • Logikai kötet (LV, logical volume): a kötetcsoportból kiosztott terület, amelyen a fájlrendszer (például XFS vagy ext4) vagy a swap van. A rendszer ezt /dev/kotetcsoport/kotet vagy /dev/mapper/kotetcsoport-kotet néven látja.

Mire jó az LVM?

  • Rugalmas méretezés: egy logikai kötet menet közben, leállás nélkül növelhető, ha a kötetcsoportban van szabad hely.
  • Lemezek összevonása: egy új lemez a kötetcsoporthoz adható, és a meglévő kötetek ebből a területből bővíthetők, újratelepítés vagy adatmásolás nélkül.
  • Pillanatképek (snapshot): egy logikai kötetről pillanatnyi állapotot rögzítő másolat készíthető, például egy kockázatos frissítés előtt vagy egy konzisztens mentés elkészítéséhez. A pillanatkép ugyanazon a lemezen van, mint az eredeti, ezért nem helyettesíti a külső helyre mentett biztonsági mentést.

Számos disztribúció, például az AlmaLinux és a Rocky Linux telepítője alapértelmezésként LVM-et használ, ezért gyakran akkor is találkozik vele, ha maga nem állította be.

Az LVM ellenőrzése a szerveren

lsblk              # lemezek, partíciók és a rajtuk lévő LVM kötetek fában
sudo pvs           # fizikai kötetek
sudo vgs           # kötetcsoportok és a bennük lévő szabad hely (VFree)
sudo lvs           # logikai kötetek és méretük

Ha az lsblk kimenetében lvm típusú eszközök látszanak, a rendszer LVM-et használ. Egy AlmaLinux 10-es tesztgépen, ahol egy 6 GB-os adatlemez egyetlen partícióján (vdc1) egy data nevű kötetcsoport és benne egy adat nevű logikai kötet van:

Az lsblk, pvs, vgs és lvs kimenete AlmaLinux 10 rendszeren: a vdc lemez vdc1 partícióján a data kötetcsoport, benne az adat logikai kötet, amely a /mnt/data könyvtárba van csatolva

A logikai kötet két néven is elérhető: /dev/data/adat és /dev/mapper/data-adat, mindkettő ugyanarra az eszközre mutat.

AlmaLinux és Rocky Linux 9-től az LVM csak azokat a lemezeket kezeli, amelyek a /etc/lvm/devices/system.devices fájlban szerepelnek. Az első pvcreate ezt a fájlt létrehozza („Creating devices file”), és az újonnan felvett lemezeket automatikusan hozzáadja. Ha egy lemez nincs a fájlban, az LVM nem látja: a teszten egy kötetcsoport egyik lemezét a fájlból kivéve a pvs ezt írta ki: WARNING: Couldn't find device with uuid …, illetve VG proba is missing PV …. Ilyenkor, vagy ha egy már LVM-et tartalmazó lemezt csatol egy másik gépről, a sudo lvmdevices --adddev /dev/vdX paranccsal veheti fel; a felvett lemezeket a sudo lvmdevices listázza.

Logikai kötet növelése

Ha a kötetcsoportban van szabad hely, egy logikai kötet és a rajta lévő fájlrendszer egyetlen paranccsal megnövelhető:

sudo lvextend -r -L +10G /dev/almalinux/root

A -r kapcsoló a fájlrendszert is átméretezi. A teljes szabad hely kiosztása: sudo lvextend -r -l +100%FREE /dev/almalinux/root. A teszten a fenti data/adat kötetnél előbb -L +1G, majd -l +100%FREE növelt, mindkétszer a felcsatolt XFS fájlrendszerrel együtt, leállás nélkül. Ha a szabad hely egy lemezbővítés után keletkezett, előbb a partíciót és a fizikai kötetet is növelni kell; ennek teljes menetét a fájlrendszer növeléséről szóló cikkünk írja le. Egy új lemez csatolásáról az új lemez felcsatolásáról, partícionálásáról és formázásáról szóló útmutatónk szól.

Mire figyeljen?

  • A csökkentés kockázatos. Az XFS fájlrendszer egyáltalán nem csökkenthető, az ext4 csak lecsatolt állapotban. Logikai kötet zsugorítása előtt mindig készítsen mentést.
  • Több lemez, több kockázat. Ha egy kötetcsoport több fizikai lemezre terjed ki redundancia (RAID) nélkül, bármelyik lemez hibája a teljes logikai kötet adatait veszélyezteti.
  • Virtuális szerveren a lemez a virtualizációs rétegben is bővíthető, ezért egy KVM VPS-en az LVM főleg a köteteken belüli felosztás rugalmasságát adja.
Vissza: Linux leírások (62)