【レポート】

今ファイルシステムが熱い - FFSにジャーナリングを追加したBluffsとは?

1 システム障害とコンシステンシ、復旧の容易さ

    後藤大地  [2007/03/13]

    東京大学で開催された"Asia BSD Conference 2007"において、新しいファイルシステム"Bluffs"に関する発表が行われた。Bluffsは"BSD Logging Updated Fast File System"の略称。FFSに対してジャーナリングの機能を追加したファイルシステムである。発表を行ったのはBluffsの開発者でもあり、FreeBSDのアクティブデベロッパーのひとりでもあるStephan Uphoff氏。

    ファイルシステムにおいてメタデータのコンシステンシを保つ方法はさまざまだ。FFSでもSoft Updatesを有効にしたFFSでもメタデータのコンシステンシを保つように実装されている。

    FFSではコンシステンシが実現されているが、システムに障害が発生した場合にそのまま動作させることはできず、シングルユーザモードで起動してファイルシステム全体のコンシステンシチェックを実施して不整合を修復しなければならない。場合によっては多くの不整合が発生してしまうため、データがlost+foundへ移動してしまう。障害に弱く、また復旧にも時間がかかるのが難点だ。

    Soft Updatesでは操作方法に一定の規則を設けることで、非同期でありながらもコンシステンシを保つ方法を実現。非同期に処理しているにもかかわらず障害が発生した場合に、シングルユーザモードで起動して不整合の修正を実施する必要もなくなっている。発生しうる不整合も致命的なものではないため、マルチユーザモードで起動してシステムと並列して不整合の修正を実施するということができる。これを実現するためにファイルシステムのスナップショット機能が実装されており、動作速度も障害からの復旧は高速になるというわけだ。

    しかしながら、Soft Updatesはソースコードが複雑になる。また、ディスクIOが集約されるかわりに、メモリレイテンシが高くなるという特徴もある。一方、メタデータの操作を記録することで障害発生時における復旧を迅速にする方法にジャーナリングがある。FFSという土壌で比較した場合、ジャーナリング機能の追加はSoft Updatesと比べてディスクIOが増えるため動作速度は劣りがちだが、ソースコードの見通しをよくできるという利点がある。

    同氏が発表したBluffsはFFSに対してジャーナリングの機能を追加するものであり、Soft Updatesに続いて別の方法から類似の機能を実現するための試みである。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン