LFCS: Kako upravljati i kreirati LVM koristeći naredbe vgcreate, lvcreate i lvextend - 11. dio


Zbog promjena u zahtjevima za LFCS ispite koji su stupili na snagu febr. 2, 2016, dodajemo potrebne teme u LFCS seriju objavljenu ovdje. Da biste se pripremili za ovaj ispit, preporučujemo vam da koristite i LFCE seriju.

Jedna od najvažnijih odluka prilikom instaliranja Linux sistema je količina prostora za pohranu koja će se dodijeliti za sistemske datoteke, kućne direktorije i druge. Ako u tom trenutku pogriješite, povećanje particije kojoj je ponestalo prostora može biti opterećujuće i pomalo rizično.

Upravljanje logičkim volumenima (također poznato kao LVM), koje su postale zadana vrijednost za instalaciju većine (ako ne i svih) Linux distribucija, imaju brojne prednosti u odnosu na tradicionalno upravljanje particioniranjem. Možda je najistaknutija karakteristika LVM-a to što omogućava promjenu veličine (smanjenje ili povećanje) logičkih podjela po volji bez mnogo muke.

Struktura LVM-a sastoji se od:

  1. Jedan ili više cijelih tvrdih diskova ili particija su konfigurirani kao fizički volumeni (PV).
  2. Grupa volumena (VG) se kreira pomoću jednog ili više fizičkih volumena. Grupu volumena možete zamisliti kao jednu jedinicu za pohranu.
  3. Tada se može kreirati više logičkih volumena u grupi volumena. Svaki logički volumen je donekle ekvivalentan tradicionalnoj particiji – s tom prednošću što se može mijenjati veličina po želji, kao što smo ranije spomenuli.

U ovom članku ćemo koristiti tri diska od 8 GB svaki (/dev/sdb, /dev/sdc i /dev /sdd) za kreiranje tri fizička volumena. PV-ove možete kreirati direktno na vrhu uređaja ili ga prvo podijeliti.

Iako smo odlučili da idemo na prvu metodu, ako odlučite da idete na drugu (kao što je objašnjeno u Dijelu 4 – Kreiranje particija i sistema datoteka u Linuxu ove serije) obavezno konfigurirajte svaku particiju kao tip 8e.

Kreiranje fizičkih volumena, grupa volumena i logičkih volumena

Da kreirate fizičke volumene iznad /dev/sdb, /dev/sdc i /dev/sdd, uradite:

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

Možete navesti novokreirane PV-ove sa:

pvs

i dobiti detaljne informacije o svakom PV-u sa:

pvdisplay /dev/sdX

(gdje je X b, c ili d)

Ako izostavite /dev/sdX kao parametar, dobit ćete informacije o svim PV-ovima.

Za kreiranje grupe volumena pod nazivom vg00 koristeći /dev/sdb i /dev/sdc (spremit ćemo /dev/sdd za kasnije kako bi se ilustrovala mogućnost dodavanja drugih uređaja za proširenje kapaciteta pohrane kada je to potrebno):

vgcreate vg00 /dev/sdb /dev/sdc

Kao što je to bio slučaj s fizičkim volumenima, također možete vidjeti informacije o ovoj grupi volumena izdavanjem:

vgdisplay vg00

Pošto je vg00 formiran sa dva 8 GB diska, pojavit će se kao jedan disk od 16 GB:

Kada je u pitanju stvaranje logičkih volumena, distribucija prostora mora uzeti u obzir i trenutne i buduće potrebe. Smatra se dobrom praksom da se svaki logički volumen imenuje prema njegovoj namjeni.

Na primjer, napravimo dva LV-a pod nazivom vol_projects (10 GB) i vol_backups (preostali prostor), koje možemo koristiti kasnije za pohranjivanje projektne dokumentacije i rezervne kopije sistema, respektivno.

Opcija -n se koristi za označavanje naziva za LV, dok -L postavlja fiksnu veličinu, a -l (mala slova L) je koristi se za označavanje postotka preostalog prostora u kontejneru VG.

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

Kao i ranije, možete pogledati listu LV-a i osnovne informacije sa:

lvs

i detaljne informacije sa

lvdisplay

Za prikaz informacija o jednom LV-u, koristite lvdisplay sa VG i LV parametrima, kako slijedi:

lvdisplay vg00/vol_projects

Na gornjoj slici možemo vidjeti da su LV-ovi kreirani kao uređaji za pohranu (pogledajte liniju LV Path). Prije nego što se svaki logički volumen može koristiti, moramo kreirati sistem datoteka na njemu.

Ovdje ćemo koristiti ext4 kao primjer jer nam omogućava da povećamo i smanjimo veličinu svakog LV-a (za razliku od xfs-a koji dozvoljava samo povećanje veličine):

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

U sljedećem odjeljku ćemo objasniti kako promijeniti veličinu logičkih volumena i dodati dodatni fizički prostor za pohranu kada se za to ukaže potreba.

Promjena veličine logičkih volumena i proširenje grupa volumena

Sada zamislite sljedeći scenario. Počinje vam ponestajati prostora u vol_backups, dok imate dovoljno prostora na raspolaganju u vol_projects. Zbog prirode LVM-a, lako možemo smanjiti veličinu potonjeg (recimo 2,5 GB) i dodijeliti ga prvom, dok istovremeno mijenjamo veličinu svakog sistema datoteka.

Na sreću, ovo je jednostavno kao i:

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

Važno je uključiti znak minus (-) ili plus (+) dok mijenjate veličinu logičkog volumena. U suprotnom, postavljate fiksnu veličinu za LV umjesto da mu mijenjate veličinu.

Može se dogoditi da dođete do točke kada promjena veličine logičkih volumena više ne može riješiti vaše potrebe za pohranom i morate kupiti dodatni uređaj za pohranu. Da bude jednostavno, trebat će vam još jedan disk. Ovu situaciju ćemo simulirati dodavanjem preostalih PV-a iz našeg početnog podešavanja (/dev/sdd).

Da dodate /dev/sdd u vg00, uradite

vgextend vg00 /dev/sdd

Ako pokrenete vgdisplay vg00 prije i poslije prethodne naredbe, vidjet ćete povećanje veličine VG-a:

vgdisplay vg00

Sada možete koristiti novododani prostor za promjenu veličine postojećih LV-ova prema vašim potrebama ili za kreiranje dodatnih prema potrebi.

Montiranje logičkih volumena pri pokretanju i na zahtjev

Naravno, ne bi imalo smisla kreirati logičke sveske ako ih zapravo nećemo koristiti! Da bismo bolje identificirali logički volumen, morat ćemo saznati koji je njegov UUID (nepromjenjivi atribut koji jedinstveno identificira formatirani uređaj za pohranu).

Da biste to učinili, koristite blkid nakon čega slijedi putanja do svakog uređaja:

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

Kreirajte tačke montiranja za svaki LV:

mkdir /home/projects
mkdir /home/backups

i umetnite odgovarajuće unose u /etc/fstab (uvjerite se da koristite UUID-ove dobivene prije):

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

Zatim spremite promjene i montirajte LV-ove:

mount -a
mount | grep home

Kada je u pitanju stvarno korištenje LV-a, morat ćete dodijeliti odgovarajuće dozvole ugo+rwx kao što je objašnjeno u 8. dijelu – Upravljanje korisnicima i grupama u Linuxu ove serije.

Sažetak

U ovom članku smo predstavili Logical Volume Management, svestran alat za upravljanje uređajima za skladištenje koji pruža skalabilnost. Kada se kombinuje sa RAID-om (koji smo objasnili u 6. delu – Kreiranje i upravljanje RAID-om u Linuxu ove serije), možete uživati ne samo u skalabilnosti (koju obezbeđuje LVM) već iu redundantnosti (koju nudi RAID).

U ovoj vrsti podešavanja obično ćete pronaći LVM na vrhu RAID-a, odnosno prvo konfigurišite RAID, a zatim konfigurišite LVM na njemu.

Ako imate pitanja o ovom članku ili prijedloge za poboljšanje, slobodno nam se obratite putem obrasca za komentare ispod.