(57)【要約】【課題】共通の実デバイスを複数の記憶制御装置で仮想化する機能を備えたストレージシステムの負荷分散を図る。【解決手段】ストレージシステム（１００）は、実デバイス（１０５５）へのデータ入出力を要求するホストシステム（１００８）と、それぞれが少なくとも一つ以上の仮想デバイス（１０３０，１０４２）を有する複数の記憶制御装置（１０１９，１０３２）と、を備える。仮想デバイス（１０３０，１０４２）は、共通の実デバイス（１０５５）を仮想化したものである。ホストシステム（１００８）は、共通の実デバイス（１０５５）を仮想化してなる複数の仮想デバイス（１０３０，１０４２）のそれぞれに接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして設定する。【選択図】図１
2007148812.tif 000002
【特許請求の範囲】
【請求項１】
実デバイスへのデータ入出力を要求するホストシステムと、
それぞれが少なくとも一つ以上の仮想デバイスを有する複数の記憶制御装置と、
を備え、
前記複数の記憶制御装置のそれぞれが有する前記仮想デバイスは、共通の実デバイスを仮想化したものであり、
前記ホストシステムは、前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれに接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして設定する、ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、前記ホストシステムは、各記憶制御装置の負荷が略均等になるように、前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれに接続する複数の論理パスの間のパス切り替えを制御する、ストレージシステム。
【請求項３】
請求項１に記載のストレージシステムであって、前記ホストシステムは、前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれに接続する複数の論理パスのうち何れかの論理パスに障害が発生すると、他の論理パスに切り替える、ストレージシステム。
【請求項４】
請求項１に記載のストレージシステムであって、前記記憶制御装置は、仮想化スイッチを含む、ストレージシステム。
【請求項５】
複数の記憶制御装置のそれぞれが有する仮想デバイスが共通の実デバイスを仮想化したものであることを認識するステップと、
前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれとホストシステムとを接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして設定するステップと、
を備える、ストレージシステムの負荷分散方法。
【請求項６】
請求項５に記載のストレージシステムの負荷分散方法であって、
各記憶制御装置の負荷が略均等になるように、前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれと前記ホストシステムとに接続する複数の論理パスの間のパス切り替えを制御するステップを更に備える、ストレージシステムの負荷分散方法。
【請求項７】
請求項５に記載のストレージシステムの負荷分散方法であって、
前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれと前記ホストシステムとに接続する複数の論理パスのうち何れかの論理パスに障害が発生すると、他の論理パスに切り替えるステップを更に備える、ストレージシステムの負荷分散方法。
【請求項８】
請求項５に記載のストレージシステムの負荷分散方法であって、前記記憶制御装置は、仮想化スイッチを含む、ストレージシステムの負荷分散方法。
【請求項９】
複数の記憶制御装置のそれぞれが有する仮想デバイスを共通の実デバイスを仮想化することにより作成するステップと、
前記複数の記憶制御装置のそれぞれが有する仮想デバイスのＧＵＩＤとして、前記共通の実デバイスのＧＵＩＤをアサインすることにより、前記複数の記憶制御装置のそれぞれが有する仮想デバイスが前記共通の実デバイスを仮想化したものであることを認識するステップと、
前記共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれとホストシステムとを接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして設定するステップと、
を備える、ストレージシステムの負荷分散方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は共通の実デバイスを複数の記憶制御装置で仮想化する機能を備えたストレージシステム及びその負荷分散方法に関する。
【背景技術】
【０００２】
データセンタ等の大容量のデータを取り扱うデータベースシステムでは、ディスクアレイシステム等のストレージシステムを用いてデータを管理する。ディスクアレイシステムは、アレイ状に配設された多数の記憶デバイスを備え、ＲＡＩＤ（Redundant Arrays of Independent Inexpensive Disks）構成された記憶資源をホストシステムに提供する。ホストシステムとストレージシステムとは、ＳＡＮ（Storage Area Network）のようなデバイス共有型のネットワークを介して相互に接続される。ストレージシステムの運用形態として、特開２００５−１６５４４４号公報には、外部ストレージの記憶領域を上位装置と接続可能な資源として利用する方法が提案されている。また、特開２００３−３１６５２２号公報には、複数の記憶システムが備える機能の有無の差や仕様の差異を吸収し、複数の記憶システムの機能を統合的に連携する方法が提案されている。
【特許文献１】特開２００５−１６５４４４号公報
【特許文献２】特開２００３−３１６５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
外部デバイスの仮想化技術を用いれば、複数の記憶制御装置で共通の外部デバイスを仮想化することで、ホストシステムは、何れか一つの記憶制御装置に接続する論理パスの負荷が重くなり、或いは論理パスに障害等が発生したとしても、他の記憶制御装置に接続する論理パスにアクセスパスを切り替えることで、Ｉ／Ｏ処理を継続することができる。
【０００４】
しかし、従来では、複数の記憶制御装置で共通の外部デバイスを仮想化したとしても、それぞれの記憶制御装置で共通の外部デバイスを仮想化していることを認識することができなかったため、ホストシステムは、何れか一つの記憶制御装置に接続する論理パスの負荷が重くなり、或いは論理パスに障害等が発生したとしても、他の記憶制御装置に接続する論理パスにアクセスパスを切り替えることができなかった。
【０００５】
そこで、本発明は上記の問題を解決し、共通の実デバイスを複数の記憶制御装置で仮想化する機能を備えたストレージシステムの負荷分散を図ることを課題とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明では、複数の記憶制御装置のそれぞれが有する仮想デバイスが共通の実デバイスを仮想化したものであることを認識し、共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれとホストシステムとを接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして設定する。
【０００７】
複数の記憶制御装置のそれぞれが有する仮想デバイスが共通の実デバイスを仮想化したものであることを認識するための手段として、ＧＵＩＤ（Globally Unique Identifier）を用いるのが望ましい。ストレージシステム内の各論理デバイスには、ストレージシステム全体でユニークな識別情報として、ＧＵＩＤがアサインされる。具体的には、実記憶領域を有する論理デバイスには、固有のＧＵＩＤがアサインされる。一方、実記憶領域を有する論理デバイスを仮想化してなる仮想デバイスには、仮想化元の論理デバイスのＧＵＩＤがアサインされる。複数の記憶制御装置のそれぞれが有する仮想デバイスのＧＵＩＤが一致していれば、それらの仮想デバイスは、共通の実デバイスを仮想化したものであることを認識できる。
【０００８】
共通の実デバイスを仮想化してなる複数の仮想デバイスのそれぞれに接続する複数の論理パスとホストシステムとの間のパス切り替えを制御することで、各記憶制御装置の負荷が略均等になるように負荷分散を実現できる。
【発明の効果】
【０００９】
本発明によれば、共通の実デバイスを複数の記憶制御装置で仮想化する機能を備えたストレージシステムの負荷分散を実現できる。
【発明を実施するための最良の形態】
【００１０】
図１乃至図２を参照しながら、本実施形態に係るストレージシステム１００の負荷分散方法の概要について説明する。
【００１１】
図１は本実施形態に係るストレージシステム１００のシステム構成を示す。ストレージシステム１００は、ホストシステム１００８、第一の記憶制御装置１０１９、第二の記憶制御装置１０３２、外部記憶制御装置１０４５、及び管理サーバ１０００を備える。
【００１２】
第一の記憶制御装置１０１９は、内部ＬＤＥＶ（内部論理デバイス）１０３１、仮想ＬＤＥＶ（仮想論理デバイス）１０３０、ＦＣ（Fibre Channel）ポート１０２０，１０２９、及びサービスプロセッサ（ＳＶＰ）１０２２を備える。
【００１３】
内部ＬＤＥＶ１０３１は、第一の記憶制御装置１０１９内に設けられた物理的なストレージデバイス（例えば、ディスクドライブ）上に定義される実デバイスである。仮想ＬＤＥＶ１０３０は、実記憶領域を有しない仮想的な存在であり、データを記憶する実体的な記憶領域は、外部記憶制御装置１０４５内の外部ＬＤＥＶ（外部論理デバイス）１０５５に存在する。即ち、第一の記憶制御装置１０１９が有する記憶階層に、外部記憶制御装置１０４５が有する外部ＬＤＥＶ１０５５がマッピングされることにより、仮想ＬＤＥＶ１０３０が構築されている。マッピングとは、各デバイスのアドレス空間同士を対応付けることをいう。対応付けられるデバイスは、実デバイスでもよく、或いは仮想デバイスでもよい。外部ＬＤＥＶ１０５５を仮想ＬＤＥＶ１０３０にマッピングする仮想化方法の詳細については、特開２００５−１０７６４５号公報に開示されている。第一の記憶制御装置１０１９は、外部ＬＤＥＶ１０５５を自己の内部デバイスとして取り込み、これをＬＵ（Logical Unit）として、ホストシステム１００８に提供する。
【００１４】
第二の記憶制御装置１０３２は、内部ＬＤＥＶ（内部論理デバイス）１０４３、仮想ＬＤＥＶ（仮想論理デバイス）１０４２、ＦＣポート１０３４，１０４４、及びサービスプロセッサ（ＳＶＰ）１０３３を備える。
【００１５】
仮想ＬＤＥＶ１０４２は、実記憶領域を有しない仮想的な存在であり、データを記憶する実体的な記憶領域は、外部記憶制御装置１０４５内の外部ＬＤＥＶ１０５５に存在する。即ち、第二の記憶制御装置１０３２が有する記憶階層に、外部記憶制御装置１０４５が有する外部ＬＤＥＶ１０５５がマッピングされることにより、仮想ＬＤＥＶ１０４２が構築されている。第二の記憶制御装置１０３２は、外部ＬＤＥＶ１０５５を自己の内部デバイスとして取り込み、これをＬＵ（Logical Unit）として、ホストシステム１００８に提供する。
【００１６】
このように、本実施形態では、複数の記憶制御装置１０１９，１０３２が共通の外部ＬＤＥＶ１０５５を仮想化し、仮想ＬＤＥＶ１０３０，１０４２をホストシステム１００８に提供している。
【００１７】
外部記憶制御装置１０４５は、外部ＬＤＥＶ１０５５、及びＦＣポート１０４６を備える。
【００１８】
外部ＬＤＥＶ１０５５は、外部記憶制御装置１０４５内に設けられた物理的なストレージデバイス（例えば、ディスクドライブ）上に定義される実デバイスである。外部ＬＤＥＶ１０５５は、第一の記憶制御装置１０１９又は第二の記憶制御装置１０３２から見て外部に存在するため、本明細書では便宜上、外部ＬＤＥＶと称するが、外部記憶制御装置１０４５の内部に存在するという意味では、内部ＬＤＥＶでもある。また、外部記憶制御装置１０４５は、外部ＬＤＥＶ１０５５を有するため、本明細書では便宜上、外部記憶制御装置と称するが、第三の記憶制御装置と称してもよい。また、第一及び第二の記憶制御装置は、中間記憶制御装置と別称してもよい。更に、記憶制御装置は、ＤＫＣと別称してもよい。
【００１９】
ホストシステム１００８は、パス管理ソフトウェア１０１２、ＬＡＮポート１０１４、及びＦＣポート１０１５を備える。
【００２０】
管理サーバ１０００は、管理ソフトウェア１００３、及びＬＡＮポート１００７を備える。
【００２１】
ＬＡＮポート１００７，１０１４、及びサービスプロセッサ１０２２，１０３３は、ＬＡＮ１０５６を介して相互に接続されている。ＦＣポート１０１５は、ファイバチャネル１０５７を介してＦＣポート１０２０、及びＦＣポート１０３４に接続されている。ＦＣポート１０４６は、ファイバチャネル１０５７を介してＦＣポート１０２９、及びＦＣポート１０４４に接続されている。
【００２２】
ストレージシステム１００内の各論理デバイスには、システム全体でユニークな識別情報として、ＧＵＩＤ（Globally Unique Identifier）がアサインされている。実記憶領域を有する内部ＬＤＥＶ１０３１，１０４３、及び外部ＬＤＥＶ１０５５には、固有のＧＵＩＤがアサインされる。一方、実記憶領域を有しない仮想ＬＤＥＶ１０３０，１０４２には、仮想化元の論理デバイスのＧＵＩＤ、即ち、外部ＬＤＥＶ１０５５のＧＵＩＤがアサインされる。本実施形態では、仮想ＬＤＥＶ１０３０，１０４２は、両者とも外部ＬＤＥＶ１０５５を仮想化したデバイスであるので、同一のＧＵＩＤを有することになる。
【００２３】
パス管理ソフトウェア１０１２は、仮想ＬＤＥＶ１０３０，１０４２のＧＵＩＤが同一であることから、両者は、同一の論理デバイスを仮想化したものであることを認識し、ホストシステム１００８から仮想ＬＤＥＶ１０３０を経由して外部ＬＤＥＶ１０５５に接続する論理パスと、ホストシステム１００８から仮想ＬＤＥＶ１０４２を経由して外部ＬＤＥＶ１０５５に接続する論理パスのうち何れか一方の論理パスを他方の論理パスの交替パスとして設定する。
【００２４】
管理ソフトウェア１００３は、ホストシステム１００８から外部ＬＤＥＶ１０５５に接続する交替パスの構成情報を管理するとともに、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２のそれぞれの負荷を監視する。そして、管理ソフトウェア１００３は、第一の記憶制御装置１０１９又は第二の記憶制御装置１０３２のうち何れか一方の負荷が予め定められた閾値を越えたことを検出すると、パス管理ソフトウェア１０１２にパス切り替えを指示する。すると、パス管理ソフトウェア１０１２はパス切り替えを実行する。
【００２５】
記憶制御装置の負荷としては、リソース使用率（例えば、キャッシュメモリの利用率、ＩＯＰＳ（単位時間あたりの記憶制御装置のＩ／Ｏ処理回数）、転送レート（単位時間あたりに論理パスに流れるデータ転送量）、応答時間（記憶制御装置がホストシステムからＩ／Ｏリクエストを受信してから応答するまでの時間）、Ｉ／Ｏ処理時間（記憶制御装置がＩ／Ｏ処理に要する時間）など）を用いることができる。
【００２６】
ここで、図２（Ａ）、図２（Ｂ）を参照しながら、パス切り替えについて説明する。ホストシステム１００８から各デバイス１０３１，１０４３，１０５５にアクセスするためのパスとして、複数の論理パスＰ１，Ｐ２，Ｐ３，Ｐ４が定義されている場合を考える。論理パスＰ１は、ホストシステム１００８が内部ＬＤＥＶ１０３１にアクセスするためのものである。論理パスＰ２は、ホストシステム１００８が仮想ＬＤＥＶ１０３０を介して外部ＬＤＥＶ１０５５にアクセスするためのものである。論理パスＰ３は、ホストシステム１００８が内部ＬＤＥＶ１０４３にアクセスするためのものである。論理パスＰ４は、ホストシステム１００８が仮想ＬＤＥＶ１０４２を介して外部ＬＤＥＶ１０５５にアクセスするためのものである。
【００２７】
図２（Ａ）に示すように、ホストシステム１００８は、論理パスＰ１，Ｐ２，Ｐ３を使用して内部ＬＤＥＶ１０３１、外部ＬＤＥＶ１０５５、内部ＬＤＥＶ１０４３にアクセスする。第一の記憶制御装置１０１９が高負荷の状態にあり、第二の記憶制御装置１０３２が低負荷の状態にあるものとする。すると、図２（Ｂ）に示すように、パス管理ソフトウェア１０１２は、外部ＬＤＥＶ１０５５にアクセスするためのパスを、論理パスＰ２から論理パスＰ４に切り替える。これにより、第一の記憶制御装置１０１９の負荷と、第二の記憶制御装置１０３２の負荷とをそれぞれ同程度にバランスできる。尚、パス切り替えとは、上記の例で言えば、論理パスＰ２を"Active"から"Standby"に切り替える一方、論理パスＰ４を"Standby"から"Active"に切り替えることをいう。
【実施例】
【００２８】
以下、図３乃至図１９を参照しながら本発明の実施例について説明する。
図３は実施例に係わるストレージシステム１００のシステム構成を示す。図１に示した符号と同一符号の装置等は同一の装置等を示すものとしてその詳細な説明を省略する。
【００２９】
ホストシステム１００８は、ＣＰＵ１００９、メモリ１０１０、ＬＡＮポート１０１４及びＦＣポート１０１５〜１０１８を備える。ＣＰＵ１００９は、第一の記憶制御装置１０１９、第二の記憶制御装置１０３２、及び外部記憶制御装置１０４５へのアクセス制御や、論理パスの切り替え制御などを行う。メモリ１０１０は、オペレーティングシステム１０１１、パス管理ソフトウェア１０１２、及び論理パステーブル１０１３を格納する。パス管理ソフトウェア１０１２、及び論理パステーブル１０１３の詳細については、後述する。ホストシステム１００８は、例えば、ワークステーション、メインフレーム、パーソナルコンピュータ等であり、具体的には、銀行の自動預金預け支払いシステムや航空機の座席予約システム等である。
【００３０】
第一の記憶制御装置１０１９は、ＣＰＵ１０２３、メモリ１０２４、キャッシュメモリ（ＣＭ）１０２５、内部ＬＤＥＶ１０３１、仮想ＬＤＥＶ１０３０、ＦＣポート１０２０，１０２１，１０２９、及びサービスプロセッサ１０２２を備える。ＣＰＵ１０２３は、第一の記憶制御装置１０１９のシステム制御を行う。メモリ１０２４は、パス設定テーブル１０２６、ＬＤＥＶテーブル１０２７、及びコントロールプログラム１０２８を格納する。キャッシュメモリ１０２５は、内部ＬＤＥＶ１０３１又は仮想ＬＤＥＶ１０３０に読み書きされるデータを一時的に格納する。パス設定テーブル１０２６、及びＬＤＥＶテーブル１０２７の詳細については、後述する。
【００３１】
第二の記憶制御装置１０３２は、ＣＰＵ１０４１、メモリ１０３６、キャッシュメモリ（ＣＭ）１０３７、内部ＬＤＥＶ１０４３、仮想ＬＤＥＶ１０４２、ＦＣポート１０３４，１０３５，１０４４、及びサービスプロセッサ１０３３を備える。ＣＰＵ１０４１は、第二の記憶制御装置１０３２のシステム制御を行う。メモリ１０３６は、パス設定テーブル１０３８、ＬＤＥＶテーブル１０３９、及びコントロールプログラム１０４０を格納する。キャッシュメモリ１０３７は、内部ＬＤＥＶ１０４３又は仮想ＬＤＥＶ１０４２に読み書きされるデータを一時的に格納する。パス設定テーブル１０３８、及びＬＤＥＶテーブル１０３９の詳細については、後述する。
【００３２】
外部記憶制御装置１０４５は、ＣＰＵ１０４９、メモリ１０５０、キャッシュメモリ（ＣＭ）１０５１、外部ＬＤＥＶ１０５５、ＦＣポート１０４６，１０４７、及びサービスプロセッサ１０４８を備える。ＣＰＵ１０４９は、外部記憶制御装置１０４５のシステム制御を行う。メモリ１０５０は、パス設定テーブル１０５２、ＬＤＥＶテーブル１０５３、及びコントロールプログラム１０５４を格納する。キャッシュメモリ１０５１は、外部ＬＤＥＶ１０５５に読み書きされるデータを一時的に格納する。パス設定テーブル１０５２、及びＬＤＥＶテーブル１０５３の詳細については、後述する。
【００３３】
管理サーバ１０００は、ＣＰＵ１００１、メモリ１００２、及びＬＡＮポート１００７を備える。ＣＰＵ１００１は、ストレージシステム１００全体の各種の論理資源及び物理資源を管理する。メモリ１００２は、管理ソフトウェア１００３、ホスト管理テーブル１００４、論理パス管理テーブル１００５、及びストレージ管理テーブル１００６を格納する。ホスト管理テーブル１００４、論理パス管理テーブル１００５、及びストレージ管理テーブル１００６の詳細については、後述する。
【００３４】
尚、ホストシステム１００８のＬＡＮポート１０１４、第一の記憶制御装置１０１９のサービスプロセッサ１０２２、第二の記憶制御装置１０３２のサービスプロセッサ１０３３、外部記憶制御装置１０４５のサービスプロセッサ１０４８、及び管理サーバ１０００のＬＡＮポート１００７は、ＬＡＮ１０５６を介して相互に接続している。また、ホストシステム１００８のＦＣポート１０１５、１０１６は、それぞれファイバチャネル１０５７を介して第一の記憶制御装置１０１９のＦＣポート１０２１，１０２０に接続し、ホストシステム１００８のＦＣポート１０１７、１０１８は、それぞれファイバチャネル１０５７を介して第二の記憶制御装置１０３２のＦＣポート１０３５，１０３４に接続している。また、第一の記憶制御装置１０１９のＦＣポート１０２９は、ファイバチャネル１０５７を介して外部記憶制御装置１０４５のＦＣポート１０４７に接続し、第二の記憶制御装置１０３２のＦＣポート１０４４は、ファイバチャネル１０５７を介して外部記憶制御装置１０４５のＦＣポート１０４６に接続している。
【００３５】
本実施例では、説明を簡略化するため、ホストシステム１００８、第一の記憶制御装置１０１９、第二の記憶制御装置１０３２、及び外部記憶制御装置１０４５の台数は、それぞれ一台とするが、それぞれ複数台存在していてもよい。
【００３６】
図４はホスト管理テーブル１００４のテーブル構造を示す。ホスト管理テーブル１００４は、ホストシステム１００８の各種情報を保持するためのものであり、管理ソフトウェア１００３によって管理される。管理ソフトウェア１００３は、ホスト管理テーブル１００４に格納されている情報を使用してホストシステム１００８にアクセスし、論理パスに関する各種情報を取得する。ホスト管理テーブル１００４は、一台のホストシステムにつき一つのエントリを有する。
【００３７】
「ホストＩＤ」とは、ストレージシステム１００の中でホストシステムを一意に識別するための識別情報である。ホストＩＤは、管理ソフトウェア１００３によって自動生成される。「ホスト名」は、システム管理者によって決定される。「ＩＰアドレス」は、ホストシステムのＩＰ（Internet Protocol）アドレスである。「ユーザ名」とは、システム管理者のユーザ名である。「パスワード」とは、システム管理者のパスワードである。
【００３８】
図５は論理パス管理テーブル１００５のテーブル構造を示す。論理パス管理テーブル１００５は、論理パスの各種情報を保持するためのものであり、管理ソフトウェア１００３によって管理される。管理ソフトウェア１００３は、ホストシステム１００８のパス管理ソフトウェア１０１２から論理パスの各種情報を取得し、その取得した情報を論理パス管理テーブル１００５に保存する。論理パス管理テーブル１００５は、一つの論理パスにつき一つのエントリを有する。
【００３９】
「ホストＩＤ」とは、ストレージシステム１００の中でホストシステムを一意に識別するための識別情報である。「ホストＩＤ」は、管理ソフトウェア１００３によって自動生成される。「パスＩＤ」とは、ホストシステム単位で論理パスを一意に識別するための識別情報である。即ち、「パスＩＤ」は、「ホストＩＤ」によって特定されるホストシステムに接続する論理パスの識別情報である。「ホストＩＤ」と「パスＩＤ」との組み合わせにより、ストレージシステム１００の中で論理パスを一意に識別することができる。「ＧＵＩＤ」とは、ストレージシステム１００の中で論理デバイスを一意に識別するための識別情報である。即ち、「ＧＵＩＤ」は、「ホストＩＤ」と「パスＩＤ」との組み合わせによって一意に特定される論理パスに接続する論理デバイスの識別情報である。「ＤＫＣ  ＩＤ」とは、ストレージシステム１００の中で記憶制御装置を一意に識別するための識別情報である。即ち、「ＤＫＣ  ＩＤ」は、「ホストＩＤ」と「パスＩＤ」との組み合わせによって一意に特定される論理パスに接続する論理デバイスを有する記憶制御装置の識別情報である。「パス状態」は、論理パスの状態を示し、"Active"，"Standby"，"Failed"の３種類がある。"Active"は、論理パスが稼働状態にあることを示す。"Standby"は、論理パスが待機状態にあることを示す。"Failed"は、論理パスが障害により使用できないことを示す。
【００４０】
図６はストレージ管理テーブル１００６のテーブル構造を示す。ストレージ管理テーブル１００６は、記憶制御装置の各種情報を保持するためのものであり、管理ソフトウェア１００３によって管理される。管理ソフトウェア１００３は、ストレージ管理テーブル１００６に格納された情報を使用して、記憶制御装置にアクセスし、ＣＰＵ使用率を取得して、その情報をストレージ管理テーブル１００６に格納する。ストレージ管理テーブル１００６は、一つの記憶制御装置につき一つのエントリを有する。
【００４１】
「ＤＫＣ  ＩＤ」とは、ストレージシステム１００の中で記憶制御装置を一意に識別するための識別情報である。「ＩＰアドレス」とは、「ＤＫＣ  ＩＤ」によって特定される記憶制御装置のサービスプロセッサのＩＰアドレスである。「ユーザ名」とは、システム管理者のユーザ名である。「パスワード」とは、システム管理者のパスワードである。「ＤＫＣ  ＣＰＵ使用率」とは、「ＤＫＣ  ＩＤ」によって特定される記憶制御装置のプロセッサ平均使用率である。
【００４２】
図７は論理パステーブル１０１３のテーブル構造を示す。論理パステーブル１０１３は、論理パスの各種情報を保持するためのものであり、パス管理ソフトウェア１０１２によって管理される。パス管理ソフトウェア１０１２は、各記憶制御装置のＦＣポートをスキャンすることにより、各ＦＣポートに接続する論理デバイスのＧＵＩＤを取得し、同一のＧＵＩＤを有する複数の論理デバイスのそれぞれを「共通の外部デバイスを仮想化した仮想ＬＤＥＶ」として認識し、このような仮想ＬＤＥＶに接続する複数の論理パスのうち一部の論理パスを他の論理パスの交替パスとして定義する。論理パステーブル１０１３は、一つの論理パスにつき一つのエントリを有する。
【００４３】
「パスＩＤ」とは、ホストシステム単位で論理パスを一意に識別するための識別情報である。「ＨＢＡ  ＷＷＮ」とは、「パスＩＤ」によって特定される論理パスが接続するホストシステムのＦＣポートのWorld Wide Nameである。ホストシステムのＦＣポートは、Host Bus Adapter（ＨＢＡ）と称される。「ＤＫＣ  ＩＤ」とは、ストレージシステム１００の中で記憶制御装置を一意に識別するための識別情報である。即ち、「ＤＫＣ  ＩＤ」は、「パスＩＤ」によって特定される論理パスが接続する記憶制御装置の識別情報である。「ポート名」とは、「ＤＫＣ  ＩＤ」によって特定される記憶制御装置のＦＣポートの名称である。「ポート名」は、記憶制御装置単位でユニークな識別情報である。「ＬＵＮ」とは、パスＩＤによって特定される論理パスが接続するＦＣポートにアサインされた論理デバイスのLogical Unit Numberである。「ＬＵＮ」は、ポート単位でユニークな数値である。「ＧＵＩＤ」とは、ストレージシステム１００の中で論理デバイスを一意に識別するための識別情報である。即ち、ＧＵＩＤは、「パスＩＤ」、「ＨＢＡ  ＷＷＮ」、「ＤＫＣ  ＩＤ」、「ポート名」、及び「ＬＵＮ」の組み合わせによって一意に特定される論理パスに接続する論理デバイスの識別情報である。「パス状態」は、論理パスの状態を示し、"Active"，"Standby"，"Failed"の３種類がある。
【００４４】
図８はパス設定テーブル１０２６のテーブル構造を示す。パス設定テーブル１０２６は、記憶制御装置の各ＦＣポートにアサインされた論理デバイスの各種情報を保持する。パス管理ソフトウェア１０１２は、記憶制御装置のＦＣポートにアサインされた論理デバイスにInquiryコマンドを発行することで、パス設定テーブル１０２６に格納されている各種情報（ＬＤＥＶ割り当て情報）を取得する。Inquiryコマンドの詳細は、ＳＣＳＩプロトコルに規定されている。パス設定テーブル１０２６は、一つのＬＤＥＶ割り当て設定につき一つのエントリを有する。
【００４５】
「ポート名」とは、記憶制御装置のＦＣポートの名称である。「ポート名」は、記憶制御装置単位でユニークな識別情報である。「ＬＵＮ」とは、「ポート名」によって特定されるＦＣポートにアサインされた論理デバイスのLogical Unit Numberである。「ＬＵＮ」は、ポート単位でユニークな数値である。「ＨＢＡ  ＷＷＮ」とは、「ポート名」と「ＬＵＮ」とによって特定される論理パスが接続するホストシステムのＦＣポートのWorld Wide Nameである。「ＧＵＩＤ」とは、ストレージシステム１００の中で論理デバイスを一意に識別するための識別情報である。即ち、ＧＵＩＤは、「ポート名」、「ＬＵＮ」、及び「ＨＢＡ  ＷＷＮ」の組み合わせによって一意に特定される論理パスに接続する論理デバイスの識別情報である。内部ＬＤＥＶには、コントロールプログラムがＬＤＥＶを作成するときに、コントロールプログラムによって、ＧＵＩＤがアサインされる。仮想ＬＤＥＶには、外部ＬＤＥＶのＧＵＩＤがアサインされる。「ＬＤＥＶ番号」は、「ポート名」、「ＬＵＮ」、「ＨＢＡ  ＷＷＮ」、及び「ＧＵＩＤ」の組み合わせによって一意に特定される論理デバイスの識別情報である。「ＬＤＥＶ番号」は、記憶制御装置単位でユニークな識別情報である。
【００４６】
尚、パス設定テーブル１０３８，１０５２のテーブル構造もパス設定テーブル１０２６のテーブル構造と同様である。
【００４７】
図９はＬＤＥＶテーブル１０２７のテーブル構造を示す。ＬＤＥＶテーブル１０２７は、記憶制御装置が認識している内部ＬＤＥＶ及び仮想ＬＤＥＶの情報を保持する。ＬＤＥＶテーブル１０２７は、一つのＬＤＥＶにつき一つのエントリを有する。
【００４８】
「ＬＤＥＶ番号」は、記憶制御装置が有する論理デバイス（内部ＬＤＥＶ又は仮想ＬＤＥＶ）の識別情報であり、記憶制御装置単位でユニークである。「外部ＤＫＣに接続する中間ＤＫＣのＦＣポートのＷＷＮ」とは、外部記憶制御装置に接続する中間記憶制御装置のＦＣポートのWorld Wide Nameである。「中間ＤＫＣに接続する外部ＤＫＣのＦＣポートのＷＷＮ」とは、中間記憶制御装置に接続する外部記憶制御装置のＦＣポートのWorld Wide Nameである。「外部ＤＫＣのＬＵＮ」とは、外部記憶制御装置の論理デバイスのLogical Unit Numberである。「外部ＤＫＣのＬＵＮ」は、ポート単位でユニークな数値である。即ち、「外部ＤＫＣのＬＵＮ」は、「外部ＤＫＣに接続する中間ＤＫＣのＦＣポートのＷＷＮ」と「中間ＤＫＣに接続する外部ＤＫＣのＦＣポートのＷＷＮ」との組み合わせによって一意に特定される。「ＧＵＩＤ」とは、ストレージシステム１００の中で論理デバイスを一意に識別するための識別情報である。即ち、「ＧＵＩＤ」は、「外部ＤＫＣに接続する中間ＤＫＣのＦＣポートのＷＷＮ」、「中間ＤＫＣに接続する外部ＤＫＣのＦＣポートのＷＷＮ」、及び「外部ＤＫＣのＬＵＮ」の組み合わせによって一意に特定される論理デバイスの識別情報である。
【００４９】
尚、ＬＤＥＶテーブル１０３９，１０５３のテーブル構造もＬＤＥＶテーブル１０２７のテーブル構造と同様である。
【００５０】
図１０は仮想ＬＤＥＶ作成処理を記述したフローチャートである。仮想ＬＤＥＶ作成処理では、システム管理者は、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２において、外部ＬＤＥＶ１０５５を仮想化してなる仮想ＬＤＥＶ１０３０，１０４２と、実記憶領域を有する内部ＬＤＥＶ１０３１，１０４３とを、ＦＣポート１０２０，１０２１，１０３４，１０３５にアサインする。これにより、ホストシステム１００８は、仮想ＬＤＥＶ１０３０，１０４２を認識することができる。以下、各処理ステップについて、詳述する。
【００５１】
まず、システム管理者は、外部記憶制御装置１０４５のサービスプロセッサ１０４８を操作して、第一の記憶制御装置１０１９に接続するＦＣポート１０４７、及び第二の記憶制御装置１０３２に接続するＦＣポート１０４６に外部ＬＤＥＶ１０５５をアサインする（Ｓ１１）。このとき、ＦＣポート１０４７，１０４６へ外部ＬＤＥＶ１０５５をアサインするための情報（ポート名、ＬＵＮ、ＨＢＡのＷＷＮ、ストレージポートのＷＷＮ、ＧＵＩＤ、ＤＫＣ ＩＤ、内部ＬＤＥＶと仮想ＬＤＥＶとを区別するための情報）は、外部記憶制御装置１０４５のパス設定テーブル１０５２に格納される。
【００５２】
次に、システム管理者は、第一の記憶制御装置１０１９のサービスプロセッサ１０２２、及び第二の記憶制御装置１０３２のサービスプロセッサ１０３３を操作して、ＬＤＥＶテーブル１０２７，１０３９に仮想ＬＤＥＶ１０３０，１０４２のエントリを作成し、そのエントリに仮想ＬＤＥＶ１０３０，１０４２のＬＤＥＶ番号を予約する（Ｓ１２）。このとき、ＬＤＥＶテーブル１０２７，１０３９に格納されている内部ＬＤＥＶ１０３１，１０４３のエントリには、ＬＤＥＶ番号とＧＵＩＤとが共にアサインされているが、仮想ＬＤＥＶ１０３０，１０４２のエントリには、ＬＤＥＶ番号だけがアサインされていて、ＧＵＩＤはアサインされていない。
【００５３】
次に、システム管理者は、第一の記憶制御装置１０１９のサービスプロセッサ１０２２、及び第二の記憶制御装置１０３２のサービスプロセッサ１０３３を操作して、外部記憶制御装置１０４５に接続されたＦＣポート１０２９，１０４４をスキャンして、外部ＬＤＥＶ１０５５を認識し、仮想ＬＤＥＶ１０３０，１０４２用に予約したエントリに外部ＬＤＥＶ１０５５の情報を関連付ける（Ｓ１３）。このとき、ＬＤＥＶテーブル１０２７，１０３９に格納されている仮想ＬＤＥＶ１０３０，１０４２のエントリには、ＬＤＥＶ番号、外部ＤＫＣに接続する中間ＤＫＣのＦＣポートのＷＷＮ、中間ＤＫＣに接続する外部ＤＫＣのＦＣポートのＷＷＮ、外部ＤＫＣのＬＵＮ、ＧＵＩＤがアサインされる。
【００５４】
次に、システム管理者は、第一の記憶制御装置１０１９のサービスプロセッサ１０２２、及び第二の記憶制御装置１０３２のサービスプロセッサ１０３３を操作して、外部ＬＤＥＶ１０５５を仮想化してなる仮想ＬＤＥＶ１０３０，１０４２をホストシステム１００８に接続するＦＣポート１０２０，１０２１，１０３４，１０３５にアサインする（Ｓ１４）。このとき、ＦＣポート１０２０，１０２１，１０３４，１０３５へ仮想ＬＤＥＶ１０３０，１０４２をアサインするための情報（ＧＵＩＤ、内部ＬＤＥＶと仮想ＬＤＥＶとを区別するための情報、中間ＤＫＣのストレージポート名、中間ＤＫＣのストレージポートのＷＷＮ、外部ＤＫＣのポート名、外部ＤＫＣのストレージポートのＷＷＮ、ＬＵＮ）は、第一の記憶制御装置１０１９のパス設定テーブル１０２６、及び第二の記憶制御装置１０３２のパス設定テーブル１０３８に格納される。
【００５５】
図１１は交替パス構成構築処理を記述したフローチャートである。交替パス構成構築処理では、システム管理者は、ホストシステム１００８のパス管理ソフトウェア１０１２を用いて、仮想ＬＤＥＶ１０３０，１０４２への交替パスを構成する。以下、各処理ステップについて、詳述する。
【００５６】
まず、システム管理者は、ホストシステム１００８のオペレーティングシステム１０１１を操作して、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２に接続されたＦＣポート１０１５，１０１６，１０１７，１０１８をスキャンし、仮想ＬＤＥＶ１０３０，１０４２を認識させる（Ｓ２１）。このとき、オペレーティングシステム１０１１が認識する仮想ＬＤＥＶ１０３０，１０４２の情報は、ポート名、ＬＵＮ、ＨＢＡのＷＷＮ、ＧＵＩＤである。
【００５７】
次に、システム管理者は、オペレーティングシステム１０１１が認識した仮想ＬＤＥＶ１０３０，１０４２をパス管理ソフトウェア１０１２に認識させて、交替パス構成を構築する（Ｓ２２）。
【００５８】
次に、システム管理者は、パス管理ソフトウェア１０１２が構築した交替パス構成の情報（パスＩＤ、ＧＵＩＤ、内部ＬＤＥＶと仮想ＬＤＥＶとを区別するための情報、ＤＫＣ ＩＤ、パス状態）を論理パステーブル１０１３に格納する。
【００５９】
図１２は管理ソフトウェアの初期化処理を記述したフローチャートである。管理ソフトウェアの初期化処理では、システム管理者は、管理ソフトウェア１００３にホストシステム１００８や記憶制御装置１０１９，１０３２，１０４５の情報を入力する。管理ソフトウェア１００３は、その入力された情報を基づいて論理パスに関する情報や記憶制御装置１０１９，１０３２，１０４５のリソース使用率に関する情報を取得する。以下、各処理ステップについて、詳述する。
【００６０】
まず、システム管理者は、管理ソフトウェア１００３を使用して、ホストシステム１００８に関する情報（ホストＩＤ、ホスト名、ＩＰアドレス、ユーザ名、パスワード）を管理サーバ１０００に入力する（Ｓ３１）。
【００６１】
次に、管理ソフトウェア１００３は、ホストシステム１００８に関する情報をホスト管理テーブル１００４に格納する（Ｓ３２）。
【００６２】
次に、システム管理者は、管理ソフトウェア１００３を使用して、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２に関する情報（ＳＶＰのＩＤ、ＩＰアドレス、ユーザ名、パスワード）を管理サーバ１０００に入力する（Ｓ３３）。
【００６３】
次に、管理ソフトウェア１００３は、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２に関する情報をストレージ管理テーブル１００６に格納する（Ｓ３４）。
【００６４】
次に、システム管理者は、管理ソフトウェア１００３を使用して、第一の記憶制御装置１０１９のＣＰＵ１０２３、及び第二の記憶制御装置１０３２のＣＰＵ１０４１のＣＰＵ使用率の上限閾値と下限閾値とを設定する（Ｓ３５）。ここで設定されるＣＰＵ使用率の上限閾値と下限閾値とは、第一の記憶制御装置１０１９と第二の記憶制御装置１０３２との間でパス切り替えを実行する必要性と妥当性を判断する基準となる。例えば、ＣＰＵ使用率の上限閾値として６０％を設定し、下限閾値として４０％を設定する。
【００６５】
次に、管理ソフトウェア１００３は、パス管理ソフトウェア１０１２にアクセスして、論理パスに関する情報を取得し、その取得した情報を論理パス管理テーブル１００５に格納する（Ｓ３６）。論理パス情報取得処理の詳細については、後述する。
【００６６】
図１３は論理パス情報取得処理を記述したフローチャートである。論理パス情報取得処理が実行される契機として、例えば、（１）論理パス管理テーブル１００５を常時最新のものにするために管理ソフトウェア１００３が論理パスを定期的に監視するとき、（２）管理ソフトウェア１００３がパス管理ソフトウェア１０１２にパス切り替えを指示するとき、（３）パス管理ソフトウェア１０１２によるパス切り替えが行われたとき、（４）ストレージシステム１００のネットワーク構成変更後に、管理ソフトウェア１００３がホストシステム１００８から論理パスの情報を収集するとき、がある。以下、各処理ステップについて、詳述する。
【００６７】
まず、管理ソフトウェア１００３は、全てのパス管理ソフトウェア１０１２から論理パス情報を収集したか否かをチェックする（Ｓ４１）。
【００６８】
一部のパス管理ソフトウェア１０１２からの論理パス情報収集が完了してない場合には（Ｓ４１；ＮＯ）、管理ソフトウェア１００３は、論理パス情報（ホストＩＤ、パスＩＤ、ＧＵＩＤ、内部ＬＤＥＶと仮想ＬＤＥＶとを区別するための情報、ＤＫＣ ＩＤ、パス状態）の提供をパス管理ソフトウェア１０１２に要求し、応答を待つ（Ｓ４２）。
【００６９】
次に、管理ソフトウェア１００３は、パス管理ソフトウェア１０１２から受信した論理パス情報を論理パス管理テーブル１００５に格納する（Ｓ４３）。
【００７０】
一方、全てのパス管理ソフトウェア１０１２からの論理パス情報収集が完了している場合は（Ｓ４１；ＹＥＳ）、本処理ルーチンを抜ける。
【００７１】
図１４は論理パス情報送信処理を記述したフローチャートである。論理パス情報送信処理は、パス管理ソフトウェア１０１２が管理ソフトウェア１００３から論理パス情報の提供を求められたときに、実行される。以下、各処理ステップについて、詳述する。
【００７２】
パス管理ソフトウェア１０１２は、ホストシステム１００８の全てのＦＣポート１０１５，１０１６，１０１７，１０１８をスキャンし、ＦＣポート１０１５，１０１６，１０１７，１０１８に接続されているＦＣポート１０２１，１０２０，１０３５，１０３４にアサインされている論理デバイスにInquireyコマンドを発行し、オペレーティングシステム１０１１が認識している論理デバイスに接続する論理パスの情報（ホストＩＤ、ＧＵＩＤ、内部ＬＤＥＶと仮想ＬＤＥＶとを区別するための情報、パスＩＤ、ＤＫＣ ＩＤ、パス状態、ＬＵＮ）を取得することにより、論理パステーブル１０１３の内容を最新にする（Ｓ５１）。
【００７３】
パス管理ソフトウェア１０１２は、論理パステーブル１０１３に格納されている全ての論理パス情報を管理ソフトウェア１００３に送信する（Ｓ５２）。
【００７４】
図１５は記憶制御装置のＣＰＵ使用率情報取得処理を記述したフローチャートである。ＣＰＵ使用率情報取得処理が実行される契機として、例えば、（１）ストレージ管理テーブル１００６を常時最新のものにするために管理ソフトウェア１００３が第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２のリソース情報を定期的に監視するとき、（２）管理ソフトウェア１００３がパス管理ソフトウェア１０１２にパス切り替えを指示するとき、がある。以下、各処理ステップについて、詳述する。
【００７５】
まず、管理ソフトウェア１００３は、全ての記憶制御装置１０１９，１０３２のサービスプロセッサ１０２２，１０３３からＣＰＵ使用率の情報を収集したか否かをチェックする（Ｓ６１）。
【００７６】
一部のサービスプロセッサからのＣＰＵ使用率の情報収集が完了してない場合には（Ｓ６１；ＮＯ）、管理ソフトウェア１００３は、サービスプロセッサにＣＰＵ使用率の情報提供を要求し、応答を待つ（Ｓ６２）。
【００７７】
管理ソフトウェア１００３は、サービスプロセッサからＣＰＵ使用率の情報を受信し、ストレージ管理テーブル１００６に格納する（Ｓ６３）。
【００７８】
図１６は記憶制御装置のＣＰＵ使用率情報送信処理を記述したフローチャートである。ＣＰＵ使用率情報送信処理は、サービスプロセッサが管理ソフトウェア１００３からＣＰＵ使用率情報の提供を求められたときに、実行される。以下、各処理ステップについて、詳述する。
【００７９】
第一の記憶制御装置１０１９のサービスプロセッサ１０２２、及び第二の記憶制御装置１０３２のサービスプロセッサ１０３３は、それぞれコントロールプログラム１０２８，１０４０からＣＰＵ１０２３，１０４１のＣＰＵ使用率を取得する（Ｓ７１）。コントロールプログラム１０２８，１０４０は、それぞれＣＰＵ１０２３，１０４１のＣＰＵ使用率を常時監視しており、最新のＣＰＵ使用率を保持しているものとする。
【００８０】
次に、サービスプロセッサ１０２２，１０３３は、最新のＣＰＵ使用率を管理ソフトウェア１００３に送信する（Ｓ７２）。
【００８１】
図１７は記憶制御装置の負荷分散処理を記述したフローチャートである。管理ソフトウェア１００３は、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２の負荷分散の必要性をチェックすることを目的として、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２の負荷を定期的に収集する。管理ソフトウェア１００３は、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２の負荷を監視する過程において、負荷分散が必要であると判断した場合に、パス管理ソフトウェア１０１２にパス切り替えを指示する。以下、各処理ステップについて、詳述する。
【００８２】
管理ソフトウェア１００３は、第一の記憶制御装置１０１９及び第二の記憶制御装置１０３２のＣＰＵ使用率を収集する（Ｓ８１）。ＣＰＵ使用率取得処理の詳細は、上述した通りである（図１６参照）。
【００８３】
次に、管理ソフトウェア１００３は、論理パス情報取得処理を実行する（Ｓ８２）。論理パス情報取得処理の詳細は、上述した通りである（図１３参照）。
【００８４】
次に、管理ソフトウェア１００３は、Activeパスに接続する記憶制御装置のＣＰＵ使用率が上限閾値を超えているか否かをチェックする（Ｓ８３）。
【００８５】
Activeパスに接続する記憶制御装置のＣＰＵ使用率が上限閾値を超えている場合には（Ｓ８３；ＹＥＳ）、管理ソフトウェア１００３は、ＣＰＵ使用率が最低の記憶制御装置に接続する交替パスを選択する（Ｓ８４）。
【００８６】
そして、選択した交替パスに接続する記憶制御装置のＣＰＵ使用率が下限閾値を下回っている場合には（Ｓ８５；ＹＥＳ）、管理ソフトウェア１００３は、パス切り替えを実行する（Ｓ８６）。パス切り替え処理の詳細については、後述する。
【００８７】
パス切り替えが完了すると、管理ソフトウェア１００３は、ＣＰＵ使用率を未だチェックしていない記憶制御装置に接続するActiveパスが存在するか否かをチェックする（Ｓ８７）。このようなActiveパスが存在する場合には（Ｓ８７；ＹＥＳ）、管理ソフトウェア１００３は、Ｓ８３の処理に戻る。
【００８８】
一方、Activeパスに接続する記憶制御装置のＣＰＵ使用率が上限閾値を超えていない場合（Ｓ８３；ＮＯ）、又は選択した交替パスに接続する記憶制御装置のＣＰＵ使用率が下限閾値を下回っていない場合には（Ｓ８５；ＮＯ）、管理ソフトウェア１００３は、Ｓ８７の処理に進む。
【００８９】
図１８乃至図２０は、記憶制御装置間のパス切り替え処理を記述したフローチャートである。パス切り替え処理が実行される契機として、例えば、（１）管理ソフトウェア１００３がパス切り替えによる負荷分散が必要であると判断したとき、或いは（２）パス障害によるパス切り替え要求をパス管理ソフトウェア１０１２から受信したとき、がある。以下、各処理ステップについて、詳述する。
【００９０】
図１８はパス切り替え処理のうち管理ソフトウェア１００３が実行する処理を示す。管理ソフトウェア１００３は、切り替え元の記憶制御装置のサービスプロセッサにアクセスし、切り替え元の記憶制御装置がライトスルーモードで動作しているか否かをチェックする（Ｓ９１）。
【００９１】
切り替え元の記憶制御装置がライトスルーモードで動作していない場合には（Ｓ９１；ＮＯ）、管理ソフトウェア１００３は、切り替え元の記憶制御装置のサービスプロセッサにライトスルーモードへの変更を指示し、モード変更完了を待つ（Ｓ９２）。管理ソフトウェア１００３が切り替え元の記憶制御装置のサービスプロセッサにライトスルーモードへの変更を指示するときに与えるパラメータとして、切り替え元の記憶制御装置のサービスプロセッサのユーザ名、切り替え元の記憶制御装置のサービスプロセッサのパスワード、切り替え元の記憶制御装置のＩＤがある。
【００９２】
サービスプロセッサが管理ソフトウェア１００３にライトスルーモードへの変更完了を報告すると、管理ソフトウェア１００３は、切り替え元の記憶制御装置のサービスプロセッサに対して、切り替え元の記憶制御装置のキャッシュフラッシュを要求する（Ｓ９３）。管理ソフトウェア１００３が切り替え元の記憶制御装置のサービスプロセッサにキャッシュフラッシュを指示するときに与えるパラメータとして、切り替え元の記憶制御装置のサービスプロセッサのユーザ名、切り替え元の記憶制御装置のサービスプロセッサのパスワード、切り替え元の記憶制御装置のＩＤがある。
【００９３】
管理ソフトウェア１００３は、切り替え元のサービスプロセッサにキャッシュフラッシュを要求してから、キャッシュフラッシュ完了報告を受けると、パス管理ソフトウェア１０１２にパス切り替えを要求する（Ｓ９４）。管理ソフトウェア１００３がパス管理ソフトウェア１０１２にパス切り替えを要求するときに与えるパラメータとして、切り替え元の論理パスのパスＩＤ、切り替え先の論理パスのパスＩＤ、ホストシステム１００８のユーザ名、ホストシステム１００８のパスワードがある。
【００９４】
切り替え元の記憶制御装置がライトスルーモードで動作している場合にも（Ｓ９１：ＹＥＳ）、管理ソフトウェア１００３は、パス管理ソフトウェア１０１２にパス切り替えを要求する（Ｓ９４）。
【００９５】
図１９はパス切り替え処理のうちパス管理ソフトウェア１０１２が実行する処理を示す。上述したステップＳ９４の処理の後、パス管理ソフトウェア１０１２は、管理ソフトウェア１００３からパス切り替えの指示を受けると、切り替え先の論理パスをActiveパスに変更し（Ｓ１０１）、切り替え元の論理パスをStandbyパスに変更する（Ｓ１０２）。その後、パス管理ソフトウェア１０１２は、管理ソフトウェア１００３にパス切り替えの実行完了を報告する（Ｓ１０３）。
【００９６】
図２０はパス切り替え処理のうち管理ソフトウェア１００３が実行する処理を示す。上述したステップＳ１０３の処理の後、管理ソフトウェア１００３は、切り替え元の記憶制御装置がライトバックで動作していたか否かをチェックする（Ｓ１１１）。切り替え元の記憶制御装置がライトバックで動作していた場合には（Ｓ１１１：ＹＥＳ）、管理ソフトウェア１００３は、切り替え元の記憶制御装置のサービスプロセッサにライトスルーモードへのモード変更を指示する（Ｓ１１２）。切り替え元の記憶制御装置がライトバックで動作していない場合には（Ｓ１１１：ＮＯ）、管理ソフトウェア１００３は、本処理ルーチンを抜ける。
【００９７】
図２１は論理パス障害回復処理を記述したフローチャートである。論理パス障害回復処理は、パス管理ソフトウェア１０１２が論理パスの障害を検出したときに、パス切り替えを実行するための処理である。
【００９８】
パス管理ソフトウェア１０１２が仮想ＬＤＥＶ１０３０，１０４２に接続するActiveパスの障害を検出すると、パス管理ソフトウェア１０１２は、論理パス情報取得処理を実行する（Ｓ１２１）。論理パス情報取得処理の詳細については、上述した通りである（図１３参照）。
【００９９】
次に、パス管理ソフトウェア１０１２は、障害が生じた論理パスに接続する記憶制御装置にStandby状態の交替パスが存在するか否かをチェックする（Ｓ１２２）。
【０１００】
Standby状態の交替パスが存在しなければ（Ｓ１２２；ＮＯ）、パス管理ソフトウェア１０１２は、記憶制御装置間のパス切り替えの実行を管理サーバ１０００に要求する（Ｓ１２３）。管理サーバ１０００は、パス切り替え要求に応答して、パス管理ソフトウェア１０１２にパス切り替えを指示する（パス切り替え処理の詳細については、上述した通りである。）。
【０１０１】
一方、Standby状態の交替パスが存在すれば（Ｓ１２２；ＹＥＳ）、パス管理ソフトウェア１０１２は、そのStandby状態の交替パスをActive状態に切り替えるとともに、障害が生じた論理パスの状態をFailedにする（Ｓ１２４）。
【０１０２】
本実施例によれば、仮想ＬＤＥＶ１０３０，１０４２が共通の外部ＬＤＥＶ１０５５を仮想化したものであることを認識できるので、ホストシステム１００８から仮想ＬＤＥＶ１０３０を経由して外部ＬＤＥＶ１０５５に接続する論理パスと、ホストシステム１００８から仮想ＬＤＥＶ１０４２を経由して外部ＬＤＥＶ１０５５に接続する論理パスのうち何れか一方の論理パスを他方の論理パスの交替パスとして定義することが可能である。第一の記憶制御装置１０１９の負荷と、第二の記憶制御装置１０３２の負荷とに応じて、アクティブパスを適宜切り替えることで、両者の負荷を略均等化できる。
【０１０３】
尚、本発明は上述の実施例に限られるものではなく、ストレージシステム１００のシステム構成を適宜変更してもよい。例えば、図２２に示すストレージシステム１０１は、ホストシステム１００８と第一の記憶制御装置１０１９との間に複数の論理パスＰ５，Ｐ６を有し、何れの論理パスＰ５，Ｐ６からでも仮想ＬＤＥＶ１０３０を経由して外部ＬＤＥＶ１０５５にアクセスできる。例えば、論理パスＰ５がActive状態にあり、論理パスＰ６がStandby状態にある場合を考える。仮に、論理パスＰ５に障害が生じたとすると、論理パスＰ５をActive状態からStandby状態に切り替える一方、論理パスＰ６をStandby状態からActive状態に切り替えることで、ホストシステム１００８は、仮想ＬＤＥＶ１０３０を経由して外部ＬＤＥＶ１０５５にアクセスできる。同様に、ストレージシステム１０１は、ホストシステム１００８と第二の記憶制御装置１０３２との間に複数の論理パスＰ７，Ｐ８を有し、何れの論理パスＰ７，Ｐ８からでも仮想ＬＤＥＶ１０４２を経由して外部ＬＤＥＶ１０５５にアクセスできる。
【０１０４】
また、中間記憶制御装置は、必ずしも物理デバイスを有している必要はなく、仮想化スイッチのように、仮想ＬＤＥＶのみ有する構成としてもよい。例えば、図２３に示すストレージシステム１０２においては、第二の記憶制御装置１０３２は、仮想ＬＤＥＶ１０４２のみを有し、物理デバイスを有しない。図２４に示すストレージシステム１０３においては、第一の記憶制御装置１０１９も第二の記憶制御装置１０３２も物理デバイスを有しない。第一の記憶制御装置１０１９は、仮想ＬＤＥＶ１０３０，１０５８を有し、第二の記憶制御装置１０３２は、仮想ＬＤＥＶ１０４２を有する。このように、本発明を適用する上で、中間記憶制御装置は、仮想化スイッチであってもよい。
【図面の簡単な説明】
【０１０５】
【図１】本実施形態に係るストレージシステムのシステム構成図である。
【図２】本実施形態に係わる負荷分散方法の概要を示す説明図である。
【図３】本実施例に係わるストレージシステムのシステム構成図である。
【図４】本実施例に係わるホスト管理テーブルの説明図である。
【図５】本実施例に係わる論理パス管理テーブルの説明図である。
【図６】本実施例に係わるストレージ管理テーブルの説明図である。
【図７】本実施例に係わる論理パステーブルの説明図である。
【図８】本実施例に係わるパス設定テーブルの説明図である。
【図９】本実施例に係わるＬＤＥＶテーブルの説明図である。
【図１０】本実施例に係わる仮想ＬＤＥＶ作成処理を示すフローチャートである。
【図１１】本実施例に係る交替パス構成構築処理を示すフローチャートである。
【図１２】本実施例に係る管理ソフトウェアの初期化処理を示すフローチャートである。
【図１３】本実施例に係る論理パス情報取得処理を示すフローチャートである。
【図１４】本実施例に係る論理パス情報送信処理を示すフローチャートである。
【図１５】本実施例に係る記憶制御装置のＣＰＵ使用率情報取得処理を示すフローチャートである。
【図１６】本実施例に係る記憶制御装置のＣＰＵ使用率情報送信処理を示すフローチャートである。
【図１７】本実施例に係る記憶制御装置の負荷分散処理を示すフローチャートである。
【図１８】本実施例に係る記憶制御装置間のパス切り替え処理を示すフローチャートである。
【図１９】本実施例に係る記憶制御装置間のパス切り替え処理を示すフローチャートである。
【図２０】本実施例に係る記憶制御装置間のパス切り替え処理を示すフローチャートである。
【図２１】本実施例に係る論理パス障害回復処理を示すフローチャートである。
【図２２】本実施例に係るストレージシステムの他の構成例を示す図である。
【図２３】本実施例に係るストレージシステムの他の構成例を示す図である。
【図２４】本実施例に係るストレージシステムの他の構成例を示す図である。
【符号の説明】
【０１０６】
１００…ストレージシステム  １０００…管理サーバ  １００８…ホストシステム  １０１９…第一の記憶制御装置  １０３２…第二の記憶制御装置  １０３０…仮想ＬＤＥＶ  １０４２…仮想ＬＤＥＶ  １０４５…外部記憶制御装置  １０５５…外部ＬＤＥＶ
【図１】
2007148812.tif 000003
【図２】
2007148812.tif 000004
【図３】
2007148812.tif 000005
【図４】
2007148812.tif 000006
【図５】
2007148812.tif 000007
【図６】
2007148812.tif 000008
【図７】
2007148812.tif 000009
【図８】
2007148812.tif 000010
【図９】
2007148812.tif 000011
【図１０】
2007148812.tif 000012
【図１１】
2007148812.tif 000013
【図１２】
2007148812.tif 000014
【図１３】
2007148812.tif 000015
【図１４】
2007148812.tif 000016
【図１５】
2007148812.tif 000017
【図１６】
2007148812.tif 000018
【図１７】
2007148812.tif 000019
【図１８】
2007148812.tif 000020
【図１９】
2007148812.tif 000021
【図２０】
2007148812.tif 000022
【図２１】
2007148812.tif 000023
【図２２】
2007148812.tif 000024
【図２３】
2007148812.tif 000025
【図２４】
2007148812.tif 000026