Vă mulțumim pentru sprijinul acordat!
Partea 4: Logging NTFS
operațiuni jurnalizat
În primul rând, aș dori să vorbesc despre ce fel de operațiuni sunt înregistrate. Este evident că plin Undo-fișier care poate rula înapoi toate operațiunile complet, absolut imposibil, atât în ceea ce privește viteza, cât și din punctul de vedere al bunului simț. Da, această exploatare forestieră ar face posibilă recuperarea mai multe date - de exemplu, în exercitarea rescriere trei megaocteți în mijlocul fișierului, am putea salva mai întâi noile date în jurnal, și apoi rescris la fișierul de trei megabiți anterior, și așa mai departe numai apoi să efectueze operațiuni cu date reale . O astfel de abordare ar asigura o certitudine completă soarta informațiilor - suntem întotdeauna capabili să înțeleagă care o parte din datele deja înregistrate pe disc, dar ceea ce este în original, nu este actualizat. Ea are doar un modest un dezavantaj - un nakladochka mic de viteza: pentru scrierea pe disc trei megaocteți, vom fi obligați să efectueze o varietate de operațiuni pe volumul de disc este de trei ori mai mare - nouă MB. Da, logare completă este de asemenea folosit - dar mai ales atunci când se lucrează cu baze de date. Dacă doriți să asigure înregistrarea completă a oricăror date, puteți pune SQL MS sau Oracle, care, în general, nu se va folosi orice mijloc de orice sistem de fișiere și pentru a asigura securitatea datelor dvs. în orice mod rezonabil. Susținătorii sistemului de fișiere cu jurnalizare completă Pot să spun un singur lucru: pentru a reduce viteza de operațiunile de scriere de trei ori, în opinia mea, este prea îndrăzneț pentru utilizarea obligatorie - și pe computerele de acasă, și servere.
NTFS abordare dezvoltatorii a fost fundamental diferită. Principalul motto-ul a fost, se pare, nu „fiabilitate la orice preț“ și „imutabilitate de performanță.“ Journaling nu este pur și simplu ar trebui să interfereze cu sistemul de fișiere. Primul pas logic - pentru a anula jurnalizarea completă total inacceptabilă din punct de vedere al performanței. În NTFS, folosit logare structuri logice, mai degrabă decât de date de utilizator - de aici expresia este faptul că securitatea datelor nu este garantată, dar, cu toate acestea, starea corectă a sistemului va fi menținută. Ceva ce nu este NTFS înregistrează un fișier de date, conduce în practică la o aplicație concretă a pierderii de date - în acest caz ipotetic, înregistrarea a trei megaocteți, în caz de eșec în timpul înregistrării nu va fi în măsură să determine care parte a datelor înregistrate, și care a rămas neschimbată. Operațiuni care, cu toate acestea, sistemul de conectat - această operațiune cu structurile sistemului, adică, fișiere și directoare: adăugați fișiere, redenumi, muta, de a crea și șterge (eliberarea de spațiu liber). de asemenea, conectat și operații defragmentarea - adică, mutați fragmentele de fișiere. Pe scurt, toate operațiile logice jurnalizat.
Întârzierea de intrare și punctul de control de logare
Este cunoscut faptul că orice sistem modern pentru a accelera operațiunile de fișier forțat să utilizeze caching, inclusiv - scrie operații de memorare în cache. Așa-numita scriere leneș - cachingul principiu în care datele care urmează să fie înregistrate pe disc în timp ce stocate în memoria cache și un timp liber alte clase stocate fizic. intrare întârziată crește în mod semnificativ eficiența operațiunilor de disc, deoarece astfel de grupuri o multitudine de operații cache într-un singur - este eficient mai ales dacă înregistrați într-un disc compact zone. Un alt plus a scrie înapoi - să nu interfereze cu operațiunile de citire dorite, precum și pentru a înregistra numai atunci când sistemul este liber și nu are nevoie de acces la unitatea pentru alte utilizări. Cum împăcăm scrie jurnalizarea leneș? Aceasta este o întrebare grea, pentru că amânarea înregistrării face posibilă pierdere de date care sunt în coada de așteptare pentru o înregistrare fizică și nu au avut timp să se înscrie pentru unitatea de funcționarea defectuoasă. Cel mai neplăcut aici nu este chiar pierderea de date, și ce se întâmplă timp de înregistrare nepotrivire: unele zone de servicii pot fi actualizate, precum și orice legătură în sens - și totuși, după cum actualizarea lor poate fi amânată chiar și pentru câteva secunde, și nu are loc din cauza unei defecțiuni.
NTFS face față acestor probleme cu ajutorul de integrare semantică a operațiunilor și de a scrie-logare. Când încercați să porniți jurnalizarea jurnal de operare se înregistrează imediat intenția - de exemplu, ștergeți fișierul. Acest lucru se întâmplă fără întârziere - la această înregistrare etapă întârziată nu funcționează: este o plată pentru prezența exploatării forestiere, care nu poate fi evitată. Dar aici e restul operațiunii sunt deja în modul întârziat - adică, acestea pot fi deținute parțial (încă mai pot, în plus, și nu în această ordine), sau care nu au loc deloc. amânată numai operațiunea, a cărei funcționare este ușor diferită de la un record de simplu - o înregistrare în jurnal cu privire la finalizarea cu succes a tranzacțiilor anterioare, așa-numitul punct de referință. La intervale regulate - de obicei, la fiecare câteva secunde - sistemul de deșeuri obligatorii totul operațiuni întârziate pe disc. După efectuarea acestei operațiuni este conectat doar un record - un punct de referință - care spune că toate operațiile anterioare sunt efectuate corect la toate nivelurile - atât logic și fizic.
Acest mod de operare - cu ajutorul înregistrărilor și repere - pe de o parte, continuă să garanteze o funcționare corectă în totalitate de logare, pe de altă parte, aproape că nu a încetini de funcționare: prostanovka puncte de control sunt, luați în considerare imediat și să vă conectați la început funcționare ore-om corespunde datelor de înregistrare în sine, fără o memorie cache în așteptare. Înregistrarea reală se face mai târziu, în majoritatea cazurilor, nu interferează cu orice operațiuni și nu vine în detrimentul performanței sistemului.
Probleme de logare amânată: conceptul de duplicare
Toate teoria de mai sus este bun, dar este capabil, cu toate acestea, provoca consecințe foarte neplăcute dacă nu iau în considerare câteva lucruri care vor fi discutate.
Luați în considerare acest caz: vom șterge fișierul. Revista a primit un record - „fișier N se elimină“ Apoi, cache-ul cu întârziere a fost mulțumit de a efectua prima marca fizică că spațiul ocupat de dosar, disponibil, și numai apoi ștergeți fișierul din structurile fizice MFT și directoare. Să presupunem că discul este în funcțiune activă, și un scaun imediat în scris într-un alt fișier. În acest moment, există un eșec. Sistemul este încărcat, de explorează revista și vede în așteptare tranzacții „fișierul N șters“ - sau mai degrabă, așa cum am descris mai sus, nu este o operație incompletă și simplu, după care punctul de control nu este faptul că sugerează în mod automat incomplet. Faza următoare ar fi o „retroactivitate“ - adică, recuperarea de fișiere. Un ghinion - locul este ocupat fizic de fișierul conține deja alte date.
Pentru a evita astfel de situații, sistemul dorește să restricționeze jurnalizare logic, forțat să aplice principiul „spațiului ocupat temporar“. Scaun eliberat de către orice obiect sau înregistrare a acesteia, nu este declarat liber, atâta timp cât completat fizic toate operațiunile cu structuri logice. Acest mecanism este în NTFS, se pare, acesta nu este sincronizat, chiar și cu punerea puncte de control, ca timpul tipic de eliberare a spațiului ocupat temporar - aproximativ 30 de secunde, punctul de a merge mai des.
Acest mecanism se aplică nu numai la ștergerea unui fișier, dar, de asemenea, într-o varietate de operațiuni: principiul de logare - un obiect, șters sau mutat într-o nouă locație, trebuie să fie în măsură să se rostogolească în mod corect înapoi „plecare“ său - adică, datele care sunt referite de structura logică pentru a șterge sau muta obiect, este necesar de ceva timp pentru a rezerva un loc la fel de ocupat (unitate / director). Acesta este un alt pas spre plin jurnalizare NTFS, în cazul în care zonele de date de informații specifice fișier jurnal în sine sunt scutite nu sunt distruse fizic.
Ipoteze pentru a asigura fiabilitatea
Ei bine, vă spun, totul este atât de minunat - dar de ce, atunci, partiții NTFS încă acoperi. Acum, voi încerca să explic principiile care conduc la faptul că modelul de mai sus se va asigura colectibilitatea completă a structurilor logice.
- Hard drive, în mod normal, trebuie să fie scris exact, și asta e în cazul în care, ce și unde a fost spus să scrie sistemul de operare. Acest principiu este încălcat atunci când sistemul este bucla de încredere, procesor, controler de memorie, sau - și aceasta este cea mai frecventa cauza de esec NTFS. Puteți ajuta: procesor overclockat, costisitoare de memorie (de înaltă calitate), o placa de baza buna si protocolul UDMA, care prevede recuperarea de control și de eroare la unitatea controlerului site-ului.
- Hard drive, în cazul unui accident, pană de curent sau de a obține de la operator „reset“ semnal (în cazul de repornire bruscă a placii de baza) este necesară pentru a finaliza în mod corespunzător înregistrarea datelor actuale din sectorul fizic, dacă este cazul, a fost făcută la momentul accidentului. Sectorul de stat Intermediarul nu este permisă. Puteți ajuta la hard disk-uri moderne, care pot efectua această operație, chiar și în cazul unei pene de curent complet - au suficiente condensatori de energie tamponate, iar logica lor este conceput pentru a corecta comportamentul în cazul unei pene de curent în timpul înregistrării.
- Discul este obligat să pună în aplicare imediat o înregistrare a datelor trimise de la „nici un cache“ pavilion. Faptul că multe unități de control sau comenzi moderne oferă o înregistrare întârziată. NTFS metafile actualizat în „scrie o dată“ și controler / unitatea trebuie să respecte această cerință.
- Hard disc este necesar pentru a asigura citirea este datele care au fost înregistrate. Dacă nu puteți citi datele emise de semnal „eroare“. Discul nu este permis să se întoarcă eroare de date (posibil doar parțial incorecte) fără un semnal de eroare. Toate hard disk-uri moderne au sectoare checksum și urmeze acest comportament rigid logica.
În mod evident aceste cerințe garantează pe deplin funcționarea fiabilă a NTFS. Structura sistemului de fișiere nu vor conține erori semnificative, chiar și după un eșec. Unele erori nesemnificative încă mai apar din cauza faptului că logica de logare este adesea încercarea de a finaliza operațiunile nefinalizate - de exemplu, același fișier text eliminat - în timp ce fiabilitatea totală ar oferi doar o corectie negativa necondiționată a tuturor, adică după ultimul punct de control. discrepante mici se nasc din aceste încercări, sunt redundante de securitate a informațiilor, nu prezintă nici un risc real pentru datele - acestea sunt foarte mici. Esența acestor neconcordanțe de multe ori constă în faptul că pe disc sunt date „suplimentare“ pe modul de acces, care nu va avea nevoie de sistem. curățarea - este pur și simplu a îmbunătăți performanța, cum ar fi defragmentarea, astfel încât prezența lor nu este cu adevărat o eroare. În cazul detectării de grave, reale, probleme de conducător auto va seta volumul caseta „murdar“, care va instrui sistemul pentru a verifica dacă data viitoare când mount.
Partea 5: RAID Software
Logging NTFS, așa cum este indicat anterior, în nici un fel nu garantează în caz de defecțiune cu pierderea de informații de utilizator. Între timp, NT oferă mai multe opțiuni pentru crearea unui sistem în care, în termene rezonabile, totul garantat. De asemenea, este posibil să se utilizeze un număr mai mare de discuri pentru a se asigura nici o fiabilitate ridicată, ci dimpotrivă, viteza crescută - sau ambele simultan. Astfel de configurații vor fi discutate în această subsecțiune.
RAID (Redundant Array necostisitoare Discuri) - Redundant Array de necostisitoare Discuri. Tehnologia, care constă în utilizarea mai multe dispozitive de disc pentru a se asigura caracteristici de fiabilitate sau de viteză, care sunt absente în unitatea în mod individual.
suport pentru Windows NT la nivel de program sunt trei nivele de RAID (strategia de matrice de discuri de lucru așa-numitele), din care o scurtă descriere sunt prezentate pe scurt în tabelul următor.