(57)【要約】【課題】ストレージシステムの現状に合わせて、各ホストパスを評価し直し、優先順位を再設定できるようにする。【解決手段】管理コンピュータ４００は、ストレージシステム内で構成変更または障害が発生した場合に、第１通信ネットワーク５００の状態と第２通信ネットワーク６００の状態とに応じて、各ホストパス５０１−５０６を評価する。管理コンピュータ４００は、それら評価結果に基づいて、各ホストパスの優先順位を再設定する。設定された各優先順位は、ホスト１００の交替パスプログラム１１２に通知される。【選択図】図１
2012531654.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータに第１通信ネットワークを介して接続される第１ストレージ装置と、前記ホストコンピュータに前記第１通信ネットワークを介して接続され、かつ、前記第１ストレージ装置に通信可能に接続される第２ストレージ装置と、前記第１ストレージ装置及び前記第２ストレージ装置に第２通信ネットワークを介して接続される第３ストレージ装置と、前記ホストコンピュータと前記第１ストレージ装置と前記第２ストレージ装置と前記第３ストレージ装置とに通信可能に接続される管理コンピュータと、を含むストレージシステムであって、
前記第１ストレージ装置は、前記ホストコンピュータにより使用可能に設けられる第１論理ボリュームと、前記第１論理ボリュームのデータを一時的に記憶する第１キャッシュメモリと、前記ホストコンピュータと前記第１論理ボリュームとを接続するために前記第１通信ネットワーク上に設けられる複数の第１通信パスと、を備えており、
前記第２ストレージ装置は、前記ホストコンピュータにより使用可能に設けられ、前記第１論理ボリュームとコピーペアを形成する第２論理ボリュームと、前記第２論理ボリュームのデータを一時的に記憶する第２キャッシュメモリと、前記ホストコンピュータと前記第２論理ボリュームとを接続するために前記第１通信ネットワーク上に設けられる複数の第２通信パスと、を備えており、
前記第３ストレージ装置は、前記第１論理ボリューム及び前記第２論理ボリュームに対応付けられる第３論理ボリュームであって、前記第１論理ボリュームの仮想的な記憶領域及び前記第２論理ボリュームの仮想的な記憶領域に共通に対応付けられる実記憶領域を有し、前記第１論理ボリューム及び前記第２論理ボリュームに書き込まれるデータを記憶する第３論理ボリュームを、備えており、
前記管理コンピュータは、
前記第１通信ネットワークの状態と前記第２通信ネットワークの状態とに基づいて、前記各第１通信パスの各第１優先順位と前記各第２通信パスの各第２優先順位とをそれぞれ設定し、
設定された前記各第１優先順位及び前記各第２優先順位を、前記ホストコンピュータまたは、前記管理コンピュータを利用する管理者に通知させる、
ストレージシステム。
【請求項２】
（１）前記第１ストレージ装置は、
前記ホストコンピュータから受信したライトデータを、前記第１キャッシュメモリに記憶させた後、前記第２キャッシュメモリに転送して記憶させ、
さらに、前記第１キャッシュメモリに記憶された前記ライトデータを前記第３論理ボリュームに転送して記憶させ、
前記ライトデータが前記第３論理ボリュームに記憶された旨を前記第２ストレージ装置に通知することにより、前記第１キャッシュメモリの記憶内容と前記第２キャッシュメモリの記憶内容とを同期させるようになっており、
（２）前記管理コンピュータは、
前記第１ストレージ装置または前記第２ストレージ装置または前記第３ストレージ装置のいずれかに、構成変更または障害が発生した場合に、前記第１通信ネットワークの状態と前記第２通信ネットワークの状態とを取得し、
前記各第１通信パス及び前記各第２通信パスのそれぞれについて算出される評価値と前記各第１優先順位及び前記各第２優先順位との関係を示す複数の通信パス評価テーブルのうち選択される一つの通信パス評価テーブルに基づいて、前記各第１優先順位及び前記各第２優先順位を、前記各第１通信パス及び前記各第２通信パスのうち現在使用されている側の通信パスが優先されるようにしてそれぞれ設定し、
設定される前記各第１優先順位及び前記各第２優先順位を前記第１ストレージ装置及び前記第２ストレージ装置に通知し、
（３）前記第１ストレージ装置は、
前記管理コンピュータから通知される前記各第１優先順位を記憶し、前記ホストコンピュータが前記各第１通信パスの状態を問い合わせた場合に、その問い合わせに関する前記第１優先順位を前記ホストコンピュータに通知し、
（４）前記第２ストレージ装置は、
前記管理コンピュータから通知される前記各第２優先順位を記憶し、前記ホストコンピュータが前記各第２通信パスの状態を問い合わせた場合に、その問い合わせに関する前記第２優先順位を前記ホストコンピュータに通知し、
（５）ホストコンピュータは、
定期的にまたは指示に応じて、前記各第１通信パスの状態について前記第１ストレージ装置に問い合わせ、かつ、前記各第２通信パスの状態について前記第２ストレージ装置に問い合わせ、
前記第１ストレージ装置から受信される前記各第１優先順位と前記第２ストレージ装置から受信される前記各第２優先順位とに基づいて、最も順位の高い通信パスを選択して使用するようになっており、
（６）さらに、前記管理コンピュータは、
前記ホストコンピュータから要求されるデータが前記第１キャッシュメモリに記憶されている率を示すキャッシュヒット率が所定値未満の場合、前記各通信パス評価テーブルに含まれる第１評価テーブルを選択し、
前記キャッシュヒット率が前記所定値以上の場合、前記各通信パス評価テーブルに含まれる第２評価テーブルを選択し、
（７）前記第１評価テーブルは、
前記各第１通信パス及び前記各第２通信パスのうち現在使用されているアクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１アクティブ通信パスの優先順位が最も高くなるように、さらに、
前記各第１通信パス及び前記各第２通信パスのうち現在使用されていないパッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１パッシブ通信パスの優先順位が最も低くなるように、さらに、
前記第１アクティブ通信パス及び前記第１パッシブ通信パス以外の他の通信パスが閉塞されるように、
構成されており、
（８）前記第２評価テーブルは、
前記アクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１のアクティブ通信パスの優先順位が最も高くなるように、さらに、
前記アクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態は正常であり、かつ、前記第２通信ネットワークに間欠障害が発生している、第２のアクティブ通信パスの優先順位が次に高くなるように、さらに、
前記パッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１のパッシブ通信パスの優先順位がその次に高くなるように、さらに、
前記パッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態は正常であり、かつ、前記第２通信ネットワークに前記間欠障害が発生している、第２のパッシブ通信パスの優先順位が最も低くなるように、さらに、
前記第１アクティブ通信パスと前記第２アクティブ通信パスと前記第１パッシブ通信パスと前記第２パッシブ通信パス以外の他の通信パスが閉塞されるように、
構成されている、
請求項１に記載のストレージシステム。
【請求項３】
前記管理コンピュータは、前記設定された前記各第１優先順位を前記第１ストレージ装置に送信して記憶させ、かつ、前記設定された前記各第２優先順位を前記第２ストレージ装置に送信して記憶させ、
前記第１ストレージ装置は、前記ホストコンピュータが前記各第１通信パスの状態を問い合わせた場合に、前記各第１優先順位を前記ホストコンピュータに通知し、
前記第２ストレージ装置は、前記ホストコンピュータが前記各第２通信パスの状態を問い合わせた場合に、前記各第２優先順位を前記ホストコンピュータに通知し、
前記ホストコンピュータは、前記第１ストレージ装置から通知される前記各第１優先順位と前記第２ストレージ装置から通知される前記各第２優先順位とに基づいて、使用する通信パスを選択する、
請求項１に記載のストレージシステム。
【請求項４】
前記管理コンピュータは、
前記第１ストレージ装置または前記第２ストレージ装置または前記第３ストレージ装置のいずれかに、構成変更または障害が発生した場合に、前記第１通信ネットワークの状態と前記第２通信ネットワークの状態とを取得し、
それら取得された前記第１通信ネットワークの状態と前記第２通信ネットワークの状態とに基づいて、前記各第１通信パスの各第１優先順位と前記各第２通信パスの各第２優先順位とをそれぞれ設定し、
設定された前記各第１優先順位及び前記各第２優先順位を、前記ホストコンピュータに通知させる、
請求項３に記載のストレージシステム。
【請求項５】
前記管理コンピュータは、
前記各第１通信パス及び前記各第２通信パスのそれぞれについて算出される評価値と前記各第１優先順位及び前記各第２優先順位との関係を示す通信パス評価テーブルに基づいて、前記各第１優先順位及び前記各第２優先順位を、前記各第１通信パス及び前記各第２通信パスのうち現在使用されている側の通信パスが優先されるようにしてそれぞれ設定する、請求項３に記載のストレージシステム。
【請求項６】
前記各通信パス評価テーブルには、第１評価テーブルと、第２評価テーブルとが含まれており、
前記管理コンピュータは、前記ホストコンピュータから要求されるデータが前記第１キャッシュメモリに記憶されている率を示すキャッシュヒット率が所定値未満の場合、前記各通信パス評価テーブルに含まれる第１評価テーブルを選択し、前記キャッシュヒット率が前記所定値以上の場合、前記各通信パス評価テーブルに含まれる第２評価テーブルを選択する、
請求項５に記載のストレージシステム。
【請求項７】
前記第１評価テーブルは、
前記各第１通信パス及び前記各第２通信パスのうち現在使用されているアクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１アクティブ通信パスの優先順位が最も高くなるように、さらに、
前記各第１通信パス及び前記各第２通信パスのうち現在使用されていないパッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１パッシブ通信パスの優先順位が最も低くなるように、さらに、
前記第１アクティブ通信パス及び前記第１パッシブ通信パス以外の他の通信パスが閉塞されるように、
構成されており、
前記第２評価テーブルは、
前記アクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１のアクティブ通信パスの優先順位が最も高くなるように、さらに、
前記アクティブ側の通信パスであって、かつ、前記第１通信ネットワークの状態は正常であり、かつ、前記第２通信ネットワークに間欠障害が発生している、第２のアクティブ通信パスの優先順位が次に高くなるように、さらに、
前記パッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態及び前記第２通信ネットワークの状態がそれぞれ正常である、第１のパッシブ通信パスの優先順位がその次に高くなるように、さらに、
前記パッシブ側の通信パスであって、かつ、前記第１通信ネットワークの状態は正常であり、かつ、前記第２通信ネットワークに前記間欠障害が発生している、第２のパッシブ通信パスの優先順位が最も低くなるように、さらに、
前記第１アクティブ通信パスと前記第２アクティブ通信パスと前記第１パッシブ通信パスと前記第２パッシブ通信パス以外の他の通信パスが閉塞されるように、
構成されている、請求項６に記載のストレージシステム。
【請求項８】
前記管理コンピュータは、前記各第１優先順位及び前記各第２優先順位を、前記各第１通信パス及び前記各第２通信パスのうち現在使用されている側の通信パスが優先されるようにして設定する、請求項３に記載のストレージシステム。
【請求項９】
前記管理コンピュータは、前記第１ストレージ装置または前記第２ストレージ装置のいずれか一方に設けられる、請求項３に記載のストレージシステム。
【請求項１０】
前記管理コンピュータは、設定された前記各第１優先順位及び前記各第２優先順位を、前記ホストコンピュータに送信する、請求項１に記載のストレージシステム。
【請求項１１】
ホストコンピュータに第１通信ネットワークを介して接続される第１ストレージ装置と、前記ホストコンピュータに前記第１通信ネットワークを介して接続され、かつ、前記第１ストレージ装置に通信可能に接続される第２ストレージ装置と、前記第１ストレージ装置及び前記第２ストレージ装置に第２通信ネットワークを介して接続される第３ストレージ装置と、前記ホストコンピュータと前記第１ストレージ装置と前記第２ストレージ装置と前記第３ストレージ装置とに通信可能に接続される管理コンピュータとを備えるストレージシステムの通信パス管理方法であって、
前記第１ストレージ装置は、前記ホストコンピュータにより使用可能に設けられる第１論理ボリュームと、前記ホストコンピュータと前記第１論理ボリュームとを接続するために前記第１通信ネットワーク上に設けられる複数の第１通信パスと、を備え、
前記第２ストレージ装置は、前記ホストコンピュータにより使用可能に設けられ、前記第１論理ボリュームとコピーペアを形成する第２論理ボリュームと、前記ホストコンピュータと前記第２論理ボリュームとを接続するために前記第１通信ネットワーク上に設けられる複数の第２通信パスと、を備え、
前記第３ストレージ装置は、前記第１論理ボリューム及び前記第２論理ボリュームに対応付けられる第３論理ボリュームであって、前記第１論理ボリュームの仮想的な記憶領域及び前記第２論理ボリュームの仮想的な記憶領域に共通に対応付けられる実記憶領域を有し、前記第１論理ボリューム及び前記第２論理ボリュームに書き込まれるデータを記憶する第３論理ボリュームを、備えており、
前記管理コンピュータは、
前記第１通信ネットワークの状態と前記第２通信ネットワークの状態とに基づいて、前記各第１通信パスの各第１優先順位と前記各第２通信パスの各第２優先順位とをそれぞれ設定し、
設定された前記各第１優先順位を前記第１ストレージ装置に送信して記憶させ、
設定された前記各第２優先順位を前記第２ストレージ装置に送信して記憶させ、
前記第１ストレージ装置は、前記ホストコンピュータが前記各第１通信パスの状態を問い合わせた場合に、前記各第１優先順位を前記ホストコンピュータに通知し、
前記第２ストレージ装置は、前記ホストコンピュータが前記各第２通信パスの状態を問い合わせた場合に、前記各第２優先順位を前記ホストコンピュータに通知し、
前記ホストコンピュータは、前記第１ストレージ装置から通知される前記各第１優先順位と前記第２ストレージ装置から通知される前記各第２優先順位とに基づいて、使用する通信パスを選択する、
ストレージシステムの通信パス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムの通信パス管理方法に関するものである。
【背景技術】
【０００２】
ストレージシステムの可用性を向上するために、ホストコンピュータ（以下、ホスト）上の業務プログラムが利用するボリュームについて、複数のストレージ装置間でコピーペアを組む。コピー先ストレージ装置は、コピー先ボリュームにアクセスするための通信パス（以下、ホストパスとも呼ぶ）をコピー元ボリュームにアクセスするためのホストパスとして、ホスト上の交替パスソフトウェアに認識させる。交替パスソフトウェアは、ボリュームにアクセスするために利用できる複数のホストパスのうちいずれのホストパスを使用するかを制御する。
【０００３】
被災や管理者の人的ミスにより、コピー元ボリュームへの全ホストパスが閉塞した場合、交替パスソフトウェアのパス切替機能により、コピー元ボリュームへのホストパスからコピー先ボリュームへのホストパスに切り替えさせる。これにより、業務を継続させるようにした高可用性のコンピュータシステムが提案されている（特許文献１）。
【０００４】
一方、コピー元ボリュームの通信ポートの帯域幅の設定変更、または、コピー元ボリュームに割り当るキャッシュ容量の設定変更等のように、コピー元ボリュームのアクセス性能に影響を及ぼす構成変更が要求される場合がある。この場合、コピー元ボリュームの構成変更に合わせてコピー先ボリュームの構成も変更させる。これにより、コピー先ボリュームとコピー元ボリュームとは、同一の構成を備えることになる。従って、コピー元ボリュームからコピー先ボリュームへのフェールオーバーが生じた場合でも、コピー元ボリューム利用時と同じアクセス性能を保証できる技術も提案されている（特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１１８７４号公報
【特許文献２】特開２００９−０３２０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、ホストと各ストレージ装置との間の接続の冗長性を向上させるために、ホストと各ストレージ装置との間に、それぞれ複数のホストパスが設定される。さらに、ホスト上の交替パスソフトウェアは、ストレージ装置から通知される切り替え優先情報に基づいて、各ホストパスの切り替え順序を定める。切り替え優先情報は、ストレージ装置からホストに送信される、ボリュームのデバイス情報の中に含まれる。ボリュームのデバイス情報は、ホスト上のオペレーティングシステム（以下、ＯＳ：Operating System）またはネットワークインターフェースのドライバが、ストレージ装置内のボリュームを検出した際に、ストレージ装置からホストパスを介して通知される。
【０００７】
コピー元ストレージ装置からコピー先ストレージ装置へのフェールオーバーの発生をできるだけ抑制するために、切替え優先情報は、コピー元ボリュームへのホストパスをコピー先ボリュームへのホストパスより優先するように設定される。
【０００８】
障害や管理者の人為的ミスによって、コピー元ボリュームが利用できなくなると、交替パスソフトウェアは、コピー元ボリュームに繋がる複数のホストパスを順番に切り替えて使用する。交替パスソフトウェアは、優先度の高いホストパスから順番に、Ｉ／Ｏ（Input/Output）コマンドを発行していくことにより、そのホストパスが使用できるか否かを試していく。
【０００９】
交替パスソフトウェアは、コピー元ボリュームに繋がる全てのホストパスが使用できないと判断した場合、コピー先ボリュームに繋がる別のホストパス群に切り替える。しかし、コピー元ボリュームの全てのホストパスを試し終えるまで時間がかかるため、Ｉ／Ｏタイムエラーが発生して、業務プログラムが停止する可能性がある。
【００１０】
そこで、本発明の目的は、ストレージシステムの現状に合わせて、複数の通信パスの各優先順位を動的に設定できるようにしたストレージシステム及びストレージシステムの通信パス管理方法を提供することにある。本発明の他の目的は、各通信パスについて設定された各優先順位を各ストレージ装置内に保持させ、ホストコンピュータからの問い合わせに応じて通知させることができるようにしたストレージシステム及びストレージシステムの通信パス管理方法を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【００１１】
上記課題を解決すべく、本発明の第１観点に従うストレージシステムは、ホストコンピュータに第１通信ネットワークを介して接続される第１ストレージ装置と、ホストコンピュータに第１通信ネットワークを介して接続され、かつ、第１ストレージ装置に通信可能に接続される第２ストレージ装置と、第１ストレージ装置及び第２ストレージ装置に第２通信ネットワークを介して接続される第３ストレージ装置と、ホストコンピュータと第１ストレージ装置と第２ストレージ装置と第３ストレージ装置とに通信可能に接続される管理コンピュータと、を含むストレージシステムであって、第１ストレージ装置は、ホストコンピュータにより使用可能に設けられる第１論理ボリュームと、第１論理ボリュームのデータを一時的に記憶する第１キャッシュメモリと、ホストコンピュータと第１論理ボリュームとを接続するために第１通信ネットワーク上に設けられる複数の第１通信パスと、を備えており、第２ストレージ装置は、ホストコンピュータにより使用可能に設けられ、第１論理ボリュームとコピーペアを形成する第２論理ボリュームと、第２論理ボリュームのデータを一時的に記憶する第２キャッシュメモリと、ホストコンピュータと第２論理ボリュームとを接続するために第１通信ネットワーク上に設けられる複数の第２通信パスと、を備えており、第３ストレージ装置は、第１論理ボリューム及び第２論理ボリュームに対応付けられる第３論理ボリュームであって、第１論理ボリュームの仮想的な記憶領域及び第２論理ボリュームの仮想的な記憶領域に共通に対応付けられる実記憶領域を有し、第１論理ボリューム及び第２論理ボリュームに書き込まれるデータを記憶する第３論理ボリュームを、備えており、管理コンピュータは、第１通信ネットワークの状態と第２通信ネットワークの状態とに基づいて、各第１通信パスの各第１優先順位と各第２通信パスの各第２優先順位とをそれぞれ設定し、設定された各第１優先順位及び各第２優先順位を、ホストコンピュータまたは、前記管理コンピュータを利用する管理者に通知させる。
【００１２】
第２観点では、第１観点において、（１）第１ストレージ装置は、ホストコンピュータから受信したライトデータを、第１キャッシュメモリに記憶させた後、第２キャッシュメモリに転送して記憶させ、さらに、第１キャッシュメモリに記憶されたライトデータを第３論理ボリュームに転送して記憶させ、ライトデータが第３論理ボリュームに記憶された旨を第２ストレージ装置に通知することにより、第１キャッシュメモリの記憶内容と第２キャッシュメモリの記憶内容とを同期させるようになっており、（２）管理コンピュータは、第１ストレージ装置または第２ストレージ装置または第３ストレージ装置のいずれかに、構成変更または障害が発生した場合に、第１通信ネットワークの状態と第２通信ネットワークの状態とを取得し、各第１通信パス及び各第２通信パスのそれぞれについて算出される評価値と各第１優先順位及び各第２優先順位との関係を示す複数の通信パス評価テーブルのうち選択される一つの通信パス評価テーブルに基づいて、各第１優先順位及び各第２優先順位を、各第１通信パス及び各第２通信パスのうち現在使用されている側の通信パスが優先されるようにしてそれぞれ設定し、設定される各第１優先順位及び各第２優先順位を第１ストレージ装置及び第２ストレージ装置に通知し、（３）第１ストレージ装置は、管理コンピュータから通知される各第１優先順位を記憶し、ホストコンピュータが各第１通信パスの状態を問い合わせた場合に、その問い合わせに関する第１優先順位をホストコンピュータに通知し、（４）第２ストレージ装置は、管理コンピュータから通知される各第２優先順位を記憶し、ホストコンピュータが各第２通信パスの状態を問い合わせた場合に、その問い合わせに関する第２優先順位をホストコンピュータに通知し、（５）ホストコンピュータは、定期的にまたは指示に応じて、各第１通信パスの状態について第１ストレージ装置に問い合わせ、かつ、各第２通信パスの状態について第２ストレージ装置に問い合わせ、第１ストレージ装置から受信される各第１優先順位と第２ストレージ装置から受信される各第２優先順位とに基づいて、最も順位の高い通信パスを選択して使用するようになっており、（６）さらに、管理コンピュータは、ホストコンピュータから要求されるデータが第１キャッシュメモリに記憶されている率を示すキャッシュヒット率が所定値未満の場合、各通信パス評価テーブルに含まれる第１評価テーブルを選択し、キャッシュヒット率が所定値以上の場合、各通信パス評価テーブルに含まれる第２評価テーブルを選択し、（７）第１評価テーブルは、各第１通信パス及び各第２通信パスのうち現在使用されているアクティブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１アクティブ通信パスの優先順位が最も高くなるように、さらに、各第１通信パス及び各第２通信パスのうち現在使用されていないパッシブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１パッシブ通信パスの優先順位が最も低くなるように、さらに、第１アクティブ通信パス及び第１パッシブ通信パス以外の他の通信パスが閉塞されるように、構成されており、（８）第２評価テーブルは、アクティブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１のアクティブ通信パスの優先順位が最も高くなるように、さらに、アクティブ側の通信パスであって、かつ、第１通信ネットワークの状態は正常であり、かつ、第２通信ネットワークに間欠障害が発生している、第２のアクティブ通信パスの優先順位が次に高くなるように、さらに、パッシブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１のパッシブ通信パスの優先順位がその次に高くなるように、さらに、パッシブ側の通信パスであって、かつ、第１通信ネットワークの状態は正常であり、かつ、第２通信ネットワークに間欠障害が発生している、第２のパッシブ通信パスの優先順位が最も低くなるように、さらに、第１アクティブ通信パスと第２アクティブ通信パスと第１パッシブ通信パスと第２パッシブ通信パス以外の他の通信パスが閉塞されるように、構成されている。
【００１３】
第３観点では、第１観点において、管理コンピュータは、設定された各第１優先順位を第１ストレージ装置に送信して記憶させ、かつ、設定された各第２優先順位を第２ストレージ装置に送信して記憶させ、第１ストレージ装置は、ホストコンピュータが各第１通信パスの状態を問い合わせた場合に、各第１優先順位をホストコンピュータに通知し、第２ストレージ装置は、ホストコンピュータが各第２通信パスの状態を問い合わせた場合に、各第２優先順位をホストコンピュータに通知し、ホストコンピュータは、第１ストレージ装置から通知される各第１優先順位と第２ストレージ装置から通知される各第２優先順位とに基づいて、使用する通信パスを選択する。
【００１４】
第４観点では、第３観点において、管理コンピュータは、第１ストレージ装置または第２ストレージ装置または第３ストレージ装置のいずれかに、構成変更または障害が発生した場合に、第１通信ネットワークの状態と第２通信ネットワークの状態とを取得し、それら取得された第１通信ネットワークの状態と第２通信ネットワークの状態とに基づいて、各第１通信パスの各第１優先順位と各第２通信パスの各第２優先順位とをそれぞれ設定し、設定された各第１優先順位及び各第２優先順位を、ホストコンピュータに通知させるようになっている。
【００１５】
第５観点では、第３観点において、管理コンピュータは、各第１通信パス及び各第２通信パスのそれぞれについて算出される評価値と各第１優先順位及び各第２優先順位との関係を示す通信パス評価テーブルに基づいて、各第１優先順位及び各第２優先順位を、各第１通信パス及び各第２通信パスのうち現在使用されている側の通信パスが優先されるようにしてそれぞれ設定する。
【００１６】
第６観点では、第５観点において、各通信パス評価テーブルには、第１評価テーブルと、第２評価テーブルとが含まれており、管理コンピュータは、ホストコンピュータから要求されるデータが第１キャッシュメモリに記憶されている率を示すキャッシュヒット率が所定値未満の場合、各通信パス評価テーブルに含まれる第１評価テーブルを選択し、キャッシュヒット率が所定値以上の場合、各通信パス評価テーブルに含まれる第２評価テーブルを選択する。
【００１７】
第７観点では、第６観点において、第１評価テーブルは、各第１通信パス及び各第２通信パスのうち現在使用されているアクティブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１アクティブ通信パスの優先順位が最も高くなるように、さらに、各第１通信パス及び各第２通信パスのうち現在使用されていないパッシブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１パッシブ通信パスの優先順位が最も低くなるように、さらに、第１アクティブ通信パス及び第１パッシブ通信パス以外の他の通信パスが閉塞されるように、構成されており、第２評価テーブルは、アクティブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１のアクティブ通信パスの優先順位が最も高くなるように、さらに、アクティブ側の通信パスであって、かつ、第１通信ネットワークの状態は正常であり、かつ、第２通信ネットワークに間欠障害が発生している、第２のアクティブ通信パスの優先順位が次に高くなるように、さらに、パッシブ側の通信パスであって、かつ、第１通信ネットワークの状態及び第２通信ネットワークの状態がそれぞれ正常である、第１のパッシブ通信パスの優先順位がその次に高くなるように、さらに、パッシブ側の通信パスであって、かつ、第１通信ネットワークの状態は正常であり、かつ、第２通信ネットワークに間欠障害が発生している、第２のパッシブ通信パスの優先順位が最も低くなるように、さらに、第１アクティブ通信パスと第２アクティブ通信パスと第１パッシブ通信パスと第２パッシブ通信パス以外の他の通信パスが閉塞されるように、構成されている。
【００１８】
第８観点では、第３観点において、管理コンピュータは、各第１優先順位及び各第２優先順位を、各第１通信パス及び各第２通信パスのうち現在使用されている側の通信パスが優先されるようにして設定する。
【００１９】
第９観点では、第３観点において、管理コンピュータは、第１ストレージ装置または第２ストレージ装置のいずれか一方に設けられる。
【００２０】
第１０観点では、第１観点において、管理コンピュータは、設定された各第１優先順位及び各第２優先順位を、ホストコンピュータに送信する。
【００２１】
第１１観点に従うストレージシステムの通信パス管理方法は、ホストコンピュータに第１通信ネットワークを介して接続される第１ストレージ装置と、ホストコンピュータに第１通信ネットワークを介して接続され、かつ、第１ストレージ装置に通信可能に接続される第２ストレージ装置と、第１ストレージ装置及び第２ストレージ装置に第２通信ネットワークを介して接続される第３ストレージ装置と、ホストコンピュータと第１ストレージ装置と第２ストレージ装置と第３ストレージ装置とに通信可能に接続される管理コンピュータとを備えるストレージシステムの通信パス管理方法であって、第１ストレージ装置は、ホストコンピュータにより使用可能に設けられる第１論理ボリュームと、ホストコンピュータと第１論理ボリュームとを接続するために第１通信ネットワーク上に設けられる複数の第１通信パスと、を備え、第２ストレージ装置は、ホストコンピュータにより使用可能に設けられ、第１論理ボリュームとコピーペアを形成する第２論理ボリュームと、ホストコンピュータと第２論理ボリュームとを接続するために第１通信ネットワーク上に設けられる複数の第２通信パスと、を備え、第３ストレージ装置は、第１論理ボリューム及び第２論理ボリュームに対応付けられる第３論理ボリュームであって、第１論理ボリュームの仮想的な記憶領域及び第２論理ボリュームの仮想的な記憶領域に共通に対応付けられる実記憶領域を有し、第１論理ボリューム及び第２論理ボリュームに書き込まれるデータを記憶する第３論理ボリュームを、備えており、管理コンピュータは、第１通信ネットワークの状態と第２通信ネットワークの状態とに基づいて、各第１通信パスの各第１優先順位と各第２通信パスの各第２優先順位とをそれぞれ設定し、設定された各第１優先順位を第１ストレージ装置に送信して記憶させ、設定された各第２優先順位を第２ストレージ装置に送信して記憶させ、第１ストレージ装置は、ホストコンピュータが各第１通信パスの状態を問い合わせた場合に、各第１優先順位をホストコンピュータに通知し、第２ストレージ装置は、ホストコンピュータが各第２通信パスの状態を問い合わせた場合に、各第２優先順位をホストコンピュータに通知し、ホストコンピュータは、第１ストレージ装置から通知される各第１優先順位と第２ストレージ装置から通知される各第２優先順位とに基づいて、使用する通信パスを選択する。
【００２２】
本発明の構成の少なくとも一部は、コンピュータプログラムとして構成できる。このコンピュータプログラムは、記録媒体に固定して配布したり、通信ネットワークを介して配信することができる。さらに、上記観点の組合せ以外の他の組合せも本発明の範囲に含まれる。
【図面の簡単な説明】
【００２３】
【図１】図１は、ストレージシステムの概要を示す図である。
【図２】図２は、ストレージシステムの全体構成を示す図である。
【図３】図３は、ホストのブロック図である。
【図４】図４は、ストレージ装置のブロック図である。
【図５】図５は、管理コンピュータのブロック図である。
【図６】図６は、装置管理テーブルを示す図である。
【図７】図７は、ボリューム管理テーブルを示す図である。
【図８】図８は、コピーペア管理テーブルを示す図である。
【図９】図９は、ホストパス管理テーブルを示す図である。
【図１０】図１０は、外部接続管理テーブルを示す図である。
【図１１】図１１は、通信パス管理処理のフローチャートである。
【図１２】図１２は、図１１に続くフローチャートである。
【図１３】図１３は、図１２に続くフローチャートである。
【図１４】図１４は、ホストパス評価テーブルを示す図である。
【図１５】図１５は、第２実施例に係るストレージシステムで実行される、テーブル切替処理のフローチャートである。
【図１６】図１６は、第２のホストパス評価テーブルを示す図である。
【図１７】図１７は、第３実施例に係るストレージシステムの概略構成を示す図である。
【図１８】図１８は、ストレージ装置からホストに優先順位を通知する処理を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下、図面に基づいて、本発明の実施の形態を説明する。本発明は、後述のように、ストレージシステムの状態に基づいて、ホスト１００の有する各ホストパス５０１〜５０６の優先順位を設定する。
【実施例１】
【００２５】
図１は、本実施例におけるストレージシステムの概要を示す。図２は、ストレージシステムの全体構成を示す。ストレージシステムは、少なくとも一つのホスト１００と、コピー元である少なくても一つの第１ストレージ装置２００Ｍと、コピー先である少なくても一つの第２ストレージ装置２００Ｒと、少なくても一つの外部ストレージ装置３００と、少なくても一つの管理コンピュータ４００とを含む。ストレージシステムをコンピュータシステムと呼び変えることもできる。
【００２６】
第１ストレージ装置２００Ｍは、例えば、メインサイト（プライマリサイトとも呼ばれる）に設置することができる。第２ストレージ装置２００Ｒは、メインサイトから物理的に離れたリモートサイト（セカンダリサイトとも呼ばれる）に設置することができる。または、同一のサイト内に、第１ストレージ装置２００Ｍと第２ストレージ装置２００Ｒとを設ける構成でもよい。
【００２７】
ホスト１００と、第１ストレージ装置２００Ｍ，第２ストレージ装置２００Ｒとは、「第１通信ネットワーク」としてのフロントエンドネットワーク５００を介して接続されている。
【００２８】
第１ストレージ装置２００Ｍ及び第２ストレージ装置２００Ｒは、「第２通信ネットワーク」としてのバックエンドネットワーク６００を介して、「第３ストレージ装置」としての外部ストレージ装置に接続される。フロントエンドネットワーク５００及びバックエンドネットワーク６００は、例えば、ＦＣ（Fibre Channel）プロトコルまたはｉＳＣＳＩ（internet Small Computer System Interface）プロトコルを用いる通信ネットワークとして構成することができる。
【００２９】
管理コンピュータ４００は、「第３通信ネットワーク」としての管理ネットワーク７００を介して、ホスト１００，各ストレージ装置２００Ｍ，２００Ｒ，３００にそれぞれ接続されている。管理ネットワーク７００は、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルを用いる通信ネットワークとして構成することができる。
【００３０】
第１ストレージ装置２００Ｍと第２ストレージ装置２００Ｒとは、相互通信経路８００を介して接続される。なお、相互通信経路８００に代えて、バックエンドネットワーク６００を用いて第１ストレージ装置２００Ｍと第２ストレージ装置２００Ｒとを接続する構成でもよい。
【００３１】
ホスト１００は、例えば、アプリケーションプログラム１１１と、交替パスプログラム１１２とを含む。アプリケーションプログラム１１１は、例えば、図外のクライアント端末からの要求に応じて所定のデータ処理を行い、その処理結果をクライアント端末に返信させる。アプリケーションプログラム１１１としては、例えば、顧客管理プログラム、売上げ管理プログラム、電子メール管理プログラム、動画配信プログラム、ウェブページ管理プログラム等を挙げることができる。なお、アプリケーションプログラム１１１を、ビジネスアプリケーション１１１と呼ぶ場合がある。
【００３２】
交替パスプログラム１１２は、各通信パス５０１〜５０６のうちいずれの通信パスを用いて論理ボリューム２６０Ｍ（または２６０Ｒ）にアクセスするかを制御する。交替パスプログラム１１２は、例えば、交替パスソフトウェア、または、交替パス管理部のように言い換えることもできる。
【００３３】
第１ストレージ装置２００Ｍは、第１キャッシュメモリ２３１Ｍと、第１論理ボリューム２６０Ｍとを備える。第２ストレージ装置２００Ｒも、第２キャッシュメモリ２３１Ｒと、第２論理ボリューム２６０Ｒとを備える。ストレージ装置の詳しい構成は、図４で後述する。
【００３４】
第１論理ボリューム２６０Ｍと第２論理ボリューム２６０Ｒとは、コピーペアを形成している。第１論理ボリューム２６０Ｍはコピー元ボリュームであり、第２論理ボリューム２６０Ｒはコピー先ボリュームである。コピー元ボリュームは、通常時に使用されるアクティブボリュームであり、コピー先ボリュームは、障害時に使用されるスタンバイボリュームである。障害等により、第２論理ボリュームへのフェールオーバが生じた後は、第２論理ボリュームがアクティブボリュームとなり、第１論理ボリュームがスタンバイボリュームとなる。すなわち、コピー元ボリュームをアクティブボリュームと呼び、コピー先ボリュームをスタンバイボリュームと呼ぶ。
【００３５】
第１論理ボリューム２６０Ｍ及び第２論理ボリューム２６０Ｒは、実記憶領域に基づいて生成される通常の論理ボリュームとは異なり、実記憶領域に直接基づいて形成されていない、仮想的な論理ボリュームとして構成される。
【００３６】
例えば、ハードディスク等の複数の記憶装置（図４のハードディスクドライブ２７０参照）のそれぞれ有する物理的記憶領域をＲＡＩＤグループとして一つにまとめ、冗長な実記憶領域を形成できる。その冗長な実記憶領域上に所定サイズの論理ボリュームを生成することができる。このように、通常の論理ボリュームは、実記憶領域から直接的に形成される。
【００３７】
これに対し、仮想的な論理ボリューム２６０Ｍ，２６０Ｒは、それぞれが存在するストレージ装置２００Ｍ，２００Ｒ内の実記憶領域に基づいて生成されていない。仮想的な論理ボリューム２６０Ｍ，２６０Ｒは、外部ストレージ装置３００内の実記憶領域に対応付けられている。
【００３８】
つまり、仮想的な論理ボリューム２６０Ｍ，２６０Ｒのアドレス空間は、外部ストレージ装置３００内の外部ボリューム３６０が有する実記憶領域のアドレス空間にマッピングされている。各ストレージ装置２００Ｍ，２００Ｒは、外部ストレージ装置３００内の論理ボリューム３６０を、各ストレージ装置２００Ｍ，２００Ｒ内に取り込む。各ストレージ装置２００Ｍ，２００Ｒは、論理ボリューム３６０が各ストレージ装置２００Ｍ，２００Ｒ内の論理ボリュームであるかのようにして、ホスト１００に提供する。
【００３９】
このように、自装置２００Ｍ，２００Ｒ内の仮想的なボリューム２６０Ｍ，２６０Ｒに、自装置２００Ｍ，２００Ｒの外部に存在する論理ボリューム３６０を接続して、自装置２００Ｍ，２００Ｒ内に取り込む機能を、本明細書では外部接続機能と呼ぶ。
【００４０】
ホスト１００が第１論理ボリューム２６０Ｍへのライトコマンドを発行した場合、第１ストレージ装置２００Ｍは、ライトコマンド及びライトデータを、外部ストレージ装置３００に送信する。ライトコマンド内のライトアドレスは、論理ボリューム３６０内の領域を特定するアドレスに書き換えられる。外部ストレージ装置３００は、受信したライトデータを外部ボリューム３６０に書き込む。
【００４１】
ホスト１００が第１論理ボリューム２６０Ｍへのリードコマンドを発行した場合、第１ストレージ装置２００Ｍは、リードコマンドを外部ストレージ装置３００に送信する。リードコマンド内のリードアドレスは、論理ボリューム３６０内の領域を指定するアドレスに書き換えられる。外部ストレージ装置３００は、外部ボリューム３６０からデータを読み出して、第１ストレージ装置２００Ｍに送信する。
【００４２】
以上は基本的動作を示しており、キャッシュメモリ２３１Ｍの役割について説明していない。キャッシュメモリ２３１Ｍの役割を含めた動作は、後述する。
【００４３】
外部ストレージ装置３００は、第１ストレージ装置２００Ｍ及び第２ストレージ装置２００Ｒの外部に存在するストレージ装置であるため、本実施例では、外部ストレージ装置と呼ばれる。
【００４４】
外部ストレージ装置３００の有する実ボリューム３６０を、本実施例では、外部ボリュームと呼ぶ。実ボリュームとは、そのボリュームが設けられているストレージ装置内の実記憶領域から生成されている論理ボリュームである。上述の通り、外部ボリューム３６０は、仮想的な論理ボリューム２６０Ｍ，２６０Ｒに接続されている。そこで、本実施理では、外部ボリューム３６０に接続されている仮想的な論理ボリューム２６０Ｍ，２６０Ｒを、外部接続ボリューム２６０Ｍ，２６０Ｒと呼ぶことがある。
【００４５】
バックエンドネットワーク６００上には、第１論理ボリューム２６０Ｍと外部ボリューム３６０とを接続するための複数の通信パス６０１−６０３と、第２論理ボリューム２６０Ｒと外部ボリューム３６０とを接続するための複数の通信パス６０４−６０６とが、設けられている。
【００４６】
各通信パス６０１−６０６を、外部接続パスまたは外部通信パスと呼ぶことができる。例えば、第１論理ボリューム２６０Ｍに繋がる外部通信パス６０１−６０３を、第１外部接続パスまたは第１外部通信パスと呼ぶことができる。第２論理ボリューム２６０Ｒに繋がる外部通信パス６０３−６０６を、第２外部接続パスまたは第２外部通信パスと呼ぶことができる。
【００４７】
なお、本実施例では、第１通信パス５０１−５０３と第１外部通信パス６０１−６０３とは一対一に対応し、第２通信パス５０４−５０６と第２外部通信パス６０４−６０６とは一対一に対応するものとする。
【００４８】
管理コンピュータ４００は、図２に示すように、通信パス（ネットワークパスとも呼ぶことができる）を管理するための通信パス管理プログラム４１１を備える。通信パス管理プログラム４１１は、各ストレージ装置２００Ｍ，２００Ｒ，３００の状態を監視して、後述のように、通信パスの優先順位を決定し、決定された優先順位をホスト１００に通知して設定させる。
【００４９】
フロントエンドネットワーク５００上には、複数のホストパス５０１〜５０６が設定される。一方のホストパス５０１〜５０３は、「第１通信パス」に該当し、ホスト１００とコピー元ボリューム２６０Ｍとを接続する。一方のホストパス５０１〜５０３は、通常時に使用されるアクティブパスである。
【００５０】
他方のホストパス５０４〜５０６は、「第２通信パス」に該当し、ホスト２００とコピー先ボリューム２６０Ｒとを接続する。他方のホストバス５０４〜５０６は、第１ストレージ装置２００Ｍ側に障害が発生した場合に使用される、パッシブパスである。なお、パッシブという語句は、スタンバイと呼び変えてもよい。つまり、パッシブパスはスタンバイパスと呼ぶことができる。
【００５１】
各ホストパス５０１〜５０６には、それぞれ優先順位Ｐ１〜Ｐ６が設定されている。例えば、設定変更の前は、第１アクティブパス５０１に最も高い優先順位Ｐ１が設定され、第２アクティブパス５０２には、その次に高い優先順位Ｐ２（Ｐ１＞Ｐ２）が設定され、第３アクティブパス５０３には、さらにその次に高い優先順位Ｐ３（Ｐ２＞Ｐ３）が設定される。
【００５２】
第１パッシブパス５０４には、その次に高い優先順位Ｐ４が設定され（Ｐ３＞Ｐ４）、第２パッシブパス５０４には、さらにその次に高い優先順位Ｐ５が設定され（Ｐ４＞Ｐ５）、第３パッシブパス５０４には、最低の優先順位Ｐ６（Ｐ１＞Ｐ２＞Ｐ３＞Ｐ４＞Ｐ５＞Ｐ６）が設定される。
【００５３】
後述のように、所定のタイミングが訪れると、管理コンピュータ４００は、各通信パス５０１−５０６の優先順位を評価し、新たな優先順位を各ストレージ装置２００Ｍ，２００Ｒを介して、ホスト１００に通知させる。
【００５４】
これにより、図１に示す例では、第１論理ボリューム２６０Ｍに繋がる第１通信パス５０１−５０３の優先順位が低下し（Ｐ１−Ｐ３からＰ４−Ｐ６へ低下）、第２論理ボリューム２６０Ｒに繋がる第２通信パス５０４−５０６の優先順位が上昇する（Ｐ４−Ｐ６からＰ１−Ｐ３へ上昇）。
【００５５】
もっとも、図１に示す優先順位の変化は極端な場合を示している。後述のように、管理コンピュータ４００は、第１論理ボリューム２６０Ｍから第２論理ボリューム２６０Ｒへのフェイルオーバができるだけ発生しないように、各通信パス５０１−５０３，５０４−５０６の優先順位を評価する。
【００５６】
各ストレージ装置２００Ｍ，２００Ｒは、同期コピー機能を備える。同期コピー機能とは、コピー元に書き込まれたデータを、その書き込みに同期してコピー先に転送し、コピー元の記憶内容とコピー先の記憶内容とを同一にさせる機能である。
【００５７】
同期コピー機能は、コピー元ボリューム２６０Ｍとコピー先ボリューム２６０Ｒとをコピーペアにする。コピー元ボリューム２６０Ｍへのライトデータは、コピー先ボリューム２６０Ｒに転送される。
【００５８】
ホスト１００からコピー元ボリューム２６０Ｍへのライトデータは、コピー元である第１ストレージ装置２００Ｍ内のキャッシュメモリ２３１Ｍに一時保管される。本明細書では、キャッシュメモリに一時保管されたデータを、ダーティデータと呼ぶ。ダーティデータとは、キャッシュメモリにのみ記憶されているデータを意味する。ダーティデータは、キャッシュメモリにのみ記憶されているため、キャッシュメモリ上から消去することはできない。
【００５９】
キャッシュメモリ上のデータは、論理ボリュームに対応するハードディスクドライブ（図４参照）に書き込まれる。キャッシュメモリとハードディスクドライブ２７０の両方に書き込まれたデータを、クリーンデータと呼ぶ。クリーンデータは、キャッシュメモリ及びハードディスクドライブの両方に書き込まれているため、キャッシュメモリ上から消去しても問題はない。そこで、クリーンデータの書き込まれたキャッシュメモリ上の領域は、解放される。この解放処理をキャッシュデステージと呼ぶ。解放された領域には、別のデータが一時的に保管される。
【００６０】
さて、コピー元のキャッシュメモリ２３１Ｍに書き込まれたライトデータは、第１ストレージ装置２００Ｍの同期コピー機能によって、コピー先となるストレージ装置２００Ｒに送信される。コピー先ストレージ装置２００Ｒは、受信したライトデータをキャッシュメモリ２３１Ｒに書き込み、書き込みが完了した旨をコピー元ストレージ装置２００に通知する。
【００６１】
コピー元ストレージ装置２００Ｍは、コピー先ストレージ装置２００Ｒからの書き込み完了通知を受信すると、ライトコマンドを発行したホスト１００に、そのライトコマンドの処理が完了した旨を通知する。
【００６２】
以上の過程を経ることにより、コピー元のキャッシュメモリ２３１Ｍに記憶されているダーティデータと、コピー先のキャッシュメモリ２３１Ｒに記憶されているダーティデータとは一致する。
【００６３】
コピー元のキャッシュメモリ２３１Ｍ内のダーティデータは、ホスト１００への書き込み完了通知の送信とは非同期で、コピー元ストレージ装置２００Ｍ内の論理ボリューム２６０Ｍに書き込まれる。
【００６４】
上述のように、ストレージ装置２００Ｍの論理ボリューム２６０Ｍは、仮想的な存在であり、データを記憶するための実記憶領域は、外部ストレージ装置３００の有する外部ボリューム３６０内に存在する。従って、論理ボリューム２６０Ｍへのデータ書き込みとは、実際には、論理ボリューム２６０Ｍに接続されている外部ボリューム３６０にデータを書き込むことを意味する。
【００６５】
キャッシュメモリ２３１Ｍ上のダーティデータを論理ボリューム２６０Ｍに書き込むと、その書き込まれたデータの状態は、ダーティからクリーンに変化する。そこで、コピー元ストレージ装置２００Ｍは、キャッシュデステージ処理を行う。つまり、コピー元ストレージ装置２００Ｍは、外部ボリューム３６０に書き込まれたデータが記憶されている、キャッシュメモリ２３１Ｍ上の記憶領域を解放する。
【００６６】
コピー元ストレージ装置２００Ｍは、キャッシュデステージ処理が完了した後で、キャッシュデステージ情報をコピー先ストレージ装置２００Ｒに送信する。キャッシュデステージ情報の送信には、同期コピー機能が用いられる。キャッシュデステージ情報は、キャッシュメモリ２３１Ｍ上のどの領域が解放されたかを示す。
【００６７】
コピー先ストレージ装置２００Ｒは、受信したキャッシュデステージ情報に基づいて、コピー先のキャッシュメモリ２３１Ｒ内の所定領域を解放する。これにより、コピー元ボリューム２６０Ｍに関するキャッシュメモリ２３１Ｍのキャッシュデステージ状態と、コピー先ボリューム２６０Ｒに関するキャッシュメモリ２３１Ｒのキャッシュデステージ状態とは、同期する。
【００６８】
このように、コピー元ストレージ装置２００Ｍとコピー先ストレージ装置２００Ｒとの間で、キャッシュデステージ状態を常時同期させる。従って、障害等によって、コピー元ストレージ装置２００Ｍのコピー元ボリューム２６０Ｍが利用できなくなった場合でも、コピー先ボリューム２６０Ｒに切り替えることにより、業務処理を継続できる。
【００６９】
各ストレージ装置２００Ｍ，２００Ｒは、フロントエンドネットワーク５００を介して、ホスト１００のネットワークインターフェース１６０（図３参照）に、論理ボリューム２６０Ｍ，２６０Ｒについてのデバイス情報を通知するための機能を有する。
【００７０】
デバイス情報には、ボリューム２６０Ｍ，２６０Ｒをシステム内で一意に特定するためのボリューム識別子が含まれる。ストレージ装置２００Ｍ，２００Ｒは、コピー先ボリュームのボリューム識別子をコピー元ボリュームのボリューム識別子に一致させるための機能を備える。尚、コピー先ボリュームへのフェールオーバが生じ、さらに、コピー状態が通常と逆となる（すなわち、コピー先ボリュームがコピー元となる）フェールバック構成となった場合は、一度構成されたボリューム識別子は変更されない。
【００７１】
図３は、ホスト１００のブロック図である。ホスト１００は、例えば、メモリ１１０と、管理ポート１２０と、入力装置１３０と、出力装置１４０と、プロセッサ１５０と、ネットワークインターフェース１６０と、ＲＡＷデバイス１６１と、ファイルシステム１７０と、中間デバイス１８０と、内部バス１９０とを備える。
【００７２】
メモリ１１０には、ビジネスアプリケーション１１１と、交替パスプログラム１１２と、ファイルシステム１７０と、その他の制御プログラムとが記憶される。さらに、メモリ１１０は、プロセッサ１５０に作業領域を提供する。
【００７３】
管理ポート１２０は、ホスト１００を管理ネットワーク７００に接続するための通信ポートである。管理ポート１２０には、例えば、ＷＷＮ（World Wide Name）またはＩＰ（Internet Protocol）アドレス等の、固有のネットワークアドレスが付与される。
【００７４】
入力装置１３０は、例えば、キーボードスイッチ、タブレット、マウス、タッチパネル、音声入力装置等のいずれか又はそれらの組合せとして、構成される。ユーザは、入力装置１３０を用いて、ホスト１００に指示を与える。出力装置１４０は、例えば、モニタディスプレイ、スピーカ、プリンタ等のいずれか又はそれらの組合せとして構成される。出力装置１４０は、プロセッサ１５０の制御の下で、ユーザにＧＵＩ（Graphical User Interface）及び各種情報を提供する。
【００７５】
プロセッサ１５０は、ホスト１００の動作を制御する。プロセッサ１５０は、メモリ１１０に格納されたビジネスアプリケーション１１１及び交替パスプログラム１１２と、ファイルシステム１７０等に基づいて、各種の制御処理を実行する。
【００７６】
ネットワークインタフェース１６０は、ホスト１００がフロントエンドネットワーク５００を介して各ストレージ装置２００Ｍ，２００Ｒと通信を行うための通信インタフェースである。
【００７７】
ネットワークインタフェース１６０は、各ストレージ装置２００Ｍ，２００Ｒの論理ボリューム２６０Ｍ，２６０Ｒを検知すると、各ストレージ装置２００Ｍ，２００Ｒからフロントエンドネットワーク５００を介して通知されるデバイス情報に基づいて、ＲＡＷデバイス１６１を形成する。
【００７８】
ＲＡＷデバイス１６１は、ネットワークインタフェース１６０と論理ボリューム２６０Ｍ，２６０Ｒとを接続する通信パス（ホストパス）毎に、一つずつ設けられる。図３では、２個のＲＡＷデバイス１６１を示す。図１に示すように、６個の通信パス５０１−５０６がネットワークインターフェース１６０に接続されている場合、ＲＡＷデバイス１６１は、各通信パス５０１−５０６毎にそれぞれ一つずつ設けられる。
【００７９】
交替パスプログラム１１２は、共通のボリューム識別子を有する複数のＲＡＷデバイス１６１を、一つの中間デバイス１８０にまとめる機能を有する。ホスト１００のＯＳ（不図示）は、一つの中間デバイス１８０に基づいて、一つのファイルシステム１７０を形成する。
【００８０】
ビジネスアプリケーション１１１は、ファイルシステム１７０を介して、中間デバイス１８０に、Ｉ／Ｏを発行する。交替パスプログラム１１２は、中間デバイス１８０に向けて発行されたＩ／Ｏを検知すると、中間デバイス１８０に対応付けられた複数のＲＡＷデバイス１６１の中から一つを選出する。交替パスプログラム１１２は、選出されたＲＡＷデバイス１６１に対して、Ｉ／Ｏを発行する。選出されたＲＡＷデバイス１６１に発行されたＩ／Ｏは、そのＲＡＷデバイス１６１に対応するホストパスを介して、論理ボリューム２６０Ｍまたは論理ボリューム２６０Ｒのいずれかに伝達される。交替パスプログラム１１２がＲＡＷデバイス１６１を選出する方法は、後述する。
【００８１】
上述の通り、本実施例では、コピー先ボリューム２６０Ｒのボリューム識別子は、コピー元ボリューム２６０Ｍのボリューム識別子と同一になるように設定される。従って、交替パスプログラム１１２は、コピー先ボリューム２６０Ｒに繋がるホストパスを、コピー元ボリューム２６０Ｍに繋がるホストパスとして認識する。
【００８２】
図４は、ストレージ装置のブロック図である。各ストレージ装置２００Ｍ，２００Ｒは、それぞれ同一構成を備えることができる。そこで、各ストレージ装置２００Ｍ，２００Ｒを代表するストレージ装置２００の構成を説明する。
【００８３】
ストレージ装置２００は、例えば、ＦＥＰＫ（FrontEnd PacKage）２１０と、ＭＰＰＫ（Micro Processor PacKage）２２０と、ＣＭＰＫ（Cache  Memory  PacKage）２３０と、ＢＥＰＫ（BackEnd PacKage）２４０と、内部ネットワーク２５０と、ハードディスクドライブ２７０とを含んで構成される。
【００８４】
ＭＰＰＫ２２０は、内部ネットワーク２５０を介して、ＦＥＰＫ２１０と、ＣＭＰＫ２３０と、ＢＥＩＦ２４０とにそれぞれ通信可能に接続されている。
【００８５】
ＦＥＰＫ２１０は、ホスト１００と通信するための制御回路である。ＦＥＰＫ２１０は、複数のホストインターフェース２１１を有する。ＦＥＰＫ２１０は、フロントエンドネットワーク５００を介して、ホスト１００のネットワークインタフェース１６０に接続される。さらに、ＦＥＰＫ２１０は、相互通信経路８００（またはバックエンドネットワーク６００）を介して、コピーペアの相手方のストレージ装置に接続される。さらに、ＦＥＰＫ２１０は、バックエンドネットワーク６００を介して、外部ストレージ装置３００にも接続される。
【００８６】
ＭＰＰＫ２２０は、ストレージ装置２００の動作を制御する。ＭＰＰＫ２２０は、複数のＭＰ（Micro Processor）２２１と、ローカルメモリ（ＬＭ）２２２と、これらを接続するバス２２３とを有する。ＬＭ２２２は、コントロールメモリ２３２に格納されている制御情報の一部を格納する。
【００８７】
ＣＭＰＫ２３０は、共有メモリ領域をストレージ装置２００に提供する。ＣＭＰＫ２３０は、キャッシュメモリ２３１と、コントロールメモリ２３２とを有する。キャッシュメモリメモリ２３１及びコントロールメモリ２３２は、揮発性メモリまたは不揮発性メモリから構成可能である。揮発性メモリを用いる場合は、内蔵電池またはバッテリによってバックアップされる構成にするのが好ましい。
【００８８】
キャッシュメモリ２３１は、ハードディスクドライブ２７０に書き込まれるデータを一時的に記憶したり、または、ハードディスクドライブ２７０から読み出されたデータを一時的に記憶する。
【００８９】
コントロールメモリ２３２は、各処理に必要な制御情報及び管理情報を記憶する。コントロールメモリ２３２に記憶される情報としては、例えば、ハードディスクドライブ構成情報、論理ボリューム構成情報等を挙げることができる。
【００９０】
ＢＥＰＫ２４０は、各ハードディスクドライブ２７０と通信するための制御回路であり、複数のディスクインターフェース２４１を備える。ディスクインターフェース２４１は、例えば、通信ケーブルを介して、ハードディスクドライブ２７０に接続される。ＢＥＰＫ２４０は、キャッシュメモリ２３１と各ハードディスクドライブ２７０との間のデータの受け渡しを処理する。
【００９１】
ハードディスクドライブ２７０は、データを記憶する装置の一例である。ハードディスクドライブに限らず、例えば、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
【００９２】
ハードディスクドライブを用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。
【００９３】
半導体メモリデバイスを用いる場合、例えば、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom Access Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）、ＰＲＡＭ（Phase change RAM）等の種々のメモリデバイスを利用可能である。
【００９４】
外部ストレージ装置３００も、図４に示す構成と同様に構成可能である。なお、第１ストレージ装置２００Ｍ及び第２ストレージ装置２００Ｒは、ハードディスクドライブ２７０を備える必要はない。各ストレージ装置２００Ｍ，２００Ｒは、外部接続機能を用いて、外部ボリューム３６０を自装置内に取り込むことができるためである。従って、各ストレージ装置２００Ｍ，２００Ｒは、ハードディスクドライブ２７０及びＢＥＰＫ２４０を必ずしも備える必要はない。
【００９５】
図５は、管理コンピュータ４００のブロック図である。管理コンピュータ４００は、例えば、メモリ４１０と、ネットワークインターフェース４２０と、入力装置４３０と、出力装置４４０と、プロセッサ４５０と、内部バス４６０とを備える。
【００９６】
メモリ４１０には、通信パス管理プログラム４１１と、後述する各テーブル１０００，１１００，１２００，１３００，１４００，１５００等が記憶される。プロセッサ４５０は、メモリ４１０に記憶されたプログラム４１１を読み込んで実行することにより、後述の通信パス管理機能を実現する。
【００９７】
ネットワークインターフェース４２０は、管理ネットワーク７００に接続するための通信インターフェースである。入力装置４３０及び出力装置４４０は、ホスト１００の入力装置１３０及び出力装置１４０と同様であるため、説明を省略する。
【００９８】
通信パス管理プログラム４１１により利用される、装置管理テーブル１０００とボリューム管理テーブル１１００とコピーペア管理テーブル１２００とホストパス管理テーブル１３００と外部接続パス管理テーブル１４００とについて説明する。これら各テーブル１０００−１４００は、ホスト１００と各ストレージ装置２００Ｍ，２００Ｒ，３００とから定期的に収集される情報に基づいて生成される。または、管理者からの指示に応じて、管理コンピュータ４００が、各テーブル１０００−１４００に必要な情報をストレージシステム内から収集する構成でもよい。以下の説明では、識別子をＩＤと略記する。
【００９９】
図６は、装置を管理するためのテーブル１０００を示す。装置管理テーブル１０００は、ストレージシステム内の各装置（ホスト、ストレージ装置）を管理する。装置管理テーブル１０００は、例えば、装置ＩＤ欄１００１と、種別欄１００２と、管理ポートアドレス欄１００３とを含む。
【０１００】
装置ＩＤ欄１００１は、ホスト１００と各ストレージ装置２００Ｍ，２００Ｒ，３００をストレージシステム内で一意に識別するためのＩＤを記憶する。種別欄１００２は、各装置の種別を記憶する。管理ポートアドレス欄１００３は、各装置が備える管理ポートのアドレス（ＩＰアドレス、または、ＷＷＮ）を記憶する。
【０１０１】
例えば、装置が管理ネットワーク７００に接続された場合に、通信パス管理プログラム４１１は、その接続された装置から情報を取得して、装置管理テーブル１０００に記憶させる。または、通信パス管理プログラム４１１は、管理者からの指示に応じて、指定された装置から情報を取得し、取得した情報を装置管理テーブル１０００に記憶させる。
【０１０２】
図７は、複数の論理ボリュームを管理するためのテーブルを示す。ボリューム管理テーブル１１００は、例えば、ボリュームＩＤ欄１１０１と、デバイス種別欄１１０２と、容量欄１１０３と、ソースデバイスＩＤ欄１１０４とを含む。
【０１０３】
ボリュームＩＤ欄１１０１は、各論理ボリュームをシステム内で一意に特定するためのボリュームＩＤを記憶する。デバイス種別欄１１０２は、論理ボリュームがストレージ装置２００Ｍ，２００Ｒ内のボリューム（内部ボリューム）であるか、それとも、外部ストレージ装置３００内の外部ボリュームと接続する外部接続ボリュームであるかを区別する情報を記憶する。
【０１０４】
容量欄１１０３は、各論理ボリュームの最大記憶サイズを記憶する。ソースデバイスＩＤ欄１１０４は、論理ボリュームが形成されている実記憶領域を特定するためのＩＤを記憶する。
【０１０５】
「ＳＴ１．ＶＯＬ００１」で特定される第１ストレージ装置２００Ｍ内の論理ボリュームは、「ＳＴ３．ＶＯＬ０３３」で特定される外部ボリュームを利用しており、その記憶サイズは「１０ＧＢ」である。
【０１０６】
「ＳＴ１．ＶＯＬ００２」で特定される第１ストレージ装置２００Ｍ内の他の論理ボリュームは、「ＳＴ１．ＰＧ００１」で特定される実記憶領域上に設けられており、その記憶サイズは「５ＧＢ」である。ＰＧとは、パリティグループの略である。
【０１０７】
図８は、コピーペアを管理するためのテーブル１２００を示す。コピーペア管理テーブル１２００は、例えば、ペアＩＤ欄１２０１と、コピー種別欄１２０２と、ペアステータス欄１２０３と、アクティブボリュームＩＤ欄１２０４と、スタンバイボリュームＩＤ欄１２０５とを含む。
【０１０８】
ペアＩＤ欄１２０１は、システム内の各コピーペアを一意に特定するためのＩＤを記憶する。コピー種別欄１２０２は、コピーペアの種別が「クラスタ」であるか、それとも「トルーコピー」または「シャドウイメージ」であるかを区別する情報を記憶する。
【０１０９】
「クラスタ」とは、コピー先ボリュームのボリュームＩＤをコピー元ボリュームのボリュームＩＤに変更させ、どちらの論理ボリュームを使用しているのかをホスト１００に意識させないコピーを示す。「トルーコピー」は、それぞれ異なるストレージ装置内に設けられている、コピー元ボリュームとコピー先ボリュームとの間でデータをコピーすることを意味する。「シャドウイメージ」は、同一のストレージ装置内に設けられている、コピー元ボリュームとコピー先ボリュームとの間でデータをコピーすることを意味する。
【０１１０】
ペアステータス欄１２０３は、各コピーペアのステータスを管理する。コピーペアのステータスとしては、例えば、「ｐａｉｒ」、「ｓｕｓｐｅｎｄ」、「ｓｐｌｉｔ」「Ｒｅｓｙｎｃ」を挙げることができる。「ｐａｉｒ」は、コピー元ボリュームとコピー先ボリュームとがペアを組んでおり、両ボリュームの記憶内容が同期していることを意味する。「ｓｕｓｐｅｎｄ」は、コピー処理が中断していることを意味する。「ｓｐｌｉｔ」は、コピーペアが解放されたことを意味する。「Ｒｅｓｙｎｃ」は、コピー方向が逆（すなわち、コピー先のデータがコピー元にコピーされる状態）を意味する。
【０１１１】
アクティブボリュームＩＤ欄１２０４は、ホスト１００から発行されるＩ／Ｏコマンドを処理するアクティブボリューム（コピー元ボリューム）を特定するためのボリュームＩＤを記憶する。スタンバイボリュームＩＤ欄１２０５は、スタンバイボリューム（コピー先ボリューム）を特定するためのボリュームＩＤを記憶する。
【０１１２】
図９は、複数のホストパスを管理するためのテーブル１３００を示す。ホストパス管理テーブル１３００は、例えば、ホストパスＩＤ欄１３０１と、ソースボリュームＩＤ欄１３０２と、ポートＩＤ欄１３０３と、割当先ＷＷＮ欄１３０４とを含む。
【０１１３】
ホストパスＩＤ欄１３０１は、各ホストパスをシステム内で一意に特定するためのＩＤを記憶する。ソースボリュームＩＤ欄１３０２は、ホストパスに繋がるボリュームのＩＤを記憶する。ポートＩＤ欄１３０３は、ホストパスに繋がる、ストレージ装置の通信ポートを識別するための情報を記憶する。割当先ＷＷＮ欄１３０４は、通信ポートに割り当てられたＷＷＮを記憶する。
【０１１４】
図１０は、各外部接続パスを管理するためのテーブル１４００を示す。外部接続パス管理テーブル１４００は、例えば、外部接続ボリュームＩＤ欄１４０１と、外部接続ポートＩＤ欄１４０２と、ターゲットポートＩＤ欄１４０３と、ソースボリュームＩＤ欄１４０４とを含む。
【０１１５】
外部接続ボリュームＩＤ欄１４０１は、外部ボリューム３６０に接続される論理ボリューム２６０Ｍ，２６０Ｒを特定するためのＩＤを記憶する。外部接続ポートＩＤ欄１４０２は、外部接続ボリューム２６０Ｍ，２６０Ｒが外部接続のために使用している通信ポートを特定するためのＩＤを記憶する。
【０１１６】
ターゲットポートＩＤ欄１４０３は、外部ボリューム３６０に割り当てられている通信ポートを特定するためのＩＤを記憶する。ソースボリュームＩＤ欄１４０４は、外部接続先ボリュームに実記憶領域を提供している外部ボリューム３６０を特定するためのＩＤを記憶する。
【０１１７】
「ＳＴ１．ＶＯＬ００１」で特定される第１ストレージ装置２００Ｍ内の論理ボリューム２６０Ｍは、「ＳＴ１．ＰＯＲＴ１１」で特定される第１ストレージ装置２００Ｍの通信ポートを介して、「ＳＴ３．ＰＯＲＴ０２」で特定される外部ストレージ装置３００のターゲットポートに接続される。そのターゲットポートには、「ＳＴ３．ＶＯＬ０３３」で特定される外部ボリューム３６０が接続されている。
【０１１８】
同様に、「ＳＴ２．ＶＯＬ００２」で特定される第２ストレージ装置２００Ｒ内の論理ボリューム２６０Ｒは、「ＳＴ２．ＰＯＲＴ２２」で特定される第２ストレージ装置２００Ｒの通信ポートを介して、「ＳＴ３．ＰＯＲＴ０３」で特定される外部ストレージ装置３００のターゲットポートに接続される。そのターゲットポートには、「ＳＴ３．ＶＯＬ０３３」で特定される外部ボリューム３６０が接続されている。
【０１１９】
なお、図１０では、便宜上、各外部接続ボリュームに一つずつの外部通信パス（外部接続パス）が設定されるかのように示しているが、各外部接続ボリュームに複数の外部通信パスを設定することもできる。
【０１２０】
さらに、図９に示すホストパス（上位側パス）と、図１０に示す外部通信パス（下位側パス）とを対応付けることもできる。例えば、図１０に示す管理テーブル１４００に、ホストパスＩＤ欄１３０１と同様のホストパスＩＤ欄を設けることにより、ホストパスと外部通信パスとを一対一で対応付けることができる。
【０１２１】
図１１−図１３を用いて、通信パス管理処理を説明する。本処理は、通信パス管理プログラム４１１により実行される。以下、動作の主体を、通信パス管理プログラム４１１を実行する管理コンピュータ４００として説明する。
【０１２２】
管理コンピュータ４００は、各ストレージ装置２００Ｍ，２００Ｒ，３００から通知される情報に基づいて、各ストレージ装置２００Ｍ，２００Ｒ，３００に障害または構成変更が生じたか否かを検出する（Ｓ１０）。障害または構成変更が検出されると、本処理は開始される。なお、管理者からの指示によって本処理を開始させることもできる。
【０１２３】
管理コンピュータ４００は、各ストレージ装置２００Ｍ，２００Ｒまたは外部ストレージ装置３００から通知された、障害情報または構成変更情報に基づいて、障害の発生した箇所または構成の変更された箇所を検出する（Ｓ１０）。
【０１２４】
管理コンピュータ４００は、障害情報または構成変更情報に基づいて、ボリューム管理テーブル１１００とホストパス管理テーブル１３００とコピーペア管理テーブル１２００と外部接続管理テーブル１４００とのうち更新が必要な箇所の情報をそれぞれ更新させる（Ｓ１１）。
【０１２５】
管理テーブルの更新方法を説明する。管理コンピュータ４００は、装置管理テーブル１０００に登録されている各ストレージ装置２００Ｍ，２００Ｒ，３００に、構成情報を送信するように要求する。その要求は、装置管理テーブル１０００に記憶されている管理ポートアドレス１００３に向けて送信される。
【０１２６】
管理コンピュータ４００は、コピーペア管理テーブル１２００のコピータイプ１２０２を参照し、「クラスタ」が設定されているペアＩＤを抽出し、抽出された各ペアＩＤ毎に以下のステップを実行する（Ｓ１２）。
【０１２７】
管理コンピュータ４００は、Ｓ１２で抽出されたペアＩＤの中から一つを選択し、そのペアＩＤに関連づけられている全てのホストパスを抽出する（Ｓ１３）。具体的には、管理コンピュータ４００は、コピーペア管理テーブル１２００を参照して、アクティブボリュームとして登録されているボリュームＩＤ及びスタンバイボリュームとして登録されているボリュームＩＤをそれぞれ抽出する。管理コンピュータ４００は、ホストパス管理テーブル１３００を参照し、抽出されたボリュームＩＤと等しいソースボリュームＩＤに対応付けられているホストパスＩＤを全て抽出する。
【０１２８】
管理コンピュータ４００は、Ｓ１３で抽出されたホストパス毎に、以下のステップを実行する（Ｓ１４）。管理コンピュータ４００は、抽出されたホストパスの中からいずれか一つのホストパスを、ＰＡＴＨｎとして選択する（Ｓ１５）。
【０１２９】
図１２に移る。管理コンピュータ４００は、ホストパス管理テーブル１３００を参照し、ＰＡＴＨｎに対応するソースボリュームＩＤを抽出する（Ｓ１６）。管理コンピュータ４００は、コピーペア管理テーブル１２００を参照し、Ｓ１６で抽出されたソースボリュームＩＤと、アクティブボリュームＩＤ及びスタンバイボリュームＩＤとを照合する。これにより、管理コンピュータ４００は、Ｓ１６で抽出されたソースボリュームＩＤがクラスタペアのアクティブボリュームであるか否かを判別する（Ｓ１７）。
【０１３０】
ソースボリュームがアクティブボリュームである場合（S17:YES）、管理コンピュータ４００は、ホストパスＰＡＴＨｎの評価値Ａを１０に設定する（Ｓ１８）。ソースボリュームがアクティブボリュームではない場合（つまり、ソースボリュームがスタンバイボリュームである場合）、ホストパスＰＡＴＨｎの評価値Ａを５に設定する（Ｓ１９）。即ち、アクティブボリュームに繋がるホストパスには、スタンバイボリュームに繋がるホストパスに与えられる初期値（Ａ＝５）よりも高い初期値（Ａ＝１０）が与えられる。
【０１３１】
管理コンピュータ４００は、ホストパス管理テーブル１３００を参照して、ＰＡＴＨｎに係わるソースボリュームＩＤ及びポートＩＤを取得する。管理コンピュータ４００は、Ｓ１０で取得した障害情報または構成変更情報と、ＰＡＴＨｎに係わるソースボリュームＩＤ及びポートＩＤとを照合することにより、ホストパス上の一つまたは複数のコンポーネントが正常に動作しているか否かを判定する（Ｓ２０）。
【０１３２】
ホストパス上のコンポーネントとは、例えば、ホストパス上に設けられている装置または電気回路を意味する。本実施例では、ホストパス上のコンポーネントとして、ストレージ装置２００Ｍ，２００Ｒ内の各論理ボリューム２６０Ｍ，２６０Ｒと、各論理ボリューム２６０Ｍ，２６０Ｒに接続されている通信ポート（図４のホストインターフェース２１１）とを挙げる。
【０１３３】
各論理ボリューム２６０Ｍ，２６０Ｒは、キャッシュメモリ上に存在する仮想的ボリュームである。従って、実際には、各ストレージ装置２００Ｍ，２００Ｒ内の各キャッシュメモリ２３１が、ホストパス上のコンポーネントに対応する。
【０１３４】
なお、第１通信ネットワーク５００上に、スイッチ装置等が設けられている場合、そのスイッチ装置等も、ホストパス上のコンポーネントとして取り扱うことができる。
【０１３５】
「ホストパス上の一つまたは複数のコンポーネントの状態に基づいて」とは、「第１通信ネットワークの状態に基づいて」に対応する。なお、「ホストパス上の一つまたは複数のコンポーネントの状態に基づいて」を、「ホストパスの状態に基づいて」と言い換えても良い。
【０１３６】
管理コンピュータ４００は、Ｓ２０において、例えば、クラスタ構成を設定した際に定められた所定の基準を満たしているか否かを判断する。所定の基準としては、例えば、通信ポートに割り当てられた通信帯域を使用しているか、抽出されたコンポーネントが障害情報に記載されていないか等を挙げることができる。
【０１３７】
ホストパス上の各コンポーネントのいずれか一つでも正常に動作していない場合（S20:NO）、管理コンピュータ４００は、評価値Ａから第１所定値（例えば「３」）を差し引く（Ｓ２１）。従って、例えば、初期評価値Ａ＝１０を有するアクティブパスの場合、ホストパス上に何らかの問題があると、評価値Ａ＝７（＝１０−３）となる。同様に、初期評価値Ａ＝５を有するパッシブパス（スタンバイパス）に何らかの問題があると、評価値Ａ＝２（＝５−３）となる。
【０１３８】
ホストパス上の各コンポーネントが全て正常に動作している場合（S20:YES）、管理コンピュータ４００は、Ｓ２１をスキップしてＳ２２に移る。図１３を参照する。
【０１３９】
管理コンピュータ４００は、Ｓ１６で抽出されたソースボリューム２６０Ｍ，２６０Ｒに関連づけられている外部接続パスを、外部接続パス管理テーブル１４００を検索することにより、抽出する（Ｓ２２）。
【０１４０】
管理コンピュータ４００は、抽出された外部接続パスに対応する、外部接続ポートＩＤとターゲットポートＩＤとソースボリュームＩＤとを取得し、それら外部接続パス上の各コンポーネント（外部接続ポート、ターゲットポート、外部ボリューム）が全て正常に動作しているか否かを判定する（Ｓ２３）。
【０１４１】
「外部接続パス上の各コンポーネントの状態に基づいて」とは、「第２通信ネットワークの状態に基づいて」に対応する。なお、「外部接続パス上の一つまたは複数のコンポーネントの状態に基づいて」を、「外部接続パスの状態に基づいて」と言い換えることもできる。
【０１４２】
外部接続パス上の全コンポーネントのうちいずれか一つでも正常に動作していない場合（S23:NO）、管理コンピュータ４００は、評価値Ａから第２所定値（例えば「１」）を差し引く（Ｓ２４）。外部接続パス上の全コンポーネントが全て正常に動作している場合（S23:YES）、管理コンピュータ４００は、Ｓ２４をスキップする。
【０１４３】
管理コンピュータ４００は、Ｓ１４−Ｓ２４の各ステップを、Ｓ１３で抽出された全てのホストパスについて実施する（Ｓ２５）。
【０１４４】
管理コンピュータ４００は、各ホストパスについて算出された各評価値と図１４に示すホストパス評価テーブル１５００とに基づいて、各ホストパスの優先順位を決定し、所定の通知先に通知する（Ｓ２６）。所定の通知先としては、例えば、管理者、各ストレージ装置２００Ｍ，２００Ｒ、ホスト１００を挙げることができる。管理者と各ストレージ装置２００Ｍ，２００Ｒのように、複数の通知先に通知してもよい。
【０１４５】
管理コンピュータ４００は、クラスタ構成の各コピーペアについて、Ｓ１２−Ｓ２６の各ステップを実施する（Ｓ２７）。
【０１４６】
図１４は、ホストパスを評価するためのテーブル１５００を示す。ホストパス評価テーブル１５００は、他のテーブル１０００−１４００と同様に、管理コンピュータ４００内で管理される。
【０１４７】
ホストパス評価テーブル１５００は、例えば、評価値欄１５０１と、状態欄１５０２と、切り替え可否欄１５０３と、優先順位欄１５０４とを含む。
【０１４８】
評価値欄１５０１は、各ホストパスの最終評価値Ａを管理する。最終評価値Ａの取り得る値は、「１０」、「９」、「７」、「６」、「５」、「４」、「２」、「１」であり、「８」及び「３」は存在しない。初期値は「１０」と「５」であり、初期値から差し引かれる第１所定値は「３」、初期値から差し引かれる第２所定値は「１」であるため、上記の８つの値に限定される。初期値、第１所定値及び第２所定値の数値を変化させれば、最終評価値の取り得る値も変化する。
【０１４９】
状態欄１５０２は、各ホストパスの状態を示す。ホストパスの状態を示す指標として、アクティブパスであるかスタンバイパスであるかと、ホストパス上の各コンポーネントが正常であるか否かと、外部接続パス上の各コンポーネントが正常であるか否かとが、本実施例では使用される。
【０１５０】
ホストパスの最終評価値が「１０」であるということは、そのホストパスはアクティブパスであり、かつ、ホストパス上の各コンポーネントが全て正常に動作しており、かつ、ホストパスに対応する外部接続パス上の各コンポーネントも全て正常に動作している、状態を意味する。
【０１５１】
ホストパスの最終評価値が「９」であるということは、そのホストパスはアクティブであり、かつ、ホストパス上の各コンポーネントが全て正常に動作しているが、ホストパスに対応する外部接続上の各コンポーネントの少なくともいずれか一つに問題が生じている、状態を意味する。
【０１５２】
ホストパスの最終評価値が「７」であるということは、そのホストパスはアクティブパスであり、かつ、ホストパス上の各コンポーネントの少なくともいずれか一つに問題が生じており、かつ、ホストパスに対応する外部接続パス上の各コンポーネントは全て正常に動作している、状態を意味する。
【０１５３】
ホストパスの最終評価値が「６」であるということは、そのホストパスはアクティブパスであり、かつ、ホストパス上の各コンポーネントの少なくともいずれか一つに問題が生じており、かつ、ホストパスに対応する外部接続パス上の各コンポーネントのいずれか一つにも問題が生じている、状態を意味する。
【０１５４】
最終評価値が「５」、「４」、「２」、「１」の状態は、アクティブパスとスタンバイパスの相違以外、上述の最終評価値が「１０」、「９」、「７」、「６」の場合と同様である。
【０１５５】
切り替え可否欄１５０３は、各ホストパスへの切り替えが許可されるか否かを示す。つまり、切り替え可否欄１５０３には、各ホストパスが使用可能であるか否かを示す情報が設定される。
【０１５６】
優先順位欄１５０４は、各ホストパスに設定される優先順位を示す。図１４に示す例では、優先順位として、「１」、「２」、「閉塞」の３つを挙げる。優先順位「１」は、最も高い優先順位であり、最優先で選択されるホストパスであることを示す。優先順位「２」は、その次に高い優先順位であり、最高の優先順位を有するホストパスに障害が生じた場合に選択されるホストパスであることを示す。
【０１５７】
「閉塞」は、そのホストパスの使用禁止を意味する。切り替え可否欄１５０３に「否」と設定されたホストパスには、「閉塞」が設定される。「閉塞」は、最低の優先順位であると考えることができる。
【０１５８】
このように、本実施例では、アクティブパスの優先順位がスタンバイパスの優先順位よりも高くなるように評価値を算出し、かつ、ホストパス評価テーブル１５００を構成している。従って、現在使用中のアクティブパスがそのまま継続して使用される可能性を高くし、アクティブパスからスタンバイパスへのフェイルオーバの発生を抑制できる。
【０１５９】
優先順位が等しい複数のホストパスが存在する場合、交替パスプログラム１１２は、いずれか一つのホストパスを選択して使用する。例えば、優先順位「１」を有する複数のアクティブパスがある場合、交替パスプログラム１１２は、パスＩＤの小さい順番で、いずれか一つのアクティブパスを選択する。なお、交替パスプログラム１１２は、「閉塞」に設定されたホストパスの使用を禁止する。
【０１６０】
このように構成される本実施例によれば、第１通信ネットワーク５００上の各ホストパスの状態と第２通信ネットワーク上の各外部接続パスの状態とに基づいて、各ホストパスを再評価し、優先順位を再設定する。従って、何らかの障害が発生した場合に、より有効なホストパスに直ちに切り替えることができる。これにより、ストレージシステムの耐障害性を高めることができる。
【０１６１】
本実施例では、初期設定時の優先順位をそのまま継続して使用するのではなく、ストレージシステムの構成変更時または障害発生時に、各ホストパスを再評価し、優先順位を再設定する。ストレージシステムの最初の構成と、長期間運用された後のストレージシステムの構成とは、多くの場合、異なる。従って、初期設定された優先順位は、現在のストレージシステムの構成に必ずしも最適ではない場合がある。これに対し、本実施例では、ストレージシステムの構成変更または障害発生に応じて、各ホストパスの優先順位を動的に変更できるため、より適切なタイミングで、ストレージシステムの耐障害性を向上することができる。
【実施例２】
【０１６２】
図１５，図１６を参照して第２実施例を説明する。本実施例は、第１実施例の変形例に該当する。従って、第１実施例との相違を中心に説明する。本実施例では、複数のホストパス評価テーブル１５００を用意し、キャッシュヒット率に応じて切り替える。
【０１６３】
各ストレージ装置２００Ｍ，２００Ｒは、キャッシュメモリ２３１を用いて、ホスト１００からのＩ／Ｏを処理することができる。キャッシュメモリ２３１のサイズが、ホスト１００のビジネスアプリケーション１１１により使用されるボリュームのサイズよりも大きければ、ビジネスアプリケーション１１１の使用する全データをキャッシュメモリ２３１上に置いておくことができる。この場合、キャッシュヒット率は１００％となる。
【０１６４】
キャッシュヒット率が１００％である場合、ストレージ装置２００Ｍ，２００Ｒは、それぞれのキャッシュメモリ２３１上のデータを用いて、ホスト１００から発行されるライトコマンド及びリードコマンドを処理することができる。
【０１６５】
即ち、キャッシュヒット率が１００％の場合、ストレージ装置２００Ｍ，２００Ｒは、外部ボリューム３６０にアクセスすることなく、ホスト１００からのＩ／Ｏを処理して、その処理結果をホスト１００に返信することができる。
【０１６６】
そこで、本実施例では、第１実施例で述べたホストパス評価テーブル１５００に加えて、第２ホストパス評価テーブル１５００（２）を用意する。ここでは、両方のテーブルを明確に区別できるように、第１実施例で述べたホストパス評価テーブル１５００を第１ホストパス評価テーブル１５００（１）と呼ぶ。第２ホストパス評価テーブル１５００（２）の構成例は後述する。
【０１６７】
図１５は、ホストパス評価テーブルを切り替えるための処理を示す。本処理は、管理コンピュータ４００の通信パス管理プログラム４１１により実行される。便宜上、動作の主体を管理コンピュータ４００とする。
【０１６８】
管理コンピュータ４００は、ホスト１００からのＩ／Ｏを処理するたびに、キャッシュヒット率が１００％であるか否かを判定する（Ｓ３０）。キャッシュヒット率が１００％ではない場合（S30:NO）、管理コンピュータ４００は、図１４に示す第１ホストパス評価テーブル１５００（１）を選択する（Ｓ３１）。管理コンピュータ４００は、第１ホストパス評価テーブル１５００（１）を用いて、各ホストパスの優先順位を設定する。
【０１６９】
これに対し、キャッシュヒット率が１００％の場合（S30:YES）、管理コンピュータ４００は、第２ホストパス評価テーブル１５００（２）を選択する。管理コンピュータ４００は、第２ホストパス評価テーブル１５００（２）を用いて、各ホストパスの優先順位を設定する。
【０１７０】
図１６は、第２ホストパス評価テーブル１５００（２）の構成例を示す。第２ホストパス評価テーブル１５００（２）は、第１ホストパス評価テーブル１５００（１）と同様に、各欄１５０１−１５０４を備える。第１ホストパス評価テーブル１５００（１）と異なるのは、切り替え可否欄１５０３及び優先順位欄１５０４である。
【０１７１】
上述の通り、キャッシュヒット率が１００％の場合、ストレージ装置２００Ｍ，２００Ｒは、キャッシュメモリ２３１に記憶されたデータだけでホスト１００からのＩ／Ｏを処理することができ、外部ボリューム３６０にアクセスする必要はない。
【０１７２】
そこで、本実施例では、第２ホストパス評価テーブル１５００（２）では、対応する外部接続パスが正常ではないホストパスに「可」と設定し、そのホストパスを使用可能としている。
【０１７３】
従って、本実施例では、外部接続パスのみに問題が生じているホストパスを閉塞させずに、優先順位を設定する。対応する外部接続パスにのみ問題が生じているホストパスには、完全に正常なホストパスの優先順位よりも低い優先順位が設定される。
【０１７４】
図示の例では、完全に正常なアクティブパスの優先順位は「１」であり、対応する外部接続パスのみに問題のあるアクティブパスの優先順位は「２」となる。完全に正常なスタンバイパスの優先順位は「３」であり、対応する外部接続パスのみに問題のあるスタンバイパスの優先順位は「４」となる。
【０１７５】
重要な点は、外部接続パスにのみ問題のあるアクティブパスは、完全に正常なスタンバイパスよりも高い優先順位に設定されることである。これにより、アクティブ側のパスから順番に選択させて、フェイルオーバの発生を抑制できる。
【０１７６】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、キャッシュヒット率１００％の場合に、第１ホストパス評価テーブル１５００（１）から第２ホストパス評価テーブル１５００（２）に切り替え、外部接続パスにのみ問題のあるホストパスも使用できる。従って、より適切にホストパスを管理できる。
【実施例３】
【０１７７】
図１７，図１８を参照して第３実施例を説明する。本実施例では、通信パスを管理するプログラム２３２１を第１ストレージ装置２００Ｍに内蔵し、さらに、ホスト１００からの問い合わせに応答する際に、優先順位をホスト１００に通知する。
【０１７８】
図１７は、本実施例によるストレージシステムの全体構成図である。本実施例では、管理コンピュータ４００は廃止されている。管理コンピュータ４００の機能は、各ストレージ装置２００Ｍ，２００Ｒに分散される。
【０１７９】
第１ストレージ装置２００Ｍには、通信パス管理プログラム２３２１と、優先順位通知プログラム２３２２Ｍとが設けられる。第２ストレージ装置２００Ｒには、他の優先順位通知プログラム２３２２Ｒが設けられる。
【０１８０】
通信パス管理プログラム２３２１は、第１実施例で述べた通信パス管理プログラム４１１と同様の機能を発揮する。即ち、通信パス管理プログラム２３２１は、第１通信ネットワークの状態（ホストパス上の各コンポーネントの状態）と第２通信ネットワークの状態（外部接続パス上の各コンポーネントの状態）とに基づいて、各ホストパスの優先順位を設定する。
【０１８１】
通信パス管理プログラム２３２１は、設定された優先順位を、優先順位通知プログラム２３２２Ｍ，２３２２Ｒに通知する。優先順位通知プログラム２３２２Ｍ，２３２２Ｒは、ホスト１００からのパス状態の問い合わせに応じて、通信パス管理プログラム２３２１から通知された優先順位をホスト１００に通知する。
【０１８２】
図１８は、各ストレージ装置２００Ｍ，２００Ｒが各ホストパスの優先順位をホスト１００に通知する処理を示すフローチャートである。本処理は、優先順位通知プログラム２３２２Ｍ，２３２２Ｒにより実行される。以下の説明では、動作の主体をストレージ装置として説明する。
【０１８３】
ストレージ装置は、通信パス管理プログラム２３２１から、自装置に関連する各ホストパスの優先順位を受信する（Ｓ４０）。ストレージ装置は、受信した優先順位をメモリに記憶させる（Ｓ４１）。ストレージ装置は、各ホストパスの古い優先順位を、新しい優先順位で上書きする。
【０１８４】
ホスト１００は、定期的にまたは不定期に、ホストパスの状態をストレージ装置に問い合わせる。ホストパス状態の問合せを、本実施例では、パスヘルスチェックと呼ぶ。パスヘルスチェックが発生した場合（S42:YES）、ストレージ装置は、パスヘルスチェックへの応答として、メモリに記憶されている最新の優先順位を通知する（Ｓ４３）。
【０１８５】
このように構成される本実施例も第１実施例と同様の効果を奏する。さらに、本実施例では、ホスト１００からの問い合わせに応じて、ストレージ装置２００Ｍ，２００Ｒが各ホストパスの優先順位を通知することができる。
【０１８６】
なお、本発明は、上述した実施形態に限定されない。当業者であれば、例えば、上記各実施例を適宜組み合わせる等のように、本発明の範囲内で、種々の追加や変更等を行うことができる。例えば、第１実施例と第３実施例とを組合せ、管理コンピュータから各ストレージ装置に優先順位を通知し、各ストレージ装置はホストからの問い合わせに応じて優先順位を通知する構成としてもよい。
【符号の説明】
【０１８７】
１００：ホストコンピュータ、１１１：アプリケーションプログラム、１１２：交替パスプログラム、２００Ｍ：第１ストレージ装置、２００Ｒ：第２ストレージ装置、２３１Ｍ，２３１Ｒ：キャッシュメモリ、２６０Ｍ：第１論理ボリューム、２６０Ｒ：第２論理ボリューム、３００：外部ストレージ装置、３６０：外部ボリューム、４００：管理コンピュータ、５００：第１通信ネットワーク、６００：第２通信ネットワーク
【図１】
2012531654.tif 000003
【図２】
2012531654.tif 000004
【図３】
2012531654.tif 000005
【図４】
2012531654.tif 000006
【図５】
2012531654.tif 000007
【図６】
2012531654.tif 000008
【図７】
2012531654.tif 000009
【図８】
2012531654.tif 000010
【図９】
2012531654.tif 000011
【図１０】
2012531654.tif 000012
【図１１】
2012531654.tif 000013
【図１２】
2012531654.tif 000014
【図１３】
2012531654.tif 000015
【図１４】
2012531654.tif 000016
【図１５】
2012531654.tif 000017
【図１６】
2012531654.tif 000018
【図１７】
2012531654.tif 000019
【図１８】
2012531654.tif 000020
【国際調査報告】
2012531654.tif 000021
2012531654.tif 000022