はてなキーワード: ZFSとは
(http://www.kev009.com/wp/2008/11/on-file-systems/)
訳した。分からなかったところは英語のまま。ファイルシステムについて完全な素人なので変な所があるかも。
ファイルシステムはOSの重要な要素だが最近ではあまり関心を払われていない。ビットが入ってきてビットがでていく……デスクトップシステムにとっては、たいてい十分に働いてくれる……ただし、電源が落ちるまでは。しかし、そんな状況ですら近頃ではあまり困ったことにはならない。
Linuxのファイルシステムの分野には競合製品が多い。ext2が長い間標準とされてきたが、2001年辺りから他の選択肢も主流となった。あまり歴史に深入りせずに要約すると(順番は適当)、ext2が進化してext3となり、ジャーナリング機能が付いた。ReiserFSがリリースされた。SGIはXFSを移植した。IBMはJFSを移植した。
いくつかの理由があって(主に政治的な理由で)ext3がLinuxのデファクトのファイルシステムとなった。
私が古典的ファイルシステムと呼ぶとき、基本的にいつも同じ概念を指している。つまり古典的なUnixレイアウトのファイルシステムにジャーナリング機能を追加したものだ。ここに述べるのは、それら古典的ファイルシステムのハイライトである。
これは後知恵だが、JFSやXFSが牽引力を持たずに、ext3が人々を古典的時代に停滞させたのは一種の悲劇だった。しかしながらext3は信頼性を証明し、きちんと動くように一貫として保守されてもいる。
2005年にSunはZFSという爆弾をリリースした。ZFSは私が次世代ファイルシステムと呼ぶ時代への案内人である。
ハードディスクが大きくなるにつれて、バックアップの戦略、完全性(integrity)の検証、巨大なファイルのサポートは前より遥かに重要になってきている。
ここあげるファイルシステムは古典的なVFS lineを曖昧にしたりLVMとRAIDを強固な結合することによって管理を楽にする事を目的としている。
ダメなハードウェアで起きる静かな(観測されない)データの破損も心配の種である。これに対抗するために、次世代のファイルシステムはチェックサムを供えている。
いろんな意味でLinuxのコミュニティーは完全に油断しきっており、多くの開発者はZFSがリリースされるまで次世代ファイルシステムについて真剣に考えてこなかった。Reiser4はいくつかの新しいアイデアを持っていてキラーファイルシステムとなろうとしたが、Hans Reiserは、他のカーネル開発者との著しく酷い関係を楽しんでいたのだった。ただ幸運な事に、いまではいくつかの、より先進的なファイルシステムが登場しようとしている。
kernel 2.6.28と一緒にext4がリリースされるが、BtrfsやTuxs3が安定するのを待った方がよい。Btrfsの開発陣は短距離走開発を行っているので、Linuxのカーネルの開発サイクルに次か、あるいはその次で取り込まれると思われる。
SSDが普及するのは明白だ。理論的に速度の面で磁気ストレージより圧倒的に早く、現実にも既に書き込み速度が追い付きはじめている。最新のIntelのランダムアクセスやIOPSは非常に印象的である。Btrfsは当初からSSDへの最適化を取りいれようとしている。しかし、これらの新しいデバイスは、更に速度の早い新しいファイルシステムを生むだろう。
私自身の考えでは、ウェアレベリングやFATエミュレーションがSSDの性能を押し止めているため、 新たなファイルシステムが登場すればパフォーマンスを改善できるだろう。