Pokud používáte Linux, a zejména pokud provozujete databázi na Linuxu, bylo v posledních letech těžké doporučit jiný souborový systém než obyčejný ext3. Některé z alternativ, které v jednu chvíli vypadaly zajímavě – jfs, ReiserFS – jsou v tuto chvíli zcela opuštěny. Ten, který je již nějakou dobu téměř životaschopný, je XFS, původně projekt SGI. A tento týden je opět v centru pozornosti.
XFS trpělo v minulosti řadou problémů. Protože byl navržen pro stabilní hardware, nebyl zpočátku tak robustní na standardním levném PC hardwaru; docela dost toho bylo právě vyčištěno před dvěma lety. Mělo to zvláštní problém s vynulovanými soubory, který některé lidi vyděsil. V obchodně orientovaných linuxových distribucích, jako je RedHat, se s ním zacházelo jako s druhořadým občanem, který vyžadoval, abyste si zkompilovali své vlastní jádro; dokonce i na méně restriktivním CentOS jste museli udělat nějaké podivně vypadající kroky nastavení, abyste přidali podporu XFS, a výsledek byl zcela evidentně nepodporovaný. A jako jeden z prvních souborových systémů, které zapínaly a agresivně využívaly bariéry proti zápisu, byla nasazení zranitelná vůči jednotkám a řadičům, které nevyprázdnily své mezipaměti, když k tomu byly vyzvány, což je problém, který už na moderním hardwaru nenajdete tak často, pokud nakonfigurujete správně (kromě SSD, ale to je jiný příběh).
Tak proč se obtěžovat? No, výkon je jeden z hlavních důvodů. Znovu jsem zjistil, že pracuji s XFS, když jsem nedávno pracoval s bezplatným softwarem Greenplum Single Node Edition. Greenplum mi na rovinu řekl, že pro vysoce výkonné instalace nedoporučují nic jiného než XFS, a vzhledem k základní podobnosti s komunitním PostgreSQL jsem cítil, že stojí za to prozkoumat, proč to bylo ještě víc.
Načasování se ukázalo jako perfektní. Jedním z dalších omezení ext3 je, že na běžném hardwaru bude podporovat pouze 16TB úložiště. Vzhledem k tomu, že nyní můžete umístit tolik úložného prostoru do středně velkého diskového stojanu, pro špičkové systémy to dnes zjevně nestačí, natož za několik let. RedHat si to uvědomil a vážně obnovil podporu XFS ve své distribuci Linuxu. RHEL 5.4, vydaný před několika měsíci, jej pro některé zákazníky přidal zpět jako volitelný modul. Stále jste nemohli instalovat na XFS, a dokonce i verze CentOS nepodporovala 32bitové instalace, ale očividně to opět dělalo kroky směrem k mainstreamu.
Včera byla vydána první veřejná beta verze RHEL6 a XFS je zpět v hlavní sadě funkcí. Nachází se vedle ext4 na seznamu podporovaných souborových systémů, což poukazuje na jeho vhodnost zejména pro velké instalace. Takže nyní mohu lidem říci, že mají podporu XFS k dispozici v poněkud hrubé podobě v RHEL/CentOS 5.4, s očekáváním, že jde o prvotřídní podporovaný souborový systém, protože systémy budou v budoucnu upgradovány na RHEL6 a jeho deriváty, a mají určitou naději, že bude spolehlivý.
S podnikovou podporou Linuxu a odpovídajícím způsobem vnímanou stránkou stability kódu XFS konečně opět pod kontrolou, jak je to s výkonem? No, ukázalo se, že Greenplum měl pravdu v tom, že XFS stálo za námahu spustit. Vzal jsem svůj testovací server a přeformátoval jeden z jeho středně rychlých disků třemi různými kombinacemi souborového systému/připojení: ext3 order, ext3 journal a xfs. Po třech spuštěních bonnie++ 1.96 s každým souborovým systémem se výsledky, které jsem viděl, zhroutily takto:
- uspořádání ext3: 39–58 MB/s zápis, 44–72 MB/s čtení
- žurnál ext3: 25–30 MB/s zápis, 49–67 MB/s čtení
- xfs: 68–72 MB/s zápis, 72–77 MB/s čtení
Zatímco nejlepší z výsledků čtení ext3 se blížily k podobným úrovním, jaké dokázal xfs, v průměru si vedl mnohem lépe. A výsledky zápisu byly ve všech případech alespoň o 25 % lepší. Líbila se mi také těsnější a předvídatelnější propustnost; nekonzistentní výkon je něco, s čím se na ext3 často potýkám.
Normálně nepatřím mezi ty, kteří by byli mezi prvními osvojiteli nových linuxových verzí, ale beta verze RHEL6 s plnou podporou XFS nahradila naprosto ohromující nové vydání Ubuntu na vrcholu mého seznamu operačních systémů k instalaci jako další. Nestává se často, že by technologie souborového systému dostala druhou šanci zapůsobit, ale zdá se, že XFS nyní provedlo nečekaný přechod zpět na zcela relevantní. Nejsem si jistý, jak dlouho to bude pravda, protože ext4 je již k dispozici a btrfs se přibližují produkční kvalitě tím, že nedávno dosáhly stabilního formátu disku. Bude zajímavé sledovat, jak se tato znovuoživená sada možností souborového systému v Linuxu projeví.