LFCS: Kako upravljati i stvoriti LVM pomoću naredbi vgcreate, lvcreate i lvextend - 11. dio


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

Jedna od najvažnijih odluka prilikom instaliranja Linux sustava je količina prostora za pohranu koja će se dodijeliti sistemskim datotekama, kućnim direktorijima i drugima. Ako u tom trenutku pogriješite, podizanje particije kojoj je ponestalo prostora može biti teško i donekle riskantno.

Upravljanje logičkim volumenima (poznato i kao LVM), koje je postalo zadano za instalaciju većine (ako ne i svih) distribucija Linuxa, ima brojne prednosti u odnosu na tradicionalno upravljanje particioniranjem. Možda je najistaknutija značajka LVM-a to što omogućuje promjenu veličine logičkih podjela (smanjenje ili povećanje) po želji bez puno gnjavaže.

Struktura LVM-a sastoji se od:

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

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

Iako smo odabrali prvu metodu, ako se odlučite za drugu (kao što je objašnjeno u 4. dijelu – Stvaranje particija i datotečnih sustava u Linuxu ove serije), svakako konfigurirajte svaku particiju kao tip 8e.

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

Za stvaranje fizičkih jedinica povrh /dev/sdb, /dev/sdc i /dev/sdd učinite sljedeće:

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

Možete ispisati novostvorene PV-ove sa:

pvs

i dobiti detaljne informacije o svakom PV-u s:

pvdisplay /dev/sdX

(gdje je X b, c ili d)

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

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

vgcreate vg00 /dev/sdb /dev/sdc

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

vgdisplay vg00

Budući da je vg00 formiran s dva diska od 8 GB, pojavit će se kao jedan pogon od 16 GB:

Kada je riječ o stvaranju logičnih volumena, distribucija prostora mora uzeti u obzir i sadašnje i buduće potrebe. Smatra se dobrom praksom imenovati svaki logički volumen prema njegovoj namjeni.

Na primjer, stvorimo dva LV-a pod nazivom vol_projects (10 GB) i vol_backups (preostali prostor), koje kasnije možemo koristiti za pohranu projektne dokumentacije odnosno sigurnosne kopije sustava.

Opcija -n koristi se 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 spremniku VG.

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

Kao i prije, popis LV-ova i osnovne informacije možete vidjeti s:

lvs

i detaljne informacije sa

lvdisplay

Za pregled informacija o jednom LV, koristite lvdisplay s VG i LV kao parametrima, kako slijedi:

lvdisplay vg00/vol_projects

Na gornjoj slici možemo vidjeti da su LV-ovi stvoreni kao uređaji za pohranu (pogledajte redak LV Put). Prije nego se svaki logički volumen može koristiti, moramo kreirati datotečni sustav iznad njega.

Ovdje ćemo koristiti ext4 kao primjer jer nam omogućuje povećanje i smanjenje veličine svakog LV-a (za razliku od xfs-a koji dopušta samo povećanje veličine):

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

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

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

Sada zamislite sljedeći scenarij. Počelo vam je ponestajati prostora u vol_backups, dok imate dovoljno slobodnog prostora u vol_projects. Zbog prirode LVM-a, možemo jednostavno smanjiti veličinu potonjeg (recimo 2,5 GB) i dodijeliti ga prvom, dok istovremeno mijenjamo veličinu svakog datotečnog sustava.

Srećom, ovo je jednostavno kao što možete učiniti:

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 trebate kupiti dodatni uređaj za pohranu. Da budemo jednostavni, trebat će vam još jedan disk. Simulirati ćemo ovu situaciju dodavanjem preostalog PV-a iz naše početne postavke (/dev/sdd).

Za dodavanje /dev/sdd u vg00, učinite

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 izradu dodatnih prema potrebi.

Montiranje logičkih volumena pri pokretanju i na zahtjev

Naravno, ne bi imalo smisla stvarati logičke sveske ako ih ne namjeravamo stvarno koristiti! Kako 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 put do svakog uređaja:

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

Stvorite točke montiranja za svaki LV:

mkdir /home/projects
mkdir /home/backups

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

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:

mount -a
mount | grep home

Kada dođe do stvarne upotrebe LV-ova, morat ćete dodijeliti odgovarajuća dopuštenja ugo+rwx kao što je objašnjeno u Dijelu 8 – Upravljanje korisnicima i grupama u Linuxu ove serije.

Sažetak

U ovom smo članku predstavili Logical Volume Management, svestrani alat za upravljanje uređajima za pohranu koji pruža skalabilnost. U kombinaciji s RAID-om (što smo objasnili u 6. dijelu – Stvaranje i upravljanje RAID-om u Linuxu ove serije), možete uživati ne samo u skalabilnosti (koju pruža LVM), već i u redundantnosti (koju nudi RAID).

U ovoj vrsti postavljanja obično ćete naći LVM iznad RAID-a, to jest, prvo konfigurirajte RAID, a zatim konfigurirajte LVM iznad njega.

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