GNU/Linux >> Znalost Linux >  >> Linux

Úvod do souborového systému Linux

Úvod

Souborový systém je sada procesů, které řídí, jak, kde a kdy jsou data ukládána a načítána z paměťového zařízení. Efektivní souborový systém je nezbytný pro každodenní systémové procesy.

Linuxové jádro podporuje různé systémy souborů, ale nejběžněji používaný je souborový systém ext4.

V tomto článku se dozvíte více o vývoji souborových systémů Linux a hlavních funkcích systému ext4.

Vývoj souborového systému Linux

Podívejme se blíže na vývoj souborového systému Linux:

Systém souborů MINIX

Soubor Minix systém podporoval operační systém Minix. Poprvé byl představen v roce 1987 Andrewem S. Tanenbaumem.

Operační systém Minix a jeho souborový systém byly většinou používány pro vzdělávací účely kódování. Výkon souborového systému nebyl v té době na standardní úrovni. Délka názvu souboru byla omezena na čtrnáct znaků a oddíly byly omezeny na 64 MB. V té době pevné disky podporovaly oddíly až do 140 MB.

V roce 1992 byl Minix většinou mimo provoz kvůli nedostatečnému výkonu a vývoji ext souborového systému .

externí systém souborů

Systém souborů ext znamená „Extended File System“. Byl to první souborový systém navržený pro podporu linuxového jádra.

Virtuální souborový systém (VFS) byl použit pro souborový systém ext. Jeho primárním účelem bylo umožnit linuxovému jádru přístup k souborovému systému ext. Systém souborů ext omezil délku názvu souboru na 255 znaků a podporoval oddíly až do velikosti 2 GB.

I když se mu podařilo vyřešit problémy, které měl souborový systém Minix, měl jednu zásadní chybu – časové razítko. Na rozdíl od dneška, kdy má každý linuxový soubor tři časová razítka (přístupové časové razítko, upravené časové razítko a změněné časové razítko), systém souborů ext povoloval pouze jedno časové razítko na soubor.

V lednu 1993 byl představen souborový systém ext2. Časem všichni uživatelé přešli z ext na ext2.

Systém souborů ext2

Společnost Remi Card navrhlasystém souborů ext2 a vydali jej v lednu 1993, necelý rok po představení souborového systému ext.

Souborový systém ext2 umožnil zachování vnitřní struktury při rozšíření funkčnosti souborového systému. Data ze souborů byla uchovávána v datových blocích o stejné délce. Souborový systém ext2 podporoval maximální velikost souboru 2TiB. Délka názvu souboru nebyla omezena ve znacích, ale v bajtech – 255 bajtů. Nepodporoval žurnálování.

I když byl tento souborový systém z velké části používán, stále měl dva hlavní problémy:

  • Poškození souboru – K tomuto jevu by došlo, pokud by byla data zapsána na disk v době výpadku napájení nebo zhroucení systému.
  • Ztráta výkonu – K fragmentaci disku dochází, když je jeden soubor rozbit na kousky a rozložen na několik míst na disku. V důsledku toho trvá čtení a zápis souborů déle, což vede ke snížení výkonu.

Systém ext2 byl většinou používán až do počátku 21. století, kdy byl představen souborový systém ext3. Dnes se příležitostně používá pro zařízení USB, protože nepodporuje systém žurnálování.

Systém souborů ext3

Stephen Tweedie navrhlsouborový systém ext3 (Třetí rozšířený systém souborů). Byl spuštěn v listopadu 2001 s linuxovým jádrem 2.4.15. Dodnes se používá.

Souborový systém ext3 je vylepšená verze souborového systému ext2. Podporuje maximální velikost souboru 2TiB a omezuje maximální délku souboru na 255 bajtů, jako je tomu u souborového systému ext2. Zlepšení se odráží v žurnálování.

žurnál systém uchovává „deník“ všech změn ve struktuře dat, které je třeba ještě provést. V případě výpadku napájení nebo zhroucení systému vracejí protokoly uložené prostřednictvím žurnálovacího systému data během několika sekund, čímž se snižuje riziko poškození nebo ztráty dat. Při aktualizaci protokolu systém zapíše data do správných oblastí systému souborů.

Linuxové jádro podporuje tři úrovně žurnálování:

  • Deník – Skládá se ze zápisu metadat a obsahu souboru do žurnálu před provedením změn v hlavním systému souborů. To šetří data v případě výpadku napájení nebo pádu systému. Nevýhodou této úrovně žurnálování je, že výkon systému klesá.
  • Objednáno – Tato úroveň žurnálování zapisuje metadata do žurnálu, zatímco obsah souboru se automaticky ukládá do hlavního systému souborů. Proces se provádí v určitém pořadí. Nejprve se do deníku zapíší metadata. Poté je obsah souboru zapsán do hlavního systému souborů. Nakonec se metadata připojí k hlavnímu systému souborů. Hlavní souborový systém tedy není poškozen v případě pádu systému. Poškozené mohou být pouze soubory, které jsou v procesu zapisování během havárie.
  • Zpětný zápis – Tato úroveň žurnálování pouze zapisuje metadata do žurnálu. Obsah souboru je zapsán do hlavního systému souborů až po aktualizaci žurnálu. Kvůli nedostatečné synchronizaci metadat a obsahu souboru bude pravděpodobně poškozen systém souborů, pokud systém zkolabuje.

Systém souborů ext4

Souborový systém ext4 je výchozí souborový systém aktuálního linuxového jádra. Byl představen v říjnu 2008 s linuxovým jádrem 2.6.28.

Souborový systém ext4 podporuje maximální velikost souboru 16TiB a omezuje maximální délku souboru na 255 bajtů.

Funkce souborového systému ext4

Podívejme se na hlavní funkce souborového systému ext4.

Zpětná kompatibilita

Souborový systém ext4 podporuje zpětnou kompatibilitu se souborovými systémy ext3 a ext2. Další funkcí je automatické připojení souborového systému ext3 v režimu ext3 pomocí ovladače ext4.

Vylepšení alokace

Systém souborů ext4 alokuje bloky úložiště efektivněji před jejich zápisem na disk. To zlepšuje výkon čtení a zápisu.

Vylepšení časového razítka

Systém souborů ext4 přidává k časové značce dalších 408 let a podporuje data do 10. května 2446. Časová razítka se také měří rychleji, v nanosekundách.

Rozsahy

Zastaralé verze souborového systému ext mapují všechny bloky, které korelují s každým souborem. Tento proces nefunguje, pokud jde o velké soubory, které vyžadují vysoký počet bloků. Extents vyřešil problém v systému souborů ext4.

Rozsahy snížit množství metadat potřebných k mapování bloků každého souboru. Systém uloží adresu prvního a posledního bloku odpovídající velkému souboru.

Vylepšení přidělování více bloků

Alokátor bloků vyhledává volné bloky, které lze použít k zápisu dat na disk. Souborový systém ext4 používá vícenásobné přidělení které umožňují alokaci více bloků na volání. To snižuje fragmentaci disku.

Zpožděná alokace

zpožděná alokace funkce přiděluje bloky pouze tehdy, když je soubor zapsán na disk. Díky této funkci se mezipaměť nezaplňuje zbytečnými daty a zvyšuje se výkon systému.

Neomezený počet podadresářů

Linuxové jádro verze 2.6.23 podporuje neomezený počet podadresářů. Souborový systém ext4 zavedl datovou strukturu HTree aby nedošlo k poklesu výkonu. Datová struktura HTree představuje specializovanou verzi B-stromu.

Kontrolní součty deníku

Souborový systém ext4 používá kontrolní součet volba. Tato možnost byla zavedena, aby se snížilo riziko poškození souboru.

Žurnálovací systém je nejpoužívanější částí disku. Když dojde k selhání hardwaru, bloky se stanou nepoužitelnými a dojde k poškození souboru. Volba kontrolního součtu neustále kontroluje, zda není blok poškozen. Tento proces také zlepšuje výkon, protože zkracuje dobu žurnálování.

Rychlejší kontroly systému souborů

V souborovém systému ext4 jsou označeny nedistribuované skupiny bloků a tabulky inodů. Čas potřebný ke spuštění fsck příkaz je výrazně zkrácen, protože označené skupiny jsou přeskočeny. Zlepšuje celkový výkon.

Online defragmentace

Fragmentace disku vede ke snížení výkonu, což byl významný problém u souborových systémů ext2 a ext3. Souborový systém ext4 podporuje e4defrag nástroj, který uživatelům umožňuje defragmentovat jednotlivé soubory nebo celý souborový systém.

Omezení souborového systému ext4

Ačkoli je souborový systém ext4 považován za nejlepší souborový systém pro linuxové distribuce, existuje několik omezení, která je třeba vzít v úvahu při dalším vývoji systému:

  • Obnova poškozených dat – Souborový systém ext4 nemůže detekovat nebo obnovit poškozená data již zapsaná na disku.
  • Maximální objem – Maximální velikost hlasitosti je nastavena na 1 EiB. Souborový systém však nedokáže adresovat více než 100 TiB dat bez výrazné ztráty výkonu a zvýšené fragmentace disku.

Alternativní systémy souborů Linux

Existuje několik alternativ k souborovému systému ext4. Linuxové jádro podporuje všechny níže uvedené alternativy.

XFS

XFS je 64bitový souborový systém, který byl poprvé představen v roce 1994 a zabudován do linuxového jádra od roku 2001. Je to výchozí souborový systém pro RedHat Linux.

XFS podporuje maximální velikost souboru 8 EiB a omezuje délku souboru na 255 bajtů. Podporuje žurnálování a stejně jako ext4 ukládá změny do žurnálu předtím, než jsou změny přeneseny do hlavního systému souborů. To snižuje možnost poškození souboru.

Data jsou strukturována do stromů B+ , která poskytuje efektivní přidělování prostoru a tím i vyšší výkon.

Hlavní nevýhoda tohoto systému se odráží v obtížném procesu změny velikosti stávajícího souborového systému XFS.

OpenZFS

OpenZFS je platforma, která kombinuje systémy souborů se správci svazků. Poprvé byl představen v roce 2013.

OpenZFS podporuje maximální velikost souboru 16 EiB a omezuje maximální délku souboru na 255 znaků. Některé z funkcí tohoto systému jsou ochrana proti poškození dat, šifrování, podpora vysoké kapacity úložiště, kopírování při zápisu a RAID-Z.

Hlavní nevýhodou OpenZFS je právní nekompatibilita mezi licencemi CDDL (OpenZFS) a GPL (Linuxové jádro). To je vyřešeno kompilací a načtením kódu ZFS do linuxového jádra.

BtrFS

Oracle navrhl BtrFS (znamená „B-tree file system“) a vydala jej v roce 2009 s linuxovým jádrem 2.6.29.

BtrFS podporuje maximální velikost souboru 16 EiB a omezuje maximální délku souboru na 255 znaků. Některé z funkcí BtrFS jsou online defragmentace, online přidávání a odebírání blokových zařízení, podpora RAID, komprese konfigurovatelná na soubor nebo svazek, klonování souborů, kontrolní součty a schopnost zpracovávat odkládací soubory a odkládací oddíly.


Linux
  1. Zkopírujte soubory v terminálu Linux

  2. Linux – Proč v systému není přítomen žádný souborový systém Rootfs?

  3. Linux:Kam umístit odkládací soubor

  1. Přejmenujte soubor v terminálu Linux

  2. Přesunout soubory v terminálu Linux

  3. Pochopení souborového systému Btrfs ve Fedora Linux

  1. Oprávnění pro Linux:Úvod do chmod

  2. Úvod do monitorování uživatelských účtů v Linuxu

  3. Úvod do příkazu alternatives v Linuxu