(57)【特許請求の範囲】
【請求項１】
ストレージシステムを管理する情報処理装置と、複数のストレージ装置とを有するストレージシステムにおいて、
第１のストレージ装置は、
前記情報処理装置とインタフェース接続された第２のストレージ装置を選択する選択部と、
前記選択部により選択された第２のストレージ装置に前記情報処理装置との通信に使用されるアドレスを付与する付与部と
を備え、
前記第２のストレージ装置は、
前記アドレスを用いた前記情報処理装置からの要求を処理する第３のストレージ装置に該要求を転送する第１の転送部
を備え、
前記第３のストレージ装置は、
前記第１の転送部により転送された要求を処理する第１の処理部
を備えたことを特徴とするストレージシステム。
【請求項２】
前記第１のストレージ装置と前記第３のストレージ装置は、同一のストレージ装置であることを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記選択部は、前記第２のストレージ装置が故障した際に前記第２のストレージ装置とは異なるストレージ装置で前記情報処理装置とインタフェース接続された第４のストレージ装置を選択し、
前記付与部は、前記第２のストレージ装置に付与した前記アドレスを取消し、前記選択部により選択された前記第４のストレージ装置に前記アドレスを付与し、
前記第４のストレージ装置は、
前記アドレスを用いた前記情報処理装置からの要求を処理する前記第３のストレージ装置に該要求を転送する第２の転送部を備え、
前記第１の処理部は、前記第４のストレージ装置の第２の転送部により転送された要求を処理することを特徴とする請求項１又は２に記載のストレージシステム。
【請求項４】
前記選択部は、前記第１のストレージ装置とは異なる前記第３のストレージ装置が故障した際に前記第３のストレージ装置とは異なる第５のストレージ装置を選択し、
前記第１の転送部は、前記アドレスを用いた前記情報処理装置からの要求の転送先を前記第３のストレージ装置から前記第５のストレージ装置に変更し、
前記第５のストレージ装置は、
前記第１の転送部により転送された要求を処理する第２の処理部
を備えたことを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記第１の転送部及び前記第２の転送部は、前記情報処理装置に表示されたユーザインタフェースに関する要求を転送し、
前記第１の処理部及び前記第２の処理部は、前記情報処理装置に表示されたユーザインタフェースに関する要求を処理することを特徴とする請求項４に記載のストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関する。
【背景技術】
【０００２】
ストレージ装置の台数を必要に応じて増加することができるスケールアウト型ストレージシステムでは、ストレージシステムを管理する管理者が利用する操作端末に管理ＧＵＩ（Graphical  User  Interface）を提供している。ここで、管理ＧＵＩは、ストレージシステムの管理者が利用するユーザインタフェースである。
【０００３】
管理ＧＵＩを操作端末に提供する管理ＧＵＩ部は、いずれか１つのストレージ装置で動作する。また、管理ＧＵＩ部が動作するストレージ装置は固定である必要はなく、例えば処理負荷が低いストレージ装置で管理ＧＵＩ部を動作させればよい。ただし、管理ＧＵＩ部が動作するストレージ装置は操作端末と通信するために、操作端末とケーブルで接続されている必要がある。
【０００４】
なお、複数のノードの中から親を決定し、親ノードにおいてのみ全ノードを統括して制御する統括制御機能を動作させることで、統括制御機能を実行する装置をノードと独立に用意することを不要とする従来技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２９３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
管理ＧＵＩ部が動作するストレージ装置を負荷状況等に応じて変更する場合、操作端末と接続するケーブルの結線も変更する必要がある。しかし、管理ＧＵＩ部の移動の度に操作端末と接続するケーブルの結線を変更することは手間がかかる。このため、全てのストレージ装置が操作端末とケーブルで接続されていることが望ましい。
【０００７】
しかしながら、スケールアウト型ストレージシステムのようにストレージ装置が増加する場合、増加の度に全ストレージ装置を操作端末とケーブルで接続することは手間がかかるという問題がある。また、ケーブルのコストも増加する。
【０００８】
本発明は、１つの側面では、結線の手間及び結線のコストを削減することができるストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するストレージシステムは、１つの態様において、ストレージシステムを管理する情報処理装置と、複数のストレージ装置とを有する。第１のストレージ装置は、前記情報処理装置とインタフェース接続された第２のストレージ装置を選択する選択部と、前記選択部により選択された第２のストレージ装置に前記情報処理装置との通信に使用されるアドレスを付与する付与部とを備える。前記第２のストレージ装置は、前記アドレスを用いた前記情報処理装置からの要求を処理する第３のストレージ装置に該要求を転送する第１の転送部を備える。前記第３のストレージ装置は、前記第１の転送部により転送された要求を処理する第１の処理部を備える。
【発明の効果】
【００１０】
１実施態様によれば、結線の手間及び結線のコストを削減することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、管理ＧＵＩ部への管理ＰＣからのアクセスを説明するための図である。
【図２】図２は、ノード故障時の管理ＧＵＩ部への管理ＰＣからのアクセスを説明するための図である。
【図３】図３は、全ノードと管理ＰＣとの結線を説明するための図である。
【図４】図４は、実施例に係るストレージシステムの構成を示す図である。
【図５】図５は、プロキシによる管理ＧＵＩ部へのリダイレクトを説明するための図である。
【図６】図６は、プロキシが動作するノードが故障した時のプロキシの移動を説明するための図である。
【図７】図７は、管理ＧＵＩ部が動作するノードが故障した時の管理ＧＵＩ部の移動を説明するための図である。
【図８】図８は、代表ＩＰを付与する処理のフローを示すフローチャートである。
【図９】図９は、プロキシによる管理ＧＵＩ部へのリダイレクト処理のフローを示すフローチャートである。
【図１０】図１０は、管理ＬＡＮの状態を監視する処理のフローを示すフローチャートである。
【図１１】図１１は、代表ＩＰ移動処理のフローを示すフローチャートである。
【図１２】図１２は、管理ＧＵＩノードを切替える処理のフローを示すフローチャートである。
【図１３】図１３は、管理ＧＵＩ部が動作しているノードの故障時のプロキシの処理のフローを示すフローチャートである。
【図１４】図１４は、代表ＩＰを付与する処理のシーケンスを示す図である。
【図１５】図１５は、管理ＬＡＮの状態を監視する処理のシーケンスを示す図である。
【図１６】図１６は、代表ＩＰの移動先の候補が複数ある場合に代表ＩＰを付与する処理のシーケンスを示す図である。
【図１７】図１７は、マネージャと管理ＧＵＩ部の両方が動作するノードが故障した場合に管理ＧＵＩノードを切替える処理のシーケンスを示す図である。
【図１８】図１８は、ストレージ制御プログラムを実行するノードのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するストレージシステムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１３】
まず、管理ＧＵＩ部への管理装置（以下、管理ＰＣと述べる。）からのアクセスについて説明する。ここで、管理ＰＣとは、ストレージシステムの管理者が管理に用いる情報処理装置である操作端末である。図１は、管理ＧＵＩ部への管理ＰＣからのアクセスを説明するための図である。
【００１４】
図１に示すように、管理ＰＣ５は、管理スイッチ４を介して管理ＬＡＮ６によりノード＃２と接続される。ここで、ノード＃ｎ（ｎ＝１〜４）は、ストレージ装置である。ノード＃２では管理ＧＵＩ部９３が動作する。各ノード９は、管理ＰＣ５が管理ＧＵＩ部９３にアクセスするための管理ポート９１を有する。また、各ノード９は、他のノード９と通信するためのインターコネクトポート９２を有する。ノード９間は、インターコネクトスイッチ３を介して接続される。インターコネクトスイッチ３は２重化されている。
【００１５】
管理ＰＣ５は、代表ＩＰ（Internet  Protocol）を用いてノード９と通信する。ここで、代表ＩＰは、管理ＰＣ５が管理ＧＵＩ部９３との通信に用いるＩＰアドレスである。図１では、代表ＩＰは、「１９２．１６８．１．１００」であり、ノード＃２に付与されている。
【００１６】
図１において、ノード＃２が故障すると、管理ＧＵＩ部９３は、例えばノード＃３へ移動される。図２は、ノード故障時の管理ＧＵＩ部９３への管理ＰＣ５からのアクセスを説明するための図である。図２に示すように、管理ＧＵＩ部９３がノード＃３に移動される際、代表ＩＰもノード＃３に移動される。これにより、管理ＰＣ５は、管理ＧＵＩ部９３が動作するノード９が移動した場合にも、同一ＩＰアドレスを用いて管理ＧＵＩ部９３と通信することができる。ただし、管理ＰＣ５は、ノード＃３のポート９１と管理スイッチ４を介して結線されていないと、管理ＧＵＩ部９３へアクセスできない。
【００１７】
ノード９の故障により管理ＧＵＩ部９３が動作するノード９が変更になる度にノード９と管理スイッチ４との結線を変更することは手間がかかり、煩わしい。そこで、管理ＰＣ５を全ノード９と結線することが考えられる。図３は、全ノード９と管理ＰＣ５との結線を説明するための図である。図３に示すように、全ノード９の管理ポート９１は、管理スイッチ４を介して管理ＰＣ５と結線される。
【００１８】
しかしながら、ノード９の数が少ない場合には、図３に示すように全ノード９と管理ＰＣ５とを結線することもできるが、スケールアウト型ストレージシステムにおいてノード９の数が例えば数十の規模に増えた場合、全ノード９を結線することは現実的でない。また、全ノード９を結線するには手間がかかる。また、全ノード９を結線するためには、ケーブル及び管理スイッチ４が追加で必要になる。したがって、ケーブルの結線を最小限にとどめたうえで、管理ＧＵＩ部９３がどのノード９で動作する場合にも管理ＰＣ５が管理ＧＵＩ部９３へアクセスできるようにすることが重要である。
【００１９】
そこで、実施例に係るストレージシステムでは、ケーブルの結線を最小限にとどめたうえで、管理ＧＵＩ部がどのノード９で動作する場合にも管理ＰＣ５が管理ＧＵＩ部へアクセスできるようにする。図４は、実施例に係るストレージシステムの構成を示す図である。
【００２０】
図４に示すように、実施例に係るストレージシステム１は、４台のノード２と、２台のインターコネクトスイッチ３と、管理スイッチ４と、管理ＰＣ５とを有する。なお、ここでは説明の便宜上、４台のノード２と２台のインターコネクトスイッチ３と１台の管理スイッチ４のみを示したが、ストレージシステム１は、より多くのノード２とインターコネクトスイッチ３と管理スイッチ４を有してよい。また、４台のノード２は、ノード＃１〜ノード＃４で表される。
【００２１】
ノード２は、データを記憶するストレージ装置である。ノード２は、例えばＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）などの不揮発性記憶装置を用いて実現される。ノード２は、管理スイッチ４と結線するためのポートとして管理ポート２１を有し、インターコネクトスイッチ３と結線するためのポートとしてインターコネクトポート２２とを有する。
【００２２】
インターコネクトスイッチ３は、ノード２間で通信を行うためのスイッチである。インターコネクトスイッチ３は、各ノード２のインターコネクトポート２２と結線される。なお、インターコネクトスイッチ３は、二重化されている。
【００２３】
管理スイッチ４は、管理ＰＣ５とノード２とを管理ＬＡＮ６で接続するためのスイッチである。管理スイッチ４は、管理ＰＣ５、ノード＃１及びノード＃２と結線される。すなわち、管理ＰＣ５は、４台のノード２のうちノード＃１及びノード＃２とだけ接続される。管理ＰＣ５は、ストレージシステム１の管理者がノード２の制御に用いる操作端末である。
【００２４】
ノード＃１及びノード＃４では、エージェント２６とクラスタ２７が動作する。ノード＃２では、プロキシ２４とエージェント２６とクラスタ２７が動作する。ノード＃３では、管理ＧＵＩ部２３と、マネージャ２５とエージェント２６とクラスタ２７が動作する。
【００２５】
管理ＧＵＩ部２３は、管理ＧＵＩを提供する。すなわち、管理ＧＵＩ部２３は、管理ＰＣ５の表示装置に管理ＧＵＩの画面を表示し、ストレージシステム１の管理者によるマウス、キーボードを用いた指示を受け付ける。
【００２６】
プロキシ２４は、管理ＧＵＩ部２３への管理ＰＣ５からのアクセスを受け付け、受け付けたアクセスを管理ＧＵＩ部２３へインターコネクトスイッチ３を用いてリダイレクトする。ノード＃２には、代表ＩＰが付与され、管理ＰＣ５から管理ＧＵＩ部２３へのアクセスは、ノード＃２のプロキシ２４により受信される。
【００２７】
管理ＧＵＩ部２３が動作するノード＃３には内部代表ＩＰが付与され、プロキシ２４は、内部代表ＩＰに対して管理ＰＣ５からのアクセスをリダイレクトする。ここで、内部代表ＩＰは、プロキシ２４が管理ＧＵＩ部２３にアクセスする場合に使用するＩＰアドレスである。図４では、内部代表ＩＰは、「１９２．１６８．２．１００」である。プロキシ２４は、管理スイッチ４と結線されたノード＃１又はノード＃２で動作することができる。
【００２８】
マネージャ２５は、ストレージシステム１を管理する。具体的には、マネージャ２５は、プロキシ２４が動作するノード２を選択し、選択したノード２に代表ＩＰを付与する。図４では、プロキシ２４がノード＃２で動作し、代表ＩＰがノード＃２に付与される。
【００２９】
また、マネージャ２５は、管理ＧＵＩ部２３が動作するノード２を選択し、選択したノード２に内部代表ＩＰを付与する。図４では、管理ＧＵＩ部２３がノード＃３で動作し、内部代表ＩＰがノード＃３に付与される。なお、図４では、管理ＧＵＩ部２３とマネージャ２５が同一のノード２で動作するが、管理ＧＵＩ部２３とマネージャ２５は異なるノード２で動作してもよい。
【００３０】
マネージャ２５は、選択部２５ａと付与部２５ｂとを有する。選択部２５ａは、管理ＰＣ５と結線されたノード２の中からプロキシ２４が動作するノード２を負荷状況等に基づいて選択し、選択したノード２でプロキシ２４を起動する。また、選択部２５ａは、プロキシ２４が動作するノード２が故障した場合には、管理ＰＣ５と結線されたノード２の中からプロキシ２４が動作する他のノード２を負荷状況等に基づいて選択し、選択したノード２でプロキシ２４を起動する。
【００３１】
また、選択部２５ａは、管理ＧＵＩ部２３が動作するノード２を負荷状況等に基づいて選択し、選択したノード２で管理ＧＵＩ部２３を起動する。また、選択部２５ａは、管理ＧＵＩ部２３が動作するノード２が故障した場合には、管理ＧＵＩ部２３が動作する他のノード２を負荷状況等に基づいて選択し、選択したノード２で管理ＧＵＩ部２３を起動する。なお、管理ＧＵＩ部２３と選択部２５ａが動作するノード２が同じ場合には、管理ＧＵＩ部２３が動作するノード２が故障すると、故障したノード２とストレージクラスタを構成するノード２が、管理ＧＵＩ部２３を動作させたいノード２を選択して管理ＧＵＩ部２３を起動する。ここで、ストレージクラスタを構成するノード２とは、一方のノード２が故障したときに他のノード２の処理を引継ぐノード２である。
【００３２】
付与部２５ｂは、選択部２５ａによってプロキシ２４が起動されたノード２に代表ＩＰを付与する。付与部２５ｂは、プロキシ２４が動作するノード２が故障した場合には、故障したノード２に付与した代表ＩＰを取消し、選択部２５ａによってプロキシ２４が新たに起動されたノード２に代表ＩＰを付与する。
【００３３】
また、付与部２５ｂは、選択部２５ａによって管理ＧＵＩ部２３が起動されたノード２に内部代表ＩＰを付与する。付与部２５ｂは、管理ＧＵＩ部２３が動作するノード２が故障した場合には、故障したノード２に付与した内部代表ＩＰを取消し、選択部２５ａによって管理ＧＵＩ部２３が新たに起動されたノード２に内部代表ＩＰを付与する。
【００３４】
エージェント２６は、各ノード２の動作状況及び負荷状況、ＮＩＣ（Network  Interface  Card）の動作状況等を監視し、監視結果をクラスタ２７に通知する。
【００３５】
クラスタ２７は、各ノード２の動作状況をエージェント２６から取得し、ノード２が故障した場合には、故障したノード２とストレージクラスタを構成するノード２に処理を引継がせる。また、クラスタ２７は、マネージャ２５を監視し、マネージャ２５が異常終了した場合に正常なノード２へマネージャ２５の引継ぎを行う。
【００３６】
次に、プロキシ２４による管理ＧＵＩ部２３へのリダイレクトについて説明する。図５は、プロキシ２４による管理ＧＵＩ部２３へのリダイレクトを説明するための図である。図５は、ストレージシステム１の起動時にプロキシ２４をノード＃２で動作させることが選択され、代表ＩＰがノード＃２に付与された場合を示す。
【００３７】
図５に示すように、管理ＰＣ５が代表ＩＰに対してアクセスすると、代表ＩＰが付与されているノード＃２上のプロキシ２４が内部代表ＩＰに対して管理ＰＣ５からのアクセスをリダイレクトする。すると、内部代表ＩＰが付与されているノード＃３上の管理ＧＵＩ部２３がプロキシ２４に対して応答を返す。すると、プロキシ２４が管理ＰＣ５に応答を返し、管理ＰＣ５の表示装置に管理ＧＵＩの画面が表示される。
【００３８】
このように、代表ＩＰへのアクセスをプロキシ２４が管理ＧＵＩ部２３へリダイレクトすることにより、管理ＧＵＩ部２３が動作しているノード２に管理ＰＣ５が結線されていない場合でも、管理ＰＣ５は管理ＧＵＩ部２３へアクセスすることができる。また、内部代表ＩＰを固定値とし、管理ＧＵＩ部２３が存在するノード２に付与することで、リダイレクト先のＩＰアドレスは固定となり、リダイレクト先を選定するコストを削減することができる。さらに、ノード２間のインタコネクトは２経路で結線することで、１経路ダウン時の切替え先として他の経路を使用することができる。片系で運用できている場合には、代表ＩＰの切替えは行う必要はない。
【００３９】
次に、プロキシ２４が動作するノード２が故障した時のプロキシ２４の移動について説明する。図６は、プロキシ２４が動作するノード２が故障した時のプロキシ２４の移動を説明するための図である。
【００４０】
図６に示すように、プロキシ２４が動作するノード＃２が故障すると、マネージャ２５は、管理ポート２１がリンクアップしているノード＃１を選択する。ここで、管理ポート２１がリンクアップしているとは、管理ポート２１が管理スイッチ４と結線されていることを表す。また、図６では、ノード＃２以外にリンクアップしているノード２は、ノード＃１だけであるが、一般的には、リンクアップしているノード２は複数ある。その場合、マネージャ２５は、ＣＰＵ、メモリ等の空きが多い、Ｉ／Ｏ負荷が低い、管理ＧＵＩ部２３との通信経路が安定している、管理ＧＵＩ部２３が動作するノード２と同じインターコネクトスイッチ３に接続されている等の条件に基づいてノード２を選択する。
【００４１】
ここで、ＣＰＵはCentral  Processing  Unitであり、Ｉ／ＯはInput／Outputを表す。
また、管理ＧＵＩ部２３との通信経路が安定しているか否かは、ノード２間のハートビートの失敗履歴等で判断される。また、管理ＧＵＩ部２３が動作するノード２と同じインターコネクトスイッチ３に接続されている方が、インターコネクトスイッチ３の故障による経路異常発生の可能性が低い。図６では、全てのノード２が１つのインターコネクトスイッチ３で接続されているが、ノード２の数がより多い場合には、ノード２間が複数のインターコネクトスイッチ３を介して接続される場合がある。そのような場合、インターコネクトスイッチ３間の接続ポートに発生する故障の分だけ経路異常発生の可能性が高くなる。
【００４２】
マネージャ２５は、ノード＃１を選択すると、代表ＩＰ及びプロキシ２４をノード＃１に移動する。具体的には、マネージャ２５は、ノード＃２の代表ＩＰを取消し、ノード＃１に代表ＩＰを新たに付与する。また、マネージャ２５は、ノード＃２のプロキシ２４を停止し、ノード＃１のプロキシ２４を起動する。
【００４３】
そして、管理ＰＣ５は、ノード＃１で動作するプロキシ２４を経由してノード＃３の管理ＧＵＩ部２３へアクセスする。このように、管理ＰＣ５を複数のノード２に結線することにより、代表ＩＰが付与されているノード２が故障した場合でも、他の結線済みノード２へ代表ＩＰ及びプロキシ２４を移動することにより、管理ＰＣ５は管理ＧＵＩ部２３へアクセスすることができる。複数のノード２が同時に故障する可能性は低いため、結線を行うノード２の数は、数個で十分であり、全ノード２と結線する場合と比較して、大幅に結線の手間、並びに、ケーブル及び管理スイッチ４のコストを削減することができる。
【００４４】
次に、管理ＧＵＩ部２３が動作するノード２が故障した時の管理ＧＵＩ部２３の移動について説明する。図７は、管理ＧＵＩ部２３が動作するノード２が故障した時の管理ＧＵＩ部２３の移動を説明するための図である。
【００４５】
図７に示すように、管理ＧＵＩ部２３が動作しているノード＃３が故障すると、マネージャ２５が正常なノード＃４を選択する。ただし、マネージャ２５が管理ＧＵＩ部２３と同じノード２で動作している場合には、ストレージクラスタを構成するノード２でマネージャ２５が起動され、起動されたマネージャ２５が正常なノード２を選択する。また、マネージャ２５は、ＣＰＵ、メモリ等の空きが多い、Ｉ／Ｏ負荷が低い、プロキシ２４との通信経路が安定している、プロキシ２４が動作するノード２と同じインターコネクトスイッチ３に接続されている等の条件に基づいてノード２を選択する。
【００４６】
そして、マネージャ２５は、ノード＃４を選択すると、内部代表ＩＰ及び管理ＧＵＩ部２３をノード＃４に移動する。具体的には、マネージャ２５は、ノード＃３の内部代表ＩＰを取消し、ノード＃４に内部代表ＩＰを新たに付与する。また、マネージャ２５は、ノード＃３の管理ＧＵＩ部２３を停止し、ノード＃４の管理ＧＵＩ部２３を起動する。
【００４７】
そして、管理ＰＣ５は、ノード＃２で動作するプロキシ２４を経由してノード＃４の管理ＧＵＩ部２３へアクセスする。このように、管理ＧＵＩ部２３を正常なノード２に移動することによって、管理ＰＣ５は、管理ＧＵＩ部２３へ継続してアクセスすることができる。
【００４８】
次に、代表ＩＰを付与する処理のフローについて説明する。図８は、代表ＩＰを付与する処理のフローを示すフローチャートである。図８に示すように、マネージャ２５は、管理ＧＵＩ部２３の起動許可を確認する処理を開始し（ステップＳ１）、他ノード２で管理ＧＵＩ部２３が起動しているか否かを判定する（ステップＳ２）。その結果、他ノード２で管理ＧＵＩ部２３が起動している場合には、マネージャ２５は、処理を終了する。
【００４９】
一方、他ノード２で管理ＧＵＩ部２３が起動していない場合には、マネージャ２５は、管理ＧＵＩ部２３を起動する（ステップＳ３）。そして、マネージャ２５は、各ノード２の管理ＬＡＮ６の状態を確認し（ステップＳ４）、管理ＬＡＮ６の結線があるノード２の数を判定する（ステップＳ５）。
【００５０】
その結果、管理ＬＡＮ６の結線があるノード２の数が０である場合には、マネージャ２５は、処理を終了する。また、管理ＬＡＮ６の結線があるノード２の数が１である場合には、マネージャ２５は、管理ＬＡＮ６の結線があるノード２を代表ＩＰを付与するノード２として選択し、選択したノード２に代表ＩＰを付与する（ステップＳ９）。
【００５１】
また、管理ＬＡＮ６の結線があるノード２の数が２以上である場合には、マネージャ２５は、結線ありの各ノード２の負荷状態を確認し（ステップＳ６）、各ノード２の負荷状態を比較する（ステップＳ７）。そして、マネージャ２５は、最も負荷が低く、統計的に負荷が上がらないノード２を選択し（ステップＳ８）、選択したノード２に代表ＩＰを付与する（ステップＳ９）。
【００５２】
このように、マネージャ２５が管理ＬＡＮ６の結線があるノード２の中から選んだノード２に代表ＩＰを付与することによって、管理ＰＣ５は管理ＧＵＩ部２３と通信することができる。
【００５３】
次に、プロキシ２４による管理ＧＵＩ部２３へのリダイレクト処理のフローについて説明する。図９は、プロキシ２４による管理ＧＵＩ部２３へのリダイレクト処理のフローを示すフローチャートである。図９に示すように、プロキシ２４は、管理ＰＣ５による代表ＩＰへのアクセスを受け付け（ステップＳ１１）、受け付けたアクセスの転送処理を開始する（ステップＳ１２）。
【００５４】
そして、プロキシ２４は、転送経路を確認し、主経路が正常か否かを判定する（ステップＳ１３）。その結果、主経路が正常である場合には、プロキシ２４は、管理ＰＣ５からのアクセスを管理ＧＵＩノードへＩＰ転送し（ステップＳ１５）、管理ＧＵＩノードからの応答を管理ＰＣ５へ返却する（ステップＳ１６）。ここで、管理ＧＵＩノードとは、管理ＧＵＩ部２３が動作するノード２である。
【００５５】
一方、主経路が正常でない場合には、プロキシ２４は、副経路への切替えを行い、副経路への切替えが成功したか否かを判定する（ステップＳ１４）。その結果、副経路への切替えが成功した場合には、プロキシ２４は、管理ＰＣ５からのアクセスを管理ＧＵＩノードへＩＰ転送し（ステップＳ１５）、管理ＧＵＩノードからの応答を管理ＰＣ５へ返却する（ステップＳ１６）。一方、副経路への切替えが成功しなかった場合には、プロキシ２４は、マネージャ２５へ経路断線を報告し、プロキシ２４の移動を依頼する（ステップＳ１７）。すると、マネージャ２５が、プロキシ２４を移動する。
【００５６】
このように、プロキシ２４が管理ＰＣ５からのアクセスを管理ＧＵＩノードへＩＰ転送することで、管理ＧＵＩ部２３は管理ＰＣ５からのアクセスを受信することができる。
【００５７】
次に、管理ＬＡＮ６の状態を監視する処理のフローについて説明する。図１０は、管理ＬＡＮ６の状態を監視する処理のフローを示すフローチャートである。図１０に示すように、マネージャ２５は、各ノード２からＮＩＣの状態に関する情報を収集する（ステップＳ２１）。なお、マネージャ２５は、各ノード２からＮＩＣの状態に関する情報を定期的に収集する。
【００５８】
そして、マネージャ２５は、管理ＬＡＮ６が起動しているプロキシノードの状態は正常であるか否かを判定する（ステップＳ２２）。ここで、プロキシノードとは、プロキシ２４が動作しているノード２である。そして、正常である場合には、マネージャ２５は、プロキシノードのＮＩＣの状態に異常があるか否かを判定し（ステップＳ２３）、異常がない場合には、ステップＳ２１に戻る。
【００５９】
一方、異常がある場合には、マネージャ２５は、代表ＩＰを移行する代表ＩＰ移動処理を実行し（ステップＳ２４）、プロキシノードの移動を実行する（ステップＳ２５）。そして、マネージャ２５は、ステップＳ２１に戻る。また、プロキシノードの状態が正常でない場合には、マネージャ２５は、代表ＩＰ移動処理を実行し（ステップＳ２４）、プロキシノードの移動を実行する（ステップＳ２５）。そして、マネージャ２５は、ステップＳ２１に戻る。
【００６０】
図１１は、代表ＩＰ移動処理のフローを示すフローチャートである。図１１に示すように、マネージャ２５は、現時点のプロキシノードの状態確認を開始し（ステップＳ３１）、プロキシノードは応答可能か否かを判定する（ステップＳ３２）。その結果、応答可能である場合には、マネージャ２５は、プロキシノードに管理ＬＡＮ６のリンクダウンを指示し（ステップＳ３３）、プロキシノードの停止を指示する（ステップＳ３４）。ここで、管理ＬＡＮ６のリンクダウンとは、管理ＬＡＮ６による通信を停止することである。
【００６１】
そして、マネージャ２５は、プロキシノードからの応答待ち合わせがタイムアウト以内かを判定し（ステップＳ３５）、タイムアウト以内でない場合には、ＮＭＩ（Non-Maskable  Interrupt）でプロキシノードを強制停止させる（ステップＳ３６）。また、マネージャ２５は、プロキシノードが応答可能でない場合にもＮＭＩでプロキシノードを強制停止させる（ステップＳ３６）。
【００６２】
そして、マネージャ２５は、各ノード２のＮＩＣの状態を確認し（ステップＳ３７）、各ノード２のシステム負荷を確認する（ステップＳ３８）。そして、マネージャ２５は、ＮＩＣ状態が接続済である各ノード２の負荷の状態を確認してノード２を選択する（ステップＳ３９）。そして、マネージャ２５は、選択したノード２に代表ＩＰを付与する（ステップＳ４０）。
【００６３】
このように、マネージャ２５が、プロキシノードを監視し、プロキシノードに異常があると、プロキシノード及び代表ＩＰを移動するので、管理ＰＣ５は、プロキシ２４が動作するノード２に故障が発生しても、管理ＧＵＩ部２３へアクセスすることができる。
【００６４】
次に、管理ＧＵＩノードを切替える処理のフローについて説明する。図１２は、管理ＧＵＩノードを切替える処理のフローを示すフローチャートである。図１２に示すように、クラスタ２７は、管理ＧＵＩ部２３が動作しているノード２の故障を検出すると（ステップＳ５１）、故障したノード２の処理をクラスタ切替え処理により引継ぎ、マネージャ２５を起動する。ここで、クラスタ２７は、故障したノード２とストレージクラスタを構成するノード２で動作するクラスタ２７である。また、クラスタ切替え処理とは、ダウンしたノード２とストレージクラスタを構成するノード２にダウンしたノード２の処理を引継ぐ処理である。
【００６５】
そして、クラスタ２７は、各ノード２の負荷状況を各ノード２のエージェント２６より入手し、比較する（ステップＳ５２）。そして、マネージャ２５は、管理ＧＵＩ部２３の引継ぎ先を選定し（ステップＳ５３）、選定した引継ぎ先に管理ＧＵＩ部２３を移動する（ステップＳ５４）。そして、マネージャ２５は、選定した引継ぎ先で内部代表ＩＰをリンクアップする（ステップＳ５５）。ここで、内部代表ＩＰをリンクアップするとは、切替え先の管理ＧＵＩノードに内部代表ＩＰを付与し、内部代表ＩＰを用いた通信を可能とすることである。
【００６６】
このように、マネージャ２５が管理ＧＵＩ部２３及び内部代表ＩＰを移動することで、管理ＰＣ５は管理ＧＵＩ部２３が動作するノード２に故障が発生しても、管理ＧＵＩ部２３へアクセスすることができる。
【００６７】
次に、管理ＧＵＩ部２３が動作しているノード２の故障時のプロキシ２４の処理について説明する。図１３は、管理ＧＵＩ部２３が動作しているノード２の故障時のプロキシ２４の処理のフローを示すフローチャートである。
【００６８】
図１３に示すように、プロキシ２４は、管理ＰＣ５からのアクセスのリダイレクト中に通信応答が途絶えたことを検出すると（ステップＳ６１）、通信タイムアウト時間の経過後に、クラスタ２７に状態の確認を依頼する（ステップＳ６２）。ここで、通信タイムアウト時間は、例えば３０秒（３０ｓｅｃ）である。
【００６９】
そして、プロキシ２４は、管理ＧＵＩノードがダウンしているか否かを判定し（ステップＳ６３）、ダウンしている場合には、クラスタ切替え処理を待ち合わせる（ステップＳ６４）。そして、プロキシ２４は、内部代表ＩＰがリンクアップしたら、リダイレクト処理を継続する（ステップＳ６５）。
【００７０】
一方、管理ＧＵＩノードがダウンしていない場合には、プロキシ２４は、自ノード２に問題が発生していると判断し、自ノード２をダウンする（ステップＳ６６）。自ノード２すなわちプロキシノードがダウンすることによって、マネージャ２５によりプロキシ２４の移動が行われる。
【００７１】
このように、管理ＧＵＩノードがダウンした場合に、プロキシ２４が内部代表ＩＰのリンクアップを待ち合わせることで、管理ＰＣ５は継続して管理ＧＵＩ部２３へアクセスすることができる。
【００７２】
次に、代表ＩＰを付与する処理のシーケンスについて説明する。図１４は、代表ＩＰを付与する処理のシーケンスを示す図である。図１４において、ノード＃２は、マネージャ２５が動作し、管理ＧＵＩ部２３が起動されるノード２であり、ノード＃１は、プロキシ２４が起動されるノード２である。
【００７３】
図１４に示すように、ノード＃２においてマネージャ２５は、管理ＧＵＩ部２３の起動許可をノード＃１及びノード＃３に確認する（ステップＳ７１及びステップＳ７２）。そして、起動許可を確認すると、マネージャ２５は、管理ＧＵＩ部２３を起動する（ステップＳ７３）。
【００７４】
そして、マネージャ２５は、管理ＬＡＮ６の状態をノード＃３及びノード＃１に確認し（ステップＳ７４及びステップＳ７５）、システム負荷状態をノード＃３及びノード＃１に確認する（ステップＳ７６及びステップＳ７７）。
【００７５】
そして、マネージャ２５は、管理ＬＡＮ６の状態及びシステム負荷から、代表ＩＰを付与するノード２を選定し（ステップＳ７８）、選定したノード２に代表ＩＰを付与する（ステップＳ７９）。ここでは、ノード＃１が選定され、ノード＃１に代表ＩＰが付与される。そして、管理ＰＣ５が代表ＩＰを用いてノード＃１にアクセスする（ステップＳ８０）。
【００７６】
このように、マネージャ２５が管理ＬＡＮ６及びシステム負荷の状態に基づいてノード２に代表ＩＰを付与することによって、管理ＰＣ５は管理ＧＵＩ部２３と通信することができる。
【００７７】
次に、管理ＬＡＮ６の状態を監視する処理のシーケンスについて説明する。図１５は、管理ＬＡＮ６の状態を監視する処理のシーケンスを示す図である。図１５において、ノード＃２はマネージャ２５が動作するノード２であり、ノード＃１はプロキシ２４の移動元のノード２であり、ノード＃３はプロキシ２４の移動先のノード２である。
【００７８】
図１５に示すように、ノード＃３及びノード＃１のエージェント２６は、ノード＃２のエージェント２６にＮＩＣの状態に関する情報を定期的に送信する（ステップＳ８１及びステップＳ８２）。
【００７９】
そして、ノード＃２で動作するマネージャ２５は、エージェント２６からプロキシノードのＮＩＣの状態に関する情報を取得し、取得した情報に基づいて異常を検出すると、プロキシノードの状態を監視する（ステップＳ８３）。そして、プロキシノードが状態を応答すると（ステップＳ８４）、ノード＃２で動作するマネージャ２５がプロキシノードの異常を検知し、プロキシ２４の移動をノード＃３に指示する（ステップＳ８５）。
【００８０】
そして、ノード＃３がプロキシ２４の移動完了をノード＃２に通知する（ステップＳ８６）と、ノード＃２で動作するマネージャ２５は、ノード＃３に代表ＩＰを付与する（ステップＳ８７）。そして、ノード＃３は、ノード＃２に代表ＩＰの移動完了を通知する（ステップＳ８８）。
【００８１】
このように、マネージャ２５が、プロキシノードを監視し、プロキシノードに異常があると、プロキシノード及び代表ＩＰを移動するので、管理ＰＣ５は、プロキシ２４が動作するノード２に故障が発生しても、管理ＧＵＩ部２３へアクセスすることができる。
【００８２】
次に、代表ＩＰの移動先の候補が複数ある場合に代表ＩＰを付与する処理のシーケンスについて説明する。図１６は、代表ＩＰの移動先の候補が複数ある場合に代表ＩＰを付与する処理のシーケンスを示す図である。
【００８３】
図１６において、ノード＃２はマネージャ２５が動作するノード２であり、ノード＃１はプロキシ２４の移動元のノード２であり、ノード＃３又はノード＃４がプロキシ２４の移動先のノード２である。また、ノード＃１、ノード＃３及びノード＃４は管理ＬＡＮ６とのＮＩＣ接続があり、ノード＃２及びノード＃５は管理ＬＡＮ６とのＮＩＣ接続がない。また、マネージャノードとは、マネージャ２５が動作するノード２である。
【００８４】
図１６に示すように、ノード＃２で動作するマネージャ２５は、ノード＃１の異常を検知する（ステップＳ９１）と、ノード＃１にノード状態の確認を指示する（ステップＳ９２）。そして、ノード＃１が応答できる状態にある場合には、マネージャ２５はノード＃１に管理ＬＡＮ６のリンクダウンを指示し（ステップＳ９３）、ノード＃１は管理ＬＡＮ６のリンクダウンを行ってノード＃２に応答する（ステップＳ９４）。そして、マネージャ２５はノード＃１に停止を指示し（ステップＳ９５）、ノード＃１は停止を行ってノード＃２に応答する（ステップＳ９６）。
【００８５】
また、ノード＃１から応答がない場合には、マネージャ２５は、タイムアウト時間まで待ち合わせを行う（ステップＳ９７）。そして、タイムアウト時間の経過後、あるいは、ノード＃１が応答できない状態にある場合には、マネージャ２５は、ＮＭＩによりノード＃１に停止を指示し（ステップＳ９８）、ノード＃１の停止を確認する（ステップＳ９９）。
【００８６】
そして、マネージャ２５はＮＩＣ接続があるノード＃３及びノード＃４にＮＩＣ状態を確認し（ステップＳ１００及びステップＳ１０２）、ノード＃３及びノード＃４はＮＩＣ状態及びシステム負荷を返却する（ステップＳ１０１及びステップＳ１０３）。
【００８７】
そして、ノード＃３の負荷がノード＃４の負荷より小さい場合には、マネージャ２５はノード＃３にプロキシ２４の起動を指示し（ステップＳ１０４）、ノード＃３はプロキシ２４を起動して起動完了をマネージャ２５に通知する（ステップＳ１０５）。そして、マネージャ２５は代表ＩＰをノード＃３に付与し（ステップＳ１０６）、ノード＃３は付与された代表ＩＰの起動完了をマネージャ２５に通知する（ステップＳ１０７）。
【００８８】
一方、ノード＃４の負荷がノード＃３の負荷より小さい場合には、マネージャ２５はノード＃４にプロキシ２４の起動を指示し（ステップＳ１０８）、ノード＃４はプロキシ２４を起動して起動完了をマネージャ２５に通知する（ステップＳ１０９）。そして、マネージャ２５は代表ＩＰをノード＃４に付与し（ステップＳ１１０）、ノード＃４は付与された代表ＩＰの起動完了をマネージャ２５に通知する（ステップＳ１１１）。
【００８９】
このように、マネージャ２５は、負荷の小さいノード２にプロキシ２４を移動することによって、ノード２間の負荷を均等化するとともに、プロキシ２４の処理をできるだけ高速化することができる。
【００９０】
次に、マネージャ２５と管理ＧＵＩ部２３の両方が動作するノード２が故障した場合に管理ＧＵＩノードを切替える処理のシーケンスについて説明する。図１７は、マネージャ２５と管理ＧＵＩ部２３の両方が動作するノード２が故障した場合に管理ＧＵＩノードを切替える処理のシーケンスを示す図である。図１７において、ノード＃１はプロキシノードであり、ノード＃２はマネージャ２５と管理ＧＵＩ部２３の移動元のノード２であり、ノード＃３はマネージャ２５と管理ＧＵＩ部２３の移動先のノード２である。
【００９１】
図１７に示すように、管理ＰＣ５は、プロキシノードを経由してノード＃２にＧＵＩ接続を行う（ステップＳ１２１）。ここで、ノード＃２が故障すると、ノード＃２とストレージクラスタを構成するノード２のクラスタ２７がクラスタ切替え処理によりマネージャ２５を動作させる。また、クラスタ２７は、各ノード２の負荷状況を各エージェント２６より入手し、比較する（ステップＳ１２２）。
【００９２】
そして、マネージャ２５は、ノード＃３を管理ＧＵＩ部２３の引継ぎ先として決定し（ステップＳ１２３）、管理ＧＵＩ部２３をノード＃３に移動する（ステップＳ１２４）。そして、マネージャ２５は、ノード＃３で内部代表ＩＰをリンクアップする（ステップＳ１２５）。
【００９３】
そして、プロキシノードはタイムアウト後にＧＵＩ接続の再送をノード＃３に対して行い（ステップＳ１２６）、ノード＃３の管理ＧＵＩ部２３がプロキシノード経由で管理ＰＣ５に応答する（ステップＳ１２７）。
【００９４】
このように、マネージャ２５と管理ＧＵＩ部２３の両方が動作するノード２が故障した場合に、故障したノード２とストレージクラスタを構成するノード２のクラスタ２７がマネージャ２５を動作させる。したがって、管理ＧＵＩ部２３とマネージャ２５が同じノード２で動作している場合でも、マネージャ２５は、管理ＧＵＩ部２３を故障したノード２から他のノード２へ移動することができる。
【００９５】
なお、管理ＧＵＩ部２３、プロキシ２４、マネージャ２５、エージェント２６及びクラスタ２７は、ノード２が有するＭＰＵ（Micro  Processing  Unit）で同様の機能を有するストレージ制御プログラムが実行されることによって実現される。そこで、ストレージ制御プログラムを実行するノード２のハードウェア構成について説明する。
【００９６】
図１８は、ストレージ制御プログラムを実行するノード２のハードウェア構成を示す図である。図１８に示すように、ノード２は、ＭＰＵ４０ａと、フラッシュメモリ４０ｂと、ＲＡＭ（Random  Access  Memory）４０ｃとを有する。
【００９７】
ＭＰＵ４０ａは、ＲＡＭ４０ｃに記憶されたストレージ制御プログラムを読み出して実行する処理装置である。フラッシュメモリ４０ｂは、ストレージ制御プログラムを記憶する不揮発性メモリである。ストレージ制御プログラムは、フラッシュメモリ４０ｂからＲＡＭ４０ｃに読み込まれ、ＭＰＵ４０ａにより実行される。ＲＡＭ４０ｃは、ストレージ制御プログラム、ストレージ制御プログラムの実行に必要なデータ、ストレージ制御プログラムの実行の途中結果等を記憶するメモリである。
【００９８】
なお、ストレージ制御プログラムを記憶する記憶装置としては、他に磁気記憶装置、光ディスク、光磁気記録媒体等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）等がある。光ディスクには、ＤＶＤ（Digital  Versatile  Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical  disk）等がある。
【００９９】
ストレージ制御プログラムを流通させる場合には、例えば、ストレージ制御プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、ストレージ制御プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから制御モジュール３にストレージ制御プログラムを転送することもできる。
【０１００】
ノード２は、例えば、可搬型記録媒体に記録されたストレージ制御プログラムもしくはサーバコンピュータから転送されたストレージ制御プログラムを、フラッシュメモリ４０ｂに格納する。そして、ＭＰＵ４０ａは、フラッシュメモリ４０ｂからストレージ制御プログラムを読み取り、ストレージ制御プログラムに従った処理を実行する。なお、ＭＰＵ４０ａは、可搬型記録媒体から直接ストレージ制御プログラムを読み取り、ストレージ制御プログラムに従った処理を実行することもできる。
【０１０１】
上述してきたように、実施例では、マネージャ２５の選択部２５ａが管理ＰＣ５と結線されたノード２の中からプロキシ２４が動作するノード２を選択し、マネージャ２５の付与部２５ｂが選択部２５ａにより選択されたノード２に代表ＩＰを付与する。そして、プロキシ２４は、管理ＰＣ５からのアクセスを管理ＧＵＩ部２３が動作するノード２にリダイレクトする。
【０１０２】
このため、管理ＧＵＩ部２３が動作するノード２は管理ＰＣ５と結線されている必要はなく、ストレージシステム１は、一部のノード２だけが管理ＰＣ５と結線されていればよい。したがって、ストレージシステム１は、結線の手間及び結線のコストを削減することができる。
【０１０３】
また、実施例では、プロキシ２４が動作するノード２が故障すると、マネージャ２５は、管理ＰＣ５と結線された他のノード２の中からプロキシ２４及び代表ＩＰの移動先を選択し、選択したノード２にプロキシ２４及び代表ＩＰを移動する。したがって、プロキシ２４が動作するノード２が故障した場合にも、管理ＰＣ５は継続して管理ＧＵＩ部２３にアクセスすることができる。
【０１０４】
また、実施例では、管理ＧＵＩ部２３が動作するノード２が故障すると、マネージャ２５は、他のノード２の中から管理ＧＵＩ部２３及び内部代表ＩＰの移動先を選択し、選択したノード２に管理ＧＵＩ部２３及び内部代表ＩＰを移動する。したがって、管理ＧＵＩ部２３が動作するノード２が故障した場合にも、管理ＰＣ５は継続して管理ＧＵＩ部２３にアクセスすることができる。
【０１０５】
また、実施例では、管理ＧＵＩ部２３に対して別のノード２でプロキシ２４を動作させる場合について説明したが、本発明はこれに限定されるものではなく、他の機能部に対して別のノード２でプロキシを動作させる場合にも同様に適用することができる。
【０１０６】
また、実施例では、管理スイッチ４とノード２が結線される場合について説明したが、本発明はこれに限定されるものではなく、管理スイッチ４とノード２がインタフェース接続される場合にも同様に適用することができる。
【符号の説明】
【０１０７】
１    ストレージシステム
２，９    ノード
３    インターコネクトスイッチ
４    管理スイッチ
５    管理ＰＣ
６    管理ＬＡＮ
２１，９１    管理ポート
２２，９２    インターコネクトポート
２３，９３    管理ＧＵＩ部
２４    プロキシ
２５    マネージャ
２５ａ    選択部
２５ｂ    付与部
２６    エージェント
２７    クラスタ
４０ａ    ＭＰＵ
４０ｂ    フラッシュメモリ
４０ｃ    ＲＡＭ
【図１】
0006519208.tif 000002
【図２】
0006519208.tif 000003
【図３】
0006519208.tif 000004
【図４】
0006519208.tif 000005
【図５】
0006519208.tif 000006
【図６】
0006519208.tif 000007
【図７】
0006519208.tif 000008
【図８】
0006519208.tif 000009
【図９】
0006519208.tif 000010
【図１０】
0006519208.tif 000011
【図１１】
0006519208.tif 000012
【図１２】
0006519208.tif 000013
【図１３】
0006519208.tif 000014
【図１４】
0006519208.tif 000015
【図１５】
0006519208.tif 000016
【図１６】
0006519208.tif 000017
【図１７】
0006519208.tif 000018
【図１８】
0006519208.tif 000019