ReiserFS - ReiserFS

ReiserFS 3.6
Udvikler (er) Namesys
Fulde navn ReiserFS
Introduceret 2001 ; For 20 år siden med Linux 2.4.1 ( 2001 )
Partitionsidentifikator
Strukturer
Telefonbogens indhold B+ træ
Tildeling af filer Bitmap
Grænser
Maks. volumen størrelse 16 TiB
Maks. filstørrelse 1 EiB (8 TiB på 32 bit systemer)
Maks. antal filer 2 32 −3 (~ 4 mia.)
Maks. filnavn længde 4032 bytes, begrænset til 255 af Linux VFS
Tilladte tegn i filnavne Alle bytes undtagen NUL og '/'
Funktioner
Datoer registreret Ændring (mtime), ændring af metadata (ctime), adgang (atime)
Datointerval 14. december 1901 - 18. januar 2038
Datoopløsning 1 s
Gafler Udvidede attributter
Tilladelser til filsystem Unix -tilladelser, ACL'er og vilkårlige sikkerhedsattributter
Gennemsigtig kompression Ingen
Gennemsigtig kryptering Ingen
Andet
Understøttede operativsystemer Linux, ReactOS

ReiserFS er et generelt, journaliseret filsystem, der oprindeligt blev designet og implementeret af et team på Namesys under ledelse af Hans Reiser . ReiserFS understøttes i øjeblikket på Linux (uden kvoteunderstøttelse) licenseret som GPLv2 . Det blev introduceret i version 2.4.1 af Linux -kernen og var det første journaling -filsystem, der blev inkluderet i standardkernen. ReiserFS var standardfilsystemet i Novells SUSE Linux Enterprise, indtil Novell besluttede at flytte til ext3 den 12. oktober 2006 til fremtidige udgivelser.

Namesys betragtede ReiserFS version 3.6, som introducerede et nyt on-disk-format, der tillod større filstørrelser, nu lejlighedsvis omtalt som Reiser3, som stabile og komplette funktioner og med undtagelse af sikkerhedsopdateringer og kritiske fejlrettelser ophørte udviklingen med at koncentrere sig om det dens efterfølger, Reiser4 . Namesys gik i stå i 2008 efter Reisers dom for mord. Produktet vedligeholdes nu som open source af frivillige. Rejserfsprogs 3.6.27 blev frigivet den 25. juli 2017.

Funktioner

På tidspunktet for introduktionen tilbød ReiserFS funktioner, der ikke havde været tilgængelige i eksisterende Linux -filsystemer. Et eksempel er halepakning - en ordning til at reducere intern fragmentering . Halepakning kan have en betydelig ydelsesindvirkning. Reiser4 kan have forbedret dette ved at pakke haler, hvor det ikke påvirker ydelsen negativt.

Design

ReiserFS gemmer filmetadata ("stat -elementer"), biblioteksposter ("biblioteksposter"), inodebloklister ("indirekte elementer") og haler af filer ("direkte elementer") i et enkelt, kombineret B+ -træ, der er tastet af en universelt objekt -id. Diskblokke, der er allokeret til træets noder, er "formaterede interne blokke". Blokke til bladknude (hvor emner pakkes ende-til-ende) er "formaterede bladblokke". Alle andre blokke er "uformaterede blokke", der indeholder filindhold. Telefonbogsartikler med for mange poster eller indirekte genstande, der er for lange til at passe ind i et knudepunkt, der spilder over i den højre bladnabo. Blokallokering spores af ledige bitmaps på faste steder.

I modsætning hertil brugte ext2 og andre Berkeley FFS -lignende filsystemer på den tid simpelthen en fast formel til beregning af inodeplaceringer, hvilket begrænsede antallet af filer, de kan indeholde. De fleste sådanne filsystemer gemmer også biblioteker som simple lister over poster, hvilket gør mappeopslag og opdaterer lineære tidsoperationer og forringer ydeevnen på meget store biblioteker. Det enkelte B+ -trædesign i ReiserFS undgår begge disse problemer på grund af bedre skalerbarhedsegenskaber.

Ydeevne

Sammenlignet med ext2 og ext3 i version 2.4 af Linux -kernen, når det drejer sig om filer under 4  KiB og med hale pakning aktiveret, kan ReiserFS være hurtigere.

Før Linux 2.6.33 brugte ReiserFS stærkt den store kernelås (BKL)-en global kernelås-lås-som ikke skaleres godt for systemer med flere kerner, da de kritiske kodedele kun nogensinde udføres af en kerne ad gangen .

Anvendelse

ReiserFS var standardfilsystemet i SuSE Linux siden version 6.4 (udgivet i 2000), indtil skiftet til ext3 i SUSE Linux Enterprise 10.2 og openSUSE 11, annonceret i 2006.

Jeff Mahoney fra SUSE skrev et indlæg den 14. september 2006, hvor han foreslog at flytte fra ReiserFS til ext3 til standardinstallationsfilsystemet. Nogle grunde, han nævnte, var skalerbarhed, "præstationsproblemer med udvidede attributter og ACL'er ", "et lille og svindende udviklingsfællesskab", og at " Reiser4 ikke er en trinvis opdatering og kræver en omformatering, hvilket er urimeligt for de fleste mennesker." Den 4. oktober skrev han en svarkommentar på en blog for at afklare nogle problemer. Han skrev, at hans forslag til skiftet ikke var relateret til, at Hans Reiser blev retsforfulgt for mord. Mahoney skrev, at han "var bekymret for, at folk ville skabe en forbindelse, hvor der ikke eksisterede", og at "timingen er helt tilfældig, og motivationen er ikke relateret."

Kritik

Nogle Vejviser operationer (herunder unlink (2)) er ikke synkrone på ReiserFS, hvilket kan resultere i beskadigelse af data med applikationer vid udstrækning anvender filbaserede låse (såsom mail transfer agents qmail og Postfix ) hvis maskinen stopper, før den er synkroniseret den disk.

Der er ingen programmer til specifikt at defragmentere et ReiserFS -filsystem, selvom der er skrevet værktøjer til automatisk at kopiere indholdet af fragmenterede filer i håb om, at der kan findes flere sammenhængende blokke af ledig plads. Imidlertid var der planlagt et "repacker" -værktøj til det næste Reiser4 -filsystem til at håndtere filfragmentering. Med fremkomsten af ​​Solid State -diske blev dette problem irrelevant.

fsck

Trægenopbygningsprocessen i ReiserFS's fsck har tiltrukket megen kritik fra *nix -fællesskabet: Hvis filsystemet bliver så stærkt ødelagt, at dets interne træ er ubrugeligt, kan udførelse af en træopbygning yderligere ødelægge eksisterende filer eller indføre nye poster med uventet indhold, men denne handling er ikke en del af normal drift eller en normal filsystemkontrol og skal eksplicit startes og bekræftes af administratoren.

ReiserFS v3 -billeder bør ikke gemmes på en ReiserFS v3 -partition (f.eks. Sikkerhedskopier eller diskbilleder til emulatorer) uden at transformere dem (f.eks. Ved at komprimere eller kryptere) for at undgå at forvirre genopbygningen. Omformatering af en eksisterende ReiserFS v3 -partition kan også efterlade data, der kan forvirre genopbygningen og få filer fra det gamle system til at dukke op igen. Dette giver også ondsindede brugere mulighed for bevidst at gemme filer, der vil forvirre genopbyggeren. Da metadataene altid er i en konsistent tilstand efter et filsystemkontrol, betyder korruption her, at filernes indhold på uventede måder fusioneres med det indeholdte filsystems metadata. ReiserFS -efterfølgeren, Reiser4, løser dette problem.

Tidligere numre

ReiserFS i versioner af Linux -kernen før 2.4.16 blev anset for ustabil af Namesys og blev ikke anbefalet til produktionsbrug, især i forbindelse med NFS .

Tidlige implementeringer af ReiserFS (forud for Linux 2.6.2) var også modtagelige for ikke-ordnede skrivefare. Men den nuværende journalføringsimplementering i ReiserFS er nu på niveau med ext3 's "bestilte" journalføringsniveau.

Se også

Referencer

eksterne links