Freesource jurnalizarea - fișier - sistem

Conceptul de „sistem de fișiere jurnalizare“ este acum înconjurat de multe mituri și legende menționate foarte des, cu doar câteva pe deplin conștient de ceea ce este, ceea ce este mâncat, că pe ei să aștepte pentru bine și nu atât de bine.

În timpul funcționării normale, toate modificările sistemului de fișiere sunt de obicei realizate direct cu discul (sau mai degrabă un disc cache în sistemul de operare, dar este, în acest context, nu contează).

În timpul funcționării normale, sistemul de fișiere ca o operațiune complexă se efectuează întotdeauna ca un întreg, în cazul în care codul este punerea în aplicare a sistemului de fișiere nu conține erori critice. Cu toate acestea, atunci când repornirea sistemului anormale sau defecțiuni hardware, această situație este foarte real.

Deoarece după repornire noi nu știm ce operațiuni au fost făcute, era neterminat, dar știu doar că unitatea nu a fost demontată corect (aceasta reinițializează așa-numitul steag murdar), avem nevoie pentru a analiza sistemul de fișiere de pe întregul disc, și, astfel, o modalitate de a identifica orice erori în sistemul de fișiere și să le stabilească. Desigur, nu este întotdeauna posibil să se efectueze în mod automat (inteligență nenatural, din păcate, clarviziunea dar nimeni nu a reușit să antreneze), astfel încât aceeași fsck.ext2 după repornire anormale și pot necesita intervenție manuală.

Cei care au fugit fsck la secțiunea 1 0-20 G (care acum nu mai puțin frecvente) sunt conștienți de faptul că, în acest puțin distractiv. Administratorii mnogoterabaytovyh, de asemenea, matrice, pentru un minut în plus de nefuncționare pe care le pot „accidental“ rupe capul la cuvântul # 147; fsck # 148; se agață de valeriană sau cerut să nu blesteme aceste cuvinte în prezența lor.

Pentru a rezuma - singurul lucru care poate și trebuie să facă un sistem de fișiere jurnalizare, se economisește timp pentru a fsck. Prin urmare garantată consecvența metadatelor sistemului de fișiere, nu mai mult, nici mai puțin.

Prețul acestei plăcere: am format o mică zonă (de obicei, măsurată în zeci de megabytes) a discului, care reprezintă sarcina maximă, adică productivitatea maximă, măsurată în numărul de I / O a doua operațiuni pe picături. Și, desigur, a petrecut un pic de spațiu pe disc care conduce prețurile la epoca <1$/гигабайт никого не волнует.

date de logare

După cum ați observat, în revista sunt de obicei scrise operații de metadate. Cu toate acestea, este posibil să se facă același lucru cu datele.

Din câte știu eu datele de logare Linux pot efectua numai ext3 cu opțiune de date = jurnal.

Desigur datele de logare, în multe cazuri, se reduce ușor de performanță (dar nu toate pe site-ul Web IBM are rezultatele testelor în care utilizarea datelor de logare pentru sistemele de fișiere pe care bazele de date sunt, pot da chiar și creșterea performanței).

Aceasta înseamnă, de asemenea, nu garantează securitatea datelor, dar din experiența mea personală de a folosi ext3 cu date = jurnal este sistemul de fișiere cel mai de încredere.

productivitate

Cititorul atent va fi observat că utilizarea revistei este de a crea o sarcină neuniformă pe unitate - pe de o mică (în comparație cu dimensiunea totală a sistemului de fișiere), conturile regiunii pentru volumul tranzacțiilor pe care aceasta în mod disproporționat.

Există două soluții foarte interesante:
Primul jurnal pe un disc separat poate fi scos (cele mai multe sisteme de fișiere permit acest lucru), rezultatul este dublu, de fapt performanța prin adăugarea de doar un singur disc. Este deosebit de frumos atunci când imens de performanță RAID-matrice este crescută într-un mod simplu și ieftin.

În al doilea rând, aveți posibilitatea să utilizați un card special de non-volatilă de memorie (de exemplu, UMEM, din care eu, din păcate, pe teritoriul România în vânzare nu au mai văzut), că mai multe și mult mai rapid decât drive-urile convenționale (dar au o cantitate mică de memorie).

Există o soluție destul de extravagant pe care nu am încercat - să facă revista pe locul blocului de memorie al dispozitivului. Desigur, după ce sistemul de fișiere tacos de repornire va trebui să reconstrui din nou, dar pentru date provizorii pe care le poate oferi o interesantă și o creștere semnificativă a productivității. Mai ales atunci când datele de logare, nu doar metadate.

După cum ați văzut, iar revista poate da un impuls de viteză. Există încă unele trucuri originale care pot utiliza un sistem de fișiere jurnalizare pentru mai mare creștere a productivității:


  • crearea de fișiere înregistrate în avans (în momentul în care fișierul nu este imediat crea o intrare în catalog, și un timp să-l păstrați doar într-o revistă, probabil, un fișier temporar va fi șters imediat);

  • Locul de amplasare fișier amânat (nu alocă fizic spațiu chiar și în primul bloc al unui fișier, atâta timp cât nu se înregistrează cel puțin un bloc), este posibil ca utilizatorul să se schimbe în primul rând dimensiunea fișierului, și apoi va începe să înregistreze datele. Ca urmare, fragmentarea scade (în cazul în care programele de a utiliza acest joc truc);

Este foarte simplu, există încă multe trucuri mici, care permit un sistem de fișiere jurnalizare pentru a rula mai repede decât în ​​mod normal, în timp ce restul de mai robust.

deficiențe

Așa cum am spus jurnal nu este un panaceu, iar datele nu a salvat. Cu toate acestea, multe create prin utilizarea de sisteme de fișiere jurnalizare, un fals sentiment de securitate - cum se poate din cauza reseta aparatul pentru a reporni, sau chiar matyugnotsya de boot!

Da, nu matyugnotsya. Și este absolut corect din punctul de vedere al unui sistem de fișiere fsck. Doar aici datele în timp ce încă unele bulgări pot rămâne.

Reiserfs spune în astfel de situații pot fi bine lăsate în fișierele modificate de gunoi (date aleatoare, care au fost alocate pentru unitatea de fișiere). Că, de fapt, este destul de probabil scurgeri accidentale de informații.

XFS primește mai corectă - ea prescrie astfel de blocuri cu zerouri. De multe ori șocant utilizatori. Mai ales fanii ReiserFS, care nu se vor înregistra cu zerouri.

Ca rezultat, mai degrabă reiserfs păstra modificarea și XFS toate mijloacele evita resturile în fișiere de date și scurgerea - o strategie ușor diferită. Rezultatul este - datele pot fi pierdute, iar tu nici măcar nu știu despre asta. Până când vă confruntați cu un fișier care deja un an, nimeni nu a atins (LAY de arhivă), și care a fost brusc sufocat de gunoi sau de zerouri.

Date ext3 jurnalizarea incluse cu aceste caracteristici nu are de suferit. Cu toate acestea, vizibil inferioare în performanță.

În bine toate aceste probleme pot (și trebuie) să fie evitată, pur și simplu prin cumpararea unui UPS, și jurnalizarea o mai bună utilizare ca un nivel suplimentar de fiabilitate și un mijloc de creștere a productivității.

Un sistem de fișiere jurnalizare este doar un pic mai ușor de administrat, dar nu este un glont magic împotriva pierderilor de date în timpul reporniri anormale. Prin urmare, dacă nu utilizați UPS-ul și de rezervă nu, atunci datele stabili mai devreme sau mai târziu, un bazin cupru, pe care eu chiar nu vrei. Și, dacă doriți, puteți utiliza un sistem de fișiere jurnalizare ca un mijloc de creștere a productivității.

articole similare