Práca s LVM
Informácie o jednotlivých už existujúcich častiach LVM diskov môžeme získať príkazmi:
pvs – physical volumes, vgs – volume groups, lvs – logical volumes
jano@srv2 ~ $ pvs
PV VG Fmt Attr PSize PFree
/dev/md1 VolGroup00 lvm2 a– 278.72G 177.91G
jano@srv2 ~ $ vgs
VG #PV #LV #SN Attr VSize VFree
VolGroup00 1 5 0 wz–n- 278.72G 177.91G
jano@srv2 ~ $ lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
rootvol VolGroup00 -wi-ao 32.00G
swaplvol VolGroup00 -wi-ao 7.81G
swapvol VolGroup00 -wi-ao 8.00G
tmpvol VolGroup00 -wi-ao 8.00G
varvol VolGroup00 -wi-ao 45.00G
jano@srv2 ~ $
V mojom prípade je LVM postavené ponad jediný disk a tým je softvérový raid. Zariadenie /dev/md1 má formát LVM2 a veľkosťou zaberá celú partíciu. Aktuálne je ešte voľných 177,91GB. Celá partícia je následne využitá na volume grupu VolGroup00 a obsahuje 5 logických diskov. Ich veľkosti si môžete prispôsobiť podľa potrieb servra.
Postup vytvorenia celej štruktúry mimo inštalácie zahŕňa niekoľko bodov:
- Vytvorenie PV: pvcreate /dev/md1
- Vytvorenie VG: vgcreate VolGroup00 /dev/md1
- Vytvorenie LV: lvcreate -L +8G -n swapvol VolGroup00
- Naformátovanie LV: mkswap /dev/VolGroup00/swapvol
- Pripojenie LV: swapon /dev/VolGroup00/swapvol
Zmazať tento disk môžeme v opačnom smere:
- Odpojenie swapu: swapoff /dev/VolGroup00/swapvol
- Zmazanie LV: lvremove /dev/VolGroup00/swapvol
- Zmazanie VG: vgremove VolGroup00
- Zmazanie PV: pvremove /dev/md1
V prípade swap oddielu zmenšovanie alebo zväčšovanie nema zmysel, v prípade, že by bolo potrebné rozšíriť swap, jednoducho sa pridá ďalšia partícia a tá sa naformátuje ako swap, následne sa pripojí. Pri diskoch s dátami ale s možnosťou rozširenia rátame. V prípade, že máme dostatočné množstvo voľného miesta na PV a následne aj vo VG, disk môžeme za jazdy rozšíriť nasledovne:
jano@srv2 ~$ lvextend -L+5G /dev/VolGroup00/varvol
Týmto sme pridali k existujúcemu oddielu 5 GB priestoru.
jano@srv2 ~$ lvextend -L5G /dev/VolGroup00/varvol
V tomto prípade sme povedali príkazom lvextend, aby disk zväčšil na veľkosť 5 GB. V prípade, že sme pôvodný disk mali väčší ako 5 GB, reálne sme partíciu zmenšili. Tu ale nastane problém ak sme predtým nezmenšili súborový systém. Ak to spravíte na reálnom stroji, reálne ste prišli o dáta. Aj preto je nutné vždy pri práci s akýmikoľvek diskami urobiť poriadnu zálohu a skontrolovať ju. Nie je nič horšie ako prísť o potrebné dáta.
Tento stav nie je postačujúci, nakoľko si to môžeme predstaviť ako keby sme posunuli stenu v miestnosti. Koberec ale ostal pôvodnej veľkosti a preto nemôžeme reálne využiť aj rozšírený priestor. Súborový systém typu ext2/ext3/ext4 je možné zväčšiť za jazdy a to nasledovne:
resize2fs /dev/VolGroup00/varvol
Systém automaticky deteguje veľkosť partície LV a do tejto veľkosti “natiahne” súborový systém.
Zmenšovať disk budete asi málokedy ak vôbec, má ale isté špecifiká. V prvom rade to nie je online krok. Postupovať treba nasledovne:
- Odpojiť disk: umount /dev/VolGroup00/varvol
- Skontrolovať disk: fsck /dev/VolGroup00/varvol
- Zmenšiť partíciu: resize2fs /dev/VolGroup00/varvol 5G
- Zmenšiť LV: lvreduce -L-1G /dev/VolGroup00/varvol
- Zväčšiť partíciu: resize2fs /dev/VolGroup00/varvol
V tomto prípade sme zmenšili súborový systém na 5GB a následne sme zmenšili z pôvodnej veľkosti LV o 1 GB a v poslednom kroku sme natiahli súborový systém do veľkosti partície. V prípade linuxov nie je nutné rátať s veľkosťou PE/LE, nakoľko túto časť rieši už priamo LVM. V prípade unixov by mohol nastať problém nekonzistentnosti ak by sme napríklad vytvorili LV inej veľkosti ako je veľkosť PE. Takýto LV síce budeme vedieť používať, ale jeho zväčšovanie je už nereálne. Systém nám zväčšenie takejto partície odmietne. Potom je už jediná možnosť a to celú partíciu odzálohovať, vymazať ju, vytvoriť nanovo a následne obnoviť dáta zo zálohy.