Configurans Linux nucleum pro GlusterFS

Versio articuli praeparata est pervigilio initii Β« Administrator Linux. Professional".

Configurans Linux nucleum pro GlusterFS

Aliquando, hic et illic oriuntur de commendatione Glusteri circa nucleos customizationes et an necessarium sit.

Raro hoc opus oritur. In summis laboribus nucleus optime exercet. Etsi eluuntur. Historice, Linux nucleus libenter multum consumit memoriae, si occasio data est, incluso caching ut primarium instrumenti melioris effectus.

In pluribus magna haec facit, sed sub onere gravi difficultates causare potest.

Magnam experientiam habemus in operibus systematis quae multum memoriae consumunt, ut CAD, EDA et similia, quae sub alto onere tardare coeperunt. Et interdum difficultates in Gluster invenimus. Postquam memoria adhibita et disco diligenter vigilantia tempus exspectans plus quam unum diem cepimus, orbes cultro, ingentes iowait, errores nuclei (nuclei oops), coit, etc.

Hic articulus effectus est multorum experimentorum parametri in variis adiunctis factis. His parametris non solum alacritas generatim aucta, sed etiam operatio botri insigniter confirmata est.

Cum ad memoriam configurandam venit, primum inspiciendum est subsystem memoria virtuale (VM), quae magnum numerum optionum te confundere potest.

vm.swappiness

parametri vm.swappiness decernit quantum nucleus usus PERMUTATIO comparati RAM. Definitur etiam in fonte codice "proclivitas ad furandi memoriam divisi." Magni pretii Swap Humilis swapetus valor contrarium significat: nucleus paginas e memoria minus commutabit. Id est, potiorem valorem vm.swappinessquo magis ratio permuto utetur.

Usus grandis permutandi commodi est, cum ingentes notitiarum caudices in RAM onusti et exonerantur. Multi dicunt swapiness valorem altum esse debere, sed in experientia, eam ad "0" effectum meliorem efficiendi.

Plura hic legere potes - lwn.net/Articles/100978

Sed rursus haec loca caute utendum est et nonnisi experimento speciali adhibito. Ad applicationes profusas valde oneratas, hic parameter apponendus est "0". Cum mutatur in "0", ratio alacritatis melius est.

vm.vfs_cache_pressure

Hic occasus memoriam moderatur ab nucleo deprehensionis obiectis et inodis (dentry et inodis consumptis).

Cum defalta valoris 100, nucleus in paginas et swapcache ac schedularum paginas modo aequo liberare temptabit. Pressura decrescentium causat nucleum ad conservandum dentriam et inodos. Cum valor "0" est, granum nuclei dentryi et inodi cache ob memoriam pressionis numquam rubent, et hoc facile ad extra memoriam errorem ducere potest. Pressura super 100 augenda causat nucleum ad exa- dentriam et paginas inodis.

Cum GlusterFS utentes, multi utentes cum magna copia notitiarum et multarum parvarum fasciculorum facile possunt uti notabilem quantitatem RAM in servo ob inodi/dentry caching, quae ad pauperes effectus ducere potest sicut nucleus ad structuras datas in systemate tractandas. with 40 GB of memory . Hunc modulum ad maiorem quam 100 constituendum adiuvit plures utentes ad pulchriorem usum fructum et medullam docilitatis meliorem efficiendam.

vm.dirty_background_ratio et vm.dirty_ratio

Primum parametri (vm.dirty_background_ratio) recipis memoriam in paginis sordidis decernit, quibus attingendis scatentibus paginis in disco ordiri necesse est. Usque dum recipis hoc perventum est, paginae in disco non rubescunt. Et cum rete incipit, in curriculo currit sine processibus intermissionibus intermissis.

Secundus parameter (vm.dirty_ratio) Recipis memoriam decernit quae paginis sordidis occupari potest antequam coacta mico incipit. Quo limen perventum est, omnes processus synchroni (obstructi) fiunt et currere non licet donec I/O operationem quam petierunt actu completa est et notitia in disco est. Cum summo I/O onere, hoc problema causat quia nulla notitia caching et omnes processus I/O impediuntur exspectationem I/O. Hoc consequitur in pluribus processibus suspensis, magno onere, instabilitatis systemate et egestate faciendis.

Valores horum parametri decrescentes causant notitias in rubore discri saepius et non in RAM repositae. Hoc adiuvare potest systemata scientifica gravia, ubi normale est ut 45-90GB paginae schedae rubent ad discum, inde in magna latentia applicationes ante-finem, reducendo altiorem alacritatem et interactivity.

"I" > /proc/sys/vm/pagecache

Pagina cache est cella quae notitias ex documentis et programmatibus exsecutabile thesaurizat, hoc est, hae paginae cum ipsarum documentorum contentis vel machinis obstruuntur. Hoc cella adhibetur ad reducendum numerum orbis legit. Valor "1" significat quod cache utitur 1% RAM et plus ex orbe quam ex RAM legit. Hanc occasum mutare non est necesse, sed si paranoides de reprimendis paginae cache, eo uti potes.

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

Pars I/O schedula est elementum Linux nuclei qui tractat legere et scribere queues. In theoria melius est uti "noop" pro acri RAID moderatoris, quia Linux nihil scit de geometria corporis orbis, ideo efficacius est ut moderatorem dimittat, qui geometriam disci bene novit, petitioni processum est. celerrime. Sed melius videtur quod effectus "mortales". Plura de schedulis inveniri possunt in documentis de fonte nuclei Linux: linux/Documentation/block/*osched.txt. Et etiam in mixtis operationibus (lots of scribens) auctum legi perputo observavi.

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

Numerus petitionum I/O in quiddam antequam schedulae mittuntur. Nonnulli moderatoris magnitudo queue interna (queue_depth) maior est quam postulationes I/O scheduler, sic I/O schedula paulum casus petitorum recte prioritandi et mergendi habet. Pro fatalibus et CFQ cedularibus, melius est cum petitionibus 2 temporibus maior est quam queue interna moderatoris. Bus ac reordinare interrogationes adiuvat schedulas magis dociles esse sub onere gravi.

resonare "16" > /proc/sys/vm/

Pagina-botrus parametri moderatur numerum paginarum quae uno tempore ad permutationem scriptae sunt. In specimine supra, valor ponitur "16" ad aequandum clavum INCURSIO 64 KB magnitudine. Hoc sensu non convenit cum swapities = 0, sed si swampitatem ad 10 vel 20 pones, tum hoc valore te adiuvabit cum magnitudo livoris INCURSIO est 64 KB.

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

Default impedimentum fabrica occasus pro pluribus INCURSIO moderatoris saepe in gravi effectu consequuntur. Optionem praedictam addere configurat praemisso pro 4096*512 byte sectores. Saltem ad confluentes operationes, celeritas augetur per impletionem orbis cache per-lege praemisso tempore usus nuclei ad I/O praeparandum. Latibulum notitias capere potest quae in altera lectione rogabuntur. Nimis legere-praemisit temere interficere potest I/O pro magnis fasciculis si potentia usus orbis temporis utitur vel onera data extra latibulum.

Infra pauca magis commendationes in ordine tabellae systematis sunt. Sed nondum probatum est. Effice ut ratio documenti tui cognoscat clavum magnitudinem et numerum orbis in apparatu. Exempli gratia, hoc esse agmen cum clavi magnitudine 5K sex orbis (realiter quinque, quia unus orbis pro pari ponitur). Hae commendationes sunt ex suppositionibus theoreticis et ex variis diaria/articulis a peritis incursione collecta.

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

Pro majoribus fasciculis, supra clavum amplitudinum augere consideres.

Π’ΠΠ˜ΠœΠΠΠ˜Π•! Omnia supra scripta sunt perquam subiectiva aliquot applicationum generum. Articulus hic nullas emendationes praestat nisi prius experimenta cuiusque applicationis utentis. Hoc modo adhiberi debet si opus sit ut altiore systematis alacritate emendare vel si hodiernas difficultates solvat.

Additional materiae:

Configurans Linux nucleum pro GlusterFS

Lege plus

Source: www.habr.com