Linux podporuje různé systémy souborů jako ext4, ZFS, XFS, Btrfs, Reiser4 a tak dále. Různé typy souborových systémů řeší různé problémy a jejich použití je závislé na aplikaci.
Výběr souborového systému Linux pro vaši aplikaci je důležitým rozhodnutím. Tento tutoriál popisuje některé z hlavních systémů souborů Linux a poskytuje doporučení týkající se správného systému souborů, který bude vyhovovat vaší aplikaci.
Co je systém souborů Linux
Téměř každý kousek dat a programování potřebný k zavedení systému Linux a jeho udržení v chodu je uložen v systému souborů. Například samotný operační systém, kompilátory, aplikační programy, sdílené knihovny, konfigurační soubory, soubory protokolu, body připojení médií atd.
Souborové systémy fungují na pozadí. Stejně jako zbytek jádra operačního systému jsou při každodenním používání z velké části neviditelné.
Souborový systém Linux je obecně vestavěná vrstva operačního systému Linux, která se používá ke správě dat úložiště. Řídí, jak se data ukládají a načítají.
Kromě toho spravuje název souboru, velikost souboru, datum vytvoření a mnoho dalších informací o souboru.
Souborový systém Ext4
V roce 1992 byl spuštěn Extended File System nebo ext speciálně pro operační systém Linux. Má své kořeny v operačním systému Minix. V roce 1993 byla vydána aktualizace nazvaná Extended File System 2 nebo ext2 a byla po mnoho let výchozím souborovým systémem v mnoha distribucích Linuxu.
V roce 2001 byl ext2 upgradován na ext3, který zavedl žurnálování na ochranu před poškozením při haváriích nebo výpadcích napájení.
Ext4 (Fourth Extended Filesystem) byl představen v roce 2008 a od roku 2010 je výchozím souborovým systémem Linuxu. Byl navržen jako progresivní revize souborového systému ext3 a překonal některá omezení v ext3.
Výsledkem je, že ext4 má oproti svému předchůdci významné výhody, jako je vylepšený design, lepší výkon, spolehlivost a nové funkce.
V současné době je ext4 výchozím souborovým systémem na většině distribucí Linuxu. Může podporovat velké soubory a systémy souborů o velikosti až 16 terabajtů.
Podporuje také neomezený počet podadresářů (systém souborů ext3 podporuje pouze až 32 000). Kromě toho je ext4 zpětně kompatibilní s ext3 a ext2, což umožňuje připojení těchto starších verzí pomocí ovladače ext4.
Existuje důvod, proč je ext4 výchozí volbou pro většinu distribucí Linuxu. Je vyzkoušený, otestovaný, stabilní, funguje skvěle a je široce podporován. Takže pokud hledáte stabilitu, ext4 je pro vás nejlepší linuxový souborový systém.
Navzdory svým vlastnostem ext4 nepodporuje transparentní kompresi, transparentní šifrování ani deduplikaci dat.
Souborový systém XFS
XFS je vysoce škálovatelný souborový systém vyvinutý společností Silicon Graphics a poprvé nasazený v operačním systému IRIX založeném na Unixu v roce 1994. Jedná se o systém žurnálových souborů a jako takový sleduje změny v protokolu před odesláním změn do hlavního souborový systém.
Výhodou je zaručená konzistence souborového systému a urychlené obnovení v případě výpadků napájení nebo zhroucení systému.
Původně byl XFS vytvořen pro podporu extrémně velkých souborových systémů s velikostí až 16 exabajtů a velikostí souborů až 8 exabajtů. Výsledkem je, že má dlouhou historii provozu na velkých serverech a úložných polích.
Jednou z pozoruhodných vlastností XFS je garantovaná rychlost IO. To umožňuje aplikacím rezervovat šířku pásma. Systém souborů vypočítá dostupný výkon a upraví svůj provoz podle existujících rezervací.
XFS má reputaci pro provoz v prostředích, která vyžadují vysoký výkon a škálovatelnost, a proto je běžně měřen jako jeden z nejvýkonnějších souborových systémů na velkých systémech s podnikovou zátěží.
Dnes XFS podporuje většina linuxových distribucí a stal se výchozím souborovým systémem na Red Hat Enterprise Linux, Oracle Linux, CentOS a mnoha dalších distribucích.
Nejlepší případy použití pro systém souborů XFS
Takže máte velký server? Máte velké požadavky na úložiště nebo máte místní pomalý disk SATA?
Pokud jsou váš server i vaše úložné zařízení velké a není potřeba snižovat velikost souborového systému, XFS bude pravděpodobně nejlepší volbou.
XFS je vynikající souborový systém, který se dobře škáluje pro velké servery. Ale i s menšími úložnými poli si XFS vede velmi dobře, když jsou průměrné velikosti souborů velké, například stovky megabajtů.
Systém souborů Btrfs
Btrfs je linuxový souborový systém nové generace pro obecné účely, který nabízí jedinečné funkce, jako je pokročilá integrovaná správa zařízení, škálovatelnost a spolehlivost. Je licencován pod licencí GPL a otevřený pro příspěvky od kohokoli. Pro systém souborů se používají různé názvy, včetně „Butter FS“, „B-tree FS“ a „Better FS.“
Vývoj Btrfs začal ve společnosti Oracle v roce 2007. V roce 2009 byl začleněn do hlavního linuxového jádra a debutoval ve verzi Linux 2.6.29.
Btrfs není nástupcem výchozího souborového systému ext4 používaného ve většině distribucí Linuxu, ale nabízí lepší škálovatelnost a spolehlivost. Místo toho je Btrfs souborový systém kopírování při zápisu (CoW) určený k řešení různých slabin současných systémů souborů Linux.
Btrfs se primárně zaměřuje na odolnost proti chybám, samoopravné vlastnosti a snadnou administraci.
Btrfs může podporovat až 16 exbibajtový oddíl a soubor stejné velikosti. Takže pokud jste zmateni čísly, vše, co potřebujete vědět, je, že Btrfs může podporovat až šestnáctkrát více dat než Ext4.
Jak funguje funkce Copy-on-Write a proč byste to chtěli
Na tradičním souborovém systému by úprava souboru přečetla data, změnila je a poté je zapsala zpět na stejné místo. V systému souborů typu copy-on-write čte data, upravuje je a zapisuje je do nového umístění. To zabraňuje ztrátě dat během transakce čtení-upravování-zápis, protože data jsou vždy na disku.
Vzhledem k tomu, že „nepřekážete“, dokud není nový blok zcela zapsán, pokud ztratíte napájení nebo se zhroutí uprostřed zápisu, skončíte buď se starým blokem, nebo s novým blokem, ale ne napůl zapsaným poškozeným blok. Nemusíte tedy fsck
souborové systémy při spuštění a snížíte riziko poškození dat.
Souborový systém můžete pořídit v libovolném bodě a vytvořit záznam snímku v metadatech s aktuální sadou ukazatelů.
To chrání staré bloky před pozdějším shromažďováním odpadu a umožňuje souborovému systému prezentovat svazek tak, jak byl během snímku. Jinými slovy, máte možnost okamžitého vrácení zpět. Tento svazek můžete dokonce naklonovat a vytvořit z něj zapisovatelný svazek založený na snímku.
Vaší další volbou je ZFS na Linuxu, který může být stabilnější, ale vyžaduje několik dalších kroků k instalaci na typické distribuce Linuxu.
Funkce Btrfs
- Copy on Write (CoW) a snapshoting – Proveďte přírůstkové zálohy bezbolestně i z „horkého“ souborového systému nebo virtuálního počítače (VM).
- Kontrolní součty na úrovni souboru – Metadata pro každý soubor obsahují kontrolní součet používaný k detekci a opravě chyb.
- Komprese – Soubory mohou být komprimovány a dekomprimovány za běhu, což zrychluje výkon při čtení.
- Automatická defragmentace – Vlákno na pozadí ladí souborové systémy, když jsou používány.
- Podsvazky – Souborové systémy mohou sdílet jeden společný prostor místo toho, aby byly umístěny do jejich oddílů.
- RAID – Btrfs implementuje své RAID, takže LVM nebo mdadm nemusí mít RAID. V současné době jsou podporovány RAID 0, 1 a 10. RAID 5 a 6 jsou považovány za nestabilní.
- Oddíly jsou volitelné – I když Btrfs umí pracovat s oddíly, má potenciál přímo používat nezpracovaná zařízení (/dev/
). - Deduplikace dat – Podpora deduplikace dat je omezená; deduplikace se však nakonec stane standardní funkcí v Btrfs. To umožňuje Btrfs šetřit místo porovnáním souborů pomocí binárních rozdílů.
Btrfs je souborový systém, který po implementaci nepotřebuje administraci. Proto byste nikdy neměli spouštět fsck
příkaz na to. Kdykoli se objeví nějaké chyby nebo nesrovnalosti, měl by je prostě vyřešit a být na cestě.
I když je pravda, že Btrfs je stále považováno za experimentální a v současné době je aktivně vyvíjeno, doba, kdy se Btrfs stane výchozím souborovým systémem pro systémy Linux, se blíží. Některé distribuce Linuxu na něj již začaly přecházet se svými aktuálními vydáními.
Pokud se nebojíte vypořádat se s poněkud méně vyspělým ekosystémem, může být pro vás Btrfs lepší volbou.
Souborový systém ZFS
ZFS (Zettabyte File System) zůstává jedním z technicky nejpokročilejších a funkčně kompletních souborových systémů od svého objevení v říjnu 2005. Jedná se o lokální souborový systém (tj. ext4) a správce logických svazků (tj. LVM) vytvořený Sun Microsystems.
ZFS byl publikován pod licencí open source, dokud Oracle nekoupil Sun Microsystems a neuzavřel licenci.
ZFS si můžete představit jako správce svazku a pole RAID v jednom , což umožňuje přidání dalších disků do vašeho svazku ZFS, což umožňuje přidání dalšího prostoru do vašeho systému souborů. ZFS navíc přichází s některými dalšími funkcemi, které tradiční RAID nemá.
ZFS silně závisí na paměti, takže ke spuštění potřebujete alespoň 8 GB. V praxi použijte pro svůj hardware/rozpočet co nejvíce.
ZFS běžně používají hromadiči dat, uživatelé NAS a další geekové, kteří raději vkládají svou důvěru do vlastního redundantního úložného systému než do cloudu. Je to fantastický souborový systém pro správu více disků s daty a konkuruje některým skvělým nastavením RAID.
ZFS je podobný jiným přístupům ke správě úložiště, ale v některých ohledech se radikálně liší. Například ZFS obvykle nepoužívá Linux Logical Volume Manager (LVM) nebo diskové oddíly a je obecně vhodné smazat oddíly a struktury LVM před přípravou média pro zpool.
Zpool je analogem LVM. Zpool zahrnuje jedno nebo více úložných zařízení a členové zpoolu mohou být různých typů. Základními úložnými prvky jsou jednotlivá zařízení, zrcadla a raidz. Všechny tyto prvky úložiště se nazývají vdevs.
ZFS dokáže prosadit integritu úložiště mnohem lépe než jakýkoli řadič RAID, protože má důvěrnou znalost struktury souborového systému. V důsledku toho je bezpečnost dat důležitým konstrukčním prvkem ZFS. Všechny bloky zapsané ve zpoolu jsou agresivně kontrolovány, aby byla zajištěna konzistence a správnost dat.
Pro serverové použití, kde chcete téměř úplně eliminovat jakoukoli možnost ztráty dat a stabilita je název hry, možná budete chtít nahlédnout do ZFS.
Funkce ZFS
Nekonečná škálovatelnost . Není to technicky nekonečné, ale je to 128bitový souborový systém schopný spravovat zettabajty (jedna miliarda terabajtů) dat. Proto bez ohledu na to, kolik místa na pevném disku máte, ZFS bude vhodné pro jeho správu.
Maximální integrita . Všechno, co děláte uvnitř ZFS, používá kontrolní součet k zajištění integrity souboru. V důsledku toho si můžete být jisti, že vaše soubory a jejich nadbytečné kopie nenarazí na tiché poškození dat. I když je ZFS zaneprázdněn tichou kontrolou integrity vašich dat, provede automatické opravy, kdykoli to bude možné.
Sdružování disků . Tvůrci ZFS chtějí, abyste si o něm mysleli, že je podobný tomu, jak váš počítač využívá RAM. Když potřebujete více paměti v počítači, vložíte další klíč a máte hotovo.
Podobně u ZFS, když potřebujete více místa na pevném disku, vložíte další pevný disk a máte hotovo. Není třeba trávit čas rozdělováním, formátováním, inicializací nebo prováděním čehokoli jiného na vašich discích. Když potřebujete větší „pool“ úložiště, stačí přidat disky.
RAID . ZFS je schopen mnoha různých úrovní RAID a zároveň poskytuje výkon srovnatelný s výkonem hardwarových řadičů RAID. To vám umožní ušetřit peníze, usnadnit nastavení a získat přístup k vynikajícím úrovním RAID, které ZFS vylepšilo.
Systém souborů Reiser4
ReiserFS je univerzální počítačový souborový systém pro žurnál, který původně navrhl a implementoval tým společnosti Namesys pod vedením Hanse Reisera. Byl představen ve verzi 2.4.1 linuxového jádra a byl prvním žurnálovacím souborovým systémem zahrnutým do standardního jádra.
S výjimkou bezpečnostních aktualizací a kritických oprav chyb společnost Namesys ukončila vývoj na ReiserFS. Reiser4 je nástupnický souborový systém ReiserFS. Přidalo šifrování, vylepšený výkon a mnoho dalšího.
Reiser4 vyžaduje opravené jádro. Bohužel stále není součástí oficiálního linuxového jádra, ale záplaty pro Linux-5.x jsou již k dispozici. Důvody, proč dnes Reiser4 není v linuxovém jádře, lze shrnout jako tvrzení, že je zapotřebí další testování.
Reiser4 poskytuje nejefektivnější využití místa na disku ze všech systémů souborů ve všech scénářích a pracovních zátěžích. ReiserFS nabízí výhody oproti jiným systémům souborů, zejména při práci s velkým množstvím malých souborů.
Podporuje žurnálování pro rychlé obnovení v případě problémů. Struktura souborového systému je založena na stromech. Navíc Reiser4 spotřebovává o něco více CPU než jiné souborové systémy.
Reiser4 má jedinečnou schopnost optimalizovat místo na disku obsazené malými soubory (méně než jeden blok). Je to proto, že jsou zcela uloženy ve svém inode, bez alokace bloků v datové oblasti.
Kromě implementace tradičních funkcí souborového systému Linuxu Reiser4 poskytuje uživatelům některé další funkce:transparentní kompresi a šifrování souborů, úplné žurnálování dat a téměř neomezenou (pomocí architektury plug-in) rozšiřitelnost.
Neexistuje však žádná podpora pro přímé IO (práce na implementaci začala), kvóty a POSIX ACL.
Závěr
Výběr souborového systému, který vyhovuje vašim specifickým potřebám aplikace, vyžaduje konzultace a průzkum různých parametrů.
Tento článek nastiňuje výhody možností souborového systému ext4, ZFS, XFS, Btrfs a Reiser4, které vám pomohou při rozhodování o správném systému souborů pro vaše aplikační prostředí.
Děkujeme, že jste zde strávili čas.