====== XFS: Král velkokapacitních úložišť ====== **XFS** byl navržen pro nasazení v superpočítačích a serverech, kde běžné souborové systémy narážely na své limity. Dnes je výchozím souborovým systémem v distribucích jako RHEL (Red Hat Enterprise Linux) nebo AlmaLinux. ===== 1. Klíčové architektonické prvky ===== XFS se odlišuje od ostatních systémů (jako ext4) svou vnitřní organizací, která umožňuje vysokou míru paralelizace. ==== Alokační skupiny (Allocation Groups) ==== XFS rozděluje úložný prostor na tzv. **Allocation Groups (AG)**. Každá tato skupina funguje v podstatě jako samostatný souborový systém: * Má svou vlastní správu volného místa a inodů. * **Paralelizace:** Více procesů může zapisovat do různých AG současně, aniž by se navzájem blokovaly. To je klíčové pro systémy s mnoha [[CPU]] jádry a rychlými poli. ==== B+ Stromy (B+ Trees) ==== XFS masivně využívá B+ stromy pro indexování téměř všeho: * Seznamy volných bloků. * Adresáře. * Mapování souborů. Tento přístup zajišťuje, že přístup k datům zůstává rychlý i v adresářích s miliony souborů. ===== 2. Funkce pro výkon a integritu ===== * **Žurnálování (Journaling):** XFS zapisuje metadata nejdříve do žurnálu (logu). V případě výpadku napájení se systém zotaví během milisekund bez nutnosti zdlouhavé kontroly disku (fsck). * **Odložená alokace (Delayed Allocation):** XFS nealokuje místo na disku okamžitě, ale drží data v [[RAM]]. Tím získá čas na optimalizaci zápisu, což vede k menší fragmentaci souborů. * **Direct I/O:** Umožňuje aplikacím (např. databázím) komunikovat přímo s hardwarem, čímž se obchází vyrovnávací paměť jádra a snižuje zátěž procesoru. ===== 3. Pokročilé možnosti správy ===== * **Online změna velikosti:** XFS lze zvětšit za běhu (pokud je pod ním volné místo na disku), což je ideální pro cloudová prostředí. * **Kvóty (Quotas):** Integrovaná podpora pro omezení místa pro uživatele nebo skupiny, která je v XFS extrémně efektivní. * **XFS Dump/Restore:** Specializované nástroje pro zálohování, které dokáží zálohovat souborový systém i za provozu při zachování konzistence. ===== 4. Srovnání: XFS vs. ext4 vs. ZFS ===== ^ Vlastnost ^ XFS ^ ext4 ^ ZFS ^ | **Max. velikost souboru** | 8 EB (Exabajtů) | 16 TB | 16 EB | | **Škálovatelnost** | Vynikající (paralelní AG). | Střední. | Vynikající. | | **Změna velikosti** | Pouze zvětšení. | Zvětšení i zmenšení. | Pouze zvětšení (přidáním disků). | | **Bezpečnost dat** | Metadata žurnál. | Metadata žurnál. | Kontrolní součty (Self-healing). | ===== 5. Moderní vylepšení: reflink a deduplikace ===== V posledních letech získal XFS podporu pro **reflink** (copy-on-write pro soubory). To umožňuje: * Okamžité klonování souborů bez kopírování dat (zabírají místo jen jednou). * Efektivní deduplikaci na úrovni bloků. Tato funkce dělá z XFS velmi silného konkurenta pro Btrfs v oblasti kontejnerizace. --- > **Důležité upozornění:** XFS standardně neumožňuje **zmenšení (shrink)** souborového systému. Pokud plánujete oddíly, raději začněte s menším a v případě potřeby jej zvětšete. //Související: [[Linux]], [[RAM]], [[I/O]], [[ZFS]], [[CPU]]//