Reiser5 teatab sarivõtete puhvrite (andmetasemete) toetamisest

Eduard Šiškin teatas projekti Reiser5 raames välja töötatud uued võimalused. Reiser5 on a ReiserFS-i failisüsteemi oluliselt ümber kujundatud versioon, milles paralleelselt skaleeritavate loogiliste köidete tugi on rakendatud failisüsteemi tasemel, mitte plokkseadme tasemel, võimaldades teil andmeid tõhusalt loogilise köite vahel jaotada.

Hiljuti välja töötatud uuenduste hulgas on pakkumine
võimalus kasutajal lisada väike suure jõudlusega
ploki seade (nt NVRAM) kutsutakse puhverserveri ketasKuni
suhteliselt suur loogiline maht, mis koosneb aeglasest
eelarveajamid. See jätab mulje, et kõik
helitugevus koosneb samast kallist suure jõudlusega
seadmeid, nagu "puhverserveri ketas".

Rakendatud meetod põhines lihtsal tähelepanekul, et praktikas ei kirjutata kettale pidevalt ning I/O koormuskõver on piikide kujuga. Selliste “tippude” vahelisel ajal on alati võimalik puhverserveri kettalt andmeid lähtestada, kirjutades kõik taustal olevad andmed (või ainult osa) ümber põhimällu, “aeglasesse” salvestusruumi. Seega on puhverserveri ketas alati valmis uue andmeosa vastuvõtmiseks.

See tehnika (tuntud kui Burst Buffers) sai algselt alguse aastal
kõrgjõudlusega andmetöötluse (HPC) valdkonnad. Kuid see osutus nõudlikuks ka tavaliste rakenduste jaoks, eriti nende jaoks, mis seavad suuremaid nõudmisi andmete terviklikkusele (tavaliselt erinevat tüüpi andmebaasid). Sellised rakendused teevad mis tahes muudatusi mis tahes failis aatomi viisil, nimelt:

  • esmalt luuakse uus fail, mis sisaldab muudetud andmeid;
  • see uus fail kirjutatakse seejärel kettale, kasutades fsync(2);
  • pärast seda nimetatakse uus fail ümber vanaks, mis toimub automaatselt
    Vabastab vanade andmetega hõivatud plokid.

    Kõik need sammud põhjustavad ühel või teisel määral olulisi
    jõudluse halvenemine mis tahes failisüsteemis. Olukord
    paraneb, kui uus fail kirjutatakse esmalt eraldatud faili
    suure jõudlusega seade, mis täpselt juhtub
    Burst Buffers toega failisüsteem.

    Reiser5-s on plaanis valikuliselt saata mitte ainult
    faili uued loogilised plokid, aga ka kõik määrdunud lehed üldiselt. Enamgi veel,
    mitte ainult andmetega lehti, vaid ka metaandmetega, mis
    on kirjutatud sammudes (2) ja (3).

    Puhverserveri ketaste tugi toimub tavapärase töö kontekstis
    Reiser5 loogilised mahud, teatas aasta alguses. See on,
    koondsüsteem "puhverserveri ketas - põhimälu" on normaalne
    loogiline maht, ainsaks erinevuseks on see, et puhverserveri kettal on prioriteet
    kettaaadressi eraldamise poliitika muude köitekomponentide hulgas.

    Puhverserveri ketta lisamisega loogilisse köitesse ei kaasne ühtegi
    andmete tasakaalustamine ja selle eemaldamine toimub täpselt samamoodi nagu
    tavalise ketta eemaldamine. Kõik puhverserveri ketta toimingud on aatomi.
    Vigade käsitlemine ja süsteemi juurutamine (sealhulgas pärast süsteemi krahhi) toimub täpselt samamoodi, nagu puhverserveri ketas oleks tavaline komponent
    loogiline maht.

    Pärast puhverserveri ketta lisamist loogilise helitugevuse kogumaht
    suureneb selle ketta mahu võrra. Vaba ruumi jälgimine
    puhverserveri ketas teostatakse samamoodi nagu teiste mahukomponentide puhul, st. kasutades utiliiti volume.reiser4(8).

    Puhverserveri ketast tuleb perioodiliselt puhastada, s.t. lähtestage andmed alates
    see põhimällu. Pärast beetastabiilsuse saavutamist Reiser5
    koristamine on planeeritud automaatseks (seda haldab
    spetsiaalne tuumaniit). Selles etapis vastutus puhastamise eest
    jääb kasutajale. Andmete lähtestamine puhverserveri kettalt põhikettale
    salvestusruumi luuakse, helistades lihtsalt utiliidile volume.reiser4 valikuga
    "-b". Argumendina peate määrama loogika ühenduspunkti
    mahud Loomulikult peate perioodiliselt puhastama. Sest
    Selleks saate kirjutada lihtsa shelliskripti.

    Kui puhverserveri kettal pole vaba ruumi, siis kõik andmed
    kirjutatakse automaatselt põhimällu. Samal ajal vaikimisi
    FS-i üldine jõudlus väheneb (pidevate kõnede tõttu
    kõigi olemasolevate tehingute sooritamise kord). Valikuliselt saate määrata
    režiim ilma jõudlust kaotamata. Kuid antud juhul ketas
    Puhverserveri ruumi kasutatakse vähem tõhusalt.
    Puhverkettana on mugav kasutada metaandmete alamsektsiooni (telliskivi), kui see on loodud piisavalt suure jõudlusega plokkseadmel.

    Allikas: opennet.ru

  • Lisa kommentaar