„Thin Provisioning Volume Logical Volume Management“ (LVM) nustatymas. IV dalis


Loginis tūrio valdymas turi puikių funkcijų, tokių kaip momentinės nuotraukos ir „Thin Provisioning“. Anksčiau (III dalyje) matėme, kaip fotografuoti loginį tūrį. Čia, šiame straipsnyje, mes pamatysime, kaip nustatyti plonus atidėjinių tomus LVM.

„Thin Provisioning“ yra naudojama lvm kuriant virtualius diskus plono baseino viduje. Tarkime, kad mano serveryje yra 15 GB atminties talpa. Aš jau turiu 2 klientus, kurie turi po 5 GB atminties. Esate trečiasis klientas, paprašėte 5 GB atminties. Tada mes naudojome visą 5 GB (storą tūrį), tačiau galite naudoti 2 GB iš tos 5 GB talpos ir 3 GB bus nemokama, kurią galėsite vėliau užpildyti.

Tačiau tai, ką mes darome taikydami ploną atsargą, mes naudojame apibrėžti ploną baseiną vienos didelės apimties grupės viduje ir plonus tūrius to plono baseino viduje. Taigi, kad ir kokie failai būtų parašyti, jie bus saugomi, o saugykla bus rodoma kaip 5 GB. Tačiau visi 5 GB nepriskirs viso disko. Tas pats procesas bus atliekamas ir kitiems klientams. Kaip jau sakiau, kad yra 2 klientai, o jūs esate mano 3 klientas.

Taigi, tarkime, kiek viso GB priskyriau klientams? 15 GB jau buvo užpildytas. Jei kas nors ateis pas mane ir paprašys 5 GB, galiu duoti? Atsakymas yra „ Taip “, čia aš, nepaprastai pasirengęs, galiu atiduoti 5 GB 4 klientui, net jei esu paskyręs 15 GB.

Įspėjimas: Nuo 15 GB, jei mes teikiame daugiau nei 15 GB, tai vadinama „Over Provisioning“.

Aš suteikiau jums 5 GB, bet galite naudoti tik 2 GB, o kiti 3 GB bus nemokami. „Thick Provisioning“ mes to negalime padaryti, nes iš pradžių ji paskirstys visą erdvę.

Jei nustatysiu jums 5 GB, jei tai bus nedidelis aprūpinimas, jis nepriskirs visos vietos diske, o apibrėždamas tūrį, jis augs iki 5 GB pagal jūsų duomenų įrašą. tas pats, kaip ir jūs, kiti klientai taip pat nenaudos visų tomų, todėl bus galimybė pridėti 5 GB prie naujo kliento. Tai vadinama „Provisioning“.

Bet privaloma stebėti kiekvieną apimties augimą, jei ne, tai baigsis katastrofa. Nepaisant to, kad teikimas vykdomas, jei visi 4 klientai blogai įrašo duomenis į diską, galite susidurti su problema, nes tai užpildys jūsų 15 GB ir perpildys, kad sumažėtų tūrių.

  1. Sukurkite disko saugyklą naudodami „LVM“ sistemoje „Linux“ - 1 DALIS
  2. Kaip išplėsti/sumažinti LVM sistemoje „Linux“ - II dalis
  3. Kaip sukurti/atkurti loginio tūrio vaizdą LVM - III dalis

  1. Operacinė sistema - „CentOS 6.5“ su LVM diegimu
  2. Serverio IP - 192.168.0.200

1 veiksmas: nustatykite „Thin Pool and Volumes“

Padarykime tai praktiškai, kaip nustatyti ploną baseiną ir plonus tūrius. Pirmiausia mums reikia didelio tūrio grupės. Čia kuriu „Volume 15“ grupę su 15 GB demonstravimo tikslais. Dabar išvardykite tomų grupę naudodami žemiau esančią komandą.

# vgcreate -s 32M vg_thin /dev/sdb1

Tada prieš kurdami ploną telkinį ir tomus, patikrinkite loginio tūrio prieinamumo dydį.

# vgs
# lvs

Mes matome, kad failų sistemoje yra tik numatytieji loginiai tūriai, o aukščiau esančiame LVS išvestyje yra apsikeitimo.

Norėdami sukurti 15 GB talpų grupę tūrio grupėje (vg_thin), naudokite šią komandą.

# lvcreate -L 15G --thinpool tp_tecmint_pool vg_thin

  1. -L - tūrio grupės dydis
  2. - „Thinpool“ - sukurti „slimpool“
  3. tp_tecmint_pool - plonas telkinio pavadinimas
  4. vg_thin - tūrio grupės pavadinimas, jei mums reikėjo sukurti telkinį

Norėdami gauti daugiau informacijos, galime naudoti komandą „lvdisplay“.

# lvdisplay vg_thin/tp_tecmint_pool

Čia mes nesukūrėme virtualių plonų tomų šiame ploname baseine. Paveikslėlyje galime pamatyti paskirstytų telkinių duomenis, rodančius 0,00% .

Dabar mes galime apibrėžti plonus tūrius plono baseino viduje naudodami komandą „lvcreate“ su parinktimi -V (virtualus).

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

Aš sukūriau „Thin“ virtualųjį tomą, kurio pavadinimas thin_vol_client1 , tp_tecmint_pool viduje savo vg_thin tomų grupėje. Dabar išvardykite loginius tomus naudodami žemiau esančią komandą.

# lvs 

Ką tik sukūrėme aukščiau pateiktą ploną tūrį, todėl nėra duomenų, rodančių, t. Y. 0,00% M .

Puiku, leiskite sukurti dar 2 plonus „Thin“ tomus kitiems 2 klientams. Čia galite pamatyti, kad po baseinu sukurti 3 ploni tūriai ( tp_tecmint_pool ). Taigi, nuo šio momento mes sužinojome, kad aš išnaudojau visus 15 GB talpos.

Dabar sukurkite tvirtinimo taškus ir įdėkite šiuos tris plonus tomus ir nukopijuokite kai kuriuos failus jame naudodami žemiau esančias komandas.

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

Išvardykite sukurtus katalogus.

# ls -l /mnt/

Naudodami komandą „mkfs“, sukurkite šių sukurtų plonų tomų failų sistemą.

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

Sumontuokite visus tris kliento tomus prie sukurto prijungimo taško naudodami komandą „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/

Išvardinkite tvirtinimo taškus naudodami komandą „df“.

# df -h

Čia matome, kad visos 3 klientų apimtys yra sujungtos, todėl kiekviename klientų tome naudojama tik 3% duomenų. Taigi, pridėkime dar keletą failų į visus 3 prijungimo taškus iš mano darbalaukio, kad užpildytume šiek tiek vietos.

Dabar išvardykite tvirtinimo tašką ir pamatykite erdvę, naudojamą kiekvienuose plonuose tomuose, ir išvardykite ploną baseiną, kad pamatytumėte baseine naudojamą dydį.

# df -h
# lvdisplay vg_thin/tp_tecmint_pool

Pirmiau nurodyta komanda rodo, kad trys tvirtinimo pintos kartu su jų dydžiu procentais.

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

Žvelgdami į „slim-pool“ matome, kad tik 30% duomenų yra visiškai parašyta. Tai yra daugiau nei trys klientų virtualūs tomai.

Dabar pas mane atėjo 4-oji klientė ir paprašė 5 GB vietos. Ar galiu duoti? Nes jau buvau atidavęs 15GB Pool 3 klientams. Ar įmanoma kitam klientui atiduoti 5 GB daugiau? Taip, galima duoti. Tai yra tada, kai mes naudojame Over Provisioning , o tai reiškia, kad suteikiame erdvei daugiau nei aš turiu.

Leiskite sukurti 4 GB 4-ajam klientui ir patikrinti dydį.

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

Aš turiu tik 15 GB talpos baseine, bet aš sukūriau 4 tomus, esančius ploname baseine, iki 20 GB. Jei visi keturi klientai pradės rašyti duomenis į savo apimtis, kad užpildytų tempą, tuo metu susidursime su kritine situacija, jei ne, tai nebus.

Dabar sukūriau failų sistemą sistemoje thin_vol_client4 , tada sumontavau po /mnt/client4 ir nukopijavau į ją kai kuriuos failus.

# lvs

Ankstesniame paveikslėlyje matome, kad naujai sukurtame 4 kliente panaudotas bendras dydis iki 89,34% ir plono telkinio dydis, panaudotas 59,19% . Jei visi šie vartotojai blogai nerašo į tomą, jame nebus perpildymo, numeskite. Kad išvengtume perpildymo, turime išplėsti plono baseino dydį.

Svarbu: „Thin-pool“ yra tik loginis tūris, taigi, jei mums reikia išplėsti „Thin-Pool“ dydį, galime naudoti tą pačią komandą, kaip ir anksčiau loginių tomų išplėtimui, tačiau negalime sumažinti „Threads“ dydžio baseinas.

# lvextend

Čia galime pamatyti, kaip išplėsti loginį „slim-pool“ ( tp_tecmint_pool ).

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

Toliau išvardykite plono baseino dydį.

# lvs

Anksčiau mūsų tp_tecmint_pool dydis buvo 15 GB ir 4 ploni tomai, kurie viršijo teikimą 20 GB. Dabar jis išsiplėtė iki 30 GB, todėl mūsų perteklius buvo normalizuotas, o mažuose tomuose nėra perpildymo, kritimo. Tokiu būdu galite pridėti vis daugiau plonų kiekių prie baseino.

Čia mes matėme, kaip sukurti ploną baseiną naudojant didelę tūrio grupę ir sukurti plonus tūrius plono baseino viduje, naudojant per didelę aprūpinimą ir pratęsiant baseiną. Kitame straipsnyje mes pamatysime, kaip nustatyti „lvm Striping“.