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
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.