Správa logických svazků na platformě GNU/Linux. Zde vycházím z distribuce Arch Linux.
Jak získat a používat?
Pro logické svazky, jejich vytváření a celkovou správu je potřeba nainstalovat
balíček lvm2.
pacman -S lvm2
Je potřeba nahrát modul lvm2 při spouštění systému, jinak se disky nenadetekují.
Do souboru /etc/mkinitcpio.conf zapíšu hook lvm2:
HOOKS=(... block lvm2 filesystems ...)
Poté musím přegenerovat inicializační data pro bootování jádra:
mkinitcpio -p linux
Inicializace disku pro LVM
pvcreate /dev/sda2
Vytvoření skupiny svazků VG na disku
vgcreate system /dev/sda2
vgcreate = příkaz
system = název skupiny logických svazků
/dev/sda2 = založení na disku sda2
Rozšíření skupiny svazků
Pokud dochází místo v některých svazcích, je možné rozšířit aktuální skupinu
svazků o např. přidaný pevný disk a podobně.
Pokud např. chceme rozšířit skupinu system o kapacitu disku sda5, použiji příkaz:
vgextend system /dev/sda5
Vytvoření logického svazku
Jakmile máme vytvořenou skupinu logických svazků na některém disku, můžeme
v ní začít vytvářet jednotlivé logické svazky. Vytvořené svazky pak najdeme v umístění /dev/SKUPINA_SVAZKU/SVAZEK
Syntaxe příkazu pro vytvoření LV může mít dvě podoby, záleží na tom,
zda chceme mít pevnou velikost svazku(tehdy se používá přepínač -L) a nebo obsadit
zbylé volné místo(přepínač -l).
lvcreate -L 16G system -n swap
lvcreate -l 100%FREE system -n home
Rozšíření logického svazku
lvextend -l +100%FREE /dev/system/root
Zmenšení logického svazku
Např.:
lvresize -L -10G system/home
Odstranění příznaku LVM a svazků
Pro případ potřeby odstranit skupinu svazků a nebo odstranit
libovolný svazek ze skupiny se používají příkazy pgremove, vgremove a lvremove.
Výpisy
Pro výpis fyzických oddílů pvdisplay:
pvdisplay
--- Physical volume ---
PV Name /dev/nvme0n1p2
VG Name system
PV Size 100,00 GiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID WsMjq1-Hl6w-Qtg0-GpaZ-kUDU-FCvO-kdocDR
Pro výpis skupin svazků vgdisplay:
vgdisplay
--- Volume group ---
VG Name system
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <100,00 GiB
PE Size 4,00 MiB
Total PE 25599
Alloc PE / Size 25599 / <100,00 GiB
Free PE / Size 0 / 0
VG UUID q9Z23E-uajt-AELx-E5Fw-dN2M-xfy3-P1sETU
Pro výpis jednotlivých svazků lvdisplay:
lvdisplay
--- Logical volume ---
LV Path /dev/system/root
LV Name root
VG Name system
LV UUID dezinl-cgUj-1MMQ-GlJh-4zEc-BMwi-U3SZ6C
LV Write Access read/write
LV Creation host, time archiso, 2023-01-23 18:27:51 +0100
LV Status available
# open 1
LV Size 35,00 GiB
Current LE 8960
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:0
--- Logical volume ---
LV Path /dev/system/swap
LV Name swap
VG Name system
LV UUID gGibk7-dLR1-iXRH-LDHU-Hiff-dtzv-pbumHs
LV Write Access read/write
LV Creation host, time archiso, 2023-01-23 18:28:07 +0100
LV Status available
# open 2
LV Size 16,00 GiB
Current LE 4096
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:1
--- Logical volume ---
LV Path /dev/system/home
LV Name home
VG Name system
LV UUID Wsqt2X-kNsF-C4oW-iITx-JAGb-VQXk-iRmVuC
LV Write Access read/write
LV Creation host, time archiso, 2023-01-23 18:28:17 +0100
LV Status available
# open 1
LV Size <49,00 GiB
Current LE 12543
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 254:2