パーソナルコンピューターおよびワークステーションの価格性能比改善と低価格化は著しく、オフィスや工場や研究所はもちろん家庭やSOHOにも複数台の計算機が設置されるようになってきています。
複数台の計算機を使用する場合に、分散共有ファイルシステムによってハードディスク装置を共有できると、一台ごとにディスク内容を整備する必要がないためにマシン管理コストが大幅に低減できます。また、計算機間のデータ移動が共有ファイルによって自然に行われるため、テープやフロッピーディスクを介したデータ移動よりも大幅に手間が少なく、また明示的に通信プロトコルやファイル転送プログラムによってデータ転送するよりも簡単です。分散共有ファイルシステムでは十分に高速なプロトコルを使用して多くのシステムではデータ転送に必要な時間コストも十分に小さく抑えられています。
そしてハードディスク装置上データの安全性向上のために近年普及しつつあるのがRAID(Redundant Array of Inexpensive Disks )装置です。可用性と信頼性が求められる環境では、RAID装置は専用ハードウェアによって構成されており、結果として高価なものとなっています。
このような高価な専用RAID装置を購入することなしにソフウェアのみで低コストかつ効率よく高信頼分散共有ファイルシステムをLinux上に提供することを目的にしています。
分散共有ファイルシステムのディスク装置として専用ハードウェアを搭載したRAID装置を導入して信頼性を向上させる方式が一般的になりつつあります。しかしこの場合はRAID装置が接続される計算機(ファイルサーバ)にも信頼性と性能が要求され、システムのコストが高くなってしまいます。
これに対し、安価になった普及型のパーソナルコンピューターやワークステーションを活用してファイルシステムの信頼性を向上させる方式を提案します。つまり、RAIDは安価なディスク装置を複数台使用することによって冗長性を増して信頼性を上げていたのに対して、ネットワークRAIDでは安価な計算機を複数台使って冗長性を増して信頼性を向上させます。
実装が低コストかつ簡単なミラーリング方式もしくはミラーリングを拡張した方式をネットワークRAIDに適用しています。
これについてはクライアント側(ファイルをアクセスする側)でデータ読み出し時にデータの正しさを確認する必要があります。つまりデータ読み出し時にミラーされた計算機(サーバ)から複数のコピーを読み出して、本当にデータが一致しているかどうかを確認します。データ使用時にデータ不一致が発見されても、ディスク故障以外の場合、どのサーバから送られたデータが間違えているか確定できない可能性があるため、ミラーの数は最低3セット必要であり「多数決原理」によって正しいデータを決める必要があります。(多数決方式)
読み出しに関してのデータ転送量削減の可能性があります。データの誤りが高い確率で検出されることがクライアント側の認証の目的であります。そこでサーバが読み出したデータに対応する認証データ(チェックサムやMD5、SHA−1等のハッシュ関数)を一定サイズ(通信パケットサイズ)毎にサーバ側で計算して、1台のサーバはデータと認証データをクライアントに送信し、他のサーバは認証データのみを送信して、クライアントは認証データが一致していることを確認します。そして、認証データが一致していれば、データも一致していると信用してデータを使用します。認証データのbit幅を大きくすればデータ誤りの検出率を高くすることができます。
この方式はクライアント側の処理の一部をサーバ側に分散する方式でもあり、サーバにMD5やSHA−1計算用のハードウェアアクセラレータがある場合に特に適しています。
NRFS は無保証です。 NRFS Project Team は NRFS の使用により発生したいかなる問題に対し何も責任を負いません。 NRFS の使用は個々の責任において行って下さい。
NRFSは Red Hat(R) Linux カーネル 2.2.16-3 環境でのみ動作します。
NRFSのソースコード、バイナリ一式 (Red Hatのソースコードパッケージも含む) | ||
nrfs-linux-0.05.tar.gz | 44,393,224 bytes | (2003/02/04) |
NRFSのバイナリパッケージ (i686用SMPカーネル) | ||
nrfs-linux-0.05-i686-smp.tar.gz | 7,386,257 bytes | (2003/02/04) |
NRFSのバイナリパッケージ (i686用カーネル) | ||
nrfs-linux-0.05-i686.tar.gz | 7,521,794 bytes | (2003/02/04) |
Red Hatのソースコードパッケージ (kernel-2.2.16-3.src.rpm, mount-2.10f-1.src.rpm) | ||
redhat.src.tar | 19,670,577 bytes | (2002/12/02) |
nrfs-linux.pdf | 251956 bytes |
NRFS について質問などありましたら nrfs@ssscore.org までご連絡下さい。
以下は NRFS の特徴などを簡単にまとめたポスターです。