Ṣiṣeto ekuro Linux fun GlusterFS

Itumọ nkan naa ni a pese sile ni aṣalẹ ti ibẹrẹ ikẹkọ naa "Alakoso Linux. Ọjọgbọn".

Ṣiṣeto ekuro Linux fun GlusterFS

Lati igba de igba, nibi ati nibẹ awọn ibeere dide nipa awọn iṣeduro Gluster nipa isọdi ekuro ati boya o jẹ dandan.

Eleyi nilo ṣọwọn dide. Mojuto ṣe daradara daradara labẹ ọpọlọpọ awọn iṣẹ ṣiṣe. Biotilejepe nibẹ ni a downside. Itan-akọọlẹ, ekuro Linux ni imurasilẹ n gba iranti pupọ ti o ba fun ni aye, pẹlu fun caching bi ọna akọkọ ti ilọsiwaju iṣẹ.

Ni ọpọlọpọ igba eyi ṣiṣẹ nla, ṣugbọn labẹ ẹru iwuwo o le fa awọn iṣoro.

A ni iriri lọpọlọpọ ti n ṣiṣẹ pẹlu awọn ọna ṣiṣe ti o jẹ iranti pupọ, bii CAD, EDA ati bii, eyiti o bẹrẹ si fa fifalẹ labẹ ẹru giga. Ati nigba miiran a pade awọn iṣoro ni Gluster. Lẹhin abojuto farara iranti ti a lo ati akoko idaduro disk fun diẹ ẹ sii ju ọjọ kan lọ, a ni apọju disk, iowait nla, awọn aṣiṣe ekuro (awọn oops ekuro), didi, ati bẹbẹ lọ.

Nkan yii jẹ abajade ti ọpọlọpọ awọn adanwo yiyi paramita ti a ṣe ni awọn ipo pupọ. Ṣeun si awọn paramita wọnyi, kii ṣe idahun nikan ni ilọsiwaju gbogbogbo, ṣugbọn tun ṣiṣẹ ti iṣupọ naa ni iduroṣinṣin pataki.

Nigba ti o ba de si atunto iranti, ni akọkọ ibi a wo ni foju iranti subsystem (VM), eyi ti o ni kan ti o tobi nọmba ti awọn aṣayan ti o le adaru o.

vm.swappiness

Apaadi vm.swappiness pinnu iye ti ekuro nlo swap akawe si Ramu. O tun jẹ asọye ninu koodu orisun bi “itẹsi lati ji iranti ti a ya aworan.” Iye swappiness giga tumọ si pe ekuro yoo ni itara diẹ sii si yiyipada awọn oju-iwe ti a ya aworan. Iye swappiness kekere tumọ si idakeji: ekuro yoo yi awọn oju-iwe pada kuro ni iranti kere si. Ni awọn ọrọ miiran, iye ti o ga julọ vm.swappiness, awọn diẹ awọn eto yoo lo siwopu.

Lilo nla ti swapping jẹ aifẹ, nitori awọn bulọọki nla ti data ti kojọpọ ati gbejade sinu Ramu. Ọpọlọpọ eniyan jiyan pe iye swapiness yẹ ki o ga, ṣugbọn ninu iriri mi, ṣeto si “0” awọn abajade ni iṣẹ to dara julọ.

O le ka diẹ sii nibi - lwn.net/Articles/100978

Ṣugbọn lẹẹkansi, awọn eto wọnyi yẹ ki o lo pẹlu iṣọra ati lẹhin idanwo ohun elo kan pato. Fun awọn ohun elo ṣiṣanwọle ti kojọpọ, paramita yii yẹ ki o ṣeto si “0”. Nigbati a ba yipada si "0", idahun eto ṣe ilọsiwaju.

vm.vfs_cache_titẹ

Eto yii n ṣakoso iranti ti o jẹ nipasẹ ekuro fun fifipamọ awọn nkan liana ati inodes (ehin ati inode).

Pẹlu iye aiyipada ti 100, ekuro yoo gbiyanju lati tu ehin ati inode caches silẹ ni ọna titọ si kaṣe oju-iwe ati swapcache. Idinku vfs_cache_pressure fa kernel lati tọju ehin ati awọn caches inode. Nigbati iye naa ba jẹ "0", ekuro naa kii yoo fọ ehin ati kaṣe inode rara nitori titẹ iranti, ati pe eyi le ni irọrun ja si aṣiṣe iranti-jade. Alekun vfs_cache_pressure loke 100 fa kernel lati fun ni pataki si ehin ati awọn oju-iwe inode.

Nigbati o ba nlo GlusterFS, ọpọlọpọ awọn olumulo ti o ni iye nla ti data ati ọpọlọpọ awọn faili kekere le ni irọrun lo iye pataki ti Ramu lori olupin nitori inode / dentry caching, eyiti o le ja si iṣẹ ti ko dara bi ekuro ni lati mu awọn ẹya data lori eto kan. pẹlu 40 GB ti iranti. Ṣiṣeto paramita yii si tobi ju 100 ti ṣe iranlọwọ fun ọpọlọpọ awọn olumulo lati ṣaṣeyọri caching ti o dara ati imudara ekuro.

vm.dirty_background_ratio ati vm.dirty_ratio

paramita akọkọ (vm.dirty_background_ratio) ṣe ipinnu ipin ogorun ti iranti pẹlu awọn oju-iwe idọti, nigbati o de ọdọ eyiti o jẹ dandan lati bẹrẹ ṣan lẹhin ti awọn oju-iwe idọti si disk. Titi ti ipin ogorun yii yoo fi de, awọn oju-iwe ko ni ṣiṣan si disk. Ati nigbati atunto ba bẹrẹ, o nṣiṣẹ ni abẹlẹ laisi idilọwọ awọn ilana ṣiṣe.

paramita keji (vm.dirty_ratio) ṣe ipinnu ipin ogorun iranti ti o le gba nipasẹ awọn oju-iwe idọti ṣaaju ki filasi fi agbara mu bẹrẹ. Ni kete ti ẹnu-ọna yii ba ti de, gbogbo awọn ilana di amuṣiṣẹpọ (dinamọ) ati pe a ko gba ọ laaye lati tẹsiwaju ṣiṣiṣẹ titi iṣẹ I/O ti wọn beere yoo ti pari ati pe data wa lori disiki. Pẹlu fifuye I / O giga, eyi fa iṣoro nitori pe ko si caching data ati gbogbo awọn ilana ṣiṣe I / O ti dina duro fun I / O. Eyi ni abajade ni nọmba nla ti awọn ilana fikọ, fifuye giga, aisedeede eto ati iṣẹ ti ko dara.

Dinku awọn iye ti awọn paramita wọnyi jẹ ki data ṣan si disk nigbagbogbo ati kii ṣe fipamọ sinu Ramu. Eyi le ṣe iranlọwọ fun awọn eto iranti-eru nibiti o jẹ deede lati fọ awọn caches oju-iwe 45-90GB si disk, ti ​​o yọrisi lairi nla fun awọn ohun elo ipari-iwaju, idinku idahun gbogbogbo ati ibaraenisepo.

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

Kaṣe oju-iwe jẹ kaṣe ti o tọju data lati awọn faili ati awọn eto ṣiṣe, iyẹn ni, awọn oju-iwe wọnyi pẹlu awọn akoonu gangan ti awọn faili tabi awọn ẹrọ dina. A lo kaṣe yii lati dinku nọmba awọn kika disk. Iye ti "1" tumọ si pe kaṣe naa nlo 1% ti Ramu ati pe awọn kika diẹ sii yoo wa lati disk ju lati Ramu. Ko ṣe pataki lati yi eto yii pada, ṣugbọn ti o ba jẹ paranoid nipa ṣiṣakoso kaṣe oju-iwe, o le lo.

"akoko ipari" > /sys/block/sdc/queue/scheduler

Oluṣeto I/O jẹ paati ti ekuro Linux ti o mu kika ati kọ awọn laini. Ni imọran, o dara lati lo "noop" fun oluṣakoso RAID ti o gbọn, nitori Linux ko mọ nkankan nipa jiometirika ti ara ti disk, nitorinaa o munadoko diẹ sii lati jẹ ki oludari, eyiti o mọ geometry disk daradara, ṣe ilana ibeere naa bi yarayara bi o ti ṣee. Ṣugbọn o dabi pe "akoko ipari" ṣe ilọsiwaju iṣẹ. Alaye diẹ sii nipa awọn oluṣeto ni a le rii ninu iwe fun koodu orisun ekuro Linux: linux/Documentation/block/*osched.txt. Ati pe Mo tun ṣe akiyesi ilosoke ninu kika kika lakoko awọn iṣẹ idapọ (ọpọlọpọ awọn kikọ).

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

Nọmba awọn ibeere I/O ti o wa ninu ifipamọ ṣaaju fifiranṣẹ wọn si oluṣeto. Diẹ ninu awọn oludari 'iwọn isinyi inu (queue_depth) tobi ju awọn ibeere I/O oluṣeto nr_requests, nitorinaa oluṣeto I/O ni aye diẹ lati ṣe pataki ni iṣaaju ati dapọ awọn ibeere. Fun akoko ipari ati awọn oluṣeto CFQ, o dara julọ nigbati awọn ibeere nr_request jẹ awọn akoko 2 tobi ju isinyi inu ti oludari lọ. Iṣakojọpọ ati awọn ibeere atunbere ṣe iranlọwọ fun oluṣeto ni idahun diẹ sii labẹ ẹru wuwo.

iwoyi "16" > /proc/sys/vm/iwe-cluster

Paramita-iṣupọ oju-iwe n ṣakoso nọmba awọn oju-iwe ti a kọ si swap ni akoko kan. Ni apẹẹrẹ loke, iye ti ṣeto si "16" lati baamu iwọn adikala RAID ti 64 KB. Eyi ko ni oye nigbati swappiness = 0, ṣugbọn ti o ba ṣeto swappiness si 10 tabi 20, lẹhinna lilo iye yii yoo ran ọ lọwọ nigbati iwọn ila RAID jẹ 64 KB.

blockdev --setra 4096 / dev/<orukọ devname> (-sdb, hdc tabi dev_mapper)

Awọn eto ẹrọ dina aiyipada fun ọpọlọpọ awọn olutona RAID nigbagbogbo ja si iṣẹ ṣiṣe to buruju. Ṣafikun aṣayan ti o wa loke tunto kika-iwaju fun awọn apa 4096 * 512 baiti. O kere ju fun awọn iṣẹ ṣiṣanwọle, iyara pọ si nipasẹ kikun kaṣe disk lori chip nipasẹ kika-iwaju lakoko akoko ekuro naa nlo lati mura I/O. Kaṣe le di data mu ti yoo beere lakoko kika atẹle. Pupọ kika siwaju le pa I/O laileto fun awọn faili nla ti o ba lo akoko disk ti o wulo tabi gbe data ni ita kaṣe.

Ni isalẹ wa awọn iṣeduro diẹ sii ni ipele eto faili. Ṣugbọn wọn ko ti ni idanwo sibẹsibẹ. Rii daju pe eto faili rẹ mọ iwọn adikala ati nọmba awọn disiki ninu titobi naa. Fun apẹẹrẹ, pe eyi jẹ igbogunti 5 kan pẹlu iwọn ila ti 64K ti awọn disiki mẹfa (gangan marun, nitori pe disk kan ni a lo fun ibamu). Awọn iṣeduro wọnyi da lori awọn arosinu imọ-jinlẹ ati gbigba lati oriṣiriṣi awọn bulọọgi/awọn nkan nipasẹ awọn amoye 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))

Fun awọn faili ti o tobi, o le ronu jijẹ awọn iwọn adikala loke.

IWO! Ohun gbogbo ti a ṣalaye loke jẹ koko-ọrọ pupọ fun diẹ ninu awọn iru awọn ohun elo. Nkan yii ko ṣe iṣeduro eyikeyi awọn ilọsiwaju laisi idanwo akọkọ awọn ohun elo oniwun nipasẹ olumulo. O yẹ ki o ṣee lo nikan ti iwulo ba wa lati ni ilọsiwaju idahun eto gbogbogbo tabi ti o ba yanju awọn iṣoro lọwọlọwọ.

Awọn ohun elo afikun:

Ṣiṣeto ekuro Linux fun GlusterFS

Ka siwaju

orisun: www.habr.com

Fi ọrọìwòye kun