Eduard Shishkin
Među nedavno razvijenim inovacijama, pružanje
mogućnost za korisnika da doda mali uređaj visokih performansi
blok uređaj (npr. NVRAM) pozvan
relativno veliki logički volumen sastavljen od sporo
budžetski pogoni. Ovo će stvoriti utisak da sve
volumen je sastavljen od istih skupih visokih performansi
uređaja, poput „proxy diska“.
Implementirani metod se zasnivao na jednostavnom zapažanju da se u praksi na disk ne upisuje stalno, a I/O kriva opterećenja ima oblik pikova. U intervalu između takvih „vrhova“, uvijek je moguće resetirati podatke sa proxy diska, prepisivanjem svih podataka (ili samo dijela) u pozadini u glavnu, „sporu“ memoriju. Dakle, proxy disk je uvijek spreman da primi novi dio podataka.
Ova tehnika (poznata kao Burst Buffers) izvorno je nastala u
oblasti računarstva visokih performansi (HPC). Ali pokazalo se i da je tražen za obične aplikacije, posebno za one koje postavljaju povećane zahtjeve za integritetom podataka (obično različite vrste baza podataka). Takve aplikacije izvode sve promjene u bilo kojoj datoteci na atomski način, naime:
Oslobađa blokove zauzete starim podacima.
Svi ovi koraci, u ovom ili onom stepenu, uzrokuju značajne
degradacija performansi na bilo kom sistemu datoteka. Situacija
poboljšava ako se nova datoteka prvo upiše u dodijeljenu
uređaj visokih performansi, što se upravo dešava u
sistem datoteka sa podrškom za Burst Buffers.
U Reiser5 se planira opciono slanje ne samo
novi logički blokovi datoteke, ali i sve prljave stranice općenito. Štaviše,
ne samo stranice sa podacima, već i sa meta podacima koji
su napisani u koracima (2) i (3).
Podrška za proxy diskove se odvija u kontekstu redovnog rada sa
Reiser5 logički volumeni,
agregatni sistem "proxy disk - glavna memorija" je normalan
logički volumen sa jedinom razlikom što proxy disk ima prioritet
između ostalih komponenti volumena u politici dodjele adrese diska.
Dodavanje proxy diska logičkom volumenu nije popraćeno ničim
rebalans podataka, a njegovo uklanjanje se događa na potpuno isti način kao
uklanjanje običnog diska. Sve operacije proxy diska su atomske.
Rukovanje greškama i implementacija sistema (uključujući i nakon pada sistema) se dešavaju na potpuno isti način kao da je proxy disk obična komponenta
logički volumen.
Nakon dodavanja proxy diska, ukupni kapacitet logičkog volumena
povećava za kapacitet ovog diska. Praćenje slobodnog prostora
proxy disk se izvodi na isti način kao i za ostale komponente volumena, tj. koristeći uslužni program volume.reiser4(8).
Proxy disk se mora periodično čistiti, tj. resetujte podatke sa
to u glavnu pohranu. Nakon postizanja beta stabilnosti Reiser5
planirano je da čišćenje bude automatsko (njome će upravljati
posebna nit kernela). U ovoj fazi odgovornost za čišćenje
zavisi od korisnika. Resetovanje podataka sa proxy diska na glavni
skladište se proizvodi jednostavnim pozivanjem uslužnog programa volume.reiser4 sa opcijom
"-b". Kao argument, trebate navesti tačku montiranja logičkog
tomovi Naravno, morate imati na umu da povremeno obavljate čišćenje. Za
Za ovo možete napisati jednostavnu shell skriptu.
Ako nema slobodnog prostora na proxy disku, svi podaci
se automatski upisuju u glavnu memoriju. Istovremeno, podrazumevano
ukupne performanse FS-a su smanjene (zbog stalnih poziva
procedure za izvršenje svih postojećih transakcija). Opciono možete podesiti
režim bez gubitka performansi. Međutim, u ovom slučaju disk
Prostor proxy uređaja će se koristiti manje efikasno.
Pogodno je koristiti pododjeljak metapodataka (ciglu) kao proxy disk, pod uvjetom da je kreiran na blok uređaju dovoljno visokih performansi.
izvor: opennet.ru