Setup dënn Bestëmmungsvolumen am Logical Volume Management (LVM) - Deel IV


Logesch Volumenmanagement huet super Features wéi Snapshots an Thin Provisioning. Virdrun am (Deel - III) hu mir gesinn wéi een de logesche Volumen snapshot. Hei an dësem Artikel wäerte mir kucken wéi Dir dënn Provisioning Volumen am LVM opstellt.

Thin Provisioning gëtt am lvm benotzt fir virtuell Disken an engem dënnen Pool ze kreéieren. Loosst eis unhuelen datt ech eng 15GB Späicherkapazitéit a mengem Server hunn. Ech hu schonn 2 Clienten déi all 5GB Stockage hunn. Dir sidd den drëtte Client, Dir hutt gefrot fir 5GB Späicheren. Deemools benotze mir de ganzen 5GB (Décke Volumen) zur Verfügung gestallt, awer Dir kënnt 2GB vun där 5GB Späichere benotzen an 3GB wäert gratis sinn, wat Dir spéider ausfëllt.

Mä wat mir an dënn Provisioning maachen ass, mir benotzen eng dënn Pool bannen ee vun de grousse Volume Grupp ze definéieren an definéieren der dënn Bänn bannen dass dënn Pool. Also, datt all Dateien déi Dir schreift, gespäichert ginn an Är Späichere gëtt als 5GB ugewisen. Awer déi voll 5GB wäert de ganzen Disk net allocéieren. Dee selwechte Prozess gëtt och fir aner Cliente gemaach. Wéi gesot ginn et 2 Clienten an Dir sidd meng 3. Client.

Also, loosst eis unhuelen wéi vill Total GB ech fir Clienten zougewisen hunn? Ganz 15GB war scho fäerdeg, Wann een bei mech kommt a freet 5GB kann ech ginn? D'Äntwert ass Jo, hei an der dënnter Provisioning kann ech 5GB fir 4th Client ginn, och wann ech 15GB zougewisen hunn.

Opgepasst: Vun 15GB, wa mir méi wéi 15GB provisionéieren, gëtt et Over Provisioning genannt.

Ech hunn Iech 5GB geliwwert, awer Dir kënnt nëmmen 2GB benotzen an aner 3GB si gratis. An Thick Provisioning kënne mir dat net maachen, well et fir d'éischt selwer de ganze Raum verdeelt.

An dënn Versuergung wann ech 5GB fir Iech definéieren, wäert et net de ganzen Disk Space allokéieren wärend e Volumen definéiert, et wäert bis 5GB wuessen no Ärem Dateschreiwen, Hoffen Dir hutt et! selwecht wéi Dir, och aner Clienten benotzen net déi voll Bänn, sou datt et eng Chance gëtt fir 5GB zu engem neie Client ze addéieren, Dëst gëtt iwwer Provisioning genannt.

Awer et ass obligatoresch all Volumenwuesstem ze iwwerwaachen, wann net, da wäert et an enger Katastroph ophalen. Wärend iwwer Provisioning gemaach gëtt wann déi 4 Clienten d'Daten schlecht op Disk schreiwen, kënnt Dir e Problem konfrontéieren well et Är 15GB ausfëllt an iwwerflësseg fir d'Bänn ze falen.

  1. Erstellt Disk Storage mat LVM am Linux - PART 1
  2. Wéi LVM's am Linux verlängeren/reduzéieren - Deel II
  3. Wéi erstellt/restauréiert Snapshot vum logesche Volume am LVM - Deel III

  1. Betriebssystem - CentOS 6.5 mat LVM Installatioun
  2. Server IP – 192.168.0.200

Schrëtt 1: Setup dënn Pool a Bänn

Loosst eis et praktesch maachen wéi Dir den dënnen Pool an dënn Volumen opstellt. Als éischt brauche mir eng grouss Gréisst vu Volume Grupp. Hei erstellen ech Volumengrupp mat 15GB fir Demonstratiounszwecker. Elo, lëscht d'Volumengrupp mat dem Kommando ënnen.

# vgcreate -s 32M vg_thin /dev/sdb1

Als nächst, kontrolléiert d'Gréisst vun der Logesch Volumen Disponibilitéit, ier Dir den dënnen Pool a Bänn erstellt.

# vgs
# lvs

Mir kënne gesinn datt et nëmmen Standard logesch Bänn fir Dateiesystem ass an den Austausch ass präsent am uewe genannte lvs Output.

Fir eng Dënn Pool fir 15GB am Volume Grupp ze schafen (vg_thin) benotzt de folgende Kommando.

# lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin

  1. -L – Gréisst vun der Volumengrupp
  2. –Thinpool – Fir en Thinpool ze kreéieren
  3. tp_tecmint_pool– Dënnen Pool Numm
  4. vg_thin - Volumengrupp Numm wou mir brauchen de Pool ze kreéieren

Fir méi Detailer ze kréien, kënne mir de Kommando 'lvdisplay' benotzen.

# lvdisplay vg_thin/tp_tecmint_pool

Hei hu mir keng virtuell dënn Bänn an dësem dënnen Pool erstallt. Am Bild kënne mir zougewisen Pooldaten gesinn déi 0.00% weisen.

Elo kënne mir dënn Bänn am dënnen Pool definéieren mat der Hëllef vum 'lvcreate' Kommando mat Optioun -V (Virtuell).

# lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

Ech hunn en Thin virtuelle Volume mam Numm thin_vol_client1 am tp_tecmint_pool a mengem vg_thin Volumengrupp erstallt. Elo, lëscht déi logesch Bänn mat dem Kommando ënnen.

# lvs 

Just elo hu mir den dënnen Volume uewen erstallt, dofir gëtt et keng Donnéeën déi weisen dh 0,00%M.

Gutt, loosst mech 2 méi Dënn Bänn fir aner 2 Clienten erstellen. Hei kënnt Dir elo gesinn datt 3 dënn Bänn ënner dem Pool erstallt ginn (tp_tecmint_pool). Also, vun dësem Punkt, hu mir gewuer datt ech all 15GB Pool benotzt hunn.

Elo, erstellt Montéierungspunkten a montéiert dës dräi dënn Bänn a kopéiert e puer Dateien dran mat ënnen Kommandoen.

# mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

Lëscht déi erstallt Verzeichnisser.

# ls -l /mnt/

Erstellt de Dateiesystem fir dës erstallt dënn Bänn mam Kommando 'mkfs'.

# mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

Montéiert all dräi Clientvolumen op de erstallte Montéierungspunkt mat dem 'Mount' Kommando.

# mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/

Lëscht d'Montagepunkte mam Kommando df.

# df -h

Hei kënne mir gesinn datt all 3 Clientvolumen montéiert sinn an dofir sinn nëmmen 3% vun Daten an all Clientvolumen benotzt. Also, loosst eis e puer méi Dateien op all 3 Montéierungspunkte vu mengem Desktop addéieren fir e bësse Plaz opzefëllen.

Elo lëscht de Montéierungspunkt a kuckt de Raum deen an all dënnen Bänn benotzt gëtt & lëscht den dënnen Pool fir d'Gréisst ze gesinn déi am Pool benotzt gëtt.

# df -h
# lvdisplay vg_thin/tp_tecmint_pool

Déi uewe genannte Kommando weist, déi dräi Mount Pints zesumme mat hire Gréissten am Prozentsaz.

13% of datas used out of 5GB for client1
29% of datas used out of 5GB for client2
49% of datas used out of 5GB for client3

Wa mir an den dënnen Pool kucken, kënne mir gesinn datt nëmmen 30% vun den Donnéeën komplett geschriwwe sinn. Dëst ass den Total vun uewen dräi virtuelle Clientenvolumen.

Elo ass de 4. Client bei mech komm an huet no 5GB Späicherplatz gefrot. Kann ech ginn? Well ech hat schonn 15GB Pool zu 3 Clienten. Ass et méiglech 5GB méi un engem anere Client ze ginn? Jo et ass méiglech ze ginn. Dëst ass wa mir Over Provisioning benotzen, dat heescht de Raum méi ze ginn wéi dat wat ech hunn.

Loosst mech 5GB fir de 4. Client erstellen an d'Gréisst verifizéieren.

# lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
# lvs

Ech hunn nëmmen 15GB Gréisst am Pool, mee ech hunn geschaf 4 Bänn bannen dënn Pool bis zu 20GB. Wann all véier Clienten ufänken Daten op hir Bänn ze schreiwen fir den Tempo auszefëllen, zu där Zäit wäerte mir eng kritesch Situatioun stellen, wann net, gëtt et kee Problem.

Elo hunn ech Dateiesystem an thin_vol_client4 erstallt, dann ënner /mnt/client4 montéiert a kopéiert e puer Dateien dran.

# lvs

Mir kënnen an der uewen Bild gesinn, datt d'total benotzt Gréisst an nei geschaf Client 4 bis zu 89,34% a Gréisst vun dënn Pool als 59,19% benotzt. Wann all dës Benotzer net schlecht op de Volume schreiwen ass et fräi vum Iwwerschwemmung, drop. Fir d'Iwwerschwemmung ze vermeiden, musse mir d'Dënnpoolgréisst verlängeren.

Wichteg: Dënn-Pools si just e logesche Volumen, also wa mir d'Gréisst vum Dënn-Pool verlängeren mussen, kënne mir deeselwechte Kommando benotzen wéi, mir hu fir logesch Bänn benotzt, awer mir kënnen d'Gréisst vun dënn net reduzéieren - Pool.

# lvextend

Hei kënne mir gesinn wéi de logesche Dënnpool (tp_tecmint_pool) verlängert gëtt.

# lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

Nächst, Lëscht der dënn-Pool Gréisst.

# lvs

Fréier war eis tp_tecmint_pool Gréisst 15GB a 4 dënn Bänn déi iwwer Provision vun 20GB war. Elo ass et op 30GB erweidert sou datt eis iwwer Provisioning normaliséiert gouf an dënn Bänn fräi vun Iwwerschwemmung, falen. Op dës Manéier kënnt Dir ëmmer méi dënn Volumen an de Pool addéieren.

Hei hu mir gesinn wéi een dënn Pool mat enger grousser Gréisst vu Volumengrupp erstellt an dënn Bänn an engem dënne Pool erstellt mat Iwwer-Provisioning a Verlängerung vum Pool. Am nächsten Artikel wäerte mir kucken wéi Dir e lvm Striping opstellt.