Kumisikidza iyo Linux kernel yeGlusterFS

Kuturikirwa kwechinyorwa kwakagadzirirwa manheru ekutanga kwekosi Administrator Linux. NyanzviΒ».

Kumisikidza iyo Linux kernel yeGlusterFS

Nguva nenguva, pano neapo, mibvunzo inomuka nezve kurudziro yaGluster maererano nekernel tuning uye kana paine chikonzero cheizvi.

Kuda kwakadaro hakuwanzovapo. Pamabasa mazhinji, kernel inoita zvakanaka kwazvo. Kunyange zvazvo pane downside. Nhoroondo, iyo Linux kernel yanga ichida kushandisa yakawanda ndangariro kana yakapihwa mukana, kusanganisira ye caching senzira huru yekuvandudza mashandiro.

Muzviitiko zvakawanda, izvi zvinoshanda zvakanaka, asi pasi pemutoro unorema zvinogona kutungamirira kumatambudziko.

Isu tine ruzivo rwakawanda nendangariro dzakasimba masisitimu akadai seCAD, EDA nezvimwe zvakadaro, izvo zvakatanga kuderera pasi pemutoro unorema. Uye dzimwe nguva taisangana nematambudziko muGluster. Mushure mekutarisa nekungwarira kushandiswa kwendangariro uye disk latency kwemazuva mazhinji, isu takawana kuwandisa kwavo, hombe iowait, kernel zvikanganiso (kernel oops), kutonhora, nezvimwe.

Ichi chinyorwa mhedzisiro yekuedza kwakawanda kwekugadzirisa kwakaitwa mumamiriro akasiyana. Kutenda kune aya ma parameter, kwete chete kupindurwa kwese kwakagadziridzwa, asi cluster yakagadzikana zvakare zvakanyanya.

Kana zvasvika pakugadzirisa ndangariro, chinhu chekutanga kutarisa ndeye virtual memory subsystem (VM, virtual memory), iyo ine nhamba huru yesarudzo dzinogona kukuvhiringa.

vm.swappiness

Parameter vm.swappiness inotarisa kuti yakawanda sei iyo kernel inoshandisa swap (swap, paging) ichienzaniswa ne RAM. Inotsanangurwa zvakare mune kodhi kodhi se "tsika yekuba mepu memory". A high swappiness zvinoreva kuti kernel inozonyanya kuda kuchinjanisa mapeji ane mepu. A low swappiness value zvinoreva zvakapesana: iyo kernel ichapeji zvishoma kubva mundangariro. Mune mamwe mazwi, iyo yakakwirira kukosha vm.swappiness, iyo yakawanda iyo system inoshandisa shanduko.

Kushandiswa kukuru kwekuchinjana hakudiwe, sezvo mabhuraki makuru e data anotakurwa uye anoturwa muRAM. Vanhu vazhinji vanopokana kuti kukosha kwe swapiness kunofanirwa kuve kwakakura, asi mune yangu ruzivo, kuimisa ku "0" inotungamira kuita zvirinani.

Unogona kuverenga zvakawanda pano - lwn.net/Articles/100978

Asi, zvakare, aya marongero anofanirwa kushandiswa nekuchenjerera uye chete mushure mekuyedza imwe application. Pamashandisirwo akaremerwa ekutepfenyura, iyi parameter inofanirwa kusetwa ku "0". Kana yashandurwa kuita "0", system inopindura inovandudza.

vm.vfs_cache_pressure

Iyi gadziriro inodzora ndangariro inopedzwa ne kernel ye caching dhairekitori uye inode zvinhu (dentry uye inode).

Nekukosha kwe100, kernel inoedza kusunungura dentry uye inode caches pane "zvakanaka" kune pejicache uye swapcache. Kudzikira vfs_cache_pressure kunoita kuti kernel ichengete dentry uye inode caches. Kana kukosha kuri "0", kernel haizombofi yakanyungudutsa dentry uye inode cache nekuda kwekumanikidzwa kwendangariro, uye izvi zvinogona kutungamira nyore kune-ye-yekuyeuka kukanganisa. Kuwedzera vfs_cache_pressure pamusoro pezana kunoita kuti kernel isa pamberi pe dentry uye inode flushing.

Paunenge uchishandisa GlusterFS, vashandisi vakawanda vane data yakawanda uye mafaira maduku akawanda anogona nyore nyore kushandisa RAM yakawanda pavhavha nekuda kweinode / dentry caching, iyo inogona kutungamirira pakuparara kwekuita sezvo kernel inofanirwa kugadzirisa zvivako zve data pane system. ine 40 GB yekuyeuka. Kuisa kukosha uku pamusoro pe100 kwakabatsira vashandisi vazhinji kuwana cache yakanaka uye nekuvandudza kernel kupindura.

vm.dirty_background_ratio uye vm.dirty_ratio

Chekutanga parameter (vm.dirty_background_ratio) inosarudza chikamu chendangariro nemapeji ane tsvina, mushure mekusvika izvo zvinofanirwa kutanga kutsvaira mapeji akasviba kumashure kune dhisiki. Kusvikira chikamu ichi chasvikwa, hapana mapeji anotsvetwa kudhisiki. Uye kana reset yatanga, inomhanya kumashure pasina kukanganisa maitiro ekumhanya.

Yechipiri parameter (vm.dirty_ratio) inotsanangura chikamu chendangariro chinogona kugarwa nemapeji akasviba kusati kwatanga kumanikidzwa kupenya. Kana ichi chikumbaridzo chasvika, maitiro ese anove anoenderana (akavharwa) uye haabvumidzwe kuenderera kusvikira I / O yavakakumbira yanyatsopera uye data iri pa diski. Neinorema I/O, izvi zvinokonzeresa dambudziko nekuti hapana data caching uye ese maitirwo arikuita I/O akavharwa achimirira I/O. Izvi zvinotungamirira kunhamba yakawanda yemaitiro akarembera, mutoro mukuru, kusagadzikana kwehurongwa uye kushanda kwakashata.

Kudzikira aya marongero kunoita kuti data riwedzere kudhisiki kakawanda uye kusachengetwa muRAM. Izvi zvinogona kubatsira ndangariro-inorema masisitimu uko zvakajairwa kutsvaira 45-90 GB peji cache kune diski, zvichikonzera yakakura latency yekumberi-kumagumo maapplication, kuderedza kuterera kwese uye kupindirana.

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

Peji cache i cache inochengeta data remafaira uye zvirongwa zvinogoneka, ndiko kuti, aya mapeji ane izvo chaizvo zviri mukati memafaira kana block zvishandiso. Iyi cache inoshandiswa kuderedza nhamba yedhisiki inoverengwa. Kukosha kwe "1" kunoreva kuti 1% ye RAM inoshandiswa kune cache uye pachave nekuverenga kwakawanda kubva kudhisiki kupfuura kubva ku RAM. Izvo hazvifanirwe kushandura iyi marongero, asi kana iwe uri paranoid nezve kudzora peji cache, unogona kuishandisa.

"zuva rekupedzisira" > /sys/block/sdc/queue/scheduler

Iyo I/O scheduler iLinux kernel chikamu chinobata kuverenga nekunyora mitsetse. Mune dzidziso, zviri nani kushandisa "noop" kune akangwara RAID controller, nekuti Linux haina chainoziva nezve yemuviri geometry yedhisiki, saka zvinonyanya kushanda kutendera mutongi, uyo anoziva disk geometry zvakanaka, kugadzirisa chikumbiro nekukurumidza se zvinogoneka. Asi zvinoita sekunge "deadline" inovandudza mashandiro. Iwe unogona kuverenga zvakawanda nezve schedulers muLinux kernel source code zvinyorwa: linux/Documentation/block/*osched.txt. Uye zvakare ini ndaona kuwedzera kwekuverenga kwekuverenga panguva yakasanganiswa mashandiro (akawanda kunyora mabasa).

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

Huwandu hwezvikumbiro zveI/O mubuffer zvisati zvapfuudzwa kune anoronga. Vamwe vatongi vemukati memutsara saizi (queue_depth) yakakura kupfuura iyo I/O scheduler's nr_requests, saka iyo I/O scheduler ine mukana mudiki wekuisa pamberi uye nekubatanidza zvikumbiro. Kune ekupedzisira uye CFQ schedulers, zviri nani kana nr_requests iri 2 times the controller's internal queue. Kubatanidza uye kurongazve zvikumbiro kunobatsira mugadziri kuti apindure zvakanyanya pasi pemutoro unorema.

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

Iyo peji-cluster parameter inodzora nhamba yemapeji anonyorerwa kuchinjika panguva imwe. Mumuenzaniso uri pamusoro apa, kukosha kwakaiswa ku "16" maererano nehukuru hweRAID mutsara we64 KB. Izvo hazvina musoro ne swappiness = 0, asi kana iwe ukaisa swappiness kugumi kana makumi maviri ipapo kushandisa kukosha uku kunokubatsira iwe kana RAID mitsetse saizi iri 10K.

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

Iyo default block mudziyo marongero evazhinji RAID controller anowanzo konzera kuita kwakashata. Kuwedzera iyo iri pamusoro sarudzo inomisa kuverenga-mberi kwe4096 * 512-byte zvikamu. Pazvishoma, zvekufambisa mashandiro, kumhanya kunowedzerwa nekuzadza pa-chip disk cache nekuverenga-mberi panguva inoshandiswa nekernel kugadzirira I/O. Iyo cache inogona kuve nedata inozokumbirwa pane inotevera kuverenga. Yakawandisa prefetch inogona kuuraya isina kurongeka I/O yemafaira makuru kana ikashandisa inogona kubatsira dhisiki nguva kana kurodha data kunze kwecache.

Pazasi pane mamwe mashoma ekurudziro pane iyo faira system level. Asi havasati vaedzwa. Ita shuwa kuti yako faira system inoziva saizi yemutsetse uye nhamba yemadhisiki muhurongwa. Semuenzaniso, kuti iyi ndeye 5K mitsetse raid64 array yemadhisiki matanhatu (chaizvo shanu, nekuti rimwe dhisiki rinoshandiswa parimwe). Aya mazano akavakirwa pafungidziro dzedzidziso uye akaunganidzwa kubva akasiyana mablogiki / zvinyorwa neRAID nyanzvi.

-> 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))

Kune mafaera akakura, funga kuwedzera saizi yemitsara yakanyorwa pamusoro.

KUDZIDZA! Zvese zvinotsanangurwa pamusoro apa zvine musoro kune mamwe marudzi ekushandisa. Ichi chinyorwa hachivimbise chero kuvandudzwa pasina kusati kwaedza mushandisi kune zvine chekuita maapplication. Inofanirwa kushandiswa chete kana zvichidikanwa kuvandudza kupindurwa kwese kwehurongwa, kana kana ichigadzirisa matambudziko aripo.

Zvimwe zvinoshandiswa:

Kumisikidza iyo Linux kernel yeGlusterFS

Verenga zvimwe

Source: www.habr.com

Voeg