(57)【要約】      （修正有）【課題】リファーラル機構を導入して、リモートミラーされたクラスタファイルサーバに於けるフェイルオーバ方法とシステムを可能とする。【解決手段】第一のＮＡＳはフェイルオーバに際してこの第一のＮＡＳのＩＰアドレスをテイクオーバする第二のＮＡＳとクラスタ構成をする。第一のＮＡＳと第三のＮＡＳがミラー関係を構築し、ファイルシステムのコピーを第三のＮＡＳに複製する。第二のＮＡＳ上にリファーラルが生成され、フェイルオーバの後のＩＰアドレスの第一のＮＡＳからのテイクオーバに引き続いて、クライアントコンピュータから第二のＮＡＳに向けられる第一のファイルシステムに対するアクセス試行は、このリファーラルにより第三のＮＡＳに差し向けられて、クライアントコンピュータはファイルシステムのコピーにアクセスすることが可能になる。【選択図】図６
2007328778.tif 000002
【特許請求の範囲】
【請求項１】
第二のＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）及びクライアントコンピュータと交信する第一のＮＡＳに第一のファイルシステムを保存するステップと、
前記第一のＮＡＳと第三のＮＡＳとの間で第一のミラー関係を構築して、前記第一のファイルシステムのコピーを該第三のＮＡＳに複製するステップと、
前記第二のＮＡＳ上に第一のリファーラルを生成して、前記第二のＮＡＳに向けられる前記クライアントコンピュータからの前記第一のファイルシステムへのアクセス要求が、前記第一のリファーラルにより前記第三のＮＡＳに差し向けられて前記第一のファイルシステムの前記コピーにアクセスするステップ
より成ることを特徴とするファイルシステムにアクセスする方法。
【請求項２】
前記クライアントコンピュータが前記第一のファイルシステムへのアクセス要求を前記第二のＮＡＳに向けるように、前記第一のＮＡＳのＩＰアドレスを前記第二のＮＡＳにテイクオーバするステップを更に含むことを特徴とする請求項１の方法。
【請求項３】
前記第一のミラー関係の構築中に、前記第一のファイルシステムの前記第三のＮＡＳへの初期コピーの完了に続いて、前記第一のＮＡＳが前記第二のＮＡＳに前記リファーラルの生成要求を送信するステップを更に含むことを特徴とする請求項１の方法。
【請求項４】
前記第一のファイルシステムを前記第一のＮＡＳに保存し、前記第一のミラー関係を構築するコマンドに応答して、前記第一のファイルシステムを前記第三のＮＡＳにコピーするステップと、
前記第一のファイルシステムと共に一式のファイルシステム全体の各部分を構成する第二のファイルシステムを前記第一のＮＡＳに保存するステップと、
を更に含むことを特徴とする請求項１の方法。
【請求項５】
前記第二のファイルシステムと前記第三のＮＡＳとの間に第二のミラー関係を構築して前記第二のファイルシステムのコピーを前記第三のＮＡＳに複製するステップと、
前記第二のＮＡＳ上に第二のリファーラルを生成し、前記第二のＮＡＳに向けられる前記クライアントコンピュータからの前記第二のファイルシステムへのアクセス要求が、前記第二のリファーラルによって前記第三のＮＡＳに差し向けられて前記第二のファイルシステムの前記コピーにアクセスするステップ、
を更に含むことを特徴とする請求項４の方法。
【請求項６】
前記第一のＮＡＳから前記第二のＮＡＳへのフェイルオーバに続いて、前記第一のＮＡＳのＩＰアドレスを前記第二のＮＡＳにテイクオーバし、前記第一のファイルシステムへのアクセス要求が最初に前記第二のＮＡＳに向けられるステップと、
前記第一のファイルシステムへのアクセス要求に引き続いて、前記クライアントコンピュータが前記第二のＮＡＳからリファーラル情報を受信するステップと、
前記クライアントコンピュータが前記第一のファイルシステムへのアクセス要求を前記第三のＮＡＳにリダイレクトするステップ、
を更に含むことを特徴とする請求項１の方法。
【請求項７】
前記第一のＮＡＳの前記ＩＰアドレスを前記第二のＮＡＳから前記第一のＮＡＳにテイクバックするステップと、
前記第一のＮＡＳの前記第一のファイルシステムを前記第三のＮＡＳの前記第一のファイルシステムの前記コピーから回復するステップと、
前記クライアントコンピュータが前記第一のファイルシステムへのアクセスを前記第一のＮＡＳにリダイレクトするステップ、
を更に含むことを特徴とする請求項６の方法。
【請求項８】
前記第一のＮＡＳへ前記第一のファイルシステムが回復完了して前記クライアントコンピュータが前記第一のファイルシステムへのアクセスを前記第一のＮＡＳにリダイレクト完了する迄は、前記第一のファイルシステムが前記第一のＮＡＳへ回復完了するのに先立って、前記第一のＮＡＳ上に第二のリファーラルを生成して、前記クライアントコンピュータからの前記第一のＮＡＳの前記第一のファイルシステムへのアクセス要求を前記第三のＮＡＳにリダイレクトするステップ、を更に含むことを特徴とする請求項７の方法。
【請求項９】
少なくとも一台のクライアントコンピュータと、
第一のサブネットを介して前記クライアントコンピュータと交信する第一のクラスタＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）システムを形成する第一のＮＡＳ及び第二のＮＡＳと、
前記第一のサブネットと交信可能な第二のサブネット上の第三のＮＡＳ、
から成り、
前記第一のＮＡＳは第一のファイルシステムを保存し、前記第三のＮＡＳは前記第一のＮＡＳからのミラー複製の対象として前記第一のファイルシステムのコピーを保存し、
前記第二のＮＡＳは前記第一のＮＡＳのＩＰアドレスをテイクオーバでき、
前記第二のＮＡＳ上にリファーラルを生成し、前記第二のＮＡＳへのＩＰアドレスのテイクオーバに引き続いて、前記クライアントコンピュータからの前記第二のＮＡＳの前記第一のファイルシステムへのアクセス試行が前記リファーラルにより前記第三のＮＡＳに差し向けられて前記第一のファイルシステムの前記コピーがアクセスされる、
ことを特徴とするシステム。
【請求項１０】
前記第三のＮＡＳは第二のクラスタＮＡＳシステムの一員を形成し、該第二のクラスタＮＡＳシステムは前記第一のクラスタＮＡＳシステムから遠隔地に存在し互いに交信できる、ことを更に含むことを特徴とする請求項９のシステム。
【請求項１１】
前記第一のＮＡＳでの障害発生に続いて、複製コマンド又は／及び回復管理操作を発行する管理コンピュータ、を更に含むことを特徴とする請求項９のシステム。
【請求項１２】
前記第一のファイルシステムと共に一式のファイルシステム全体の各部分を構成し前記第一のＮＡＳに保存される第二のファイルシステムを更に含み、
前記第二のファイルシステムと前記第三のＮＡＳとの間にミラー関係が構築され、前記第二のファイルシステムのコピーが前記第三のＮＡＳに複製され、
前記第二のＮＡＳ上に第二のリファーラルを生成し、前記第二のＮＡＳに向けられる前記クライアントコンピュータからの前記第二のファイルシステムへのアクセス要求が、前記第二のリファーラルにより前記第三のＮＡＳに差し向けられて前記第二のファイルシステムの前記コピーにアクセスする、
ことを特徴とする請求項９のシステム。
【請求項１３】
前記第一のＮＡＳから前記第二のＮＡＳへのフェイルオーバに続いて、前記第一のＮＡＳの前記ＩＰアドレスを前記第二のＮＡＳにテイクオーバし、前記第一のファイルシステムへのアクセス要求が最初に前記第二のＮＡＳに向けられ、
前記第一のファイルシステムへのアクセス要求に続いて、前記クライアントコンピュータが前記第二のＮＡＳからリファーラル情報を受信し、
前記クライアントコンピュータは前記第一のファイルシステムへのアクセス要求を前記第三のＮＡＳにリダイレクトする、
ことを更に含むことを特徴とする請求項９のシステム。
【請求項１４】
前記第一のＮＡＳの前記第一のファイルシステムが前記第三のＮＡＳの前記第一のファイルシステムの前記コピーにより回復し、
前記第一のＮＡＳの前記ＩＰアドレスを前記第二のＮＡＳから前記第一のＮＡＳにテイクバックし、
前記クライアントコンピュータは前記第一のＮＡＳの前記第一のファイルシステムへアクセスするようにリダイレクトされる、
ことを更に含むことを特徴とする請求項１３のシステム。
【請求項１５】
第一のネットワークを介して第二のＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）及びクライアントコンピュータと交信し、該第二のＮＡＳと共に第一のクラスタＮＡＳシステムの一員をなす第一のＮＡＳに第一のファイルシステムを保存し、前記第一のＮＡＳで障害が発生したら前期第二のＮＡＳが前記第一のＮＡＳのＩＰアドレスをテイクオーバするステップと、
前記第一のクラスタＮＡＳシステムの一員ではない第三のＮＡＳと前記第一のＮＡＳとの間に第一のミラー関係を構築し、前記第一のファイルシステムのコピーを前記第三のＮＡＳに複製するステップと、
前記第二のＮＡＳが前記第一のＮＡＳの前記ＩＰアドレスをテイクオーバした後に、該第二のＮＡＳ上に第一のリファーラルを生成し、前記第二のＮＡＳに向けられる前記クライアントコンピュータからの前記第一のファイルシステムへのアクセス要求が、前記第一のリファーラルにより前記第三のＮＡＳに差し向けられて前記第一のファイルシステムの前記コピーにアクセスするステップ、
より成ることを特徴とするファイルシステムへアクセスする方法。
【請求項１６】
前記第一のミラー関係の構築中に、前記第一のファイルシステムの前記第三のＮＡＳへの初期コピーの完了に続いて、前記第一のＮＡＳが前記第二のＮＡＳに前記第一のリファーラルの生成要求を送信するステップを更に含むことを特徴とする請求項１５の方法。
【請求項１７】
前記第一のファイルシステムと共に一式のファイルシステム全体の各部分を構成する、第二のファイルシステムを前記第一のＮＡＳに保存するステップと、
前記第二のファイルシステムと前記第三のＮＡＳとの間に第二のミラー関係を構築し、前記第二のファイルシステムのコピーを前記第三のＮＡＳに複製するステップと、
前記第二のＮＡＳ上に第二のリファーラルを生成し、前記第二のＮＡＳに向けられる前記クライアントコンピュータからの前記第二のファイルシステムへのアクセス要求が、前記第二のリファーラルにより前記第三のＮＡＳに差し向けられて前記第二のファイルシステムの前記コピーにアクセスするステップ、
を更に含むことを特徴とする請求項１５の方法。
【請求項１８】
前記第一のＮＡＳから前記第二のＮＡＳへのフェイルオーバに続いて、前記第一のＮＡＳの前記ＩＰアドレスを前記第二のＮＡＳにテイクオーバし、前記第一のファイルシステムへのアクセス要求が最初に前記第二のＮＡＳに向けられるステップと、
前記第一のファイルシステムへのアクセス要求に引き続いて、前記クライアントコンピュータが前記第二のＮＡＳからリファーラル情報を受信するステップと、
前記クライアントコンピュータが前記第一のファイルシステムへのアクセス要求を前記第三のＮＡＳにリダイレクトするステップ、
を更に含むことを特徴とする請求項１５の方法。
【請求項１９】
前記第一のＮＡＳの前記第一のファイルシステムを前記第三のＮＡＳの前記第一のファイルシステムの前記コピーから回復するステップと、
前記第一のＮＡＳの前記ＩＰアドレスを前記第二のＮＡＳから前記第一のＮＡＳにテイクバックするステップと、
前記クライアントコンピュータが前記第一のファイルシステムへのアクセスを前記第一のＮＡＳにリダイレクトするステップ、
を更に含むことを特徴とする請求項１８の方法。
【請求項２０】
前記第一のＮＡＳへ前記第一のファイルシステムが回復完了して前記クライアントコンピュータが前記第一のファイルシステムへのアクセスを前記第一のＮＡＳにリダイレクト完了する迄は、前記第一のファイルシステムが前記第一のＮＡＳへ回復完了するのに先立って、前記第一のＮＡＳ上に第二のリファーラルを生成して、前記クライアントコンピュータからの前記第一のＮＡＳの前記第一のファイルシステムへのアクセス要求を前記第三のＮＡＳにリダイレクトするステップ、を更に含むことを特徴とする請求項１９の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）システムの如きファイルサーバに関連し、詳細にはクラスタＮＡＳシステムに於けるフェイルオーバ方法に関連する。
【背景技術】
【０００２】
クラスタ化では、ユーザには単一の高可用システムに見えるシステムを形成する為に多重コンピュータ、多重ストレージデバイス、及び冗長接続を使用する。クラスタ化は高可用性の為のみならず負荷バランスの為にも使用される。クラスタファイルシステム（クラスタＮＡＳシステムとも呼ばれる）は複数のファイルシステムを含むことができ少なくとも一式の名前空間を生成する。名前空間は、一式のファイルシステムの全体を形成する為に結合したディレクトリとファイルパス名のディレクトリトリー構造を特定する、ファイルシステムが認識する有効な名前のセットである。
【０００３】
クラスタＮＡＳファイルシステムに於いては、ファイルシステム（時には、ＧＦＳ（（Ｇｌｏｂａｌ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）とも呼ばれる）は多数のＮＡＳデバイス即ちノードに亘って分散できるが、ユーザには単一のデバイスに乗った完全な単一のファイルシステムのように見える。ＮＦＳｖ４（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ  ｖｅｒｓｉｏｎ  ４）プロトコル下でこのことを達成する一つの方法では、ＮＡＳホスト上のネットワークファイルシステム又はサーバソフトウエアによって、一つのホスト上の“リファーラル（参照：ｒｅｆｅｒｒａｌｓ）”が他のホストのディレクトリとファイルのストレージロケーションを示す為に使用される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、主としてＮＦＳｖ４技術（例えば以下を参照：Ｓｈｅｐｌｅｒ，Ｓ．ｅｔ  ａｌ．，“ＩＥＴＦ  ＲＦＣ３５３０：Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ  （ＮＦＳ）  ｖｅｒｓｉｏｎ  ４  Ｐｒｏｔｏｃｏｌ”，ｗｗｗ．ｉｅｔｆ．ｏｒｇ，Ａｐｒｉｌ  ２００４；“ＮＦＳ  ｖｅｒｓｉｏｎ  ４  Ｐｒｏｔｏｃｏｌ”，ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３５３０／ｔｘｔ；及び、Ｎｏｖａｃｋ，Ｄ．ｅｔ  ａｌ．，“Ｉｍｐｌｅｍｅｎｔａｔｉｏｎ  Ｇｕｉｄｅ  ｆｏｒ  Ｒｅｆｅｒｒａｌｓ  ｉｎ  ＮＦＳｖ４  ｄｒａｆｔ−ｉｅｔｆ−ｎｆｓｖ４−ｒｅｆｅｒｒａｌｓ−００．ｔｘｔ”，ｗｗｗ．ｉｅｔｆ．ｏｒｇ，ｊｕｌｙ  ２００５）を用いるＮＡＳシステムに向けられる。ＮＦＳｖ４は、ＮＦＳｖ３の次世代のネットワークファイル共有のプロトコルで、今日最も使用されるネットワークファイル共有のプロトコルの一つである。しかしながら、ＮＦＳｖ４は、“移行”機能を用意しているものの、クラスタファイルシステム又はクラスタＮＡＳ環境でのリモートコピー機能やフェイルオーバ方法については開示も言及もしていない。
【０００５】
クラスタ内の一つのＮＡＳノードで障害が発生した場合には、ファイルシステムがリモートミラーファイルシステムから元の障害ＮＡＳノードに回復する迄は、ＮＦＳｖ４のクライアントは、障害ＮＡＳノードのファイルシステム又はその一部をもアクセスすることは不可能である。代わりに、障害ＮＡＳノードのＩＰアドレスは、既存のクラスタソフトウエアを用いてクラスタ内の他のＮＡＳノードにテイクオーバすることはできる。しかしながら、ＩＰアドレスをこの情勢でテイクオーバしても、障害ＮＡＳのＩＰアドレスをテイクオーバしたＮＡＳノードには通常は障害ＮＡＳと同じデータが存在してはいない。ミラーファイルシステムは通常は遠隔地のＮＡＳノードに存在し、このことはルータ等で分離された別のサブネットに存在することを意味する。かくして、ＮＦＳｖ４クライアントは、遠隔地のノードのバックアップデータが障害ノード上に回復する迄は障害ノードのファイルシステムにはアクセス不能のままである。本発明は、ＮＦＳｖ４下でのバックアップ方法とフェイルオーバシステムを提供する必要性に焦点を当てる。
【課題を解決するための手段】
【０００６】
本発明はリモートミラーされたクラスターファイルサーバに対するフェイルオ−バ方法を開示する。本発明では、ファイルサーバ又はＮＡＳノードはクラスタを構成する。各クラスタ内では、一つのＮＡＳノードのＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを他のＮＡＳノードにテイクオーバ（移す：ｔａｋｅ  ｏｖｅｒ）することができる。加えて、バックアップを可能にする為に、ＮＡＳ内の各ファイルシステムはリモートサイトのファイルシステムにミラーされる。本発明では、フェイルオ−バ方法はクラスタＮＡＳノード（ここではＮＡＳサーバ又はＮＡＳシステムとも呼ぶ）の如きリモートミラーされたクラスタファイルサーバに対して提供され、プライマリファイルシステムを保存するＮＡＳのフェイルオーバに際して、ＮＦＳｖ４クライアントはリファーラル情報を使用してリモートミラーファイルシステムにアクセスすることが可能になる。これによって、ＮＦＳｖ４クライアントは、プライマリファイルシステムを保存するプライマリノードのフェイルオーバに際して、一式以上のリモートミラーファイルシステム内のバックアップデータにトランスペアレントに（意識することなく：ｔｒａｎｓｐａｒｅｎｔｌｙ）アクセスすることが可能になる。
【０００７】
本発明のこれら及びその他の機能と便益は、後続する好適な実施例の詳細な説明により、本分野に通常の造詣のある人には明らかになるであろう。
【発明を実施するための最良の形態】
【０００８】
これまで述べた一般的な説明と以下に述べる好適な実施例の詳細な説明と共に、添付図面が現在意図している発明の最良の実施形態の原理を図示し説明する役割を果たす。
【０００９】
本発明の以下の詳細な説明に於いて、本開示の一部分を構成し本発明が実施される具体的実施例が、限定する為ではなく説明の為に、示される添付図面が参照される。本図面に於いては、同じ番号は幾つかの図面を通して実質的に同様な要素を表す。更に、図面、これまでの説明、及び以降の説明は代表的な説明の為のものに過ぎず本発明又はこの出願の範囲を如何なる意味でもこの説明に限定することを意図したものではない。
【００１０】
第一の実施例―システムアーキテクチャ
【００１１】
図１は本発明の方法と装置が適用されるハードウエア構成の一例を示す。本システムは一式以上のＮＡＳクライアント１０００、管理ホスト１１００、及び複数のＮＡＳシステム２００１−２００４（ＮＡＳ１−ＮＡＳ４）より成る。各ＮＡＳクライアント１０００は、(図２に示す)一式以上のアプリケーションとＮＦＳｖ４クライアントソフトウエアの如きプログラムを保存し実行するＣＰＵ１００１とメモリ１００２を有する。又各ＮＡＳクライアント１０００は、ＮＡＳクライアント１０００を、ネットワーク２５００、ルータ２６００、及び他のネットワーク２７００を介してＮＡＳ１−ＮＡＳ４  ２００１―２００４に接続する為のネットワークインターフェースカード又はアダプタ（ＮＩＣ）１００３を有する。ネットワーク２５００や２７００の典型的な媒体／プロトコルはイーサネット（登録商標）であるが、他のネットワークタイプとプロトコルも同様に使用可能である。
【００１２】
管理ホスト１１００は、(図２に示す)管理ソフトウエアや他のプログラムを保存し実行する為のメモリ１１０２とＣＰＵ１１０１を有する。管理ホスト１１００は、ＮＡＳクライアント１０００を、ネットワーク２５００、ルータ２６００、及び他のネットワーク２７００を介して、各々ＮＡＳ１−ＮＡＳ４  ２００１―２００４に接続する為のＮＩＣ１１０３を有する。ネットワーク２５００、２７００はイーサネット（登録商標）プロトコルのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はサブネットワークで良い。
【００１３】
ＮＡＳシステムＮＡＳ１  ２００１、ＮＡＳ２  ２００２、ＮＡＳ３  ２００３、及びＮＡＳ４  ２００４は、ＮＡＳヘッド２１００とストレージシステム２４００の二つの主要部分で構成される。ＮＡＳ１−ＮＡＳ４  ２００１−２００４は実質的に同じ要素を持つ為にＮＡＳ１  ２００１のみが描かれており、ＮＡＳシステムＮＡＳ２−ＮＡＳ４  ２００２−２００４は同じ又は機能的に同等の要素を持つものと理解してよい。更に、四式のＮＡＳシステム２００１−２００４のみが図示されているが、本発明では如何なる数のＮＡＳシステムでも交信の為に接続され本発明を実装できることを理解する必要がある。
【００１４】
ＮＡＳヘッド２００２はＣＰＵ２１０１、メモリ２１０２、キャッシュ２１０３、フロントエンドネットワークインターフェース（ＮＩＣ）２１０４、及びバックエンドインターフェース（Ｉ／Ｆ）２１０５を有する。図２に関連してより詳細に説明するように、ＮＦＳ要求又は他の操作を処理する複数のプログラムはメモリ２１０２に保存され、ＣＰＵ２１０１によって実行される。キャッシュメモリ２１０３はＮＦＳクライアント１０００からのＮＦＳ書き込みデータをストレージシステム２４００に送信する前に一時的に保存し、またＮＦＳクライアント１０００から要求されたＮＦＳ読み出しデータを保存しても良い。キャッシュメモリ２１０３はバッテリバックアップされた不揮発メモリであっても良い。もう一つの実施例としてメモリ２１０２とキャッシュメモリ２１０３は共通メモリとして結合しても良い。
【００１５】
フロントエンドＩ／Ｆ（ＮＩＣ）２１０４はＮＡＳヘッド２１００をネットワーク２５００に接続しＮＡＳクライアント１０００とＮＡＳヘッド２１００を交信可能にする為に使用され、イーサネット（登録商標）プロトコルデバイスで良い。バックエンドＩ／Ｆ２１０５はＮＡＳヘッド２１００とストレージシステム２４００を結合する為に使用される。ファイバチャネル（ＦＣ）とイーサネット（登録商標）は使用される接続フォーマットの典型的な例である。代わりに、ＮＡＳヘッド２１００とコントローラ２２００との内部結合の場合は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）の如きシステムバスが典型的な結合事例である。
【００１６】
ＮＡＳヘッド２１００はＮＡＳクライアント１０００及び管理ホスト１１００からの要求を処理する。ストレージシステム２４００はストレージコントローラ２２００とディスクドライブ２３００より構成される。ＮＡＳヘッド２１００とストレージシステム２４００はインターフェース２１０５と２２１４を介して接続することができる。ＮＡＳヘッド２１００とストレージシステム２４００は一つのストレージユニット内に実装することもできる。この場合には、この二つの要素はＰＣＩバスの如きシステムバスを介して接続される。別の実施例として、ＮＡＳヘッドとコントローラは物理的に分離しても良い。この場合には、この二つの要素はファイバチャネル又はイーサネット（登録商標）の如きネットワークを介して接続される。
【００１７】
ストレージシステム２４００内のストレージコントローラ２２００はＣＰＵ２２１１、メモリ２２１２、キャッシュメモリ２２１３、ホストインターフェース２２１４、及びディスクインターフェース（ＤＫＡ）２２１５を含む。ストレージコントローラ２２００はＮＡＳヘッド２１００からのＩ／Ｏ要求を処理する。図２に関連してより詳細に以下に説明するように、Ｉ／Ｏ要求を処理しその他の動作を行うプログラムはメモリ２２１２に保存されＣＰＵ２２１１により実行される。キャッシュメモリ２２１３はＮＡＳヘッド２１００からの書き込みデータをディスクドライブ２３００に保存する前に一時的に保存し、又ＮＡＳヘッド２１００から要求された読み出しデータを保存する為にも使用可能である。キャッシュメモリ２２１３はバッテリバックアップされた不揮発メモリであっても良い。更にもう一つの実装例として、メモリ２２１２とキャッシュメモリ２２１３は単一の共通メモリとして結合しても良い。
【００１８】
ホストインターフェース２２１４はＮＡＳヘッド２１００とコントローラ２２００を結合するのに使用される。ファイバチャネルとイーサネット（登録商標）は使用される接続プロトコルの典型的な例である。代わりに、ＰＣＩの如きシステムバス結合を使用してもよい。ディスクアダプタ（ＤＫＡ）２２１５はディスクドライブ２３００をストレージコントローラ２２００に結合する為に使用される。各ディスクドライブ２３００はＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）デバイスコマンドに従ってＩ／Ｏ要求を処理する。更に、以上で論議したアーキテクチュアは説明目的の為の代表的な事例で、多くのその他の適切なハードウェアアーキテクチュアが本発明に適用可能であることを指摘しておく必要がある。
【００１９】
ソフトウエア構成
【００２０】
図２は本発明の方法と装置が適用されるソフトウエア構成の一例を示す。本システムはＮＡＳクライアント１０００、管理ホスト１１００、及びＮＡＳシステム又はノードＮＡＳ１−ＮＡＳ４  ２００１−２００４上のソフトウエアを含む。
【００２１】
既に説明したように、ＮＡＳクライアント１０００は、その上でアプリケーション（ＡＰ）１０１１が読み書き動作又はＩ／Ｏの如きファイル操作を生成するコンピュータである。ＮＦＳｖ４クライアントプログラム１０１２もＮＡＳクライアントノード１０００上で動作する。ＮＦＳｖ４クライアントプログラムは、ＴＣＰ／ＩＰの如きネットワークプロトコルを通して、ＮＡＳ１  ２００１のＮＦＳｖ４サーバプログラム２１２１と交信する。ＮＦＳｖ４クライアント１０１２とＮＦＳｖ４サーバ２１２１はネットワーク２５００及び／又は２７００を通して交信できる。更に、ルータ２６００は分離した部分ＬＡＮネットワーク２５００、２７００を接続して、単一のＬＡＮとして動作させることができる。
【００２２】
管理ソフトウエア１１１１は管理ホスト１１００に乗っている。管理ソフトウエア１１１１はリモートコピーやリモート回復の如きストレージ管理指令を発行できる。
【００２３】
既に議論したように、ＮＡＳシステム又はノードＮＡＳ１  ２００１、ＮＡＳ２  ２００２、ＮＡＳ３  ２００３、及びＮＡＳ４  ２００４の各々はＮＡＳヘッド２１００とストレージシステム２４００の二式の主要部分で構成され、これらの各々は以下に述べるように独特な機能を果たす。
【００２４】
ＮＡＳヘッド２１００：ファイル関連操作はＮＡＳヘッド２１００で処理される。ＮＦＳｖ４サーバ２１２１はＮＡＳヘッド２１００に乗って、ＮＡＳクライアント１０００のＮＦＳｖ４クライアント１０１２と交信する。サービスデーモン２１２３やＮＡＳマネージャソフトウエア２１６１の如き幾つかのサービスプログラムモジュールは同様にＮＡＳヘッド２１００上で動作する。ローカルファイルシステム２１２４はストレージシステム２４００へのファイルＩ／Ｏ動作を処理し、ＮＡＳオペレーティングシステム（ＯＳ）カーネル２１２５は機能インフラを提供し、更にストレージシステムのドライバ２１２６はファイルＩ／Ｏ動作をブロックレベル動作に変換しＳＣＳＩコマンドを介してストレージコントローラ２２００と交信する。前述し以下でも述べるソフトウエアモジュールは各々のデバイスのメモリ又はリモート、ローカルを問わず、ハードディスクドライブの如き他のコンピュータ読み取り可能な媒体に保存される。
【００２５】
ストレージシステム２４００：ストレージコントローラ２２００はＮＡＳヘッド２１００より受信したＳＣＳＩコマンドを処理して、一台以上のディスクデバイス２３００から生成された論理ボリューム２３１０に対する読み書き動作を実行する。一台のボリューム２３１０は一台以上のディスクドライブ２３００で構成されても良く又複数のボリューム２３１０が単一のディスクドライブ２３００で生成されても良い。ＮＦＳｖ４ファイルシステムは、ボリューム２３１０の中に生成され、ファイルとディレクトリより成るファイルシステムディレクトリトリーのデータ構成に従ってファイルを保存する。以下により詳細に説明するように、ファイルシステム又はその部分は、同じＮＡＳサーバの単一ボリューム又は複数ボリューム上に、又は複数のＮＡＳサーバの複数のボリューム上に生成可能である。同様に複数のファイルシステム又はその部分は単一のボリューム上に生成可能である。
【００２６】
ＮＦＳｖ４移行
【００２７】
ＮＦＳｖ４プロトコルはファイルシステムの全体又はその部分を一つのストレージシステムから他のストレージシステムに移行させる機能を持つ。独特なファイルシステムロケーション属性、“ｆｓ＿ｌｏｃａｔｉｏｎ”を使用することにより、ＮＦＳｖ４プロトコル内で、サーバファイルシステムを移行することが可能になる。ファイルシステムのロケーション属性はＮＡＳクライアントがサーバに一つのファイルシステム、或はディレクトリ又はファイルの如き、その部分のロケーションを問い合わせることを可能にする。一つのファイルシステムの全体又はその一部分が元のストレージシステムから移行していた場合には、ＮＡＳクライアントは、移行済ファイルシステムにアクセスを又はそれ以外の操作を試行した時に“ＮＦＳ４ＥＲＲ＿ＭＯＶＥＤ”エラーを受信し、ＮＡＳクライアントは次いでそのファイルシステム又はファイルシステムの一部分の新ロケーションを問い合わせることができる。元のＮＡＳファイルサーバは移行済みファイルシステム又はそのファイルシステムの一部分の新ロケーションを示す情報をＮＡＳクライアントに送信する。この情報により、このクライアントはファイルシステムの適切なロケーションに独自のポリシーでアクセスできる。
【００２８】
このｆｓ＿ｌｏｃａｔｉｏｎ属性はファイルシステムのロケーションのリストを提供する。このロケーションはサーバ名（ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）ドメインかＩＰアドレス）とファイルシステムのルートを表示するパス名により指定される。提供されるサービスのタイプによって、このリストはそのファイルシステムの新ロケーションか交代ロケーションを提供する。この情報を使って、クライアントは要求を新ＮＡＳサーバにリダイレクトする。
【００２９】
図３はＮＦＳｖ４プロトコル下で実行される移行機能の概念図を示す。ファイルシステム“ｅｘｐｏｒｔ１”２３１１がＮＡＳ１  ２００１のボリューム上に生成され、第二のファイルシステム“ｅｘｐｏｒｔ２”２３１３がＮＡＳ２  ２００２のボリューム上に生成され、ＮＦＳｖ４クライアントにエクスポートされる。ＮＦＳｖ４クライアント１０１２は、ＮＡＳ１“ｅｘｐｏｒｔ１”２３１１によってエクスポートされるファイルシステムを“／ｍｎｔ／ｎａｓ１”として、ＮＡＳ２“ｅｘｐｏｒｔ２”２３１３を“／ｍｎｔ／ｎａｓ２”としてマウントする。すると、アプリケーションソフトウエア１０１１は、ファイルシステムをディレクトリトリー１５００に示される通りに見ることができる。本ディレクトリトリーは実際には、二式の異なるＮＡＳシステム２００１、２００２に分割されていても、事実上、一式のファイルシステム全体の単一構造を持っているようにアプリケーションソフトウエア１０１１には表示される。或る時点で、ＮＡＳ１  ２００１のファイルシステム／ｅｘｐｏｒｔ１  ２３１１はＮＡＳ２のファイルシステム／ｅｘｐｏｒｔ１  ２３１２に移行される。本移行プロセスの後に、ＮＦＳｖ４クライアント１０００がファイルシステム２３１１にＮＦＳｖ４読み出し操作等を使用して、ディレクトリトリー“／ｅｘｐｏｒｔ１”にアクセスを試行すると、ＮＦＳｖ４サーバ２１２１はＮＦＳ４ＥＲＲ＿ＭＯＶＥＤと今やＮＡＳ２に存在する移行済ファイルシステムｅｘｐｏｒｔ１  ２３１１のロケーションを表示するリファーラルファイルを返送する。次いで、ＮＦＳｖ４クライアント１０１２は、ＮＡＳ２  ２００２上のＮＦＳｖ４サーバ２１３１にアクセス要求することにより、ファイルシステムｅｘｐｏｒｔ１  ２３１２の現ロケーションにその操作をリダイレクトすることができる。
【００３０】
図４は、図３で示したファイルシステムのように、ｉノードによりクライアントが移行先ファイルシステムを参照できる、ファイルシステムに於けるリファーラルのデータ構造の一例を示す。ｉノードはファイル、ディレクトリ、又はリファーラルを表示するのに使用できる。各ｉノードはｉノード番号３００１、ファイルタイプ３００２、及びファイル又はディレクトリ情報が格納されているディスクブロックアドレスを示すブロックポインタ３００３より成る。ｉノードがファイルを示す（そのファイルタイプフィールド３００２が“ファイル”の）場合は、ｉノードのポインタ３００３で示されるデータブロックはファイルの実際のデータを含んでいる。一つのファイルが複数（例えば１０）のブロックに保存されている場合には、この１０個のディスクブロックのアドレスはブロックポインタ３００３に記録される。反対に、ｉノード３０００の如くｉノードがディレクトリ用であったら、ファイルタイプフィールド３００２は“ディレクトリ”で、ブロックポインタ３００３で示されるデータブロックは、ディレクトリ（即ちディレクトリエントリ）内の全てのファイルとディレクトリ（サブディレクトリ）のｉノード番号と名前のリスト３００４を格納する。かくして、図４に於いて、ルートのｉノード３０００は、ｉノード番号“１０”のディレクトリ“ｅｘｐｏｒｔ１”を持つディレクトリタイプのｉノードである。しかしながら、“ｅｘｐｏｒｔ１”に対するディレクトリトリーは、ＮＡＳ１  ２００１からＮＡＳ２  ２００２に移行している為に、リファーラルファイルのｉノード３００５は元の“ｅｘｐｏｒｔ１”ディレクトリｉノードを置き換えている。このリファーラルのｉノード３００５は、ファイルシステム“ＮＡＳ２：／ｅｘｐｏｒｔ１”のロケーションを示す、ローカルファイルシステム２１２４内のファイル３００６のブロックアドレスをポイント可能である。加えて、リファーラルについては他の実装も可能で、本発明は本実装方法に制限されるものではないことを指摘しておく。
【００３１】
図５はこれまで述べてきた現行システムに於いて発生し得る問題状況を示す概念図である。図示するように、一式のファイルシステムの全体１６００は、ＮＡＳクライアント１０００のアプリケーション１０１１に表示されるが、ＮＡＳ１  ２００１とＮＡＳ２  ２００２に分散している。ＮＦＳｖ４クライアント１０１２はファイルシステム“ｅｘｐｏｒｔ１”２３２１を“／ｍｎｔ／１”として、“ｅｘｐｏｒｔ２”２３２２を“／ｍｎｔ／２”として、更に“ｅｘｐｏｒｔ３”２３２３を“／ｍｎｔ／３”としてマウントする。ひとたび、ファイルシステムがマウントされると、クライアント１０００のアプリケーションソフトウエア１０１１は、図５に示す如く、一つのファイルシステムの全体としてディレクトリトリー１６００を認識できる。
【００３２】
ＮＡＳ１  ２００１とＮＡＳ２  ２００２をリモートコピーバックアップする為に、エクスポートされたファイルシステムはリモートＮＡＳ３  ２００３とリモートＮＡＳ４  ２００４に各々複製される。かくして、この実施例では、ファイルシステム２３２１はＮＡＳ３  ２００３のファイルシステム２３２４に、ファイルシステム２３２２はＮＡＳ３  ２００３のファイルシステム２３２５に、ファイルシステム２３２３はＮＡＳ４  ２００４のファイルシステム２３２６に複製される。ＮＡＳ１  ２００１とＮＡＳ２  ２００２は同じサブネットワーク即ちサブネット２５００に存在する。ＮＡＳ３  ２００３とＮＡＳ４  ２００４は同じサブネット２７００に存在する。サブネット２５００と２７００は異なったサブネットであるが、ルータ２６００を通して交信する。ここで、ＮＡＳ１  ２００１で障害が発生したら、ＮＦＳｖ４クライアントは、ＮＡＳ３  ２００３のバックアップデータがＮＡＳ１  ２００１に回復する迄は、ファイルシステム２３２１と２３２２にはアクセスを継続することはできない。
【００３３】
ＮＡＳ１  ２００１のＩＰアドレスは、クラスタソフトウエアを使用してＮＡＳ２  ２００２にテイクオーバすることはできる。しかしながら、ＩＰアドレスをテイクオーバしても、ＮＡＳ２  ２００２にはＮＡＳ１  ２００１のファイルシステム２３２１と２３２２に対応するデータは存在しない。バックアップデータはＮＡＳ３  ２００３に存在しており、又ＮＡＳ３  ２００３は別のサブネット２７００に存在してＮＡＳ１  ２００１及びＮＡＳ２  ２００２とは同じクラスタのＮＡＳシステムの一員ではない為、ＮＡＳ３  ２００３はＮＡＳ１  ２００１のＩＰアドレスをテイクオーバすることはできない。従って、ＮＦＳｖ４クライアント１０００は、ＮＡＳ３  ２００３のバックアップデータがＮＡＳ１  ２００１に回復する迄は、ファイルシステム２３２１と２３２２にはアクセスをすることはできない。
【００３４】
これまで述べた例では、二式のクラスタノード（ＮＡＳ１とＮＡＳ２はクラスタを構成）配置と二式の複製ノード（ＮＡＳ１とＮＡＳ３がペア、ＮＳＡ２とＮＡＳ４がペア）シナリオが採用されている。しかしながら、本発明は二式を超えるクラスタノード及び複製構成にも適用できることを理解する必要がある。この場合、ＩＰアドレスはクラスタ内の他のノードの一つにテイクオーバすれば良い。更に、フェイルオーバプロセスはＮＡＳフロントエンドポートのＩＰアドレスとＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスの対応（マッピング）を変更することに注意する必要がある。この為に、ＮＡＳは、ＮＡＳクライアント、ＬＡＮスイッチ等に対するＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）キャッシュを更新する為に、ＩＰアドレスに対してグラテュータス(余分な、好意的な)ＡＲＰ（Ｇｒａｔｕｉｔｏｕｓ−ＡＲＰ）要求を送信する。このグラテュータスＡＲＰメッセージは、慣用的な開放型システム間相互接続（ＯＳＩ）モデルに於いてはレイヤ２（データリンク）に存在して、レイヤ３（ネットワーク）を扱うルータを跨って機能することは不可能である。従って、典型的なフェイルオーバを、一つのサブネット上のＮＡＳから別のサブネット上のＮＡＳに対して実行することは不可能である。
【００３５】
図６は本発明の第一の実施例の概念図を示す。本発明は、図５に関連して述べた問題点を解決する為に、ＮＦＳｖ４プロトコルが提供する移行（Ｍｉｇｒａｔｉｏｎ）とリダイレクト（Ｒｅｄｉｒｅｃｔｉｏｎ）の機構を採用する。本発明の説明をより簡単にする為に、図５の“ｅｘｐｏｒｔ３”２３２３の如く、ＮＡＳ２  ２００２上に生成されエクスポートされるファイルシステムは図６の例では省略されているが、本発明は、如何なる数のファイルシステムを持つクラスタＮＡＳ構成に於ける如何なる数のＮＡＳシステムにも等しく適用できることを理解する必要がある。図６で示す通り、ファイルシステム２３２１及び２３２２はＮＦＳｖ４クライアント１０１２にエクスポートする為に生成される。ＮＡＳクライアント１０００上のＮＦＳｖ４クライアント１０１２はエクスポートされたファイルシステムＮＡＳ１“ｅｘｐｏｒｔ１”２３２１を“／ｍｎｔ／１”として、“ｅｘｐｏｒｔ２”２３２２を“／ｍｎｔ／２”としてマウントする。これに続いて、アプリケーションソフトウエア１０１１は、実質的にディレクトリトリー全体１７００として現れるディレクトリトリーを認識することができる。リモートデータバックアップを生成する為に、エクスポートされたファイルシステム２３２１と２３２２はＮＡＳ３  ２００３に複製され、この結果ファイルシステム２３２１はＮＡＳ３  ２００３上のファイルシステム２３２４に、ファイルシステム２３２２はファイルシステム２３２５に複製される。ＮＡＳ１  ２００１とＮＡＳ２  ２００２は同じサブネット２５００上に存在し第一のクラスタＮＡＳシステム２０１を形成する。ＮＡＳ３  ２００３はサブネット２７００上に存在し、ＮＡＳ４  ２００４と共に第一のクラスタＮＡＳシステム２０１とは遠く離れた場所に存在可能な第二のクラスタＮＡＳシステム２０２の一員となる。サブネット２５００と２７００は、ル−タ２６００の如きネットワーク装置を介して互いに交信できる異なったサブネットである。ＮＡＳ１  ２００１とＮＡＳ２  ２００２は、ＮＡＳ１  ２００１又はＮＡＳ２  ２００２の何れかが障害になったらＩＰアドレスをテイクオーバできるクラスタ２０１を形成する。更に、本例でのクラスタＮＡＳシステム２０１、２０２は、各々のクラスタに二つのＮＡＳノードしかないように描かれているが、本発明の機能を損なわないで、より多数のＮＡＳノードを使用して各クラスタを構成できることを理解する必要がある。
【００３６】
リモートコピーを開始する為に、管理ホスト１１００又は他の認定されたソース上の管理ソフトウエア１１１１はＮＡＳ１  ２００１上のＮＡＳマネージャ２１６１に複製要求コマンドを発行し、ソースファイルシステム、デスティネーション（送付先）ノードとデスティネーションファイルシステムの如きパラメータを提供する。本実施例ではパラメータは下記の通りである。複製（２３２１、ＮＡＳ３、２３２４）及び複製（２３２２、ＮＡＳ３、２３２５）。ＮＡＳマネージャ２１６１、ＮＡＳ１  ２００１上の他の複製ソフトウエア、又は他の公知の手段がこの複製動作の管理に使用できる。かくして、ＮＡＳ１  ２００１上のファイルシステム２３２１は、その下にディレクトリトリー“ｅｘｐｏｒｔ１”を持つファイルシステムの一部分に対するソース（プライマリ）ファイルシステムとして、及びＮＡＳ３上のファイルシステム２３２４は、ファイルシステムのこの部分に対するデスティネーション（セカンダリ又はミラー）ファイルシステムとして稼動し、この結果ファイルシステム２３２１と２３２４は複製ペアを形成する。同様に、ＮＡＳ１  ２００１上のファイルシステム２３２２は、その下にディレクトリトリー“ｅｘｐｏｒｔ２”を持つファイルシステムの一部分に対するソース（プライマリ）ファイルシステムとして、又ＮＡＳ３  ２００３上のファイルシステム２３２５は、ファイルシステムのこの部分に対するデスティネーション（セカンダリ）ファイルシステムとして稼動し、この結果ファイルシステム２３２２と２３２５は第二の複製ペアを形成する。更に、本実施例のファイルシステムは同じＮＡＳシステム上で二式のボリュームに分離されて描かれているが、単一ボリューム上にファイルシステムの複数部分が存在しても良く、又ファイルシステムは、一式のＮＡＳクラスタ内の如何なる数のＮＡＳシステム上の如何なる数のボリューム上に分割されても良いことを理解する必要がある。更に、ＮＡＳクラスタ又はＮＡＳシステム上には複数のファイルシステムが共存してその幾つか又は全てが本発明を実装できることを理解する必要がある。
【００３７】
本発明の下では、複製の初期化プロセスが完了したら、ＮＡＳ１  ２００１上のＮＡＳマネージャ２１６１はＮＡＳ２  ２００２上のＮＡＳマネージャ２１７１にリファーラルファイルの生成を要求する。ＮＡＳ２  ２００２上のＮＡＳマネージャ２１７１は、ＮＡＳ２  ２００２上のＮＦＳｖ４サーバ２１３１に、“／ｅｘｐｏｒｔ１”に対するリファーラルファイル“ＮＡＳ３：／ｅｘｐｏｒｔ１”ファイルシステム２３３１と“／ｅｘｐｏｒｔ２”に対するリファーラルファイル“ＮＡＳ３：／ｅｘｐｏｒｔ２”ファイルシステム２３３２の生成を要求する。ファイルシステム２３３１と２３３２は、説明を簡単にする為に図６では分離したファイルシステムとして描かれているが、物理的にはこのリファーラルファイルはＮＡＳ２上の単一即ち、ディレクトリが同じファイルシステムに存在するファイルシステムに保存することもできる。更に、ＮＡＳ２上には同じファイル又はディレクトリ名は存在しないように、クラスタＮＡＳシステム２０１、２０２全体に対して何かの命名規則を適用することを前提としており、ＮＡＳノード名をディレクトリ名として使用する等でエクスポートディレクトリに同じ名前を生成することを避けている。ＮＡＳ２  ２００２上にこれらリファーラルファイルを生成することにより、ＮＡＳ１  ２００１からＮＡＳ２  ２００２にフェイルオーバが発生した時に、ファイルシステム２３２１と２３２２は、ＮＡＳ３  ２００３上に移行済としてＮＡＳ２  ２００２上に現れる。この結果、ＮＦＳｖ４クライアント１０１２は、ＮＦＳｖ４のリダイレクト機構を利用して、ＮＡＳ１  ２００１が障害になりフェイルオーバに応答してＩＰアドレスのテイクオーバが発生したことを認識することなしに、リモート複製データにアクセスすることになる。
【００３８】
図７は、ＮＡＳ２  ２００２上にリファーラルファイルを生成する複製プロセスのフローを示し、下記のステップより成る。
【００３９】
ステップ４０００：ファイルシステムは、第一のクラスタ２０１内のプライマリファイルシステムと複製ペアを形成する第二のクラスタ２０２内の指定されたミラーセカンダリファイルシステムに初期複製される。ファイルシステムの複製は、全ての指定データがプライマリファイルシステムからこれらのセカンダリファイルシステムに複製される迄継続する。
【００４０】
ステップ４００１：ファイルシステムの複製プロセスが完了した後に、ＮＡＳマネージャ２１６１は、各複製済ファイルシステムに対するリファーラルファイルの生成を要求する。図６に示す例では、“／ｅｘｐｏｒｔ１”ファイルシステム２３２１に対するリファーラル生成要求が、複製先ノードとディレクトリのパラメータと共に、ＮＡＳ２  ２００２上のＮＡＳマネージャ２１７１に送信される。かくして、ここでは、ＮＡＳ２  ２００２がリファーラル生成を依頼される。しかしながら、このことは本発明がノード数に限定されることを意味せず、二式を超えるノードがクラスタ２０１を形成することは可能である。この場合は、クラスタノードの一つが障害発生後にＮＡＳ１  ２００１のＩＰアドレスをテイクオーバして、リファーラルはこのＩＰアドレスをテイクオーバするノード上に作成されるかクラスタ２０１内の全てのノードに同様に作成される必要がある。
【００４１】
ステップ４００２：ＮＡＳ２  ２００２のＮＡＳマネージャ２１７１はこの要求を受信する。
【００４２】
ステップ４００３：ＮＡＳマネージャ２１７１は“ｅｘｐｏｒｔ１”に対する新規ファイルシステムを生成する。
【００４３】
ステップ４００４：ＮＡＳマネージャ２１７１は、ファイルシステムを“／ｅｘｐｏｒｔ１”としてローカルにマウントするか又は単に“ｅｘｐｏｒｔ１”に対するディレクトリを作成する。
【００４４】
ステップ４００５：ＮＡＳマネージャ２１７１は、ＮＦＳｖ４サーバに、元のファイルシステムがミラーされるリモートＮＡＳを参照する“ＮＡＳ３：／ｅｘｐｏｒｔ１”の如きファイルシステムのリファーラルファイルの作成を依頼する。物理的には、このリファーラルファイルはＮＡＳ２上のディスクドライブに保存される。
【００４５】
ステップ４００６：同じ手順がファイルシステム２３３２に適用される。
【００４６】
本発明下でのフェイルオーバ処理
【００４７】
図８は本発明に従うフェイルオーバプロセスの概念図を示す。システム構成は既に述べた図６と同じである。ＮＡＳ１  ２００１で障害が発生すると、ＮＡＳ１  ２００１のＩＰアドレスをＮＡＳ２  ２００２にテイクオーバする。次いで、ＮＦＳｖ４クライアント１０１２が、“ＲＥＡＤ（／ｍｎｔ／２／ｂ／ｆ）”の如きコマンドを使用して、ファイルシステム２３２２の“ｆ”ファイルを読む等、ＮＡＳ１上のデータにアクセスを試行すると、このＮＦＳ操作はＮＡＳ１  ２００１ではなくＮＡＳ２  ２００２のＮＦＳｖ４サーバ２１３１に送信される。ＮＡＳ２  ２００２のＮＦＳｖ４サーバ２１３１は、この要求を受信してこれを処理する。ＮＦＳｖ４サーバ２１３１は、ディレクトリ“／ｅｘｐｏｒｔ２”を検索してリファーラルファイル“ＮＡＳ３：／ｅｘｐｏｒｔ２”を検出する。次いで、ＮＡＳ２  ２００２のＮＦＳｖ４サーバ２１３１は、ロケーション情報（“ｆｓ＿ｌｏｃａｔｉｏｎ”）をＮＡＳクライアント１０００のＮＦＳｖ４クライアント１０１２に返送する。ＮＦＳｖ４クライアント１０１２は、ＮＡＳ２より受信したロケーション情報に従って、ＮＡＳ３のＮＦＳｖ４サーバ２１４１に動作をリダイレクトする。ＮＡＳ３のＮＦＳｖ４サーバ２１４１は、ディレクトリを検索してミラーファイルシステム２３２５のファイル“／ｅｘｐｏｒｔ２／ｂ／ｆ”を開く。
【００４８】
図９はＮＡＳ１で障害が発生した場合のプロセスフローを示し、下記ステップより成る。
【００４９】
ステップ５０００：ＮＡＳ１で障害が発生すると、ＮＡＳ１  ２００１のＩＰアドレスをＮＡＳ２にテイクオーバする。
【００５０】
ステップ５００１：ＮＦＳｖ４クライアントはＮＡＳ１上のファイルシステム２３２２内のデータに、コマンド“ＲＥＡＤ（／ｍｎｔ／２／ｂ／ｆ）”を発行する等によりアクセスを試行する。
【００５１】
ステップ５００２：ＩＰアドレスはテイクオーバされている為、このクライアント動作はＮＡＳ２上のＮＦＳｖ４サーバ２１３１に送信される。ＮＦＳｖ４クライアントはＰＵＴＲＯＯＴＦＨ、ＬＯＯＫＵＰ、ＧＥＴＡＴＴＲ、及びＧＥＴＦＨ動作を含む複合命令を発行して、最初にマウントポイント“／ｅｘｐｏｒｔ２”を検索する。
【００５２】
ＰＵＴＲＯＯＴＦＨ動作により、サーバ（ＮＡＳ２）は“現”ファイルハンドルをサーバのファイルトリーのルートにセットする。ルートファイルハンドルはＮＦＳバージョン４プロトコルでの特別なファイルハンドルの一つである。ルートファイルハンドルは、ＮＦＳサーバでのファイルシステム名前空間の“形式的”ルートである。クライアントはＰＵＴＲＯＯＴＦＨ動作により、ルートファイルハンドルを使用して動作開始する。一たび、ＰＵＴＲＯＯＴＦＨ動作が使用されると、クライアントは次いでＬＯＯＫＵＰ動作により、サーバのファイルトリーの全体を検索することができる。
【００５３】
ＬＯＯＫＵＰ動作により、サーバはサーバ上の指定されたファイル名又はディレクトリ名を検索し、そのファイル又はディレクトリのファイルハンドルを返送する。このケースでは、ＮＡＳ２サーバはディレクトリ“ｅｘｐｏｒｔ２”の検索を指示される。
【００５４】
ＧＥＴＡＴＴＲ動作では、その時のファイルハンドルで指定されるファイルシステムオブジェクトのファイルタイプ、ファイルサイズの如き属性を取得する。
【００５５】
ＧＥＴＦＨ動作は現ファイルハンドルを取得する。
【００５６】
ステップ５００３：ＮＡＳ２  ２００２のＮＦＳｖ４サーバ２１３１はＮＦＳｖ４クライアントから複合命令を受信し、ディレクトリ“／ｅｘｐｏｒｔ２”を検索して処理する。ＮＦＳｖ４サーバ２１３１はディレクトリ“／ｅｘｐｏｒｔ２”を検索してリファーラルファイル“ＮＡＳ３：／ｅｘｐｏｒｔ２”を検出する。次いで、ＮＦＳｖ４サーバ２１３１はエラーメッセージ“ＮＦＳ４ＥＲＲ＿ＭＯＶＥＤ”及び“ｆｓ＿ｌｏｃａｔｉｏｎ”属性内のファイルシステムのロケーションをＮＦＳｖ４クライアントに返送する。“ｆｓ＿ｌｏｃａｔｉｏｎ”はリファーラル情報を含む構造である。このケースでは、“ｆｓ＿ｌｏｃａｔｉｏｎ”はリファーラル情報“ＮＡＳ３：／ｅｘｐｏｒｔ２”を含んでいる。本情報を参照して、ＮＦＳｖ４クライアント１０００は動作をリダイレクトすべきロケーションを決定できる。このケースでは、ＮＦＳｖ４クライアント１０１２は、このリファーラル情報より望みのファイルは“ＮＡＳ３：／ｅｘｐｏｒｔ２”に存在することを決定できる。
【００５７】
ステップ５００４：ＮＦＳｖ４クライアント１０００は、ステップ５００３で受信した“ｆｓ＿ｌｏｃａｔｉｏｎ”属性の情報に基づいて、ＮＡＳ３  ２００３のＮＦＳｖ４サーバ２１４１に動作をリダイレクトする。かくして、ＮＦＳｖ４クライアント１０１２は、ステップ５００２で述べたのと同じ複合命令を用いて、ＮＡＳ３のディレクトリ“／ｅｘｐｏｒｔ２”を検索する。
【００５８】
ステップ５００５：ＮＡＳ３  ２００３のＮＦＳｖ４サーバ２１４１は、“／ｅｘｐｏｒｔ２”を成功裏に検索して、ディレクトリ“／ｅｘｐｏｒｔ２”のファイルハンドルを返送する。
【００５９】
ステップ５００６：ＮＦＳｖ４クライアントは、ＰＵＴＦＨ、ＯＰＥＮ、ＧＥＴＦＨ、及びＲＥＡＤを含む第二の複合命令を発行してステップ５００５で受信したファイルハンドルに従って、ＮＡＳ３のファイル“ｂ／ｆ”を開いて読み出すことを要求する。
【００６０】
ＰＵＴＦＨ動作は、現ファイルハンドルをその命令の引き数（アーギュメント）として提供されるファイルハンドル（このケースでは、“／ｅｘｐｏｒｔ２”に対するファイルハンドルがクライアントによって提供される）に置き換える。
【００６１】
ＯＰＥＮ命令では、ＮＡＳ３サーバは、その命令の引き数として提供されるファイルハンドル（このケースでは、“／ｅｘｐｏｒｔ２／ｂ／ｆ”に対するファイルハンドルが提供される）を持つファイルを開く。
【００６２】
ＲＥＡＤ命令では、サーバはそのファイルを読み出しデータをクライアントに返送する。
【００６３】
ステップ５００７：ＮＡＳ３のＮＦＳｖ４サーバ２１４１は成功裏にファイル“ｂ／ｆ”を開いて読み出す。かくして、上記した手順にて、ＮＦＳｖ４クライアントは、フェイルオーバ期間中も、異なったクラスタＮＡＳシステム上のファイルシステムのバックアップコピーにアクセスすることで、トランスペアレントにファイルシステムにアクセスし続けることができる。
【００６４】
本発明下でのフェイルバックプロセス
【００６５】
図１０は本発明に従うフェイルバックプロセスの概念図を示す。この事例でのシステム構成は図６と８で既に述べた事例と同じである。ハードディスクドライブ、他の部品、或はＮＡＳ１  ２００１の全体の交換等によるＮＡＳ１のハードウエア回復の完了後に、ソフトウエア回復が開始する。このソフトウエア回復の過程で、ファイルシステムはファイルシステム２３２１と２３２２に回復する。このケースでは、ＮＡＳ３上のミラーファイルシステム２３２４と２３２５が各々ＮＡＳ１のファイルシステム２３２１と２３２２にコピーバックされる。このミラーファイルシステム上のコピーが全てコピーバックされた後に、ＮＡＳ１  ２００１上のローカルＮＡＳマネージャ２１６１が回復したファイルシステムをマウントすることによりファイルシステム回復は完了する。次いで、ＮＦＳｖ４クライアント１０１２は、フェイルオーバ期間中はＮＡＳ３にＮＦＳ動作をリダイレクトしていたとしても、ＮＡＳ１  ２００１に再アクセスを開始する必要がある。下記に述べるように二つの状況があり得る。（１）フェイルオーバ／フェイルバック期間中にミラーファイルシステムにアクセスがあった場合、と（２）フェイルオーバ／フェイルバック期間中にはファイルシステムにはアクセスが無かった場合。
【００６６】
図１１は、フェイルオーバ期間中にディレクトリ“／ｅｘｐｏｒｔ２”２３２５への如くミラーファイルシステムへのアクセスがあったケースでのプロセスフローを示し、以下のステップより成る。
【００６７】
ステップ６０００：ＩＰアドレスのテイクオーバに続いて、障害になったＮＡＳシステムＮＡＳ１  ２００１が修理又は交換される。ハードディスクドライブや他の部品、又はＮＡＳシステム全体の交換等によるハードウエア回復、及びオペレーティングシステムの回復の完了後、ＮＡＳ１  ２００１はリブートしＮＡＳ２  ２００２からＩＰアドレスをテイクバックする。
【００６８】
ステップ６００１：このリブート後の或る時点で、管理ホスト１１００の管理ソフトウエア１１１１は、ＮＡＳ１  ２００１のＮＡＳマネージャ２１６２に回復命令を発行して、ファイルシステム“／ｅｘｐｏｒｔ１”２３２４及び“／ｅｘｐｏｒｔ２”２３２５をＮＡＳ３  ２００３から回復する。ＮＡＳ１  ２００１及びＮＡＳ３上のＮＡＳマネージャ２１６１及び２１８１又は他のソフトウエアはファイルシステムの回復プロセスを実行できる。
【００６９】
ステップ６００２：ファイルシステムの回復期間中には、ＮＦＳｖ４クライアントがディレクトリ“／ｅｘｐｏｒｔ２”にアクセスを試行すると、この動作は依然として、ＮＡＳ３上の“／ｅｘｐｏｒｔ２”ファイルシステムのコピー２３２５に送信され、元々のＮＡＳ１  ２００１上のファイルシステムへのアクセスは、フェイルバック回復期間中はＮＡＳ３にリダイレクトされ続ける。
【００７０】
ステップ６００３：例えば、回復期間中にファイルシステム“／ｅｘｐｏｒｔ２”に読み出しアクセスがあった場合には、ＮＡＳ３  ２００３のＮＦＳｖ４サーバ２１４１は、通常のＮＦＳｖ４の読み出し操作を使用してファイルシステム２３２５からデータを読み出す。回復期間中にファイルシステム“／ｅｘｐｏｒｔ２”に書き込みアクセスがあった場合には、ＮＡＳ３  ２００３のＮＦＳｖ４サーバ２１４１は、通常のＮＦＳｖ４の書き込み操作を使用してファイルシステム２３２５にデータを書き込む。加えて、ＮＡＳマネージャ２１８１又はＮＡＳ３  ２００３上の何か他の複製モジュールは、書き込みデータをＮＡＳ１  ２００１にミラーする。ＮＡＳマネージャ２１８１又はＮＡＳ３  ２００３の他のソフトウエアに対するもう一つのオプションは、書き込み操作を保存し、回復プロセスが完了してからＮＡＳ１  ２００１のＮＦＳｖ４サーバにこの書き込み操作を送信することである。更に他のオプションは、フェイルオーバ及びフェイルバック回復期間中は障害になったファイルシステムへの全てのＮＦＳ書き込み動作を阻止することである。
【００７１】
ステップ６００４：ＮＡＳ１へのミラーファイルシステムのコピーバックが完了して、ＮＡＳ１  ２００１のＮＡＳマネージャ２１６１がファイルシステム２３２１と２３２２をローカルにマウントしてから、ＮＦＳｖ４クライアントはＮＡＳ３  ２００３に代わってＮＡＳ１  ２００１へのアクセス開始の準備が今や整うことになる。
【００７２】
ステップ６００５：ＮＡＳ１へのアクセスに戻す切り替えを行うのに二つのオプションがあり得る。第一に、ＮＡＳマネージャ２１８１又はＮＡＳ３の何か他の複製モジュールは、ＮＡＳ３のＮＦＳｖ４サーバ２１４１に、ファイルシステム“／ｅｘｐｏｒｔ２”２３２５にリファーラル“ＮＡＳ１：／ｅｘｐｏｒｔ２”を生成する如く、回復したファイルシステムにリファーラルを生成することを要求する。物理的には、このリファーラルファイルはＮＡＳ３のディスクドライブに保存できる。次いで、リモートコピーが再開されると、クライアントがアクセスできるように、ミラーファイルシステムに異なったファイルシステム名の使用が可能になる。別案として、ＮＡＳマネージャ２１６３は、ＮＦＳｖ４クライアントが現在のファイルハンドルを使用したら、ＮＡＳ３のＮＦＳｖ４サーバ２１４１はＮＦＳ４ＥＲＲ＿ＳＴＡＬＥエラーを返すように要求することができる。これにより、ＮＦＳｖ４クライアントは、このファイルシステムに新しいファイルハンドルを取得してＮＡＳ１の元のファイルハンドルに戻ることが可能になる。これらの動作は、ミラーファイルシステムの回復段階が終了した時に、ＮＡＳ１  ２００１のＮＡＳマネージャ２１６１又はＮＡＳ３のＮＡＳマネージャ２１８１からの要求によって起動される。
【００７３】
ステップ６００６：次いで、ＮＦＳｖ４クライアントが、例えば、“ＲＥＡＤ（／ｍｎｔ／２／ｂ／ｆ）”コマンドにより、ファイルシステムに次にアクセスすると、このクライアントには依然としてファイルハンドルが存在する為にＮＦＳｖ４クライアント１０１２はその操作をＮＡＳ３に送信する。
【００７４】
ステップ６００７：ＮＡＳ３のＮＦＳｖ４サーバが回復したファイルシステムに対する操作を受信したら、ＮＡＳ３はリファーラルファイル又はＮＦＳ４ＥＲＲ＿ＳＴＡＬＥエラーを返す。
【００７５】
ステップ６００８：次いで、ＮＦＳｖ４クライアントは、ＮＡＳ３ではなくＮＡＳ１  ２００１上のファイルシステムに再度アクセスし、この後に実行される動作はＮＦＳｖ４下での通常のファイルアクセスと同じである。
【００７６】
図１２は、フェイルオーバ／フェイルバック期間中にファイルシステム“／ｅｘｐｏｒｔ１”２３２４への如きミラーファイルシステムへのアクセスがなかったケースでのプロセスフローを示す。このプロセスフローは下記のステップより成る。
【００７７】
ステップ７０００：ディスクや他の部品、又はＮＡＳ１システム全体の交換等でのハードウエア回復、及びオペレーティングシステムの回復完了後、ＮＡＳ１  ２００１はリブートしＮＡＳ２  ２００２からＩＰアドレスをテイクバックする。
【００７８】
ステップ７００１：このリブート後の或る時点で、管理ホスト１１００の管理ソフトウエア１１１１は、ＮＡＳ３上のファイルシステム２３２４と２３２５に対する回復命令を、ＮＡＳ１  ２００１のＮＡＳマネージャ２１６１に発行する。ＮＡＳマネージャ２１６１と２１８１又はＮＡＳ１  ２００１とＮＡＳ３の他のソフトウエアはこのファイルシステム回復プロセスを実行できる。
【００７９】
ステップ７００２：回復中にＮＦＳ動作をミラーサイトＮＡＳ３にリダイレクトする為に、ＮＡＳマネージャ２１６１は、ＮＡＳマネージャ２１６１又はＮＡＳ１の何か他の複製ソフトウエアによってＮＡＳ１  ２００１に保存された、デスティネーションノードとロケーションを含むファイルシステムミラーデスティネーション情報を用いて、ＮＦＳｖ４サーバ２１２１が“／ｅｘｐｏｒｔ１”２３２１に対する“ＮＡＳ３：／ｅｘｐｏｒｔ１”及び“／ｅｘｐｏｒｔ２”２３２２に対する“ＮＡＳ３：／ｅｘｐｏｒｔ１”の如きエクスポートされたファイルシステムに対するリファーラルファイルを生成することを要求する。このことは、ＮＡＳ１  ２００１上で実行され物理的にはリファーラルファイルはＮＡＳ１のディスクドライブに保存できることを除いて、ステップ４００１−４００５と同様である。
【００８０】
ステップ７００３：一たびこのことが完了すると、フェイルオーバ期間中にこのファイルシステム“／ｅｘｐｏｒｔ１”にアクセスは無くＮＦＳｖ４クライアント１０１２にはリダイレクト情報は存在しない為、ファイルシステム回復中にＮＦＳｖ４クライアント１０１２がディレクトリ“／ｅｘｐｏｒｔ１”に最初にアクセスを試行するとこの動作はＮＡＳ１に送信される。
【００８１】
ステップ７００４：ＮＡＳ１  ２００１上のＮＦＳｖ４サーバは、ステップ７００２にてセットされ既に述べたステップ５００３と同様な、リダイレクト情報を返送する。
【００８２】
ステップ７００５：次いで、このＮＦＳ動作は、既に述べたステップ６００２と同様に、ＮＡＳ３にリダイレクトされる。
【００８３】
ステップ７００６：このＮＦＳ動作は、既に述べたステップ６００３と同様に、ＮＡＳ３のＮＦＳｖ４サーバ２１４１によって実行される。
【００８４】
ステップ７００７：ミラーファイルシステムのＮＡＳ１へのコピーバックの完了後、ＮＡＳ１  ２００１のＮＡＳマネージャ２１６１は、ＮＦＳｖ４サーバ２１２１に、ステップ７００２で生成されたリファーラルファイルの削除を要求し、次いで、ＮＡＳマネージャ２１６１は回復したファイルシステムをローカルにマウントする。
【００８５】
ステップ７００８：ＮＡＳ３に於ける６００５と同様に、ＮＦＳ動作をＮＡＳ１に戻すべくリダイレクトする為に、ＮＡＳマネージャ２１８１又はＮＡＳ３の何か他の複製モジュールは、ＮＡＳ３上のＮＦＳｖ４サーバに、回復したファイルシステム“／ｅｘｐｏｒｔ１”２３２４に対してリファーラルファイル“ＮＡＳ１：／ｅｘｐｏｒｔ１”を生成することを要求する。物理的にはこのリファーラルファイルはＮＡＳ３のディスクドライブに保存できる。他の方法として、ＮＡＳマネージャ２１８１は、ＮＡＳ３のＮＦＳｖ４サーバに、ＮＦＳｖ４クライアントが現在のファイルハンドルを使ったらＮＦＳ４ＥＲＲ＿ＳＴＡＬＥエラーを返すように要求する。
【００８６】
ステップ７００９−７０１１：ＮＦＳｖ４クライアントは、“ＲＥＡＤ（／ｍｎｔ／１／ａ／ｃ）”の如きファイルシステムに、ステップ６００６−６００８で述べたのと同様な方法でアクセスできるように戻る。
【００８７】
かくして、本発明は、リモートミラーされたクラスタＮＡＳファイルサーバに対してＮＦＳｖ４クライアントがフェイルオーバできるようになる、システムと方法を説明していることが判るだろう。本発明により、ＮＡＳ障害に際してＮＦＳ動作をリモートミラーサイトにリダイレクトさせるメカニズムが実現する。従って、ＮＦＳｖ４クライアントはフェイルオーバ／フェイルバック期間に於いて、トランスペアレントにリモートミラーファイルシステムにアクセスできる。更に、本明細書では、具体的な実施例を図示し記述してきたが、本分野に通常の造詣がある人は、同じ目的を達成すると推測される如何なる仕掛けも開示された具体的実施例の代わりになることを、理解するであろう。この開示は、本発明の全ての如何なる改造と変形をもカバーすべく意図されており、これまでの記述は説明目的になされておりその記述に制限するものではないことを理解する必要がある。従って、本発明の範囲は、添付されている請求項を参照して、本請求項の権利が及ぶのと同等な全範囲とともに、適切に判断しなければならない。
【図面の簡単な説明】
【００８８】
【図１】図１は本発明の方法と装置が適用されるハードウエア構成の一例を示す。
【図２】図２は本発明の方法と装置が適用される代表的なソフトウエア構成を示す。
【図３】図３はＮＦＳｖ４プロトコルで提供される移行機能の概念図を示す。
【図４】図４は本発明で使用するファイルシステムに於けるリファーラルの代表的なデータ構造を示す。
【図５】図５は慣用的なクラスターＮＡＳシステムで発生し得る問題状況の概念図を示す。
【図６】図６は本発明に従って修正されて適用されるＮＦＳｖ４プロトコルで提供されるリダイレクト（転送：ｒｅｄｉｒｅｃｔｉｏｎ）メカニズムの概念図を示す。
【図７】図７は本発明に従ってミラーファイルシステムの為にリファーラルを生成するプロセスフローを示す。
【図８】図８は本発明下に於けるフェイルオーバプロセスの概念図を示す。
【図９】図９は本発明に従うフェイルオーバ処理のプロセスフローを示す。
【図１０】図１０は本発明下に於けるフェイルバックプロセスの概念図を示す。
【図１１】図１１はフェイルオーバ期間中にミラーファイルシステムにアクセスがあった場合でのフェイルバックプロセスのプロセスフローを示す。
【図１２】図１２はフェイルオーバ期間中にミラーファイルシステムにアクセスがなかった場合でのフェイルバックプロセスのプロセスフローを示す。
【図１】
2007328778.tif 000003
【図２】
2007328778.tif 000004
【図３】
2007328778.tif 000005
【図４】
2007328778.tif 000006
【図５】
2007328778.tif 000007
【図６】
2007328778.tif 000008
【図７】
2007328778.tif 000009
【図８】
2007328778.tif 000010
【図９】
2007328778.tif 000011
【図１０】
2007328778.tif 000012
【図１１】
2007328778.tif 000013
【図１２】
2007328778.tif 000014
【外国語明細書】
2007328778000001.pdf