Red Hat Enterprise Linux 7(RHEL7)でデフォルトのファイルシステムとなった「XFS」は、米SGI(Silicon Graphics International)社が同社のUNIX系OS「IRIX」用に開発したファイルシステムである*1。1993年の開発開始から20年以上の歴史を持つ。Linuxには2000年ごろから移植され、ストレージ製品などで使われてきた。現在ではXFSの主要な開発者の何人かは米Red Hat社の社員となっており、開発の中心はRed Hat社が担っている。
Red Hat製品においても、XFSは2009年からRHEL5およびRHEL6のアドオン製品「Scalable Filesystem Add-on」として販売されている。また、RHELベースのSoftware Defined Storageである「Red Hat Storage」の基盤技術の一つとなっている。
RHEL5およびRHEL6では、デフォルトのファイルシステムはそれぞれ「ext3」と「ext4」だったが、RHEL7ではデフォルトのファイルシステムがXFSとなった。またサポート上の制限もRHEL6のXFSでは100Tバイトであったのに対し、RHEL7では500Tバイトへ増加した*2。ext2、ext3、ext4も引き続き利用可能だが、これからはXFSを利用する機会が増えるだろう。
XFSのパフォーマンス
XFSは現在も進化を続けており、その一つが性能の向上である。一時はext4に最速の座を譲ったものの、その後また返り咲いた。2012年のlinux.conf.auでの講演によると、ジャーナル処理に必要なIOPS(I/O Per Second)を削減する工夫により並列性が高いケースでbtrfsやext4に比較してメタデータ(inodeやディレクトリーエントリなど)の操作で非常に良い性能を出している*3。
このメタデータ操作の性能は、特に小さなファイルの操作を大量に行う場合に影響が大きい。近年のサーバーは多数のCPUコアを備えるため、ファイルシステムでは並列度が高いワークロードで性能が高いことがより重要になっている。
RHEL7(Release Candidate時点)に含まれる各種ファイルシステムのベンチマークテストにおいて、XFSは最も高いI/Oスループット性能を記録している(図1)*4。このI/Oスループットは、ファイル内のデータの読み書き量である。XFSはデータおよびメタデータのどちらでも優秀な成績を収めている。
XFSの技術上の特徴
XFSの技術上の特徴は、(1)複数ブロックにまたがるメタデータのB+ treeデータ構造、(2)エクステントを単位としたブロック管理、(3)遅延アロケーションによるブロック割り当て、(4)ジャーナリングによる障害からの高速な復旧、──などが挙げられる。
これらの特徴や機能により、XFSは前述した高い性能や、可用性の高さといった大きな利点を持つ。そしてこれらXFSの特徴や機能は、ext3やext4といった他のファイルシステムにも徐々に取り込まれてきた。そのため現在では、XFSはごくオーソドックスなファイルシステムといえる。
次回は、XFSが備えるこれらの特徴を詳しく見ていこう。
レッドハット プラットフォームソリューション統括部 ソリューションアーキテクト部 ソリューションアーキテクト