(57)【要約】【課題】  ＮＡＳシステムの１つの問題点は複数のプロセッサ間の負荷をバランスさせるのが難しい点にある。複数のＮＡＳプロセッサはアクセスされたデータをそのメモリにキャッシュするので、このことがキャッシュされたデータの一貫性あるいは整合性を保つのを難しくしている。従って様々な機能の中でも複数のプロセッサ間で適切な負荷バランスを取る機能を備えることが望ましい。【解決手段】  ストレージシステムは複数のプロセッサと、複数のボリュームと、複数のプロセッサと複数のボリュームを互いに接続する相互接続手段を備えている。ストレージシステムは複数の原因の１つでありうる性能隘路の原因を検出し決定する。ストレージシステムは性能隘路の決定された原因に応じて適切に負荷をバランスさせる方法を適用する。【選択図】  図１
2006228188.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントに通信リンクを介して接続するストレージシステムであって、
インタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられている第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられている第二のネットワークインタフェースを有する第一のファイルサーバと、
ＩＰアドレスの第三のグループが割り当てられている第三のネットワークインタフェースを有する第二のファイルサーバと、
ＩＰアドレスと関連付けられたファイルシステムの第一のグループを含み前記の第一のネットワークインタフェースに割り当てられた第一のタイプのストレージ領域と、ＩＰアドレスと関連付けられたファイルシステムの第二のグループを含み前記の第二のネットワークインタフェースに割り当てられた第二のタイプのストレージ領域とを含むストレージユニットと、
負荷をバランスさせるプログラムを備えたコンピュータで読み取り可能な媒体とを備え、
前記のプログラムは、
ディスクの第一のグループの負荷が重いか否かを決定するプログラムコードと、
前記のディスクの負荷が重いと決定された場合に該ディスクの負荷をバランスさせるプログラムコードと、
前記の第一のファイルサーバのプロセッサの負荷が重いと決定された場合に該プロセッサの負荷をバランスさせるプログラムコードとを含むことを特徴とする、ストレージシステム。
【請求項２】
前記のプロセッサの負荷をバランスさせるプログラムコードが、
前記の第一のファイルサーバの負荷が重いと決定された場合に、ファイルシステムの第一のグループの一部である第一のファイルシステムと該第一のファイルシステムに関連付けられた第一のＩＰアドレスを切り離すプログラムコードと、
前記の第一のファイルシステムが前記の第一のファイルサーバでなく前記の第二のファイルサーバ経由でアクセスされるように、該第一のファイルシステムを該第二のファイルサーバに組み付け、前記の第一のＩＰアドレスを前記の第三のネットワークインタフェースに割り当てるプログラムコードとを備えていることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記のディスクの負荷をバランスさせるプログラムコードが、
前記のストレージシステムのディスクの第二のグループに未使用の論理デバイスが存在するか否かを決定するプログラムコードと、
前記のディスクの第二のグループが少なくとも１つの未使用の論理デバイスを有すると決定された場合に、ディスクの第一のグループに割り当てられた論理デバイスを該ディスクの第二のグループに移動するプログラムコードとを備えていることを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記のディスクの負荷をバランスさせるプログラムコードが、
前記のストレージシステムの複数のディスクグループから、前記のディスクの第二のグループであるもっともビジーでないディスクグループを決定するプログラムコードをさらに備えていることを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記のディスクの第一と第二のグループが、それぞれ第一と第二のｒｅｄｕｎｄａｎｔ  ａｒｒａｙｓ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ（ＲＡＩＤ）であることを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記のディスクの第一のグループがｒｅｄｕｎｄａｎｔ  ａｒｒａｙｓ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ（ＲＡＩＤ）であることを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記の第一のタイプのストレージ領域が、それぞれ第一と第二のＩＰアドレスに関連付けられた第一と第二のファイルシステムを備え、前記の第二のタイプのストレージ領域は第三と第四のファイルシステムを備えており、
前記のプログラムがさらに、
第一のネットワークインタフェースの負荷が重いか否かを決定するプログラムコードと、
前記の第一のネットワークインタフェースの負荷が重いと決定された場合、前記の第一のファイルシステムを前記の第一のタイプのストレージ領域から前記の第二のタイプのストレージ領域に再割り当てするプログラムコードとを備えていることを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記のプログラムがさらに、
前記の第一のファイルシステムを前記の第一のタイプのストレージ領域から前記の第二のタイプのストレージ領域へ再割り当てすることが、前記の第二のネットワークインタフェースが隘路に陥ることなく前記の第一のネットワークインタフェースの負荷を改善するか否かを決定するプログラムコードを備えていることを特徴とする請求項７に記載のストレージシステム。
【請求項９】
前記の第一のファイルシステムの前記の再割り当てを実行すると前記の第二のネットワークインタフェースが隘路に陥ると決定された場合に、前記のプロセッサの負荷をバランスさせるプログラムコードが実行されることを特徴とする請求項８に記載のストレージシステム。
【請求項１０】
複数のクライアントに通信リンクを介して接続しているストレージシステムにおいて、
インタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられた第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられた第二のネットワークインタフェースとを有する第一のファイルサーバと、
ＩＰアドレスの第三のグループが割り当てられている第三のネットワークインタフェースを有する第二のファイルサーバと、
ＩＰアドレスと関連付けられたファイルシステムの第一のグループを含み前記の第一のネットワークインタフェースに割り当てられ、それぞれ第一と第二のＩＰアドレスに関連付けられた第一と第二のファイルシステムを有する第一のタイプのストレージ領域と、ＩＰアドレスと関連付けられたファイルシステムの第二のグループを含み前記の第二のネットワークインタフェースに割り当てられ、第三と第四のファイルシステムを有する第二のタイプのストレージ領域とを含むストレージユニットと、
負荷をバランスさせるプログラムを備えたコンピュータで読み取り可能な媒体系とを備え、
前記のプログラムは、
ディスクの第一のグループの負荷が重いか否かを決定するプログラムコードと、
前記のディスクの負荷が重いと決定された場合に該ディスクの負荷をバランスさせるプログラムコードと、
前記の第一のネットワークインタフェースの負荷が重いか否かを決定するプログラムコードと、
前記の第一のネットワークインタフェースの負荷が重いと決定された場合、前記の第一のファイルシステムを前記の第一のタイプのストレージ領域から前記の第二のタイプのストレージ領域へ再割り当てするプログラムコードとを含むことを特徴とする、ストレージシステム。
【請求項１１】
前記のプログラムがさらに、
前記の第一のファイルサーバのプロセッサの負荷が重いと決定された場合に、該プロセッサの負荷をバランスさせるプログラムコードを備えていることを特徴とする請求項１０に記載のストレージシステム。
【請求項１２】
前記のコンピュータで読み取り可能な媒体系が、
前記のディスクの第一のグループの負荷が重いか否かを決定するプログラムコードを備えた第一の媒体を有し、該第一の媒体が前記の第一と第二のファイルサーバとは離れて位置するコンソールに備えられていることを特徴とする請求項１０に記載のストレージシステム。
【請求項１３】
前記のコンピュータで読み取り可能な媒体系が、
ディスクの負荷が重いと決定された場合に、該ディスクの負荷をバランスさせるプログラムコードを備えた第二の媒体を有し、該第二の媒体が前記の第一と第二のファイルサーバのうちの１つに備えられていることを特徴とする請求項１２に記載のストレージシステム。
【請求項１４】
第一と第二のファイルサーバとストレージユニットとを有するストレージシステムの負荷をバランスさせる方法でにおいて、
前記の第一のファイルサーバはインタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられた第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられた第二のネットワークインタフェースを有し、前記の第二のファイルサーバはＩＰアドレスの第三のグループが割り当てられた第三のネットワークインタフェースを有しており、
前記のストレージユニットは、ＩＰアドレスと関連付けられたファイルシステムの第一のグループを含み前記の第一のネットワークインタフェースに割り当てられた第一のタイプのストレージ領域と、ＩＰアドレスと関連付けられたファイルシステムの第二のグループを含み前記の第二のネットワークインタフェースに割り当てられた第二のタイプのストレージ領域とを含み、
前記の方法が、
前記のストレージシステムが性能劣化を起こしているかを判定するステップと、
判定された原因が第一の原因、第二の原因、あるいは第三の原因でありうる、前記の性能劣化の原因を判定するステップと、
前記の判定された性能劣化の原因に従って適切な負荷バランスの方法を適用するステップとからなり、
前記の適切な負荷バランスの方法が、前記の判定された原因が第一の原因であった場合は第一のバランスさせる方法であり、前記の判定された原因が第二の原因であった場合は第二のバランスさせる方法であり、前記の判定された原因が第三の原因であった場合は第三のバランスさせる方法であることを特徴とするストレージシステムの負荷をバランスさせる方法。
【請求項１５】
前記の第一のバランスさせる方法はディスク負荷をバランスさせることに係わり、前記の第二のバランスさせる方法は前記の第一のファイルサーバのプロセッサのプロセッサ負荷をバランスさせることに係わり、前記の第三のバランスさせる方法はＬＡＮ負荷をバランスさせることに係わることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記の第二のバランスさせる方法が、
前記の第一のファイルサーバの負荷が重いと決定された場合に、前記のファイルシステムの第一のグループの一部である第一のファイルシステムと該第一のファイルシステムに関連付けられた第一のＩＰアドレスを切り離すステップと、
前記の第一のファイルシステムが前記の第一のファイルサーバからでなく前記の第二のファイルサーバからアクセスされるように、該第一のファイルシステムを該第二のファイルサーバに組み付け、前記の第一のＩＰアドレスを前記の第三のネットワークインタフェースに関連付けるステップとを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記の第一のバランスさせる方法が、
前記のストレージシステムのディスクの第二のグループに未使用の論理デバイスが存在するか否かを決定するステップと、
前記のディスクの第二のグループが少なくとも１つの未使用論理デバイスを有すると決定された場合、ディスクの第一のグループに関連付けられた論理デバイスを該ディスクの第二のグループに移動するステップとを含むことを特徴とする請求項１５に記載の方法。
【請求項１８】
前記の第一のバランスさせる方法が、
前記のストレージシステムの複数のディスクグループから、前記のディスクの第二のグループとなる最もビジーでないディスクグループを決定するステップを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記の判定するステップが、
前記のファイルサーバの１つ、あるいは該ファイルサーバに接続し、該ファイルサーバの外部に備えられた管理装置によって実行されることを特徴とする請求項１４に記載の方法。
【請求項２０】
ストレージシステムの負荷をバランスさせるコンピュータプログラムを有するコンピュータで読み取り可能な媒体において、
前記のコンピュータプログラムが、
前記のストレージシステムが負荷隘路に陥っているか否かを判定するプログラムコードと、
判定された原因が第一、第二、あるいは第三の原因でありうる前記の負荷隘路の原因を判定するプログラムコードと、
前記の判定された負荷隘路の原因に応じて適切な負荷バランスの方法を適用するプログラムコードとを備えており、
前記の適切な負荷バランスの方法が、前記の判定された原因が第一の原因であった場合は第一のバランスさせる方法であり、前記の判定された原因が第二の原因であった場合は第二のバランスさせる方法であり、前記の判定された原因が第三の原因であった場合は第三のバランスさせる方法であることを特徴とするコンピュータで読み取り可能な媒体。
【請求項２１】
前記の第一のバランスさせる方法はディスク負荷をバランスさせることに係わり、前記の第二のバランスさせる方法は第一のファイルサーバのプロセッサのプロセッサ負荷をバランスさせることに係わり、前記の第三のバランスさせる方法はＬＡＮ負荷をバランスさせることに係わることを特徴とする請求項２０に記載のコンピュータで読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
０００２    本発明はストレージシステムに関し、より具体的には複数のホストインタフェースとプロセッサを有するストレージシステムの動的に負荷をバランスさせる処理に関する。
【背景技術】
【０００２】
０００３    データは全てのコンピュータ処理の基礎となる資産である。昨今のインタネットとｅ−ビジネスの爆発的な発展に伴いデータストレージシステムのニーズは驚異的に増大している。一般的にストレージネットワークは２つのアプリケーションすなわち構成を有している：ネットワーク接続ストレージ（ＮＡＳ）とストレージエリアネットワーク（ＳＡＮ）である。ＮＡＳはイーサネット（登録商標）上でＩＰを用いてファイルフォーマットのデータをストレージサーバとクライアント間で移動させる。ＮＡＳでは、ディスクアレイあるいはテープ装置などの統合型ストレージシステムを、ＴＣＰ／ＩＰなどのメッセージ通信プロトコルを用いてイーサネットのようなローカルエリアネットワーク（ＬＡＮ）インタフェースを介して、直接メッセージ通信ネットワークに接続する。ストレージシステムはクライアント−サーバシステムのサーバとして機能する。
【０００３】
０００４    一般にＳＡＮは異種のサーバとストレージ資源の間でデータを移動させる専用の高性能ネットワークである。ＮＡＳと異なり、従来型のメッセージ通信ネットワークのクライアントとサーバ間のようなトラフィックの錯綜が発生するのを防ぐため、独立した専用のネットワークが用意される。ＳＡＮではストレージ資源とプロセッサあるいはサーバとの直接接続が可能である。ＳＡＮはサーバ間で共有しても良いし特定のサーバの専用としても良い。一箇所に集中させても良いし、地理的に離れた場所に拡げても良い。ＳＡＮインタフェースとして、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ（ＦＣ）、  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｙｓｔｅｍｓ  Ｃｏｎｎｅｃｔｉｏｎ（ＥＳＣＯＮ）、  Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）、  Ｓｅｒｉａｌ  Ｓｔｏｒａｇｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＳＳＡ）、  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｐａｒａｌｌｅｌ  Ｉｎｔｅｒｆａｃｅ（ＨＩＰＰＩ）、あるいは将来登場するであろう他のプロトコルなど多様な異なるプロトコルを使用することができる。例えば、インタネット技術標準化委員会（ＩＥＴＦ）ではＴＣＰ／ＩＰ上でブロックストレージを可能とする新しいプロトコルすなわち標準のｉＳＣＳＩを開発しており、一方ある複数の企業ではｉＳＣＳＩ−ＴＣＰ／ＩＰプロトコルスタックをホストプロセッサから外してｉＳＣＳＩをＳＡＮの支配的な標準にしようと作業を進めている。
【０００４】
０００５    使われているストレージシステムの型式にかかわらず、ストレージシステムはますます大容量と高性能を求められている。これらの要求を満たすため、企業向けのストレージコントローラやミッドレンジのストレージシステムは複数のプロセッサを備えてきている。例えば、Ｈｉｔａｃｈｉ  Ｌｉｇｈｔｎｉｎｇ  ９９００（ＴＭ）は複数のクライアント−ホストインタフェースプロセッサ（ＣＨＩＰ）を備え複数の入出力要求（“Ｉ／Ｏ”）を同時処理している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
０００６    ＮＡＳシステムの１つの問題点は複数のプロセッサ間の負荷をバランスさせるのが難しい点にある。ＮＡＳプロセッサ（ＮＦＳ／ＣＩＦＳ要求を処理するプロセッサ）はアクセスされたデータをそのメモリにキャッシュするので、複数のＮＡＳプロセッサ間でボリュームあるいはファイルシステムを共有するのは難しい。複数のプロセッサがあるため、このことがキャッシュされたデータの一貫性あるいは整合性を保つのを難しくしている。それ故、ファイルアクセス要求は一般に１度に１台のＮＡＳプロセッサで処理され複数のプロセッサを十分に活用することはない。従って様々な機能の中でも複数のプロセッサ間で適切な負荷バランスを取る機能を備えることが望ましい。
【課題を解決するための手段】
【０００６】
０００７    本発明は、例えばアクセス要求を処理する複数のプロセッサを有するネットワーク接続ストレージシステム（すなわちＮＡＳシステム）などの、ストレージシステムあるいはサブシステムの負荷をバランスさせることに関する。
【０００７】
０００８    １つの実施例ではストレージシステムはアクセス要求を処理する複数のプロセッサ、データを保存する複数のボリューム、および複数のプロセッサと複数のボリュームを互いに接続する相互接続手段を備えている。各ボリュームはプロセッサの１つに割り当てられている。プロセッサはボリューム内のファイルシステムをマウントし、各ファイルシステムは１つのＩＰアドレスに関連付けられる。プロセッサの１つの負荷が他のプロセッサより重くなると、重負荷を受けているプロセッサに割り当てられている１つあるいは複数のボリューム（あるいはファイルシステム）がアンマウントされる。アンマウントされたボリュームに関連付けられたＩＰアドレスはそのプロセッサからは無効とされる。そのボリュームとＩＰアドレスは他の負荷の軽いプロセッサに割り当てられる。
【０００８】
０００９    １つの実施例では、通信リンクを介して複数のクライアントに接続したストレージシステムは、第一のスイッチングモジュールと、マッピング情報を提供する第一のリソース表を維持するよう構成された第一のリソースマネージャを有する第一のファイルサーバと；第二のスイッチングモジュールと、マッピング情報を提供する第二のリソース表を維持するよう構成された第二のリソースマネージャを有する第二のファイルサーバと；第一のファイルサーバに割り当てられ各ファイルシステムがインタネットプロトコル（ＩＰ）アドレスと関連付けられている複数のファイルシステムを有する第一のタイプのストレージ領域と、第二のファイルサーバに割り当てられた第二のタイプのストレージ領域を有するストレージユニットとを備えている。第一のタイプのストレージ領域は第一、第二、第三のファイルシステムを有し、それぞれ第一、第二、第三のＩＰアドレスと関連付けられている。第一のリソース表はそれぞれ第一、第二、および第三のファイルシステムの負荷を示す第一の負荷情報、第二の負荷情報、および第三の負荷情報を有している。第一のスイッチングモジュールは、第一のファイルサーバの負荷が重いと判断された場合、第一のファイルシステムが第一のファイルサーバからアクセスできなくなるように、第一のファイルシステムを切り離すように構成されている。
【０００９】
００１０    他の実施例には、ストレージシステムの負荷をバランスさせる方法が開示されている。システムはコンソール、第一、第二、第三のファイルサーバ、および複数の論理ボリュームを有するストレージユニットを備えている。本方法は、通信リンクを介してストレージシステムに接続しているコンソールのシステムマネジャが維持しストレージシステムの第一、第二、第三のファイルサーバの負荷を提供する負荷表にアクセスするステップと；負荷表に基づいて第一のファイルサーバである最大の負荷を負っているファイルサーバと、第二のファイルサーバである最小の負荷を負っているファイルサーバの間の負荷の差を決定するステップと;第一のファイルサーバと関連付けられていて、負荷の差が所定の値を越えていた場合に第一のファイルサーバから切り離されることになり、インタネットプロトコル（ＩＰ）アドレスと関連付けられている第一のファイルシステムを選択するステップと；切り離される第一のファイルシステムが含まれる所定の論理ボリュームが他のファイルシステムを有しているかを判定するステップとを備えている。本方法は、所定の論理ボリュームが他のファイルシステムを有しない場合に、ストレージシステムに接続しているクライアントへ第一のファイルシステムをエクスポートするのを停止し、第一のファイルシステムをアンマウントするステップを更に備えている。一方、所定の論理ボリュームが他のファイルシステムを有している場合、第一のファイルシステムのコピーをバックアップ論理ボリュームに提供し、第一のファイルシステムをクライアントにエクスポートするのを停止し、第一のファイルシステムをアンマウントするステップを備えている。
【００１０】
００１１    本方法では、システム管理者が第一のファイルシステムを第一のファイルサーバから第二のファイルサーバに移動することが、第一のファイルサーバと関連付けられている他のファイルシステムを移動するより、第一のファイルサーバと第二のファイルサーバの負荷を均等化すると判断した場合に、第一のファイルシステムが選択されて第一のファイルサーバから切り離される。
【００１１】
００１２    他の実施例ではストレージシステムはコンピュータプログラムと第一、第二、及び第三のファイルサーバを備えている。ストレージシステムは更にコンソールと複数の論理ボリュームを有するストレージユニットを備えている。コンピュータプログラムは、ストレージユニット、第一、第二、及び第三のファイルサーバにネットワーク経由で接続しているコンソールのシステムマネジャが維持し、ストレージシステムの第一、第二、及び第三のファイルサーバの負荷を提示している負荷表にアクセスするためのプログラムコードと；第一のファイルサーバである最も重い負荷を負っているファイルサーバと、第二のファイルサーバである最も軽い負荷を負っているファイルサーバとの負荷の差を負荷表から決定するためのプログラムコードと；第一のファイルサーバと関連付けられていて、負荷の差が所定の値より大きい場合に第一のファイルサーバから切り離されることになり、インタネットプロトコル（ＩＰ）アドレスと関連付けられている第一のファイルシステムを選択するためのプログラムコードと；切り離される第一のファイルシステムが含まれる所定の論理ボリュームが他のファイルシステムを有するかを判定するプログラムコードとを備えている。プログラムはまた所定の論理ボリュームが他のファイルシステムを有していない場合に、ストレージシステムに接続しているクライアントに第一のファイルシステムをエクスポートするのを停止するプログラムコード、及び第一のファイルシステムをアンマウントするプログラムコードを備えている。プログラムはさらに、所定の論理ボリュームが他のファイルシステムを有している場合に、第一のファイルシステムのコピーをバックアップ論理ボリュームに提供するプログラムコード、第一のファイルシステムをクライアントにエクスポートするのを停止するプログラムコード、及び第一のファイルシステムをアンマウントするプログラムコードを備えている。
【００１２】
００１３    他の実施例ではストレージシステムは複数のプロセッサ、複数のボリューム、及び複数のプロセッサと複数のボリュームを互いに接続する手段を備えている。ストレージシステムはシステム内の性能隘路を検出し、性能隘路の原因に応じて適切に負荷をバランスさせる方法を適用する。
【００１３】
００１４    他の実施例では、通信リンクを介して複数のクライアントと接続するストレージシステムは、インタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられた第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられた第二のネットワークインタフェースを有する第一のファイルサーバと；ＩＰアドレスの第三のグループが割り当てられた第三のネットワークインタフェースを有する第二のファイルサーバと；第一のネットワークインタフェースに割り当てられたファイルシステムの第一のグループを有する第一のタイプのストレージ領域、第二のネットワークインタフェースに割り当てられたファイルシステムの第二のグループを有する第二のタイプのストレージ領域を有し、ここで各ファイルシステムはＩＰアドレスと関連付けられているストレージユニットと；負荷をバランスさせるプログラムを備えたコンピュータで読み取り可能な媒体とを備えている。プログラムは、第一のディスクグループのディスク負荷が重いか否かを決定するプログラムコードと；ディスクの負荷が重いと決定された場合にディスクの負荷をバランスさせるプログラムコードと；プロセッサの負荷が重いと決定された場合に第一のファイルサーバのプロセッサの負荷をバランスさせるプログラムコードとを備えている。
【００１４】
００１５    他の実施例では通信リンクを介して複数のクライアントと接続するストレージシステムは、インタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられた第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられた第二のネットワークインタフェースを有する第一のファイルサーバと；ＩＰアドレスの第三のグループが割り当てられた第三のネットワークインタフェースを有する第二のファイルサーバと；第一のネットワークインタフェースに割り当てられ、ＩＰアドレスと関連付けられたファイルシステムの第一のグループを有し、それぞれ第一と第二のＩＰアドレスと関連付けられている第一と第二のファイルシステムを有する第一のタイプのストレージ領域及び、第二のネットワークインタフェースに割り当てられ、ＩＰアドレスと関連付けられたファイルシステムの第二のグループを有し、第三と第四のファイルシステムを有する第二のタイプのストレージ領域とを有するストレージユニットと；負荷をバランスさせるプログラムを備えたコンピュータで読み取り可能な媒体系とを有している。プログラムはディスクの第一のグループのディスク負荷が重いか否かを決定するプログラムコードと；ディスクの負荷が重いと判断された場合にディスクの負荷をバランスさせるプログラムコードと；第一のネットワークインタフェースの負荷が重いか否かを決定するプログラムコードと；第一のネットワークインタフェースの負荷が重いと決定された場合に第一のファイルシステムを第一のタイプのストレージ領域から第二のタイプのストレージ領域に再割り当てするプログラムコードとを備えている。
【００１５】
００１６    他の実施例では、第一と第二のファイルサーバとストレージユニットを有するストレージシステムの負荷をバランスさせる方法が開示されている。ファイルサーバはインタネットプロトコル（ＩＰ）アドレスの第一のグループが割り当てられた第一のネットワークインタフェースと、ＩＰアドレスの第二のグループが割り当てられた第二のネットワークインタフェースを有する第一のファイルサーバ及び；ＩＰアドレスの第三のグループが割り当てられた第三のネットワークインタフェースを有する第二のファイルサーバを含む。ストレージユニットは、第一のネットワークインタフェースに割り当てられ、ＩＰアドレスと関連付けられたファイルシステムの第一のグループを有する第一のタイプのストレージ領域と；第二のネットワークインタフェースに割り当てられ、ＩＰアドレスと関連付けられたファイルシステムの第二のグループを有する第二のタイプのストレージ領域とを含む。本方法は、ストレージシステムが性能劣化を起こしているかを判定するステップと；第一の原因、第二の原因あるいは第三の原因の可能性がある性能劣化の原因を判定するステップと；判定された性能劣化の原因に応じて適切な負荷をバランスさせる手法を適用するステップとを備え、ここで適切な負荷をバランスさせる方法は、判定された原因が第一の原因であれば第一のバランスを取る方法、判定された原因が第二の原因であれば第二のバランスを取る方法、判定された原因が第三の原因であれば第三のバランスを取る方法である。判定するステップはファイルサーバの１つの内部あるいはファイルサーバに接続しファイルサーバの外部に設けられた管理装置で実行される。１つの実施形態では管理装置はコンソールである。
【００１６】
００１７    さらに他の実施例では、ストレージシステムの負荷をバランスさせるコンピュータプログラムを含むコンピュータで読み取り可能な媒体が開示される。コンピュータプログラムは、ストレージシステムが負荷の隘路をおこしていないかを決定するプログラムコードと；第一、第二、第三の原因でありうる、負荷隘路の原因を判定するプログラムコードと；判定された負荷隘路の原因に応じて適切に負荷をバランスさせる手法を適用するプログラムコードとを含み、ここで適切な負荷をバランスさせる方法は、判定された原因が第一の原因であれば第一の方法であり、判定された原因が第二の原因であれば第二の方法、判定された原因が第三の原因であれば第三の方法である。
【発明の効果】
【００１７】
本発明は、例えばアクセス要求を処理する複数のプロセッサを有するネットワーク接続ストレージシステム（すなわちＮＡＳシステム）などの、ストレージシステムあるいはサブシステムの負荷をバランスさせることに関する。
【発明を実施するための最良の形態】
【００１８】
０００１    本発明は２００４年６月１日出願の米国出願Ｎｏ．１０／８５８，７１７の一部継続出願であり、その内容は参照によって本発明の開示に組み込まれる。
【００１９】
００４０    図１は本発明の１実施例によるストレージシステム９０を示す。本実施例ではストレージシステムはファイルサーバシステムである。ファイルサーバシステム９０は複数のファイルサーバ１、２、３とディスクストレージ５より構成されている。ファイルサーバは、例えばＮＡＳプロセッサなどのプロセッサ、あるいはディスクストレージと同じ筐体に備えられるモジュールである。例えば、ファイルサーバシステムはディスクアレイユニットあるいはファイルサーバとディスクストレージを含むサブシステムである。あるいは、ファイルサーバはディスクストレージから遠隔に設置されたコンピュータシステムであっても良い。
【００２０】
００４１    １つ以上のクライアント８がネットワーク４を介してストレージシステムに接続している。各クライアントはネットワークと接続するローカルエリアネットワーク（ＬＡＮ）インタフェース８１を備えている。クライアントあるいはホストはストレージサブシステムに要求及びコマンドを送る。コンソール６を使用してストレージシステムが管理される。１実施例ではコンソールは遠隔に位置し、ネットワーク４を介してストレージシステム９０と接続している。他の実施例ではコンソールはストレージシステムに組み込まれているか、あるいはストレージサブシステムと隣接して設置されており、ここではコンソールはストレージシステムと専用線で通信を行う。また、コンソールはストレージシステムと無線ネットワークで通信しても良い。
【００２１】
００４２    本実施例では、ファイルサーバ１、２、３は、クライアント８からのファイルアクセス要求を受信するローカルエリアネットワーク（ＬＡＮ）インタフェース１１、２１、３１をそれぞれ備えている。ファイルサーバ１、２、３はまた、ファイバチャンネルインタフェース（ＦＣ  Ｉ／Ｆ）１２、２２、３２をそれぞれ備え、ディスクストレージ５にアクセスする。各ファイルサーバはまた中央処理装置（ＣＰＵ）およびメモリ（図示せず）並びにファイルアクセス要求を処理するプログラムを備えている。
【００２２】
００４３    ディスクストレージ５はディスクコントローラ５１、複数のディスク５２、及び複数のファイバチャネルインタフェース（ＦＣ  Ｉ／Ｆ）５３、５４、５５を備えている。ディスクストレージはＦＣ  Ｉ／Ｆ５３、５４、５５を介してファイルサーバに結合している。上述のように、１実施例では、ストレージシステム９０は複数のディスクドライブを有するストレージサブシステムあるいはディスクアレイユニットであり、ここでファイルサーバはサブシステムあるいはディスクアレイユニットと同じ筐体内に設けられている。他の実施例ではストレージシステム９０は複数の遠隔に設置された装置（例えば分散システム）を備え、ディスクストレージはストレージサブシステムあるいはディスクアレイユニットであり、ファイルサーバはネットワークを介してディスクストレージと接続するホストである。
【００２３】
００４４    図２は本発明の１実施例によるファイルサーバシステム９０の機能構成図である。各ファイルサーバ１、２、３はそれぞれドライバ１０１、２０１、３０１、ローカルファイルシステム１０２、２０２、３０２、ネットワークファイルシステム１０３、２０３、３０３、リソースマネジャ１０４、２０４、３０４、及び切り替えプログラム１０５、２０５、３０５（“切り替えプログラムモジュール”とも呼ばれる）を有している。
【００２４】
００４５    上記のストレージボリュームは数字５２１、５２２、５２３、５３１、５３２、５３３、５４１、５４２、５４２で示されている。これらのボリュームはストレージシステム９０のディスクコントローラ５１により定義される。
【００２５】
００４６    ドライバ１０１、２０１、３０１、及びローカルファイルシステム１０２、２０２、３０２を用いてストレージボリュームがアクセスされる。すなわち、ドライバ１０１とローカルファイルシステム１０２は互いに協力してＦＣインタフェース５３に関連付けられたストレージボリュームにアクセスする。ドライバ２０１とローカルファイルシステム２０２は互いに協力してＦＣインタフェース５４に関連付けられたストレージボリュームにアクセスする。ドライバ３０１とローカルファイルシステム３０２は互いに協力してＦＣインタフェース５５に関連付けられたストレージボリュームにアクセスする。ネットワークファイルシステム１０３、２０３、３０３は、ＮＦＳ（Ｎｅｔｗｏｒｋ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）あるいはＣＩＦＳ（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）のプロトコルに従ってクライアント８から受信したファイルアクセス要求を処理する。
【００２６】
００４７    各リソースマネージャ１０４、２０４、３０４は、それぞれ各ファイルサーバ１、２、３の負荷を測定し、コンソール６のシステムマネジャ６１に報告する。切り替えプログラム１０５、２０５、３０５を用いて、各ファイルサーバ１、２、または３の負荷の一部を他のファイルサーバ１、２、または３に移行する。これはファイルシステムあるいはボリュームをあるファイルサーバから他へ移動することにより為される。これについては後により詳細に説明する。
【００２７】
００４８    上記のごとく、ディスクコントローラ５１はディスク５２を使用する複数のストレージボリュームを定義する。ストレージボリュームは、物理的に区分されているのではなく論理的に区分されているものなので、本技術分野では一般に論理ボリュームと呼ばれている。ディスクコントローラ５１はまた論理ボリュームの各々をＦＣインタフェース５３、５４、５５の１つに割り当て、このＦＣインタフェースに関連付けられたファイルサーバが当該論理ボリュームにアクセスできるようにする。この割り当てプロセスは本実施例でボリュームマッピングと呼ばれる。もちろん、このプロセスを別の名で呼ぶことも可能である。
【００２８】
００４９    １つの論理ボリュームは２つ以上のＦＣインタフェースに割り当てることができる。しかしながら説明のため、本実施例では各論理ボリュームはただ１つのＦＣインタフェースに割り当てられているとして記述する。
【００２９】
００５０    本実施例では、論理ボリューム５２１、５２２、５２３はＦＣ  Ｉ／Ｆ５３に割り当てられ、論理ボリューム５３１、５３２、５３３はＦＣ  Ｉ／Ｆ５４に割り当てられ、論理ボリューム５４１、５４２、５４３はＦＣ  Ｉ／Ｆ５５に割り当てられている。さらにディスクストレージは、通常どのＦＣ  Ｉ／Ｆにも割り当てられていない未使用論理ボリューム５５０、すなわちバックアップボリュームを備えている。これらは必要が生じたときに使用されあるいは割り当てられる。例えば、他のファイルサーバに割り当てられるファイルシステムのコピーを保存するのに、バックアップボリュームが使用される。これについては後に説明する。ディスクコントローラ５１は一般に、コンソールのシステムマネジャ６１がディスクストレージ５へこの種のコマンドを発行する際に、ボリュームマッピング処理を実行する。
【００３０】
００５１    図３は本発明の１実施例によるファイルサーバとそのＬＡＮ  Ｉ／Ｆを示す。本発明によるファイルサーバの各ＬＡＮ  Ｉ／Ｆ１１、２１、３１は１つ以上のＩＰアドレスを有している。各ＩＰアドレスは、ファイルサーバに割り当てられたファイルシステムの1つに固有に関連付けられている。ファイルサーバ１のＬＡＮ  Ｉ／Ｆ１１を典型として図３に示す。ＬＡＮ  Ｉ／Ｆ１１は、ファイルサーバ１に割り当てられているファイルシステム、すなわちファイルシステムＡ１、Ａ２、Ａ３、Ａ４の４つのＩＰアドレスを有している。また、これらのファイルシステムがＬＡＮ  Ｉ／Ｆ１１に割り当てられていると考えることもできる。図に示すように、本実施例では、所定の論理ボリュームは１つ以上のファイルシステムを備えることができる。
【００３１】
００５２    クライアント８が論理ボリューム５２１に存在するファイルシステムＡ１にアクセスできる状態になる前に、ユーザはクライアント８にファイルシステムＡ１をマウントするよう指示する。以下はファイルシステムをマウントするのに使用するコマンドの例である：    mount 192.168.1.11:／A1／usr1。マウント動作に於いて、ＩＰアドレスの代わりにホスト名（すなわちファイルサーバ名）を使用しても良い。マウント動作後、クライアント８はＮＦＳプロトコルを使用してファイルシステムＡ１にアクセスすることができる。
【００３２】
００５３    図４は本発明の１実施例によるボリュームマッピング表４００を示す。本表を用いてＩＰアドレスとファイルシステムとの間のマッピング、論理ボリュームとファイルシステムとの間のマッピングが管理される。本表はまた所定のファイルサーバに割り当てられた各ファイルシステムの現在の負荷を示す。従って、本表は“リソース表”とも呼ばれる。各リソースマネジャ１０４、２０４、３０４はこの種の表を管理し定期的に表の内容をコンソール内に設けられたシステムマネジャ６１に送信する。
【００３３】
００５４    より詳細には本表は複数のレコード、すなわちエントリ４５１、４５２、４５３、４５４を有している。各レコードすなわちエントリは１つのファイルシステムに対応している。各レコードはＩＰアドレス欄４０１、デバイス欄４０２、ファイルシステム欄４０３及び負荷欄４０４と関連付けられているので、上で言及したようにこれらのレコードはマッピング情報と負荷情報を提供する。
【００３４】
００５５    ＩＰアドレス欄はＬＡＮ  Ｉ／Ｆ１１、２１、３１に割り当てられたＩＰアドレスを示す。ホスト名（すなわちファイルサーバ名）をＩＰアドレスの代わりに使用することもできる。デバイス欄は論理ボリューム番号を示す。ディスクストレージの各論理ボリュームは自身のＩＤ番号を有している。ファイルシステム欄はデバイス欄で指定された論理ボリュームに存在するファイルシステムの名前を示す。例えば、レコード４５１はファイルシステムＡ１が論理ボリューム５２１で定義されＩＰアドレス１９２．１６８．１．１１が割り当てられていることを示す。
【００３５】
００５６    本実施例では、負荷欄４０４は所定のファイルシステムの現在の負荷を毎秒のＩＯ数（ＩＯＰＳ）で示す。名前が示すとおり、ＩＯＰＳは所定のファイルシステムが毎秒受信するディスクＩ／Ｏ数に関する情報を提供する。例えば、レコード４５１はファイルシステムＡ１に４００ＩＯＰＳが発せられていることを示している。各リソースマネジャ１０４、２０４、３０４は定期的に（例えば、１秒に１回）所定のファイルシステムの負荷を測定し負荷の値をボリュームマッピング表４００に記録する。
【００３６】
００５７    図５を参照すると、システムマネジャ６１は各ファイルサーバ１、２、３のボリュームマッピング表４００から情報を集めて負荷表６００を作成する。ノード欄６０１は各ファイルサーバ１、２、３の識別子を有している。負荷欄６０２は各ファイルサーバの負荷を示す。負荷欄の値は所定のファイルサーバが管理するすべてのファイルシステムの負荷を合計して得られる。例えば、ファイルサーバ１は４つのファイルシステムを管理している(図４)。各ファイルシステムの負荷はそれぞれ４００、２００、１５０、３５０である。負荷欄の値は従って１１００であり、これがファイルサーバ１の全負荷を示す。この計算は実施形態に応じて、ファイルサーバレベルあるいはシステムマネジャレベルで行われる。
【００３７】
００５８    閾値欄６０３は予め定められた値を示す。一般的にはこの値は管理者が設定する。本実施例では閾値は４００である。すなわち、もっともビジーな（負荷が最大である）ファイルサーバともっともビジーでない（負荷がもっとも軽い）ファイルサーバとの差が閾値を超えると、ファイルサーバシステム９０は負荷をバランスさせる処理を開始する。負荷バランス処理のプロセスを以下に説明する。
【００３８】
００５９    図６、７、８は本発明の１実施例によるファイルサーバシステム９０が実行するファイルサーバ１、２、３の負荷をバランスさせるプロセスを示す。図６はコンソールのシステムマネジャ６１が実行するプロセスを示す。システムマネジャ６１はこのプロセスを定期的に（例えば１時間に１回）実行する。ステップ１００１でシステム９０でもっとも重い負荷及びもっとも軽い負荷を負っているノードすなわちファイルサーバを負荷表を調べて選択する。これらファイルサーバの負荷の差、すなわち表６００のＩＯＰＳの差の値を決定する。システムマネジャ６１は次に差の値が表６００に定める閾値を超えるか否かを決定する（ステップ１００２）。差が本実施例の閾値４００を超えた場合、プロセスはステップ１００３に進む。そうでなければプロセスは終了する。
【００３９】
００６０    ステップ１００３で、システムマネジャは、これらのファイルサーバの負荷をバランスさせるために、最も重い負荷を有するファイルサーバの中の適切なファイルシステムを選択する。以下に本発明の１実施例による適切なファイルシステムを選択して再割り当てするルール／アルゴリズムを示す。
【００４０】
１．  ００６１    ファイルシステムを第一のファイルサーバ、すなわち最も重い負荷のファイルサーバから選択し、選択したファイルシステムを第二のファイルサーバ、すなわち最も軽い負荷のファイルサーバへ移動する。次にその結果の第一と第二のファイルサーバの負荷を推定する。
【００４１】
２．  ００６２    もし第一のファイルサーバの負荷の推定値が第二のファイルサーバの負荷の推定値と同じであれば、システムマネジャは選択されたファイルシステムを移動すべきと決定する。そうでなければ第一のファイルサーバなどから他のファイルシステムを選択する。
【００４２】
３．  ００６３    条件（２）に合致するファイルシステムが存在しない場合、第一のファイルサーバの負荷の推定値を第二のファイルサーバのそれにもっとも近づけるファイルシステムを第一のファイルサーバから第二のファイルサーバに移動する。
【００４３】
００６４    例えば、ファイルサーバ１、２、３の負荷が図５に示すようであり、ファイルシステムの負荷が図４に示すようであった場合、ファイルサーバ１のファイルシステムＡ３がファイルサーバ２に移動される。ファイルシステムＡ３がファイルサーバ２に移動した後、ファイルサーバ１と２の負荷の差は６００ＩＯＰＳから１００ＩＯＰＳに変化する。
【００４４】
００６５    他の実施例では、プロセスがステップ１００４に進む前に選択されたファイルシステムを他のファイルサーバに移動するか否かを確認するメッセージがコンソール６に表示される。さらに他の実施例では、プロセスはコンソール６のＧＵＩ画面にメッセージを単に表示し、選択したファイルシステム（例えばファイルシステムＡ３）を移動するよう推奨するだけである。すなわち、プロセスはファイルシステムを移動する以降のステップを自分では実行せず、管理者が推奨画面を確認して、ファイルシステムの移動を実際に開始することになる。
【００４５】
００６６    本プロセスに戻って、ステップ１００４で、システムマネジャ６１はファイルサーバ１にファイルシステムＡ３を切り離すよう指示する。ファイルシステムを切り離す際のステップを図７に示す。
【００４６】
００６７    ファイルシステムＡ３が切り離されると、システムマネジャ６１はファイルサーバ２にファイルシステムＡ３をファイルサーバ２に組みつけるように指示する（ステップ１００５）。ファイルシステムを組み付ける際のステップを図８に示す。
【００４７】
００６８    図７は、本発明の１実施例によるファイルサーバからファイルシステムを切り離すプロセスを示す。本切り離しプロセスは本実施例ではファイルサーバの切り替えプログラムが実行する。切り離しプロセスを、ファイルサーバ１が最も重い負荷のサーバでありファイルサーバ２が最も軽い負荷のサーバで、ファイルシステムＡ３がファイルサーバ１からファイルサーバ２に移動されるという上記の例を用いて、ここに説明する。
【００４８】
００６９    ステップ２０００でファイルサーバ１の切り替えプログラム１０５は、選択されたファイルシステム（例えばファイルシステムＡ３）の存在する論理ボリューム全体を切り離すべきか否かを決定する。すなわち、当該論理ボリュームは内部に定義された他のファイルシステムを有するか否かを決定する。ボリュームに他のファイルシステムが存在したら、切り替えプログラム１０５はボリュームの一部のみを切り離すと決定してステップ２００１へ進む。
【００４９】
００７０    一方、当該ボリューム内に定義された他のファイルシステムが存在しない場合、選択されたファイルシステムはボリューム全体に対応するので、切り替えプログラム１０５は全ボリュームを切り離すと決定する。次にプロセスはステップ２０１０に、ついでステップ２０１２へ進む。これらのステップは以下に説明するステップ２００３及び２００４に相当する。
【００５０】
００７１    ステップ２００１で切り替えプログラム１０５はファイルサーバ１が未使用論理ボリュームの１つ、例えばボリューム５５０（図２参照）にアクセスできるようにボリュームマッピングを変更するようシステムマネジャ６１に指示する。切り替えプログラム１０５はこの未使用論理ボリュームすなわちバックアップボリュームを選択して選択されたファイルシステムをバックアップボリュームにコピーする（ステップ２００２）。このため、切り替えプログラム１０５はボリュームミラー動作すなわち機能を起動する。ディスクストレージ７５はこれに応じてボリュームミラー処理を実行する。ミラー処理については図９に関連して以下により詳しく説明する。
【００５１】
００７２    ステップ２００３で、切り替えプログラム１０５はネットワークファイルシステム１０３に選択されたファイルシステムのエクスポートを停止するよう指示する。ファイルシステムのエクスポートは、クライアント８とネットワークファイルシステム１０３の通信を不能にすることで停止される。すなわちファイルサーバ１はクライアント８にＮＦＳあるいはＣＩＦＳを介してファイルシステムにアクセスすることを許可しないよう指示を受ける。切り替えプログラム１０５はローカルファイルシステム１０２に選択されたファイルシステムをアンマウントするよう指示する（ステップ２００４）。ローカルファイルシステム１０２と選択された論理ボリュームのＦＣインタフェース５３間の通信を不能にすることにより当該ファイルシステムがアンマウントされる。切り替えプログラム１０５は選択されたボリュームとバックアップボリューム間のペア状態を解消する（ステップ２００５）。ひとたびアンマウントされるとクライアント８は選択されたボリュームにアクセスできなくなるので選択されたボリュームとバックアップボリュームの内容は同じであり続ける。
【００５２】
００７３    ステップ２００６で切り替えプログラム１０５は、ファイルサーバ２がファイルシステムＡ３のコピーが存在するバックアップボリュームにアクセスできるように、ボリュームマッピングを変えるようシステムマネジャ６１に指示する。
【００５３】
００７４    切り替えプログラム１０５は選択されたファイルシステムＡ３に関する情報をシステムマネジャ６１に送る（ステップ２００７）。選択されたファイルシステムに関する情報はファイルシステム名、ファイルシステムに関連付けられたＩＰアドレス、及び選択されたファイルシステムのコピーが存在するバックアップボリュームのボリューム番号を含む。切り替えプログラム１０５は次に選択されたファイルシステムＡ３に関連付けられたＩＰアドレスを無効にする（ステップ２００８）。同時にリソース表４００のエントリ４５４も削除される。本実施例では、これは、切り替えプログラム１０５が維持するリソース表４００上で処理される。
【００５４】
００７５    ステップ２０００に戻って、切り替えプログラム１０５が全ボリュームを切り離すと決定した場合、切り替えプログラムは選択されたファイルシステムＡ３のエクスポートをファイルシステムの複製を作ることなく停止する(ステップ２０１０)。ファイルシステムはステップ２００４と同じくアンマウントされる（ステップ２０１２）。その後選択されたファイルシステムを含むボリュームのボリュームマッピングが変更される（ステップ２００６）。すなわちファイルサーバ１すなわちＦＣ  Ｉ／Ｆ５３にマップされていたボリュームがファイルサーバ２すなわちＦＣ  Ｉ／Ｆ５４に再マップされる。次にステップ２００７と２００８が実行される。
【００５５】
００７６    図８は本発明の１実施例によるファイルシステムを組み付けるプロセスを示す。上記の例を引き続き使用して、組み付けるプロセスを説明する。ステップ２５０１で、ファイルサーバ２の切り替えプログラム２０５は、移動されたファイルシステムＡ３に関する情報をシステムマネジャ６１から受信する。ファイルサーバ１のファイルシステムＡ３がファイルサーバ２に移動されると、上で説明したようにファイルシステムＡ３はバックアップ論理ボリュームへ（ボリューム５２３が他のファイルを含むと仮定して）コピーされる。ここで、システムマネジャ６１は、ファイルシステムＡ３のコピーが存在するバックアップボリュームのボリューム番号を切り替えプログラム２０５に通知する。切り替えプログラム２０５は、受信したＩＰアドレスを表４００でファイルシステムＡ３に割り当てることにより、ファイルサーバ２内のＩＰアドレスを有効にする（ステップ２５０２）。ファイルシステムがマウントされる（ステップ２５０３）。切り替えプログラム２０５はファイルシステムＡ３をエクスポートしクライアントがファイルシステムＡ３にアクセスを再開できるようにする（ステップ２５０４）。
【００５６】
００７７    図９は本発明の１実施例によるミラー処理を示す。本ミラー処理を使用して上述した組み付け、切り離しが実行される。ディスクストレージ５は、所定の論理ボリューム（ソースボリューム）の全てまたはその一部を他の論理ボリューム（ターゲットボリューム）例えばバックアップボリューム５５０に複製コピーを生成するボリュームミラー機能を有している。ユーザまたはファイルサーバ１、２、３がディスクストレージ５にソースボリュームの特定の領域の複製コピーを作成するよう指示すると、ディスクストレージ５はソースボリュームの当該領域をターゲットボリュームに順次コピーする（所望の領域の始点から終端まで）。この処理はターゲットボリュームはソースボリュームの最初の状態をミラーしているので通常“イニシャルコピー処理”と呼ばれる。
【００５７】
００７８    その後、ファイルサーバ１、２、３がソースボリュームの特定の領域にデータを書くと、書き込みデータもまたターゲットボリュームにコピーされ、ターゲットボリュームはソースボリュームのミラーであり続ける。この引き続く処理は通常“アップデートコピー処理”と呼ばれる。イニシャルコピーが完了した後の状態は通常“複写状態”と呼ばれる。本実施例ではアップデートコピー処理は、複写状態が得られた後にのみ実行される。
【００５８】
００７９    ファイルサーバシステム９０はユーザすなわちファイルサーバ１、２、３がディスクストレージ５に指示して複写状態を停止できるように構成されている。ディスクストレージ５は複写状態を停止するように指示されると、状態は“分離”状態になる。すなわち、両ボリュームはリンクが解除されミラーペアではなくなる。従って、分離状態ではイニシャルコピーもアップデートコピーも実行されない。上記のボリュームミラー機能を用いて、論理ボリュームに存在するマルチファイルシステムの複製コピーが提供され、あるいはソースボリュームに１つのファイルシステムしか定義されていない場合は全ソースボリュームの複製コピーが提供される。
【００５９】
００８０    図１０は本発明の他の実施例によるファイルサーバシステム９０’を示す。ファイルサーバシステム９０’の構成は図１のシステム９０と実質的に同じである。違いは、システム９０のディスクストレージ５に代わって、システム９０’では複数のディスク５０００とファイバチャネル（ＦＣ）スイッチ５２００が備えられていることである。ＦＣスイッチ５２００はファイルサーバ１、２、３と結合する複数のポート５２０１とディスク５０００を備えている。スイッチはまたファイルサーバのＬＡＮインタフェースに結合するＬＡＮ５２０２を有している。実施例によってはスイッチをストレージエリアネットワークの一部分とすることができる。
【００６０】
００８１    ディスクストレージ５のボリュームマッピングに代わって、システム９０’ではＦＣスイッチ５２００に関連付けられたゾーン機能が使用される。図１１は本発明の１実施例によるゾーン機能に関するステップを示す。ゾーン機能はＦＣスイッチ５２００の機能で、所定のファイルサーバをポートのセットに割り当て、当該ファイルサーバが割り当てられたポートのみと通信しアクセスできるようにする。すなわち、ＦＣスイッチの中に“バリアー”が生成される。
【００６１】
００８２    例えば、図１１ではファイルサーバ１はゾーン１と呼ばれるゾーンのポートのセットに割り当てられている。ディスク５０００ａと５０００ｂもまたゾーン１に割り当てられている。一方、ファイルサーバ２とディスク５０００ｃはゾーン２に割り当てられている。これらのコンポーネントはそれぞれゾーンにグループ化されている。
【００６２】
００８３    これらのコンポーネントは一度特定のゾーンにグループ化されると、ゾーン機能は他のゾーンのコンポーネントとの（データにアクセスする目的の）通信を禁止する。従って、ファイルサーバ１はゾーン１のポートを使用してディスク５０００ａと５０００ｂにアクセス可能であるが、ディスク５０００ｃにアクセスするためゾーン２のポートにアクセスすることはできない。
【００６３】
００８４    ゾーン機能はボリュームマッピングと同様の機能を提供する。所定のディスクへのアクセスは、ゾーンの再定義により図１２に示すように変更可能である。ディスク５０００ｂをゾーン２に含めることにより、ファイルサーバ２がディスク５０００ｂにアクセス可能になる。ゾーンが再定義されると、ファイルサーバ１は今や別のゾーンにあるので、ディスク５０００ｂへのアクセスは許可されなくなる。
【００６４】
００８５    ファイルサーバシステム９０’はシステム９０が使用するのと同様のプロセスを用いて負荷バランス処理を実行する。違いの１つは切り離し処理である。図１３は本発明の１実施例によるシステム９０’に関連する切り離し処理を示す。システム９０’はシステム９０のステップ２００１、２００６とは異なるステップ２００１’、２００６’を実行する（図７参照）。ステップ２００１’ではファイルサーバの切り替えプログラムがシステムマネジャ６１に、ファイルサーバ１がバックアップ論理ボリュームの１つにアクセスできるようにＦＣスイッチ５２００のゾーン設定を変更するように指示する。ステップ２００６’では切り替えプログラムはシステムマネジャ６１に、ファイルサーバ２がファイルシステムのコピーが存在するバックアップ論理ボリュームにアクセスできるようにゾーン設定を変えるように指示する。
【００６５】
００８６    図１４から図２２で本発明の実施例による複数のホストインタフェースとプロセッサを有するストレージシステムの負荷をバランスさせる処理を示す。以下に説明するストレージシステムは複数のプロセッサ、複数のストレージボリューム、及び複数のプロセッサと複数のボリュームを接続する複数の相互接続コンポーネント（例えば通信インタフェース）を備えている。ストレージシステムは性能隘路の発生を検出し、隘路の原因に応じて適切なバランスさせる方法を適用する。隘路は、例えばファイルサーバをクライアントに接続するネットワークポート、ストレージユニットをファイルサーバに接続するストレージポート、あるいはファイルサーバ内のプロセッサなどストレージシステム内の様々な異なるコンポーネントにより起こされる。従って、本発明の実施例は隘路の分析と隘路分析に基づいて負荷をバランスさせる方法の実施形態に関係する。他の実施例では隘路分析を実行することなく１つ以上の負荷をバランスさせる方法が実行される。
【００６６】
００８７    図１４は本発明の１実施例によるストレージシステム３０００を示す。ストレージシステム３０００は図１のストレージシステム９０に対応する。可能なかぎり同じ番号を同じコンポーネントに対して使用する。ストレージシステム９０と３０００は実質的に同じ構成である。１つの相違点は、ストレージシステム３０００はファイルサーバ１、２、３に対して２つ以上のネットワークポート（例えばＬＡＮインタフェース）を有していることである。すなわち、ＬＡＮインタフェース１１−１、１１−２がファイルサーバ１に割り当てられ、ＬＡＮインタフェース２１−１、２１−２がファイルサーバ２に割り当てられ、ＬＡＮインタフェース３１−１、３１−２がファイルサーバ３に割り当てられている。ここで使用されているように、ストレージシステム３０００はファイルサーバシステムあるいはストレージサブシステムと呼ばれる。
【００６７】
００８８    図２に示したように、各ファイルサーバは切り替えプログラム、リソースマネージャ、ネットワークファイルシステム、ローカルファイルシステム、及びドライバを備えている。各リソースマネジャ１０４、２０４、３０４はそれぞれファイルサーバ１、２、３の負荷を測定し、結果をコンソール６のシステムマネジャ６１に報告する。切り替えプログラム１０５、２０５、３０５を用いて、ファイルサーバ内であるいはファイルサーバ間の負荷バランスがとられる。
【００６８】
００８９    システムマネジャ６１はグラフィカル・ユーザ・インタフェース（ＧＵＩ）を提供し、ユーザはＧＵＩを操作してファイルサーバシステム３０００の構成を確認し、負荷バランス処理を含む構成の変更を行う。他の実施例では、システムマネジャ６１の機能の一部はファイルサーバ１、２、３のうち１つ以上に存在する。
【００６９】
００９０    図１５は本発明の１実施例による、ディスクストレージ（あるいはストレージユニット）５のディスクを用いて定義される複数の論理デバイスを示す。本実施形態ではディスクストレージ５は複数のディスク５２を有し、ディスクアレイユニットと呼ばれる。図１５の論理ボリュームの１つ以上のものはＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ（ＲＡＩＤ）グループに定義される。各ＲＡＩＤグループは一般に複数のディスク５２を有する。各ＲＡＩＤグループは一般に０から始まる固有の番号を持っている。この番号はＲＡＩＤグループ番号と呼ばれる。各論理デバイスは０から始まる固有のＩＤ番号を持っている。本番号は論理デバイス番号と呼ばれる。論理デバイスの中にファイルシステムが構築される。ディスクストレージ５は複数のＲＡＩＤグループを有している。
【００７０】
００９１    ディスクコントローラ５１は複数のディスク５２を使用して複数の論理デバイスあるいは論理ボリュームを定義する。ディスクコントローラ５１はまた各論理デバイスをファイルサーバ１、２、３に割り当てる。本割り当て処理はボリュームマッピングと呼ばれる。単一の論理デバイスをアプリケーションに応じて所定のファイルサーバに固有に割り当てても良いし、複数のファイルサーバに割り当てても良い。１つ以上の論理デバイスが後の使用のためにファイルサーバには割り当てられずに残される（図２の論理デバイス５５０を参照）。
【００７１】
００９２    本実施例では論理デバイス５２１、５２２、５２３はＦＣ  Ｉ／Ｆ５３に割り当てられ、論理デバイス５３１、５３２、５３３はＦＣ  Ｉ／Ｆ５４に割り当てられ、論理デバイス５４１、５４２、５４３はＦＣ  Ｉ／Ｆ５５に割り当てられている(図２参照)。論理デバイス５２１、５２２、５２３は同じあるいは異なるＲＡＩＤグループ内で定義することができる。同様に論理デバイス５３１、５３２、５３３（あるいは５４１、５４２、５４３）は同じあるいは異なるＲＡＩＤグループ内で定義することができる。
【００７２】
００９３    図１６は本発明の１実施例による複数のＬＡＮ  Ｉ／Ｆを有するファイルサーバを示す。各ＬＡＮ  Ｉ／Ｆ１１−１、１１−２、２１−１、２１−２、３１−１、３１−２は本実施例によるディスクストレージ５のファイルシステムにマップされた１つ以上のＩＰアドレスを有している。同じＩＰアドレスを２つ以上のファイルシステムにマップするすなわち関連付けることができる。
【００７３】
００９４    ストレージシステム３０００内のマッピング処理に加えて、クライアント８がファイルシステム（例えば論理ボリュームすなわち論理デバイス５２１に存在するファイルシステムＡ１）にアクセスするには、その前にファイルシステムはクライアント８によってマウントされている必要がある。例えば、ユーザはクライアント８に指示してファイルシステムＡ１を次のコマンドを用いてマウントする：mount 192.168.1.11：／A1／usr1。マウント処理でＩＰアドレスの代わりにホスト名を使用することができる。マウント処理の後クライアント８はファイルシステムＡ１に適当なプロトコル（例えばＮＦＳプロトコル）を用いてアクセスすることができる。
【００７４】
００９５    本実施例ではファイルサーバ１、２、３内の各ファイルシステムはファイルサーバ内で割り当てられている他のＩＰアドレスを用いてマウントすることができる。他の実施例では、ファイルサーバ内で割り当てられているがファイルシステムと関連付けられていないＩＰアドレスを用いてクライアントがファイルシステムをマウントするのを禁止する手段をファイルサーバが持っている。
【００７５】
００９６    図１４に戻って、各ファイルサーバ１、２、３はＣＰＵ、ファイルシステム及びＬＡＮ  Ｉ／Ｆの負荷を監視する。１実施形態では各々の負荷情報は各ファイルサーバにそれぞれ保持される。各負荷情報はシステムマネジャ６１に伝達され、システムマネジャ６１は全てのファイルサーバの負荷情報を維持することができる。
【００７６】
００９７    図１７は本発明の１実施例によるシステムマネジャ６１が維持するリソース管理表３４００を示す。表３４００を用いてＲＡＩＤグループ、論理デバイス、及びファイルシステムの間の関係が管理される。本表は以下の要素から構成される：ＲＡＩＤグループ番号（ＲＡＩＤ  Ｇｒ．＃）３４０１、論理デバイス番号（ＤＥＶＩＣＥ＃）３４０２、ノード３４０３、ファイルシステム３４０４、ＩＰアドレス３４０５、及び負荷３４０６である。ノード３４０３はファイルサーバを参照する、例えばノード１はファイルサーバ１を参照する。
【００７７】
００９８    負荷３４０６は対応するファイルシステムの現在の負荷を示す。本実施例では負荷の単位としてＩＯＰＳ（すなわち毎秒のＩ／Ｏの数）が使われている。すなわち、ＩＯＰＳはファイルシステムが受信する毎秒のディスクＩ／Ｏの数を意味する。他の負荷の単位としては例えばＭＢ／ｓｅｃを使用することができる。例えば行３４５１では、負荷単位４００はファイルシステムＡ１が毎秒４００Ｉ／Ｏを受信したことを示す。本実施例では１００％キャッシュミスを想定しているのでファイルシステムがＩ／Ｏを受信する毎にディスク（論理デバイス）がアクセスされる。ＲＡＩＤに対する全ファイルシステム負荷がＲＡＩＤグループの最大負荷を超えることはない。
【００７８】
００９９    リソースマネージャ１０４、２０４、３０４は定期的に（例えば、１秒に１回）ファイルシステムの各々が受信する負荷を測定し、負荷値をリソース管理表３４００に記録する。どのファイルシステムにも割り当てられていない論理デバイスは、そのファイルシステム欄３４０３はＮＵＬＬ（空白）で、ＩＰアドレス欄３４０４はＮＵＬＬ（空白）で、負荷欄３４０５はＮＵＬＬ（空白）である。ファイルサーバの各リソースマネジャ１０４、２０４、３０４は負荷表３４００のサブセットを維持する。
【００７９】
０１００    図１８は本発明の１実施例による各リソースマネージャ１０４、２０４、３０４が維持するＬＡＮ負荷表３７００を示す。表３７００はＬＡＮ３７０１と負荷３７０２を有している。ＬＡＮ３７０１はファイルサーバに割り当てられているＬＡＮ  Ｉ／Ｆを示す。負荷３７０２はＬＡＮ  Ｉ／Ｆの現在の負荷を示す。
【００８０】
０１０１    ファイルサーバ１、２、３はプロセッサの稼働率およびＬＡＮ  Ｉ／Ｆの負荷を監視する。プロセッサ稼働率は、プロセッサ（ＣＰＵ）の能力のうち使用されている部分を％で示す。
【００８１】
０１０２    図１９は本発明の１実施例による、ファイルシステム３０００の様々なコンポーネントの予め定められた負荷閾値を保持する負荷表３６００を示す。表３６００に定める値を用いて所定のコンポーネントが重負荷を受けているか否かが示される。従って、その値は閾値負荷あるいは最大負荷能力である。最大負荷はコンポーネントの実際の負荷能力であり、閾値／負荷はそのコンポーネントに隘路が発生すると考えられる負荷レベルである。例えば、ＬＡＮ  Ｉ／Ｆの実際の最大能力が１００であったとして、閾値は９０に定められる場合もある。
【００８２】
０１０３    リソースマネージャ１０４、２０４、３０４は負荷表３６００にアクセスしてファイルサーバシステムの各コンポーネントの最大負荷あるいは閾値負荷（または両方）を知る。欄３６１１にファイルサーバシステムのコンポーネントをリストアップし、欄３６１２に当該コンポーネントに関する最大あるいは閾値負荷を示す。負荷表３６００に保持されるコンポーネントのリストには、ＬＡＮ  Ｉ／Ｆ（ＬＡＮ）、プロセッサ（ＰＲＯＣ．）、及びディスク（ＤＩＳＫ）が含まれる。ＬＡＮ３６０１はＬＡＮ  Ｉ／Ｆ１１−１、１１−２、２１−１、２１−２、３１−１、３１−２の最大／閾値負荷を示す。ＰＲＯＣ．３６０２はＣＰＵ３０１２、３０２２、３０３２の最大／閾値負荷を示し、ＤＩＳＫ３６０３は各ＲＡＩＤグループの最大負荷を示す。負荷の単位はリソース管理表３４００と同じである。ここで使用されるように、説明の便宜上、“最大負荷”と“閾値負荷”の用語は文脈上特別に他の使用がされていない限り、置き替え可能として使われる。
【００８３】
０１０４    本実施形態ではコンポーネントの各タイプは同じ最大値／閾値負荷が割り当てられている。同じタイプのコンポーネントに異なる最大負荷を割り当てることも可能である。例えば、ＬＡＮ  Ｉ／Ｆ１１−１に最大負荷５０００を割り当て、ＬＡＮ  Ｉ／Ｆ１１−２に最大負荷６０００を割り当てても良い。同様に、ファイルサーバ１のＣＰＵ３０１２に最大負荷８０００を割り当て、ファイルサーバ２のＣＰＵ３０１３に最大負荷６０００を割り当てても良い。ファイルサーバが複数のＣＰＵを有していた場合、特にそれらが異なる性能能力を有していた場合、それらの各々に異なる最大負荷を割り当てることができる。
【００８４】
０１０５    本実施形態では各ファイルサーバが負荷表３６００を有している。しかしながら負荷表３６００は、アプリケーションによって、例えばコンソール６、ファイルサーバの１つのみ、あるいはファイルサーバとコンソールの両方になど異なる場所に保持することができる。本実施形態で使用されているように、最大負荷レベル（ＭＡＸＬＯＡＤ３６１２）は最適な動作のために好ましくは超えない方が良い負荷レベルを意味し、コンポーネントの実際の最大負荷能力を意味するものではない。しかしながら、他の実施形態では最大負荷レベルが実際のコンポーネントの最大能力を意味する場合もある。
【００８５】
０１０６    図２０は本発明の１実施例による負荷をバランスさせるプロセス４０００を示す。本実施形態では、各ファイルサーバがプロセス４０００を実行する。ファイルサーバ１、２、３がファイルサーバに関連付けられたコンポーネントの負荷が予め表３６００に定められた最大負荷以上であると判断するとプロセス４０００が起動される。本実施形態では、プロセスはファイルサーバの切り替えプログラム１０５によって起動される。あるいは、コンソール６を使用するユーザがファイルサーバ１、２、３の１つにプロセスを実行するよう指示することにより起動される。ユーザはファイルサーバシステム３０００が最適なレベルで動作していないと判断した場合にこの種の指示を出すことができる。
【００８６】
０１０７    ステップ４００１にて各コンポーネントの負荷がファイルサーバによりチェックされる。例えばプロセス４０００はＬＡＮ、ディスク及びプロセッサの負荷が一杯であるかどうかを判断する。本実施形態ではプロセッサの負荷バランスは比較的低い優先度を与えられているので、プロセス４０００が複数の箇所、例えばプロセッサ及びＬＡＮ及び／またはディスク、で隘路が発生していると判断した場合、プロセッサの負荷を軽減するステップは最後に取られる。
【００８７】
０１０８    ステップ４００１に戻って、ＭＡＸ  ＬＯＡＤ３６１２が閾値負荷でなく実際の最大能力である時、もしＬＯＡＤ３７０２の負荷値がＭＡＸ  ＬＯＡＤ３６１２で定義された値に近い場合、コンポーネントは能力一杯あるいはそれに近い状態で動作していると判断される。
【００８８】
０１０９    ステップ４００２で、プロセス４０００はディスク負荷が一杯であるか否かをチェックする。ディスク負荷分析のため、各ファイルサーバは各ファイルシステムのファイルシステム負荷を監視する。ＲＡＩＤグループの負荷はＲＡＩＤグループに属する全てのファイルシステムの負荷を合計することにより求められる。求められたＲＡＩＤグループの負荷がＤＩＳＫ３６１１のＭＡＸ  ＬＯＡＤ以上であった場合、ＲＡＩＤグループは能力一杯あるいはそれに近い状態で動作している。決定がＹＥＳであった場合、プロセスはステップ４００３へ進む。ＮＯであった場合、ステップ４００４へ分岐する。ステップ４００３でプロセスはディスク負荷をバランスさせる。ディスク負荷をバランスさせる処理の詳細は後述する（図２１参照）。
【００８９】
０１１０    ステップ４００４で、プロセス４０００はＬＡＮ負荷が一杯であるか否かを決定する。ＬＡＮ負荷を分析するため、各ファイルサーバはＬＡＮ負荷を監視し図１８のＬＡＮ負荷表３７００を更新する。ＬＡＮ  Ｉ／ＦのＬＯＡＤ３７０２がＭＡＸ  ＬＯＡＤ３６１２（ここでは“閾値負荷”）以上の場合、ＬＡＮ  Ｉ／Ｆは能力一杯あるいはそれ近くで動作しており、隘路の原因である可能性が高い。決定がＹＥＳであれば、プロセスはステップ４００５へ進む。ＮＯであれば、ステップ４００６へ分岐する。ステップ４００５でＬＡＮ負荷をバランスさせる処理が実行される。ＬＡＮ負荷をバランスさせる処理の詳細は後述する（図２２参照）。ステップ４００６でプロセッサ負荷をバランスさせる処理が実行される（図６−８参照）
０１１１    図２１は本発明の１実施例によるディスクの負荷をバランスさせる処理のプロセス４１００を示す。プロセス４１００はプロセス４０００のステップ４００３に対応する。ステップ４１０１でリソース管理表３４００をアクセスして、ターゲット論理デバイスが存在しない他のＲＡＩＤグループに未使用論理デバイスが存在するか判定される。未使用論理デバイスが存在したら、プロセス４１００はステップ４１０２へ進む。存在しなければステップ４１０６へ分岐する。
【００９０】
０１１２    ステップ４１０２でプロセス４１００は、1つ以上の未使用論理デバイスを有するもっともビジーでないＲＡＩＤグループを選択する。ＲＡＩＤグループの未使用論理デバイスを選択し、シミュレーションして新しい構成を採用した場合の負荷値を求める（ステップ４１０３）。もし新しい構成が負荷バランスを改善するのであれば、プロセス４１００はステップ４１０５へ進む（ステップ４１０４）。もし改善しないのであればステップ４１０６へ行く。
【００９１】
０１１３    ステップ４１０５でプロセス４１００はディスクストレージ５に指示し、ビジーなＲＡＩＤグループの１つ以上の論理デバイスを選択されたビジーでないＲＡＩＤグループへ移動させる。参照のためにここに記載する米国特許Ｎｏ．６，２３７，０６３に開示されているように、多くの異なる移動方法が使用可能である。他の実施形態では、プロセスがステップ４１０４に進む前に、選択された論理デバイスを他の論理デバイスに移動するか否かを確認するメッセージがコンソール６に表示される。さらに他の実施形態では、プロセスはコンソール６のＧＵＩ画面にメッセージを表示し単に選択された論理デバイスをどこに移動するかが推奨されるだけである。すなわち、プロセス自体が論理デバイスを移動する以下のステップを実行するわけではない。推奨を確認して論理デバイスの移動を起動するのは管理者である。一方、新しい構成が負荷を改善しないであろうと考えられる場合、プロセス４１００はユーザに負荷バランス処理は成功しなかったことを報告する（ステップ４１０６）。本メッセージは通常コンソール６に表示される。
【００９２】
０１１４    図２２は本発明の１実施例によるＬＡＮ負荷をバランスさせる処理４５００を示す。ステップ４５０１にて、プロセスは負荷をシミュレーションする。シミュレーション結果を用いて、負荷バランスが所定のファイルサーバ（例えばファイルサーバ１）内で解決できるか否かを決定する。ＹＥＳであれば、プロセスはステップ４５０３へ進む（ステップ４５０２）。ＮＯであればステップ４５０５へ行く。
【００９３】
０１１５    ステップ４５０３でプロセスは、ユーザにクライアントＬＡＮ設定を変更するよう指示するメッセージをコンソール６の画面に表示する。これは一般にユーザの便宜のためにＧＵＩ環境下で行われる。ＬＡＮ負荷をバランスさせる処理はクライアント８の設定を変えることによりなされる。例えば、ＬＡＮ  Ｉ／Ｆ１１−１（ＩＰアドレス１９２．１６８．１．１１）に関連付けられているファイルシステムＡ１の負荷をＬＡＮ  Ｉ／Ｆ１１−２（ＩＰアドレス１０．１３．１．１）へ移動したいと考える場合、クライアント８のユーザは、ＵＮＩＸ（登録商標）環境にあるものとして、次のコマンドを実行すれば良い。
【００９４】
０１１６    unmount／usr1
０１１７    mount 10.13.1.1：／A1／usr1
０１１８    ユーザがステップ４５０３でＬＡＮ設定変更を確認すると、ステップ４５０４でファイルシステム関連付けは変更される。例えば、ＩＰアドレス欄３４０５の内容は１９２．１６８．１．１１から１０．１３．１．１に変更され、ファイルシステムＡ１はＬＡＮ  Ｉ／Ｆ１１−２に関連付けられすなわちマップされる。
【００９５】
０１１９    ステップ４５０５では、ＬＡＮ負荷をバランスさせる処理はファイルサーバ内で実行できていないので、プロセス４５００はプロセッサ負荷をバランスさせる処理を実行する。これは図６−８に示す処理と同様である。
【００９６】
０１２０    本発明を記述し、また本技術分野に習熟した人が発明を実施することが出来るように、特定の実施例に関連して本発明を記述した。上記の実施例は、発明の範囲を外れることなく修正し変更することが可能である。例えば、上記実施例の一部ではファイルＩ／Ｏは１００％のキャッシュミスがあるものと想定しているが、ファイルＩ／Ｏ要求のあるものはディスクにアクセスすることなく処理することが可能である（キャッシュヒット）。このような環境に対し、ファイルＩ／Ｏのキャッシュヒット率を監視し考慮に入れることにより、上記の実施例と同様に負荷をバランスさせる処理を実行することが可能である。
【００９７】
０１２１    またプロセス４０００をファイルサーバ内で実行されるものとして記述しているが、その分析する部分はファイルサーバの外部のデバイス、例えばコンソール６で実行可能である。同様に、実際のボリュームまたはファイルシステムの移動はファイルサーバにより実行されるが、プロセス４１００と４５００の一部の分析ステップはファイルサーバの外部で実行可能である。発明の範囲は添付される請求項により解釈されるべきである。
【図面の簡単な説明】
【００９８】
【図１】図１は本発明の１実施例によるストレージシステムを示す。
【図２】図２は本発明の１実施例による図１のファイルサーバシステムの機能構成図を示す。
【図３】図３は本発明の１実施例によるファイルサーバとそのＬＡＮ  Ｉ／Ｆを示す。
【図４】図４は本発明の１実施例によるボリュームマッピング表を示す。
【図５】図５は本発明の１実施例による、システムマネジャが維持する負荷表を図示する。
【図６】図６は本発明の１実施例による、コンソールのシステムマネジャが実行するプロセスを示す。
【図７】図７は本発明の１実施例によるファイルサーバからファイルシステムを切り離すプロセスを示す。
【図８】図８は本発明の１実施例によるファイルシステムを組み付けるプロセスを示す。
【図９】図９は本発明の１実施例によるミラー処理を示す。
【図１０】図１０は本発明の他の実施例によるファイルサーバシステムを示す。
【図１１】図１１は本発明の１実施例によるゾーン機能に関わるステップを示す。
【図１２】図１２は本発明の１実施例によるゾーンの再定義を示す。
【図１３】図１３は本発明の１実施例によるシステムに関連する切り離しプロセスを示す。
【図１４】図１４は本発明の１実施例によるストレージシステムを示す。
【図１５】図１５は本発明の１実施例による、ディスクストレージ（またはストレージユニット）のディスクを用いて定義される複数の論理デバイスを示す。
【図１６】図１６は本発明の１実施例による、複数のＬＡＮ  Ｉ／Ｆを有するファイルサーバを示す。
【図１７】図１７は本発明の１実施例による、システムマネジャ６１が維持するリソース管理表３４００を示す。
【図１８】図１８は本発明の１実施例による、各リソースマネージャ１０４、２０４あるいは３０４が維持するＬＡＮ負荷表３７００を示す。
【図１９】図１９は本発明の１実施例による、ファイルシステム３０００の種々のコンポーネントの予め定められた負荷閾値を保持する負荷表３６００を示す。
【図２０】図２０は本発明の１実施例による、負荷をバランスさせるプロセス４０００を示す。
【図２１】図２１は本発明の１実施例による、ディスク負荷をバランスさせるプロセス４１００を示す。
【図２２】図２２は本発明の１実施例による、ＬＡＮ負荷をバランスさせるプロセス４５００を示す。
【符号の説明】
【００９９】
１    ファイルサーバ１
２    ファイルサーバ２
３    ファイルサーバ３
１１、２１、３１    ＬＡＮ  Ｉ／Ｆ
１２、２２、３２    ＦＣ  Ｉ／Ｆ
４    ネットワークスイッチ
５    ディスクストレージ
５１  ディスクコントローラ
５３、５４、５５    ＦＣ  Ｉ／Ｆ
６    コンソール
８    クライアント
８１  ＬＡＮ  Ｉ／Ｆ
【図１】
2006228188.tif 000003
【図２】
2006228188.tif 000004
【図３】
2006228188.tif 000005
【図４】
2006228188.tif 000006
【図５】
2006228188.tif 000007
【図６】
2006228188.tif 000008
【図７】
2006228188.tif 000009
【図８】
2006228188.tif 000010
【図９】
2006228188.tif 000011
【図１０】
2006228188.tif 000012
【図１１】
2006228188.tif 000013
【図１２】
2006228188.tif 000014
【図１３】
2006228188.tif 000015
【図１４】
2006228188.tif 000016
【図１５】
2006228188.tif 000017
【図１６】
2006228188.tif 000018
【図１７】
2006228188.tif 000019
【図１８】
2006228188.tif 000020
【図１９】
2006228188.tif 000021
【図２０】
2006228188.tif 000022
【図２１】
2006228188.tif 000023
【図２２】
2006228188.tif 000024
【外国語明細書】
2006228188000001.pdf