Přejít na obsah
Filesys... what?

Filesys... what?

Filesys… what?

Klasické filesystémy Linuxu a RAID vs. Novější Software-Defined Storage a Copy-on-Write Filesystémy

Filesystém je základní komponenta operačního systému, která organizuje data na disku. Linux podporuje širokou škálu filesystémů, které se liší výkonem, spolehlivostí a způsobem práce s daty. V tomto článku se zaměříme na klasické Linuxové filesystémy a RAID ve srovnání s moderními Software-Defined Storage (SDS) a Copy-on-Write (CoW) filesystémy.

Klasické filesystémy v Linuxu

Ext (Extended Filesystem)

  • Ext2 – Starší filesystém bez žurnálování, vhodný pro flash disky.
  • Ext3 – Přidává žurnálování, což zvyšuje odolnost proti výpadkům.
  • Ext4 – Vylepšený výkon, podpora větších souborů a lepší správa fragmentace.

XFS

  • Výkonný souborový systém pro velké objemy dat.
  • Podporuje paralelní operace, ideální pro servery a databázové aplikace.
  • Není nativně Copy-on-Write, ale poskytuje žurnálování metadat.

ReiserFS

  • Efektivní pro malé soubory, ale zastaralý kvůli ukončení vývoje.

JFS (IBM Journaled File System)

  • Nízké nároky na CPU, vhodný pro servery s omezenými zdroji.

RAID (Redundant Array of Independent Disks)

  • Hardwarový nebo softwarový způsob zvýšení redundance a výkonu.
  • Nejčastější úrovně RAID:
    • RAID 0 – Striping pro výkon, žádná redundance.
    • RAID 1 – Mirroring pro bezpečnost.
    • RAID 5/6 – Paritní RAID, kombinuje výkon a odolnost.
    • RAID 10 – Kombinuje výhody RAID 1 a 0.

Nevýhody klasických RAID řešení:

  • Vyšší nároky na synchronizaci disků.
  • Nutnost dedikovaného RAID řadiče (u HW RAID).
  • Složitá obnova v případě výpadku více disků.

Žurnálování (Journaling)

je mechanismus používaný v některých souborových systémech k ochraně dat před poškozením při neočekávaných událostech, jako jsou výpadky napájení nebo systémové pády.

🔹 Jak žurnálování funguje?

  • Před provedením jakékoli změny na disku se informace nejprve zapíší do žurnálu (logovacího souboru).
  • Po úspěšném zapsání se změny aplikují na hlavní souborový systém.
  • Jakmile jsou data úspěšně zapsána na disk, položka v žurnálu se odstraní.

Pokud dojde k výpadku během operace zápisu, souborový systém může po restartu systému zrekonstruovat poslední operace pomocí záznamů v žurnálu a předejít poškození dat.

🔹 Výhody žurnálování:

Zvýšená odolnost proti výpadkům napájení – Žurnálování umožňuje rychlou obnovu souborového systému bez nutnosti dlouhé kontroly disku (fsck).
Rychlejší opravy po havárii – Oproti ne-žurnálovacím systémům (např. Ext2) je oprava souborového systému po výpadku výrazně rychlejší.
Ochrana metadat a souborových operací – Minimalizuje riziko nekonzistence dat.

🔹 Typy žurnálování:

1️⃣ Journaling metadat – Do žurnálu se zapisují pouze změny v metadatech souborového systému (např. Ext3).
2️⃣ Journaling celých dat – Do žurnálu se zapisují jak metadata, tak i samotná uživatelská data (např. ext4 s data=journal režimem, ale s vyšší režií na výkon).
3️⃣ Ordered journaling – Hybridní přístup, kde se nejprve zapíšou metadata a poté data (výchozí režim pro Ext4, poskytuje dobrý kompromis mezi výkonem a ochranou).

🔹 Žurnálování vs. Copy-on-Write (CoW)

Žurnálovací filesystémy opravují data po pádu, zatímco Copy-on-Write filesystémy (např. ZFS, Btrfs) aktivně zabraňují poškození tím, že nikdy nepřepisují existující data. CoW poskytuje lepší integritu dat než tradiční žurnálování.

Moderní Software-Defined Storage (SDS) a Copy-on-Write (CoW) filesystémy

SDS a CoW filesystémy představují moderní přístup ke správě dat, nabízející vyšší bezpečnost, výkon a efektivitu.

ZFS (Zettabyte File System)

  • Integrovaná podpora RAID (RAID-Z, RAID-Z2, RAID-Z3).
  • Copy-on-Write (CoW) chrání data před poškozením.
  • Nativní snapshoty, deduplikace a komprese.
  • Samoopravující mechanismy proti bitrotu.

Bitrot (digitální hniloba) je postupná degradace a nečitelnost dat uložených na disku v důsledku fyzických chyb média nebo chyb při ukládání, které nejsou detekovány běžnými souborovými systémy.

Btrfs (B-tree Filesystem)

  • Copy-on-Write, podpora snapshotů a klonování souborů.
  • Integrovaná správa RAID bez nutnosti HW řadiče.
  • Možnost online rozšiřování filesystému.
  • Dynamická alokace úložiště snižující fragmentaci.

Ceph

  • Distribuované software-defined úložiště vhodné pro cloud a velké datové sady.
  • Nabízí blokové úložiště, objektové úložiště a souborový systém.
  • Automatická replikace dat mezi uzly.

GlusterFS

  • SDS řešení vhodné pro horizontálně škálovatelná úložiště.
  • Ideální pro velká úložiště distribuovaná napříč více servery.

LVM (Logical Volume Manager) + Thin Provisioning

  • Umožňuje flexibilní správu disků a jejich dynamické rozšiřování.
  • Používán v kombinaci s CoW filesystémy pro snapshoty.

Srovnání přístupů: RAID vs. Software-Defined Storage

FaktorRAID (klasický)SDS / CoW Filesystémy
Správa diskůPevně definované poleDynamická alokace a škálování
ZálohováníZávislé na externích metodáchVestavěné snapshoty a klonování
RedundancePevně daná úroveň RAIDAutomatická replikace
Odolnost proti chybámZávisí na konfiguraciAutomatická oprava dat (ZFS, Btrfs)
VýkonZvýšený, ale omezen řadičemOptimalizovaný pro škálovatelnost
NákladyNutný RAID řadič (HW RAID)Levnější, běží na běžném HW

Kdy použít klasický filesystém a kdy moderní SDS?

Klasické filesystémy (Ext4, XFS, RAID) jsou vhodné pro:

  • Menší servery s omezenými prostředky.
  • Jednoduché NAS systémy.
  • Scénáře, kde není potřeba pokročilé snapshotování a CoW.

Moderní SDS a CoW filesystémy (ZFS, Btrfs, Ceph, GlusterFS) jsou vhodné pro:

  • Enterprise úložiště, která vyžadují vysokou dostupnost.
  • Cloudová a virtualizovaná prostředí.
  • Systémy s požadavky na snapshoty, replikaci a samoopravu dat.