(57)【特許請求の範囲】
【請求項１】
複数のホスト計算機、複数のストレージシステム及び管理計算機を備える計算機システムの制御方法であって、
前記管理計算機は、前記複数のホスト計算機及び前記複数のストレージシステムと第１ネットワークを介して接続され、
前記複数のホスト計算機及び前記複数のストレージシステムは、第２ネットワークによって相互に接続され、
前記管理計算機は、前記第１ネットワークに接続される第１インターフェースと、前記第１インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記各ホスト計算機は、前記第１ネットワークに接続される第２インターフェースと、前記第２ネットワークに接続される第３インターフェースと、前記第２インターフェース及び前記第３インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記各ストレージシステムは、前記第１ネットワークに接続される第４インターフェースと、前記第４インターフェースに接続される第３プロセッサと、前記第３プロセッサに接続される第３メモリと、前記第２ネットワークに接続される一つ以上の第５インターフェースと、前記一つ以上の第５インターフェースに接続される一つ以上のコントローラと、前記ホスト計算機が使用するデータを格納する一つ以上の論理ボリュームと、を備え、
前記各コントローラは、前記第５インターフェースに接続される第４プロセッサと、前記第４プロセッサに接続される第４メモリと、を備え、
前記複数のストレージシステムは、少なくとも、第１論理ボリュームを備える第１ストレージシステムと、第２論理ボリュームを備える第２ストレージシステムと、を含み、
前記第１論理ボリューム及び前記第２論理ボリュームは、前記第１論理ボリュームがコピー元、前記第２論理ボリュームがコピー先となるリモートコピーのペアを形成し、
前記方法は、
前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えるか否かを所定の時間が経過するごとに判定し、
前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えた場合、前記第２ストレージシステムの前記少なくとも一つのコントローラのうちの一つに前記第２論理ボリュームを割り当てたときの性能情報を予測し、
前記予測された性能情報が前記所定の閾値を超える場合、前記一つのコントローラ以外のコントローラに前記第２論理ボリュームを割り当てたときの性能情報を予測し、
前記予測された性能情報が前記所定の閾値を超えない場合、前記第１論理ボリューム及び前記第２論理ボリュームによって形成される前記ペアの属性が非同期モードであるか否かを判定し、
前記ペアの属性が非同期モードである場合、前記ペアの属性を同期モードに変更し、
前記ペアが同期状態となった後に、前記第２論理ボリュームを、前記予測された性能情報が前記所定の閾値を超えないと判定されたコントローラに割り当て、
前記第１論理ボリュームをコピー先に変更し、
前記第２論理ボリュームをコピー元に変更し、
前記第１論理ボリュームの前記コントローラへの割り当てを解除し、
前記第２論理ボリューム及び当該第２論理ボリュームが割り当てられた前記コントローラの組み合わせによって認識されるデバイスを、前記第１論理ボリューム及び当該第１論理ボリュームが割り当てられていた前記コントローラの組み合わせによって認識されるデバイスと同一のデバイスとして前記第２プロセッサに認識させることを特徴とする方法。
【請求項２】
複数のホスト計算機、複数のストレージシステム及び管理計算機を備える計算機システムにおいて、
前記管理計算機は、前記複数のホスト計算機及び前記複数のストレージシステムと第１ネットワークを介して接続され、
前記複数のホスト計算機及び前記複数のストレージシステムは、第２ネットワークによって相互に接続され、
前記管理計算機は、前記第１ネットワークに接続される第１インターフェースと、前記第１インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記各ホスト計算機は、前記第１ネットワークに接続される第２インターフェースと、前記第２ネットワークに接続される第３インターフェースと、前記第２インターフェース及び前記第３インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記各ストレージシステムは、前記第１ネットワークに接続される第４インターフェースと、前記第４インターフェースに接続される第３プロセッサと、前記第３プロセッサに接続される第３メモリと、前記第２ネットワークに接続される一つ以上の第５インターフェースと、前記一つ以上の第５インターフェースに接続される一つ以上のコントローラと、前記ホスト計算機が使用するデータを格納する一つ以上の論理ボリュームと、を備え、
前記各コントローラは、前記第５インターフェースに接続される第４プロセッサと、前記第４プロセッサに接続される第４メモリと、を備え、
前記複数のストレージシステムは、少なくとも、第１論理ボリュームを備える第１ストレージシステムと、第２論理ボリュームを備える第２ストレージシステムと、を含み、
前記第１論理ボリューム及び前記第２論理ボリュームは、前記第１論理ボリュームがコピー元、前記第２論理ボリュームがコピー先となるリモートコピーのペアを形成し、
前記第１プロセッサは、
前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えるか否かを所定の時間が経過するごとに判定し、
前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えた場合、前記第２ストレージシステムの前記少なくとも一つのコントローラのうちの一つに前記第２論理ボリュームを割り当てたときの性能情報を予測し、
前記予測された性能情報が前記所定の閾値を超える場合、前記一つのコントローラ以外のコントローラに前記第２論理ボリュームを割り当てたときの性能情報を予測し、
前記予測された性能情報が前記所定の閾値を超えない場合、前記第１論理ボリューム及び前記第２論理ボリュームによって形成される前記ペアの属性が非同期モードであるか否かを判定し、
前記ペアの属性が非同期モードである場合、前記ペアの属性を同期モードに変更し、
前記ペアが同期状態となった後に、前記第２論理ボリュームを、前記予測された性能情報が前記所定の閾値を超えないと判定されたコントローラに割り当て、
前記第１論理ボリュームをコピー先に変更し、
前記第２論理ボリュームをコピー元に変更し、
前記第１論理ボリュームの前記コントローラへの割り当てを解除し、
前記第１論理ボリューム及び前記第２論理ボリュームがペアを構成することを示すペア構成情報を、前記第１論理ボリュームを使用する前記ホスト計算機に送信し、
前記第２プロセッサは、前記ペア構成情報を受信し、前記第２論理ボリューム及び当該第２論理ボリュームが割り当てられた前記コントローラの組み合わせによって認識されるデバイスを、前記第１論理ボリューム及び当該第１論理ボリュームが割り当てられていた前記コントローラの組み合わせによって認識されるデバイスと同一のデバイスとして認識することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、一つ以上のストレージシステムを含む計算機システムに関し、特に、ストレージシステムのアクセス負荷の分散に関する。
【背景技術】
【０００２】
ホスト計算機と一つ以上のストレージシステムとがネットワークを介して接続された計算機システムにおいて、ストレージシステムとホスト計算機との間に複数のアクセス経路（パス）を設け、これらのパスにホスト計算機からのアクセスを分散させる技術が知られている（例えば、特許文献１参照）。このような負荷分散技術によれば、複数のパスにアクセス（Ｉ／Ｏ）の負荷が分散されるため、特定のパスにアクセスが集中することによる性能低下を防止することができる。さらに、一つのパスに障害が発生した場合、他の正常なパスにアクセスが割り当てられる。このため、パスに障害が発生した場合にもアクセスを継続することができる。
【特許文献１】特開２０００−３３０９２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
複数のホスト計算機と一つ以上のストレージシステムとがネットワークを介して接続されている環境の下では、複数のホスト計算機が一つのストレージシステムを共有する場合がある。しかし、上記特許文献１が開示する従来の負荷分散技術によれば、ホスト計算機がストレージシステムに対する複数のパスを認識し、これらのパスにアクセスを割り当てることによって負荷を分散する。しかし、ホスト計算機は、他のホスト計算機のストレージシステムに対するアクセスの量を知ることができない。さらに、従来の負荷分散技術では、アクセス負荷に応じて新たにパスを設定し、又は、設定されているパスを解除することができない。このため、計算機システム全体でアクセス負荷を適切に分散することができなかった。
【課題を解決するための手段】
【０００４】
本願で開示する代表的な発明は、複数のホスト計算機、複数のストレージシステム及び管理計算機を備える計算機システムの制御方法であって、前記管理計算機は、前記複数のホスト計算機及び前記複数のストレージシステムと第１ネットワークを介して接続され、前記複数のホスト計算機及び前記複数のストレージシステムは、第２ネットワークによって相互に接続され、前記管理計算機は、前記第１ネットワークに接続される第１インターフェースと、前記第１インターフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、前記各ホスト計算機は、前記第１ネットワークに接続される第２インターフェースと、前記第２ネットワークに接続される第３インターフェースと、前記第２インターフェース及び前記第３インターフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、前記各ストレージシステムは、前記第１ネットワークに接続される第４インターフェースと、前記第４インターフェースに接続される第３プロセッサと、前記第３プロセッサに接続される第３メモリと、前記第２ネットワークに接続される一つ以上の第５インターフェースと、前記一つ以上の第５インターフェースに接続される一つ以上のコントローラと、前記ホスト計算機が使用するデータを格納する一つ以上の論理ボリュームと、を備え、前記各コントローラは、前記第５インターフェースに接続される第４プロセッサと、前記第４プロセッサに接続される第４メモリと、を備え、前記複数のストレージシステムは、少なくとも、第１論理ボリュームを備える第１ストレージシステムと、第２論理ボリュームを備える第２ストレージシステムと、を含み、前記第１論理ボリューム及び前記第２論理ボリュームは、前記第１論理ボリュームがコピー元、前記第２論理ボリュームがコピー先となるリモートコピーのペアを形成し、前記方法は、前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えるか否かを所定の時間が経過するごとに判定し、前記第１論理ボリュームが割り当てられている前記コントローラの性能情報が所定の閾値を超えた場合、前記第２ストレージシステムの前記少なくとも一つのコントローラのうちの一つに前記第２論理ボリュームを割り当てたときの性能情報を予測し、前記予測された性能情報が前記所定の閾値を超える場合、前記一つのコントローラ以外のコントローラに前記第２論理ボリュームを割り当てたときの性能情報を予測し、前記予測された性能情報が前記所定の閾値を超えない場合、前記第１論理ボリューム及び前記第２論理ボリュームによって形成される前記ペアの属性が非同期モードであるか否かを判定し、前記ペアの属性が非同期モードである場合、前記ペアの属性を同期モードに変更し、前記ペアが同期状態となった後に、前記第２論理ボリュームを、前記予測された性能情報が前記所定の閾値を超えないと判定されたコントローラに割り当て、前記第１論理ボリュームをコピー先に変更し、前記第２論理ボリュームをコピー元に変更し、前記第１論理ボリュームの前記コントローラへの割り当てを解除し、前記第２論理ボリューム及び当該第２論理ボリュームが割り当てられた前記コントローラの組み合わせによって認識されるデバイスを、前記第１論理ボリューム及び当該第１論理ボリュームが割り当てられていた前記コントローラの組み合わせによって認識されるデバイスと同一のデバイスとして前記第２プロセッサに認識させることを特徴とする。
【発明の効果】
【０００５】
本発明の一形態によれば、計算機システム内に設けられた管理サーバが、複数のホスト計算機からのアクセスによる各パスの負荷を監視し、必要に応じて、パスの追加又は切り替え等を実行する。その結果、ホスト計算機からのアクセスによる負荷が計算機システム全体で適切に分散される。
【発明を実施するための最良の形態】
【０００６】
以下、本発明の実施の形態を、図面を参照して説明する。
【０００７】
図１は、本発明の実施の形態の計算機システムの構成を示すブロック図である。
【０００８】
本実施の形態の計算機システムは、複数のホスト１００、一つの管理サーバ１１０及び一つ以上のストレージシステム１３０を備える。図１には、二つのホスト１００及び二つのストレージシステム１３０を示すが、本実施の形態の計算機システムは、三つ以上のホスト１００及び三つ以上のストレージシステム１３０を備えてもよい。
【０００９】
各ホスト１００及び各ストレージシステム１３０は、ファイバチャネルスイッチ（ＦＣ−ＳＷ）１２０によって接続される。さらに、各ホスト１００、管理サーバ１１０及び各ストレージシステム１３０は、インターネットプロトコル（ＩＰ）ネットワーク１５０によって接続される。
【００１０】
ホスト１００は、相互に接続されたＣＰＵ１０１、メモリ１０２、アダプタ１０４及びネットワークインターフェース（Ｉ／Ｆ）１０５を備える計算機である。
【００１１】
ＣＰＵ１０１は、メモリ１０２に格納されたソフトウエアを実行するプロセッサである。
【００１２】
メモリ１０２は、ＣＰＵ１０１によって実行されるソフトウエアを格納する。本実施の形態のメモリ１０２は、少なくとも、オペレーティングシステム（ＯＳ）（図示省略）、アプリケーションプログラム（図示省略）及びデバイスリンクマネージャ１０３を格納する。
【００１３】
アプリケーションプログラムは、所定の機能を実現するために実行されるプログラムであり、必要に応じて、ストレージシステム１３０に格納されたデータに対するアクセス要求（Ｉ／Ｏ要求）を発行する。Ｉ／Ｏ要求とは、具体的には、書き込み要求又は読み出し要求である。
【００１４】
デバイスリンクマネージャ１０３は、アプリケーションプログラムが発行したアクセス要求を、使用可能なパスに割り当てる処理を実行するソフトウエア（いわゆる交代パス管理ソフトウエア）である。本実施の形態において、「パス」とは、ホスト１００から、アクセス要求の対象の論理ボリューム１３５（後述）に至る、データのアクセス経路である。複数の使用可能なパスがある場合、デバイスリンクマネージャ１０３は、アクセス負荷が分散するようにパスを選択し、そのパスにＩ／Ｏを割り当てる。使用していたパスが、障害の発生等によって使用できなくなった場合、デバイスリンクマネージャ１０３は、他の使用可能なパスにＩ／Ｏを割り当てる。デバイスリンクマネージャ１０３は、上記のようなパスの選択及び割り当てを実行するプログラム（図示省略）及びそのプログラムが参照する情報（図示省略）等を含む。
【００１５】
アダプタ１０４は、ＦＣ−ＳＷ１２０に接続され、ＦＣ−ＳＷ１２０を介してストレージ１３０と通信するインターフェース（いわゆるホストバスアダプタ（ＨＢＡ））である。ホスト１００は、複数のアダプタ１０４を備えてもよい。
【００１６】
ネットワークＩ／Ｆ１０５は、ＩＰネットワーク１５０に接続され、ＩＰネットワーク１５０を介して管理サーバ１１０及びストレージシステム１３０と通信する。
【００１７】
本実施の形態において、各ホスト１００は、ホスト識別子によって識別される。図１に示す「ホスト１」及び「ホスト２」は、それぞれ、ホスト識別子が「１」及び「２」であるホスト１００を示す。以下の説明において、ホスト識別子が「１」であるホスト１００を単にホスト１、ホスト識別子が「２」であるホスト１００を単にホスト２と記載する。
【００１８】
管理サーバ１１０は、相互に接続されたＣＰＵ１１１、メモリ１１２及びネットワークＩ／Ｆ１１４を備える計算機である。
【００１９】
ＣＰＵ１１１は、メモリ１１２に格納されたソフトウエアを実行するプロセッサである。
【００２０】
メモリ１１２は、ＣＰＵ１１１によって実行されるソフトウエアを格納する。本実施の形態のメモリ１１２は、少なくとも、ストレージマネージャ１１３を格納する。ストレージマネージャ１１３は、アクセス負荷を分散するために、アクセス負荷を監視し、パスの追加又は切り替え等を実行するソフトウエアである。ストレージマネージャ１１３については、後で詳細に説明する（図２等参照）。
【００２１】
ネットワークＩ／Ｆ１１４は、ＩＰネットワーク１５０に接続され、ＩＰネットワーク１５０を介してホスト１００及びストレージシステム１３０と通信する。
【００２２】
ストレージシステム１３０は、ホスト１００が使用するデータを格納する。具体的には、ストレージシステム１３０は、ホスト１００のアプリケーションプログラムによって書き込まれたデータを格納する。ストレージシステム１３０は、一つ以上のディスクコントローラ１３１、一つ以上のポート１３６、ストレージコントローラ１３７、ネットワークＩ／Ｆ１４２及びディスクドライブ（図示省略）を備える。
【００２３】
ストレージシステム１３０は、複数のディスクドライブ（例えば、ハードディスクドライブ）を備えてもよい。これらの複数のディスクドライブがＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成してもよい。
【００２４】
ディスクドライブの記憶領域は、論理ボリューム１３５としてホスト１００のＯＳに認識される。言い換えると、ホスト１００のＯＳは、一つの論理ボリューム１３５を一つの論理的なディスクドライブとして認識する。このため、ホスト１００のアプリケーションプログラムは、いずれかの論理ボリューム１３５を対象として、アクセス要求を発行する。
【００２５】
ストレージシステム１３０は、ディスクドライブ上に、任意の数の、任意の容量の論理ボリューム１３５を設定することができる。一つの論理ボリューム１３５は、複数のディスクドライブの記憶領域によって構成されてもよい。各論理ボリューム１３５は、少なくとも一つのディスクコントローラ１３１に割り当てられる。論理ボリューム１３５がディスクコントローラ１３１に割り当てられていることは、そのディスクコントローラ１３１を経由してその論理ボリューム１３５に至るパスが設定されていることを意味する。すなわち、そのディスクコントローラ１３１に接続されているホスト１００は、そのディスクコントローラ１３１を経由して、その論理ボリューム１３５にアクセスすることができる。
【００２６】
論理ボリューム１３５をディスクコントローラ１３１に割り当てる処理とは、ホスト１００がそのディスクコントローラ１３１を経由してその論理ボリューム１３５にアクセスできることをそのホスト１００及びそのホスト１００のデバイスリンクマネージャ１０３に認識させることを意味する。より具体的には、割り当て処理によって、そのディスクコントローラ１３１とその論理ボリューム１３５とを対応付ける割り当て情報、すなわち、ホスト１００がそのディスクコントローラ１３１を経由してその論理ボリューム１３５にアクセスできることを示す情報が、そのディスクコントローラ１３１のメモリ１３３に格納される（図示省略）。
【００２７】
これらの割り当て情報が変更された場合、管理サーバ１１０のホスト・ストレージ接続情報管理テーブル２０４が更新される。ホスト・ストレージ接続情報管理テーブル２０４の更新は、管理サーバ１１０が定期的にストレージシステム１３０の割り当て情報を参照すること、又は、ストレージシステム１３０が割り当て情報の変更を管理サーバ１１０に連絡することによって実現されてもよい。
【００２８】
デバイスリンクマネージャ１０３は、ホスト１００に接続されている全てのディスクコントローラ１３１に対して、アクセス可能な論理ボリューム１３５を示す情報を問い合わせることによって、ホスト１００が論理ボリューム１３５にアクセスするために使用することができるディスクコントローラ１３１（それが複数ある場合は、複数のディスクコントローラ１３１）を認識する。そして、デバイスリンクマネージャ１０３は、使用できるディスクコントローラ１３１を経由するいずれかのパス（すなわち、いずれかの使用可能なパス）にＩ／Ｏを割り当てる。
【００２９】
ディスクコントローラ１３１は、ストレージシステム１３０をＳＡＮ（後述）に接続するための制御装置である。具体的には、ディスクコントローラ１３１は、ポート１３６及びＦＣ−ＳＷ１２０を介してホスト１００からのアクセス要求を受信する。そして、ディスクコントローラ１３１は、受信したアクセス要求に従って、そのディスクコントローラ１３１に割り当てられている論理ボリューム１３５にデータを書き込み、又は、その論理ボリューム１３５からデータを読み出す。
【００３０】
図１には三つのディスクコントローラ１３１を図示するが、これらの構成は同様であるため、二つのディスクコントローラ１３１の構成については図示を省略する。
【００３１】
本実施の形態のディスクコントローラ１３１は、相互に接続されたＣＰＵ１３２、メモリ１３３及びキャッシュメモリ１３４を備える。
【００３２】
ＣＰＵ１３２は、メモリ１３３に格納されたソフトウエアを実行するプロセッサである。ＣＰＵ１３２は、ポート１３６にも接続される。
【００３３】
メモリ１３３は、ＣＰＵ１３２によって実行されるソフトウエアを格納する。本実施の形態のメモリ１３３は、少なくとも、受信したアクセス要求に従ってデータの書き込み又は読み出しを実行するプログラム（図示省略）を格納する。
【００３４】
キャッシュメモリ１３４は、アクセス速度向上のため、論理ボリューム１３５に書き込まれるデータ又は論理ボリューム１３５から読み出されたデータを一時的に格納する。ディスクコントローラ１３１は、高速なアクセスを要求されない場合、キャッシュメモリ１３４を備えなくてもよい。
【００３５】
ホスト１００が論理ボリューム１３５の特定の領域に対する読み出し要求を発行したとき、キャッシュメモリ１３４は、その領域から読み出されたデータに加えて、その領域の後に続く領域から読み出されたデータ（すなわち、先読みデータ）を格納してもよい。先読みデータは、まだ読み出し要求の対象になっていないが、これから読み出される可能性がある。特に、論理ボリューム１３５のデータをバックアップする場合等、データが順次読み出される場合には、先読みデータが読み出される可能性が高い。先読みデータが読み出されるとき、ディスクコントローラ１３１は、ディスクドライブにアクセスせずに、キャッシュメモリ１３４に格納された先読みデータをホスト１００に応答することによって高速なアクセスを実現する。
【００３６】
ポート１３６は、ＦＣ−ＳＷ１２０に接続されるインターフェースである。ディスクコントローラ１３１のＣＰＵ１３２は、ポート１３６及びＦＣ−ＳＷ１２０を介してホスト１００と通信することができる。
【００３７】
ストレージコントローラ１３７は、ストレージシステム１３０の構成情報を管理する制御装置である。図１には二つのストレージコントローラ１３７を図示するが、これらの構成は同様であるため、一方のストレージコントローラ１３７の構成については図示を省略する。
【００３８】
本実施の形態のストレージコントローラ１３７は、相互に接続されたＣＰＵ１３８及びメモリ１３９を備える。
【００３９】
ＣＰＵ１３８は、メモリ１３９に格納されたソフトウエアを実行するプロセッサである。ＣＰＵ１３８は、ネットワークＩ／Ｆ１４２にも接続される。
【００４０】
メモリ１３９は、ＣＰＵ１３８によって実行されるソフトウエアを格納する。本実施の形態のメモリ１３９は、少なくとも、ディスクコントローラ１３１の性能情報を収集するプログラム（図示省略）、コントローラ性能情報１４０及びボリューム管理情報１４１を格納する。
【００４１】
コントローラ性能情報１４０は、収集されたディスクコントローラ１３１の性能情報を含む。ディスクコントローラ１３１の性能情報とは、後述するように、例えばＣＰＵ使用率である。
【００４２】
ボリューム管理情報１４１は、ストレージシステム１３０内のディスクコントローラ１３１と論理ボリューム１３５の構成情報を含む。例えば、ボリューム管理情報１４１は、ストレージシステム１３０が備える論理ボリューム１３５がどのディスクコントローラ１３１に割り当てられているかを示す割り当て情報を含んでもよい。
【００４３】
ネットワークＩ／Ｆ１４２は、ＩＰネットワーク１５０に接続される。ストレージコントローラ１３７のＣＰＵ１３８は、ネットワークＩ／Ｆ１４２及びＩＰネットワーク１５０を介して管理サーバ１１０と通信することができる。
【００４４】
本実施の形態において、各ストレージシステム１３０は、ストレージシステム識別子によって識別される。図１に示す「ストレージシステム１」及び「ストレージシステム２」は、それぞれ、ストレージシステム識別子が「１」及び「２」であるストレージシステム１３０を示す。以下の説明において、ストレージシステム識別子が「１」及び「２」であるストレージシステム１３０を、それぞれ、ストレージシステム１及びストレージシステム２と記載する。
【００４５】
本実施の形態において、各ディスクコントローラ１３１は、ディスクコントローラ識別子によって識別される。図１に示す「ディスクコントローラ１」、「ディスクコントローラ２」及び「ディスクコントローラ３」は、それぞれ、ディスクコントローラ識別子が「１」、「２」及び「３」であるディスクコントローラ１３１を示す。以下の説明において、ディスクコントローラ識別子が「１」、「２」及び「３」であるディスクコントローラ１３１を、それぞれ、ディスクコントローラ１、ディスクコントローラ２、及び、ディスクコントローラ３と記載する。
【００４６】
本実施の形態において、各論理ボリューム１３５は、各ストレージシステム１３０内で一意の論理ボリューム識別子によって識別される。図１のストレージシステム１は、三つの論理ボリューム１３５を備える。これらの論理ボリューム１３５の論理ボリューム識別子は、それぞれ、「１」、「２」及び「３」である。以下の説明において、論理ボリューム識別子が「１」、「２」及び「３」である論理ボリューム１３５を、それぞれ、ＶＯＬ１、ＶＯＬ２及びＶＯＬ３と記載する。図１のストレージシステム２は、ＶＯＬ１及びＶＯＬ２なる二つの論理ボリューム１３５を備える。
【００４７】
ＦＣ−ＳＷ１２０は、複数のポート１２１を備える。各ポートは、ホスト１００のアダプタ１０４又はストレージシステム１３０のポート１３６と接続される。ＦＣ−ＳＷ１２０は、ホスト１００及びストレージシステム１３０を相互に接続するストレージエリアネットワーク（ＳＡＮ）を構成する。本実施の形態のＳＡＮにおいては、ファイバーチャネルプロトコル（ＦＣプロトコル）が使用されるが、他のプロトコルが使用されてもよい。
【００４８】
図２は、本発明の実施の形態のストレージマネージャ１１３の説明図である。
【００４９】
本実施の形態のストレージマネージャ１１３は、切り替えコントローラ２０１、性能情報管理テーブル２０２、ボリューム情報管理テーブル２０３、ホスト・ストレージ接続状態管理テーブル２０４及びボリュームペア状態管理テーブル２０５を含む。切り替えコントローラ２０１は、ＣＰＵ１１１によって実行されるプログラムである。一方、ストレージマネージャ１１３に含まれる各テーブルは、切り替えコントローラ２０１によって参照される情報を含む。
【００５０】
切り替えコントローラ２０１は、パスの切り替え及び追加等を実行するプログラムである。切り替えコントローラ２０１が実行する処理については、後でフローチャートを参照して説明する。
【００５１】
性能情報管理テーブル２０２は、ストレージシステム１３０のディスクコントローラ１３１の性能情報を管理するテーブルである。具体的には、性能情報管理テーブル２０２には、各ディスクコントローラ１３１のアクセス負荷に関する情報が登録される。性能情報管理テーブル２０２については、後で詳細に説明する（図３参照）。
【００５２】
ボリューム情報管理テーブル２０３は、ストレージシステム１３０の論理ボリューム１３５ごとの性能情報を管理するテーブルである。具体的には、ボリューム情報管理テーブル２０３には、各論理ボリューム１３５のアクセス量に関する情報が登録される。ボリューム情報管理テーブル２０３については、後で詳細に説明する（図４参照）。
【００５３】
ホスト・ストレージ接続状態管理テーブル２０４は、ホスト１００及びストレージシステム１３０の物理的な構成を管理するテーブルである。具体的には、ホスト・ストレージ接続状態管理テーブル２０４には、ホスト１００とストレージシステム１３０との物理的な接続に関する情報が登録される。ホスト・ストレージ接続状態管理テーブル２０４については、後で詳細に説明する（図５参照）。
【００５４】
ボリュームペア状態管理テーブル２０５は、ストレージ１３０間に構成されるリモートコピーのペア（後述）を管理するテーブルである。具体的には、ボリュームペア状態管理テーブル２０５には、ペアを構成する論理ボリューム１３５に関する情報が登録される。ボリュームペア状態管理テーブル２０５については、後で詳細に説明する（図６参照）。
【００５５】
図３は、本発明の実施の形態の性能情報管理テーブル２０２の説明図である。
【００５６】
性能情報管理テーブル２０２において、一つの行が一つのディスクコントローラ１３１に対応する。
【００５７】
性能情報管理テーブル２０２は、ストレージ３０１、ディスクコントローラ３０２及びＣＰＵ使用率３０３を含む。
【００５８】
ストレージ３０１には、各ディスクコントローラ１３１を備えるストレージシステム１３０を示す情報が登録される。
【００５９】
ディスクコントローラ３０２には、各ディスクコントローラ１３１を示す情報が登録される。
【００６０】
ＣＰＵ使用率３０３には、各ディスクコントローラ１３１のＣＰＵ１３２のＣＰＵ使用率を示す情報が登録される。
【００６１】
図３の例では、ストレージ３０１、ディスクコントローラ３０２及びＣＰＵ使用率３０３として、ストレージシステム１、ディスクコントローラ１及び８０％が登録されている（行３１１）。これは、ストレージシステム１のディスクコントローラ１のＣＰＵ１３２のＣＰＵ使用率が８０％であることを示す。
【００６２】
同様にして、図３の例では、ストレージシステム１、ディスクコントローラ２及び１０％が登録され（行３１２）、さらに、ストレージシステム２、ディスクコントローラ３及び２０％が登録されている（行３１３）。これらは、それぞれ、ストレージシステム１のディスクコントローラ２のＣＰＵ１３２のＣＰＵ使用率が１０％であり、ストレージシステム２のディスクコントローラ３のＣＰＵ１３２のＣＰＵ使用率が２０％であることを示す。
【００６３】
なお、ＣＰＵ使用率は、各ストレージシステム１３０のストレージコントローラ１３７によって測定され、コントローラ性能情報１４０としてメモリ１３９に格納される。ストレージマネージャ１１３は、定期的にコントローラ性能情報１４０を参照してＣＰＵ使用率３０３を更新してもよい。
【００６４】
本実施の形態では、ディスクコントローラ１３１の性能情報として、ＣＰＵ１３２のＣＰＵ使用率を使用する。しかし、ディスクコントローラ１３１の性能情報として他の指標を使用しても、本発明を実施することができる。使用することができる指標は、例えば、アクセスデータ量（ＭＢ／秒）又はアクセス回数（回／秒）である。
【００６５】
図４は、本発明の実施の形態のボリューム情報管理テーブル２０３の説明図である。
【００６６】
ボリューム情報管理テーブル２０３において、一つの行が一つのパスに対応する。
【００６７】
ボリューム情報管理テーブル２０３は、ストレージ４０１、ディスクコントローラ４０２、論理ボリューム４０３及びデータＩ／Ｏ量４０４を含む。
【００６８】
ストレージ４０１には、各パスが経由するディスクコントローラ１３１を備えるストレージシステム１３０を示す情報が登録される。
【００６９】
ディスクコントローラ４０２には、各パスが経由するディスクコントローラ１３１を示す情報が登録される。
【００７０】
論理ボリューム４０３には、各パスの接続先の論理ボリューム１３５を示す情報が登録される。
【００７１】
データＩ／Ｏ量４０４には、各パスにおける単位時間当たりのデータＩ／Ｏ量、すなわち、単位時間当たりに書き込み又は読み出しをされたデータの量を示す情報が登録される。データＩ／Ｏ量４０４は、ＣＰＵ使用率３０３と同様、ストレージコントローラ１３７によって測定され、ストレージマネージャ１１３によって更新されてもよい。
【００７２】
図４の例では、ストレージ４０１、ディスクコントローラ４０２、論理ボリューム４０３及びデータＩ／Ｏ量４０４として、それぞれ、ストレージシステム１、ディスクコントローラ１、ＶＯＬ１及び５００ＫＢ（キロバイト）／秒が登録される（行４１１）。これは、ストレージシステム１のディスクコントローラ１を経由してＶＯＬ１に至るパスが設定され、そのパスにおいて１秒間に５００ＫＢのデータＩ／Ｏ（すなわち、書き込み又は読み出し）が実行されていることを示す。
【００７３】
同様にして、ストレージシステム１のディスクコントローラ１を経由してＶＯＬ２に至るパスが設定され、そのパスにおいて１秒間に３００ＫＢのデータＩ／Ｏが実行されている（行４１２）。ストレージシステム１のディスクコントローラ２を経由してＶＯＬ３に至るパスが設定され、そのパスにおいて１秒間に１００ＫＢのデータＩ／Ｏが実行されている（行４１３）。ストレージシステム２のディスクコントローラ３を経由してＶＯＬ１に至るパスが設定され、そのパスにおいて１秒間に１００ＫＢのデータＩ／Ｏが実行されている（行４１４）。ストレージシステム２のディスクコントローラ３を経由してＶＯＬ２に至るパスが設定され、そのパスにおいて１秒間に１００ＫＢのデータＩ／Ｏが実行されている（行４１５）。
【００７４】
図５は、本発明の実施の形態のホスト・ストレージ接続情報管理テーブル２０４の説明図である。
【００７５】
ホスト・ストレージ接続情報管理テーブル２０４は、ホスト５０１、ストレージ５０２、ディスクコントローラ５０３及び割り当てボリューム５０４を含む。
【００７６】
ホスト５０１には、各ディスクコントローラ１３１と物理的に接続されているホスト１００を示す情報が登録される。
【００７７】
ストレージ５０２には、各ホスト１００と物理的に接続されているディスクコントローラ１３１を備えるストレージシステム１３０を示す情報が格納される。
【００７８】
ディスクコントローラ５０３には、各ホスト１００と物理的に接続されているディスクコントローラ１３１を示す情報が登録される。
【００７９】
割り当てボリューム５０４には、各ディスクコントローラ１３１に割り当てられている論理ボリューム１３５、言い換えると、各ディスクコントローラ１３１を経由するパスの接続先の論理ボリューム１３５を示す情報が登録される。
【００８０】
図５の例では、ホスト５０１、ストレージ５０２及びディスクコントローラ５０３として、それぞれ、ホスト１、ストレージシステム１及びディスクコントローラ１が登録される。さらに、これらに対応する割り当てボリューム５０４として、ＶＯＬ１及びＶＯＬ２が登録される（行５１１）。これは、ホスト１とストレージシステム１のディスクコントローラ１とが物理的に接続されており、ディスクコントローラ１にＶＯＬ１及びＶＯＬ２が割り当てられていることを示す。言い換えると、ホスト１は、ディスクコントローラ１を経由して、ストレージシステム１のＶＯＬ１及びＶＯＬ２にアクセスすることができる。
【００８１】
なお、仮にディスクコントローラ１にいずれの論理ボリューム１３５も割り当てられていない場合（言い換えると、ディスクコントローラ１を経由するパスが存在しない場合）、割り当てボリューム５０４は、何も登録されないため、空欄となる。
【００８２】
同様にして、図５の例では、ホスト１とストレージシステム１のディスクコントローラ２とが物理的に接続されており、ディスクコントローラ２にＶＯＬ３が割り当てられている（行５１２）。ホスト１とストレージシステム２のディスクコントローラ３とが物理的に接続されており、ディスクコントローラ３にＶＯＬ１及びＶＯＬ２が割り当てられている（行５１３）。
【００８３】
図６は、本発明の実施の形態のボリュームペア状態管理テーブル２０５の説明図である。
【００８４】
ボリュームペア状態管理テーブル２０５において、一つの行は、リモートコピーのペアに属する一つの論理ボリューム１３５に対応する。
【００８５】
リモートコピーとは、論理ボリューム１３５に格納されたデータを、別のストレージシステム１３０内の論理ボリューム１３５にコピーすることによって、これらの二つの論理ボリューム１３５に同一のデータを格納する技術である。これらの論理ボリューム１３５を格納する二つのストレージシステム１３０が地理的に隔離していれば、一方の論理ボリューム１３５のデータが災害等によって消失した場合にも、計算機システムは、もう一方の論理ボリューム１３５のデータを使用して業務を継続することができる。
【００８６】
リモートコピーのペアとは、コピー元の論理ボリューム１３５とコピー先の論理ボリューム１３５との組を意味する。以下、コピー元の論理ボリューム１３５を正論理ボリューム、コピー先の論理ボリューム１３５を副論理ボリュームと記載する。
【００８７】
通常、ホスト１００は正論理ボリュームにアクセス要求を発行する。また、データの一貫性を維持するため、ホスト１００から副論理ボリュームへのデータの書き込みは禁止される。
【００８８】
ボリュームペア状態管理テーブル２０５は、ＩＤ６０１、ストレージ６０２、論理ボリューム６０３、正／副６０４及びペアボリュームＩＤ６０５を含む。
【００８９】
ＩＤ６０１には、ペアに属する論理ボリューム１３５を識別するために与えられた識別子が登録される。
【００９０】
ストレージ６０２には、ペアに属する論理ボリューム１３５を格納するストレージシステム１３０を示す情報が登録される。
【００９１】
論理ボリューム６０３には、ペアに属する論理ボリューム１３５を示す情報が登録される。
【００９２】
正／副６０４には、ペアに属する論理ボリューム１３５が正論理ボリューム又は副論理ボリュームのいずれであるかを示す情報が登録される。
【００９３】
ペアボリュームＩＤ６０５には、論理ボリューム１３５が属するペアのもう一方の論理ボリューム１３５を示す情報が登録される。具体的には、そのもう一方の論理ボリューム１３５に対応するＩＤ６０１の値が登録される。以下、論理ボリューム１３５がペアに属する場合、そのペアに属するもう一方の論理ボリューム１３５をペアボリュームと記載する。言い換えると、正論理ボリュームのペアボリュームは、その正論理ボリュームが属するペアの副論理ボリュームであり、副論理ボリュームのペアボリュームは、その副論理ボリュームが属するペアの正論理ボリュームである。
【００９４】
図６の例では、ＩＤ６０１、ストレージ６０２、論理ボリューム６０３、正／副６０４及びペアボリュームＩＤ６０５として、それぞれ、１、ストレージシステム１、ＶＯＬ１、正、及び、２が登録される（行６１１）。これは、ストレージシステム１のＶＯＬ１が一つのペアに属し、そのペアにおいてそのＶＯＬ１が正論理ボリュームであり、そのＶＯＬ１にＩＤ６０１として「１」が与えられており、そのＶＯＬ１が属するペアのもう一方の論理ボリューム１３５に与えられたＩＤ６０１が「２」であることを意味する。
【００９５】
さらに、図６の例では、ＩＤ６０１、ストレージ６０２、論理ボリューム６０３、正／副６０４及びペアボリュームＩＤ６０５として、それぞれ、２、ストレージシステム２、ＶＯＬ２、副、及び、１が登録される（行６１２）。これは、ストレージシステム２のＶＯＬ２が一つのペアに属し、そのペアにおいてそのＶＯＬ２が副論理ボリュームであり、そのＶＯＬ２にＩＤ６０１として「２」が与えられており、そのＶＯＬ２が属するペアのもう一方の論理ボリューム１３５に与えられたＩＤ６０１が「１」であることを意味する。
【００９６】
行６１１及び行６１２は、結局、ストレージシステム１のＶＯＬ１とストレージシステム２のＶＯＬ２がペアを形成し、そのペアにおいて、ＶＯＬ１が正論理ボリューム、ＶＯＬ２が副論理ボリュームであることを意味する。この場合、ホスト１００はＶＯＬ１のみにアクセス要求を発行し、ＶＯＬ１のデータがＶＯＬ２にコピーされる。ホスト１００からＶＯＬ２に対するデータの書き込みは禁止される。
【００９７】
次に、本実施の形態の切り替えコントローラ２０１が実行する処理について説明する。
【００９８】
なお、既に説明したように、切り替えコントローラ２０１は、ＣＰＵ１１１によって実行されるプログラムである。したがって、以下の説明において切り替えコントローラ２０１が実行する処理は、実際には、ＣＰＵ１１１によって実行される。
【００９９】
最初に、各処理の前提となるディスクコントローラ１３１への論理ボリューム１３５の割り当てについて説明する。
【０１００】
図７は、本発明の実施の形態のディスクコントローラ１３１への論理ボリューム１３５の割り当て処理の説明図である。
【０１０１】
なお、図７は、図１の計算機システムの構成のうち、一つのホスト１００及び一つのストレージシステム１３０のみを示す。図１の構成のうち、割り当て処理の説明に必要ない部分については、図７において図示を省略する。
【０１０２】
図７Ａは、ディスクコントローラ１３１に論理ボリューム１３５が割り当てられる前のストレージシステム１３０を示す。この場合、ホスト１００からＶＯＬ１に至るパスが設定されていないため、ホスト１００は、ディスクコントローラ１及びディスクコントローラ２のいずれを経由してもＶＯＬ１にアクセスすることができない。
【０１０３】
図７Ｂは、ディスクコントローラ１３１に論理ボリューム１３５が割り当てられた後のストレージシステム１３０を示す。図７Ｂの例では、ディスクコントローラ１及びディスクコントローラ２の両方にＶＯＬ１が割り当てられる。この場合、ホスト１００からディスクコントローラ１を経由してＶＯＬ１に至るパス、及び、ホスト１００からディスクコントローラ２を経由してＶＯＬ１に至るパスが設定されている。このため、ホスト１は、ディスクコントローラ１及びディスクコントローラ２のいずれを経由してもＶＯＬ１にアクセスすることができる。
【０１０４】
図７は、ＶＯＬ１をディスクコントローラ１及びディスクコントローラ２の両方に割り当てる例を示すが、ＶＯＬ１は、ディスクコントローラ１又はディスクコントローラ２の一方のみに割り当てられてもよい。
【０１０５】
図８は、本発明の実施の形態の切り替えコントローラ２０１が実行する割り当て見直し実行判定処理のフローチャートである。
【０１０６】
割り当て見直し実行判定処理は、発生したイベントをチェックして、ディスクコントローラ１３１への論理ボリューム１３５の割り当てを見直すか否か（具体的には、後述する割り当て見直し処理を実行するか否か）を判定する処理である。本実施の形態において、割り当てを見直す契機となるイベントは、ストレージシステム１３０からアラートを受信したこと、又は、前回の見直しから所定の時間が経過したことである。
【０１０７】
例えば、ストレージシステム１３０のストレージコントローラ１３７が各ディスクコントローラ１３１におけるＣＰＵ使用率を測定し、いずれかのディスクコントローラ１３１においてＣＰＵ使用率が所定の閾値を超えた場合、ＩＰネットワーク１５０を介して管理サーバ１１０にアラートを送信してもよい。一方、管理サーバ１１０は、タイマ（図示省略）を備えてもよい。そのタイマは、割り当てを見直した後の経過時間を測定し、経過時間が所定の閾値を超えたときに、所定の時間が経過したことを切り替えコントローラ２０１に通知してもよい。
【０１０８】
なお、以下の説明において、管理サーバ１１０がホスト１００又はストレージ１３０に対して指示又はデータ等を送受信する場合、その送受信はネットワークＩ／Ｆ１１４及びＩＰネットワーク１５０を介して実行される。図９以降の処理についても同様である。
【０１０９】
切り替えコントローラ２０１は、最初に、イベントをチェックする（８０１）。
【０１１０】
次に、切り替えコントローラ２０１は、イベントの種類を判定する（８０２）。具体的には、切り替えコントローラ２０１は、イベントがストレージシステム１３０から送信されたアラートであるか、又は、前回の見直しからの所定の時間の経過であるかを判定する。
【０１１１】
ステップ８０２において、イベントがストレージシステム１３０からのアラートであると判定された場合、いずれかのディスクコントローラ１３１においてＣＰＵ使用率が所定の閾値を超えている。この場合、そのディスクコントローラ１３１にアクセス負荷が集中していると考えられる。この場合、アクセス負荷を分散することによって、性能（例えば、書き込み／読み出し要求に対する応答時間）が改善される可能性がある。この場合、切り替えコントローラ２０１は、全てのストレージシステム１３０から、性能情報を取得する（８０３）。具体的には、切り替えコントローラ２０１は、各ストレージコントローラ１３７のメモリ１３９に格納されたコントローラ性能情報１４０を参照して、少なくとも、各ＣＰＵ１３２のＣＰＵ使用率を取得する。そして、切り替えコントローラ２０１は、取得したＣＰＵ使用率をＣＰＵ使用率３０３として性能情報管理テーブル２０２に登録する。
【０１１２】
次に、切り替えコントローラ２０１は、割り当て見直し処理を実行する（８０６）。割り当て見直し処理については、後で詳細に説明する（図９参照）。
【０１１３】
切り替えコントローラ２０１は、ステップ８０６において割り当て見直し処理を実行した後、次回のイベントをチェックするため、ステップ８０１に戻る。
【０１１４】
一方、ステップ８０２において、イベントが所定の時間の経過であると判定された場合、前回割り当て見直し処理が実行された時点でアクセス負荷が適切に分散されていたとしても、その後所定の時間が経過する間に、アクセス負荷に偏りが生じている可能性がある。このため、切り替えコントローラ２０１は、割り当て見直し処理を実行する必要があるか否かを判定する。
【０１１５】
具体的には、切り替えコントローラ２０１は、全てのストレージシステム１３０から、性能情報を取得する（８０４）。ステップ８０４の処理は、ステップ８０３の処理と同様である。
【０１１６】
次に、切り替えコントローラ２０１は、性能情報管理テーブル２０２を参照し、いずれかのディスクコントローラ３０２に対応するＣＰＵ使用率３０３が所定の閾値を超えているか否かを判定する（８０５）。
【０１１７】
ステップ８０５において、いずれかのディスクコントローラ３０２に対応するＣＰＵ使用率３０３が所定の閾値を超えていないと判定された場合、アクセス負荷が適切に分散されているため、割り当て見直し処理を実行する必要がない。この場合、切り替えコントローラ２０１は、次回のイベントをチェックするため、ステップ８０１に戻る。
【０１１８】
一方、ステップ８０５において、いずれかのディスクコントローラ３０２に対応するＣＰＵ使用率３０３が所定の閾値を超えていると判定された場合、そのディスクコントローラ３０２が示すディスクコントローラ１３１にアクセス負荷が集中していると考えられる。この場合、アクセス負荷を分散することによって、性能が改善される可能性がある。このため、切り替えコントローラ２０１は、割り当て見直し処理を実行し（８０６）、その後、ステップ８０１に戻る。
【０１１９】
図９は、本発明の実施の形態の切り替えコントローラ２０１が実行する割り当て見直し処理のフローチャートである。
【０１２０】
割り当て見直し処理は、割り当て見直し実行判定処理のステップ８０６において切り替えコントローラ２０１によって実行される（図８参照）。
【０１２１】
切り替えコントローラ２０１は、最初に、性能情報管理テーブル２０２を参照して、最もＣＰＵ使用率３０３が高いディスクコントローラ１３１を検出する（９０１）。
【０１２２】
次に、切り替えコントローラ２０１は、ホスト・ストレージ接続情報管理テーブル２０４を参照して、ステップ９０１において検出されたディスクコントローラ１３１に割り当てられている論理ボリューム１３５の一覧表（図示省略）を作成する（９０２）。
【０１２３】
次に、切り替えコントローラ２０１は、ボリューム情報管理テーブル２０３を参照して、一覧表に登録された論理ボリューム１３５を、検出されたディスクコントローラ１３１に対するデータＩ／Ｏ量４０４が多い順に並べ替える。
【０１２４】
次に、切り替えコントローラ２０１は、一覧表の先頭の論理ボリューム１３５を対象として（９０４）、ボリュームごとの割り当て見直し処理を実行する（９０５）。ボリュームごとの割り当て見直し処理については、後で詳細に説明する（図１０参照）。
【０１２５】
次に、切り替えコントローラ２０１は、ボリュームごとの割り当て見直し処理の戻り値を参照して、論理ボリューム１３５の割り当てが変更されたか否かを判定する（９０６）。
【０１２６】
ステップ９０６において、論理ボリューム１３５の割り当てが変更されていないと判定された場合、一覧表の次の論理ボリューム１３５を対象として、ボリュームごとの割り当て見直し処理を実行する（９０７、９０４及び９０５）。一覧表の最後の論理ボリューム１３５を対象としたボリュームごとの割り当て見直し処理が終了した場合、割り当て見直し処理を終了する。
【０１２７】
一方、ステップ９０６において、論理ボリューム１３５の割り当てが変更されたと判定された場合、切り替えコントローラ２０１は、割り当てが変更された後の各ディスクコントローラの性能を予測し、予測の結果に基づいて、性能情報管理テーブル２０２及びボリューム情報管理テーブル２０３を更新する（ステップ９０８）。さらに、切り替えコントローラ２０１は、変更された割り当てに従って、ホスト・ストレージ接続情報テーブル２０４を更新する。後述するペア切り替え処理が実行された場合、切り替えコントローラ２０１は、さらに、ボリュームペア状態管理テーブル２０５も更新する。
【０１２８】
次に、切り替えコントローラ２０１は、更新された性能情報管理テーブル２０２を参照して、ＣＰＵ使用率３０３が所定の閾値を超えているディスクコントローラ１３１があるか否かを判定する（９０９）。
【０１２９】
ステップ９０９において、ＣＰＵ使用率３０３が所定の閾値を超えているディスクコントローラ１３１があると判定された場合、アクセス負荷の偏りが解消されていないため、ステップ９０１に戻り、割り当て見直し処理を再度実行する。
【０１３０】
一方、ステップ９０９において、ＣＰＵ使用率３０３が所定の閾値を超えているディスクコントローラ１３１がないと判定された場合、アクセス負荷の偏りが解消された結果、アクセス負荷が適切に分散されている。この場合、割り当て見直し処理を終了する。
【０１３１】
次に、割り当て見直し処理の具体例を説明する。
【０１３２】
例えば、性能情報管理テーブル２０２が図３に示す通りである場合、ステップ９０１において、ＣＰＵ使用率３０３が最も高い「８０％」であるディスクコントローラ１が検出される。
【０１３３】
次に、ステップ９０２において、ホスト・ストレージ接続情報管理テーブル２０４のディスクコントローラ５０３及び割り当てボリューム５０４が参照される。そして、ディスクコントローラ１に割り当てられているＶＯＬ１及びＶＯＬ２からなる一覧表が作成される。
【０１３４】
次に、ステップ９０３において、ボリューム情報管理テーブル２０３の論理ボリューム４０３及びデータＩ／Ｏ量４０４が参照される。そして、データＩ／Ｏ量４０４が「５００ＫＢ」であるＶＯＬ１が一覧表の先頭に、データＩ／Ｏ量４０４が「３００ＫＢ」であるＶＯＬ２がＶＯＬ１の後に並べられる。
【０１３５】
次に、ステップ９０５において、ＶＯＬ１を対象としてボリュームごとの割り当て見直し処理が実行される。
【０１３６】
例えば、ステップ９０５において割り当てが変更された結果、ディスクコントローラ１に割り当てられていたＶＯＬ１がディスクコントローラ２に割り当てられた場合、ディスクコントローラ１及びディスクコントローラ２の性能が予測される（９０８）。具体的には、ディスクコントローラ１及びディスクコントローラ２のＣＰＵ１３２のＣＰＵ使用率３０３が予測される。
【０１３７】
さらに、ステップ９０８では、性能情報管理テーブル２０２及びボリューム情報管理テーブル２０３等が更新される。
【０１３８】
ステップ９０９では、更新された性能情報管理テーブル２０２が参照され、ＣＰＵ使用率３０３が所定の閾値を超えるか否かが判定される。
【０１３９】
図１０は、本発明の実施の形態の切り替えコントローラ２０１が実行するボリュームごとの割り当て見直し処理のフローチャートである。
【０１４０】
ボリュームごとの割り当て見直し処理は、割り当て見直し処理のステップ９０５において切り替えコントローラ２０１によって実行される（図９参照）。
【０１４１】
切り替えコントローラ２０１は、最初に、切り替え可能ディスクコントローラ検索処理を実行する（１００１）。
【０１４２】
ディスクコントローラ１３１の切り替えとは、論理ボリューム１３５がディスクコントローラ１３１に割り当てられているとき、その割り当てを解除し、その論理ボリューム１３５を新たに別のディスクコントローラ１３１に割り当てることを意味する。例えば、「ＶＯＬ１をディスクコントローラ２に切り替える」とは、ＶＯＬ１と他のディスクコントローラ１３１との割り当てを解除し、ＶＯＬ１をディスクコントローラ２に新たに割り当てることを意味する。切り替え可能ディスクコントローラ検索処理は、切り替え可能なディスクコントローラ１３１、すなわち、切り替えによって論理ボリューム１３５を新たに割り当てることができるディスクコントローラ１３１を検索する処理である。切り替え可能ディスクコントローラ検索処理については、後で詳細に説明する（図１１参照）。
【０１４３】
次に、切り替えコントローラ２０１は、切り替え可能ディスクコントローラ検索処理の戻り値を参照して、切り替え可能なディスクコントローラ１３１があるか否かを判定する（１００２）。
【０１４４】
ステップ１００２において、切り替え可能なディスクコントローラ１３１があると判定された場合、切り替えコントローラ２０１は、ディスクコントローラ切り替え処理を実行して（１００４）、ボリュームごとの割り当て見直し処理を終了する。ディスクコントローラ切り替え処理は、論理ボリューム１３５を、切り替え可能なディスクコントローラ１３１に切り替える処理である。ディスクコントローラ切り替え処理については、後で詳細に説明する（図１４及び図１５参照）。
【０１４５】
一方、ステップ１００２において、切り替え可能なディスクコントローラ１３１がないと判定された場合、切り替えコントローラ２０１は、追加可能ディスクコントローラ検索処理を実行する（１００３）。
【０１４６】
ディスクコントローラ１３１の追加とは、論理ボリューム１３５がディスクコントローラ１３１に割り当てられているとき、その割り当てを維持したままで、その論理ボリューム１３５をさらに別のディスクコントローラ１３１に割り当てることを意味する。追加可能ディスクコントローラ検索処理は、追加可能なディスクコントローラ１３１、すなわち、追加によって論理ボリューム１３５を割り当てることができるディスクコントローラ１３１を検索する処理である。追加可能ディスクコントローラ検索処理については、後で詳細に説明する（図１２参照）。
【０１４７】
次に、切り替えコントローラ２０１は、追加可能ディスクコントローラ検索処理の戻り値を参照して、追加可能なディスクコントローラ１３１があるか否かを判定する（１００５）。
【０１４８】
ステップ１００５において、追加可能なディスクコントローラ１３１があると判定された場合、切り替えコントローラ２０１は、ディスクコントローラ追加処理を実行して（１００７）、ボリュームごとの割り当て見直し処理を終了する。ディスクコントローラ追加処理は、論理ボリューム１３５を、追加可能なディスクコントローラ１３１に追加する処理である。ディスクコントローラ追加処理については、後で詳細に説明する（図１６及び図１７参照）。
【０１４９】
一方、ステップ１００５において、追加可能なディスクコントローラ１３１がないと判定された場合、切り替えコントローラ２０１は、ペア切り替え可能ディスクコントローラ検索処理を実行する（１００６）。
【０１５０】
ペアの切り替えとは、論理ボリューム１３５がペアに属しているとき、そのペアの正論理ボリュームを副論理ボリュームに、副論理ボリュームを正論理ボリュームに変更することを意味する。ペア切り替え可能ディスクコントローラ検索処理は、ペア切り替え可能なディスクコントローラ１３１を検索する処理、すなわち、ペアの切り替えをすることができるペアに属する論理ボリューム１３５が割り当てられたディスクコントローラ１３１を検索する処理である。ペア切り替え可能ディスクコントローラ検索処理については、後で詳細に説明する（図１３参照）。
【０１５１】
次に、切り替えコントローラ２０１は、ペア切り替え可能ディスクコントローラ検索処理の戻り値を参照して、ペア切り替え可能なディスクコントローラ１３１があるか否かを判定する（１００８）。
【０１５２】
ステップ１００８において、ペア切り替え可能なディスクコントローラ１３１があると判定された場合、切り替えコントローラ２０１は、ペア切り替え処理を実行して（１００９）、ボリュームごとの割り当て見直し処理を終了する。ペア切り替え処理については、後で詳細に説明する（図１８及び図１９参照）。
【０１５３】
一方、ステップ１００８において、ペア切り替え可能なディスクコントローラ１３１がないと判定された場合、切り替えコントローラ２０１は、ボリュームごとの割り当て見直し処理を終了する。この場合、ボリュームごとの割り当て見直し処理の戻り値は、論理ボリューム１３５の割り当てを変更しなかったことを示す値となる。
【０１５４】
一方、ステップ１００４、１００７又は１００９の処理を実行した後でボリュームごとの割り当て見直し処理を終了する場合、戻り値は、論理ボリューム１３５の割り当てを変更したことを示す値となる。
【０１５５】
図１１は、本発明の実施の形態の切り替えコントローラ２０１が実行する切り替え可能ディスクコントローラ検索処理のフローチャートである。
【０１５６】
切り替え可能ディスクコントローラ検索処理は、ボリュームごとの割り当て見直し処理のステップ１００１において切り替えコントローラ２０１に呼び出されて実行される（図１０参照）。ボリュームごとの割り当て見直し処理は、割り当て見直し処理のステップ９０５において実行される（図９参照）。ステップ９０５において処理の対象とされた論理ボリューム１３５を、図１１の説明において、「当該論理ボリューム１３５」と記載する。
【０１５７】
切り替えコントローラ２０１は、最初に、ホスト・ストレージ接続情報管理テーブル２０４を参照して、当該論理ボリューム１３５、及び、当該論理ボリューム１３５を使用するホスト１００のいずれとも接続可能なディスクコントローラ１３１の一覧表を作成する（１１０１）。
【０１５８】
次に、切り替えコントローラ２０１は、性能情報管理テーブル２０２を参照して、作成した一覧表のディスクコントローラ１３１を、ＣＰＵ使用率３０３が低い順に並べ替える（１１０２）。
【０１５９】
次に、切り替えコントローラ２０１は、作成した一覧表の先頭のディスクコントローラ１３１を対象として（１１０３）、当該論理ボリューム１３５がその対象のディスクコントローラ１３１に既に割り当てられているか否かを判定する（１１０４）。切り替えコントローラ２０１は、ステップ１１０４の判定の際に、ホスト・ストレージ接続情報管理テーブル２０４を参照する。この判定の対象のディスクコントローラ１３１を、図１１の説明において、「当該ディスクコントローラ１３１」と記載する。
【０１６０】
ステップ１１０４において、当該論理ボリューム１３５が当該ディスクコントローラ１３１に既に割り当てられていると判定された場合、当該論理ボリューム１３５をさらに当該ディスクコントローラ１３１に割り当てることができない。言い換えると、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えることができない。この場合、切り替えコントローラ２０１は、一覧表における次のディスクコントローラ１３１を対象として、ステップ１１０４の判定を実行する（１１０３から１１０５）。
【０１６１】
一覧表における最後のディスクコントローラ１３１を対象としたステップ１１０４の判定が終了した場合、切り替えコントローラ２０１は、切り替え可能なディスクコントローラ１３１がないことを、切り替え可能ディスクコントローラ検索処理の呼び出し元に返信して（１１０６）、切り替え可能ディスクコントローラ検索処理を終了する。言い換えると、この場合、切り替え可能ディスクコントローラ検索処理の戻り値は、切り替え可能なディスクコントローラ１３１がないことを示す値となる。
【０１６２】
一方、ステップ１１０４において、当該論理ボリューム１３５が当該ディスクコントローラ１３１にまだ割り当てられていないと判定された場合、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えることができる。ただし、その結果、アクセス負荷が分散されない場合は、切り替えることができない。このため、切り替えコントローラ２０１は、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えた場合のＣＰＵ使用率３０３を予測する（１１０７）。この予測は、図９のステップ９０８と同様にして実行されてもよい。
【０１６３】
次に、切り替えコントローラ２０１は、当該ディスクコントローラ１３１について予測されたＣＰＵ使用率３０３が所定の閾値を超えているか否かを判定する（１１０８）。
【０１６４】
ステップ１１０８において、ＣＰＵ使用率３０３の予測値が所定の閾値を超えていると判定された場合、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えても、アクセス負荷が分散されないと予想される。したがって、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えることができない。
【０１６５】
この時点で、ディスクコントローラ１３１の一覧表には、まだステップ１１０４の判定の対象とされていないディスクコントローラ１３１が残っている場合がある。しかし、ステップ１１０２において、一覧表のディスクコントローラ１３１がＣＰＵ使用率３０３の低い順に並べられている。このため、ステップ１１０８においてアクセス負荷が分散されない場合には、当該論理ボリューム１３５を残りのディスクコントローラ１３１に切り替えても、アクセス負荷が分散されないと予想される。このため、切り替えコントローラ２０１は、切り替え可能なディスクコントローラ１３１がないことを、切り替え可能ディスクコントローラ検索処理の呼び出し元に返信して（１１０６）、処理を終了する。
【０１６６】
一方、ステップ１１０８において、ＣＰＵ使用率３０３の予測値が所定の閾値を超えていないと判定された場合、当該論理ボリューム１３５を当該ディスクコントローラ１３１に切り替えることによって、アクセス負荷が分散されると予想される。このため、切り替えコントローラ２０１は、当該ディスクコントローラ１３１が切り替え可能なディスクコントローラであることを切り替え可能ディスクコントローラ検索処理の呼び出し元に返信して（１１０９）、切り替え可能ディスクコントローラ検索処理を終了する。言い換えると、この場合、切り替え可能ディスクコントローラ検索処理の戻り値は、当該ディスクコントローラ１３１が切り替え可能なディスクコントローラであることを示す値となる。
【０１６７】
この場合、予測されたＣＰＵ使用率３０３は、図９のステップ９０８において、性能情報管理テーブル２０２に登録される。
【０１６８】
ここで、切り替え可能ディスクコントローラ検索処理の具体例を説明する。
【０１６９】
図９のステップ９０５において、ストレージシステム１のＶＯＬ１が処理の対象である場合、そのＶＯＬ１が当該論理ボリューム１３５である。
【０１７０】
この場合、切り替えコントローラ２０１は、ホスト・ストレージ接続情報テーブル２０４を参照する（１１０１）。その結果、ストレージシステム１のＶＯＬ１はホスト１によって使用されている。また、ストレージシステム１は、ディスクコントローラ１及びディスクコントローラ２を備える。ディスクコントローラ２は、ホスト１と物理的に接続されている。このため、切り替えコントローラ２０１は、ホスト１及びＶＯＬ１に接続可能なディスクコントローラ１及びディスクコントローラ２からなる一覧表を作成する。
【０１７１】
次に、切り替えコントローラ２０１は、性能情報管理テーブル２０２を参照する（１１０２）。ディスクコントローラ２のＣＰＵ使用率３０３「１０％」がディスクコントローラ１のＣＰＵ使用率３０３「８０％」より低いため、ディスクコントローラ２が一覧表の先頭となる。
【０１７２】
ディスクコントローラ２はＶＯＬ１に割り当てられていないため（１１０４）、切り替えコントローラ２０１は、ＶＯＬ１をディスクコントローラ２に切り替えた場合のディスクコントローラ２のＣＰＵ使用率３０３を予測する（１１０７）。
【０１７３】
予測されたＣＰＵ使用率３０３が所定の閾値を超える場合（１１０８）、切り替えコントローラ２０１は、切り替え可能なディスクコントローラ１３１がないことを返信する（１１０６）。
【０１７４】
一方、予測されたＣＰＵ使用率３０３が所定の閾値を超えない場合（１１０８）、切り替えコントローラ２０１は、ＶＯＬ１をディスクコントローラ２に切り替えることができることを返信する（１１０９）。この場合、予測されたＣＰＵ使用率３０３は、図９のステップ９０８において、性能情報管理テーブル２０２の行３１２に登録される。
【０１７５】
図１２は、本発明の実施の形態の切り替えコントローラ２０１が実行する追加可能ディスクコントローラ検索処理のフローチャートである。
【０１７６】
追加可能ディスクコントローラ検索処理は、ボリュームごとの割り当て見直し処理のステップ１００３において切り替えコントローラ２０１に呼び出されて実行される（図１０参照）。
【０１７７】
図１２に示すように、追加可能ディスクコントローラ検索処理では、ステップ１２０１からステップ１２０９までの処理が実行される。これらの処理は、それぞれ、図１１のステップ１１０１からステップ１１０９までの処理と同様である。
【０１７８】
ただし、ステップ１２０７において、切り替えコントローラ２０１は、当該論理ボリューム１３５を当該ディスクコントローラ１３１に追加した場合のＣＰＵ使用率３０３を予測する。この予測は、ステップ１１０７と同様に実行される。
【０１７９】
ステップ１２０６において、切り替えコントローラ２０１は、追加可能なディスクコントローラ１３１がないことを呼び出し元に返信する。
【０１８０】
ステップ１２０６において、切り替えコントローラ２０１は、当該ディスクコントローラ１３１が追加可能なディスクコントローラであることを呼び出し元に返信する。
【０１８１】
その他のステップで実行される処理は、図１１に示す処理と同じであるため、説明を省略する。
【０１８２】
図１３は、本発明の実施の形態の切り替えコントローラ２０１が実行するペア切り替え可能ディスクコントローラ検索処理のフローチャートである。
【０１８３】
ペア切り替え可能ディスクコントローラ検索処理は、ボリュームごとの割り当て見直し処理のステップ１００６において切り替えコントローラ２０１に呼び出されて実行される（図１０参照）。
【０１８４】
図１３の説明において、図１１と同様、処理の対象の論理ボリューム１３５を当該論理ボリューム１３５と記載する。
【０１８５】
切り替えコントローラ２０１は、最初に、当該論理ボリューム１３５にペアボリュームが存在するか否か（言い換えると、当該論理ボリューム１３５がリモートコピーのペアに属するか否か）を判定する（１３０１）。
【０１８６】
ステップ１３０１において、ペアボリュームが存在しないと判定された場合、当該論理ボリューム１３５がペアに属さないため、当該論理ボリューム１３５についてペアの切り替えを実行することができない。このため、切り替えコントローラ２０１は、ペア切り替え可能なディスクコントローラ１３１がないことをペア切り替え可能ディスクコントローラ検索処理の呼び出し元に返信して（１３１０）、処理を終了する。言い換えると、この場合、ペア切り替え可能ディスクコントローラ検索処理の戻り値は、ペア切り替え可能なディスクコントローラ１３１がないことを示す値となる。
【０１８７】
一方、ステップ１３０１において、ペアボリュームが存在すると判定された場合、当該論理ボリューム１３５はペアに属する。この場合、切り替えコントローラ２０１は、当該論理ボリューム１３５を使用しているホスト１００と、当該論理ボリューム１３５のペアボリュームとを接続可能なディスクコントローラ１３１が存在するか否かを判定する（１３０２）。具体的には、切り替えコントローラ２０１は、ホスト・ストレージ接続情報管理テーブル２０４を参照して、ペアボリュームが格納されているストレージシステム１３０のいずれかのディスクコントローラ１３１が、当該論理ボリューム１３５を使用するホスト１００と物理的に接続されているか否かを判定する。
【０１８８】
ステップ１３０２において、該当するディスクコントローラ１３１が存在しないと判定された場合、当該論理ボリューム１３５を使用するホスト１００は、当該論理ボリューム１３５のペアボリュームにアクセスすることができないため、ペアの切り替えを実行することができない。このため、切り替えコントローラ２０１は、ステップ１３１０を実行して処理を終了する。
【０１８９】
一方、ステップ１３０２において、該当するディスクコントローラ１３１が存在すると判定された場合、当該論理ボリューム１３５を使用するホスト１００は、当該論理ボリューム１３５のペアボリュームにアクセスすることができる。この場合、切り替えコントローラ２０１は、当該論理ボリューム１３５を使用しているホスト１００と、当該論理ボリューム１３５のペアボリュームとを接続可能なディスクコントローラ１３１の一覧表（図示省略）を作成する（１３０３）。この一覧表を、図１３の説明において、「ペア切り替え候補ディスクコントローラ一覧表」と記載する。なお、図１３には、ペア切り替え候補ディスクコントローラ一覧表を「一覧表Ａ」と表示する。
【０１９０】
次に、切り替えコントローラ２０１は、ペア切り替え候補ディスクコントローラ一覧表に含まれるディスクコントローラ１３１を、ＣＰＵ使用率３０３が低い順に並べ替える（１３０４）。
【０１９１】
次に、切り替えコントローラ２０１は、ペア切り替え候補ディスクコントローラ一覧表の先頭のディスクコントローラ１３１から最後のディスクコントローラ１３１までを対象として、順に、ステップ１３０５からステップ１３０９までのループを実行する。
【０１９２】
最初に、切り替えコントローラ２０１は、ペア切り替え候補ディスクコントローラ一覧表の先頭のディスクコントローラ１３１を、ペア切り替え対象ディスクコントローラ一覧表（図示省略）に登録する（１３０６）。なお、図１３には、ペア切り替え対象ディスクコントローラ一覧表を「一覧表Ｂ」と表示する。
【０１９３】
次に、切り替えコントローラ２０１は、ペア切り替え対象ディスクコントローラ一覧表に登録されたディスクコントローラ１３１にペアディスクを割り当てた場合のそのディスクコントローラ１３１のＣＰＵ使用率を予測する（１３０７）。ペア切り替え対象ディスクコントローラ一覧表に複数のディスクコントローラ１３１が登録されている場合、それらのディスクコントローラ１３１のＣＰＵ使用率を予測する。この予測は、図９のステップ９０８と同様に実行されてもよい。
【０１９４】
次に、切り替えコントローラ２０１は、ペア切り替え対象ディスクコントローラ一覧表に登録されたディスクコントローラ１３１の中に、予測されたＣＰＵ使用率が所定の閾値を超えるものがあるか否かを判定する（１３０８）。
【０１９５】
ステップ１３０８において、予測されたＣＰＵ使用率が所定の閾値を超えるディスクコントローラ１３１があると判定された場合、ペアの切り替えによってアクセス負荷が分散されない。この場合、切り替えコントローラ２０１は、ペア切り替え候補ディスクコントローラ一覧表に登録された次のディスクコントローラ１３１をペア切り替え対象ディスクコントローラ一覧表に追加して（１３０６）、ステップ１３０７及び１３０８を実行する。
【０１９６】
一方、ステップ１３０８において、予測されたＣＰＵ使用率が所定の閾値を超えるディスクコントローラ１３１がないと判定された場合、ペアの切り替えによってアクセス負荷が分散される。この場合、切り替えコントローラ２０１は、ペア切り替え対象ディスクコントローラ一覧表に登録されたディスクコントローラ１３１をペア切り替え可能なディスクコントローラ１３１として呼び出し元に返信して（１３１１）、処理を終了する。言い換えると、この場合、ペア切り替え可能ディスクコントローラ検索処理の戻り値は、ペア切り替え対象ディスクコントローラ一覧表に登録されたディスクコントローラ１３１がペア切り替え可能なディスクコントローラ１３１であることを示す値である。
【０１９７】
この場合、予測されたＣＰＵ使用率３０３は、図９のステップ９０８において、性能情報管理テーブル２０２に登録される。
【０１９８】
ここで、ペア切り替え可能ディスクコントローラ検索処理の具体例を説明する。
【０１９９】
図６に示すように、ストレージシステム１のＶＯＬ１とストレージシステム２のＶＯＬ２がペアを形成している場合に、ＶＯＬ１を当該論理ボリューム１３５としてペア切り替え可能ディスクコントローラ検索処理を実行する例を説明する。なお、この例の初期状態において、ストレージシステム２のＶＯＬ２は、ディスクコントローラ３に割り当てられていない。
【０２００】
ストレージシステム１のＶＯＬ１のペアボリュームであるストレージシステム２のＶＯＬ２が存在する（１３０１）。すなわち、ＶＯＬ１はペアに属している。
【０２０１】
ストレージシステム１のＶＯＬ１は、ホスト１によって使用されている。一方、ストレージシステム２に含まれるディスクコントローラ３は、ホスト１と物理的に接続されている（図５参照）（１３０２）。すなわち、ディスクコントローラ３は、ホスト１及びペアボリュームであるＶＯＬ２のいずれとも接続することができる。
【０２０２】
この例において、ペア切り替え候補ディスクコントローラ一覧表には、ディスクコントローラ３のみが含まれる（１３０３から１３０６）。
【０２０３】
次に、切り替えコントローラ２０１は、ＶＯＬ２をディスクコントローラ３に割り当てた場合のディスクコントローラ３のＣＰＵ使用率を予測する（１３０７）。その結果、予測されたＣＰＵ使用率が所定の閾値を超えない場合（１３０８）、切り替えコントローラ２０１は、ディスクコントローラ３がペア切り替え可能なディスクコントローラ１３１であることを呼び出し元に返信して（１３１１）、処理を終了する。この場合、予測されたＣＰＵ使用率３０３は、図９のステップ９０８において、性能情報管理テーブル２０２の行３１３に登録される。
【０２０４】
図１４は、本発明の実施の形態の切り替えコントローラ２０１が実行するディスクコントローラ切り替え処理のフローチャートである。
【０２０５】
ディスクコントローラ切り替え処理は、ボリュームごとの割り当て見直し処理のステップ１００４において切り替えコントローラ２０１によって実行される（図１０参照）。
【０２０６】
図１４の説明において、図１１と同様、処理の対象の論理ボリューム１３５を当該論理ボリューム１３５と記載する。また、ディスクコントローラ切り替え処理が開始された時点で当該論理ボリューム１３５が割り当てられているディスクコントローラ１３１を切り替え元ディスクコントローラ１３１と記載する。さらに、その時点の切り替え可能なディスクコントローラ１３１を切り替え先ディスクコントローラ１３１と記載する。
【０２０７】
切り替えコントローラ２０１は、最初に、当該論理ボリューム１３１を、切り替え先ディスクコントローラ１３１に割り当てる（１４０１）。このとき、切り替えコントローラ２０１は、当該論理ボリューム１３１と切り替え先ディスクコントローラ１３１とを対応付ける割り当て情報を格納する指示をストレージシステム１３０に送信してもよい。さらに、この割り当てに従って、図９のステップ９０８においてホスト・ストレージ接続情報管理テーブル２０４が更新される。
【０２０８】
次に、切り替えコントローラ２０１は、切り替え元ディスクコントローラ１３１のキャッシュメモリ１３４に格納されたデータのうち、当該論理ボリューム１３５に関するデータを、切り替え先ディスクコントローラ１３１のキャッシュメモリ１３４にコピーする（１４０２）。具体的には、切り替えコントローラ２０１は、そのデータをコピーする指示をストレージシステム１３０に送信する。
【０２０９】
当該論理ボリューム１３５に関するデータとは、当該論理ボリューム１３５から読み出されるデータ又は当該論理ボリューム１３５にこれから書き込まれるデータの少なくとも一方である。例えば、切り替え元のキャッシュメモリ１３４に、当該論理ボリューム１３５から読み出されたデータ（例えば、先読みデータ）が格納されている場合、そのデータを切り替え先のキャッシュメモリ１３４にコピーすることによって、切り替えが実行された後も高速なアクセスを実現することができる。
【０２１０】
なお、コピーが終了した後、コピーされたデータは切り替え元のキャッシュメモリ１３４から削除されてもよい。
【０２１１】
次に、切り替えコントローラ２０１は、当該論理ボリューム１３５と切り替え元ディスクコントローラ１３１との割り当てを解除する（１４０３）。このとき、切り替えコントローラ２０１は、当該論理ボリューム１３１と切り替え元ディスクコントローラ１３１とを対応付ける割り当て情報を削除する指示をストレージシステム１３０に送信してもよい。さらに、この割り当ての解除に従って、図９のステップ９０８においてホスト・ストレージ接続情報管理テーブル２０４が更新される。
【０２１２】
ホスト１００のデバイスリンクマネージャ１０３は、更新された割り当て情報を参照して、切り替え先ディスクコントローラ１３１を経由して当該論理ボリューム１３５にアクセスできることを認識する。
【０２１３】
以上で、ディスクコントローラ切り替え処理が終了する。
【０２１４】
図１５は、本発明の実施の形態のディスクコントローラ切り替え処理の具体例の説明図である。
【０２１５】
図１５は、例として、ディスクコントローラ１に割り当てられていたＶＯＬ１をディスクコントローラ２に切り替える処理を示す。したがって、図１５の例では、ＶＯＬ１が当該論理ボリューム１３５、ディスクコントローラ１が切り替え元ディスクコントローラ１３１、ディスクコントローラ２が切り替え先ディスクコントローラ１３１に相当する。
【０２１６】
図１５（Ａ）は、図１４のディスクコントローラ切り替え処理が開始された時点のストレージシステム１３０を示す。この時点で、ＶＯＬ１は、ディスクコントローラ１に割り当てられ、ディスクコントローラ２には割り当てられていない。
【０２１７】
その後、ＶＯＬ１がディスクコントローラ２に割り当てられる（図１４のステップ１４０１）。次に、ディスクコントローラ１のキャッシュメモリ１３４に格納されたデータがディスクコントローラ２のキャッシュメモリ１３４にコピーされる（図１４のステップ１４０２）。次に、ＶＯＬ１とディスクコントローラ１との割り当てが解除される（図１４のステップ１４０３）。その結果、図１５（Ｂ）に示すように、ＶＯＬ１は、ディスクコントローラ２のみに割り当てられる。
【０２１８】
上記の切り替えの結果、ホスト１からディスクコントローラ２を経由してＶＯＬ１に至るパスが追加され、ホスト１からディスクコントローラ１を経由してＶＯＬ１に至るパスが削除される。
【０２１９】
この場合、図９のステップ９０８において、ホスト・ストレージ接続情報管理テーブル２０４の行５１１の割り当てボリューム５０４からＶＯＬ１が削除される。さらに、行５１２の割り当てボリューム５０４にＶＯＬ１が追加される。
【０２２０】
図１６は、本発明の実施の形態の切り替えコントローラ２０１が実行するディスクコントローラ追加処理のフローチャートである。
【０２２１】
ディスクコントローラ追加処理は、ボリュームごとの割り当て見直し処理のステップ１００７において切り替えコントローラ２０１によって実行される（図１０参照）。
【０２２２】
図１６の説明において、図１１と同様、処理の対象の論理ボリューム１３５を当該論理ボリューム１３５と記載する。また、ディスクコントローラ追加処理が開始された時点の追加可能なディスクコントローラ１３１を追加先ディスクコントローラ１３１と記載する。
【０２２３】
切り替えコントローラ２０１は、当該論理ボリューム１３５を、追加先ディスクコントローラ１３１に割り当てる（１６０１）。具体的には、切り替えコントローラ２０１は、当該論理ボリューム１３５と追加先ディスクコントローラ１３１とを対応付ける割り当て情報を格納する指示をストレージシステム１３０に送信してもよい。さらに、この割り当てに従って、図９のステップ９０８においてホスト・ストレージ接続情報管理テーブル２０４が更新される。
【０２２４】
ホスト１００のデバイスリンクマネージャ１０３は、更新された割り当て情報を参照して、追加元ディスクコントローラ１３１及び追加先ディスクコントローラ１３１のいずれを経由しても当該論理ボリューム１３５にアクセスできることを認識する。
【０２２５】
以上で、ディスクコントローラ追加処理が終了する。
【０２２６】
図１７は、本発明の実施の形態のディスクコントローラ追加処理の具体例の説明図である。
【０２２７】
図１７は、例として、ディスクコントローラ１に割り当てられていたＶＯＬ１をディスクコントローラ２に追加する処理を示す。したがって、図１７の例では、ＶＯＬ１が当該論理ボリューム１３５、ディスクコントローラ２が追加先ディスクコントローラ１３１に相当する。
【０２２８】
図１７（Ａ）は、図１６のディスクコントローラ追加処理が開始された時点のストレージシステム１３０を示す。この時点で、ＶＯＬ１は、ディスクコントローラ１に割り当てられ、ディスクコントローラ２には割り当てられていない。
【０２２９】
その後、ＶＯＬ１がディスクコントローラ２に割り当てられる（図１６のステップ１６０１）。その結果、図１７（Ｂ）に示すように、ＶＯＬ１は、ディスクコントローラ１及びディスクコントローラ２の両方に割り当てられる。
【０２３０】
上記の追加の結果、ホスト１からディスクコントローラ２を経由してＶＯＬ１に至るパスが追加される。
【０２３１】
この場合、図９のステップ９０８において、ホスト・ストレージ接続情報管理テーブル２０４の行５１２の割り当てボリューム５０４にＶＯＬ１が追加される。
【０２３２】
図１８は、本発明の実施の形態の切り替えコントローラ２０１が実行するペア切り替え処理のフローチャートである。
【０２３３】
ペア切り替え処理は、ボリュームごとの割り当て見直し処理のステップ１００９において切り替えコントローラ２０１によって実行される（図１０参照）。
【０２３４】
最初に、リモートコピーのペアのモードについて説明する。
【０２３５】
リモートコピーのペアの属性には、同期モード及び非同期モードの二つがある。
【０２３６】
ペアが同期モードである場合、ホスト１００が正論理ボリュームへのデータの書き込み要求を発行すると、まず、正論理ボリュームに対象のデータが書き込まれる。次に、副論理ボリュームに対象のデータが転送され、書き込まれる。副論理ボリュームへの書き込みが正常に終了すると、ストレージシステム１３０は、正論理ボリュームにデータが正常に書き込まれたことを示す応答をホスト１００に送信する。
【０２３７】
一方、ペアが非同期モードである場合、ホスト１００が正論理ボリュームへのデータの書き込み要求を発行すると、まず、正論理ボリュームに対象のデータが書き込まれる。その後、副論理ボリュームに対象のデータが転送され、書き込まれる。この転送は、正論理ボリュームにデータが書き込まれた直後に実行されてもよいし、正論理ボリュームと拭く論理ボリュームとを結合するデータの経路が混雑していないとき（例えば、夜間）に実行されてもよい。副論理ボリュームへの書き込みが終了したか否かに関らず、ストレージシステム１３０は、正論理ボリュームにデータが正常に書き込まれたことを示す応答をホスト１００に送信する。
【０２３８】
なお、各ストレージシステム１３０は、ペア情報（図示省略）を格納してもよい。ペア情報は、例えば、メモリ１３３又はメモリ１３９に格納されてもよい。ペア情報には、例えば、そのストレージシステム１３０が格納する論理ボリューム１３５がペアに属するか否かを示す情報、ペアに属する論理ボリューム１３５が正論理ボリューム又は副論理ボリュームのいずれであるかを示す情報、ペアに属する論理ボリューム１３５のペアボリュームを識別する情報、及び、ペアのモードを示す情報を含んでもよい。
【０２３９】
次に、ペア切り替え処理の手順について説明する。
【０２４０】
図１８の説明において、処理の対象の論理ボリューム１３５が属するペアを当該ペアと記載する。さらに、処理の対象の論理ボリューム１３５をペア切り替え元ボリュームと記載する。
【０２４１】
切り替えコントローラ２０１は、最初に、当該ペアが非同期モードであるか否かを判定する（１８０１）。
【０２４２】
ステップ１８０１において、当該ペアが非同期モードでない（すなわち、同期モードである）と判定された場合、当該ペアの正論理ボリューム及び副論理ボリュームのデータが同期している。この場合、処理はステップ１８０４に進む。
【０２４３】
一方、ステップ１８０１において、当該ペアが非同期モードであると判定された場合、当該ペアの正論理ボリューム及び副論理ボリュームのデータが同期していない場合がある。この場合、ペア切り替えを実行する前にデータを同期する必要がある。このため、切り替えコントローラ２０１は、当該ペアを同期モードに変更する（１８０２）。このとき、切り替えコントローラ２０１は、ペア情報として登録されたペアのモードを更新する指示をストレージシステム１３０に送信してもよい。
【０２４４】
次に、切り替えコントローラ２０１は、当該ペアが同期状態（すなわち、正論理ボリュームと副論理ボリュームに同一のデータが格納された状態）になるのを待つ（１８０３）。
【０２４５】
切り替えコントローラ２０１は、当該ペアが同期状態になると、ホスト１００のデバイスリンクマネージャ１０３に、ペア構成情報を送信する（１８０４）。ここで、ペア構成情報は、当該ペアの正論理ボリューム及び副論理ボリュームを識別する情報を含む。
【０２４６】
次に、切り替えコントローラ２０１は、ペアボリューム（すなわち、当該ペアの副論理ボリューム）を、ペア切り替え可能ディスクコントローラ検索処理のステップ１３１１（図１３参照）において返信されたペア切り替え可能なディスクコントローラ１３１に割り当てる（１８０５）。複数のペア切り替え可能なディスクコントローラ１３１がある場合、切り替えコントローラ２０１は、それらの複数のペア切り替え可能なディスクコントローラ１３１にペアボリュームを割り当てる。
【０２４７】
次に、切り替えコントローラ２０１は、ペア切り替え元ボリュームへのアクセスがなくなるのを待つ（１８０６）。
【０２４８】
次に、切り替えコントローラ２０１は、当該ペアを切り替える（１８０７）。すなわち、当該ペアの正論理ボリュームを副論理ボリュームに変更し、副論理ボリュームを正論理ボリュームに変更する。このとき、切り替えコントローラ２０１は、当該ペアの切り替えに従ってペア情報を更新する指示をストレージシステム１３０に送信してもよい。
【０２４９】
次に、切り替えコントローラ２０１は、ペア切り替え元ボリュームとディスクコントローラ１３１との全ての割り当てを解除する（１８０８）。
【０２５０】
以上で、ペア切り替え処理が終了する。
【０２５１】
図１９は、本発明の実施の形態のペア切り替え処理の具体例の説明図である。
【０２５２】
図１９は、例として、ストレージシステム１のＶＯＬ１とストレージシステム２のＶＯＬ２がペアを形成している場合においてペア切り替え処理を実行する処理を示す。したがって、図１９の例では、ＶＯＬ１及びＶＯＬ２からなるペアが当該ペア、ＶＯＬ１がペア切り替え元論理ボリューム１３５、ＶＯＬ２がペアボリュームに相当する。また、ディスクコントローラ３が、図１３のステップ１３１１におけるペア切り替え可能なディスクコントローラ１３１に相当する。
【０２５３】
なお、図１９において、矢印で結合された論理ボリューム１３５がペアを構成する。矢印の元に位置する論理ボリューム１３５が正論理ボリューム、矢印の先に位置する論理ボリューム１３５が副論理ボリュームである。
【０２５４】
図１９（Ａ）は、図１８のペア切り替え処理が開始された時点のストレージシステム１３０を示す。この時点で、ＶＯＬ１（正論理ボリューム）はディスクコントローラ１に割り当てられ、ＶＯＬ２（副論理ボリューム）は、ディスクコントローラ３に割り当てられていない。
【０２５５】
その後、ＶＯＬ２がディスクコントローラ３に割り当てられる（図１８のステップ１８０５）。さらに、ＶＯＬ１が副論理ボリューム、ＶＯＬ２が正論理ボリュームに変更される。その結果、図１９（Ｂ）に示すように、ＶＯＬ２がディスクコントローラ３に割り当てられた正論理ボリュームとなる。
【０２５６】
上記のペア切り替えの結果、ホスト１からディスクコントローラ３を経由してＶＯＬ２に至るパスが追加され、ホスト１からディスクコントローラ１を経由してＶＯＬ１に至るパスが削除される。
【０２５７】
この場合、図１９（Ａ）の時点で、ホスト・ストレージ接続情報管理テーブル２０４の行５１３の割り当てボリューム５０４にＶＯＬ２が登録されていない。その後、図９のステップ９０８において、ホスト・ストレージ接続情報管理テーブル２０４の行５１１の割り当てボリューム５０４からＶＯＬ１が削除される。さらに、行５１３の割り当てボリューム５０４にＶＯＬ２が追加される。さらに、ボリュームペア状態管理テーブル２０５の行６１１の正／副６０４が副に、行６１２の正／副６０４が正に更新される。
【０２５８】
次に、ホスト１００のデバイスリンクマネージャ１０３が実行する処理について説明する。
【０２５９】
なお、既に説明したように、デバイスリンクマネージャ１０３は、ＣＰＵ１０１によって実行されるプログラム及びそのプログラムが参照する情報を含む。したがって、以下の説明においてデバイスリンクマネージャ１０３が実行する処理は、実際には、ＣＰＵ１０１によって実行される。
【０２６０】
図２０は、本発明の実施の形態のデバイスリンクマネージャ１０３がディスクコントローラ１３１の切り替え時に実行する処理のフローチャートである。
【０２６１】
図２０に示す処理は、切り替えコントローラ２０１がディスクコントローラ切り替え処理（図１４及び図１５参照）を実行したときに、デバイスリンクマネージャ１０３が実行する処理である。
【０２６２】
デバイスリンクマネージャ１０３は、最初に、切り替え先のディスクコントローラ１３１に割り当てられた切り替え対象の論理ボリューム１３５を新規デバイスとして検出する（２００１）。このとき、デバイスリンクマネージャ１０３は、ストレージシステム１３０に格納された割り当て情報（図示省略）を参照してもよい。図１５の例では、ディスクコントローラ２が切り替え先のディスクコントローラ１３１、ＶＯＬ１が切り替え対象の論理ボリューム１３５である。
【０２６３】
ホスト１００の上位のプログラム（例えば、アプリケーションプログラム）は、デバイスを論理的な記憶装置として認識する。デバイスは、例えば、いわゆる論理ユニット（ＬＵ）である。
【０２６４】
次に、デバイスリンクマネージャ１０３は、切り替え元のディスクコントローラ１３１と切り替え対象の論理ボリューム１３５との組み合わせによって認識されるデバイスと、切り替え先のディスクコントローラ１３１と切り替え対象の論理ボリューム１３５との組み合わせによって認識されるデバイスとが同一であることを上位のプログラム（例えば、アプリケーションプログラム）に認識させる（２００２）。図１５の例では、ディスクコントローラ１が切り替え元のディスクコントローラ１３１である。
【０２６５】
次に、デバイスリンクマネージャ１０３は、切り替え元のディスクコントローラ１３１と切り替え対象の論理ボリューム１３５との割り当ての解除を検出する（２００３）。この解除は、図１４のステップ１４０３において実行されるものである。
【０２６６】
次に、デバイスリンクマネージャ１０３は、切り替え元のディスクコントローラ１３１と切り替え対象の論理ボリューム１３５との組み合わせによって認識されるデバイスを削除する（２００４）。
【０２６７】
以上で処理を終了する。
【０２６８】
図２１は、本発明の実施の形態のデバイスリンクマネージャ１０３がディスクコントローラ１３１の追加時に実行する処理のフローチャートである。
【０２６９】
図２１に示す処理は、切り替えコントローラ２０１がディスクコントローラ追加処理（図１６及び図１７参照）を実行したときに、デバイスリンクマネージャ１０３が実行する処理である。
【０２７０】
なお、図２１の説明において、ディスクコントローラ１３１の追加が実行される前に論理ボリューム１３５が割り当てられていたディスクコントローラ１３１（図１７の例では、ディスクコントローラ１）を追加元のディスクコントローラと記載する。
【０２７１】
デバイスリンクマネージャ１０３は、最初に、追加先のディスクコントローラ１３１に割り当てられた追加対象の論理ボリューム１３５を新規デバイスとして検出する（２１０１）。図１７の例では、ディスクコントローラ２が追加先のディスクコントローラ１３１、ＶＯＬ１が追加対象の論理ボリューム１３５である。
【０２７２】
次に、デバイスリンクマネージャ１０３は、追加先のディスクコントローラ１３１と追加対象の論理ボリューム１３５との組み合わせによって認識されるデバイスと、追加元のディスクコントローラ１３１と追加対象の論理ボリューム１３５との組み合わせによって認識されるデバイスとが同一であることを上位のプログラム（例えば、アプリケーションプログラム）に認識させる（２１０２）。
【０２７３】
以上で処理を終了する。
【０２７４】
図２２は、本発明の実施の形態のデバイスリンクマネージャ１０３がペア切り替え時に実行する処理のフローチャートである。
【０２７５】
図２２に示す処理は、切り替えコントローラ２０１がペア切り替え処理（図１８及び図１９参照）を実行したときに、デバイスリンクマネージャ１０３が実行する処理である。
【０２７６】
なお、図２２の説明において、切り替え対象のペアを当該ペア、切り替えられる前の当該ペアの正論理ボリュームをペア切り替え対象ボリューム、ペア切り替え対象ボリュームが割り当てられていたディスクコントローラ１３１をペア切り替え元ディスクコントローラ１３１、切り替えられる前の当該ペアの副論理ボリュームをペアボリューム、ペアボリュームが割り当てられるディスクコントローラ１３１をペア切り替え先ディスクコントローラ１３１と記載する。図１９の例において、ＶＯＬ１がペア切り替え対象ボリューム、ディスクコントローラ１がペア切り替え元ディスクコントローラ１３１、ＶＯＬ２がペアボリューム、ディスクコントローラ３がペア切り替え先ディスクコントローラ１３１である。
【０２７７】
デバイスリンクマネージャ１０３は、最初に、ストレージマネージャ１１３の切り替えコントローラ２０１から、当該ペアに関するペア構成情報を受信する（２２０１）。この構成情報は、図１８のステップ１８０４において送信されたものである。
【０２７８】
次に、デバイスリンクマネージャ１０３は、ペア切り替え先ディスクコントローラ１３１に割り当てられたペアボリュームを新規デバイスとして検出する（２２０２）。ここで、ペア切り替え先のディスクコントローラ１３１とは、図１８のステップ１８０５におけるペア切り替え可能なディスクコントローラ１３１である。また、ペアボリュームとは、図１８のステップ１８０５におけるペアボリュームである。
【０２７９】
次に、デバイスリンクマネージャ１０３は、ペア切り替え対象ボリューム及びペア切り替え元ディスクコントローラ１３１の組み合わせによって認識されるデバイスと、ペアボリューム及びペア切り替え先ディスクコントローラ１３１の組み合わせによって認識されるデバイスとが同一であることを上位のプログラム（例えば、アプリケーションプログラム）に認識させる（２２０３）。
【０２８０】
次に、デバイスリンクマネージャ１０３は、ペア切り替え元ディスクコントローラ１３１とペア切り替え対象ボリュームとの割り当ての解除を検出する（２２０４）。この解除は、図１８のステップ１８０８において実行されるものである。
【０２８１】
次に、デバイスリンクマネージャ１０３は、ペア切り替え元のディスクコントローラ１３１とペア切り替え対象ボリュームとの組み合わせによって認識されるデバイスを削除する（２２０５）。
【０２８２】
以上で処理を終了する。
【０２８３】
以上の本発明の実施の形態において、ストレージマネージャ１１３は、ＩＰネットワーク１５０に接続された管理サーバ１１０に格納され、管理サーバ１１０のＣＰＵ１１１によって実行される。しかし、ストレージマネージャ１１３は、ＦＣ−ＳＷ１２０に格納され、ＦＣ−ＳＷ１２０のＣＰＵ（図示省略）によって実行されてもよい。この場合において、ストレージマネージャ１１３がホスト１００又はストレージシステム１３０に対して指示又はデータ等を送受信する場合、その送受信は、ＳＡＮを経由して（すなわち、インバンドで）実行される。
【０２８４】
あるいは、ストレージマネージャ１１３は、一つのストレージシステム１３０に格納され、ＣＰＵ１３２又はＣＰＵ１３８によって実行されてもよい。この場合も、データ等はインバンドで送受信される。
【０２８５】
あるいは、ストレージマネージャ１１３は、全てのストレージシステム１３０に格納され、ＣＰＵ１３２又はＣＰＵ１３８によって実行されてもよい。この場合、各ストレージシステム１３０は、そのストレージシステム１３０についての情報のみを管理し、その情報をＳＡＮを経由して相互に通信することによって、その情報を共有してもよい。この場合も、データ等はインバンドで送受信される。
【０２８６】
以上の本発明の実施の形態によれば、ストレージマネージャ１１３は、各ディスクコントローラ１３１のアクセス負荷を監視し、アクセス負荷が集中している（すなわち、アクセス負荷が適切に分散されていない）と判定した場合、論理ボリューム１３５のディスクコントローラ１３１に対する割り当てを変更する。ここで、割り当ての変更とは、ディスクコントローラ１３１の切り替え又は追加である。あるいは、ストレージマネージャ１１３は、論理ボリューム１３５が属するペアを切り替える。その結果、ホスト１００から論理ボリューム１３５に至る新たなパスが設定され、あるいは、設定されていたパスが削除される。ホスト１００のデバイスリンクマネージャ１０３が、新たなパスにアクセスを割り当てることによって、ホスト１００によるアクセス負荷が計算機システム全体に適切に分散される。
【図面の簡単な説明】
【０２８７】
【図１】本発明の実施の形態の計算機システムの構成を示すブロック図である。
【図２】本発明の実施の形態のストレージマネージャの説明図である。
【図３】本発明の実施の形態の性能情報管理テーブルの説明図である。
【図４】本発明の実施の形態のボリューム情報管理テーブルの説明図である。
【図５】本発明の実施の形態のホスト・ストレージ接続情報管理テーブルの説明図である。
【図６】本発明の実施の形態のボリュームペア状態管理テーブルの説明図である。
【図７】本発明の実施の形態のディスクコントローラへの論理ボリュームの割り当て処理の説明図である。
【図８】本発明の実施の形態の切り替えコントローラが実行する割り当て見直し実行判定処理のフローチャートである。
【図９】本発明の実施の形態の切り替えコントローラが実行する割り当て見直し処理のフローチャートである。
【図１０】本発明の実施の形態の切り替えコントローラが実行するボリュームごとの割り当て見直し処理のフローチャートである。
【図１１】本発明の実施の形態の切り替えコントローラが実行する切り替え可能ディスクコントローラ検索処理のフローチャートである。
【図１２】本発明の実施の形態の切り替えコントローラが実行する追加可能ディスクコントローラ検索処理のフローチャートである。
【図１３】本発明の実施の形態の切り替えコントローラが実行するペア切り替え可能ディスクコントローラ検索処理のフローチャートである。
【図１４】本発明の実施の形態の切り替えコントローラが実行するディスクコントローラ切り替え処理のフローチャートである。
【図１５】本発明の実施の形態のディスクコントローラ切り替え処理の具体例の説明図である。
【図１６】本発明の実施の形態の切り替えコントローラが実行するディスクコントローラ追加処理のフローチャートである。
【図１７】本発明の実施の形態のディスクコントローラ追加処理の具体例の説明図である。
【図１８】本発明の実施の形態の切り替えコントローラが実行するペア切り替え処理のフローチャートである。
【図１９】本発明の実施の形態のペア切り替え処理の具体例の説明図である。
【図２０】本発明の実施の形態のデバイスリンクマネージャがディスクコントローラの切り替え時に実行する処理のフローチャートである。
【図２１】本発明の実施の形態のデバイスリンクマネージャがディスクコントローラの追加時に実行する処理のフローチャートである。
【図２２】本発明の実施の形態のデバイスリンクマネージャがペア切り替え時に実行する処理のフローチャートである。
【符号の説明】
【０２８８】
１００  ホスト
１０１、１１１、１３２、１３８  ＣＰＵ
１０２、１１２、１３３、１３９  メモリ
１０３  デバイスリンクマネージャ
１０４  アダプタ
１０５、１１４、１４２  ネットワークインターフェース（Ｉ／Ｆ）
１１０  管理サーバ
１１３  ストレージマネージャ
１２０  ファイバチャネルスイッチ（ＦＣ−ＳＷ）
１２１、１３６  ポート
１３０  ストレージシステム
１３１  ディスクコントローラ
１３４  キャッシュメモリ
１３５  論理ボリューム
１３７  ストレージコントローラ
１４０  コントローラ性能情報
１４１  ボリューム管理情報
１５０  ＩＰネットワーク
【図１】
0004790372.tif 000002
【図２】
0004790372.tif 000003
【図３】
0004790372.tif 000004
【図４】
0004790372.tif 000005
【図５】
0004790372.tif 000006
【図６】
0004790372.tif 000007
【図７】
0004790372.tif 000008
【図８】
0004790372.tif 000009
【図９】
0004790372.tif 000010
【図１０】
0004790372.tif 000011
【図１１】
0004790372.tif 000012
【図１２】
0004790372.tif 000013
【図１３】
0004790372.tif 000014
【図１４】
0004790372.tif 000015
【図１５】
0004790372.tif 000016
【図１６】
0004790372.tif 000017
【図１７】
0004790372.tif 000018
【図１８】
0004790372.tif 000019
【図１９】
0004790372.tif 000020
【図２０】
0004790372.tif 000021
【図２１】
0004790372.tif 000022
【図２２】
0004790372.tif 000023