Gestionarea volumului logic are caracteristici excelente, cum ar fi instantanee și Thin Provisioning. Anterior, în (Partea a III-a) am văzut cum să instantaneăm volumul logic. Aici, în acest articol, vom vedea cum se configurează volume subțiri de aprovizionare în LVM.
Thin Provisioning este utilizat în lvm pentru crearea de discuri virtuale într-un pool subțire. Să presupunem că am un 15 GB capacitate de stocare pe serverul meu. Am deja 2 clienți care au fiecare 5 GB de stocare. Sunteți al treilea client, ați cerut spațiu de stocare de 5 GB. Pe atunci, oferim întregul 5 GB (volum gros), dar puteți folosi 2 GB din stocarea respectivă de 5 GB, iar 3 GB vor fi gratuite, pe care le puteți completa ulterior.
Dar ceea ce facem în Provisioning subțire este, îl folosim pentru a defini un pool subțire în interiorul unuia din grupul de volum mare și pentru a defini volumele subțiri din acel pool subțire. Deci, orice fișiere pe care le scrieți vor fi stocate și stocarea dvs. va fi afișată ca 5 GB. Dar cei 5 GB nu vor aloca întregul disc. Același proces se va face și pentru alți clienți. Așa cum am spus, există 2 clienți și tu ești al treilea client al meu.
Deci, să presupunem cât GB total am alocat clienților? Total 15 GB au fost deja finalizați, dacă vine cineva la mine și cere 5 GB pot să dau? Raspunsul este "da„, Aici, în Provisioning subțire, pot da 5 GB pentru al 4-lea client, deși am alocat 15 GB.
Avertizare: De la 15 GB, dacă furnizăm mai mult de 15 GB, se numește supraprovizionare.
V-am furnizat 5 GB, dar este posibil să utilizați doar 2 GB, iar alți 3 GB vor fi gratis. În Thick Provisioning nu putem face acest lucru, deoarece va aloca tot spațiul la început.
În Provisioning subțire, dacă definesc 5 GB pentru dvs., nu va aloca întregul spațiu pe disc în timp ce definiți un volum, va crește până la 5 GB în funcție de scrierea datelor dvs. Sper că l-ați primit! la fel ca și dvs., și alți clienți nu vor folosi volumele complete, așa că va exista șansa de a adăuga 5 GB la un client nou, acest lucru se numește over Provisioning.
Dar este obligatoriu să monitorizați fiecare creștere a volumului, dacă nu, va ajunge la un dezastru. În timp ce supra-aprovizionarea se face dacă toți cei 4 clienți scriu datele pe disc pe un disc, este posibil să vă confruntați cu o problemă, deoarece vă va umple 15 GB și se va revărsa pentru a obține volumele.
Să facem practic cum să configurăm piscina subțire și volumele subțiri. Mai întâi avem nevoie de o dimensiune mare a grupului de volume. Aici creez grupul de volume cu 15 GB în scop demonstrativ. Acum, listați grupul de volume folosind comanda de mai jos.
# vgcreate -s 32M vg_thin / dev / sdb1.
Apoi, verificați dimensiunea disponibilității volumului logic, înainte de a crea grupul subțire și volumele.
# vgs. # Eu versus.
Putem vedea că există doar volume logice implicite pentru sistemul de fișiere și swap-ul este prezent în ieșirea lvs de mai sus.
Pentru a crea un pool Thin pentru 15 GB în grupul de volume (vg_thin) utilizați următoarea comandă.
# lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin.
Pentru a obține mai multe detalii, putem folosi comanda „lvdisplay”.
# lvdisplay vg_thin / tp_tecmint_pool.
Aici nu am creat volume subțiri virtuale în acest pool subțire. În imagine putem vedea afișarea datelor alocate din grup 0.00%.
Acum putem defini volume subțiri în interiorul pool-ului subțire cu ajutorul comenzii ‘lvcreate’ cu opțiunea -V (Virtual).
# lvcreate -V 5G --thin -n thin_vol_client1 vg_thin / tp_tecmint_pool.
Am creat un volum virtual subțire cu numele de thin_vol_client1 în interiorul tp_tecmint_pool in al meu vg_thin grup de volume. Acum, enumerați volumele logice folosind comanda de mai jos.
# Eu versus
Chiar acum, am creat volumul subțire de mai sus, de aceea nu există date care să arate 0,00% M.
Bine, lasă-mă să creez 2 mai multe volume subțiri pentru alți 2 clienți. Aici puteți vedea acum există 3 volume subțiri create sub piscină (tp_tecmint_pool). Deci, din acest moment, am ajuns să știm că am folosit toate pool-urile de 15 GB.
Acum, creați puncte de montare și montați aceste trei volume subțiri și copiați câteva fișiere în acesta folosind comenzile de mai jos.
# mkdir -p / mnt / client1 / mnt / client2 / mnt / client3.
Enumerați directoarele create.
# ls -l / mnt /
Creați sistemul de fișiere pentru aceste volume subțiri create folosind comanda „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.
Montați toate cele trei volume ale clientului la punctul de montare creat folosind comanda „mount”.
# 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 /
Enumerați punctele de montare folosind comanda ‘df’.
# df -h.
Aici, putem vedea că toate cele 3 volume ale clienților sunt montate și, prin urmare, numai 3% de date sunt utilizate în fiecare volum de clienți. Deci, să adăugăm câteva fișiere la toate cele 3 puncte de montare de pe desktopul meu pentru a umple spațiu.
Acum enumerați punctul de montare și vedeți spațiul utilizat în fiecare volum subțire și listați piscina subțire pentru a vedea dimensiunea utilizată în pool.
# df -h. # lvdisplay vg_thin / tp_tecmint_pool.
Comanda de mai sus arată, cele trei pinte de montaj împreună cu dimensiunile lor în procente.
13% din datele utilizate din 5 GB pentru client1. 29% din datele utilizate din 5 GB pentru client2. 49% din datele utilizate din 5 GB pentru client3.
Privind în bazinul subțire, nu putem vedea decât 30% de date este scris în totalitate. Acesta este totalul a peste trei volume virtuale ale clienților.
Acum Al 4-lea clientul a venit la mine și mi-a cerut spațiu de stocare de 5 GB. Pot da? Pentru că am dat deja 15GB Pool pentru 3 clienți. Este posibil să dai 5GB mai mult unui alt client? Da, este posibil să dai. Atunci folosim Peste aprovizionare, ceea ce înseamnă să ofer spațiului mai mult decât ceea ce am.
Permiteți-mi să creez 5 GB pentru al patrulea client și să verific dimensiunea.
# lvcreate -V 5G --thin -n thin_vol_client4 vg_thin / tp_tecmint_pool. # Eu versus.
Am o dimensiune de doar 15 GB în pool, dar am creat 4 volume în pool subțire până la 20 GB. Dacă toți cei patru clienți încep să scrie date în volumele lor pentru a umple ritmul, în acel moment, ne vom confrunta cu o situație critică, dacă nu, nu va exista nicio problemă.
Acum am creat sistemul de fișiere în thin_vol_client4, apoi montat sub /mnt/client4 și copiați câteva fișiere în ea.
# Eu versus.
Putem vedea în imaginea de mai sus, că dimensiunea totală utilizată la clientul nou creat 4 până la 89.34% și dimensiunea bazinului subțire ca 59.19% folosit. Dacă toți acești utilizatori nu scriu greșit în volum, acesta va fi liber de depășire, aruncați. Pentru a evita revărsarea trebuie să extindem dimensiunea bazinului subțire.
Important: Pool-urile subțiri sunt doar un volum logic, deci, dacă trebuie să extindem dimensiunea pool-ului subțire, îl putem folosi aceeași comandă ca, am folosit pentru extinderea volumelor logice, dar nu putem reduce dimensiunea bazin subțire.
# lvextend.
Aici putem vedea cum să extindem pool-ul logic subțire (tp_tecmint_pool).
# lvextend -L + 15G / dev / vg_thin / tp_tecmint_pool.
Apoi, enumerați dimensiunea bazinului subțire.
# Eu versus.
Mai devreme tp_tecmint_pool dimensiunea a fost de 15 GB și 4 volume subțiri, ceea ce a depășit asigurarea cu 20 GB. Acum s-a extins la 30 GB, astfel încât supraprovizionarea noastră a fost normalizată, iar volumele subțiri sunt libere de revărsare, scădere. În acest fel, puteți adăuga volume tot mai subțiri la piscină.
Aici am văzut cum să creăm un pool subțire folosind o dimensiune mare a grupului de volume și cum să creezi volume subțiri în interiorul unui pool subțire folosind Over-Provisioning și extinderea pool-ului. În articolul următor vom vedea cum să configurați un lvm Striping.