(57)【特許請求の範囲】
【請求項１】
ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムであって、
前記ファイルサーバは、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行う同期手段を備え、
各ファイルサーバに対してデータの書き込みを行うクライアントは、前記同期手段がデータ同期を行っている場合に、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信するエラー情報送信手段を備え、
受信した前記エラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバの前記同期手段に書き込みに失敗したファイルを特定する情報を含む再同期を指示する回復エージェントを備え、
前記同期手段は、障害が発生したファイルサーバの記憶手段へ、前記再同期の指示に含まれるファイルの再書き込みを行うことによりデータ同期を行う
ことを特徴とするネットワークファイルシステム。
【請求項２】
同期手段は、記憶手段への書き込みを禁止することなくデータ同期を行う請求項１記載のネットワークファイルシステム。
【請求項３】
同期手段は、回復エージェントからの指示に基づいて、再度データ同期を行う請求項１または請求項２記載のネットワークファイルシステム。
【請求項４】
同期手段は、エラー情報に基づくデータ同期を優先的に行う請求項３記載のネットワークファイルシステム。
【請求項５】
同期手段は、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期が完了してから、エラー情報に基づくデータ同期を行う請求項３記載のネットワークファイルシステム。
【請求項６】
ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムの復旧方法であって、
障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行い、
データ同期を行っている場合に、各ファイルサーバに対してデータの書き込みを行うクライアントが、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信し、
受信した前記エラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバに、書き込みに失敗したファイルを特定する情報を含む再同期を指示し、
障害が発生したファイルサーバの記憶手段へ、前記再同期の指示に含まれるファイルの再書き込みを行うことによりデータ同期を行う
ことを特徴とするネットワークファイルシステムの復旧方法。
【請求項７】
ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムにおいて、前記ファイルサーバが、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行い、各ファイルサーバに対してデータの書き込みを行うクライアントが、データ同期が行われている場合に、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信するネットワークファイルシステムの復旧プログラムであって、
コンピュータに、
受信した前記エラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバに書き込みに失敗したファイルを特定する情報を含む再同期を指示する処理を実行させることにより、障害が発生したファイルサーバの記憶手段へ、前記再同期の指示に含まれるファイルの再書き込みを行うことによるデータ同期を行わせる
ためのネットワークファイルシステムの復旧プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化（ミラーリング）されたネットワークファイルシステムおよびネットワークファイルシステムの復旧方法に関する。
【背景技術】
【０００２】
多重化ネットワークファイルシステムでは、故障したファイルサーバのディスクを交換し、再び多重化構成に戻す際に、マスタとなるファイルサーバから、交換したファイルサーバのディスクに対してデータを同期させる、すなわち、交換後のファイルサーバのディスク内のデータを故障していないファイルサーバのディスク内のデータと一致させる必要がある。
【０００３】
関連する多重化ネットワークファイルシステムの仕組みでは、同期している最中にクライアントからの書き込みがあると、同期の完全性を保証できない。そのため、通常、オフラインで復旧作業を行う。
【０００４】
重複したデータベース間のデータの整合性を障害発生から回復手続き完了までの間も保証し、かつこの障害回復手続きをユーザに対して隠ぺいして処理を継続させることによって、信頼性の向上とヒューマンインタフェースの向上が可能とされる障害回復透過型データベースシステムが提案されている（例えば、特許文献１参照。）。特許文献１には、クライアントからのリクエストのログを複数のサーバで取得しておき、障害回復後、ログの差分のリクエストを、障害が回復したサーバに適用することが記載されている。
【０００５】
また、ネットワーク上で共有されるファイルのバックアップやバックアップデータの履歴管理を、オンライン状態で的確に実行するファイルバック方法が提案されている（例えば、特許文献２参照。）。その他、複数のファイルサーバがネットワークによって接続されたシステムにおいて、中央集権的な制御装置を用いることなくシステム内に保存されたファイルの冗長度を維持するファイルサーバおよびファイルサーバ制御装置が提案されている（例えば、特許文献３参照。）。
【０００６】
【特許文献１】特開平７−２６２０６６号公報（段落００４５−００５５）
【特許文献２】特開２００３−２８０９６５号公報（段落００２１−００２３）
【特許文献３】特開２００５−１４１５２８号公報（段落００２９−００３３）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に記載された方式では、回復手続き実行中に、クライアントからリクエストが送られてきた場合、これらのリクエストは各サーバのリクエストキューにキューイングされ、差分の適用が完了するまで遅延される。つまり、差分の適用が完了されるまでの間は、クライアントから各サーバへのアクセスを中止しているのと同じことになる。
【０００８】
そこで、本発明は、故障したノードを交換し復旧させる際にも、ファイルシステムを停止せずにデータ同期を行うことができるネットワークファイルシステムおよびネットワークファイルシステムの復旧方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明によるネットワークファイルシステムは、ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムであって、ファイルサーバは、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行う同期手段を備え、各ファイルサーバに対してデータの書き込みを行うクライアントは、同期手段がデータ同期を行っている場合に、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信するエラー情報送信手段を備え、受信したエラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバの同期手段に書き込みに失敗したファイルを特定する情報を含む再同期を指示する回復エージェントを備え、同期手段が、障害が発生したファイルサーバの記憶手段へ、再同期の指示に含まれるファイルの再書き込みを行うことによりデータ同期を行うことを特徴とする。
【００１０】
本発明によるネットワークファイルシステムの復旧方法は、ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムの復旧方法であって、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行い、データ同期を行っている場合に、各ファイルサーバに対してデータの書き込みを行うクライアントが、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信し、受信したエラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバに、書き込みに失敗したファイルを特定する情報を含む再同期を指示し、障害が発生したファイルサーバの記憶手段へ、再同期の指示に含まれるファイルの再書き込みを行うことによりデータ同期を行うことを特徴とする。
【００１１】
本発明によるネットワークファイルシステムの復旧プログラムは、ネットワークを介して多重化された複数のファイルサーバを備えたネットワークファイルシステムにおいて、ファイルサーバが、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期をオンラインで行い、各ファイルサーバに対してデータの書き込みを行うクライアントが、データ同期が行われている場合に、障害が発生したファイルサーバへの書き込みに失敗したときに、書き込みに失敗したファイルを特定する情報を含むエラー情報を送信するネットワークファイルシステムの復旧プログラムであって、コンピュータに、受信したエラー情報に基づいて、障害が発生したファイルサーバに対して同期処理を行っているファイルサーバに書き込みに失敗したファイルを特定する情報を含む再同期を指示する処理を実行させることにより、障害が発生したファイルサーバの記憶手段へ、再同期の指示に含まれるファイルの再書き込みを行うことによるデータ同期を行わせることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、多重化されたネットワークファイルシステムの一部のノードに障害が発生した場合であっても、クライアントからの利用を中断することなく、障害が発生したノードの交換および復旧を行うことができるという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例を図面を参照して説明する。図１は、本発明によるネットワークファイルシステムの構成例を示すブロック図である。図１に示すネットワークファイルシステムは、クライアント１１，１２，１３と、ファイルサーバ２１，２２，２３と、回復エージェント３１とを備える。
【００１４】
クライアント１１〜１３、ファイルサーバ２１〜２３および回復エージェント３１は、例えば、プログラムに従って動作するパーソナルコンピュータ等の情報処理端末によって実現される。また、クライアント１１〜１３、ファイルサーバ２１〜２３および回復エージェント３１は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）等の規格によりネットワークを介して接続されている。
【００１５】
図２は、クライアント１１〜１３、ファイルサーバ２１〜２３および回復エージェント３１の構成例を示すブロック図である。なお、図２には、クライアント１１〜１３のうちクライアント１１のみを示すが、クライアント１２，１３についても同様の構成である。また、図２には、ファイルサーバ２１〜２３のうちファイルサーバ２１のみを示すが、ファイルサーバ２２，２３についても同様の構成である。
【００１６】
ファイルサーバ２１〜２３は、ファイルやディレクトリ等のデータを記憶する記憶手段２０１を有する。ファイルサーバ２１〜２３の各記憶手段２０１は多重化され、ファイルサーバ２１〜２３は、多重化ファイルシステムとして動作する。例えば、ミラーリング等の多重化方式により、ファイルサーバ２１〜２３の記憶手段２０１は、それぞれ同一の内容のデータを記憶する。
【００１７】
また、ファイルサーバ２１〜２３は、同期手段２０２を有する。同期手段２０２は、故障した記憶手段２０１を交換して多重化構成に戻す際に、故障していないファイルサーバの記憶手段２０１と、故障したファイルサーバの記憶手段２０１との同期を取る処理を実行する。同期手段２０２は、クライアント１１〜１３からファイルサーバ２１〜２３への書き込みを禁止することなく、同期処理を実行する。
【００１８】
クライアント１１〜１３は、アクセス制御手段１０１を有する。アクセス制御手段１０１は、ネットワークを介して、ファイルサーバ２１〜２３の記憶手段２０１が記憶するファイルやディレクトリ等のデータの読み書きを行う。アクセス制御手段１０１は、ファイルサーバ２１〜２３の記憶手段２０１に書き込みを行う際に、複数のファイルサーバ２１〜２３の記憶手段２０１のそれぞれに対して同時または順番に書き込み（多重ｒｅａｄ／ｗｒｉｔｅ）を行う。
【００１９】
ファイルサーバ２１〜２３の記憶手段２０１のいずれかが故障した場合、故障した記憶手段２０１を有するファイルサーバは、自動的に、多重化ファイルシステムとしての接続を切り離す。例えば、ファイルサーバ２３の記憶手段２０１が故障して、多重化構成から自動的に切り離された場合、クライアント１１〜１３のアクセス制御手段１０１は、残りのファイルサーバ２１，２２の記憶手段２０１に対し、引き続きデータの参照および書き込みを行うことができる。
【００２０】
ファイルサーバ２３の故障したディスク（記憶手段２０１）を交換し、再び多重化ファイルシステムとして接続し多重化構成に戻す場合、ファイルサーバ２１またはファイルサーバ２２の記憶手段２０１が記憶するデータを、ファイルサーバ２３のディスク（記憶手段２０１）に同期させる必要がある。一般に、同期させている最中にクライアント１１〜１３からの書き込みがあると、同期の完全性を保証できない。そのため、一般には、クライアント１１〜１３からファイルサーバ２１〜２３への書き込みを禁止した状態（オフライン）で、同期作業を行う必要がある。図４は、一般的なネットワークファイルシステムにおいて、クライアントがファイルサーバに読み書きを行っている状態の例を示す説明図である。図５は、一般的なネットワークファイルシステムにおけるクライアントからファイルサーバへの書き込みを禁止した状態の例を示す説明図である。図４、図５には、ファイルサーバ２３のディスクが故障する前後の一般的な状態を示す。
【００２１】
本発明によれば、故障した記憶手段２０１を交換して多重化構成に戻す際にも、オフラインとせずに、オンラインでデータ同期（ミラー同期）を行うことができる。オンラインでデータ同期を行うとは、クライアント１１〜１３からファイルサーバ２１〜２３への書き込みを禁止することなくデータ同期を行うことである。
【００２２】
図３は、本実施例におけるネットワークファイルシステムの動作を示すフローチャートである。以下、ファイルサーバ２３の記憶手段２０１が故障した場合を例にして、図１を参照して本実施例の動作について説明する。
【００２３】
ファイルサーバ２３の記憶手段２０１を交換した場合、ファイルサーバ２１またはファイルサーバ２２がファイルサーバ２３に対するデータ同期を行う前に、ファイルサーバ２３は、多重化ファイルシステムとして接続し、多重化構成に復帰する（ステップＳ１）。この状態では、クライアント１１〜１３のアクセス制御手段１０１は、通常どおりファイルサーバ２１〜２３に対してデータの書き込みを行う。ただし、この状態において、データの読み込みについては、クライアント１１〜１３のアクセス制御手段１０１は、ファイルサーバ２１，２２のみから行う。
【００２４】
次に、回復エージェント３１は、ファイルサーバ２１または２２に、ファイルサーバ２３に対するデータ同期処理を実行するよう指示する（ステップＳ２）。ファイルサーバ２１または２２の同期手段２０２は、ファイルサーバ２１または２２の記憶手段２０１のデータと、ファイルサーバ２３の記憶手段２０１との同期を取る処理の実行を開始する（ステップＳ３）。なお、図１には、ファイルサーバ２２が、ファイルサーバ２２とファイルサーバ２３との同期を取る処理を実行する場合を例示する。
【００２５】
ここで、データの同期中に、クライアント１１〜１３のアクセス制御手段１０１がファイルサーバ２３の記憶手段２０１に対して書き込みを行う際、同期されていないディレクトリ配下のファイルまたはディレクトリに対して、作成、変更等を行うことはできない。クライアント１１〜１３のアクセス制御手段１０１がファイルサーバ２３の記憶手段２０１への書き込みに失敗した場合、エラー情報送信手段１０２は、その旨を示すエラー情報（不完全処理フラグ）を、回復エージェント３１に送信する（ステップＳ４）。なお、図１には、クライアント１３が回復エージェント３１に不完全処理フラグを送信する場合を例示する。
【００２６】
回復エージェント３１は、受信した不完全処理フラグに基づいて、ファイルサーバ２１または２２に、ファイルサーバ２３に対するデータ同期処理を再度実行するよう指示する（ステップＳ５）。なお、図１には、回復エージェント３１がファイルサーバ２２にデータ同期処理を再度実行するよう指示する場合を例示する。
【００２７】
ファイルサーバ２１または２２は、回復エージェント３１からの指示に基づいて、ファイルサーバ２３に対するデータ同期処理を再度実行する（ステップＳ６）。「データ同期処理を再度実行する」とは、不完全処理フラグが示すデータのみのデータ同期処理を、不完全処理フラグが示すボリュームやディレクトリ等の準備ができた後に、追加で実行することを意味する。なお、図１には、ファイルサーバ２２が、ファイルサーバ２３に対するデータ同期処理を再度実行する場合を例示する。
【００２８】
ここで、ステップＳ３〜Ｓ６の処理について、具体例を挙げて説明する。ステップＳ３において、ファイルサーバ２２は、ファイルサーバ２３が多重化構成に復帰した時点においてファイルサーバ２２の記憶手段２０１が記憶するデータを、ファイルサーバ２３の記憶手段２０１にコピーすることにより、同期処理を行う。例えば、ファイルサーバ２３が多重化構成に復帰した時点において、ファイルサーバ２２の記憶手段２０１が、３つのデータ「￥ａａａ￥０００１．ｆｉｌｅ」「￥ｂｂｂ￥０００２．ｆｉｌｅ」「￥ｃｃｃ￥０００３．ｆｉｌｅ」を記憶している場合、ファイルサーバ２２の同期手段２０２は、上記３データをファイルサーバ２３の記憶手段２０１にコピーする。なお、例えば、「￥ａａａ￥０００１．ｆｉｌｅ」は、ディレクトリ「￥ａａａ￥」配下の「０００１．ｆｉｌｅ」を意味する。
【００２９】
同期処理を開始した後の同期処理中のある時点においてファイルサーバ２３の記憶手段２０１が記憶するデータが、「￥ａａａ￥０００１．ｆｉｌｅ」「￥ｂｂｂ￥０００２．ｆｉｌｅ」の２データであるとする。
【００３０】
この時点で、クライアント１３が「￥ａａａ￥０００４．ｆｉｌｅ」を書き込む場合、ファイルサーバ２３の記憶手段２０１には、「￥ａａａ￥」ディレクトリが存在する。したがって、書き込みエラーは発生せず、データ「￥ａａａ￥０００４．ｆｉｌｅ」を書き込むことができる。
【００３１】
しかし、クライアント１３が「￥ｃｃｃ￥０００５．ｆｉｌｅ」を書き込む場合、ファイルサーバ２３の記憶手段２０１には、まだ「￥ｃｃｃ￥」ディレクトリが存在しない。そのため、書き込みエラーが発生する。このように、ファイルサーバ２３が多重化構成に復帰した以降にクライアント１３がファイルサーバ２１〜２３に書き込むデータは、同期処理ではファイルサーバ２３に反映されない可能性がある。
【００３２】
そこで、書き込みエラーが発生した場合には、クライアント１３のエラー情報送信手段１０２は、ステップＳ４において、不完全処理フラグを回復エージェント３１に送信する。不完全処理フラグは、例えば、ファイルの位置情報、データの書き込み（ｗｒｉｔｅ）ができたサーバを示す情報およびデータの書き込み（ｗｒｉｔｅ）ができなかったサーバを示す情報を含む。ここで、ファイルの位置情報は、例えば、ボリューム、ディレクトリ（絶対パス）、ファイル名、ファイル属性を含む情報である。
【００３３】
回復エージェント３１は、ファイルサーバ２３が多重化構成に復帰した以降にクライアント１３が書き込みを行ったデータを、不完全処理フラグとして把握することができる。そこで、回復エージェント３１は、ステップＳ５において、ファイルサーバ２１または２２にデータの追加書き込みを指示し（ｒｅｗｒｉｔｅ  ｒｅｑｕｅｓｔ）、ファイルサーバ２３への同期の完全性を保証する。例えば、回復エージェント３１は、不完全処理フラグに基づいて、「￥ｃｃｃ￥」ディレクトリが同期された後に「￥ｃｃｃ￥０００５．ｆｉｌｅ」を追加で同期するようにファイルサーバ２２に指示する。そして、ステップＳ６において、ファイルサーバ２２は、回復エージェント３１からの指示に基づいて、ファイルサーバ２３に対するデータ同期処理を再度実行する。
【００３４】
回復エージェント３１は、不完全処理フラグを受信した時点で、不完全処理フラグが示すデータおよびその上位ディレクトリのデータの書き込みをファイルサーバ２２に要求（ｒｅｗｒｉｔｅ  ｒｅｑｕｅｓｔ）する。そして、ファイルサーバ２２が不完全処理フラグが示すデータをファイルサーバ２３に書き込むタイミングとして、同期処理に割り込みを入れて、ファイルサーバ２２がファイルサーバ２３に優先的に書き込む方法と、要求（ｒｅｗｒｉｔｅ  ｒｅｑｕｅｓｔ）をファイルサーバ２２が溜めておき、同期処理が終了してから、溜めておいた要求（ｒｅｗｒｉｔｅ  ｒｅｑｕｅｓｔ）が示すデータをファイルサーバ２３に書き込む方法とがある。
【００３５】
なお、図１には、クライアント１３が不完全処理フラグを送信する場合を例示するが、クライアント１１または１２が不完全処理フラグを送信することもある。また、図１には、回復エージェント３１がファイルサーバ２２にデータ同期処理を再度実行するよう指示し、ファイルサーバ２２がデータ同期処理を再度実行する場合を例示するが、回復エージェント３１がファイルサーバ２１にデータ同期処理を再度実行するよう指示し、ファイルサーバ２１がデータ同期処理を再度実行してもよい。
【００３６】
以上に説明したように、本実施例によれば、多重化されたネットワークファイルシステムの一部のノードに障害が発生した場合であっても、クライアントからの利用を中断することなく、障害が発生したノードの交換および復旧を行うことができる。
【００３７】
なお、上記に示した実施例では、以下の（１）〜（５）に示すようなネットワークファイルシステムの特徴的構成が示されている。
【００３８】
（１）ネットワークを介して多重化された複数のファイルサーバ（例えば、ファイルサーバ２１〜２３によって実現される）を備えたネットワークファイルシステムであって、
ファイルサーバは、障害が発生したファイルサーバ（例えば、ファイルサーバ２３によって実現される）の記憶手段（例えば、記憶手段２０１によって実現される）と障害が発生していないファイルサーバ（例えば、ファイルサーバ２２によって実現される）の記憶手段とのデータ同期をオンラインで行う同期手段（例えば、同期手段２０２によって実現される）を備え、クライアント（例えば、クライアント１１〜１３によって実現される）は、同期手段がデータ同期を行っている場合に、各ファイルサーバへの書き込みに失敗したときに、エラー情報を送信するエラー情報送信手段（例えば、エラー情報送信手段１０２によって実現される）を備え、受信したエラー情報に基づいて、同期手段にデータ同期を再度行うよう指示する回復エージェント（例えば、回復エージェント３１によって実現される）を備えたことを特徴とする。
【００３９】
（２）同期手段は、記憶手段への書き込みを禁止することなくデータ同期を行うように構成されていることが望ましい。
【００４０】
（３）同期手段は、回復エージェントからの指示に基づいて、再度データ同期を行うように構成されていることが望ましい。
【００４１】
（４）同期手段は、エラー情報に基づくデータ同期を優先的に行うように構成されていることが望ましい。
【００４２】
（５）同期手段は、障害が発生したファイルサーバの記憶手段と障害が発生していないファイルサーバの記憶手段とのデータ同期が完了してから、エラー情報に基づくデータ同期を行うように構成されていることが望ましい。
【産業上の利用可能性】
【００４３】
本発明は、障害の発生に伴う復旧作業を、ファイルシステムを停止せずに実施する場合に効果的に適用できる。
【図面の簡単な説明】
【００４４】
【図１】本発明によるネットワークファイルシステムの構成例を示すブロック図である。
【図２】クライアント、ファイルサーバおよび回復エージェントの構成例を示すブロック図である。
【図３】本実施例におけるネットワークファイルシステムの動作を示すフローチャートである。
【図４】一般的なネットワークファイルシステムにおいて、クライアントがファイルサーバに読み書きを行っている状態の例を示す説明図である。
【図５】一般的なネットワークファイルシステムにおけるクライアントからファイルサーバへの書き込みを禁止した状態の例を示す説明図である。
【符号の説明】
【００４５】
１１，１２，１３  クライアント
２１，２２，２３  ファイルサーバ
３１              回復エージェント
【図１】
0005130538.tif 000002
【図２】
0005130538.tif 000003
【図３】
0005130538.tif 000004
【図４】
0005130538.tif 000005
【図５】
0005130538.tif 000006