ReiserFS - ReiserFS
Vývojáři | Namesys |
---|---|
Celé jméno | ReiserFS |
Představeno | 2001 Linuxem 2.4.1 | s
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
- ReiserFS 3.6 v úložišti Git Linuse Torvaldse - v dnešní době (2019) hlavní vývojový zdroj ReiserFS 3
- ReiserFS a Reiser4 wiki
- Reiserfsprogs
- convertfs , nástroj, který provádí konverzi na místě mezi libovolnými dvěma systémy souborů s řídkou podporou souborů
- Odkaz na fórum Gentoo - diskuse o fragmentaci ReiserFS, včetně skriptu pro měření fragmentace a defragmentace souborů
- Nástroje Windows pro přístup k ReiserFS: YAReG - Yet Another R (eiser) FStool GUI , rfsd - ReiserDriver .