ReiserFS - ReiserFS
| Dezvoltatori | Namesys |
|---|---|
| Numele complet | ReiserFS |
| Introdus | 2001 cu Linux 2.4.1 |
| Identificator partiție | |
| Structuri | |
| Conținut director | Copac B + |
| Alocarea fișierelor | Bitmap |
| Limite | |
| Max. dimensiunea volumului | 16 TiB |
| Max. mărime fișier | 1 EiB (8 TiB pe sistemele pe 32 biți) |
| Max. numărul de fișiere | 2 32 −3 (~ 4 miliarde) |
| Max. lungimea numelui de fișier | 4032 octeți, limitat la 255 de Linux VFS |
| Caracterele permise în numele fișierelor | Toți octeții, cu excepția NUL și „/” |
| Caracteristici | |
| Date înregistrate | Modificare (mtime), schimbare metadate (ctime), acces (atime) |
| Interval de date | 14 decembrie 1901 - 18 ianuarie 2038 |
| Rezoluția datei | 1 s |
| Furci | Atribute extinse |
| Permisiuni de sistem de fișiere | Permisiuni Unix, ACL-uri și atribute de securitate arbitrare |
| Compresie transparentă | Nu |
| Criptare transparentă | Nu |
| Alte | |
| Sisteme de operare acceptate | Linux, ReactOS |
ReiserFS este un sistem de fișiere cu scop general, jurnalizat inițial conceput și implementat de o echipă de la Namesys condusă de Hans Reiser . ReiserFS este în prezent acceptat pe Linux (fără suport de cotă) licențiat ca GPLv2 . Introdus în versiunea 2.4.1 a kernel-ului Linux , a fost primul sistem de fișiere de jurnalizare care a fost inclus în kernel-ul standard. ReiserFS a fost sistemul de fișiere implicit în Novell e SUSE Linux Enterprise până când Novell a decis să se mute la ext3 pe 12 octombrie 2006, pentru versiuni viitoare.
Namesys a considerat ReiserFS versiunea 3.6, care a introdus un nou format pe disc care permite dimensiuni mai mari ale fișierelor, denumite ocazional Reiser3, ca fiind stabil și complet cu caracteristici și, cu excepția actualizărilor de securitate și a remediilor critice de erori, a încetat dezvoltarea asupra acestuia pentru a se concentra pe succesorul său, Reiser4 . Namesys a renunțat la afaceri în 2008, după condamnarea lui Reiser pentru crimă. Produsul este menținut acum ca open source de către voluntari. Reiserfsprogs 3.6.27 au fost lansate pe 25 iulie 2017.
Caracteristici
La momentul introducerii sale, ReiserFS oferea caracteristici care nu erau disponibile în sistemele de fișiere Linux existente. Un exemplu este împachetarea cozii - o schemă de reducere a fragmentării interne . Ambalarea cozii poate avea un impact semnificativ asupra performanței. Este posibil ca Reiser4 să fi îmbunătățit acest lucru prin împachetarea cozilor acolo unde nu afectează negativ performanța.
Proiecta
ReiserFS stochează metadatele fișierelor („elemente statice”), intrările din director („elementele directorului”), listele de blocuri inode („elementele indirecte”) și cozile fișierelor („elementele directe”) într-un singur arbore B + combinat cheiat de un ID obiect universal. Blocurile de disc alocate nodurilor arborelui sunt „blocuri interne formatate”. Blocurile pentru nodurile de frunze (în care articolele sunt ambalate de la un capăt la altul) sunt „blocuri de frunze formatate”. Toate celelalte blocuri sunt „blocuri neformatate” care conțin conținutul fișierului. Articolele din director cu prea multe intrări sau elemente indirecte care sunt prea lungi pentru a se încadra într-un nod se revarsă în vecinul frunzei din dreapta. Alocarea blocurilor este urmărită de hărți de spațiu libere în locații fixe.
Spre deosebire, ext2 și alte sisteme de fișiere de tipul Berkeley FFS de atunci foloseau pur și simplu o formulă fixă pentru calculul locațiilor inode, limitând astfel numărul de fișiere pe care le pot conține. Cele mai multe astfel de sisteme de fișiere stochează, de asemenea, directoarele ca liste simple de intrări, ceea ce face căutările de director și actualizează operațiile liniare în timp și degradează performanța în directoarele foarte mari. Designul unic al arborelui B + din ReiserFS evită ambele probleme datorită proprietăților de scalabilitate mai bune.
Performanţă
În comparație cu ext2 și ext3 în versiunea 2.4 a kernel-ului Linux, atunci când se ocupă de fișiere sub 4 KiB și cu împachetarea coada activată, ReiserFS poate fi mai rapid.
Înainte de Linux 2.6.33, ReiserFS folosea în mare măsură big kernel lock (BKL) - o blocare globală la nivel de kernel - care nu se potrivește bine pentru sistemele cu mai multe nuclee, deoarece părțile critice ale codului sunt executate doar de câte un nucleu la un moment dat .
Utilizare
ReiserFS a fost sistemul de fișiere implicit din SuSE Linux de la versiunea 6.4 (lansată în 2000), până la trecerea la ext3 în SUSE Linux Enterprise 10.2 și openSUSE 11, anunțat în 2006.
Jeff Mahoney de la SUSE a scris o postare pe 14 septembrie 2006 propunând trecerea de la ReiserFS la ext3 pentru sistemul de fișiere de instalare implicit. Unele motive pe care le-a menționat au fost scalabilitatea, „probleme de performanță cu atribute extinse și ACL-uri ”, „o comunitate de dezvoltare mică și în scădere” și că „ Reiser4 nu este o actualizare incrementală și necesită o reformatare, ceea ce este nerezonabil pentru majoritatea oamenilor”. Pe 4 octombrie a scris un comentariu de răspuns pe un blog pentru a clarifica unele probleme. El a scris că propunerea sa de schimbare nu are legătură cu faptul că Hans Reiser este judecat pentru crimă. Mahoney a scris că „era îngrijorat de faptul că oamenii vor face o legătură acolo unde nu exista” și că „momentul este în întregime coincidențial și motivația nu are legătură”.
Critică
Unele operații de director (inclusiv deconectarea (2)) nu sunt sincrone pe ReiserFS, ceea ce poate duce la corupția datelor, aplicațiile depind în mare măsură de blocări bazate pe fișiere (cum ar fi agenții de transfer de e-mail qmail și Postfix ) dacă mașina se oprește înainte de a sincroniza disc.
Nu există programe pentru defragmentarea specifică a unui sistem de fișiere ReiserFS, deși au fost scrise instrumente pentru a copia automat conținutul fișierelor fragmentate în speranța că se pot găsi blocuri mai adiacente de spațiu liber. Cu toate acestea, a fost planificat un instrument de „reambalare” pentru următorul sistem de fișiere Reiser4 pentru a face față fragmentării fișierelor. Odată cu apariția discurilor de stat solid această problemă a devenit irelevantă.
fsck
Procesul de reconstruire a copacului fsck- ului lui ReiserFS a atras multe critici din partea comunității * nix: dacă sistemul de fișiere devine atât de grav, încât arborele său intern este inutilizabil, efectuarea unei operații de reconstruire a arborelui poate corupe fișierele existente sau poate introduce noi intrări cu conținut neașteptat, dar această acțiune nu face parte din funcționarea normală sau o verificare normală a sistemului de fișiere și trebuie inițiată în mod explicit și confirmată de administrator.
Imaginile ReiserFS v3 nu trebuie stocate pe o partiție ReiserFS v3 (de exemplu, copii de rezervă sau imagini de disc pentru emulatoare) fără a le transforma (de exemplu, prin comprimare sau criptare) pentru a evita confuzia reconstrucției. Reformatarea unei partiții ReiserFS v3 existente poate, de asemenea, lăsa în urmă date care ar putea confunda operațiunea de reconstruire și să facă să reapară fișierele din vechiul sistem. Acest lucru permite, de asemenea, utilizatorilor rău intenționați să stocheze în mod intenționat fișiere care să confunde reconstruitorul. Deoarece metadatele sunt întotdeauna într-o stare consecventă după o verificare a sistemului de fișiere, corupția înseamnă că conținutul fișierelor este îmbinat în moduri neașteptate cu metadatele sistemului de fișiere conținut. Succesorul ReiserFS, Reiser4, remediază această problemă.
Probleme anterioare
ReiserFS în versiunile kernel-ului Linux înainte de 2.4.16 erau considerate instabile de Namesys și nu erau recomandate pentru utilizare în producție, mai ales în combinație cu NFS .
Implementările timpurii ale ReiserFS (înainte de aceea în Linux 2.6.2) au fost, de asemenea, susceptibile la pericole de scriere în afara ordinii. Dar actuala implementare de jurnalizare în ReiserFS este acum la egalitate cu cea a nivelului de jurnalizare „ordonată” a ext3 .
Vezi si
Referințe
linkuri externe
- ReiserFS 3.6 la depozitul Git al Linus Torvalds - în prezent (2019) principala resursă de dezvoltare a ReiserFS 3
- ReiserFS și Reiser4 wiki
- Reiserfsprogs
- convertfs , un utilitar care efectuează conversii la fața locului între oricare două sisteme de fișiere cu suport pentru fișiere rare
- Gentoo Forum Link - Discuție despre fragmentarea ReiserFS, inclusiv un script pentru măsurarea fragmentării și defragmentarea fișierelor
- Utilitare Windows pentru a accesa ReiserFS: YAReG - încă un alt R (eiser) FStool GUI , rfsd - ReiserDriver .