ReiserFS - ReiserFS

ReiserFS 3.6
Vývojáři Namesys
Celé jméno ReiserFS
Představeno 2001 ; Před 20 lety s Linuxem 2.4.1 ( 2001 )
Identifikátor oddílu
Struktury
Obsah adresáře B+ strom
Přidělení souboru Bitmapa
Limity
Max. velikost svazku 16 TiB
Max. velikost souboru 1 EiB (8 TiB na 32bitových systémech)
Max. počet souborů 2 32 −3 (~ 4 miliardy)
Max. délka názvu souboru 4032 bajtů, omezeno na 255 systémem Linux VFS
Povolené znaky v názvech souborů Všechny bajty kromě NUL a '/'
Funkce
Zaznamenaná data Modifikace (mtime), změna metadat (ctime), přístup (atime)
Časové období 14. prosince 1901 - 18. ledna 2038
Rozlišení data 1 s
Vidlice Rozšířené atributy
Oprávnění systému souborů Unixová oprávnění, ACL a libovolné atributy zabezpečení
Transparentní komprese Ne
Transparentní šifrování Ne
jiný
Podporované operační systémy Linux, ReactOS

ReiserFS je obecný žurnálovací souborový systém původně navržený a implementovaný týmem společnosti Namesys vedeným Hansem Reiserem . ReiserFS je aktuálně podporován na Linuxu (bez podpory kvót) s licencí GPLv2 . Představený ve verzi 2.4.1 jádra Linuxu , byl to první žurnálovací souborový systém, který byl zahrnut do standardního jádra. ReiserFS byl výchozím souborovým systémem v Novell SUSE Linux Enterprise, dokud se Novell nerozhodl přejít na ext3 12. října 2006 pro budoucí vydání.

Společnost Namesys považovala ReiserFS verze 3.6, který zavedl nový formát na disku umožňující větší velikosti souborů, nyní příležitostně označovaný jako Reiser3, za stabilní a kompletní a s výjimkou aktualizací zabezpečení a oprav kritických chyb přestal vyvíjet. jeho nástupce, Reiser4 . Namesys v roce 2008 skončil po odsouzení Reisera za vraždu. Produkt je nyní udržován jako otevřený zdroj dobrovolníky. Reiserfsprogs 3.6.27 byly vydány 25. července 2017.

Funkce

V době svého zavedení ReiserFS nabízel funkce, které ve stávajících souborových systémech Linux nebyly k dispozici. Jedním z příkladů je ocasní balení - schéma pro snížení vnitřní fragmentace . Balení ocasů může mít významný dopad na výkon. Reiser4 to možná vylepšil zabalením ocásků tam, kde to negativně neovlivňuje výkon.

Design

ReiserFS ukládá metadata souborů („položky statu“), položky adresáře („položky adresáře“), seznamy bloků inode („nepřímé položky“) a koncové části souborů („přímé položky“) do jednoho kombinovaného stromu B+ s klíčem univerzální ID objektu. Bloky disku přidělené uzlům stromu jsou „formátované interní bloky“. Bloky pro listové uzly (ve kterých jsou položky zabaleny end-to-end) jsou „formátované listové bloky“. Všechny ostatní bloky jsou „neformátované bloky“ obsahující obsah souboru. Položky adresáře s příliš mnoha položkami nebo nepřímými položkami, které jsou příliš dlouhé na to, aby se vešly do uzlu, se přelévají do pravého listového souseda. Přidělení bloku je sledováno bitmapami volného místa na pevných místech.

Naproti tomu ext2 a jiné souborové systémy podobné Berkeley FFS té doby jednoduše používaly pevný vzorec pro výpočet umístění inodů, a tím omezovaly počet souborů, které mohou obsahovat. Většina takovýchto souborových systémů také ukládá adresáře jako jednoduché seznamy položek, což umožňuje vyhledávání v adresářích a aktualizaci lineárních časových operací a snížení výkonu ve velmi velkých adresářích. Jediný B+ stromový design v ReiserFS se vyhýbá oběma těmto problémům díky lepším vlastnostem škálovatelnosti.

Výkon

Ve srovnání s ext2 a ext3 ve verzi 2.4 jádra Linuxu může při práci se soubory pod 4  KiB a povoleným balíčkem ocasů být ReiserFS rychlejší.

Před Linuxem 2.6.33 ReiserFS hojně používal velký zámek jádra (BKL)-globální zámek celého jádra-který se u systémů s více jádry špatně přizpůsobuje, protože kritické části kódu jsou vždy prováděny pouze jedním jádrem najednou .

Používání

ReiserFS byl výchozí systém souborů v SuSE Linux od verze 6.4 (vydáno v roce 2000), až do přechodu na ext3 v SUSE Linux Enterprise 10.2 a openSUSE 11, oznámeném v roce 2006.

Jeff Mahoney ze společnosti SUSE napsal příspěvek dne 14. září 2006 s návrhem přejít z ReiserFS na ext3 pro výchozí instalační systém souborů. Některé důvody, které zmínil, byly škálovatelnost, „problémy s výkonem s rozšířenými atributy a ACL “, „malá a zmenšující se vývojová komunita“ a že „ Reiser4 není přírůstková aktualizace a vyžaduje přeformátování, což je pro většinu lidí nerozumné“. 4. října napsal odpověď na blog, aby objasnil některé problémy. Napsal, že jeho návrh na změnu nesouvisí s tím, že by Hans Reiser byl souzen za vraždu. Mahoney napsal, že „byl znepokojen tím, že lidé vytvoří spojení tam, kde žádný neexistuje“ a že „načasování je zcela náhodné a motivace nesouvisí“.

Kritika

Některé operace s adresáři (včetně odpojení (2)) nejsou v systému ReiserFS synchronní , což může mít za následek poškození dat u aplikací, které se silně spoléhají na zámky založené na souborech (například agenti přenosu pošty qmail a Postfix ), pokud se počítač zastaví před synchronizací disk.

Neexistují žádné programy, které by specificky defragmentovaly souborový systém ReiserFS, přestože byly napsány nástroje pro automatické kopírování obsahu fragmentovaných souborů v naději, že lze najít souvislejší bloky volného místa. Pro další souborový systém Reiser4 byl však naplánován nástroj „repacker“, který by se zabýval fragmentací souborů. S rozmachem pevných disků se tento problém stal irelevantním.

fsck

Proces obnovy stromu fsck společnosti ReiserFS vyvolal u komunity *nix mnoho kritiky: Pokud se souborový systém natolik poškodí, že jeho interní strom je nepoužitelný, může operace obnovy stromu dále poškodit stávající soubory nebo zavést nové položky s neočekávaným obsahem, tato akce však není součástí běžného provozu ani normální kontroly systému souborů a musí být explicitně spuštěna a potvrzena správcem.

Obrázky ReiserFS v3 by neměly být ukládány na oddíl ReiserFS v3 (např. Zálohy nebo obrázky disků pro emulátory) bez jejich transformace (např. Komprimací nebo šifrováním), aby nedošlo k záměně při opětovném sestavování. Přeformátování stávajícího oddílu ReiserFS v3 může také zanechat data, která by mohla zmást operaci opětovného sestavení a znovu zobrazit soubory ze starého systému. To také umožňuje uživatelům se zlými úmysly úmyslně ukládat soubory, které budou zmást správce. Jelikož jsou metadata po kontrole systému souborů vždy v konzistentním stavu, poškození zde znamená, že se obsah souborů neočekávaným způsobem sloučí s metadaty obsaženého systému souborů. Nástupce ReiserFS, Reiser4, tento problém řeší.

Dřívější problémy

ReiserFS ve verzích linuxového jádra před 2.4.16 byl Namesys považován za nestabilní a nedoporučoval se pro produkční použití, zvláště ve spojení s NFS .

Rané implementace ReiserFS (před tím v Linuxu 2.6.2) byly také náchylné k nebezpečím zápisu mimo pořadí. Ale současná implementace žurnálování v ReiserFS je nyní na stejné úrovni jako „objednaná“ úroveň žurnálování ext3 .

Viz také

Reference

externí odkazy