LFCS: Kako upravljati in ustvariti LVM z uporabo ukazov vgcreate, lvcreate in lvextend - 11. del


Zaradi sprememb zahtev za izpit LFCS, ki so začele veljati 2. februarja 2016, v serijo LFCE dodajamo tudi potrebne teme.

Ena najpomembnejših odločitev med namestitvijo sistema Linux je količina prostora za shranjevanje, ki se dodeli sistemskim datotekam, domačim imenikom in drugim. Če se v tem trenutku zmotite, je lahko rast particije, ki ji je zmanjkalo prostora, obremenjujoča in nekoliko tvegana.

Upravljanje logičnih zvezkov (znano tudi kot LVM), ki je postalo privzeto za namestitev večine (če ne vseh) distribucij Linuxa, ima številne prednosti pred tradicionalnim upravljanjem particij. Morda je najbolj značilna lastnost LVM ta, da omogoča, da se logične delitve poljubno spreminjajo (zmanjšujejo ali povečujejo) brez večjih težav.

Strukturo LVM sestavljajo:

  1. Eden ali več celotnih trdih diskov ali particij je konfiguriranih kot fizični nosilci (PV).
  2. Ustvari se skupina nosilcev (VG), ki uporablja enega ali več fizičnih nosilcev. Skupino zvezkov si lahko predstavljate kot eno samo enoto za shranjevanje.
  3. V skupini nosilcev lahko nato ustvarite več logičnih zvezkov. Vsak logični nosilec je nekoliko enakovreden tradicionalni particiji - s prednostjo, da ga je mogoče poljubno spremeniti, kot smo že omenili.

V tem članku bomo uporabili tri diske po 8 GB (/ dev/sdb,/dev/sdc in/dev/sdd) za ustvarjanje treh fizičnih zvezkov. PV lahko ustvarite neposredno na vrhu naprave ali pa jo najprej razdelite.

Čeprav smo se odločili za prvo metodo, če se odločite za drugo (kot je razloženo v delu 4 - Ustvarjanje particij in datotečnih sistemov v Linuxu te serije), poskrbite, da boste vsako particijo konfigurirali kot tip 8e .

Ustvarjanje fizičnih zvezkov, skupin zvezkov in logičnih zvezkov

Če želite ustvariti fizične nosilce na vrhu/dev/sdb,/dev/sdc in/dev/sdd, naredite:

# pvcreate /dev/sdb /dev/sdc /dev/sdd

Novo ustvarjene PV lahko navedete z:

# pvs

in pridobite podrobne informacije o vsakem PV z:

# pvdisplay /dev/sdX

(kjer je X b, c ali d)

Če kot parameter izpustite /dev/sdX , boste dobili informacije o vseh PV.

Če želite ustvariti skupino nosilcev z imenom vg00 , s pomočjo /dev/sdb in /dev/sdc (shranili bomo /dev/sdd za kasnejšo ponazoritev možnosti dodajanja drugih naprav za povečanje zmogljivosti pomnilnika, kadar je to potrebno):

# vgcreate vg00 /dev/sdb /dev/sdc

Kot pri fizičnih nosilcih si lahko tudi ogledate podatke o tej skupini nosilcev tako, da izdate:

# vgdisplay vg00

Ker je vg00 oblikovan z dvema 8 GB diskoma, bo prikazan kot en sam 16 GB pogon:

Pri ustvarjanju logičnih zvezkov mora razporeditev prostora upoštevati sedanje in prihodnje potrebe. Dobra praksa je, da vsak logični nosilec poimenujemo glede na njegovo predvideno uporabo.

Ustvarimo na primer dve LV z imenom vol_projects (10 GB) in vol_backups (preostali prostor), ki ju bomo lahko kasneje uporabili za shranjevanje projektne dokumentacije oziroma varnostnih kopij sistema.

Možnost -n se uporablja za označevanje imena LV, medtem ko -L nastavi fiksno velikost in -l (mala črka L) označuje odstotek preostalega prostora v vsebniku VG.

# lvcreate -n vol_projects -L 10G vg00
# lvcreate -n vol_backups -l 100%FREE vg00

Tako kot prej si lahko seznam LV-jev in osnovne informacije ogledate z:

# lvs

in podrobne informacije z

# lvdisplay

Če si želite ogledati informacije o posamezni LV, uporabite lvdisplay z VG in LV kot parametra, kot sledi:

# lvdisplay vg00/vol_projects

Na zgornji sliki lahko vidimo, da so bile LV ustvarjene kot pomnilniške naprave (glejte vrstico LV Path). Preden lahko uporabimo vsak logični nosilec, moramo na njem ustvariti datotečni sistem.

Tu bomo za primer uporabili ext4, saj nam omogoča, da povečamo in zmanjšamo velikost vsake LV (v nasprotju s xfs, ki omogoča samo povečanje velikosti):

# mkfs.ext4 /dev/vg00/vol_projects
# mkfs.ext4 /dev/vg00/vol_backups

V naslednjem poglavju bomo razložili, kako spremeniti velikost logičnih nosilcev in dodati dodaten prostor za fizični pomnilnik, ko bo za to potrebno.

Spreminjanje velikosti logičnih zvezkov in razširitev skupin zvezkov

Zdaj pa si oglejte naslednji scenarij. V vol_backups vam zmanjkuje prostora, medtem ko imate v vol_projects dovolj prostora. Zaradi narave LVM lahko slednjo zlahka zmanjšamo (recimo 2,5 GB) in jo dodelimo za prvo, hkrati pa hkrati spremenimo velikost vsakega datotečnega sistema.

Na srečo je to enostavno:

# lvreduce -L -2.5G -r /dev/vg00/vol_projects
# lvextend -l +100%FREE -r /dev/vg00/vol_backups

Pomembno je, da med spreminjanjem velikosti logičnega nosilca vključite znaka minus (-) ali plus (+) . V nasprotnem primeru nastavite fiksno velikost LV, namesto da bi ga spremenili.

Lahko se zgodi, da pridete do točke, ko spreminjanje velikosti logičnih nosilcev ne more več rešiti vaših potreb po pomnilniku in morate kupiti dodatno pomnilniško napravo. Če bo preprosto, boste potrebovali še en disk. To situacijo bomo simulirali z dodajanjem preostalega PV iz naše začetne nastavitve (/dev/sdd ).

Če želite /dev/sdd dodati vg00 , naredite to

# vgextend vg00 /dev/sdd

Če zaženete vgdisplay vg00 pred in po prejšnjem ukazu, boste videli povečanje velikosti VG:

# vgdisplay vg00

Zdaj lahko na novo dodani prostor uporabite za spreminjanje velikosti obstoječih LV glede na vaše potrebe ali za ustvarjanje dodatnih.

Montaža logičnih zvezkov na zagon in na zahtevo

Seveda ne bi bilo smisla ustvarjati logičnih zvezkov, če jih ne bomo dejansko uporabljali! Za boljše prepoznavanje logičnega nosilca bomo morali ugotoviti, kakšen je njegov UUID (nespremenljiv atribut, ki enolično identificira formatirano pomnilniško napravo).

Če želite to narediti, uporabite blkid, ki mu sledi pot do vsake naprave:

# blkid /dev/vg00/vol_projects
# blkid /dev/vg00/vol_backups

Ustvari točke pritrditve za vsako LV:

# mkdir /home/projects
# mkdir /home/backups

in vstavite ustrezne vnose v /etc/fstab (obvezno uporabite prej pridobljene UUID-je):

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

Nato shranite spremembe in namestite LV:

# mount -a
# mount | grep home

Ko gre za dejansko uporabo LV-jev, boste morali dodeliti ustrezna dovoljenja ugo + rwx , kot je razloženo v 8. delu - Upravljanje uporabnikov in skupin v Linuxu te serije.

Povzetek

V tem članku smo predstavili 6. del - Ustvarjanje in upravljanje RAID v Linuxu te serije), lahko uživate ne le v razširljivosti (ki jo zagotavlja LVM), temveč tudi v redundanci (ponuja RAID).

Pri tej vrsti namestitve boste običajno našli LVM na vrhu RAID-a, to je, najprej konfigurirate RAID in nato še LVM na vrhu.

Če imate vprašanja o tem članku ali predloge za njegovo izboljšanje, nas prosimo kontaktirajte s pomočjo spodnjega obrazca za komentar.