Delo z LVM

LVM je sistem za upravljanje prostora na disku z dodatno stopnjo abstrakcije od fizične plasti. Omogoča prilagodljivo in učinkovito upravljanje prostora na disku, toleranco za napake v podatkih, pomaga pa tudi pri reševanju različnih nalog varnostnega kopiranja podatkov, uvajanju sistemov za shranjevanje podatkov za virtualizacijska okolja itd.

V tem članku si bomo ogledali, kako namestiti in uporabljati LVM v Linuxu.

Namestitev

LVM je običajno nameščen z operacijskim sistemom Linux, če pa ni, ga lahko namestite z upraviteljem paketov distribucije Linuxa. V večini distribucij je ukaz za namestitev LVM videti takole:

Za Debian ali Ubuntu:

sudo apt-get install lvm2

Za sisteme CentOS, Fedora in RHEL:

sudo yum install lvm2

Ustvarjanje fizičnih volumnov

Pred ustvarjanjem logičnih zvezkov morate ustvariti fizične zvezke (pv). Fizični volumen je navidezna naprava, na primer trdi disk ali diskovni razdelek, ki ga LVM uporablja za ustvarjanje logičnih volumnov.

Opomba: Priporočljivo je, da ustvarite fizične volumne na vrhu trdega diska brez uporabe razdelkov, saj je sicer postopek dinamičnega spreminjanja velikosti lvm dolgoročno bolj zapleten.

Če želite ustvariti fizični volumen, sledite naslednjim korakom:

Uporabite ukaz pvcreate za ustvarjanje fizičnega volumna:

sudo pvcreate /dev/sdb

kjer je /dev/sdb pot do fizične naprave.

2. Z ukazom pvdisplay preverite ustvarjeni fizični volumen:

sudo pvdisplay

V izpisu bodo prikazane informacije o ustvarjenem fizičnem volumnu.

Ustvarjanje skupine fizičnih zvezkov

Skupina fizičnih volumnov (vg) je logični vsebnik, ki lahko združi več fizičnih volumnov v eno skupno skupino. Nič pa ne preprečuje, da bi jo uporabili znotraj enega samega fizičnega volumna. Če želite ustvariti skupino fizičnih volumnov, sledite naslednjim korakom:

1. z ukazom vgcreate ustvarite skupino fizičnih volumnov:

sudo vgcreate vg0 /dev/sdb
# либо для нескольких pv
sudo vgcreate vg0 /dev/sdb /dev/sdc

Ustvarjanje logičnega volumna

Zdaj lahko ustvarite logične volumne, ki jih lahko konvencionalno predstavimo kot particije na trdem disku.

1. Z ukazom lvcreate ustvarite logični volumen v skupini fizičnih volumnov:

sudo lvcreate -n lv0 -L 10G vg0   # Создание логического тома lv0 размером 10 ГБ в группе физических томов vg0

kjer je -n ime logičnega volumna, -L pa velikost logičnega volumna.

2. Z ukazom lvdisplay preverite ustvarjeni logični volumen:

sudo lvdisplay

Videli boste informacije o ustvarjenem logičnem zvezku.

3. Z ukazom mkfs ustvarite datotečni sistem na logičnem zvezku:

sudo mkfs.ext4 /dev/vg0/lv0

4. Z ukazom mkdir ustvarite priključno točko za novi datotečni sistem:

sudo mkdir /mnt/lv0

5. Z ukazom mount namestite novi datotečni sistem na namestitveno točko:

sudo mount /dev/vg0/lv0 /mnt/lv0

Zdaj lahko uporabljate novi datotečni sistem, ki se nahaja na logični enoti.

Uporaba LVM

LVM ponuja številne ukaze za upravljanje fizičnih volumnov, skupin fizičnih volumnov in logičnih volumnov. Nekateri najpogosteje uporabljeni ukazi so navedeni spodaj:

  • pvcreate: Ustvari nov fizični zvezek.
  • pvdisplay: Prikaže informacije o fizičnih zvezkih.
  • vgcreate: Ustvari novo skupino fizičnih zvezkov.
  • vgextend: doda fizični volumen v skupino fizičnih volumnov.
  • vgdisplay: Prikaže informacije o skupinah fizičnih glasnosti.
  • lvcreate: Ustvari nov logični zvezek.
  • lvextend: Poveča velikost logičnega zvezka.
  • lvdisplay: Prikaže informacije o logičnih zvezkih.

LVM omogoča tudi uporabo za povečanje velikosti fizičnih volumnov, skupin fizičnih volumnov in logičnih volumnov med delovanjem sistema. V ta namen obstajajo ustrezni ukazi:

  • pvresize: Poveča velikost fizičnega volumna.
  • vgresize: Poveča velikost skupine fizičnih zvezkov.
  • lvresize: Spremeni velikost logičnega zvezka.

Z izvedbo katerega koli od zgornjih ukazov s parametrom --help se boste lahko seznanili z dodatnimi parametri argumentov ukaza.

Upravljanje velikosti logičnega volumna:

Če želite na primer povečati velikost logičnega zvezka lv0 v skupini fizičnih zvezkov vg0 za 5 GB, uporabite ukaz:

sudo lvresize -L +5G /dev/vg0/lv0

ali ves preostali prosti prostor na fizičnem volumnu:

sudo lvresize -l +100%FREE /dev/vg0/lv0
Upoštevajte, da je v zadnjem primeru uporabljena velika črka l, medtem ko je v prejšnjem primeru uporabljena velika črka L.
V tej obliki lahko določite odstotek, koliko prostega prostora iz preostalega prostora na fizičnem zvezku želite dodati logičnemu zvezku.

Velikost datotečnega sistema lahko nato sproti spreminjate z ukazom resize2fs:

sudo resize2fs /dev/vg0/lv0

Posnetki LVM

LVM v Linuxu podpira mehanizem posnetkov, ki omogoča ustvarjanje natančnih kopij logičnih zvezkov v določenem trenutku. To je uporabna funkcija, ki vam omogoča, da shranite stanje podatkov v določenem trenutku in ga po potrebi obnovite.

Tehnologija posnetkov LVM deluje na naslednji način: posnetek se ustvari tako, da se shrani stanje logičnega zvezka v trenutku, ko se posnetek ustvari. Po ustvarjanju posnetka se vse spremembe, ki se zgodijo v prvotnem logičnem zvezku, shranijo v dodatni diferencialni prostor na disku. To lahko pomaga pri varnostnem kopiranju in obnavljanju podatkov v času, ko je posnetek ustvarjen.

Oglejmo si, kako ustvariti in uporabljati mehanizem posnetkov LVM.

Ustvarjanje posnetka LVM

Posnetek LVM ustvarite z ukazom lvcreate. Za ustvarjanje posnetka logičnega zvezka myvolume v skupini zvezkov myvg na primer uporabite naslednji ukaz:

sudo lvcreate --snapshot --name myvolume_snap --size 1G /dev/myvg/myvolume

Ta ukaz bo ustvaril posnetek logičnega zvezka myvolume z imenom myvolume_snap in velikostjo 1 GB.

Upoštevajte, da morate za ustvarjanje posnetka določiti velikost posnetka.

Uporaba posnetka LVM

Ko ustvarite posnetek, ga lahko uporabite za izvajanje različnih opravil. Posnetek lahko na primer uporabite za obnovitev podatkov ali ustvarjanje varnostne kopije. Za namestitev posnetka na datotečni sistem uporabite naslednji ukaz:

sudo mount /dev/myvg/myvolume_snap /mnt/snapshot

Tu je /mnt/snapshot priključna točka, kamor bo posnetek nameščen. Ko je posnetek nameščen, lahko iz njega kopirate podatke ali ga uporabite za obnovitev podatkov.

Brisanje posnetka LVM

Ko je posnetek enkrat uporabljen, ga lahko izbrišete. Za brisanje posnetka uporabite ukaz lvremove. Za odstranitev posnetka myvolume_snapshot v skupini volumnov myvg na primer uporabite naslednji ukaz:

sudo lvremove /dev/myvg/myvolume_snap

Če izbrišete posnetek, se izgubijo vsi podatki, ki so bili spremenjeni po ustvarjanju posnetka.

Tanki bazeni

Tanek bazen je mehanizem LVM, ki omogoča ustvarjanje logičnega volumna, ki uporablja samo tisti del fizičnih diskovnih naprav, ki dejansko vsebuje podatke. S tem lahko zmanjšate porabo diskovnega prostora in učinkoviteje upravljate diskovni prostor. Ta funkcija LVM je postala najpogostejša v virtualizacijskih sistemih kot priročna in varčna rešitev za dodeljevanje diskovnega prostora za virtualne stroje in vsebnike. Oglejmo si, kako ustvariti tanek bazen v LVM.

Ustvarjanje tankega bazena LVM

Tanek bazen ustvarimo z znanim ukazom lvcreate. Za ustvarjanje tankega bazena mythinpool v skupini volumnov myvg na fizičnih volumnih /dev/sdb in /dev/sdc na primer uporabite naslednji ukaz:

sudo lvcreate -L 50G -T myvg/mythinpool /dev/sdb /dev/sdc

Tu -L določa velikost tankega bazena v gigabajtih, -T pa označuje, da ustvarjamo tanek bazen. Ta ukaz bo ustvaril tanek bazen mythinpool velikosti 50 GB.

Ustvarjanje tankega volumna LVM

Tanek volumen je logični volumen, ki je ustvarjen znotraj tankega sklada. Tanke volumne lahko ustvarite z ukazom lvcreate. Če želite na primer ustvariti tanek volumen mythinvolume velikosti 10 GB v tankem bazenu mythinpool v skupini volumnov myvg, uporabite naslednji ukaz:

sudo lvcreate -V 10G -T myvg/mythinpool -n mythinvolume

Pri tem -V določa velikost tankega zvezka v gigabajtih, -n pa ime tankega zvezka. Ta ukaz bo ustvaril tanek volumen mythinvolume velikosti 10 GB v tankem bazenu mythinpool.

Uporaba tankega volumna LVM

Tanek volumen lahko uporabite kot običajen logični volumen. Če želite na primer ustvariti datotečni sistem ext4 na tankem volumnu mythinvolume, uporabite naslednji ukaz:

sudo mkfs.ext4 /dev/myvg/mythinvolume

Ko je datotečni sistem tankega volumna ustvarjen, ga lahko namestite in uporabite kot običajen logični volumen.

Tanek volumen vam omogoča ustvarjanje bolj prilagodljivih in učinkovitih konfiguracij shranjevanja v operacijskem sistemu Linux. Tanek sklad se uporablja v kombinaciji s tankim volumnom za optimalno izrabo prostora na disku.