Kulcsszó - lvm

Az LVM (logikai kötetkezelő) fizikai hardvertől függetlenné teszi a háttértárak kezelését.
Használata többek közt azért javasolt, mert partícióink szabadabban kezelhetőek, igény esetén bővíthetőek, pillanatképeket készíthetünk azokról.

Rétegei

  • PV - Physical Volume: maga a fizikai diszk egy speciálisan konvertált verziója
  • VG - Volume Group: kötetcsoport (egy, vagy több PV-ből álló egység)
  • LV - Logical Volume: logikai kötet (egy, vagy több virtuális háttértár egy VG-n)

Beüzemelése

apt install lvm2 # feltelepítjük a használatához szükséges csomagokat
pvcreate /dev/sdb # létrehozunk egy PV-t (a példában a /dev/sdb szerepel, természetesen ez a saját környezetünkben az a block device, amin LVM-et szeretnénk használni)
vgcreate kotetcsoportneve /dev/sdb # létrehozunk az előbb elkészített PV-n egy VG-t (a példában a "kotetcsoportneve" helyett megadhatunk bármilyen tetszőleges nevet)
lvcreate -L10G -n elsoelsolvmneve kotetcsoportneve # létrehozunk egy 10 GB-os LV-t az előbb létrehozott VG-n (a példában a "elsoelsolvmneve" helyett megadhatunk bármilyen tetszőleges nevet)

A fentiekben tehát létrehoztunk egy PV-t, azon egy VG-t, azon pedig egy LV-t. Az LV beformázása után már használhatjuk is azt, például így:
mkfs.ext4 /dev/mapper/kotetcsoportneve-elsolvmneve # létrehozunk egy ext4 partíciót az LV-n
mount /dev/mapper/kotetcsoportneve-elsolvmneve /mnt # felcsatoljuk azt

Használata

Információk lekérése:
pvs # információ a PV-kről
pvdisplay # bővebb információ a PV-kről
vgs # információ a VG-kről
vgdisplay # bővebb információ a VG-kről
lvs # információ a LV-kről
lvdisplay # bővebb információ a LV-kről
Snapshot készítése LV-ről (például valamilyen kritikus művelet elvégzése előtt):
lvcreate -L 5G -n elsolvmneve-snap -s /dev/mapper/kotetcsoportneve-elsolvmneve # ahol a snapshot neve az "elsolvmneve-snap"
Ha nincs szükségünk az LV-ről készült snapshotra:
lvremove /dev/mapper/kotetcsoportneve-elsolvmneve-snap # a snapshot törlése előtt érdemes használaton kívül helyezni az adott LV-t (pl. umount-olni)
Ha vissza kell állni az LV-ről készült snapshotra:
lvconvert --merge /dev/mapper/kotetcsoportneve-elsolvmneve-snap # a snapshot visszaállítása előtt kötezelő használaton kívül helyezni az adott LV-t (pl. umount-olni)
LV törlése:
lvremove /dev/mapper/kotetcsoportneve-elsolvmneve # az LV törlése előtt kötezelő használaton kívül helyezni az adott LV-t (pl. umount-olni)
Bővítés - új diszk berakása a VG-be:
pvcreate /dev/sdc # létrehozunk egy újabb PV-t (a példában a /dev/sdc szerepel, természetesen ez a saját környezetünkben az a block device, amivel bővíteni szeretnénk a VG-t)
vgextend kotetcsoportneve /dev/sdc # az előző parancsban létrehozott PV-vel bővítjük a már létező VG-nket

Egy régi VPS mentésünkből egy fájlra volt szükségem. A mentések LVM targetekre készültek, egy LVM target egy VPS összes partícióját tartalmazza. Hogyan lehet ebből adatot kinyerni?
apt-get install kpartx
kpartx -a /dev/backup/regi-vps-backup
mount /dev/mapper/regi-vps-backup1 /mnt

A fenti lépések után kimásoljuk a szükséges állományokat a mentésből, majd lecsatoljuk azt:

umount /mnt
kpartx -d /dev/mapper/regi-vps-backup