XFS je velice výkonný systém souborů vyvinutý společností SGI (Silicon Graphics). Má spoustu dobrých vlastností: dynamické vytváření inod (na rozdíl od statického jako např. v ext3), žurnálování (pouze metadat, podobně jako ostatní FS), quoty, acl (implementované přímo v FS), online defragmentaci, extenze, optimalizovaný přístup mnoha procesů (XFS rozděluje disk na AG – Allocation Groups, které mají vlastní supernode), vymezenou rychlost přístupu k datům (při přístupu přes DMAPI).
Co mu však příliš nejde je práce s mnoha malými soubory. Tedy, ne že by je neuměl uložit a přečíst

, ale práce, zejména mazání, s větším množství souborů mu nejde příliš rychle. To se dá určitým nastavením zlepšit. Pojďme na to:
Velikost žurnálu
Žurnál je místo na disku, kam se ukládají veškeré operace s daty (vytvoření souboru, umístění do adresářové struktury, …). Pokud dojde k vypnutí systému, ovladač FS projde žurnál a opraví případné chyby. Díky tomu je oprava velice rychlá.
Velikost žurnálu se nastavuje při vytvoření FS a jeho velikost je možno nastavit parametrem
-l size=xm
, kde
x
udává velikost žurnálu v MB. Doporučuji nastavit na max tj. 128MB.
Poznámka: v následujícím textu budemu uvažovat /dev/disk
jako pevný disk, diskový oddíl, LVM svazek a pod. zkrátka jakékoliv blokové zařízení pro umístění FS.
mkfs.xfs -l size=128m /dev/disk
Množství vyrovnávací paměti
XFS si ukládá spoustu dat v RAM, výchozí nastavení není příliš štědré. Nastavíme tedy počet bufferů na max tj. 8. Nastavuje se jako parametr při mountu:
/dev/disk /mnt/YY xfs defaults,logbufs=8 1 2
Dále je možné si pohrát v velikostí těchto vyrovnávacích pamětí parametry
biosize,logbsize
, ty jsem nechal v defaultním nastavení. Více viz
man mount
, sekce xfs.
Čas posledního přístupu k souboru a adresáři
Standardně se na FS ukládá čas přístupu k jednotlivým souborům a dokonce do jednotlivých adresářů (což neplatí pouze pro XFS). Tato položka se prakticky nepoužívá, je tedy zbytečné ji ukládat. Nastavuje se parametry při mountu:
/dev/disk /mnt/YY xfs defaults,noatime,nodiratime,logbufs=8 1 2
Online defragmentace
Zní to skoro jako vtip. Ze zkušeností vím, že XFS měl ze všech FS, se kterými jsem měl tu čest se setkat, nejnižší fragmentaci souborů a součastně jako jediný v Linuxu poskytuje nástroj na defragmentaci těch několika málo fragmentovaných souborů, aby spojil těch pár fragmentů. No což, další plus.
K defragmentaci XFS slouží nástroj
xfs_fsr
. Stačí jej spustit, sám si najde všechny připojené XFS oddíly (musí být připojené pro zápis) a tyto zoptimalizuje.