ZFSにはfsckが必要?
2009/11/05
![]() |
ZFS is a new kind of file system that provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability. |
エンタープライズや大規模ストレージで利用できるファイルシステムとして開発されたZFSは、今やSolaris、OpenSolarisのみならずFreeBSDでも利用でき、まだプロダクションレベルには達していないがNetBSDにも移植されている。ZFSはボリューム管理とファイルシステムの双方を提供。柔軟で強力な機能は高信頼性が要求されるエンタープライズ用途から、簡単にディスク容量を追加できるというデスクトップユースまで、幅広くユーザを魅了している。
ZFSの特徴のひとつにfsckが不要というものがある。ZFSではCOW (Copy On Write)とトランザクション的な振る舞いを採用しており、データの上書きは行われない。フリー領域に書き込んでから、ファイルシステムポインタを向け直すという処理をおこなっている。このためいきなりPCの電源を引き抜いたとしても、メタデータがポインタが指し示すのはどちらかであって、不整合が発生しない。
ハードウェアエラーでデータが失われる可能性に対しては、チェックサムとレプリケーションでこれに対処している。ZFSではすべてをチェックサムしているため、どこかが壊れれば簡単に検出できる。またデータとメタデータの双方をストレージプールの別の場所へ複製できる。破壊を検出すれば複製の方を使ってデータを復元できる。この復元処理をセフルヒーリングといい、チェックサムを実施するコマンドをスクラブという。スクラブを実施してセフルヒーリングが実行されるようにする方法は、従来のfsckに近いものだ。しかし、途中でユーザに修正の判断を委ねたり、推測して修復を実施するfsckと比べれば、スクラブ+セフルヒーリングはより確実な方法といえる。
ソフトウェアの設計にしても、ハードウェアの故障が発生したとしても、ZFSではfsckが必要になるようなケースは発生しない、ということになる。それにそもそも、そうした事態が発生することがないように設計されている。しかし、やはりZFSにはfsckが必要だし、近いうちに登場することになるのではないか、という話がOSnews、Should ZFS Have a fsck Tool?においてまとめられている。
設計的にみてもZFSは優れているが、ZFSのメーリングリストを見れば、実際にfsckが必要なケースが発生していると指摘している。スクラブ+セフルヒーリングは強力な機能だが、これはZFSをマウントしなければ利用できない。ZFSをマウントできない状況になったら、fsckがなければ修復できない、というわけだ。しかし現在のZFSにはfsckは提供されていない。
こうした問題はディスクの不具合が原因になっていることがある。すべてのディスクが期待したとおりに動作しているとは限らない。このため、設計上想定しているとおりにはいかず、fsckが必要になるケースが発生している。さらにVirtualBoxのような仮想環境でSolarisを動作させ、ZFSを使うケースだとどうだろう。仮想ディスクの信頼性は、ホストOSのファイルシステムの信頼性まで下がることになり、ZFSが当初仮定していたものは適用しにくくなるだろう、というわけだ。
また、ZFSと同じことは過去に別のファイルシステムでもあったという。SGIがジャーナリングファイルシステムであるXFSを開発したときは、「XFSにはfsckが不要」というスローガンが展開されたという。ジャーナリングが開発されたのはfsckを不要にすることが目的のひとつだから、これは自然なスローガンなわけだが、現実にはそうはならなかった。NetAppのWAFLでも同じことがおこったという。現実にはfsckが必要な場面が発生したという。こうしたことから、Pobrecito Hablador氏はShould ZFS Have a fsck Tool?において、ZFSにも最終的にfsck的なツールが登場することになるのではないかとしている。
関連記事
- ZFS、ディデュプリケーション機能[2009/11/5]
- 米Apple、OS XのZFS搭載プロジェクトを中止へ[2009/10/26]
- FreeBSDにZFS 13登場、ZFSブートも - 8ではプロダクションレベル[2009/5/26]
- Solaris 10最新版、SSDを使うZFS搭載[2009/10/13]
関連サイト
ヘッドライン
- IPA、OSS情報データベース「OSS iPedia」を刷新[18:55 3/19]プログラミング
- 東北大、鉄系高温超伝導体におけるディラック電子的振る舞いの観測に成功[18:05 3/19]エレクトロニクス
- 東芝、新潟県柏崎市で新型2次電池量産工場の建設を開始[17:58 3/19]エレクトロニクス
- Symbian、GCCでコンパイラ対応プロジェクト「Software Freedom Fighters」[17:49 3/19]プログラミング
- 伊藤忠商事、戸田工業と共同で北米にリチウムイオン電池正極材工場を建設[17:27 3/19]エレクトロニクス
- 昭和電工、樹脂複合材用カーボンナノチューブの量産を開始[17:04 3/19]エレクトロニクス
- 東北大、巨大超弾性歪みを有する高強度な鉄合金を開発[16:18 3/19]サイエンス
- STMicro、CryptoFirewallセキュリティ機能内蔵のSTB用SoCを開発[16:04 3/19]エレクトロニクス
- SEMI、2009年の半導体材料出荷額を発表 - 総額は前年比18.5%減の346億ドル[15:53 3/19]エレクトロニクス
- 住友大阪セメント、リチウムイオン電池向け高エネルギー密度の正極材を開発[15:37 3/19]エレクトロニクス








