(57)【要約】【課題】ホスト障害時にもシステムの運用ができるストレージネットワークシステムを提供する。【解決手段】データを格納する第１、第２及び第３のストレージシステムを備え、第１、第２及び第３のストレージシステムは互いに接続され、第１のストレージシステムには正ホスト計算機が接続され、第２のストレージシステムには副ホスト計算機が接続され、ストレージシステム間のデータの転送を管理する管理部を備える計算機システムにおいて、管理部は、正ホスト計算機が動作中は、第１のストレージシステムに格納されるデータを第２のストレージシステムに転送し、第２のストレージシステムに格納されるデータを第３のストレージシステムに転送するように設定し、副ホスト計算機が動作中は、第２のストレージシステムに格納されるデータを第１のストレージシステムに転送し、第１のストレージシステムに格納されるデータを第３のストレージシステムに転送するように設定する。【選択図】  図１
2006139477.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する第１、第２及び第３のストレージシステムを備え、前記第１、第２及び第３のストレージシステムは互いに接続され、前記第１のストレージシステムには正ホスト計算機が接続され、前記第２のストレージシステムには副ホスト計算機が接続され、前記ストレージシステム間のデータの転送を管理する管理部を備える計算機システムにおいて、
前記管理部は、
前記正ホスト計算機が動作中は、前記第１のストレージシステムに格納されるデータを前記第２のストレージシステムに転送し、前記第２のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定し、
前記副ホスト計算機が動作中は、前記第２のストレージシステムに格納されるデータを前記第１のストレージシステムに転送し、前記第１のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定することを特徴とする計算機システム。
【請求項２】
前記第１のストレージシステムと前記第２のストレージシステムとの間では、同期コピーによってデータが転送され、
前記第１のストレージシステムと前記第３のストレージシステムとの間では、非同期コピーによってデータが転送され、
前記第２のストレージシステムと前記第３のストレージシステムとの間では、非同期コピーによってデータが転送されることを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記管理部は、
前記正ホスト計算機が動作中は、前記第２のストレージシステムから前記第３のストレージシステムに、データを非同期コピーする経路を設定し、
前記副ホスト計算機が動作中は、前記第１のストレージシステムから前記第３のストレージシステムに、データを非同期コピーする経路を設定することを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記管理部は、
前記正ホスト計算機が動作中は、前記第１のストレージシステムから前記第２のストレージシステムに、データを同期コピーする経路を設定し、
前記副ホスト計算機が動作中は、前記コピー経路を、前記第２のストレージシステムから前記第１のストレージシステムへの同期コピーが行われるように変更することを特徴とする請求項１に記載の計算機システム。
【請求項５】
データを格納する第１、第２及び第３のストレージシステムを備え、前記第１、第２及び第３のストレージシステムは互いに接続され、前記第１のストレージシステムには正ホスト計算機が接続され、前記第２のストレージシステムには副ホスト計算機が接続される計算機システムにおいて、前記ストレージシステム間のデータの転送を管理する方法であって、
前記正ホスト計算機が動作中は、前記第１のストレージシステムに格納されるデータを前記第２のストレージシステムに転送し、前記第２のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定し、
前記副ホスト計算機が動作中は、前記第２のストレージシステムに格納されるデータを前記第１のストレージシステムに転送し、前記第１のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定することを特徴とする管理方法。
【請求項６】
前記第１のストレージシステムと前記第２のストレージシステムとの間では、同期コピーによってデータが転送されるように設定し、
前記第１のストレージシステムと前記第３のストレージシステムとの間では、非同期コピーによってデータが転送されるように設定し、
前記第２のストレージシステムと前記第３のストレージシステムとの間では、非同期コピーによってデータが転送されるように設定することを特徴とする請求項５に記載の管理方法。
【請求項７】
前記正ホスト計算機が動作中は、前記第２のストレージシステムから前記第３のストレージシステムに、データを非同期コピーする経路を設定し、
前記副ホスト計算機が動作中は、前記第１のストレージシステムから前記第３のストレージシステムに、データを非同期コピーする経路を設定することを特徴とする請求項５に記載の管理方法。
【請求項８】
前記正ホスト計算機が動作中は、前記第１のストレージシステムから前記第２のストレージシステムに、データを同期コピーする経路を設定し、
前記副ホスト計算機が動作中は、前記コピー経路を、前記第２のストレージシステムから前記第１のストレージシステムへの同期コピーが行われるように変更することを特徴とする請求項５に記載の管理方法。
【請求項９】
前記計算機システムは、さらに、前記計算機の障害を検知する端末を備え、前記端末は、前記第１ストレージシステム、前記第２ストレージシステム、前記第３のストレージシステム、前記正ホスト計算機及び前記副ホスト計算機と、前記各ストレージシステムへのデータの転送に用いられる回線とは別の回線によって接続され、
前記端末が前記計算機の障害の発生を検知し、前記副ホスト計算機が動作を開始するときに、
前記管理部は、前記第２のストレージシステムに格納されるデータを前記第１のストレージシステムに転送するよう設定し、前記第１のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定することを特徴とする請求項５に記載の管理方法。
【請求項１０】
データを格納する第１、第２及び第３のストレージシステムを備え、前記第１、第２及び第３のストレージシステムは互いに接続され、前記ストレージシステム間のデータの転送を管理する管理部を備えるストレージネットワークシステムにおいて、
前記第１のストレージシステムは、第１のストレージシステムと正ホスト計算機とを備え、
前記第２のストレージシステムは、第２のストレージシステムと副ホスト計算機とを備え、
前記第３のストレージシステムは、第３のストレージシステムを備え、
前記第１のストレージシステムは、
前記正ホスト計算機が動作中は、前記正ホスト計算機から転送されるデータを前記第１のストレージシステムに格納し、前記第１のストレージシステムに格納されるデータを前記第２のストレージシステムに転送し、
前記副ホスト計算機が動作中は、前記第２のストレージシステムから転送されるデータを前記第１のストレージシステムに格納することを特徴とするストレージネットワークシステム。
【請求項１１】
前記第２のストレージシステムは、
前記正ホスト計算機が動作中は、前記第１のストレージシステムから転送されるデータを前記第２のストレージシステムに格納し、
前記副ホスト計算機が動作中は、前記副ホスト計算機から転送されるデータを前記第２のストレージシステムに格納し、前記第２のストレージシステムに格納されるデータを前記第１のストレージシステムに転送することを特徴とする請求項１０に記載のストレージネットワークシステム。
【請求項１２】
前記第３のストレージシステムは、
前記正ホスト計算機が動作中は、前記第２のストレージシステムから転送されるデータを前記第３のストレージシステムに格納し、
前記副ホスト計算機が動作中は、前記第１のストレージシステムから転送されるデータを前記第３のストレージシステムに格納することを特徴とする請求項１０に記載のストレージネットワークシステム。
【請求項１３】
データを格納する第１、第２及び第３のストレージシステムを備え、前記第１、第２及び第３のストレージシステムは互いに接続され、前記ストレージシステム間のデータの転送を管理する管理部を備えるストレージネットワークシステムにおいて、
前記第１のストレージシステムは、第１のストレージシステムと正ホスト計算機とを備え、
前記第２のストレージシステムは、第２のストレージシステムと副ホスト計算機とを備え、
前記第３のストレージシステムは、第３のストレージシステムを備え、
前記管理部は、
前記正ホスト計算機が動作中は、
前記第１のストレージシステムから前記第２のストレージシステムにデータを同期コピーする第１の経路を設定し、前記第１の経路によって前記第１のストレージシステムに格納されるデータを前記第２のストレージシステムに転送し、
前記第２のストレージシステムから前記第３のストレージシステムにデータを非同期コピーする第２の経路を設定し、前記第２の経路によって、前記第２のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定し；
前記副ホスト計算機が動作中は、
前記第１の経路を、前記第２のストレージシステムから前記第１のストレージシステムへの同期コピーが行われるように変更し、当該経路によって、前記第２のストレージシステムに格納されるデータを前記第１のストレージシステムに転送するよう設定し、
前記第１のストレージシステムから前記第３のストレージシステムにデータを非同期コピーする第３の経路を設定し、前記第３の経路によって、前記第１のストレージシステムに格納されるデータを前記第３のストレージシステムに転送するように設定することを特徴とするストレージネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ホスト障害時にもシステムの運用ができる計算機システム又はストレージネットワークシステムに関する。
【背景技術】
【０００２】
複数のサイトにホストやストレージを設置し、災害発生時にも障害を最小限に抑え、業務の運用を速やかに再開可能なストレージシステムがある。
【０００３】
災害は、大規模な転載やテロリズム等によってサイト設置場所のビルや都市全体が大きく損害を受けること（地域被災）が想定される。このような災害に備えるため、ホスト間を長距離隔てて設置し、一方に障害が発生した場合は、他方のサイトにシステムの運用を切り換える。
【０００４】
このようなシステムとして、付近地に存在する２つのデータセンタ間は同期転送によるコピー機能を用いた接続構成とする。これらのうち１つのデータセンタと、遠隔地に存在する第３のデータセンタとの間は、非同期リモートコピー機能で接続し、付近地に存在する記憶サブシステムがホストから受領したデータの順序性を常時、保証しつつ第３のデータセンタが、そのデータを保持する。更に、正常運用の際には直接にデータ転送を行なわない２つのデータセンタに設置された記憶サブシステムの間で、データ転送・受領・更新の進捗状態を把握する機能を、各記憶サブシステムに設ける広域データストレージシステムがある（特許文献１参照。）。
【０００５】
この従来技術のようなストレージシステムにおいて、地域被災が発生し、運用側のデータセンタに障害が発生した場合を考える。この場合は、運用側のデータセンタから遠隔地のデータセンタにシステムが切り換えられる。なお、この切り換えをフェイルオーバー（Fail Over）と呼ぶ。
【特許文献１】特開２００１−１７５６８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来技術において、地域被災だけでなく、データセンタのホスト単体の障害、例えば、ホストがハード的な障害によって停止した場合にも、同様にフェイルオーバーし、システムが切り換えられる。
【０００７】
フェイルオーバー後は、遠隔地データセンタのホストが運用を開始する。このとき、遠隔地データセンタとは非同期リモートコピーなので、データが消滅する可能性があり、データの信頼度が低下する。
【課題を解決するための手段】
【０００８】
本発明は、データを格納する第１、第２及び第３のストレージシステムを備え、第１、第２及び第３のストレージシステムは互いに接続され、第１のストレージシステムには正ホスト計算機が接続され、第２のストレージシステムには副ホスト計算機が接続され、ストレージシステム間のデータの転送を管理する管理部を備える計算機システムにおいて、管理部は、正ホスト計算機が動作中は、第１のストレージシステムに格納されるデータを第２のストレージシステムに転送し、第２のストレージシステムに格納されるデータを第３のストレージシステムに転送するように設定し、副ホスト計算機が動作中は、第２のストレージシステムに格納されるデータを第１のストレージシステムに転送し、第１のストレージシステムに格納されるデータを第３のストレージシステムに転送するように設定することを特徴とする。
【発明の効果】
【０００９】
障害の発生にストレージシステム間に設定されている経路及び転送の群を変更することで、サービスの運用を停止することなく続行でき、データのロストの発生を防ぐことができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１１】
図１は、ストレージネットワークシステムのブロック図である。
【００１２】
本実施形態のストレージネットワークシステムは、正ストレージシステム（正ストレージシステム）１０、副ストレージシステム（副ストレージシステム）２０及び遠隔地ストレージシステム（遠隔地ストレージシステム）３０の三つのサイトによって構成される。
【００１３】
正ストレージシステム１０及び副ストレージシステム２０は付近地に設置される。遠隔地ストレージシステム３０は、正ストレージシステム１０及び副ストレージシステム２０から遠隔地に設置される。
【００１４】
正ストレージシステム１０は、正ホスト１００、正ストレージ制御装置２００及びディスク装置２６０Ａ、２６０Ｂによって構成される。
【００１５】
正ホスト１００は、正ストレージ制御装置２００に要求を送り、その結果を受け取って、各種演算処理をする計算機である。
【００１６】
正ホスト１００は、プロセッサ１１０、メモリ１２０及びＩ／Ｏポート１３０によって構成される。これらは通信バス１４０によって互いに接続される。
【００１７】
プロセッサ１１０は、メモリ１２０に格納されたプログラム等を読み込み、これを実行することで、正ホスト１００の処理を制御する。Ｉ／Ｏポート１３０は、正ストレージ制御装置２００とのデータを送受信する。
【００１８】
正ストレージ制御装置２００は、ホストアダプタ（２１０Ａ、２１０Ｂ、２１０Ｃ）、クロスバスイッチ２２０、キャッシュメモリ２３０、共有メモリ２４０及びディスクアダプタ２５０によって構成される。
【００１９】
ホストアダプタ２１０は、正ホスト１００又は他のストレージ制御装置（副ストレージ制御装置４００、遠隔地ストレージ制御装置５００）と通信路によって接続され、データを送受信する。本実施形態では、ホストアダプタ２１０Ａが正ホスト１００に接続され、ホストアダプタ２１０Ｂが遠隔地ストレージ制御装置５００に接続され、ホストアダプタ２１０Ｃが副ストレージ制御装置４００に接続されている。
【００２０】
クロスバスイッチ２２０は、正ストレージ制御装置２００の各部が互いに送受信するデータを転送する。
【００２１】
キャッシュメモリ２３０は、ディスク装置２６０に読み書きされるデータが一時的に格納される。
【００２２】
共有メモリ２４０は、正ストレージ制御装置２００の構成の情報が格納される。
【００２３】
ディスクアダプタ２５０Ａ及び２５０Ｂは、ディスク装置２６０とのデータを送受信する。この二つのディスクアダプタによって冗長構成となっている。ディスクアダプタ２５０Ａ及び２５０Ｂは、ＳＣＳＩ、ＦｉｂｒｅＣｈａｎｎｅｌ等のプロトコルに基づいてデータを送受信する。
【００２４】
ディスク装置２６０Ａ及び２６０Ｂはデータを格納する。なお、二つの物理的な装置が存在するのではなく、図５に示すように複数のハードディスクがＲＡＩＤ構成等によって論理的なディスク装置を構成する。この論理的なディスク装置を、ディスク装置２６０Ａ及び２６０Ｂとして図示している。さらにディスク装置２６０Ａ及び２６０Ｂには、複数の論理ボリュームを設定できる。
【００２５】
副ストレージシステム２０は、副ホスト３００、副ストレージ制御装置４００及びディスク装置４６０Ａ、４６０Ｂから構成される。
【００２６】
副ホスト３００は、プロセッサ３１０、メモリ３２０及びＩ／Ｏポート３３０によって構成される。これらは通信バス３４０によって互いに接続される。
【００２７】
副ストレージ制御装置４００は、ホストアダプタ（４１０Ａ、４１０Ｂ、４１０Ｃ）、クロスバスイッチ４２０、キャッシュメモリ４３０、共有メモリ４４０及びディスクアダプタ４５０によって構成される。
【００２８】
本実施形態では、ホストアダプタ４１０Ａが副ホスト３００に接続され、ホストアダプタ４１０Ｂが正ストレージ制御装置２００に接続され、ホストアダプタ４１０Ｃが遠隔地ストレージ制御装置５００に接続されている。
【００２９】
なお、副ホスト３００は前述した正ストレージシステム１０の正ホスト１００と同じ構成である。また、副ストレージ制御装置４００及びディスク装置４６０Ａ、４６０Ｂは、前述した正ストレージシステム１０の、正ストレージ制御装置２００及びディスク装置２６０Ａ、２６０Ｂと同じ構成である。
【００３０】
遠隔地ストレージシステム３０は、遠隔地ストレージ制御装置５００及びディスク装置５６０から構成される。なお、遠隔地ストレージシステム３０には、ホストは備えられない。
【００３１】
遠隔地ストレージ制御装置５００は、ホストアダプタ（５１０Ａ、５１０Ｂ）、クロスバスイッチ５２０、キャッシュメモリ５３０、共有メモリ５４０及びディスクアダプタ５５０によって構成される。
【００３２】
本実施形態では、ホストアダプタ５１０Ａが正ホスト１００に接続され、５１０Ｃが副ストレージ制御装置４００に接続されている。
【００３３】
図２は、正ホスト１００のブロック図である。
【００３４】
前述したように、正ホスト１００は、プロセッサ１１０、メモリ１２０及びＩ／Ｏポート１３０によって構成される。これらは通信バス１４０によって互いに接続される。
【００３５】
メモリ１２０には、トポロジ制御プログラム１２０１、ストレージ制御プログラム１２０２、ＯＳ１２０３及びアプリケーション１２０４が格納される。これらは予め記録媒体（例えば、ハードディスク）に記録され、この記録媒体から読み出されメモリ１２０に格納される。
【００３６】
また、メモリ１２０には、ストレージシステム情報テーブル１２０５、コピーグループ情報テーブル１２０６、パス構成情報テーブル１２０７、パスコピーグループ関連テーブル１２０８及びルートリスト１２０９が格納される。
【００３７】
ＯＳ１２０３は、正ホスト１００の各構成を制御する基本ソフトウェアであり、プロセッサ１１０によって実行される。
【００３８】
トポロジ制御プログラム１２０１は、プロセッサ１１０によって実行されて、ストレージネットワークシステムの論理的な構成（トポロジ）を管理する。
【００３９】
ストレージ制御プログラム１２０２は、プロセッサ１１０によって実行されて、正ストレージ制御装置２００へのデータの読み書きを指示する。また、ストレージ制御プログラム１２０２は、正ストレージ制御装置２００、副ストレージ制御装置４００及び遠隔地ストレージ制御装置５００のパスやコピーペア、コピーグループ等を管理する管理部として機能する。
【００４０】
アプリケーション１２０４は、プロセッサ１１０によって実行されて、ストレージネットワークシステムが提供するサービスを実行する。
【００４１】
ストレージシステム情報テーブル１２０５は、ストレージ制御装置の識別子、論理ボリュームの識別子を格納する。
【００４２】
コピーグループ情報テーブル１２０６は、設定されたコピーグループの情報を格納する。
【００４３】
パス構成情報テーブル１２０７は、設定されたパスの定義の構成情報を格納する。
【００４４】
パスコピーグループ関連テーブル１２０８は、パスとコピーグループとの関連を格納する。
【００４５】
ルートリスト１２０９は、正ストレージ制御装置２００と他のストレージ制御装置（副ストレージ制御装置４００、遠隔地ストレージ制御装置５００）との経路の情報を格納する。
【００４６】
図３は、正ストレージ制御装置２００のブロック図である。
【００４７】
前述したように、正ストレージ制御装置２００は、ホストアダプタ（２１０Ａ、２１０Ｂ、２１０Ｃ）、クロスバスイッチ２２０、キャッシュメモリ２３０、共有メモリ２４０及びディスクアダプタ２５０Ａ、２５０Ｂによって構成される。これらはクロスバスイッチ２２０によって互いに接続されている。
【００４８】
キャッシュメモリ２３０には、ライトデータ２３０１及び更新情報２３０２が格納される。ライトデータ２３０１は、要求に係るデータである。更新情報２３０２は、キャッシュメモリ２３０にデータが格納された場合に、そのデータの情報である。
【００４９】
共有メモリ２４０には、ボリューム管理テーブル２４０１、コピー処理障害管理テーブル２４０２、ペア管理テーブル２４０３及びパス管理テーブル２４０４が格納される。
【００５０】
ボリューム管理テーブル２４０１は、ディスク装置２６０Ａ及び２６０Ｂに設定された論理ボリュームの情報が格納される。
【００５１】
コピー処理障害管理テーブル２４０２は、ボリューム間のコピー時に障害が発生した場合に、その障害の情報が格納される。
【００５２】
ペア管理テーブル２４０３は、論理ボリュームに設定されるコピーペアの情報が格納される。
【００５３】
パス管理テーブル２４０４は、ストレージシステム（正ストレージシステム１０、副ストレージシステム２０及び遠隔地ストレージシステム３０）の間で定義されるパスの情報が格納される。
【００５４】
図４は、ホストアダプタ２１０のブロック図である。
【００５５】
ホストアダプタ２１０は、プロセッサ２１１、メモリ２１２、Ｉ／Ｏポート２１３及びＩ／Ｏポート２１４によって構成される。これらは通信バス２１５によって互いに接続される。
【００５６】
プロセッサ２１１は、メモリ２１２に格納されたプログラムを読み込み、これを実行することで、ホストアダプタ２１０の処理を実行する。
【００５７】
メモリ２１２には、コピー管理プログラム２１２１、パス管理プログラム２１２２、障害監視マネージャ２１２３、内部通信管理プログラム２１２４及び外部通信管理プログラム２１２５が格納される。
【００５８】
コピー管理プログラム２１２１は、プロセッサ２１１によって実行されて、論理ボリュームのコピーを制御する。
【００５９】
パス管理プログラム２１２２は、プロセッサ２１１によって実行されて、ストレージシステム間（正ストレージシステム１０、副ストレージシステム２０及び遠隔地ストレージシステム３０）で定義されるパスを制御する。
【００６０】
障害監視マネージャ２１２３は、プロセッサ２１１によって実行されて、正ホスト１００の障害の有無を監視する。
【００６１】
内部通信管理プログラム２１２４は、プロセッサ２１１によって実行されて、正ストレージ制御装置２００内部、すなわち、クロスバスイッチ２２０を介した正ストレージ制御装置２００の他の構成との内部通信を制御する。
【００６２】
外部通信管理プログラム２１２５は、プロセッサ２１１によって実行されて、正ストレージ制御装置２００外部、すなわち、正ホスト１００又は他のストレージ制御装置（副ストレージ制御装置４００及び遠隔地ストレージ制御装置５００）との外部通信を制御する。
【００６３】
Ｉ／Ｏポート２１３は、正ストレージ制御装置２００に接続されている正ホスト１００又は他のストレージ制御装置（副ストレージ制御装置４００及び遠隔地ストレージ制御装置５００）との間でデータを送受信する。
【００６４】
Ｉ／Ｏポート２１４は、クロスバスイッチ２２０を介した正ストレージ制御装置２００内部の他の構成との間でデータを送受信する。
【００６５】
図５は、ディスクアダプタ２５０及びディスク装置２６０のブロック図である。
【００６６】
本発明の実施の形態のディスクアダプタ２５０は、二つのディスクアダプタ２５０Ａ及び２５０Ｂによる冗長構成となっている。また、ディスク装置２６０Ａ及び２６０Ｂは、複数のハードディスク（２６１Ａ〜２６１Ｎ）によって構成される。この複数のハードディスク（２６１Ａ〜２６１Ｎ）がＲＡＩＤ構成等によって論理的なディスク装置２６０Ａ及び２６０Ｂを構成する。ディスク装置２６０Ａ及び２６０Ｂには、複数の論理ボリュームを設定できる。
【００６７】
ディスクアダプタ２５０は、プロセッサ２５１、メモリ２５２、ポート２５３及びＩ／Ｏポート２５４によって構成される。これらは通信バス２５５によって互いに接続される。
【００６８】
プロセッサ２５１は、メモリ２５２に格納されたプログラム等を読み込み、これを実行することで、ホストアダプタ２１０の処理を制御する。
【００６９】
メモリ２５２には、ディスク管理プログラム２５２１及び内部通信管理プログラム２５２２が格納される。
【００７０】
ディスク管理プログラム２５２１は、プロセッサ２５１によって実行されることで、ハードディスク２６１へのデータの読み書きを制御する。
【００７１】
内部通信管理プログラム２５２２は、プロセッサ２５１によって実行されることで、正ストレージ制御装置２００内部、すなわち、クロスバスイッチ２２０を介した正ストレージ制御装置２００内部の他の構成との内部通信を制御する。
【００７２】
ポート２５３は、クロスバスイッチ２２０を介した正ストレージ制御装置２００内部の他の構成とでデータを送受信する。
【００７３】
ポート２５４は、ＳＣＳＩ、ＦｉｂｒｅＣｈａｎｎｅｌ等のプロトコルに基づいて、ハードディスク２６１とでデータを送受信する。
【００７４】
次に、図１を参照して、本発明の実施の形態のストレージネットワークシステムの動作を説明する。
【００７５】
本発明の実施の形態のストレージネットワークシステムは、正ストレージシステム１０、副ストレージシステム２０及び遠隔地ストレージシステム３０によって構成される。まず、これらのシステム間の関係を説明する。
【００７６】
ストレージネットワークシステムの運用時は、正ストレージシステム１０と副ストレージシステム２０とは、同期状態であり、副ストレージシステム２０と遠隔地ストレージシステム３０とは、非同期状態である。
【００７７】
正ホスト１００から正ストレージ制御装置２００にＩ／Ｏ指示が発行されると、正ストレージ制御装置２００は、受け取ったＩ／Ｏ指示の内容を解析し、これを処理する。
【００７８】
このＩ／Ｏ指示が書き込み要求である場合は、正ストレージ制御装置２００はディスク装置２６０に、書き込み要求に係るデータを書き込む。このとき、正ストレージ制御装置２００と同期状態の副ストレージシステム２０の副ストレージ制御装置４００に同期リモートコピーが実行される。
【００７９】
同期リモートコピーでは、正ストレージシステム１０のディスク装置２６０の論理ボリュームにデータが書き込まれると、副ストレージシステム２０のディスク装置４６０の論理ボリュームに、当該書き込み要求に係るデータが転送される。正ストレージ制御装置２００は、副ストレージ制御装置４００に転送されたデータの書き込み処理の完了の応答の後に、Ｉ／Ｏ指示の発行元の正ホスト１００にＩ／Ｏ指示の完了の応答を送る。
【００８０】
従って、同期状態では、正ストレージシステム１０のディスク装置２６０の論理ボリュームと、副ストレージシステム２０のディスク装置４６０の論理ボリュームとは、常に同じ内容となる。従って、正ストレージシステム１０又は副ストレージシステム２０の何れか一方に障害が発生した場合にも、ディスク装置２６０又はディスク装置４６０の何れか一方の論理ボリュームに保存されたデータによって、業務の運用ができる。
【００８１】
一方、副ストレージシステム２０の副ストレージ制御装置４００は、正ホスト１００から、正ストレージ制御装置２００を介して送られたＩ／Ｏ指示が書き込み要求である場合は、非同期状態の遠隔地ストレージシステム３０の遠隔地ストレージ制御装置５００に非同期リモートコピーが実行される。
【００８２】
非同期リモートコピーでは、副ストレージシステム２０のディスク装置４６０の論理ボリュームにデータが書き込まれると、遠隔地ストレージシステム３０の遠隔地ストレージ制御装置５００に、任意のタイミングで、当該書き込みデータが転送される。副ストレージ制御装置４００は、遠隔地ストレージ制御装置５００に転送された書き込みデータの処理の完了の応答を待つことなく、Ｉ／Ｏ指示の発行元の正ホスト１００に、Ｉ／Ｏ指示の完了の応答を送る。
【００８３】
従って、副ストレージシステム２０が書き込みデータの処理の完了の応答をしたタイミングでは、遠隔地ストレージシステム３０のディスク装置５６０の論理ボリュームへの複写が完了しているとは限らない。従って、副ストレージシステム２０のディスク装置４６０の論理ボリュームと遠隔地ストレージシステム３０のディスク装置５６０の論理ボリュームとは、常に同じ内容であるとは限らない。
【００８４】
非同期リモートコピーでは、コピー先のストレージシステムからの応答を待たずに、上位ストレージシステムに応答する。従って、ストレージシステム間の回線帯域が不十分な場合にも、ホストの処理を遅らせることなくストレージシステム間の論理ボリュームの内容を転送することができる。
【００８５】
次に、正ホスト１００からＩ／Ｏ指示が発行された場合の処理を説明する。
【００８６】
正ホスト１００から発行されたＩ／Ｏ指示は、正ストレージ制御装置２００内のホストアダプタ２１０が受け取る。
【００８７】
ホストアダプタ２１０のプロセッサ２１１は、受け取ったＩ／Ｏ指示をメモリ２１２に格納する。次に、プロセッサ２１１は、格納したＩ／Ｏ指示を解析し、当該Ｉ／Ｏ指示の内容を取得する。なお、格納したＩ／Ｏ指示の内容が正当なものでないと判定した場合は、プロセッサ２１１は、Ｉ／Ｏ指示を送信した正ホスト１００にエラーである旨を通知する。
【００８８】
取得したＩ／Ｏ指示の内容がコピー制御指示であると判定した場合は、ホストアダプタ２１０のプロセッサ２１１は、当該コピー制御指示に基づいたコピー開始指示を作成し、クロスバスイッチ２２０を介して共有メモリ２４０に格納する。
【００８９】
ディスクアダプタ２５０のプロセッサ２５１は、定期的に共有メモリ２４０を調査し、指示があるか否かを判定している。プロセッサ２５１が、共有メモリ２４０にコピー開始指示が格納されていると判定した場合は、当該コピー開始指示を取得し、取得したコピー開始指示に基づいて論理ボリュームのコピー処理を行う。例えば、指示の内容が同期リモートコピー開始指示であった場合は、プロセッサ２５１は、当該同期リモートコピー開始指示に基づいて、コピー元の論理ボリュームの内容をコピー先の副ストレージ制御装置４００のディスク装置４６０の論理ボリュームに転送する。
【００９０】
プロセッサ２５１は、コピー開始指示に基づいた処理が完了すると、共有メモリ２４０に当該コピー開始指示の完了のメッセージを格納する。
【００９１】
ホストアダプタ２１０のプロセッサ２１１は、定期的に共有メモリ２４０を調査し、メッセージがあるか否かを判定している。完了のメッセージがあると判定した場合は、プロセッサ２１１は、当該メッセージを取得し、Ｉ／Ｏ指示の発行元の正ホスト１００にＩ／Ｏ指示の完了を通知する。
【００９２】
取得したＩ／Ｏ指示の内容が書き込み指示であると判定した場合は、ホストアダプタ２１０のプロセッサ２１１は、当該書き込み指示に示されたライトデータを、クロスバスイッチ２２０を介してキャッシュメモリ２３０に格納する。
【００９３】
ディスクアダプタ２５０のプロセッサ２５１は、キャッシュメモリ２３０にライトデータが格納されると、当該ライトデータを、ディスク装置２６０の論理ボリュームに書き込む。プロセッサ２５１は、ライトデータの書き込みが完了すると、共有メモリ２４０に書き込み指示の完了のメッセージを格納する。
【００９４】
ホストアダプタ２１０のプロセッサ２１１は、定期的に共有メモリ２４０を調査し、メッセージがあるか否かを判定している。完了のメッセージがあると判定した場合は、プロセッサ２１１は、当該メッセージを取得し、Ｉ／Ｏ指示の発行元である正ホスト１００にＩ／Ｏ指示の完了を通知する。
【００９５】
取得したＩ／Ｏ指示の内容が読み出し指示であると判定した場合は、ホストアダプタ２１０のプロセッサ２１１は、当該読み出し指示に基づいた読み出し開始指示を作成し、クロスバスイッチ２２０を介して共有メモリ２４０に格納する。
【００９６】
ディスクアダプタ２５０のプロセッサ２５１は、定期的に共有メモリ２４０を調査し、指示があるか否かを判定している。プロセッサ２５１が、共有メモリ２４０に読み出し開始指示が格納されていると判定した場合は、当該読み出し開始指示を取得し、取得した読み出し開始指示に基づいて、ディスク装置２６０の論理ボリュームからデータを読み出す。プロセッサ２５１は、読み出したデータをキャッシュメモリ２３０に格納する。要求に係る全ての読み出しデータをキャッシュメモリ２３０に格納すると、共有メモリ２４０に当該読み出し開始指示が完了した旨のメッセージを格納する。
【００９７】
ホストアダプタ２１０のプロセッサ２１１は、定期的に共有メモリ２４０を調査し、完了のメッセージがあるか否かを判定している。読み出し開始指示の完了のメッセージがあると判定した場合は、プロセッサ２１１は、当該メッセージを取得し、当該メッセージの内容に基づいて、キャッシュメモリ２３０に格納された読み出しデータをＩ／Ｏ指示の発行元である正ホスト１００に送信する。
【００９８】
次に、リモートコピーについて説明する。
【００９９】
前述のように、正ホスト１００からの書き込み指示であるＩ／Ｏ指示によって、正ストレージ制御装置２００から副ストレージ制御装置４００に同期リモートコピーが実行される。一方、正ホスト１００からの書き込み指示であるＩ／Ｏ指示によって、正ストレージ制御装置２００から遠隔地ストレージ制御装置５００に非同期リモートコピーが実行される。
【０１００】
図６は、正ホスト１００から発行されるＩ／Ｏ指示を示すブロック図である。
【０１０１】
正ホスト１００のストレージ制御プログラム１２０２が、所望のＩ／Ｏ指示を作成し、Ｉ／Ｏ指示の発行先のストレージ制御装置に発行する。このＩ／Ｏ指示は、制御Ｉ／Ｏ指示１２０２１Ａ、又は、コマンドチェーン（制御Ｉ／Ｏ指示１２０１Ａ、転送Ｉ／Ｏ指示１２０２１Ｂ及びリモートＩ／Ｏ指示１２０２１Ｃの組）によって構成される。
【０１０２】
制御Ｉ／Ｏ指示１２０２１Ａは、ヘッダ部１２０２２とボディ部１２０２３によって構成される。
【０１０３】
ヘッダ部１２０２２は、Ｉ／Ｏ指示の発行先である宛先１２０２４が格納される。例えばストレージ制御装置を示す識別子が格納される。
【０１０４】
ボディ部１２０２３は、制御指示１２０２５、正側ボリューム情報１２０２６、副側ボリューム情報１２０２７及び種別１２０２８が格納される。
【０１０５】
制御指示１２０２５は、当該Ｉ／Ｏ指示が制御する指示内容が格納される。例えば、ボリュームコピー、パスの設定等の指示が格納される。
【０１０６】
正側ボリューム情報１２０２６は、Ｉ／Ｏ指示の制御元の論理ボリュームの情報が格納される。例えば、Ｉ／Ｏ指示がコピー指示の場合は、コピー元の論理ボリュームの情報（当該ボリュームのあるストレージ制御装置の識別子、当該ボリュームの識別子）が格納される。
【０１０７】
副側ボリューム情報１２０２７は、Ｉ／Ｏ指示の制御先の論理ボリュームの情報が格納される。例えば、Ｉ／Ｏ指示がコピー指示の場合は、コピー先の論理ボリュームの情報（当該ボリュームのあるストレージ制御装置の識別子、当該ボリュームの識別子）が格納される。
【０１０８】
種別１２０２８は、制御指示１２０２５に示される指示内容の種別が格納される。具体的には、指示内容がコピー指示である場合に、そのコピー指示の種別（ローカルコピー、同期リモートコピー、非同期リモートコピー等）を示す情報が格納される。
【０１０９】
正ホスト１００は、作成した制御Ｉ／Ｏ指示１２０２１Ａを、Ｉ／Ｏ指示として正ストレージ制御装置２００のホストアダプタ２１０Ａに発行する。
【０１１０】
次に、正ホスト１００が、副ストレージシステム２０の副ストレージ制御装置４００又は遠隔地ストレージシステム３０の遠隔地ストレージ制御装置５００にＩ／Ｏ指示を発行する場合について説明する。この場合は、正ホスト１００のストレージ制御プログラム１２０２は、制御Ｉ／Ｏ指示１２０２１Ａに加え、転送Ｉ／Ｏ指示１２０２１Ｂ及びリモートＩ／Ｏ指示１２０２１Ｃを作成する。
【０１１１】
作成された制御Ｉ／Ｏ指示１２０２１Ａ、転送Ｉ／Ｏ指示１２０２１Ｂ及びリモートＩ／Ｏ指示１２０２１Ｃは、一組のコマンドチェーンとしてまとめられる。主ホスト１００は、このコマンドチェーンをＩ／Ｏ指示として発行する。
【０１１２】
コマンドチェーンを受け取ったホストアダプタ２１０は、まず、リモートＩ／Ｏ指示１２０２１Ｃを解析する。リモートＩ／Ｏ指示１２０２１Ｃには、リモートＩ／Ｏ制御指示１２０３０が含まれている。
【０１１３】
ホストアダプタ２１０のプロセッサ２１１は、リモートＩ／Ｏ指示１２０２１ＣにリモートＩ／Ｏ制御指示１２０３０が含まれていることを判定すると、当該コマンドチェーンは他のストレージ制御装置へのＩ／Ｏ指示であることを判定する。そして、リモートＩ／Ｏ指示１２０２１Ｃの宛先１２０２４Ｃを解析する。宛先１２０２４Ｃには、転送Ｉ／Ｏ指示１２０２１Ｂへのリンク情報が格納されている。
【０１１４】
そして、ホストアダプタ２１０のプロセッサ２１１は、リモートＩ／Ｏ指示１２０２１Ｃの宛先１２０２４Ｃの宛先のリンク情報によって特定される転送Ｉ／Ｏ指示１２０２１Ｂを解析する。転送Ｉ／Ｏ指示１２０２１Ｂには、転送指示１２０２９が格納されている。この転送指示１２０２９には、Ｉ／Ｏ指示の転送先のストレージ制御装置（副ストレージ制御装置４００又は遠隔地ストレージ制御装置５００）の識別子が格納されている。また、転送Ｉ／Ｏ指示１２０２１Ｂの宛先１２０２４Ｂには、制御Ｉ／Ｏ指示１２０２１Ａへのリンク情報が格納されている。
【０１１５】
ホストアダプタ２１０のプロセッサ２１１は、転送指示１２０２９に示されたストレージ制御装置に、転送Ｉ／Ｏ指示１２０２１Ｂの宛先１２０２４Ｂの宛先のリンク情報によって特定される制御Ｉ／Ｏ指示１２０２１Ａを転送する。このＩ／Ｏ指示を受け取ったストレージ制御装置は、当該Ｉ／Ｏ指示の指示内容に基づいて処理する。
【０１１６】
次に、コピー制御処理を説明する。
【０１１７】
前述したように、正ホスト１００がＩ／Ｏ指示を発行することによって論理ボリュームに格納されている内容を転送する。この処理のために、正ホスト１００は、コピー元の論理ボリュームとコピー先の論理ボリュームとで構成されるコピーペアを定義する。このコピーペアを定義することによって、コピー元の論理ボリュームに書き込みがあった場合に、コピー先の論理ボリュームのデータが転送される。
【０１１８】
図７は、コピー制御開始処理のフローチャートであり、この処理は、正ホスト１００のストレージ制御プログラム１２０２で実行される。
【０１１９】
まず、ストレージ制御プログラム１２０２は、パスを定義する（Ｓ１００１）。
【０１２０】
パスには物理パスと論理パスとがある。異なるストレージ制御装置のホストアダプタのＩ／Ｏポート間の物理的な通信路によって構成される経路を物理パスと呼ぶ。この物理パスがプログラム等によって利用可能である状態を論理パスと呼ぶ。物理パスの形成されている互いのホストアダプタの間のセッションを確立することで、論理パスが確立する。本実施の形態では、以降は論理的なパスのみを「パス」と呼ぶ。
【０１２１】
ストレージ制御プログラムは１２０２、正側（コピー元）のストレージ制御装置のホストアダプタのＩ／Ｏポート番号と、副側（コピー先）のストレージ制御装置のホストアダプタのＩ／Ｏポート番号との対応を定義することで、パスを定義する。
【０１２２】
なお、同一ストレージシステムのディスク装置の論理ボリューム間のコピーでは、パスを定義する必要はない。
【０１２３】
次に、ストレージ制御プログラム１２０２は、コピーペアを定義する（Ｓ１００２）。
【０１２４】
ストレージ制御プログラム１２０２は、コピー元のディスク装置の論理ボリューム（正側ボリューム）、コピー先のディスク装置の論理ボリューム（副側ボリューム）の対応、及び、そのコピーの種別を定義することで、コピーペアが定義される。
【０１２５】
コピーペアが定義されると、ストレージ制御プログラム１２０２は、パスの定義及びコピーペアの定義を含むコピー定義Ｉ／Ｏ指示を作成し、正ストレージ制御装置２００に発行する。正ストレージ制御装置２００のホストアダプタ２１０は、コピー定義Ｉ／Ｏ指示を受け取ると、当該コピー定義に基づいてコピー制御登録処理（図８）を実行する。このコピー制御登録処理によって、定義されたパスが確立し、コピーペアにおけるコピーが可能となる。
【０１２６】
正ストレージ制御装置２００でコピー制御登録処理が実行されると、ストレージ制御プログラム１２０２は、このコピー処理が正しく実行されているかを監視する（Ｓ１００３）。具体的には、ストレージ制御プログラム１２０２は、コピー処理の状態を確認するためのＩ／Ｏ指示を、定期的に正ストレージ制御装置２００に発行する。
【０１２７】
正ストレージ制御装置２００は、処理中に障害が発生した場合は、その障害の内容を共有メモリ２４０のコピー処理障害管理テーブル２４０２に格納する。Ｉ／Ｏ指示を受け付けると、正ストレージ制御装置２００は、このコピー処理障害管理テーブル２４０２の内容を参照する。その結果、障害が発生していた場合は、その旨が正ホスト１００に通知される。
【０１２８】
次に、正ストレージ制御装置２００のホストアダプタ２１０のコピー管理プログラム２１２１のコピー制御登録処理について説明する。
【０１２９】
図８は、コピー制御登録処理のフローチャートである。
【０１３０】
この処理は、コピー管理プログラム２１２１において、正ホスト１００が発行したコピー定義Ｉ／Ｏ指示をホストアダプタ２１０が受け取ると実行される。
【０１３１】
まず、コピー管理プログラム２１２１は、コピー定義Ｉ／Ｏ指示の内容を解析する（Ｓ２００１）。そして、コピー定義Ｉ／Ｏ指示に含まれるコピーペアの定義を取得する。コピー定義Ｉ／Ｏ指示にパスの定義が存在すれば、それを取得する。
【０１３２】
次に、コピー管理プログラム２１２１は、既にコピー処理が実行されている正側ボリューム又は副側ボリュームが、取得したコピーペアの定義に含まれる正側ボリューム又は副側ボリュームの何れかと重複しているか否かを判定する（Ｓ２００２）。
【０１３３】
何れかのボリュームが、コピー処理が既に実行されているボリュームと重複していると判定した場合は、当該コピー定義Ｉ／Ｏ指示に基づく処理を実行できない。この場合は、正ホスト１００にその旨のエラーを通知する（Ｓ２００７）。
【０１３４】
一方、何れかのボリュームが既に実行されているコピー処理の何れのボリュームとも重複していないと判定した場合は、図１１に示すパス管理テーブル２４０４に、Ｓ２００１で取得したパス定義を新たなエントリとして追加する（Ｓ２００３）。
【０１３５】
パス管理プログラム２１２２は、新たなエントリの追加を検出すると、当該エントリのパスの定義を取得する。そして、定義に示されたＩ／Ｏポート間のセッションを確立させる。これによって、パスが確立する。
【０１３６】
次に、コピー管理プログラム２１２１は、図１０に示すペア管理テーブル２４０３に、Ｓ２００１で取得したコピーペアの定義を新たなエントリとして追加する（Ｓ２００４）。
【０１３７】
次に、コピー管理プログラム２１２１は、新たなエントリの追加を検出すると、当該エントリのコピーペアの定義を取得する。そして、定義に示された正側ボリューム及び副側ボリュームとの間のコピー処理を開始する（Ｓ２００５）。
【０１３８】
具体的には、まず、コピー管理プログラム２１２１は、共有メモリ２４０に、コピー処理の開始指示を格納する。
【０１３９】
ディスクアダプタ２５０のプロセッサ２５１は、定期的に共有メモリ２４０を調査し、指示があるか否かを判定している。プロセッサ２５１は、共有メモリ２４０にコピー処理開始指示が格納されていると判定した場合は、コピー処理開始指示を取得し、取得した指示内容に基づいて初期コピー処理を開始する。
【０１４０】
初期コピー処理とは、取得したコピー処理開始指示に係る正側ボリュームの所定の容量の領域を読み出し、その内容をキャッシュメモリ２３０に格納する。これを正側ボリュームの全ての領域に実行する。
【０１４１】
副側ボリュームが同一のストレージ制御装置のディスク装置にある場合は、キャッシュメモリ２３０に格納された内容を、ディスクアダプタ２５０のプロセッサ２５１が読み込み、ディスク装置２６０の副側ボリュームに書き込む。
【０１４２】
副側ボリュームが他のストレージ制御装置（例えば、副ストレージ制御装置４００）のディスク装置４６０にある場合は、当該副ストレージ制御装置４００に接続されるホストアダプタ２１０のプロセッサ２１１が、共有メモリ２４０に格納されているコピー処理開始指示を取得し、当該指示内容に従って、キャッシュメモリ２３０に格納された内容を読み出す。そして、この内容を副ストレージ制御装置４００のディスク装置４６０の副側ボリュームに書き込むＩ／Ｏ指示を発行する。
【０１４３】
なお、Ｓ２００４において初期コピー処理が開始すると、ホストアダプタ２１０のプロセッサ２１１は、コピー定義Ｉ／Ｏ指示を発行した正ホスト１００に、当該コピー定義Ｉ／Ｏ指示を受理した旨を通知する（Ｓ２００６）。
【０１４４】
以降は、定義されたコピーペアの論理ボリューム間で、書き込みデータが転送される。なお、このコピー処理を定常コピー処理と呼ぶ。
【０１４５】
図９は、共有メモリ２４０に格納されるペア管理テーブル２４０３の一例の説明図である。
【０１４６】
ペア管理テーブル２４０３は、正ホスト１００によって定義されたペア定義をエントリとして格納する。
【０１４７】
ペア管理テーブル２４０３は、コピー種別２４０３１、ペア番号２４０３２、ペア状態２４０３３、正側システムＩＤ２４０３４、正側ボリュームＩＤ２４０３５、副側システムＩＤ２４０３６、副側ボリュームＩＤ２４０３７及びコピーグループ番号２４０３８によって構成される。
【０１４８】
コピー種別２１０３１は、定義されたコピーペアの種別の情報が格納される。
【０１４９】
ペア番号２４０３２は、定義されたコピーペアの識別子が、コピー種別毎に格納される。
【０１５０】
ペア状態２４０３３は、現在のペアの稼働状態が格納される。稼働状態には、コピーペアが正常であることを示す「正常」、コピーペアが定義されていないことを示す「未使用」、コピーペア処理に異常が発生している場合の「異常」の何れかが格納される。
【０１５１】
正側システムＩＤ２４０３４は、正側（コピー元）のストレージシステムを示す識別子が格納される。
【０１５２】
正側ボリュームＩＤ２４０３５は、正側（コピー元）の論理ボリュームの識別子が格納される。
【０１５３】
副側システムＩＤ２４０３６は、副側（コピー先）のストレージシステムの識別子が格納される。
【０１５４】
副側ボリュームＩＤ２４０３７は、副側（コピー先）の論理ボリュームの識別子が格納される。
【０１５５】
コピーグループ番号２４０３８は、定義されたコピーペアがコピーグループに属する場合に、当該コピーグループの識別子が格納される。コピーグループは、図１２で後述する。
【０１５６】
図１０は、共有メモリ２４０に格納されるボリューム管理テーブル２４０１の一例の説明図である。
【０１５７】
ボリューム管理テーブル２４０１は、当該ストレージ制御装置２００に接続されるディスク装置２６０の論理ボリュームの状態が格納される。
【０１５８】
ボリューム管理テーブル２４０１は、ボリュームＩＤ２４０１１、ボリューム状態２４０１２、容量２４０１３、ペア番号２４０１４、コピー種別２４０１５、ディスク装置番号２４０１６及び先頭からのアドレス２４０１７によって構成される。
【０１５９】
ボリュームＩＤ２４０１１は、論理ボリュームの識別子が格納される。
【０１６０】
ボリューム状態２４０１２は、当該論理ボリュームの状態が格納される。ボリューム状態２４０１２には、「正」、「副」、「正常」、「未使用」又は「異常」がある。
【０１６１】
「正」は、当該論理ボリュームがコピーペアの正側ボリュームであることを示す。「副」は、当該論理ボリュームがコピーペアの副側ボリュームであることを示す。「正常」は当該論理ボリュームが正常稼働していることを示す。「未使用」は、当該論理ボリュームが未使用であることを示す。「異常」は、当該論理ボリュームに異常が発生していることを示す。
【０１６２】
容量２４０１３は、当該論理ボリュームの容量が格納される。
【０１６３】
ペア番号２４０１４は、当該論理ボリュームにコピーペアが定義されている場合に、そのペア番号が格納される。このペア番号２４０１４は、ペア管理テーブル２４０３の対応するボリュームＩＤのペア番号２４０３２と一致する。
【０１６４】
コピー種別２４０１５は、当該論理ボリュームにコピーペアが定義されている場合に、そのコピー種別が格納される。このコピー種別２４０１５は、ペア管理テーブル２４０３の対応するボリュームＩＤのコピー種別２４０３１と一致する。
【０１６５】
ディスク装置番号２４０１６は、当該論理ボリュームが属するディスク装置２６０の識別子が格納される。
【０１６６】
先頭からのアドレス２４０１７は、当該論理ボリュームの存在する領域が格納される。領域の情報は、ディスク装置２６０の先頭からのアドレスが格納される。
【０１６７】
図１１は、共有メモリ２４０に格納されるパス管理テーブル２４０４の一例の説明図である。
【０１６８】
パス管理テーブル２４０４は、正ホスト１００によって定義されたストレージ制御装置間のパスの状態が格納される。
【０１６９】
パス管理テーブル２４０４は、パス番号２４０４１、パス状態２４０４２、正側システムＩ／Ｏポート番号２４０４３、副側システムＩＤ２４０４４、副側システムＩ／Ｏポート番号２４０４５、コピー種別２４０５６及びコピーグループ番号２４０４７によって構成される。
【０１７０】
パス番号２４０４１は、パスの識別子が格納される。
【０１７１】
パス状態２４０４２は、パスの状態が格納される。パス状態２４０４２には、「正常」、「接続中」、「パス無し」又は「タイムアウト」が格納される。
【０１７２】
「正常」は、当該パスが確立されており、かつ、パスの状態が正常であることを示す。「接続中」は、当該パスを確立するための処理中であることを示す。「パス無し」は、パスが確立されていないことを示す。「タイムアウト」は、当該パスが通信遅延や回線断等の原因によって障害が発生し、パスが確立されていないことを示す。
【０１７３】
正側システムＩ／Ｏポート番号２４０４３は、定義されたパスの、正側（コピー元）のストレージシステムのストレージ制御装置のＩ／Ｏポートの識別子が格納される。
【０１７４】
副側システムＩＤ２４０４４は、定義されたパスの、副側（コピー先）のストレージシステムのストレージ制御装置の識別子が格納される。
【０１７５】
副側システムＩ／Ｏポート番号２４０４５、定義されたパスの、副側（コピー先）のストレージシステムのストレージ制御装置のＩ／Ｏポートの識別子が格納される。
【０１７６】
コピー種別２４０５６は、定義されたパスを利用するコピーペアのコピー種別が格納される。
【０１７７】
コピーグループ番号２４０４７は、定義されたパスを利用するコピーペアがコピーグループに属する場合に、当該コピーグループを示す識別子が格納される。
【０１７８】
次に、正ホスト１００のストレージ制御プログラム１２０２のコピー制御処理を説明する。
【０１７９】
図１２は、コピー制御開始処理のより詳細なフローチャートである。
【０１８０】
まず、ストレージ制御プログラム１２０２は、パスの定義のために必要な情報をストレージシステムから取得する（Ｓ３００１）。取得する情報は、当該ストレージシステムの識別子（ストレージシステムＩＤ）や論理ボリュームの識別子（ボリュームＩＤ）である。
【０１８１】
ストレージ制御プログラム１２０２が取得する情報は、ＳＣＳＩやＦｉｂｒｅＣｈａｎｎｅｌ等の通信プロトコルを用いて正ストレージ制御装置１００から取得する。さらに詳細な情報が必要な場合は、ストレージ制御プログラム１２０２が情報取得のためのＩ／Ｏ指示を発行し、その応答によって取得する。
【０１８２】
また、副ストレージシステム２０の情報は、ストレージ制御プログラム１２０２が、副ホスト３００のストレージ制御プログラム１２０２への問い合わせによって取得する。
【０１８３】
取得した情報は、メモリ１２０のストレージシステム情報テーブル１２０５に格納される。
【０１８４】
また、ストレージ制御プログラム１２０２は、正ホスト１００に接続されていないストレージ制御装置の経路の情報、すなわち、副ストレージ制御装置４００又は遠隔地ストレージ制御装置５００との経路の情報を、メモリ１２０のルートリスト１２０９に格納する。
【０１８５】
次に、ストレージ制御プログラム１２０２は、コピーペアを定義する（Ｓ３００２）。
【０１８６】
ストレージ制御プログラム１２０２は、コピー元のストレージシステムのディスク装置の論理ボリューム（正側ボリューム）、コピー先のストレージシステムのディスク装置の論理ボリューム（副側ボリューム）、及び、そのコピーの種別を定義する。
【０１８７】
また、複数のコピーペアを一つのグループにまとめて制御することもできる。このグループをコピーグループと呼ぶ。また、コピーグループ単位でコピーを制御することを、コピーグループ制御と呼ぶ。
【０１８８】
例えば、正ストレージシステム１０に、二つの論理ボリュームが設定され、この二つの論理ボリュームが二重化されている場合を考える。この場合、正ストレージシステム１０の論理ボリュームと副ストレージシステム２０の論理ボリュームとのコピーペアを二つ定義する。この二つのコピーペアを一つのコピーグループに設定する。このようにすることで、正ストレージシステム１０の二重化された論理ボリュームが、二つのコピーペアによって副ストレージシステム２０にコピー処理される。
【０１８９】
設定されたコピーグループの情報は、メモリ１２０のコピーグループ情報テーブル１２０６に格納される。
【０１９０】
次に、ストレージ制御プログラム１２０２は、定義されたコピーペアのコピー元のストレージシステム、コピー先のストレージシステム及びルートリスト１２０９から、当該コピーペアが用いる経路を特定する（Ｓ３００３）。
【０１９１】
次に、特定された経路から、パスを定義する（Ｓ３００４）。
【０１９２】
ストレージ制御プログラムは１２０２、正側（コピー元）のストレージシステムのストレージ制御装置のホストアダプタのＩ／Ｏポート番号と、副側（コピー元）のストレージシステムのストレージ制御装置のホストアダプタのＩ／Ｏポート番号とを指定する。そして、この二つのＩ／Ｏポート間のセッションを確立させることによって、パスが定義される。
【０１９３】
定義されたパスの構成情報は、正ホスト１００のメモリ１２０のパス構成情報テーブル１２０７に格納される。
【０１９４】
次に、ストレージ制御プログラム１２０２は、Ｉ／Ｏ指示を作成し、作成したＩ／Ｏ指示を正ストレージ制御装置２００に発行する（Ｓ３００５）。
【０１９５】
作成するＩ／Ｏ指示は、定義されたパス、定義されたコピーペア及び設定されたコピーグループを、正ストレージ制御装置２００に指示する。また、副ストレージ制御装置４００に対して、作成したテーブル（ストレージシステム情報テーブル１２０５、コピーグループ情報テーブル１２０６、パス構成情報テーブル１２０７、ルートリスト１２０９）を転送する。これは後述するフェイルオーバーの処理で用いられる。
【０１９６】
図１３は、被災後のパス定義及びコピーグループの設定処理のフローチャートであり、正ホスト１００のストレージ制御プログラム１２０２によって実行される。
【０１９７】
本実施形態では、正ホスト１００に障害が発生し、正ホスト１００の処理が停止した場合は、正ホスト１００の処理を副ホスト３００で実行するように変更する。これをフェイルオーバー（Ｆａｉｌ  Ｏｖｅｒ：障害復帰）と呼ぶ。
【０１９８】
この際、ストレージ制御装置間のパスを変更する。パスの変更に伴って、コピーグループの設定も変更する。そこで、定義されたパスと設定されたコピーグループとを関連付け、この関連状態をパスコピーグループ関連テーブル１２０８に格納する。副ホスト３００は、パスが変更されると、パスコピーグループ関連テーブル１２０８を参照して、パスに関連付けられたコピーグループの設定を変更する。そのため、副ホスト２０に当該パスコピーグループ関連テーブル１２０８を転送する。
【０１９９】
まず、ストレージ制御プログラム１２０２は、定義されたパスと設定されたコピーグループとを関連付ける（Ｓ４００１）。
【０２００】
具体的には、パス構成情報テーブル１２０７からパスの構成情報を取得する。そして、取得したパスを用いるコピーグループの情報をコピーグループ情報テーブル１２０６から取得する。そして、取得したパスＩＤと、コピーグループＩＤとを関連付けて、パスコピーグループ関連テーブル１２０８に格納する。
【０２０１】
次に、被災後のパスを定義し、被災後のコピーグループを設定する（Ｓ４００２）。
【０２０２】
被災後のパスは、正ホスト１００に障害が発生した場合に、どのようにパスの定義とコピーグループの設定を行うかを設定する。
【０２０３】
正ホスト１００のみが障害によって処理が停止した場合は、正ストレージ制御装置２００は稼働している。そこで、正ホスト１００の処理を副ホスト３００にフェイルオーバーする。そして、副ホスト３００に接続される副ストレージ制御装置４００のディスク装置４６０を、正側のディスク装置として設定する。正ストレージ制御装置２００のディスク装置２６０は、副側のディスク装置に設定する。この設定に伴うパスの定義を変更し、コピーグループの設定を変更する。
【０２０４】
このパスの定義の変更は、被災後にパス構成情報テーブル１２０７の情報が変更になる部分（ストレージシステムＩＤ等）を変更することによって実施される。また、被災後のパス構成情報テーブル１２０７の変更の情報に基づいて、被災後の新たなコピーグループが生成される。
【０２０５】
ストレージ制御プログラム１２０２は、パス定義の変更が完了し、被災後の新たなコピーグループの設定の変更が完了すると、その旨を通知すると共に、新たに生成された被災後のコピーグループ名（コピーグループ番号）を通知する。このコピーグループ名はストレージ制御プログラム１２０２が作成する。なお、コピーグループ名はユーザによって指定してもかまわない。また、生成された新たなコピーグループには、ストレージ制御プログラム１２０２によって、パスコピーグループ関連テーブル１２０８に新しいパスＩＤとコピーグループ名を示すコピーグループＩＤとが追加登録される。
【０２０６】
ストレージ制御プログラム１２０２は、コピーグループを、変更テーブル１２５０を用いて生成する。変更テーブル１２５０は、正ホスト１００、副ホスト３００のいずれかのホストのストレージ制御プログラム１２０２が生成する。ただし、正ホスト１００で生成された場合は、変更テーブル１２５０を副ホスト３００に転送する必要がある。なお、生成された変更テーブル１２５０はホスト内のメモリ１２０に記憶される。
【０２０７】
図１４に変更テーブル１２５０の例を示す。
【０２０８】
変更テーブル１２５０は、変更前のテーブルＩＤ１２５０１、変更後のテーブルＩＤ１２５０３、変更情報（変更前）１２５０４及び変更情報（変更後）１２５０２によって構成される。
【０２０９】
変更前のテーブルＩＤ１２５０１は、被災後に変更されることとなるパス構成情報テーブル１２０７の識別子（コピーグループ名）が格納される。
【０２１０】
変更後のテーブルＩＤ１２５０３は、被災後のパス構成情報テーブル１２０７の識別子（コピーグループ名）が格納される。
【０２１１】
変更情報（更新前）１２５０４は、被災後に変更されることとなる構成情報が格納される。
【０２１２】
変更情報（更新後）１２５０２は、被災後の構成情報が格納される。
【０２１３】
この変更テーブル１２５０の作成手順を説明する。
【０２１４】
被災後のパスが定義されると、ストレージ制御プログラム１２０２が、変更テーブル１２５０を生成する。
【０２１５】
ストレージ制御プログラム１２０２はコピーグループ番号制御Ｉ／Ｏ指示を生成し、当該コピーグループ番号を変更後テーブルＩＤ１２５０５に登録する。また、ストレージ制御プログラム１２０２は、被災後の構成を生成するために参照されたパス構成情報テーブル１２０７のＩＤ（パス番号）を基に、パスコピーグループ関連テーブル１２０８を特定し、変更テーブル内変更前のテーブルＩＤ（１２０７３）に登録する。また、ストレージ制御プログラム１２０２は上記パス構成情報テーブルの変更部分で、変更前の情報を変更テーブルの変更情報（変更前）（１２５０４）に、変更後の情報を変更テーブルの変更情報（変更後）（１２５０２）に登録する。
【０２１６】
図１５は、ストレージシステム情報テーブル１２０５の説明図である。
【０２１７】
ストレージシステム情報テーブル１２０５は、正ストレージシステムＩＤ１２０５１、副ストレージシステムＩＤ１２０５２、遠隔地ストレージシステムＩＤ１２０５５、ボリュームＩＤ１２０５３、ボリュームＩＤ１２０５４及びボリュームＩＤ１２０５６によって構成される。
【０２１８】
正ストレージシステムＩＤ１２０５１は、正ストレージシステム１０の識別子が格納される。
【０２１９】
副ストレージシステムＩＤ１２０５２は、副ストレージシステム２０の識別子が格納される。
【０２２０】
遠隔地ストレージシステムＩＤ１２０５５は、遠隔地ストレージシステム３０の識別子が格納される。
【０２２１】
ボリュームＩＤ１２０５３は、正ストレージシステム１０の論理ボリュームの識別子が格納される。論理ボリュームが複数ある場合は、図１５のように、正ストレージシステムＩＤ１２０５１に対応した複数の論理ボリュームの識別子が格納される。
【０２２２】
ボリュームＩＤ１２０５４は、副ストレージシステム２０の論理ボリュームの識別子が格納される。論理ボリュームが複数ある場合は、図１５のように、副ストレージ制御装置ＩＤ１２０５２に対応した複数の論理ボリュームの識別子が格納される。
【０２２３】
ボリュームＩＤ１２０５６は、遠隔地ストレージシステム３０の論理ボリュームの識別子が格納される。論理ボリュームが複数ある場合は、図１５のように、遠隔地ストレージ制御装置ＩＤ１２０５５に対応した複数の論理ボリュームの識別子が格納される。
【０２２４】
図１６は、コピーグループ情報テーブル１２０６の説明図である。
【０２２５】
コピーグループ情報テーブル１２０６は、コピーグループ番号１２０６１、正側ストレージシステムＩＤ１２０６２、副側ストレージシステムＩＤ１２０６３、ボリュームＩＤ１２０６４及びボリュームＩＤ１２０６５によって構成される。この一組が一つのコピーグループの情報を示す。コピーグループ情報テーブル１２０６には複数のコピーグループを格納できる。
【０２２６】
コピーグループ番号１２０６１は、そのコピーグループの識別子が格納される。
【０２２７】
正側ストレージシステムＩＤ１２０６２は、正側（コピー元）のストレージシステムの識別子が格納される。副側ストレージシステムＩＤ１２０６３は、副側（コピー先）のストレージシステムの識別子が格納される。
【０２２８】
ボリュームＩＤ１２０６４は、正側（コピー元）のストレージシステムの論理ボリュームの識別子が格納される。ボリュームＩＤ１２０６４は、副側（コピー先）のストレージシステムの論理ボリュームの識別子が格納される。
【０２２９】
図１７は、パス構成情報テーブル１２０７の説明図である。
【０２３０】
パス構成情報テーブル１２０７は、パス番号１２０７１、正側ストレージシステムＩＤ１２０７２、副側ストレージシステムＩＤ１２０７３、正側システムＩ／Ｏポート番号１２０７４及び副側システムＩ／Ｏポート番号１２０７５によって構成される。この一組が一つのパス構成情報を示す。パス構成情報テーブル１２０７には複数のパス構成情報を格納できる。
【０２３１】
パス番号１２０７１は、そのパスの識別子が格納される。
【０２３２】
正側ストレージシステムＩＤ１２０７２は、正側（コピー元）のストレージシステムの識別子が格納される。副側ストレージシステムＩＤ１２０７３は、副側（コピー先）のストレージシステムの識別子が格納される。
【０２３３】
正側システムＩ／Ｏポート番号１２０７４は、正側（コピー元）のストレージシステムのストレージ制御装置のホストアダプタのＩ／Ｏポートの識別子が格納される。副側システムＩ／Ｏポート番号１２０７５は、副側（コピー先）のストレージシステムのストレージ制御装置のホストアダプタのＩ／Ｏポートの識別子が格納される。
【０２３４】
図１８は、パスコピーグループ関連テーブル１２０８の説明図である。
【０２３５】
パスコピーグループ関連テーブル１２０８は、パスＩＤ１２０８１と、当該パスＩＤのパスに関連付けられたコピーグループを示すコピーグループＩＤ１２０８２によって構成される。
【０２３６】
パスＩＤ１２０８１は、定義されたパスの識別子である。
【０２３７】
コピーグループＩＤ１２０８２は、設定されたコピーグループの識別子である。
【０２３８】
図１９は、ルートリスト１２０９の説明図である。
【０２３９】
ルートリスト１２０９は、経路情報１２０９１から構成される。ルートリスト１２０９には複数の経路情報１２０９１が格納できる。
【０２４０】
経路情報１２０９１は、正ホスト１００が接続される正ストレージシステム１０から、目的のストレージ制御装置のある副ストレージシステム２０又は遠隔地ストレージシステム３０への経路の情報が格納される。
【０２４１】
例えば、経路情報１２０９１Ａは、正ストレージシステム１０から、副ストレージシステム２０を経由した遠隔地ストレージシステム３０への経路の情報である。図１に示したように、正ストレージシステム１０の正ストレージ制御装置２００には、副ストレージシステム２０の副ストレージ制御装置４００への通信路が接続されている。さらに副ストレージシステム２０の副ストレージ制御装置４００には、遠隔地ストレージシステム３０の遠隔地ストレージ制御装置５００への通信路が接続されている。この経路が経路情報１２０９１Ａに格納されている。
【０２４２】
また、正ストレージシステム１０の正ストレージ制御装置２００には、遠隔地ストレージシステム３０の遠隔地ストレージ制御装置５００への通信路も接続されている。この場合の経路の情報は経路情報１２０９１Ｃに格納されている。
【０２４３】
この経路情報１２０９１は、図６で前述したＩ／Ｏ指示の設定に用いられる。経路情報がない場合、すなわち、正ホスト１００に接続されている正ストレージ制御装置２００へのＩ／Ｏ指示は、制御Ｉ／Ｏ指示１２０２１Ａとなる。また、Ｉ／Ｏ指示の発行先は経路情報１２０９１が設定されている場合は、制御Ｉ／Ｏ指示１２０２１Ａ、転送Ｉ／Ｏ指示１２０２１Ｂ及びリモートＩ／Ｏ指示１２０２１Ｃによって構成されるコマンドチェーンとなる。
【０２４４】
コマンドチェーンの転送Ｉ／Ｏ指示１２０２１Ｂは、経路の中に存在するストレージ制御装置の数に依拠する。
【０２４５】
図２０は、正ホスト１００のＩ／Ｏ指示の発行の説明図である。
【０２４６】
正ホストが、遠隔地ストレージ制御装置５００にＩ／Ｏ指示を発行する場合について説明する。
【０２４７】
正ホスト１００のストレージ制御プログラム１２０２は、ルートリスト１２０９を参照して、Ｉ／Ｏ指示の発行先である遠隔地ストレージ制御装置５００への経路情報１２０９１Ａ（図１９参照）を取得する。
【０２４８】
取得した経路情報１２０９１Ａには、正ホスト１００からは、正ストレージ制御装置２００、副ストレージ制御装置４００を経由して遠隔地ストレージ制御装置５００への経路の情報が示される。
【０２４９】
ストレージ制御プログラム１２０２は、この経路情報１２０９１Ａに対応するコマンドチェーンを作成する。
【０２５０】
コマンドチェーンは、制御Ｉ／Ｏ指示１２０２１Ａ、転送Ｉ／Ｏ指示１２０２１Ｂ、転送Ｉ／Ｏ指示１２０２１Ｄ及びリモートＩ／Ｏ指示１２０２１Ｃによって構成される。制御Ｉ／Ｏ指示１２０２１Ａは、遠隔地ストレージ制御装置５００へのＩ／Ｏ指示である。転送Ｉ／Ｏ指示１２０２１Ｂは、副ストレージ制御装置４００から、遠隔地ストレージ制御装置５００への転送指示１２０２９が格納されている。転送Ｉ／Ｏ指示１２０２１Ｄは、正ストレージ制御装置２００から副ストレージ制御装置４００への転送指示１２０２９が格納されている。リモートＩ／Ｏ指示１２０２１Ｃは、当該コマンドチェーンはリモートＩ／Ｏであることを示すリモートＩ／Ｏ制御指示１２０３０が格納されている。
【０２５１】
ストレージ制御プログラム１２０２は、作成したコマンドチェーンを、正ストレージ制御装置２００のホストアダプタ２１０に発行する。
【０２５２】
ホストアダプタ２１０のプロセッサ２１１は、受け取ったコマンドチェーンのリモートＩ／Ｏ指示１２０２１Ｃを参照して、当該コマンドチェーンは他のストレージ制御装置への転送であることを判定する。そして、リモートＩ／Ｏ指示１２０２１Ｃで示される転送Ｉ／Ｏ指示１２０２１Ｄを参照して、転送先である副ストレージ制御装置４００に当該コマンドチェーンを転送する。
【０２５３】
このとき、ホストアダプタ２１０のプロセッサ２１１は、コマンドチェーンから転送Ｉ／Ｏ指示１２０２１Ｄを削除し、リモートＩ／Ｏ指示１２０２１Ｃを、転送Ｉ／Ｏ指示１２０２１Ｂを示す情報に書き換える。
【０２５４】
転送されたコマンドチェーンは副ストレージ制御装置４００のホストアダプタ４１０が受け取る。
【０２５５】
ホストアダプタ４１０のプロセッサ４１１は、受け取ったコマンドチェーンのリモートＩ／Ｏ指示１２０２１Ｃを参照して、当該コマンドチェーンは他のストレージ制御装置への転送であることを判定する。
【０２５６】
そして、ホストアダプタ４１０のプロセッサ４１１は、リモートＩ／Ｏ指示１２０２１Ｃで示される転送Ｉ／Ｏ指示１２０２１Ｂを参照して、転送先である遠隔地ストレージ制御装置５００を判定する。
【０２５７】
次に、ホストアダプタ４１０のプロセッサ４１１は、コマンドチェーンから転送Ｉ／Ｏ指示１２０２１Ｂ及びリモートＩ／Ｏ指示１２０２１Ｃを削除する。コマンドチェーンは制御Ｉ／Ｏ指示１２０２１Ａのみとなる。
【０２５８】
ホストアダプタ４１０のプロセッサ４１１は、この制御Ｉ／Ｏ指示１２０２１Ａを遠隔地ストレージ制御装置５００に転送する。
【０２５９】
遠隔地ストレージ制御装置５００のホストアダプタ５１０が、この制御Ｉ／Ｏ指示１２０２１Ａを受け取る。ホストアダプタ５１０のプロセッサ５１１が、当該制御Ｉ／Ｏ指示１２０２１Ａを処理する。
【０２６０】
次に、トポロジの制御について説明する。
【０２６１】
正ホスト１００のトポロジ制御プログラム１２０１は、ストレージ制御プログラム１２０２の上位で稼働し、ユーザからの指示を受け付けるユーザインタフェースを有する。
【０２６２】
トポロジ制御プログラム１２０１は、ユーザからの指示を受け付けると、ストレージ制御プログラム１２０２にその指示の内容を送る。ストレージ制御プログラム１２０２は、受け取った指示の内容に基づいて、Ｉ／Ｏ指示を作成し、発行する。
【０２６３】
トポロジ制御プログラム１２０１はユーザインタフェースを有している。
【０２６４】
一般的に、ユーザインタフェースにはＧＵＩ（グラフィックユーザーインターフェース）とＣＬＩ（コマンドラインユーザインターフェース）がある。本実施形態のトポロジ制御プログラム１２０１は、ＣＬＩを用いる。
【０２６５】
図２１は、トポロジ制御プログラム１２０１のストレージ制御ＣＬＩ１２０１１の説明図である。
【０２６６】
ストレージ制御ＣＬＩ１２０１１は、オペコード１２０１２、コピーグループＩＤ１２０１３及び制御オプション１２０１４から構成される。これらをユーザが指示することで、ストレージ制御装置を制御する。
【０２６７】
オペコード１２０１２は、指示する処理の内容である。
【０２６８】
コピーグループＩＤ１２０１３は、指示対象のコピーグループの識別子である。
【０２６９】
制御オプション１２０１４は、オペコード１２０１２毎に備えられる制御のオプションを指定するものであり、複数の制御オプション１２０１４を指定できる。
【０２７０】
図２２は、オペコード１２０１２とそのオペコード１２０１２の内容を示す説明図である。
【０２７１】
例えば、ＭＡＫＥはコピー処理の開始を指示するオペコードである。コピー処理が指示されると、ストレージ制御装置２００は、はじめに初期コピー処理を開始し、初期コピー終了後に定常コピーに移行する。
【０２７２】
次に、ＣＬＩ指示を受け付けたストレージ制御プログラム１２０２の動作を説明する。
【０２７３】
図２３はストレージ制御プログラム１２０１によるＣＬＩ処理のフローチャートである。
【０２７４】
この処理は、ストレージ制御プログラム１２０２がＣＬＩ指示を受け付けたときに実行される。
【０２７５】
まず、ストレージ制御プログラム１２０２は、ＣＬＩ指示を受け付けると、その内容、すなわち、ＣＬＩのオペコード１２０１２を解析する（Ｓ７００１）。
【０２７６】
ストレージ制御プログラム１２０２は、解析の結果、オペコード１２０１２がコピー操作であるか否かを判定する。（Ｓ７００２）。コピー操作であると判定した場合は、コピーグループ番号ＩＤ１２０１３に記されたコピーグループ番号を基に、コピーグループ情報テーブル１２０６を読み込んで、該当するコピーグループ情報を取得する（Ｓ７００５）。ストレージ制御プログラム１２０２は、コピーグループ情報を取得後、正ストレージ制御装置２００用のＩ／Ｏ指示を作成し、当該Ｉ／Ｏ指示を正ストレージ制御装置２００に発行する。当該Ｉ／Ｏ指示の正ストレージ制御装置２００からの応答を受信した後は、ストレージ制御プログラム１２０２が当該応答の内容をトポロジ制御プログラム１２０１に応答する。
【０２７７】
ストレージ制御プログラム１２０２は、Ｓ７００１の解析の結果、ＣＬＩのオペコード１２０１２がコピー操作でないと判定した場合は、当該オペコード１２０１２がパス操作であるか否かを判定する（Ｓ７００３）。パス操作であると判定した場合は、コピーグループＩＤ１２０１３に記されたパス番号を基に、パス構成情報テーブル１２０７を読み込んで、該当するパス構成情報を取得する（Ｓ７００６）。ストレージ制御プログラム１２０２は、パス構成情報を取得後、正ストレージ制御装置２００用のＩ／Ｏ指示を作成し、当該Ｉ／Ｏ指示を正ストレージ制御装置２００に発行する。当該Ｉ／Ｏ指示の正ストレージ制御装置２００からの応答を受信した後は、ストレージ制御プログラム１２０２が当該応答の内容をトポロジ制御プログラム１２０１に応答する。
【０２７８】
ストレージ制御プログラム１２０２は、Ｓ７００１の解析の結果、ＣＬＩ指示のオペコード１２０２１がパス操作でもコピー操作でもない場合は、ＣＬＩの指示のエラーとしてトポロジ制御プログラム１２０１に応答する（Ｓ７００４）。
【０２７９】
トポロジ制御プログラム１２０１はＣＬＩ指示の応答に従って処理フローを処理する。ここでは、正ホスト１００上にあるストレージ制御プログラム１２０２のフローを示したが、副ホスト３００の上のストレージ制御プログラムであっても、同一の処理フローでトポロジ制御プログラムからのＣＬＩ指示を処理する。ただし、副ホストではＣＬＩ指示の処理を事前に正ホストから転送されたテーブル（コピーグループ情報テーブル１２０６、パス構成情報テーブル１２０７など）を用いて処理を行う。
【０２８０】
次に、トポロジ制御プログラム１２０１による処理を説明する。
【０２８１】
まず、図１に示すストレージネットワークシステムが正常に運用しているときのトポロジを説明する。なお、このトポロジを、以降は正常系トポロジと呼ぶ。
【０２８２】
図２４は、ストレージネットワークシステムの正常系トポロジを示すブロック図である。
【０２８３】
正ストレージシステム１０のディスク装置２６０には、論理ボリュームＡ１及び論理ボリュームＡ２が設定されている。また、副ストレージシステム２０のディスク装置４６０には、論理ボリュームＢ１及び論理ボリュームＢ２が設定されている。また、遠隔地ストレージシステム３０のディスク装置５６０には、論理ボリュームＣ１及び論理ボリュームＣ２が設定されている。
【０２８４】
正ホスト１００のアプリケーション１２０４は、活動状態である。すなわち、ストレージネットワークシステムの提供するサービスを実行している。一方、副ホスト３００のアプリケーション３２０４は、待機状態である。すなわち、ストレージネットワークシステムの提供するサービスの実行を待機している。
【０２８５】
正ストレージシステム１０と副ストレージシステム２０とは、正ストレージシステム１０を主側とし、副ストレージシステム２０を副側とする論理パスＰＴＨ１が定義され、パスが確立している。また、副ストレージシステム２０と遠隔地ストレージシステム３０とは、副ストレージシステム２０を主側、遠隔地ストレージシステム３０を副側とする論理パスＰＴＨ２が定義され、パスが確立している。また、正ストレージシステム１０と遠隔地ストレージシステム３０とは、物理的な通信路が備えられているが、パスは確立していない。
【０２８６】
正ストレージシステム１０の論理ボリュームＡ１を主側とし、副ストレージシステム２０の論理ボリュームＢ１を副側とする同期リモートコピーのコピーペアが定義されている。また、正ストレージシステム１０の論理ボリュームＡ２を主側とし、副ストレージシステム２０の論理ボリュームＢ２を副側とする同期リモートコピーのコピーペアが定義されている。そして、この二つのコピーペアによって、同期リモートコピーのコピーグループＣＧ１が設定されている。
【０２８７】
一方、副ストレージシステム２０の論理ボリュームＢ１を主側とし、遠隔地ストレージシステム３０の論理ボリュームＣ１を副側とする非同期リモートコピーのコピーペアが定義されている。また、副ストレージシステム２０の論理ボリュームＢ２を主側とし、遠隔地ストレージシステム３０の論理ボリュームＣ２を副側とする非同期リモートコピーのコピーペアが定義されている。そして、この二つのコピーペアによって、非同期リモートコピーのコピーグループＣＧ２が設定されている。
【０２８８】
次に、この正常系トポロジを設定するために、正ホスト１００のトポロジ制御プログラム１２０１にユーザが設定する処理を説明する。
【０２８９】
図２５は、トポロジ制御プログラム１２０１の正常系トポロジ設定処理のフローチャートである。
【０２９０】
この処理は、このトポロジを設定する正ホスト１００のユーザの指示によって処理される。
【０２９１】
まず、正ストレージシステム１０を主側、副ストレージシステム２０を副側とする論理パスＰＴＨ１を確立する（Ｓ５００１）。ユーザは、ストレージ制御ＣＬＩを「ＢＬＤＰＴＨ  ＰＴＨ１」として指示する。
【０２９２】
次に、副ストレージシステム２０を主側、遠隔地ストレージシステム３０を副側とする論理パスＰＴＨ２を確立する（Ｓ５００２）。ユーザは、ストレージ制御ＣＬＩを「ＢＬＤＰＴＨ  ＰＴＨ２」として指示する。
【０２９３】
次に、正ストレージシステム１０の論理ボリュームＡ１及びＡ２を主側とし、副ストレージシステム２０の論理ボリュームＢ１及びＢ２を副側とする同期リモートコピーのコピーグループＣＧ１の開始を指示する（Ｓ５００３）。ユーザは、ストレージ制御ＣＬＩを「ＭＡＫＥ  ＣＧ１」として指示する。
【０２９４】
次に、副ストレージシステム２０の論理ボリュームＢ１及びＢ２を主側とし、遠隔地３０の論理ボリュームＣ１及びＣ２を副側とする非同期リモートコピーのコピーグループＣＧ２の開始を指示する（Ｓ５００４）。ユーザは、ストレージ制御ＣＬＩを「ＭＡＫＥ  ＣＧ２」として指示する。
【０２９５】
トポロジ制御プログラム１２０１は、これらの指示を、ストレージ制御プログラム１２０２に送る。ストレージ制御プログラムは受け取った指示に基づいて、Ｉ／Ｏ指示を発行する。
【０２９６】
以上の処理によって、図２４の正常系トポロジが設定される。
【０２９７】
次に、正常系トポロジにおいて、正ホスト１００に障害が発生した場合のトポロジについて説明する。なお、このトポロジを以降は異常系トポロジと呼ぶ。
【０２９８】
図２６は、ストレージネットワークシステムの異常系トポロジを示すブロック図である。
【０２９９】
異常系トポロジでは、正ホスト１００に障害が発生し、正ホストの処理が停止する。
【０３００】
正ストレージシステム１０の正ストレージ制御装置２００のホストアダプタ２１０の障害監視マネージャ２１２３が、正ホスト１００の障害を検知する。そして、副ホスト３００にその旨を通知する。
【０３０１】
この通知を受けて、正ホスト１００から副ホスト３００にフェイルオーバーする。これによって副ホスト３００のアプリケーション１２０４が活動状態となり、ストレージネットワークシステムの提供するサービスを実行する。
【０３０２】
正ホスト１００のみに障害が発生した場合は、正ストレージ制御装置２００は正常稼働中である。そこで、正常系トポロジの正ホスト１００及び正ストレージ制御装置２００の処理を、副ホスト３００及び副ストレージ制御装置４００で実行する。さらに正常系トポロジの副ストレージ制御装置４００の処理を正ストレージ制御装置２００で実行する。すなわち、主側と副側とが逆となるようにポロジを変更する。
【０３０３】
図２７は、副ホスト３００のトポロジ制御プログラム１２０１の異常系トポロジの設定処理のフローチャートである。
【０３０４】
この処理は、障害の発生を知った副ホスト３００のユーザの指示によって処理される。
【０３０５】
まず、正ストレージシステム１０の論理ボリュームＡ１及びＡ２を主側とし、副ストレージシステム２０の論理ボリュームＢ１及びＢ２を副側とする同期リモートコピーのコピーグループＣＧ１の解散を指示する（Ｓ６００１）。ユーザは、ストレージ制御ＣＬＩを「ＤＥＬＥＴＥ  ＣＧ１」として指示する。
【０３０６】
次に、副ストレージシステム２０の論理ボリュームＢ１及びＢ２を主側とし、遠隔地ストレージシステム３０の論理ボリュームＣ１及びＣ２を副側とする同期リモートコピーのコピーグループＣＧ２の解散を指示する（Ｓ６００２）。ユーザは、ストレージ制御ＣＬＩを「ＤＥＬＥＴＥ  ＣＧ２」として指示する。
【０３０７】
次に、副ストレージシステム２０を主側、正ストレージシステム１０を副側とする新たな論理パスＰＴＨ３を確立する（Ｓ６００３）。ユーザは、ストレージ制御ＣＬＩを「ＢＬＤＰＴＨ  ＰＴＨ３」として指示する。
【０３０８】
次に、正ストレージシステム１０を主側、遠隔地ストレージシステム３０を副側とする新たな論理パスＰＴＨ４を確立する（Ｓ６００４）。ユーザは、ストレージ制御ＣＬＩを「ＢＬＤＰＴＨ  ＰＴＨ４」として指示する。
【０３０９】
次に、副ストレージシステム２０の論理ボリュームＢ１及びＢ２を主側とし、正ストレージシステム１０の論理ボリュームＡ１及びＡ２を副側とする同期リモートコピーのコピーグループＣＧ３の開始を指示する（Ｓ６００５）。ユーザは、ストレージ制御ＣＬＩを「ＭＡＫＥ  ＣＧ３」として指示する。
【０３１０】
次に、正ストレージシステム１０の論理ボリュームＡ１及びＡ２を主側とし、遠隔地ストレージシステム３０の論理ボリュームＣ１及びＣ２を副側とする非同期リモートコピーのコピーグループＣＧ４の開始を指示する（Ｓ６００６）。ユーザは、ストレージ制御ＣＬＩを「ＭＡＫＥ  ＣＧ４」として指示する。
【０３１１】
トポロジ制御プログラム１２０１は、これらの指示を、ストレージ制御プログラム１２０２に送る。ストレージ制御プログラムは受け取った指示に基づいて、Ｉ／Ｏ指示を発行する。
【０３１２】
以上の処理によって、図２６の異常系トポロジが設定される。
【０３１３】
副ホスト３００のアプリケーション１２０４が、サービスを実行する。サービスの結果、副ストレージ制御装置４００の論理ボリュームＢ１及びＢ２に書き込まれる。このとき、同期リモートコピーのコピーグループが設定されている正ストレージシステム１０の論理ボリュームＡ１及びＡ２に、書き込みデータが転送される。また、非同期リモートコピーのコピーグループが設定されている遠隔地ストレージシステム３０の論理ボリュームＣ１及びＣ２に、論理ボリュームＡ１及びＡ２の書き込みデータが転送される。
【０３１４】
なお、図２６では、正常系トポロジで設定されている論理パスＰＴＨ２が確立されたままの状態である。このパスは異常系トポロジでは使用されないが、解散する必要はない。
【０３１５】
次に、ストレージ制御プログラム１２０２は、異常系トポロジで変更されたコピーグループの設定について説明する。
【０３１６】
図２８は、ストレージ制御プログラム１２０２のコピーグループの変更の説明図である。
【０３１７】
図２７の処理によって、トポロジ制御プログラム１２０１から、ストレージ制御プログラム１２０２に指示の内容が送られる。ストレージ制御プログラム１２０２は、受け取った指示の内容に基づいてＩ／Ｏ指示を発行する。
【０３１８】
正常系トポロジから異常系トポロジへの変更は、「主」、「副」及び「遠隔地」の関係を維持しながら、それを構成する装置間の関係、すなわち論理パス、を変更する。
【０３１９】
例えば、正常系トポロジ（図２４）では、副ストレージシステム２０と遠隔地ストレージシステム３０とは、非同期リモートコピーのコピーグループＣＧ２が設定されている。そのコピーグループＣＧ２が用いるパスは論理パスＰＴＨ２である。このコピーグループとパスとの関係は、パスコピーグループ関係テーブル１２０８に格納されている。
【０３２０】
ここで、図２６の処理によって、正常系トポロジから異常系トポロジへの変更した場合について考える。ストレージ制御プログラム１２０２は、論理パスＰＴＨ２とコピーグループＣＧ２との組み合わせが、新たな論理パスＰＴＨ４とコピーグループＣＧ４との組み合わせとなったことを判定する。
【０３２１】
ストレージ制御プログラム１２０２は、図２７の処理によって、論理パスＰＴＨ２から論理パスＰＴＨ４に変更されたと判定し、関係づけられているコピーグループＣＧ２の情報を変更する。
【０３２２】
具体的には、論理パスＰＴＨ２は、主側ストレージシステムＩＤは副ストレージシステム２０を示す識別子であり、副側ストレージシステムＩＤは遠隔地ストレージシステム３０を示す識別子で定義される。そして、論理パスＰＴＨ４は、主側ストレージシステムＩＤは正ストレージシステム１０を示す識別子であり、副側ストレージシステムＩＤは遠隔地ストレージシステム３０を示す識別子で定義される。
【０３２３】
次に、ＣＬＩ指示を受け付けたストレージ制御プログラム１２０２が、新たな論理パスとコピーグループとなったことを判定する処理を説明する。
【０３２４】
図２９はストレージ制御プログラム１２０１によるＣＬＩ処理のフローチャートである。
【０３２５】
図２９は、図２３で、示したストレージ制御プログラムによるＣＬＩ処理のフローチャートと類似しており、新たな論理パスとコピーグループとの組み合わせになったことを判定する処理が追加されている。なお、図２３と同一の処理には同一のステップ番号を付し、その説明は省略する。
【０３２６】
ストレージ制御プログラム１２０２は、ＣＬＩオペコード１２０１２がコピー操作であると判定した場合は、まず、変更テーブル１２５０を参照する。そして、変更テーブル１２５０内の変更後テーブルＩＤ１２５０３に、受信したＣＬＩで示されるコピーグループＩＤ１２０１３が登録されていて両コピーグループＩＤが合致するか否かを判定する（Ｓ８００１）。変更テーブル１２５０にコピーグループＩＤが登録されていると判定した場合は、まず、変更前のコピーグループ情報テーブル１２０６を、変更テーブル１２５０の変更前のテーブルＩＤ１２５０１から特定する。そして、当該コピーグループ情報テーブル１２０６を読み込んで、そのコピーをメモリ２３０に記録する。（Ｓ８００２）。次に、取得したコピーグループ情報テーブル１２０６の変更対象となる情報を変更テーブルの変更情報（変更前）から取得して、当該コピーグループ情報テーブル１２０６のコピーにおける当該変更対象を、変更情報（変更後）に置き換える（Ｓ８００３）。次に、置き換えたコピーグループ情報テーブル１２０６のコピーを基に、Ｉ／Ｏ指示を作成して、Ｉ／Ｏ指示を副ストレージ装置４００に発行する（Ｓ７００７）。
【０３２７】
一方、ストレージ制御プログラム１２０２は、変更テーブル１２５０にコピーグループが登録されていないと判定した場合は、前述した図２３の通り、ＣＬＩ指示に示されるコピーグループ情報テーブル１２０６を読み込み（Ｓ７００６）、Ｉ／Ｏ指示を作成して、当該Ｉ／Ｏ指示を副ストレージ装置４００に発行する（Ｓ７００７）。
【０３２８】
すなわち、ストレージ制御プログラム１２０２は、パスの定義が変更されると、そのパスに関連付けられているコピーグループの設定を、自動的に変更する。
【０３２９】
前述したように、本発明の実施の形態のストレージネットワークシステムは、正ホスト１００に障害が発生し処理が停止した場合、正ストレージ制御装置２００は正常に稼働していれば、ストレージネットワークシステムのトポロジを異常系トポロジに変更する。このときに、ストレージ制御装置間で定義されたパスを変更する。そして、パスの定義の変更に基づいてコピーグループの設定を変更する。このようにすることで、正ホスト１００のみの障害であって、障害の復旧によって非同期リモートコピーが設定されている遠隔地のストレージシステムに切り換えることなく、同期リモートコピーの設定されている付近地のストレージシステムにサービスの運用を続行できるので、データの消滅を防ぐことができる。
【０３３０】
次に、本発明の実施の形態の変形例を説明する。
【０３３１】
図３０は、本発明の実施の形態の変形例のストレージネットワークシステムのブロック図である。
【０３３２】
端末６００が、正ホスト１００、正ストレージ制御装置２００、副ホスト３００、副ストレージ制御装置４００及び遠隔地ストレージ制御装置５００に接続されている。
【０３３３】
端末６００は、ユーザからの指示を受け付け、接続先のホスト又はストレージ制御装置に当該指示を送る。また、端末６００は、定期的に正ホスト１００、正ストレージ制御装置２００、副ホスト３００、副ストレージ制御装置４００及び遠隔地ストレージ制御装置５００の障害の発生の有無を監視する。
【０３３４】
なお、正ストレージシステム１０、副ストレージシステム２０及び遠隔地ストレージシステム３０の構成は、図１で説明した構成と同じである。ただし、副ストレージ制御装置４００のホストアダプタ４１０の構成が異なる。
【０３３５】
図３１は、副ストレージ制御装置４００のホストアダプタ４１０のブロック図である。
【０３３６】
ホストアダプタ４１０のメモリ２１２には、トポロジ制御プログラム２１２６が格納されている。このトポロジ制御プログラム２１２６は、端末６００からのユーザの指示を受け付ける。
【０３３７】
端末６００が正ホスト１００に障害が発生したことを検知した場合は、その旨を端末６００を操作するユーザに通知する。障害の発生を検知したユーザは、トポロジ制御プログラム２１２６に対して指示する。この指示は、図２７で前述した処理と同じである。この処理によって、ストレージネットワークシステムは、異常系トポロジ（図２６）に変更される。
【０３３８】
前述したように、本発明の実施の形態の変形例は、正ホスト１００又は副ホスト３００からの指示ではなく、ストレージネットワークシステムに接続される端末６００からの指示によって、異常系トポロジに変更ができる。
【図面の簡単な説明】
【０３３９】
【図１】本発明の実施の形態のストレージネットワークシステムのブロック図である。
【図２】本発明の実施の形態の正ホスト１００のブロック図である。
【図３】本発明の実施の形態の正ストレージ制御装置２００のブロック図である。
【図４】本発明の実施の形態のホストアダプタ２１０のブロック図である。
【図５】本発明の実施の形態のディスクアダプタ２５０及びディスク装置２６０のブロック図である。
【図６】本発明の実施の形態のＩ／Ｏ指示のブロック図である。
【図７】本発明の実施の形態のコピー制御開始処理のフローチャートである。
【図８】本発明の実施の形態のコピー制御登録処理のフローチャートである。
【図９】本発明の実施の形態のペア管理テーブル２４０３の一例の説明図である。
【図１０】本発明の実施の形態のボリューム管理テーブル２４０１の一例の説明図である。
【図１１】本発明の実施の形態のパス管理テーブル２４０４の一例の説明図である。
【図１２】本発明の実施の形態のコピー制御開始処理のより詳細なフローチャートである。
【図１３】本発明の実施の形態の被災後のパス定義及びコピーグループの設定処理のフローチャートである。
【図１４】本発明の実施の形態の変更テーブル１２５０の説明図である
【図１５】本発明の実施の形態のストレージシステム情報テーブル１２０５の説明図である。
【図１６】本発明の実施の形態のコピーグループ情報テーブル１２０６の説明図である。
【図１７】本発明の実施の形態のパス構成情報テーブル１２０７の説明図である。
【図１８】本発明の実施の形態のパスコピーグループ関連テーブル１２０８の説明図である。
【図１９】本発明の実施の形態のルートリスト１２０９の説明図である。
【図２０】本発明の実施の形態のＩ／Ｏ指示の発行の説明図である。
【図２１】本発明の実施の形態のストレージ制御ＣＬＩ１２０１１の説明図である。
【図２２】本発明の実施の形態のオペコード１２０１２の説明図である。
【図２３】本発明の実施の形態のＣＬＩ処理のフローチャートである。
【図２４】本発明の実施の形態の正常系トポロジを示すブロック図である。
【図２５】本発明の実施の形態の正常系トポロジ設定処理のフローチャートである。
【図２６】本発明の実施の形態の異常系トポロジを示すブロック図である。
【図２７】本発明の実施の形態の異常系トポロジの設定処理のフローチャートである。
【図２８】本発明の実施の形態のコピーグループの変更の説明図である。
【図２９】本発明の実施の形態のＣＬＩ処理のフローチャートである。
【図３０】本発明の実施の形態の変形例のストレージネットワークシステムのブロック図である。
【図３１】本発明の実施の形態の変形例のホストアダプタ４１０のブロック図である。
【符号の説明】
【０３４０】
１０      正ストレージシステム
２０      副ストレージシステム
３０      遠隔地ストレージシステム
１００      正ホスト
２００      正ストレージ制御装置
３００      副ホスト
４００      副ストレージ制御装置
５００      遠隔地ストレージ制御装置
６００      端末
【図１】
2006139477.tif 000003
【図２】
2006139477.tif 000004
【図３】
2006139477.tif 000005
【図４】
2006139477.tif 000006
【図５】
2006139477.tif 000007
【図６】
2006139477.tif 000008
【図７】
2006139477.tif 000009
【図８】
2006139477.tif 000010
【図９】
2006139477.tif 000011
【図１０】
2006139477.tif 000012
【図１１】
2006139477.tif 000013
【図１２】
2006139477.tif 000014
【図１３】
2006139477.tif 000015
【図１４】
2006139477.tif 000016
【図１５】
2006139477.tif 000017
【図１６】
2006139477.tif 000018
【図１７】
2006139477.tif 000019
【図１８】
2006139477.tif 000020
【図１９】
2006139477.tif 000021
【図２０】
2006139477.tif 000022
【図２１】
2006139477.tif 000023
【図２２】
2006139477.tif 000024
【図２３】
2006139477.tif 000025
【図２４】
2006139477.tif 000026
【図２５】
2006139477.tif 000027
【図２６】
2006139477.tif 000028
【図２７】
2006139477.tif 000029
【図２８】
2006139477.tif 000030
【図２９】
2006139477.tif 000031
【図３０】
2006139477.tif 000032
【図３１】
2006139477.tif 000033