ext3は遅く、ext4は設計が古い。SSDへの準備も不足
Linuxの次世代ファイルシステムは「バターFS」!?
2008/07/10
Linxuカーネル開発者として知られる米グーグルのアンドリュー・モートン(Andrew Morton)氏「ext3は……古くて遅い。次バージョンのext4も基本的にext3と同じ問題を抱え込んでいる。ext4で解決されるext3の欠点は一部に過ぎない」。7月9日にLinux Foundation Japanの主催で行われたシンポジウムで講演した米グーグルのアンドリュー・モートン氏は、こう話し、現在Linuxはファイルシステムに課題を抱えていると指摘する。
Linuxで使われているファイルシステムにはいろいろあるが、現在最も広く使われているのはext2の後継として開発されたext3と呼ばれるファイルシステムだ。耐障害性のあるジャーナリング・ファイルシステムとして、ext3以外にもJFS、ReiserFS、XFSなどがLinuxでサポートされているが、これらはデ・ファクト・スタンダードとして利用されているext3に比べるとマイナーな存在だ。「XFSはパフォーマンスは良いが、サポートが十分ではなく、ベンダがサポートしたり機能を拡張したりするのが難しい」(モートン氏)。
Btrfsがわれわれすべてを救ってくれる
順当な進化となるext4はext3の欠陥を引き継いでいるうえに、「開発テンポは非常に遅い」(同氏)。こうした事情からモートン氏が期待をかけるのが「Btrfs」(バターFS)だ。「Btrfsがわれわれすべてを救ってくれることを望んでいる」
Btrfsはもともとオラクル在籍のカーネル開発者、クリス・メイソン(Chris Mason)氏が開発したもので、現在GPLライセンスの元にオープンソースで開発が進められている。メイソン氏はオラクルが提供するテクノロジ関連のポッドキャストチャンネル「OTN TechCasts」で行ったインタビュー(mp3)の中で、Btrfsを開発した動機について次のように述べている。「ext3で大きなディスク上にファイルシステムを作ることは簡単だが、大量のデータを管理するのは難しい。ディスクやデータのエラーを処理し、一貫性を保つのは極めて困難だ」。ext3でも16TBのファイルシステムは作成できるが、ファイルシステムの検査・修復を行うのは事実上不可能というほど時間がかかるという。
Btrfsに取り入れられる機能としてメイソン氏は、スナップショット、オンライン・ファイルシステム・チェッカー、オンライン・デフラグメンテーション、オンライン・リサイズ、オブジェクトレベルでのストライピングとミラーリング、マルチデバイスサポート、ファイルシステム全体でのバリデーションや圧縮の機能を挙げる。
これらの機能はサン・マイクロシステムズのSolaris OSで標準となっているファイルシステム「ZFS」と共通した項目が多い。この点についてメイソン氏は「ええ、かなりの部分が共通しています。その理由の1つはZFSもBtrfsも同じような時期に開発したものだからという事実に由来します」。メイソン氏によればXFSですら、古いUFS(Unix File System)のスタイルを踏襲しているもので、ZFSやBtrfsは“コピー・オン・ライト”と呼ばれるテクニックをベースに設計された新しい世代のファイルシステムだという。
メイソン氏はミドルレンジサーバで良く使われているext3を置き換えることを主眼にしていると話す。
ext2、ext3、ext4と後方互換性を保ったまま拡張してきたファイルシステムは限界のようだ。一方、Linuxで使える高機能な次世代ファイルシステムは、どれも主流となるほど求心力を持たなかった。サンのZFSはライセンスの互換性がないため、Linuxカーネルに取り入れられず、今のところユーザー空間で動かすモジュールになっている。また、パフォーマンスの良さや先進的機能の実装で知られるReiserFSは、開発の中心メンバーだったハンス・レイザー(Hans Reiser)氏が妻を殺害した容疑で2008年4月に第一級殺人罪の評決を受け、その後、2008年7月7日に司法取引に応じて罪状を認めたことから、長らく不安視されてきたReiserFSの次期バージョン、Reiser4の開発の先行きはますます不透明さを増している。
こうした背景から、GPLベースの高機能な次世代ファイルシステムが待望されているのだろう。メイソン氏はBtrfsの機能をリストアップしてプロジェクトを発表したとき、開発者コミュニティから「予想したよりはるかに大きな反響があった」という。
現在のところ、Btrfsがext3を置き換えて主流となっていくかは分からない。モートン氏は「私が知る限り、オラクルが保証していたほど外部の開発者が関わっていない。Btrfsをメインラインにマージすればいいのかもしれない」と開発プロセスの問題も指摘する。
モートン氏はファイルシステムに関して、別の問題も指摘する。「SSDに対して準備ができていないうちに、市場でSSDがあふれかえり、Linuxの対応が遅れるかもしれない」(モートン氏)。ドライブが回転するハードディスクと、可動部がなくランダムアクセスに強いSSDとでは物理的特性がまったく異なる。このため、SSDを明示的にサポートするファイルシステムが必要だという。
モートン氏は講演の中で、ファイルシステムの話題のほかにも、Linux開発ツリーとパッチ管理の問題、トラブルの多いx86アーキテクチャの問題、リアルタイムカーネルがメインラインに統合されつつあること、仮想化関連ではKVMサポート関連で頻繁な変更があること、システムの挙動を監視・分析するTrace関連がホットトピックとなっていることなどに触れた。
関連記事
情報をお寄せください:
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
