Eduard Šiškin
Među nedavno razvijenim inovacijama, pružanje
mogućnost za korisnika da doda mali visoki učinak
blok uređaj (npr. NVRAM) tzv
relativno veliki logički volumen sastavljen od sporih
proračunski pogoni. To će stvoriti dojam da sve
volumen se sastoji od istog skupog visokoučinkovitog
uređaje, poput "proxy diska".
Implementirana metoda temeljila se na jednostavnom zapažanju da se u praksi disk ne upisuje stalno, a krivulja I/O opterećenja ima oblik vrhova. U intervalu između takvih "vrhova" uvijek je moguće resetirati podatke s proxy diska, prepisujući sve podatke (ili samo dio) u pozadini u glavnu, "sporu" pohranu. Tako je proxy disk uvijek spreman primiti novu porciju podataka.
Ova tehnika (poznata kao Burst Buffers) izvorno je nastala u
područja računarstva visokih performansi (HPC). No pokazalo se da je tražen i za obične aplikacije, posebno za one koje postavljaju povećane zahtjeve na integritet 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 ti koraci, u jednom ili drugom stupnju, uzrokuju značajne
degradacija performansi bilo kojeg datotečnog sustava. Situacija
poboljšava ako se nova datoteka prvo upiše u dodijeljenu
uređaj visokih performansi, što je upravo ono što se događa u
datotečni sustav s podrškom za Burst Buffers.
U Reiseru5 planirano je opcionalno slanje ne samo
nove logičke blokove datoteke, ali i sve prljave stranice općenito. Štoviše,
ne samo stranice s podacima, već i s metapodacima koji
zapisani su u koracima (2) i (3).
Podrška za proxy diskove provodi se u kontekstu redovnog rada s
Reiser5 logički volumeni,
agregatni sustav "proxy disk - glavna pohrana" je normalan
logički volumen s jedinom razlikom što proxy disk ima prioritet
između ostalih komponenti volumena u politici dodjele adresa diska.
Dodavanje proxy diska logičkom volumenu ne prati ništa
ponovno balansiranje podataka, a njihovo uklanjanje događa se na potpuno isti način kao
uklanjanje običnog diska. Sve operacije proxy diska su atomske.
Rješavanje pogrešaka i implementacija sustava (uključujući i nakon pada sustava) događa se 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 druge komponente volumena, tj. pomoću uslužnog programa volume.reiser4(8).
Proxy disk se mora povremeno čistiti, tj. resetirati podatke iz
u glavnu pohranu. Nakon postizanja beta stabilnosti Reiser5
planirano je da čišćenje bude automatsko ( njime će upravljati
posebna nit jezgre). U ovoj fazi odgovornost za čišćenje
ostaje na korisniku. Resetiranje podataka s proxy diska na glavni
pohrana se proizvodi jednostavnim pozivanjem uslužnog programa volume.reiser4 s opcijom
"-b". Kao argument morate navesti točku montiranja logike
svezaci Naravno, morate se sjetiti povremenog čišćenja. Za
Za to možete napisati jednostavnu skriptu ljuske.
Ako nema slobodnog prostora na proxy disku, svi podaci
automatski se zapisuju u glavnu pohranu. U isto vrijeme, prema zadanim postavkama
ukupna izvedba FS-a je smanjena (zbog stalnih poziva
procedure za izvršenje svih postojećih transakcija). Po želji možete postaviti
način rada bez gubitka performansi. Međutim, u ovom slučaju disk
Prostor proxy uređaja koristit će se manje učinkovito.
Prikladno je koristiti pododjeljak metapodataka (ciglu) kao proxy disk, pod uvjetom da je kreiran na blok uređaju dovoljno visokih performansi.
Izvor: opennet.ru