2009年6月11日
日本電信電話株式会社

日本発のファイルシステムとして初めてNILFS（ニルフス）がLinuxに採用～連続スナップショットによる高度なデータ保護が可能に～
日本電信電話株式会社（以下NTT、本社：東京都千代田区、代表取締役社長：三浦 惺）が開発したファイルシステム(＊１)NILFSが、このたび、Linux(＊２)カーネルの公式版2.6.30に採用されました。オペレーティングシステム（OS）の中核的機能であるファイルシステムについて日本からの提案が採用されたのは、今回が初めてです。
NILFSでは、サービスを停止することなく、ファイルシステムの瞬間的な状態（スナップショット(＊３)）を連続的に取得できるため、過去の任意の時点におけるシステムの状態やユーザのデータを復旧することが可能です。公式版への採用により、Linuxカーネルの一部としてNILFSの機能を継続的に提供できるようになります。本技術を含むLinuxの導入により、システムの運用の容易性を向上させることができます。
１．背景と採用の意義
NTTのサイバースペース研究所（以下 NTTの研究所）は、オープンソースを積極的に活用し、企業の基幹となるシステムへの適用に向けて、LinuxなどのOSやデータベース・マネージメント・システムなどのミドルウェアの高信頼化や高機能化に取り組んでいます。この一環としてNILFSの開発を進め、2005年9月に第1版、2007年6月に第2版（NILFS2）を開発者向けのオープンソースソフトウェア(＊４)として公開しました。NILFS2はDebian
GNU/Linux(＊５)などのLinuxディストリビューション(＊６)に採用されています。さらに、常に進化し続けているLinuxカーネルで長期安定的に利用できるよう、Linux公式版への採用を提案してきました。その結果、Linuxのファイルシステムのひとつとして、NILFS2が採用されました。
今回の採用により、連続スナップショットによる任意の時点のデータ保護の機能を、Linuxの一部として利用できるようになります。また、データの信頼性の肝となるファイルシステムについて、従来と異なる方式と特徴を持つ新たな選択肢をLinuxに加えることにより、次世代ファイルシステムの議論と開発に寄与し、今後のLinuxの機能と信頼性の向上に貢献します。
２．技術のポイント
ファイルシステムの瞬間的な状態（スナップショット）を、自動で連続的に保存するLinux用ファイルシステムです。システムダウン後のサービス復旧が迅速に行えるだけでなく、過去の任意の時点の状態をいつでも正確に復元できるため、操作ミスなどからの復旧が常に行えます。
（１） 記録済みデータへの上書きを行わず、データの追加や変更分をディスク上の空き領域にチェックサム(＊７)付きで追記することで、データが破壊される確率を格段に低くできます。
（２） 一連の書き込み（トランザクション）が完了した時点で時刻情報付のスナップショットを生成するため、一貫性検査が不要であり障害時の迅速な復旧が可能です。また、ディスクの容量が許す限り、いつでも過去の任意の時点におけるシステムの状態やユーザのデータを復元可能です。
（３） このスナップショットは、連続的かつ自動的に取得されサービスの停止が不要です。またスナップショットの参照も運用中に行えるため、サービスを停止することなく，一貫したシステム状態のバックアップをとることが可能です。
（４） ファイルシステムの管理にB木(＊８)を採用することで、大きなファイルや多数のファイルの処理の効率化を実現しています。
（５） スナップショットを自動的に削除し、不要になったディスク領域を再利用可能にするクリーナ機構を実現しています(第2版から導入)。
ユーザにとって意味のあるスナップショットを長期間残せるようにするため、複数の任意のスナップショットを削除されないよう設定できます。NILFSの採用するログ構造化ファイルシステム（追記型のファイルシステムの一種）では初めて複数スナップショットとクリーナ機構を両立しました。
（６） 一般的なPCに特別なハードウェアを追加することなく利用できるため、個人のデスクトップPCから企業のサーバに至るさまざまなLinux環境で、すぐにご利用いただけます。

３．今後の展開
世界中の技術者からなるLinux開発コミュニティとの連携を継続し、次世代ファイルシステムの議論と開発を通してLinuxの機能と信頼性の向上に貢献します。また、NILFSを活用した技術の開発を進め、安全・安心な情報流通社会の実現に寄与していきます。

［参考］Linuxカーネルの公式版2.6.30には、株式会社NTTデータが開発したセキュリティ強化機構「TOMOYO」も同時に採用されました。詳しくは、NTTデータのニュースリリースをご覧下さい。「TOMOYO」は、株式会社NTTデータの登録商標です。
［用語解説］＊１： ファイルシステム
ハードディスクやUSBメモリなどの記憶装置に記録されるデータを管理する仕組みです。ファイルやディレクトリ(フォルダ)の作成、ファイルに対するデータの読み書き、あるいはファイルやディレクトリの移動・削除などの、データの記憶に関するOSの機能を提供します。
＊２： Linux
1991年にフィンランドのヘルシンキ大学の大学院生であったLinusTorvalds氏により開発されたOSカーネル(中核部分)です。GNU GPLによるオープンソースソフトウェアとして公開され、全世界のボランティアの開発者により改良が重ねられています。Linuxは、Linus Torvalds
氏の日本およびその他の国における登録商標または商標です。
＊３： スナップショット
スナップ写真に由来し、時の経過とともに変化する情報を特定のタイミングで抜き出したものです。
＊４： オープンソースソフトウェア
ソフトウェアの設計図にあたるソースコードを、インターネットなどを通じて無償で公開し、誰でもそのソフトウェアの改良、再配布が行なえるソフトウェアのことです。「オープンソース」という言葉が注目を集めるに連れ、言葉の意味が使う人によって異なるという事態が生じてきたため、The Open Source Initiative(OSI)という団体によって「The Open Source Definition」(OSD)という定義が発表されています。
＊５： Debian GNU/Linux
Debian GNU/LinuxはフリーなOSの作成を目的とした有志の団体DebianProjectが開発しているLinuxディストリビューション(＊６)です。Debian
は、Software in the Public Interest, Inc.の登録商標です。
＊６： Linuxディストリビューション
Linuxカーネル、ドライバ、ウィンドウシステムおよびアプリケーション等のソフトウェアをまとめてパッケージ化したものです。

＊７： チェックサム
データの誤りを検出する方法の一つで、データのすべての値を合計する等の簡単な計算をしたものです。データを記録する際にこの値を計算してデータとともに記録しておき、読み出す際にも同様に計算をして比較することにより、値が違っている場合にはデータが損傷していることがわかります。
＊８： B木(B-tree)
動的に変化する情報を高速に検索する手法のひとつです。1972年に発表されて以来、データベースシステムで広く使われ、最近のファイルシステムでの採用が増えています。

［本件に関する問合せ先］
NTTサイバーコミュニケーション総合研究所（サイバースペース研究所）
企画部広報担当
Tel：046-859-2032
E-mail：randd@lab.ntt.co.jp

Copyright(c) 2009 日本電信電話株式会社