LVM (Logical Volume Manager, upravitelj logičnih nosilcev) je plast Linuxa med diski in datotečnimi sistemi. Pri klasičnem razdeljevanju je datotečni sistem neposredno na razdelku, katerega velikost in mesto na disku sta fiksna. Pri LVM se prostor na disku zbere v skupni bazen, iz njega pa nastanejo poljubno veliki „navidezni razdelki”, logični nosilci. Tem lahko pozneje spremeniš velikost, segajo lahko celo čez več diskov, datotečni sistem pa ne zazna, da je pod njim več fizičnih naprav.
Tri ravni LVM
- Fizični nosilec (PV, physical volume): disk ali razdelek, določen za uporabo z LVM, na primer
/dev/vda2ali/dev/sdb. - Skupina nosilcev (VG, volume group): združen prostor enega ali več fizičnih nosilcev. To je skupni bazen, iz katerega dobijo prostor logični nosilci.
- Logični nosilec (LV, logical volume): prostor, dodeljen iz skupine nosilcev, na katerem je datotečni sistem (na primer XFS ali ext4) ali swap. Sistem ga vidi kot
/dev/kotetcsoport/kotetali/dev/mapper/kotetcsoport-kotet.
Za kaj je LVM dober?
- Prilagodljiva velikost: logični nosilec je mogoče povečati med delovanjem, brez zaustavitve, če je v skupini nosilcev prostor.
- Združevanje diskov: nov disk lahko dodaš skupini nosilcev, obstoječe nosilce pa razširiš iz tega prostora, brez ponovne namestitve ali kopiranja podatkov.
- Posnetki (snapshot): iz logičnega nosilca lahko narediš kopijo trenutnega stanja, na primer pred tvegano posodobitvijo ali za dosledno varnostno kopijo. Posnetek je na istem disku kot izvirnik, zato ne nadomesti varnostne kopije, shranjene na drugem mestu.
Številne distribucije, na primer namestitvena programa AlmaLinux in Rocky Linux, privzeto uporabljajo LVM, zato ga pogosto srečaš, tudi če ga nisi nastavil sam.
Preverjanje LVM na strežniku
lsblk # diski, particije in nosilci LVM na njih v drevesu
sudo pvs # fizični nosilci
sudo vgs # skupine nosilcev in prosti prostor v njih (VFree)
sudo lvs # logični nosilci in njihova velikost
Če so v izpisu lsblk vidne naprave tipa lvm, sistem uporablja LVM. Na testnem računalniku z AlmaLinux 10, kjer je na edinem razdelku (vdc1) 6-GB podatkovnega diska skupina nosilcev z imenom data in v njej logični nosilec z imenom adat:
Logični nosilec je dosegljiv pod dvema imenoma: /dev/data/adat in /dev/mapper/data-adat, obe kažeta na isto napravo.
Od AlmaLinux in Rocky Linux 9 LVM upravlja le diske, navedene v datoteki /etc/lvm/devices/system.devices. Prvi pvcreate to datoteko ustvari („Creating devices file”) in na novo dodane diske vanjo doda samodejno. Če diska ni v datoteki, ga LVM ne vidi: v preizkusu je pvs po odstranitvi enega od diskov skupine nosilcev iz datoteke izpisal: WARNING: Couldn't find device with uuid … oziroma VG proba is missing PV …. V takem primeru ali če priklopiš disk z LVM z drugega računalnika, ga dodaš z ukazom sudo lvmdevices --adddev /dev/vdX; dodane diske izpiše sudo lvmdevices.
Povečanje logičnega nosilca
Če je v skupini nosilcev prostor, lahko logični nosilec in datotečni sistem na njem povečaš z enim ukazom:
sudo lvextend -r -L +10G /dev/almalinux/root
Stikalo -r spremeni velikost tudi datotečnemu sistemu. Dodelitev vsega prostega prostora: sudo lvextend -r -l +100%FREE /dev/almalinux/root. V preizkusu je zgornji nosilec data/adat najprej povečal -L +1G, nato -l +100%FREE, obakrat skupaj s priklopljenim datotečnim sistemom XFS, brez zaustavitve. Če je prosti prostor nastal po razširitvi diska, je treba najprej povečati tudi razdelek in fizični nosilec; celoten postopek opisuje naš članek o povečanju datotečnega sistema. O priklopu novega diska govori naš vodnik za priklop, razdelitev in formatiranje novega diska.
Na kaj paziti?
- Zmanjševanje je tvegano. Datotečnega sistema XFS sploh ni mogoče zmanjšati, ext4 pa le v odklopljenem stanju. Pred krčenjem logičnega nosilca vedno naredi varnostno kopijo.
- Več diskov, več tveganja. Če skupina nosilcev sega čez več fizičnih diskov brez redundance (RAID), okvara katerega koli diska ogrozi podatke celotnega logičnega nosilca.
- Na navideznem strežniku je disk mogoče razširiti tudi v plasti virtualizacije, zato na KVM VPS LVM daje predvsem prilagodljivost razdelitve znotraj nosilcev.

