Dejinta kernel-ka Linux ee GlusterFS

Turjumaada maqaalka waxaa la diyaariyay ka hor bilowga koorsada Maamulaha LinuxXirfadle ».

Dejinta kernel-ka Linux ee GlusterFS

Waqti ka waqti, su'aalo ayaa ka soo baxa halkan iyo halkaas oo ku saabsan talooyinka Gluster ee ku saabsan qaabeynta kernelka iyo haddii tani ay lagama maarmaan tahay.

Baahidani si dhif ah ayay u dhacdaa. Inta badan culayska shaqada, xudunta ayaa si fiican u shaqeysa. Si kastaba ha ahaatee, waxaa jira hoos u dhac. Taariikh ahaan, xudunta ayaa si dhif ah u dhacda. Linux si ikhtiyaari ah ayuu u isticmaalaa xasuus badan haddii la siiyo fursad, oo ay ku jirto kaydinta oo ah habka ugu weyn ee lagu hagaajin karo waxqabadka.

Xaaladaha intooda badan tani si fiican ayay u shaqeysaa, laakiin culeyska culus wuxuu sababi karaa dhibaatooyin.

Waxaan leenahay waayo-aragnimo ballaaran oo la shaqeyneysa nidaamyada xusuusta-xoog leh, sida CAD, EDA, iyo nidaamyada la midka ah, kuwaas oo bilaabi doona inay hoos u dhigaan culeyska culus. Waxaan sidoo kale mararka qaarkood la kulannay arrimo Gluster. Ka dib markii si taxadar leh aan ula soconay isticmaalka xusuusta iyo daahitaanka diskka dhowr maalmood, waxaan aragnay culeyska saxanka, iowaits weyn, kernel oops, baraf, iyo wixii la mid ah.

Maqaalkani waa natiijada tijaabooyin badan oo hagaajin ah oo lagu sameeyay xaalado kala duwan. Saldhigyadani kaliya ma wanaajiyeen jawaabcelinta guud laakiin waxay sidoo kale si weyn u dejiyeen hawlgallada kooxdu.

Marka ay timaado habaynta xusuusta, waxa ugu horreeya ee la eegayo waa nidaamka hoosaadka xusuusta ee VM, kaas oo leh tiro badan oo ikhtiyaari ah oo jahawareer gelin kara.

vm. isdhaafsi

Xildhibaan vm.swappiness Wuxuu go'aamiyaa inta uu le'eg yahay kernel-ku isticmaalo isdhaafsiga marka la barbar dhigo RAM. Koodhka isha, waxa kale oo lagu qeexaa sida "u janjeera in la xado xusuusta khariidadda." Qiimaha isdhaafsiga sare waxa uu ka dhigan yahay in kernel-ku uu aad ugu nugul yahay in uu beddelo boggaga la sawiray. Qiimaha isdhaafsiga hooseeya macnaheedu waa ka soo horjeeda: kernelku wuxuu ka beddeli doonaa bogag ka yar xusuusta. Si kale haddii loo dhigo, qiimaha sarreeya vm.swappiness, inta badan nidaamku wuxuu isticmaali doonaa isweydaarsiga.

Isdhaafsiga xad dhaafka ah waa mid aan loo baahnayn sababtoo ah qaybo badan oo xog ah ayaa la raray lagana dajiyay RAM. Qaar badan ayaa ku doodaya in qiimaha isdhaafsiga ay tahay inuu sarreeyo, laakiin waayo-aragnimadayda, dejinta "0" waxay hagaajinaysaa waxqabadka.

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

Si kastaba ha ahaatee, mar labaad, goobahan waa in si taxadar leh loo isticmaalo oo kaliya ka dib marka la tijaabiyo codsiga gaarka ah. Codsiyada qulqulka aadka u sarreeya, cabbirkan waa in lagu dejiyaa "0." U beddelashada goobtan "0" waxay wanaajisaa ka jawaabista nidaamka.

vm.vfs_cache_cadaad

Halbeeggaan ayaa xakameynaya xusuusta uu cunay kernel-ka si loo keydiyo walxaha hagaha iyo inodes (ilko iyo inodes).

Iyada oo qiimaha caadiga ah ee 100, kernel-ku wuxuu isku dayi doonaa inuu xoreeyo ilkuhu iyo khasnadaha inode "si cadaalad ah" marka la barbar dhigo bogga cache iyo isweydaarsiga. Hoos u dhigista vfs_cache_pressure waxay keentaa kernel-ku inuu ilaaliyo ilko iyo kaydka inode Marka qiimihiisu yahay 0, kernel-ku waligii ma nadiifin doono ilko-gashiga iyo kaydka inode-ka ee cadaadiska xusuusta awgeed, taas oo si fudud u horseedi karta khalad xusuusta ka baxsan. Kordhinta vfs_cache_pressure ee ka sarreeya 100 waxay keentaa kernel-ku inuu mudnaanta siiyo beddelka ilkaha iyo kaydka inode.

Markaad isticmaalayso GlusterFS, isticmaaleyaal badan oo leh xog badan iyo faylal yaryar oo tiro badan ayaa si fudud u cuni kara qadar aad u badan oo RAM ah server-ka sababtoo ah inode / dentry caching, taas oo horseedi karta hoos u dhac ku yimaada waxqabadka maadaama kernel uu ku shaqeynayo qaababka xogta nidaamka leh 40 GB ee xusuusta. Dejinta cabbirkan ka sarreeya 100 ayaa ka caawisay isticmaaleyaal badan inay gaadhaan kaydin cadaalad ah oo ay horumariyaan ka jawaabista kernel-ka.

vm. wasakh_background_ratio iyo vm. wasakh_ratio

Halbeegga koowaad (vm.dirty_background_ratio) ayaa ku go'aamiya boqolleyda xusuusta bogag wasakhaysan, marka la gaaro asalka bogaga wasakhaysan ee saxanka ay tahay inuu bilaabo. Ilaa boqolleydan la gaaro, boggaga laguma daadiyo saxanka. Mar haddii biyo raacidu bilaabato, waxay ku dhacdaa gadaasha, iyada oo aan la joojin hababka socodsiinta.

Halbeegga labaad (vm.dirty_ratio) waxay go'aamisaa boqolleyda xusuusta ee ay ku jiri karaan bogag wasakhaysan ka hor intaysan dhicin qasabad. Marka heerkan la gaaro, dhammaan geeddi-socodyadu waxay noqonayaan kuwo isku mid ah (xiran) lamana oggola inay sii socdaan illaa hawlgalka I/O ee la codsaday la dhammaystiro oo xogtu ku jirto saxanka. Marka la hoos geeyo culeyska sare ee I/O, tani waxay keenaysaa dhibaato, maadaama aysan jirin wax keydin ah oo xog ah, iyo dhammaan hababka fulinta I/O waa la xannibay iyagoo sugaya I/O. Tani waxay keenaysaa tiro badan oo geeddi-socod ah, culeys sare, xasilooni darro nidaamka, iyo waxqabadka liita.

Yaraynta xuduudahan waxay keenaysaa in xogta lagu daadiyo saxanka si joogta ah halkii lagu kaydin lahaa RAM. Tani waxay kaa caawin kartaa nidaamyada leh raadadka xusuusta waaweyn, kuwaas oo sida caadiga ah ku daadiya 45-90 GB ee kaydka bogga diskka, taasoo horseedaysa daahsoon weyn oo loogu talagalay codsiyada-dhamaadka hore, yaraynta guud ahaan jawaab-celinta iyo isdhexgalka.

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

Cache boggu waa kayd kaydiya faylalka iyo xogta barnaamijka la fulin karo—taas oo ah, bogag ka kooban waxyaalaha dhabta ah ee faylasha ama qalabka xannibaya. Cache-kan waxa loo isticmaalaa in lagu dhimo akhrinta saxanka. Qiimaha "1" macnaheedu waa kaydku wuxuu isticmaalaa 1% RAM, iyo akhrinta diskooga waxay ka badnaan doontaa akhristayaasha RAM. Beddelidda goobtan waa ikhtiyaari, 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-ka. Linux, kaas oo maamula safka akhriska iyo qorista. Aragti ahaan, kontaroole RAID oo caqli badan, waxaa ka wanaagsan in la isticmaalo "noop" sababtoo ah Linux Jadwal-sameeyaha waxba kama oga joomatari jireed ee diskka, sidaa darteed way ka waxtar badan tahay in koontaroolaha, oo aqoon fiican u leh joomatari diskka, uu codsiga u farsameeyo sida ugu dhakhsaha badan. Si kastaba ha ahaatee, "waqtiga kama dambaysta ah" wuxuu u muuqdaa inuu hagaajinayo waxqabadka. Macluumaad dheeraad ah oo ku saabsan jadwal-sameeyayaasha waxaa laga heli karaa dukumeentiyada isha kernel. Linux: linux/Documentation/block/*osched.txt. Waxa kale oo aan arkay korodhka wax-akhriska inta lagu jiro hawlgallada isku dhafan (hawlo badan oo qoraal ah).

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

Tirada codsiyada I/O ee la dhigay ka hor inta aan loo gudbin jadwalaha. Cabbirka safka gudaha ee kontaroolayaasha qaarkood (queue_depth) way ka weyn tahay codsiyada jadwalaha I/O ee nr_requests, sidaa awgeed jadwalaha I/O waxa uu leeyahay fursad yar oo uu si sax ah u kala hormariyo iyo isku darka codsiyada. Xilliga kama dambaysta ah iyo jadwalayaasha CFQ, way fiicantahay marka nr_requests ay laba jeer ka weyn yihiin cabbirka safka gudaha ee maamulaha. Codsiyada isku darka iyo dib u habaynta waxay ka caawisaa jadwalaha inuu noqdo mid ka jawaaba culayska culus.

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

Halbeegga-koobka-boggu wuxuu xakameeyaa tirada boggaga la qoray in la isku beddelo markiiba. Tusaalaha kore, qiimaha waxaa loo dejiyay "16" si uu u dhigmo cabbirka xariijimaha RAID ee 64 KB. Tani waa macno la'aan marka la isku beddelo = 0, laakiin haddii aad dejiso isku beddelashada 10 ama 20, 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 doorashada sare waxay u habaynaysaa akhrinta hore ee qaybaha 4096 * 512-byte. Ugu yaraan hawlgallada qulqulka, tani waxay kordhisaa xawaaraha iyadoo buuxinta kaydka ku dhex-jira diskka oo akhrin hor leh inta lagu jiro xilliga kernel-ku isticmaalo si uu u diyaariyo I/O. Cache-gu wuxuu qaadi karaa xogta la codsan doono inta lagu jiro akhrinta soo socota. Akhris badan oo horudhac ah ayaa dili kara I/O random faylalka waaweyn haddii ay isticmaasho wakhtiga diskka ee suurtogalka ah ama ay ku shubto xogta meel ka baxsan kaydka.

Hoos waxaa ku yaal dhawr talo oo kale oo heer-faylal ah, laakiin weli lama tijaabin. Hubi in nidaamka faylalkaagu ogyahay cabbirka xariijimaha iyo tirada darawallada ku jira shaxanka. Tusaale ahaan, ka soo qaad inay tahay RAID5 array leh cabbir xariijimo 64K ah iyo lix darawal (dhab ahaantii shan, mar haddii hal darawal loo isticmaalo sinnaanta). Talooyinkani waxay ku salaysan yihiin male-awaal aragtiyeed waxaana laga soo ururiyay baloogyo iyo 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 u baahato inaad ka fiirsato kordhinta xajmiyada xariijimaha kor lagu sheegay.

DARIIQ! Wax kasta oo kor lagu sharraxay waxay si heer sare ah u yihiin qaar ka mid ah noocyada abka. Maqaalkani ma dammaanad qaadayo wax horumar ah iyada oo aan la tijaabin isticmaale hore ee abka khuseeya. Waa in la isticmaalo oo keliya haddii u jawaabista nidaamka guud loo baahan yahay ama haddii ay wax ka qabato arrimaha hadda jira.

Alaabooyin dheeri ah:

Dejinta kernel-ka Linux ee GlusterFS

Akhri wax dheeraad ah

Source: www.habr.com

U soo iibso martigelin lagu kalsoonaan karo oo loogu talagalay bogagga leh ilaalinta DDoS, VPS VDS servers 🔥 Iibso martigelin degel oo lagu kalsoonaan karo oo leh ilaalinta DDoS, VPS VDS servers | ProHoster