Eduard Ŝiŝkin
Inter la novigoj disvolvitaj lastatempe, la provizo de
la ŝancon por la uzanto aldoni malgrandan altan rendimenton
blokaparato (ekz. NVRAM) vokita
relative granda logika volumeno kunmetita de malrapida
buĝetaj veturadoj. Ĉi tio kreos la impreson, ke ĉiuj
la volumeno estas kunmetita de la sama multekosta alt-efikeco
aparatoj, kiel "prokura disko".
La efektivigita metodo estis bazita sur la simpla observado ke en praktiko la disko ne estas skribita al konstante, kaj la I/O-ŝarĝkurbo havas la formon de pintoj. En la intervalo inter tiaj "pintoj", ĉiam eblas restarigi datumojn de la prokura disko, reverkante ĉiujn datumojn (aŭ nur parton) en la fono al la ĉefa, "malrapida" stokado. Tiel, la prokura disko ĉiam pretas ricevi novan parton de datumoj.
Tiu tekniko (konata kiel Burst Buffers) origine originis de
areoj de alta rendimento komputiko (HPC). Sed ĝi ankaŭ montriĝis postulata por ordinaraj aplikoj, precipe por tiuj, kiuj postulas pliigitajn postulojn pri datuma integreco (kutime diversaj specoj de datumbazoj). Tiaj aplikoj elfaras ajnajn ŝanĝojn en ajna dosiero en atoma maniero, nome:
Liberigas blokojn okupitajn de malnovaj datumoj.
Ĉiuj ĉi tiuj paŝoj, en unu grado aŭ alia, kaŭzas signifajn
rendimento degenero en ajna dosiersistemo. Situacio
plibonigas se la nova dosiero unue estas skribita al la asignita
alt-efikeca aparato, kio estas ĝuste kio okazas en
dosiersistemo kun Burst Buffers-subteno.
En Reiser5 oni planas laŭvole sendi ne nur
novaj logikaj blokoj de la dosiero, sed ankaŭ ĉiuj malpuraj paĝoj ĝenerale. Cetere,
ne nur paĝoj kun datumoj, sed ankaŭ kun metadatumoj kiuj
estas skribitaj en paŝoj (2) kaj (3).
Subteno por prokuraj diskoj estas efektivigita en la kunteksto de regula laboro kun
Reiser5 logikaj volumoj,
la entuta sistemo "prokura disko - ĉefa stokado" estas normala
logika volumeno kun la nura diferenco estas ke la prokura disko havas prioritaton
inter aliaj volumenokomponentoj en la diskadresa asignopolitiko.
Aldono de prokura disko al logika volumeno ne estas akompanata de iu ajn
rebalancado de datumoj, kaj ĝia forigo okazas ĝuste same kiel
forigante regulan diskon. Ĉiuj prokurdiskaj operacioj estas atomaj.
Erartraktado kaj sistemdeplojo (inkluzive post sistema kraŝo) okazas ekzakte same kiel se la prokurdisko estus regula komponento.
logika volumeno.
Post aldonado de prokura disko, la totala kapablo de la logika volumo
pliiĝas je la kapablo de ĉi tiu disko. Monitorado de libera spaco
prokura disko estas farita en la sama maniero kiel por aliaj volumenokomponentoj, t.e. uzante la volumon.reiser4(8) utilecon.
La prokura disko devas esti purigita periode, t.e. restarigi datumojn de
ĝin al la ĉefa stokado. Post atingi beta-stabilecon Reiser5
purigado estas planita esti aŭtomata (ĝi estos administrita de
speciala kernfadeno). En ĉi tiu etapo, respondeco pri purigado
dependas de la uzanto. Restarigi datumojn de la prokura disko al la ĉefa
stokado estas produktita per simple vokado de la volume.reiser4 ilo kun la opcio
"-b". Kiel argumento, vi devas specifi la muntan punkton de la logika
volumoj Kompreneble, vi devas memori plenumi purigadon periode. Por
Vi povas skribi simplan ŝelan skripton por fari tion.
Se ne estas libera spaco sur la prokura disko, ĉiuj datumoj
estas aŭtomate skribitaj al la ĉefa stokado. Samtempe, defaŭlte
la totala efikeco de la FS estas reduktita (pro konstantaj vokoj
proceduroj por fari ĉiujn ekzistantajn transakciojn). Laŭvole vi povas agordi
reĝimo sen perdo de rendimento. Tamen, en ĉi tiu kazo la disko
La spaco de prokura aparato estos uzata malpli efike.
Estas oportune uzi metadatuman subsekcion (briko) kiel prokura disko, kondiĉe ke ĝi estas kreita sur sufiĉe alt-efikeca blokaparato.
fonto: opennet.ru