Dejinta kernel Linux ee GlusterFS

Turjumaada maqaalka waxaa la diyaariyay ka hor bilowga koorsada "Maamulka Linux. Xirfadle".

Dejinta kernel Linux ee GlusterFS

Waqti ka waqti, halkan iyo waxaa su'aalo ka dhasha talooyinka Gluster ee ku saabsan habaynta kernel iyo haddii ay lagama maarmaan tahay.

Baahidani marar dhif ah ayay soo baxdaa. Xuddunta ayaa si aad u wanaagsan ugu shaqeysa inta badan culeysyada shaqada. Inkasta oo ay jirto dhinaca hoose. Taariikh ahaan, kernel-ka Linux wuxuu si diyaar ah u cunaa xasuus badan haddii fursadda la siiyo, oo ay ku jirto kaydinta habka aasaasiga ah ee horumarinta waxqabadka.

Inta badan tani waxay u shaqeysaa si weyn, laakiin culeyska culus wuxuu sababi karaa dhibaatooyin.

Waxaan leenahay waayo-aragnimo ballaaran oo la shaqeyneysa nidaamyada isticmaala xusuusta badan, sida CAD, EDA iyo wixii la mid ah, kuwaas oo bilaabay inay hoos u dhigaan culeyska sare. Mararka qaarkood waxaan la kulannay dhibaatooyin gudaha Gluster. Ka dib markii aan si taxadar leh ula soconay xusuusta la isticmaalay iyo wakhtiga sugitaanka diskooga in ka badan hal maalin, waxaan helnay culeys badan, iowait weyn, khaladaadka kernel (kernel oops), qaboojis, iwm.

Maqaalkani waa natiijada tijaabooyin badan oo hagaajin ah oo lagu sameeyay xaalado kala duwan. Thanks to xuduudahan, ma aha oo kaliya jawaab-celinta guud ahaan waa hagaagtay, laakiin sidoo kale hawlgalka kooxda ayaa si weyn loo xasiliyay.

Marka ay timaado habaynta xusuusta, meesha ugu horeysa ee la eegi karo waa nidaamka hoosaadka xusuusta ee VM (VM), kaas oo leh tiro badan oo xulasho ah oo ku wareerin kara.

vm. isdhaafsi

Xildhibaan vm.swappiness ayaa go'aaminaya inta uu le'eg yahay kernel-ku isticmaalo isdhaafsiga marka la barbar dhigo RAM. Waxa kale oo lagu qeexaa koodhka isha sida "u janjeera in la xado xusuusta la sameeyay." Qiimaha isdhaafsiga sare waxa uu ka dhigan yahay in kernel-ku uu aad ugu nugulaan doono isdhaafsiga boggaga la sameeyay. Qiimaha isdhaafsiga hooseeya macnaheedu waa ka soo horjeeda: kernel-ku wuxuu bedeli doonaa boggaga xusuusta ka yar. Si kale haddii loo dhigo, qiimaha sarreeya vm.swappiness, inta badan nidaamku wuxuu isticmaali doonaa isweydaarsiga.

Isticmaalka badan ee isdhaafsiga waa mid aan loo baahnayn, sababtoo ah qaybo badan oo xog ah ayaa la raray lagana dajiyay RAM. Dad badan ayaa ku doodaya in qiimaha isdhaafsiga ahi uu sarreeyo, laakiin waayo-aragnimadayda, dejinta "0" waxay keenaysaa waxqabad wanaagsan.

Waxaad wax dheeraad ah ka akhrisan kartaa halkan - lwn.net/Articles/100978

Laakiin mar labaad, goobahan waa in si taxadar leh loo isticmaalo oo kaliya ka dib marka la tijaabiyo codsiga gaarka ah. Codsiyada qulqulka aadka loo raray, cabbirkan waa in lagu dejiyaa "0". Marka loo beddelo "0", ka jawaab celinta nidaamka ayaa soo hagaagaysa.

vm.vfs_cache_cadaad

Goobtani waxay xakamaysaa xusuusta uu cunay kernel-ku si loo kaydiyo walxaha hagaha iyo inodes (ilkee iyo inode).

Iyada oo qiimaha caadiga ah ee 100, kernel-ku wuxuu isku dayi doonaa inuu xoreeyo ilkuhu iyo inode cache si cadaalad ah bogga cache iyo isweydaarsiga. Hoos u dhaca vfs_cache_pressure waxay keentaa kernel-ku inuu ilaaliyo ilko iyo kaydka inode. Marka qiimuhu yahay "0", kernel-ku waligii ma daadin doono ilkuhu iyo kaydka inode cadaadiska xusuusta awgeed, tanina waxay si fudud u horseedi kartaa khalad xusuusta ka baxsan. Kordhinta vfs_cache_pressure ee ka sarreeya 100 waxay keentaa kernel-ku inuu mudnaanta siiyo ilko-baxyada iyo ilko-baxyada.

Markaad isticmaalayso GlusterFS, isticmaaleyaal badan oo leh xog badan iyo faylal yaryar oo badan ayaa si fudud u isticmaali kara xaddi badan oo RAM ah server-ka sababtoo ah inode / dentry caching, taas oo u horseedi karta waxqabad liidata maadaama kernel ay tahay inuu xakameeyo qaababka xogta ee nidaamka. oo leh 40 GB oo xusuusta ah . Dejinta cabbirkan in ka badan 100 ayaa ka caawisay isticmaaleyaal badan inay gaadhaan kaydin cadaalad ah iyo ka jawaabida kernel-ka.

vm. wasakh_background_ratio iyo vm. wasakh_ratio

Halbeegga koowaad (vm.dirty_background_ratio) waxay go'aamisaa boqolleyda xusuusta bogag wasakhaysan, marka la gaaro taas oo ay lagama maarmaan tahay in la bilaabo asalka bogag wasakh ah diskka. Ilaa boqolleydan la gaaro, boggaga laguma daadiyo saxanka. Oo marka dib u dejintu bilaabato, waxay ku socotaa gadaasha iyada oo aan la joojin hababka socodsiinta.

Halbeegga labaad (vm.dirty_ratio) ayaa go'aamiya boqolleyda xusuusta ee ay qabsan karaan bogag wasakhaysan ka hor inta uusan bilaash khasab ah billaabin. Marka heerkan la gaadho, dhammaan geeddi-socodyadu waxay noqonayaan kuwo isku mid ah (xiran) loomana oggola inay sii socdaan illaa hawlgalka I/O ee ay codsadeen la dhammaystiro oo xogtu ku jirto saxanka. Culayska sare ee I/O, tani waxay keenaysaa dhibaato sababtoo ah ma jiraan xog kaydin iyo dhammaan hababka samaynta I/O waa la xannibay iyagoo sugaya I/O. Tani waxay keenaysaa tiro badan oo geeddi-socod ah, culeys sare, xasillooni darro nidaamka iyo waxqabadka liita.

Hoos u dhigista qiyamka xuduudahaan waxay sababtaa in xogta lagu daadiyo diskka marar badan oo aan lagu kaydin RAM. Tani waxay kaa caawin kartaa nidaamyada xusuusta-culus halka ay caadi tahay in lagu daadiyo 45-90GB khasnado bogag disk ah, taasoo keentay daahitaan weyn ee codsiyada-dhamaadka hore, yaraynta guud ahaan jawaab-celinta iyo is-dhexgalka.

"1" > /proc/sys/vm/pagecache

Cache boggu waa kayd kaydiya xogta faylalka iyo barnaamijyada la fulin karo, taas oo ah, kuwani waa bogag ay ku jiraan waxyaabaha dhabta ah ee faylalka ama qalabka xannibaya. Cache-kan waxa loo isticmaalaa in lagu dhimo tirada akhrinta saxanka. Qiimaha "1" wuxuu ka dhigan yahay in kaydku isticmaalo 1% RAM waxaana jiri doona wax badan oo laga akhriyo diskka marka loo eego RAM. Muhiim ma aha in la beddelo goobtan, laakiin haddii aad ka walaacsan tahay xakamaynta khasnadda bogga, waad isticmaali kartaa.

"Deadline" > /sys/block/sdc/queue/scheduler

Jadwalka I/O waa qayb ka mid ah kernel Linux kaas oo gacanta ku haya akhrinta iyo qorista safafka. Aragti ahaan, way fiicantahay in la isticmaalo "noop" loogu talagalay kontoroolka RAID ee caqliga leh, sababtoo ah Linux waxba kama oga joomatari jireed ee diskka, sidaas darteed waa wax ku ool ah in loo ogolaado kontaroolaha, kaas oo si fiican u yaqaan joomatari diskka, inuu socodsiiyo codsiga sida sida ugu dhakhsaha badan. Laakin waxay u muuqataa in "xilliga kama dambaysta ah" uu hagaajinayo waxqabadka. Macluumaad dheeraad ah oo ku saabsan jadwalayaasha ayaa laga heli karaa dukumeentiyada koodhka isha kernel ee Linux: linux/Documentation/block/*osched.txt. Waxaan sidoo kale arkay kororka wax-akhrinta inta lagu jiro hawlgallada isku dhafan (qoraal badan).

"256" > /sys/block/sdc/queue/nr_requests

Tirada codsiyada I/O ee kaydka ka hor inta aan loo dirin jadwalaha. Cabbirka safka gudaha ee kontaroolayaasha qaarkood (queue_depth) wuu ka weyn yahay jadwalka I/O ee nr_requests, markaa jadwalaha I/O waxa uu haystaa fursad yar oo uu si sax ah u kala hormariyo iyo isku darka codsiyada. Xilliga kama dambaysta ah iyo jadwalka CFQ, way fiicantahay marka nr_requests ay 2 jeer ka weyn yihiin safka gudaha ee kontaroolaha. Isku darka iyo dib u habaynta weydiimaha waxay ka caawisaa jadwaleeyaha inuu ka jawaabo culayska culus.

echo "16" > /proc/sys/vm/page-cluster

Halbeegga-kutlada bogga ayaa koontaroolaya tirada boggaga lagu qoray isku beddelashada hal mar. Tusaalaha kore, qiimaha waxaa loo dejiyay "16" si uu u dhigmo cabbirka xariijimaha RAID ee 64 KB. Tani macno ma samaynayso marka isdhaafsiga = 0, laakiin haddii aad dejiso isdhaafsiga 10 ama 20, markaa isticmaalka qiimahan ayaa ku caawin doona marka cabbirka xariijimaha RAID uu yahay 64 KB.

blockdev --setra 4096 / dev/<devname> (-sdb, hdc ama dev_mapper)

Qalabka xannibaadda caadiga ah ee kontaroolayaasha RAID badan ayaa badanaa keena waxqabad xun. Ku darista ikhtiyaarka kore wuxuu u habeeyaa akhrinta hore ee 4096*512 waaxaha byte. Ugu yaraan hawlgallada qulqulka, xawaaruhu waa la kordhiyaa iyada oo la buuxinayo khasnadda saxanka-chip-ka iyadoo la sii akhrinayo kahor inta lagu jiro xilliga kernelku isticmaalo si uu u diyaariyo I/O. Kaydka ayaa hayn kara xogta la codsan doono inta lagu jiro akhrinta soo socota. Akhris badan oo horudhac ah ayaa dili kara random I/O ee faylalka waaweyn haddii ay isticmaasho wakhtiga diskka ee suurtogalka ah ama ay ku shubto xogta meel ka baxsan kaydka.

Hoos waxaa ah dhowr talooyin oo kale oo ah heerka nidaamka faylka. Laakiin weli lama tijaabin. Hubi in nidaamka faylkaagu uu yaqaano cabbirka xariijimaha iyo tirada saxanka ee ku dhex jira. Tusaale ahaan, in kani yahay raid5 array leh xajmi xariijimo ah 64K oo lix saxan ah (runtii shan, sababtoo ah hal disk ayaa loo isticmaalaa sinnaanta). Talooyinkani waxay ku salaysan yihiin male-awaal aragtiyeed waxaana laga soo ururiyay baloog/maqaallo kala duwan oo ay sameeyeen khubarada RAID.

-> ext4 fs, 5 disks, 64K stripe, units in 4K blocks
mkfs -text4 -E stride=$((64/4))
-> xfs, 5 disks, 64K stripe, units in 512-byte sectors
mkfs -txfs -d sunit=$((64*2)) -d swidth=$((5*64*2))

Faylasha waaweyn, waxaa laga yaabaa inaad tixgeliso inaad kordhiso cabbirrada xariijimaha sare.

DARIIQ! Wax kasta oo kor lagu sharraxay waa kuwo aad u macquul ah noocyada codsiyada qaarkood. Maqaalkani ma dammaanad qaadayo wax horumar ah iyada oo aan marka hore la tijaabin codsiyada kala duwan ee isticmaaluhu. Waa in la isticmaalo oo kaliya haddii ay jirto baahi loo qabo in la hagaajiyo ka jawaabista nidaamka guud ama haddii ay xalliso dhibaatooyinka hadda jira.

Alaabooyin dheeri ah:

Dejinta kernel Linux ee GlusterFS

Akhri wax dheeraad ah

Source: www.habr.com

Add a comment