(57)【要約】  ストレージシステムは、第１ストレージ装置の第１ボリュームを正ボリュームとし、第２ストレージ装置の第２ボリュームを副ボリュームとして、高可用性ペアを構成する。第１ボリュームを正ボリュームとし、第３ストレージ装置の第３ボリュームを副ボリュームとして、非同期コピーペアを構成する。第２ボリュームを正ボリュームとし、第３ボリュームを副ボリュームとして、スタンバイペアを構成する。非同期コピーペアの形成命令を受信すると、スタンバイペアが形成されていない場合、非同期コピーペアの形成を拒否する。
2016084231.tif 000002
【特許請求の範囲】
【請求項１】
第１ストレージ装置と、第２ストレージ装置と、第３ストレージ装置と、を備え、
前記第１ストレージ装置の第１ボリュームを正ボリュームとし、前記第２ストレージ装置の第２ボリュームを副ボリュームとし、前記第１ボリュームと前記第２ボリュームとでデータを二重化する高可用性ペアを構成し、
前記第１ボリュームを正ボリュームとし、前記第３ストレージ装置の第３ボリュームを副ボリュームとし、前記第１ボリュームまたは前記第２ボリュームに書込まれたデータを前記第１ボリュームから前記第３ボリュームに非同期にコピーする非同期コピーペアを構成し、
前記第２ボリュームを正ボリュームとし、前記第３ボリュームを副ボリュームとし、前記第１ボリュームに障害が発生すると、前記第２ボリュームに書込まれたデータを前記第２ボリュームから前記第３ボリュームに非同期にコピーするスタンバイペアを構成するストレージシステムであって、
前記非同期コピーペアの形成命令を受信すると、前記スタンバイペアが形成されていない場合、前記非同期コピーペアの形成を拒否することを特徴とする、ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
コピーグループ単位で前記高可用性ペアへの命令を受け付け、
前記高可用性ペアがいずれのコピーグループにも属していない場合、前記スタンバイペアの形成命令を拒否する、ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、
前記スタンバイペアの形成命令は、前記スタンバイペアの正ボリュームとジャーナルボリュームとを含むジャーナルグループを指定し、
前記ジャーナルグループにおいてデータ更新順序が管理され、
前記ジャーナルグループに含まれる他のスタンバイペアの正ボリュームが属する他の高可用性ペアのコピーグループが、前記高可用性ペアが属するコピーグループと異なる場合、前記スタンバイペアの形成命令を拒否する、ストレージシステム。
【請求項４】
請求項２に記載のストレージシステムであって、
前記非同期コピーペアの形成命令は、前記非同期コピーペアの正ボリュームとジャーナルボリュームとを含むジャーナルグループを指定し、
前記ジャーナルグループにおいてデータ更新順序が管理され、
前記非同期コピーペアの正ボリュームが属する前記高可用性ペアのコピーグループが、前記ジャーナルグループに含まれる他の非同期コピーペアの正ボリュームが属する他の高可用性ペアのコピーグループと異なる場合、前記第１ストレージ装置は、前記非同期コピーペアの形成命令を拒否する、ストレージシステム。
【請求項５】
請求項１に記載のストレージシステムであって、
前記高可用性ペアのペア状態が正常な同期コピー状態でない場合、前記スタンバイペアの形成命令を拒否する、ストレージシステム。
【請求項６】
請求項１に記載のストレージシステムであって、
前記スタンバイペアの形成命令が示す正ボリュームの前記高可用性ペアにおけるボリューム属性が正ボリュームである場合、前記スタンバイペアの形成命令を拒否する、ストレージシステム。
【請求項７】
請求項１に記載のストレージシステムであって、
前記非同期コピーペアの形成命令が示す正ボリュームの前記高可用性ペアにおけるボリューム属性が、副ボリュームである場合、前記非同期コピーペアの形成命令を拒否する、ストレージシステム。
【請求項８】
第１ストレージ装置と、第２ストレージ装置と、第３ストレージ装置と、を備えるストレージシステムの管理方法であって、
前記第１ストレージ装置の第１ボリュームを正ボリュームとし、前記第２ストレージ装置の第２ボリュームを副ボリュームとし、前記第１ボリュームと前記第２ボリュームとでデータを二重化する高可用性ペアを構成し、
前記第１ボリュームを正ボリュームとし、前記第３ストレージ装置の第３ボリュームを副ボリュームとし、前記第１ボリュームまたは前記第２ボリュームに書込まれたデータを前記第１ボリュームから前記第３ボリュームに非同期にコピーする非同期コピーペアを構成し、
前記第２ボリュームを正ボリュームとし、前記第３ボリュームを副ボリュームとし、前記第１ボリュームに障害が発生すると、前記第２ボリュームに書込まれたデータを前記第２ボリュームから前記第３ボリュームに非同期にコピーするスタンバイペアを構成し、
前記非同期コピーペアの形成命令を受信すると、前記スタンバイペアが形成されていない場合、前記非同期コピーペアの形成を拒否することを特徴とする、方法。
【請求項９】
請求項８に記載の方法であって、
コピーグループ単位で前記高可用性ペアへの命令を受け付け、
前記高可用性ペアがいずれのコピーグループにも属していない場合、前記スタンバイペアの形成命令を拒否する、方法。
【請求項１０】
請求項９に記載の方法であって、
前記スタンバイペアの形成命令は、前記スタンバイペアの正ボリュームとジャーナルボリュームとを含むジャーナルグループを指定し、
前記ジャーナルグループにおいてデータ更新順序が管理され、
前記ジャーナルグループに含まれる他のスタンバイペアの正ボリュームが属する他の高可用性ペアのコピーグループが、前記高可用性ペアが属するコピーグループと異なる場合、前記スタンバイペアの形成命令を拒否する、方法。
【請求項１１】
請求項９に記載の方法であって、
前記非同期コピーペアの形成命令は、前記非同期コピーペアの正ボリュームとジャーナルボリュームとを含むジャーナルグループを指定し、
前記ジャーナルグループにおいてデータ更新順序が管理され、
前記非同期コピーペアの正ボリュームが属する前記高可用性ペアのコピーグループが、前記ジャーナルグループに含まれる他の非同期コピーペアの正ボリュームが属する他の高可用性ペアのコピーグループと異なる場合、前記第１ストレージ装置は、前記非同期コピーペアの形成命令を拒否する、方法。
【請求項１２】
請求項８に記載の方法であって、
前記高可用性ペアのペア状態が正常な同期コピー状態でない場合、前記スタンバイペアの形成命令を拒否する、方法。
【請求項１３】
請求項８に記載の方法であって、
前記スタンバイペアの形成命令が示す正ボリュームの前記高可用性ペアにおけるボリューム属性が正ボリュームである場合、前記スタンバイペアの形成命令を拒否する、方法。
【請求項１４】
請求項８に記載の方法であって、
前記非同期コピーペアの形成命令が示す正ボリュームの前記高可用性ペアにおけるボリューム属性が、副ボリュームである場合、前記非同期コピーペアの形成命令を拒否する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、ストレージ装置のクラスタ構成によるＨｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ（ＨＡ）機能が求められている。ＨＡ機能は、ストレージシステムの高可用性を実現する。ＨＡ構成は、二重化された系を有し、障害発生時には自動的に故障した系を切り離し、正常な系のみを用いて動作を継続する。さらに、ＨＡ機能は、二つの系を稼動系として運用することで、リソースの有効活用及び負荷分散を実現する。【０００３】
ＨＡ構成の同一性を維持するためには、二重化された系のボリュームは同期される。これらボリュームペアをＨＡペアと呼ぶ。ライト処理では、二つのボリュームにデータが書き込まれた後に書き込み完了となる。そのため、ホストへの応答に時間がかかる。【０００４】
応答性能が重視される業務においては、ＨＡペアのボリューム間の距離を比較的近距離とすることがある。その場合、広域災害が発生すると、２つのストレージ装置がともに使用不可となる可能性がある。また、ＨＡ構成における一方の系が故障した場合、正常な系のみが動作を継続するため、データ安全性が低下する。そこで、リモートコピーにより、遠距離のデータセンタにバックアップを持つことで、データ安全性を高めることができる。【０００５】
ストレージシステムの高可用性を実現する背景技術として、特許文献１がある。特許文献１は、「第１ストレージ装置１のボリューム１Ａと第２ストレージ装置２のボリューム２Ａとには、それぞれ同一の仮想識別子が設定される。ホスト５のパス制御部５Ｂは、同一の仮想識別子を有するボリューム１Ａ、２Ａを一つの仮想ボリューム６として認識する。仮想ボリューム６と第３ストレージ装置３のボリューム３Ａとでリモートコピーペアを設定する」（要約参照）ことを開示する。【０００６】
特許文献１は、第１ストレージ装置に障害が発生した場合に、第２ストレージ装置にフェイルオーバして業務が継続される。第２ストレージ装置の運用が開始された後は、第２ストレージ装置のデータの更新をリモートコピーによって第３ストレージ装置に反映させる。第２ストレージ装置においてさらに障害が発生したとき、第３ストレージ装置が第２ストレージ装置の業務を引き継ぐことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】ＵＳ２００９／００９４４０３号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１において、ボリューム１Ａとボリューム２Ａとが第１コピーペアを構成し、ボリューム１Ａとボリューム３Ａが第２コピーペアを構成する。当該ペア構成に加え、さらに、ボリューム２Ａとボリューム３Ａが第３コピーペアを構成するペア構成が考えられる。発明者らは、３つのコピーペアがそれぞれ特定種類のコピーペアである場合、コピーペアの形成順序が重要であることを見出した。【０００９】
具体的には、第１コピーペアがＨＡペアであり、第２コピーペアが非同期コピーペアであり、さらに、第３コピーペアが、ボリューム１Ａにおいて障害が発生したときのスタンバイペアであるとする。【００１０】
通常のペア状態のスタンバイペアにおいて、ボリューム２Ａの更新データがジャーナルボリュームに保持され、ボリューム３Ａには反映されない。ボリューム１Ａにおいて障害が発生すると、ジャーナルボリュームのデータがボリューム３Ａに反映され、さらに、ボリューム２Ａとボリューム３Ａが非同期コピーペアを構成する。【００１１】
上記コピーペア構成において、特定のコピーペア形成順序では、ボリューム１Ａの障害発生時に、ボリューム３Ａに、ボリューム１Ａ及び２Ａの全更新データが反映されず、ボリューム２Ａとボリューム３Ａのデータ同一性が確保できないこと起こり得る。
【課題を解決するための手段】
【００１２】
本発明の代表的な一例は、第１ストレージ装置と、第２ストレージ装置と、第３ストレージ装置と、を備え、前記第１ストレージ装置の第１ボリュームを正ボリュームとし、前記第２ストレージ装置の第２ボリュームを副ボリュームとし、前記第１ボリュームと前記第２ボリュームとでデータを二重化する高可用性ペアを構成し、前記第１ボリュームを正ボリュームとし、前記第３ストレージ装置の第３ボリュームを副ボリュームとし、前記第１ボリュームまたは前記第２ボリュームに書込まれたデータを前記第１ボリュームから前記第３ボリュームに非同期にコピーする非同期コピーペアを構成し、前記第２ボリュームを正ボリュームとし、前記第３ボリュームを副ボリュームとし、前記第１ボリュームに障害が発生すると、前記第２ボリュームに書込まれたデータを前記第２ボリュームから前記第３ボリュームに非同期にコピーするスタンバイペアを構成するストレージシステムであって、前記非同期コピーペアの形成命令を受信すると、前記スタンバイペアが形成されていない場合、前記非同期コピーペアの形成を拒否することを特徴とする。
【発明の効果】
【００１３】
本発明の一態様によれば、３つのボリュームが３つの特定のコピーペアを構成するコピーペア構成において、ボリューム障害の発生時に、継続使用される２つのボリューム間の同一性を維持することができる。
【図面の簡単な説明】
【００１４】
【図１Ａ】一実施形態の概要を示す。
【図１Ｂ】図１Ａと異なるコピーペア形成順序における課題を示す。
【図１Ｃ】図１Ａに示すコピーペア形成順序における、デルタコピーを示す。
【図２】本実施形態における計算機システムの構成例を示す。
【図３】管理装置の構成例を模式的に示す。
【図４】第１ストレージ装置の構成例を模式的に示す。
【図５】ＨＡ構成により提供される仮想ストレージ装置及び仮想ボリュームを示す。
【図６Ａ】ホスト計算機からＨＡＰＶＯＬにライト要求が入った場合の処理の流れの概要を示す。
【図６Ｂ】ホスト計算機からＨＡＳＶＯＬにライト要求が入った場合の処理の流れの概要を示す。
【図７】ボリュームペア構成を示す。
【図８Ａ】第１ストレージ装置が、ホスト計算機からボリュームへのライト要求を受信した場合の処理を示す。
【図８Ｂ】第２ストレージ装置が、ホスト計算機からボリュームへのライト要求を受信した場合の処理を示す。
【図９】ＨＡペア管理テーブルの一例を示す。
【図１０】ＲＣペア管理テーブルの一例を示す。
【図１１】ジャーナルグループ管理テーブルの一例を示す。
【図１２】ＲＣペア形成命令に対する処理を示す。
【図１３】入力及び結果表示画像例を示す。
【図１４】ＲＣペア形成命令に対する処理を示す。
【図１５】ＲＣペア形成命令に対する処理を示す。
【図１６】ＲＣペア形成命令に対する処理を示す。
【図１７】ＲＣペア形成命令に対する処理を示す。
【図１８】ＲＣペア形成命令に対する処理を示す。
【図１９】ＲＣペアのスワップサスペンド命令に対する処理を示す
【図２０】デルタＲＣペア解除命令に対する処理を示す。
【図２１】デルタＲＣペア回復命令に対する処理を示す。
【図２２】ＨＡペア形成命令に対する処理を示す。
【図２３】ＨＡリシンク命令の処理を示す。
【図２４】ＨＡペア解除命令に対する処理を示す。
【図２５】ＨＡペアのスワップリシンク命令の処理を示す。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については同一の参照符号が付されている。
【００１６】
なお、以下において「仮想」と明示されない構成要素は、特に言及のない場合、実構成要素である。以下の説明において、ホストデータを格納するボリュームをデータボリューム又は単にボリュームと呼び、ジャーナルを格納するボリュームをジャーナルボリュームと呼ぶことがある。
【００１７】
図１Ａは、一実施形態の概要を示す。ストレージシステムは、互いにネットワークにより接続された、第１ストレージ装置２０Ａ、第２ストレージ装置２０Ｂ及び第３ストレージ装置２０Ｃを含む。第１ストレージ装置２０Ａは第１ボリューム２０１Ａを提供し、第２ストレージ装置２０Ｂは第２ボリューム２０１Ｂを提供し、第３ストレージ装置２０Ｃは第３ボリューム２０１Ｃを提供する。
【００１８】
ストレージ装置２０Ａ〜２０Ｃは、それぞれ、ジャーナルボリューム（ＪＶＯＬ）２３１Ａ〜２３１Ｃを保持する。ＪＶＯＬは、ジャーナルを格納する。ジャーナルは、ライトデータ（更新データとも呼ぶ）と更新情報とから構成される。更新情報は、更新データのアドレス及び更新順序を示す更新番号を含む。
【００１９】
第１ボリューム２０１Ａと第２ボリュームとは、高可用性ペア（ＨＡペア）２１１Ａを構成する。第１ボリューム２０１Ａと第３ボリューム２０１Ｃとは、リモートコピーペア（ＲＣペア）２１１Ｂを構成する。第２ボリューム２０１Ｂと第３ボリューム２０１Ｃとは、デルタリモートコピーペア（デルタＲＣペア）２１１Ｃを構成する。
【００２０】
上述のように、１つのボリュームを共有するコピーペアを連携コピーペアと呼ぶ。ＨＡペア２１１Ａ、ＲＣペア２１１Ｂ、及びデルタＲＣペア２１１Ｃは、互いに連携コピーペアである。
【００２１】
ストレージシステムは、ホスト計算機１０又は不図示の管理計算機からの命令に従って、コピーペアを形成する。ストレージシステムは、コピーペア形成により、二つのボリュームのコピー関係を定義し、その情報を管理する。コピーペア形成の後、一方ボリュームから他方ボリュームへの初期コピーが実施される。初期コピーは、ユーザ指定可能でもよい。本実施形態のストレージシステムは、ＨＡペア２１１Ａ、デルタＲＣペア２１１Ｃ、及びＲＣペア２１１Ｂの順で、コピーペアを形成する。これにより、第１ボリューム２０１Ａの障害発生時に、ジャーナルコピーにより、ＲＣペア形成後のＨＡペアの更新を、第３ボリューム２０１Ｃに確実に反映させる。まず、各コピーペアの動作を説明する。
【００２２】
ＨＡペア２１１Ａは同期コピーペアであって、双方のボリューム２０１Ａ、２０１Ｂへのライトデータの書き込み後に完了報告がホストに返される。第１ボリューム２０１は正ボリューム（ＰＶＯＬ）、第２ボリュームは副ボリューム（ＳＶＯＬ）である。ＨＡペアにおけるＰＶＯＬをＨＡＰＶＯＬ、ＨＡペアにおけるＳＶＯＬをＨＡＳＶＯＬとも呼ぶ。ＨＡＰＶＯＬ２０１Ａ、ＨＡＳＶＯＬ２０１Ｂの双方がホストからのリード要求及びライト要求を受け付ける。ＨＡペアの一方のボリュームにおいて障害が発生した場合、他方のボリュームが単独で継続使用される。
【００２３】
ライトデータは、常にＨＡＰＶＯＬ２０１Ａに先に書き込まれる。ＨＡＳＶＯＬ２０１Ｂへのライト要求に対して、第２ストレージ装置２０Ｂは第１ストレージ装置２０にライトデータを転送する。ライトデータは、ＨＡＰＶＯＬ２０１Ａに書き込まれた後に、ＨＡＳＶＯＬ２０１Ｂに書き込まれる。リードデータは、ＨＡＰＶＯＬ２０１Ａ、ＨＡＳＶＯＬ２０１Ｂの双方又はＨＡＰＶＯＬ２０１Ａのみから読み出される。
【００２４】
ＲＣペア２１１Ｂは非同期コピーペアであり、第１ボリューム２０１ＡがＰＶＯＬであり、第３ボリューム２０１ＣがＳＶＯＬである。ＲＣペアにおけるＰＶＯＬをＲＣＰＶＯＬ、ＲＣペアにおけるＳＶＯＬをＲＣＳＶＯＬとも呼ぶ。第１ボリューム２０１Ａは、ＨＡＰＶＯＬであると共に、ＲＣＰＶＯＬである。
【００２５】
第１ストレージ装置２０Ａは、ＲＣ２０１Ａに格納するライトデータのジャーナルを、正ジャーナルボリューム（ＰＪＶＯＬ）２３１Ａに格納する。ＲＣペア２１１Ｂは非同期リモートコピーであり、完了報告は、ＲＣＰＶＯＬ２０１Ａへのライトデータ格納に応答して送信される。第１ストレージ装置２０Ａは、ジャーナルを第３ストレージ装置２０Ｃに送信する。
【００２６】
第３ストレージ装置２０Ｃは、ＰＪＶＯＬ２３１Ａからのジャーナルを副ジャーナルボリューム（ＳＪＶＯＬ）２３１Ｃに格納し、その後、当該ジャーナルの更新データをＲＣＳＶＯＬ２０１Ｃに格納する。更新番号により、ＲＣＰＶＯＬ２０１Ａの更新順序とＲＣＳＶＯＬ２０１Ｃの更新順序が一致させられる。
【００２７】
デルタＲＣペア２１１Ｃは、第１ボリューム２０１Ａにおける障害に備えたスタンバイコピーペアであり、第２ボリューム２０１ＢがＰＶＯＬであり、第３ボリューム２０１ＣがＳＶＯＬである。デルタＲＣペアにおけるＰＶＯＬをデルタＲＣＰＶＯＬ、デルタＲＣペアにおけるＳＶＯＬをデルタＲＣＳＶＯＬとも呼ぶ。第２ボリューム２０１Ｂは、ＨＡＳＶＯＬであると共に、デルタＲＣＰＶＯＬである。第３ボリューム２０１Ｃは、ＲＣＳＶＯＬであると共に、デルタＲＣＳＶＯＬである。
【００２８】
デルタＲＣＰＶＯＬ２０１Ｂの更新データのジャーナルは、第２ストレージ装置２０ＢのＰＪＶＯＬ２３１Ｂに格納され、保持される。デルタＲＣペア２１１Ｃの通常状態は待機状態であって、デルタＲＣＰＶＯＬ２０１Ｂの更新は、デルタＲＣＳＶＯＬ２０１Ｃに反映されない。第１ボリューム２０１Ａにおいて障害が発生した場合、ＰＪＶＯＬ２３１Ｂに格納されている更新データがデルタＲＣＳＶＯＬ２０１Ｃに反映され（デルタコピー）、デルタＲＣペア２１１Ｃは、ＲＣペアに変化する。第２ボリューム２０１ＢがＲＣＰＶＯＬ、第３ボリューム２０１ＣがＲＣＳＶＯＬとして運用される。
【００２９】
デルタＲＣペア２１１Ｃは、その形成と同時に待機状態に変化する。後述するデルタリシンク命令が発行されるまで、初期コピーも含め、デルタＲＣペア２１１Ｃにおいて、データはコピーされない。デルタＲＣペア２１１Ｃが形成されても、ＲＣペア２１１Ｂが形成され、ＲＣペア２１１Ｂにおいて更新データが伝播されるまで、デルタＲＣＰＶＯＬ２０１Ｂの更新データのジャーナルは作成されない。
【００３０】
図１Ｂは、図１Ａと異なるコピーペア形成順序における課題を示す。図１Ｂにおいて、ＨＡペア２１１Ａ、ＲＣペア２１１Ｂ、及びデルタＲＣペア２１１Ｃの順に、コピーペアが形成される。デルタＲＣペア２１１Ｃ作成前に、ＲＣＰＶＯＬ２０１Ｂのジャーナルが作成される。
【００３１】
ＲＣペア２１１Ｂは、ＨＡペア２１１Ａ形成後に形成される。ＲＣペア２１１Ｂ形成時に、ＪＶＯＬ２３１Ａ、２３１Ｃは、ＲＣペア２１１Ｂに関連付けられる。ＨＡペア２１１Ａ及びＲＣペア２１１Ｂ形成時に、ＰＶＯＬからＳＶＯＬへの初期コピーが実行される。ＲＣペア２１１Ｂの初期コピーはオプションでもよい。その後、ＰＪＶＯＬ２３１Ａに、更新データＤ１、Ｄ２が書き込まれる。
【００３２】
その後、デルタＲＣペア２１１Ｃが形成される。デルタＲＣペア２１１Ｃ形成時に、ＪＶＯＬ２３１Ｂは、デルタＲＣペア２１１Ｃに関連付けられる。更新データは、デルタＲＣペア２１１Ｃ形成後にＪＶＯＬ２３１Ｂに格納され始める。
【００３３】
デルタＲＣペア２１１Ｃ形成後、更新データＤ３がＰＪＶＯＬ２３１Ａ及びＰＪＶＯＬ２３１Ｂに書き込まれる。非同期コピーによって、更新データＤ１がＳＪＶＯＬ２３１Ｃに転送される。更新データＤ２がＳＪＶＯＬ２３１Ｃに転送される前に、第１ボリューム２０１Ａにおいて障害が発生する。
【００３４】
第３ストレージ装置２０ＣのＳＪＶＯＬ２３１Ｃには、更新データＤ１のみが格納され、第２ストレージ装置２０ＢのＰＪＶＯＬ２３1Ｂには、更新データＤ３のきが格納されている。データＤ２がＳＪＶＯＬ２３１Ｃ及びＰＪＶＯＬ２３1Ｂに格納されておらず、第３ボリューム２０１Ｃにコピーできない。
【００３５】
図１Ｃは、図１Ａに示すコピーペア形成順序における、デルタコピーを示す。最初にＨＡペア２１１Ａが形成される。ＲＣペア２１１Ｂ及びデルタＲＣペア２１１Ｃは、ＨＡペア２１１Ａのバックアップコピーのめのペアであり、最初にＨＡペア２１１Ａが形成される。初期コピーは上述の通りである。
【００３６】
次に、デルタＲＣペア２１１Ｃが形成され、その後、ＲＣペア２１１Ｂが形成される。ＲＣペア２１１Ｂ形成後、ＨＡペア２１１Ａ及びＰＪＶＯＬ２３１Ａ、２３１Ｂに、更新データＤ１〜Ｄ３が順に格納される。
【００３７】
ＰＪＶＯＬ２３１Ａの更新データＤ１及びＤ２がＲＣペア２１１ＢのＳＪＶＯＬ２３１Ｃに転送された後、第１ボリューム２０１Ａにおいて障害が発生する。更新データＤ３は、ＳＪＶＯＬ２３１Ｃに転送されていない。更新データＤ３は、デルタＲＣペア２１１ＣのＰＪＶＯＬ２３１Ｂに格納されているため、第３ボリューム２０１Ｃにコピーされる。本実施形態のコピーペア形成順序は、ＲＣペア２１１Ｂ形成後の更新データを、デルタＲＣペア２１１Ｃのジャーナルコピーにより確実に第３ボリューム２０１Ｃに反映できる。ＲＣペア２１１Ｂの初期コピーにより、デルタＲＣペア２１１Ｃのデータ同一性は確保される。
【００３８】
図２は、本実施形態における計算機システムの構成例を示す。図２の計算機システムは、ホスト計算機１０と、ストレージ装置２０Ａ〜２０Ｄと、管理装置４０と、を含む。ストレージシステムは、ストレージ装置２０Ａ〜２０Ｄと、管理装置４０と、を含む。
【００３９】
計算機システムに含まれる各種装置（システム）の数は、設計に依存する。第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂは、１台の仮想的なストレージ装置である仮想ストレージ装置を構成する。第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂが提供するボリュームは、ＨＡペアを構成する。
【００４０】
第３ストレージ装置２０Ｃは、第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂのバックアップデータを格納する。第１ストレージ装置２０Ａ及び第３ストレージ装置２０Ｃが提供するボリュームは、ＲＣコピーペアを構成する。第２ストレージ装置２０Ｂ及び第３ストレージ装置２０Ｃが提供するボリュームは、デルタＲＣペアを構成する。
【００４１】
第４物理ストレージ装置２０Ｄは、Ｑｕｏｒｕｍ  Ｄｉｓｋを持つ。Ｑｕｏｒｕｍ  Ｄｉｓｋは、ＨＡ構成の第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂの間で通信不可となった場合に、ＨＡ構成が組まれたストレージ装置２０Ａ及び２０Ｂのうち、継続稼動させるものと停止させるものを決定する機能を提供する。Ｑｕｏｒｕｍ  Ｄｉｓｋにより、スプリットブレイン問題を防ぐことができる。
【００４２】
ホスト計算機１０、管理装置４０及びストレージ装置２０Ａ〜２０Ｄは、ＬＡＮ６０で構成された管理ネットワークにより、通信可能に接続されている。例えば、管理ネットワーク６０は、ＩＰネットワークである。管理ネットワーク６０は、管理データ通信用のネットワークであればどのタイプのネットワークでもよい。
【００４３】
ホスト計算機１０及びストレージ装置２０Ａ〜２０Ｃは、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）で構成されたデータネットワーク５０Ａにより接続されている。ストレージ装置２０Ａ〜２０Ｃは、ＳＡＮで構成されたストレージ間データネットワーク５０Ｂにより接続されている。
【００４４】
ホスト計算機１０は、ＳＡＮ５０Ａを介して、ストレージ装置２０Ａ〜２０Ｃのボリュームにアクセスする。ネットワーク５０Ａ、５０Ｂはデータ通信用のネットワークであれば、どのようなタイプのネットワークでもよい。データネットワーク５０Ａ、５０Ｂと管理ネットワーク６０は同一のネットワークでもよい。
【００４５】
図３は、管理装置４０の構成例を模式的に示す。管理装置４０は、プロセッサであるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１、不揮発性の二次記憶デバイス４２、主記憶デバイスであるメモリ４３、入力デバイス４４、出力デバイス４５、インタフェース４７を含む。各構成要素は、バス４６により通信可能に接続されている。入力デバイス４４は、例えば、キーボードやマウスであり、出力デバイス４５は、例えば、ディスプレイやプリンタである。
【００４６】
ＣＰＵ４１は、メモリ４３に格納されたプログラムに従って動作する。典型的には、二次記憶デバイス４２に格納されているプログラム及びデータが、メモリ４３にロードされる。本例において、メモリ４３は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１３１及び管理プログラム４３２を保持する。インタフェース４７は、ＬＡＮ６０を介してストレージ装置２０Ａ〜２０Ｄと管理データ及び制御要求を送受信する。管理インタフェース１７は、さらに、ＬＡＮ６０を介してホスト計算機１０と、管理データ及び制御要求を送受信する。
【００４７】
ホスト計算機１０は、管理装置４０と同様のハードウェア構成に加え、ＳＡＮ５０Ａに接続するポートを含む。ホスト計算機１０は、当該ポートを介してストレージ装置とＲ／Ｗコマンド及びデータの送受信通信を行う。ホスト計算機１０は、管理インタフェース及びＬＡＮ６０を介して、他の装置と管理データ及び制御要求を送受信する。
【００４８】
ホスト計算機１０は、ＯＳに加え、交替パスプログラム及びアプリケーションプログラムを保持する。アプリケーションプログラムは、ストレージ装置２０Ａ〜２０Ｄが提供するボリュームへデータの読み書きを行う。交替パスプログラムは、ボリュームにアクセスするパス（ポート）を選択する。
【００４９】
図４は、第１ストレージ装置２０Ａの構成例を模式的に示す。本例において、全ストレージ装置２０Ａ〜２０Ｄの基本構成は同じであるが、構成要素の数や記憶容量等は各ストレージ装置２０Ａ〜２０Ｄに依存する。これらは異なる基本構成を有していてもよい。
【００５０】
第１ストレージ装置２０Ａは、複数の記憶デバイス（例えば、ハードディスクドライブ及び／又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ））２２と、ストレージ装置２０Ａを制御し、ボリューム管理や、ホスト計算機１０又は他のストレージ装置とのデータ通信等を行うストレージコントローラとを含む。
【００５１】
ストレージコントローラは、プロセッサであるＣＰＵ２１、プログラムメモリ２３、Ｉ／Ｏ要求発行側インタフェースであるイニシエータポート２６、Ｉ／Ｏ要求受信側インタフェースであるターゲットポート２７、管理インタフェース２８、データ転送のためのキャッシュメモリ２４、を含む。各構成要素は、バス２５で通信可能に接続されている。
【００５２】
イニシエータポート２６はＳＡＮ５０Ｂに接続する。第１ストレージ装置２０Ａは、イニシエータポート２６を介して、外部（他）のストレージ装置に接続し、外部のストレージ装置にＩ／Ｏ要求及びライトデータを送信し、外部の物理ストレージ装置からリードデータを受信することができる。
【００５３】
ターゲットポート２７はＳＡＮ５０Ａ又は５０Ｂに接続する。第１ストレージ装置２０Ａは、ターゲットポート２７を介して、ホスト計算機１０又は外部のストレージ装置からＩ／Ｏ要求及びライトデータを受信し、また、ホスト計算機１０又は外部のストレージ装置にリードデータを送信する。管理インタフェース２８は、ＬＡＮ６００に接続するためのデバイスである。
【００５４】
ＣＰＵ２１は、第１ストレージ装置２０Ａの制御のためのプログラムを実行し、ホスト計算機１０からのＩ／Ｏの制御及びボリュームの管理、制御を含む所定の機能を実現する。本実施例で説明するＣＰＵ２１により実現される機能の少なくとも一部は、ＣＰＵ２１と異なるロジック回路によって実現されてもよい。
【００５５】
プログラムはプロセッサ（ＣＰＵ）によって実行されることで、定められた処理をメモリ及びインタフェースを用いながら行う。従って、本開示においてプログラムを主語とする説明は、プロセッサを主語とした説明でもよい。若しくは、プログラムが実行する処理は、そのプログラムが動作する装置（例えばストレージ装置又はホスト計算機）及びシステムが行う処理である。
【００５６】
プログラムメモリ２３は、ＣＰＵ２１が扱うデータやプログラムを格納する。プログラムメモリ２３のデータは、例えば、第１ストレージ装置２０Ａ内のいずれかの記憶デバイス２２、フラッシュメモリ（不図示）、又はＬＡＮ６００を介して接続された他の装置等、非一時的記憶媒体を備える記憶デバイスからプログラムメモリ２３にロードされる。
【００５７】
以下において、ＨＡ構成について説明する。図５は、ＨＡ構成により提供される仮想ストレージ装置及び仮想ボリュームを示す。以下の説明において、ＨＡ構成及びＨＡペアは、Ａｃｔｉｖｅ−Ａｃｔｉｖｅ型のＨＡ構成及びＨＡペアを意味する。ＨＡペアは、ＨＡＰＶＯＬとＨＡＳＶＯＬとで構成さる。図５の例において、第１ストレージ装置２０Ａのボリューム２０１ＡがＰＶＯＬであり、第２ストレージ装置のボリューム２０１ＢはＳＶＯＬである。
【００５８】
第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂは、同一の仮想ストレージ装置ＩＤをホスト計算機１０に提供する。これにより、ホスト計算機１０は、第１ストレージ装置２０Ａと第２のストレージ装置２０Ｂとを区別せず、仮想ストレージ装置２００を認識する。各ストレージ装置は、それぞれのストレージ装置ＩＤと仮想ストレージ装置ＩＤの対応関係を保持する。例えば、各ストレージ装置のプログラムメモリ２３上にストレージ装置ＩＤと仮想ストレージ装置ＩＤのマッピングテーブルが格納される。
【００５９】
ホスト計算機１０が認識する仮想ボリューム２１０は、第１ストレージ装置２０Ａのボリューム２０１Ａと第２ストレージ装置２０Ｂのボリューム２０１Ｂとで二重化して管理されている。具体的に、ボリューム２０１ＡのＩＤとボリューム２０１ＢのＩＤに、仮想ボリューム１１の仮想ボリュームＩＤが対応づけられて管理されている。ストレージ装置２０Ａ、２０Ｂは、それぞれ、仮想ボリュームＩＤと仮想ボリュームＩＤに対応付けられている複数の物理ボリュームＩＤの対応関係を保持する。
【００６０】
ホスト計算機１０は、複数のストレージ装置２０Ａ、２０Ｂを１台の仮想ストレージ装置２００と認識し、物理ボリュームに対するアクセスと同様に、仮想ボリューム２１０にアクセスすることができる。仮想ボリューム２１０を介していずれかの物理ボリュームに書き込まれたデータは、もう一方の物理ボリュームに書き込まれてデータが二重化される。
【００６１】
上記ボリューム冗長化機能により、ＨＡ構成の一方の物理ボリュームに障害が発生しても、ホスト計算機１０は、他方の物理ボリュームを使用してデータへのアクセスが可能である。また、旧物理ストレージ装置から新物理ストレージ装置にデータを移行する際には、新ストレージ装置を旧ストレージ装置と同一の仮想ストレージ装置としてホスト計算機に認識させる。これにより、ホスト計算機が業務を停止することなく、物理ストレージ装置のリプレースが可能となる。
【００６２】
図６Ａはホスト計算機１０からＨＡＰＶＯＬ２０１Ａにライト要求が入った場合の処理の流れの概要である。第１ストレージ装置２０Ａは、ホスト計算機１０から、ライト要求に伴うデータを受信する（Ｓ２０１）。
【００６３】
第１ストレージ装置２０Ａは、ボリューム２０１Ａのライト先アドレスの排他を取得し、ＨＡＰＶＯＬ２０１Ａにライトする（Ｓ２０２）。第１ストレージ装置２０Ａは、ＨＡＳＶＯＬ２０１Ｂにデータを格納させるために、第２ストレージ装置２０Ｂにライト要求及びデータを転送する（Ｓ２０３）。
【００６４】
ライト要求及びデータを受信した第２ストレージ装置２０Ｂは、ＨＡＳＶＯ２０１Ｂにデータを格納する（Ｓ２０４）。第２ストレージ装置２０Ｂは、ライトの完了報告を第１ストレージ装置２０Ａに送信する（Ｓ２０５）。第１ストレージ装置２０ＡはステップＳ２０２で取得した排他を解除し、ホスト計算機１０に対してライト完了報告を送信する（Ｓ２０６）。
【００６５】
図６Ｂはホスト計算機１０からＨＡＳＶＯＬであるボリューム２０１Ｂにライト要求が入った場合の処理の流れの概要である。第２ストレージ装置２０Ａは、ホスト計算機１０から、ライト要求に伴うデータを受信する（Ｓ２１１）。
【００６６】
第２ストレージ装置２０Ａは、第１ストレージ装置２０Ａにライト要求及びデータを転送する（Ｓ２１２）。ライト要求及びデータを受信した第１ストレージ装置２０Ａは、ボリューム２０１Ａにデータを格納する（Ｓ２１３）。第１ストレージ装置２０Ａは、ライトの完了報告を第２ストレージ装置２０Ｂに送信する（Ｓ２１４）。第２ストレージ装置２０Ａは、ホスト計算機１０から受信したデータをボリューム２０１Ｂに格納し（Ｓ２１５）、第１ストレージ装置２０Ａに排他の解除を指示する（Ｓ２１６）。その後、第２ストレージ装置２０Ｂは、ホスト計算機１０に対してライト完了報告を送信する（Ｓ２１７）。
【００６７】
ボリューム２０１Ａ及びＳＶＯＬであるボリューム２０１Ｂにリード要求を発行した場合の処理の流れの概要を説明する。ボリューム２０１Ｂへのリード要求を受領した第２ストレージ装置２０Ｂは、ボリューム２０１Ｂからデータをリードし、ホスト計算機１０にデータを返す。
【００６８】
ボリューム２０１Ａへのリード要求を受領した第１ストレージ装置２０Ａは、リード要求のあったデータの格納領域に対し排他が取得されていないか確認し、排他がない場合には、ボリューム２０１Ａからデータをリードし、ホスト計算機１０にデータを返す。排他取得されている場合に、第１ストレージ装置２０Ａは所定時間待ち、再度排他が取得されているか確認する。ボリューム２０１Ａからのリード処理において、排他が取得される。
【００６９】
上記例において、ライト処理における排他は、当該領域に対する他のライト処理及びリード処理を禁止し、リード処理における排他は、当該領域に対する他のライト処理は禁止し、他のリード処理を禁止しても禁止しなくともよい。
【００７０】
ＨＡペアのいずれのボリュームのＩ／Ｏアクセスも受け付けるには、ＰＶＯＬとＳＶＯＬのいずれにアクセスされたとしても、新しいデータを読み出された後に、古いデータが読みだされる事を防ぐ必要がある。この順序が逆になってしまうまき戻りが起こることによりホストの誤作動が生じる可能性があるためである。上記ライト順序及び排他制御は、まき戻りの発生を防ぎ、ホストからのコマンドに対するＰＶＯＬとＳＶＯＬの同一性を適切に維持することができる。
【００７１】
第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂは、上記ボリュームアクセス順序及び排他制御と異なる方法によって、ボリュームへのアクセス順序及び排他制御を行ってもよい。例えば、リード処理は、常にＳＶＯＬからデータを読み出してもよい。
【００７２】
次に、ＨＡ構成とリモートコピーとの連携を説明する。ストレージシステムは、ＨＡペアに加え、ＲＣペア及びデルタＲＣペアを構成する。
【００７３】
図７はボリュームペア構成を示す。第１ストレージ装置２０Ａのボリューム２０１Ａと第２ストレージ装置２０Ｂのボリューム２０１Ｂとは、上述のようにＨＡペア２１１Ａを構成している。さらに、第１ストレージ装置２０Ａのボリューム２０２Ａと第２ストレージ装置２０Ｂのボリューム２０２Ｂも、ＨＡペア２１２Ａを構成している。
【００７４】
２つのＨＡペア２１１Ａ、２１１は同一のＨＡグループに属している。ＨＡグループはＨＡペアのコピーグループであって、ＨＡペアに関する命令は、ＨＡグループを指定する。ＨＡグループ内の全ＨＡペアが、１つの命令で同様に操作される。この点は、他種のコピーペアのコピーグループについて同様である。
【００７５】
第３ストレージ装置２０Ｃは、ボリューム２０１Ｃ及びボリューム２０２Ｃを提供する。ボリューム２０１Ａ及びボリューム２０１ＣはＲＣペア２１１Ｂを構成し、ボリューム２０２Ａ及びボリューム２０２ＣはＲＣペア２１２Ｂを構成する。ＲＣペアにおいて、非同期のリモートコピーによりデータが二重化される。ボリューム２０１Ａ、２０２Ａは、ＲＣペア２１１Ｂ、２１２ＢにおけるＲＣＰＶＯＬであり、ボリューム２０１Ｃ、２０２ＣはＲＣペア２１１Ｂ、２１２ＢにおけるＲＣＳＶＯＬである。
【００７６】
さらに、ボリューム２０１Ｂ及びボリューム２０１ＣはデルタＲＣペア２１１Ｃを構成し、ボリューム２０２Ｂ及びボリューム２０２ＣはデルタＲＣペア２１２Ｃを構成する。ボリューム２０１Ｂ、２０２Ｂは、デルタＲＣペア２１１Ｃ、２１２ＣにおけるデルタＲＣＰＶＯＬであり、ボリューム２０１Ｃ、２０２ＣはデルタＲＣペア２１１Ｃ、２１２ＣにおけるデルタＲＣＳＶＯＬである。
【００７７】
デルタＲＣＰＶＯＬの更新はジャーナルボリュームに保持され、リシンクによってデルタＲＣＳＶＯＬに更新が反映される。デルタＲＣペアにおけるリシンクをデルタリシンクとも呼ぶ。
【００７８】
第１ストレージ装置２０Ａ、第２ストレージ装置２０Ｂ及び第３ストレージ装置２０Ｃは、それぞれ、ＪＶＯＬ２３１Ａ、２３１Ｂ及び２３１Ｃを含む。ＪＶＯＬ２３１Ａ、２３１Ｂは、リモートコピーのためのジャーナルボリュームである。ＪＶＯＬ２３１Ｃは、デルタリモートコピーのためのジャーナルボリュームである。
【００７９】
ジャーナルボリュームは、ジャーナルを格納する。ジャーナルは、ライトデータ（更新データ）と更新情報とから構成される。更新情報は、ライトデータを管理するための情報で、更新番号、グループ番号、ライト要求受信時刻、論理アドレス、データサイズ、ライトデータを格納したジャーナルボリュームの論理アドレス等を含む。更新情報は、ライト要求を受信した時刻と更新番号のどちらか一方のみを保持してもよい。
【００８０】
ボリューム２０１Ａ、２０２Ａ及び２３１Ａは、同一のジャーナルグループ２５１Ａに属する。ボリューム２０１Ｃ、２０２Ｃ及び２３１Ｃは、同一のジャーナルグループ２５１Ｃに属する。ジャーナルグループ２５１Ａ、２５１Ｃは、リモートコピーにおいて関連付けられる。ＲＣコピーペア２１１Ａ、２１２Ｂは１つのコピーグループを構成する。
【００８１】
ジャーナルグループ２５１Ａおける更新順序とジャーナルグループ２５１Ｃにおける更新順序は、それらが一致するように制御される。言い換えれば、１つのリモートコピーグループ内で、正側の更新順序と副側の更新順序は一致する。
【００８２】
ボリューム２０１Ｂ、２０２Ｂ及び２３１Ｂは、同一のジャーナルグループ２５１Ｂに属する。ジャーナルグループ２５１Ｂ、２５１Ｃは、デルタリモートコピーにおいて関連付けられる。デルタＲＣペア２１１Ｃ、２１２Ｃは１つのコピーグループを構成する。
【００８３】
第１ストレージ装置２０Ａは、ボリューム２０１Ａ、２０２Ａのデータを更新する場合、ボリューム２０１Ｃ、２０２Ｃのデータを更新するために、ジャーナルを作成し、第１ストレージ装置２０Ａ内のＪＶＯＬ２３１Ａに保存する。
【００８４】
第２ストレージ装置２０Ｂは、ボリューム２０１Ｂ、２０２Ｂのデータを更新する場合、ジャーナルを作成し、第２ストレージ装置２０Ｂ内のＪＶＯＬ２３１Ｂに保存する。第３ストレージ装置２０ＣのＪＶＯＬ２３１Ｃは、第１ストレージ装置２０Ａから第３ストレージ装置２０Ｃに転送したジャーナルを保存するために使用される。ジャーナルボリュームにより、ジャーナルの転送及びジャーナルに反映タイミングを選択できるので、ストレージ装置の時間的な負荷分散を実現できる。
【００８５】
連携するＲＣペアとデルタＲＣペアとの間において、ジャーナルの更新番号は一致していることが要求される。上述のように、連携するＲＣペアとデルタＲＣペアにおいて、副側のジャーナルグループは一致する。図７において、第１ストレージ装置２０Ａ内のＪＶＯＬ２３１Ａと第２ストレージ装置２０Ｂ内のＪＶＯＬ２３１Ｂとの間において、ジャーナルの更新番号が一致していることが要求される。
【００８６】
ＪＶＯＬ２３１Ａ、２３１Ｂそれぞれに格納されるジャーナルが一致するように、第１ストレージ装置２０Ａと第２ストレージ装置２０Ｂとの間で更新番号が管理される。本実施形態において、ＨＡＰＶＯＬ２０１Ａ、２０２Ａを保持する第１ストレージ装置２０Ａがジャーナルの更新番号を決定し、それを第２ストレージ装置２０Ｂに通知する。第２ストレージ装置２０Ｂは、通知された更新番号を含むジャーナルをＪＶＯＬ２３１Ｂに格納する。
【００８７】
例えば、第１ストレージ装置２０Ａは、ホスト計算機１０から受信したライト要求及び更新データと共に、更新番号を第２ストレージ装置２０Ｂに送信する。第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂから受信したライト要求に対する完了報告と共に、更新番号を第２ストレージ装置２０Ｂに送信する。
【００８８】
または、第１ストレージ装置２０Ａは、及び第２ストレージ装置２０Ｂから受信したライト要求のそれぞれに対して、ジャーナルを作成し、第２ストレージ装置２０Ｂに送信する。第２ストレージ装置２０Ｂは、受信したジャーナルをＪＶＯＬ２３１Ｂに格納する。さらに、第２ストレージ装置２０Ｂは、第１ストレージ装置２０Ａから受信したジャーナルに従って、ＨＡＳＶＯＬ２０１Ｂ、２０２Ｂを更新する。
【００８９】
図７の構成例において、１つのＨＡグループが１つのジャーナルグループペアと対応付けられている。これと異なり、１つのＨＡグループに複数のジャーナルグループペアが対応付けられていてもよい。ＨＡグループ内において、正側と副側の更新順序を一致させてもよい。他種のコピーグループについても同様である。ＨＡペアは、ジャーナルボリュームを使用してライトデータを転送してもよい。
【００９０】
図８Ａは、第１ストレージ装置２０Ａが、ホスト計算機１０からボリューム２０１Ａへのライト要求を受信した場合の処理を示す。第１ストレージ装置２０Ａは、ホスト計算機１０からボリューム２０１Ａに対するライト要求を受信すると（Ｓ２３１）、ボリューム２０１Ａにライトデータを格納し（Ｓ２３２）、さらに、ジャーナルボリューム２３１Ａへジャーナルを格納する（Ｓ２３３）。さらに、第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂに、ライト要求及びライトデータを、更新番号と共に送信する（Ｓ２３４）。
【００９１】
第２ストレージ装置２０Ｂは、第１ストレージ装置２０Ａから転送されたライト要求に従って、ボリューム２０１Ｂにライトデータを格納する（Ｓ２３５）。さらに、第２ストレージ装置２０Ｂは、受信した更新番号とライトデータを含むジャーナルを作成し、ジャーナルボリューム２３１Ｂへ格納する（Ｓ２３６）。
【００９２】
第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂから完了報告を受けた（Ｓ２３７）後、ホスト計算機１０に完了報告を送信する（Ｓ２３８）。ボリューム２０１Ａ、２０１Ｂの更新後にホスト計算機１０に完了報告が送信され、それらは同期している。
【００９３】
第３ストレージ装置２０Ｃは、第１ストレージ装置２０Ａのジャーナルボリューム２３１Ａからジャーナルをリードし（Ｓ２３９）、ジャーナルボリューム２３１Ｃにジャーナルを格納する（Ｓ２４０）。具体的には、第１ストレージ装置２０Ａは、第３ストレージ装置２０Ｃからジャーナルリード要求を受信すると、ジャーナルボリューム２３１Ａからジャーナルを読み出し、第３ストレージ装置２０Ｃに送信する。
【００９４】
第３ストレージ装置２０Ｃは、更新番号に従って、ジャーナルボリューム２３１Ｃからジャーナルを読み出し、ボリューム２０１Ｃにライトデータを格納する（Ｓ２４１）。第１ストレージ装置２０Ａ内のボリューム２０１Ａと第３ストレージ装置２０Ｃ内のボリューム２０１Ｃのデータは、ホスト計算機１０への完了報告の送信時には一致せず、その後、一致する。ボリューム２０１Ａとボリューム２０１Ｃは非同期である。
【００９５】
図８Ｂは、第２ストレージ装置２０Ｂが、ホスト計算機１０からボリューム２０１Ｂへのライト要求を受信した場合の処理を示す。第２ストレージ装置２０Ｂは、ホスト計算機１０からボリューム２０１Ｂに対するライト要求を受信すると（Ｓ２５１）、ライト要求とライトデータを第１ストレージ装置２０Ａに転送する（Ｓ２５２）。
【００９６】
第１ストレージ装置２０Ａは、ボリューム２０１Ａにライトデータを格納し（Ｓ２５３）、さらに、ジャーナルボリューム２３１Ａへジャーナルを格納する（Ｓ２５４）。その後、第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂに完了報告と共に更新番号を送信する（Ｓ２５５）。
【００９７】
第２ストレージ装置２０Ｂは、ボリューム２０１Ｂにライトデータを格納する（Ｓ２５６）。さらに、第２ストレージ装置２０Ｂは、ホスト計算機１０から受信したライトデータと第１ストレージ装置２０Ａから通知された更新番号を含むジャーナルを作成し、ジャーナルボリューム２３１Ｂに格納する（Ｓ２５７）。第２ストレージ装置２０Ｂは、ホスト計算機１０に完了報告を送信する（Ｓ２５８）。
【００９８】
第３ストレージ装置２０Ｃと第１ストレージ装置２０Ａとの間のジャーナルリードは、図８Ａを参照して説明した、第１ストレージ装置２０Ａへのライト要求に対する動作と同様である。第１ストレージ装置２０Ａは、ホスト計算機１０及び第２ストレージ装置２０Ｂから受信したライトコマンドに応答して作成したジャーナルを、第２ストレージ装置２０Ｂに送信してもよい。第２ストレージ装置は受信したジャーナルを、ジャーナルボリューム２３１Ｂに格納する。
【００９９】
次に、第１ストレージ装置２０Ａに故障が発生し、デルタリシンクが指示された場合の処理を説明する。デルタリシンクが指示されると、ボリューム２０１Ｂ、２０１ＣのデルタＲＣペア及びボリューム２０２Ｂ、２０２ＣのデルタＲＣペアが、それぞれ、ＲＣペアに変化する。ボリューム２０１Ｂ、２０２ＢがＲＣＰＶＯＬである。なお、ＨＡＳＶＯＬ２０１Ｂ、２０２Ｂは、ＳＳＷＳ状態にある。ＳＳＷＳ状態については後述する。
【０１００】
ホスト計算機１０又は管理装置４０は、第２ストレージ装置２０Ｂに、デルタリシンク要求を送信する。デルタリシンク要求は、例えばジャーナルグループ単位で、ボリュームを同期させることを要求する。図７の構成例において、デルタリシンク要求は、ジャーナルグループ２５１Ｂ（及び２５１Ｃ）を指定する。
【０１０１】
第２ストレージ装置２０Ｂは、デルタリシンク要求を受信すると、ボリューム及びボリュームペアの管理情報を変更すると共に、第３ストレージ装置２０Ｃに管理情報の変更を指示する。第３ストレージ装置２０Ｃは、管理情報を変更する。さらに、第３ストレージ装置２０Ｃは、第１ストレージ装置２０Ａから未受信のジャーナルを、第２ストレージ装置２０ＢのＪＶＯＬ２３１Ｂから読み出し、ボリューム２０１Ｃ、２０２Ｃに格納する。
【０１０２】
デルタリシンク処理後、第２ストレージ装置２０Ｂのボリューム２０１Ｂ、２０２Ｂと第３ストレージ装置２０Ｃのボリューム２０１Ｃ、２０２Ｃが、ＲＣペアを構成する。第２ストレージ装置２０Ｂは、ホスト計算機１０からのＩ／Ｏ要求を受信する。
【０１０３】
以下において、本実施形態のストレージシステムが保持するテーブルを説明する。以下に説明するテーブルは、ストレージ装置２０Ａ〜２０Ｃそれぞれ又はそれらの一部により保持される。管理装置４０及びホスト計算機１０は、ストレージ装置２０Ａ〜２０Ｃが保持するテーブルに相当する情報を保持する。以下に説明するテーブルの他、ストレージシステムはストレージ装置及びボリュームそれぞれを管理する情報を保持する。
【０１０４】
図９は、ＨＡペア管理テーブル４００の一例を示す。ＨＡペア管理テーブル４００は、第１ストレージ装置２０Ａ及び第２ストレージ装置２０Ｂのそれぞれに保持され、それぞれが保持するボリュームに設定されるＨＡペアを管理するために利用される。
【０１０５】
ＨＡペア管理テーブル４００は、ＨＡペアＩＤ欄４０１、自ボリュームＩＤ欄４０２、自ボリューム属性欄４０３、相手ボリュームＩＤ欄４０４、相手装置ＩＤ欄４０５、相手ボリューム属性欄４０６、ペア状態欄４０７、及びＨＡグループＩＤ欄４０８を含む。ＨＡペア管理テーブル４００は、さらに、ＨＡペアに連携するＲＣペア及びデルタＲＣペアの情報を含んでもよい。
【０１０６】
自ボリュームＩＤ欄４０２及び自ボリューム属性欄４０３は、自装置の、すなわちＨＡペア管理テーブル４００を保持するストレージ装置のボリュームに関する情報を示す。自ボリュームＩＤ欄４０２は、ストレージ装置内で一意に識別可能な番号を格納する。自ボリューム属性欄４０３は、「正」、「副」、「未使用」などのボリュームの属性を示す。
【０１０７】
相手ボリュームＩＤ欄４０４及び相手装置ＩＤ欄４０５は、相手の、すなわちＨＡペアを構成する別のストレージ装置のボリュームに関する情報を示す。それぞれ、ＨＡペアの他方のボリュームのボリュームＩＤ及びストレージ装置のＩＤを示す。相手ボリューム属性欄４０６は、「正」、「副」、「未使用」などのボリュームの属性を示す。
【０１０８】
ペア状態欄４０７及びＨＡグループＩＤ欄４０８は、ＨＡペアに関する情報を示す。ペア状態欄４０７は、例えば「ＰＡＩＲ」、「ＣＯＰＹ」、「ＰＳＵＳ」などのＨＡペアの状態を格納する。ＨＡグループＩＤ欄４０８、ＨＡペアが属するＨＡグループのＩＤを示す。ストレージ装置は、他装置のＨＡペア管理テーブル４００も保持してもよい。
【０１０９】
図１０は、ＲＣペア管理テーブル５００の一例を示す。ＲＣペア管理テーブル５００は、第１〜第３ストレージ装置２０Ａ〜２０Ｃのそれぞれに保持され、それぞれが保持するボリュームに設定されるＲＣペア及びデルタＲＣペアを管理するために利用される。
【０１１０】
ＲＣペア管理テーブル５００は、ペアＩＤ欄５０１、自ボリュームＩＤ欄５０２、自ボリューム属性欄５０３、自ジャーナルグループＩＤ欄５０４、相手ボリュームＩＤ欄５０５、相手装置ＩＤ欄５０６、相手ボリューム属性欄５０７、相手ジャーナルグループＩＤ欄５０８、ペア状態欄５０９、デルタオプション欄５１０、及びＲＣグループＩＤ欄５１１を含む。
【０１１１】
自ボリュームＩＤ欄５０２、自ボリューム属性欄５０３、自ジャーナルグループＩＤ欄５０４、自装置の、すなわちＲＣペア管理テーブル５００を保持するストレージ装置の論ボリュームに関する情報を示す。
【０１１２】
自ボリュームＩＤ欄５０２は、ストレージ装置内で一意に識別可能な番号を格納する。自ボリューム属性欄５０３は、「正」、「副」、「未使用」などのボリュームの属性を示す。自ジャーナルグループＩＤ欄５０４は、ボリュームが属するジャーナルグループのＩＤを格納する。ジャーナルグループに属さない場合にはＮＵＬＬが格納される。
【０１１３】
相手ボリュームＩＤ欄５０５、相手装置ＩＤ欄５０６、相手ボリューム属性欄５０７、及び相手ジャーナルグループＩＤ欄５０８は、相手の、すなわちＲＣペア又はデルタＲＣペアを構成する別のストレージ装置のボリュームに関する情報を示す。それぞれ、ペアの他方のボリュームのボリュームＩＤ、ストレージ装置のＩＤ、ボリューム属性、及びジャーナルグループのＩＤを示す。
【０１１４】
ペア状態欄５０９、デルタオプション欄５１０、及びＲＣグループＩＤ欄５１１は、ＲＣペア又はデルタＲＣペアに関する情報を示す。ペア状態欄５０９は、例えば、「ＣＯＰＹ」、「ＰＡＩＲ」、「ＰＳＵＳ」、「ＳＳＷＳ」、「ＨＯＬＤ」などのペアの状態を格納する。デルタオプション欄５１０は、コピーペアがＲＣペアであるかデルタＲＣペアであるかを示す。ＲＣグループＩＤ欄５１１は、コピーペアが属するコピーグループのシステム内で一意に識別可能な番号を示す。
【０１１５】
図１１はジャーナルグループ管理テーブル６００の一例を示す。ジャーナルグループは、データを格納する１以上のボリュームとジャーナルデータを格納するジャーナルボリュームとから構成されるボリュームの集合である。
【０１１６】
ジャーナルグループ管理テーブル６００は、第１〜第３ストレージ装置２０Ａ〜２０Ｃのそれぞれに保持され、それぞれが保持するボリュームに設定されるジャーナルグループを管理するために利用される。
【０１１７】
ジャーナルグループ管理テーブル６００は、自グループＩＤ欄６０１、自グループ属性欄６０２、自グループ状態欄６０３、グループ内登録ボリューム欄６０４、相手グループＩＤ欄６０５、相手装置ＩＤ欄６０６、ジャーナル作成シーケンシャル番号欄６０７、及びパージシーケンシャル番号欄６０８を有する。
【０１１８】
自グループＩＤ欄６０１、自グループ属性欄６０２、自グループ状態欄６０３、及びグループ内登録ボリューム欄６０４は、自分の、すなわちジャーナルグループ管理テーブル６００を保持するストレージ装置のボリュームに設定されたジャーナルグループに関する情報を示す。
【０１１９】
自グループＩＤ欄６０１は、各ストレージ装置内でジャーナルグループを一意に識別可能な番号を格納する。自グループ属性欄６０２は、「正」、「副」、「未使用」などのジャーナルグループの属性を格納する。
【０１２０】
自グループ状態欄６０３は、「開始」、「停止」、「未使用」などジャーナルグループの状態を格納する。グループ内登録ボリューム欄６０４は、ジャーナルグループに登録されたデータボリューム及びジャーナルボリュームの情報を格納する。
【０１２１】
相手グループＩＤ欄６０５、及び相手装置ＩＤ欄６０６は、相手の、すなわちジャーナルグループ管理テーブル６００を保持するストレージ装置のジャーナルグループとペアとなるジャーナルグループに関する情報を示す。
【０１２２】
相手グループＩＤ欄６０５は、相手装置内で相手ジャーナルグループを一意に識別可能な値を格納する。相手装置ＩＤ欄６０６は、相手ジャーナルグループを保持、管理するストレージ装置のＩＤを格納する。
【０１２３】
ジャーナル作成シーケンシャル番号欄６０７は、更新情報６２０に付与された最新のシーケンシャル番号を格納する。パージシーケンシャル番号欄６０８は、開放可能なジャーナルデータのシーケンシャル番号を格納する。
【０１２４】
以下において、本実施形態のストレージシステムにおけるコピーペア操作ガードについて説明する。本実施形態のストレージシステムは、定義されているコピーペア及びそれらのペア状態に基づいて、所定のコピーペア操作の許否を判定する。コピーペア操作が所定条件に該当する場合、ストレージシステムは当該コピーペア操作を拒否する。これにより、ストレージシステムにとって不適切なコピーペア操作を防ぐ。
【０１２５】
まず、コピーペアのペア状態の例を説明する。コピーペアのペア状態としては、例えば、「ＰＡＩＲ」、「ＳＭＰＬ（シンプレックス）」、「ＣＯＰＹ」、「ＰＳＵＳ（サスペンド：ＰＶＯＬの単独運用）」、「ＳＳＷＳ（スワップサスペンド：ＳＶＯＬの単独運用）」、「ＨＯＬＤ」、「ＨＬＤＥ」等がある。
【０１２６】
「ＰＡＩＲ」は、ＰＶＯＬとＳＶＯＬとがコピーペアを形成しており、ＰＶＯＬの記憶内容とＳＶＯＬの記憶内容とが一致する状態である。「ＳＭＰＬ」は、コピーペアのボリュームがそれぞれ通常の論理ボリュームであることを示す状態である。「ＣＯＰＹ」は、形成コピーが進行中の状態であり、ボリュームペアはまだ同期されていない。形成コピーが完了すると、ペア状態は「ＰＡＩＲ」に変化する。
【０１２７】
「ＰＳＵＳ」は、コピーペアがサスペンド状態であり、ＰＶＯＬのみがホスト計算機からのＩ／Ｏを受け付ける状態である。ＰＶＯＬとＳＶＯＬとは同期しておらず、ＰＶＯＬの更新はＳＶＯＬに反映されない。ＰＶＯＬにおける更新は、不図示のビットマップに登録される。ビットマップは、ＰＶＯＬの更新位置を示す。
【０１２８】
「ＳＳＷＳ」は、コピーペアがサスペンド状態であり、ＳＶＯＬのみがホスト計算機からのＩ／Ｏを受け付ける状態である。ＰＶＯＬとＳＶＯＬとは同期しておらず、ＳＶＯＬの更新はＰＶＯＬに反映されない。ＳＶＯＬにおける更新は、ビットマップに登録される。ビットマップは、ＳＶＯＬの更新位置を示す。
【０１２９】
「ＨＯＬＤ」は、デルタリシンクのために待機しているペア状態であり、デルタＲＣペアの通常状態を示す。デルタＲＣＰＶＯＬ（ＨＡＳＶＯＬ）のペア状態が「ＨＯＬＤ」の場合、当該ボリュームの更新データが、ＰＪＶＯＬに格納される。
【０１３０】
「ＨＬＤＥ」は、ＨＯＬＤ状態のデルタＲＣペアにおいて障害が発生した状態である。デルタＲＣＰＶＯＬのペア状態が「ＨＬＤＥ」の場合、当該ボリュームの更新データは、ＰＪＶＯＬに格納されない。
【０１３１】
以下において、ペア操作命令の処理方法を具体的に説明する。以下に説明する処理の一部のみがストレージシステムに実装されてもよい。以下に説明する例では、管理装置４０がペア操作命令を発行するが、ホスト計算機１０又はその他の装置がペア操作命令を発行してもよい。
【０１３２】
１．ＲＣペア／デルタＲＣペア形成のガード
図１２は、ＲＣペア形成命令に対する処理を示す。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、ＲＣペアの正側と副側とを指定する（Ｓ３０１）。本実施形態において、正ストレージ装置は第１ストレージ装置２０Ａであり、副ストレージ装置は第３ストレージ装置２０Ｃである。
【０１３３】
図１３は、入力及び結果表示画像例を示す。管理者は、正側の情報として、正ストレージ装置のＩＤ、正ボリューム（ＲＣＰＶＯＬ）のＩＤ及び正ジャーナルグループのＩＤを指定する。管理者は、副側の情報として、副ストレージ装置のＩＤ及びボリューム（ＲＣＳＶＯＬ）のＩＤを指定する。
【０１３４】
管理装置４０は、管理者に入力されたＲＣペアの情報を含むＲＣペア形成命令を第１ストレージ装置２０Ａに送信する（Ｓ３０２）。第１ストレージ装置２０Ａは、管理装置４０からＲＣペア形成命令を受信し（Ｓ３０３）、ＲＣペア形成命令の指定情報を取得する（Ｓ３０４）。第１ストレージ装置２０Ａは、コピーペアの管理テーブル４００〜６００を参照して、ＲＣペア形成命令の許否を判定する（Ｓ３０５）。
【０１３５】
ＲＣペア形成命令を拒否する場合、第１ストレージ装置２０Ａは、エラーを管理装置４０に返す（Ｓ３０６）。ＲＣペア形成命令を承認する場合、第１ストレージ装置２０Ａは、管理情報を更新し（Ｓ３０７）、さらに、管理情報の更新を第３ストレージ装置２０Ｃに指示する（Ｓ３０８）。第３ストレージ装置２０Ｃは、指示に従って、管理情報を更新する（Ｓ３０９）。
【０１３６】
第１ストレージ装置２０Ａは、ＲＣペア形成命令の完了報告を管理装置４０に送信する（Ｓ３１０）。管理装置４０は、ＲＣペア形成命令に対する処理結果を出力デバイス４５に出力する（Ｓ３１１）。図１３は、管理装置４０の出力デバイス４５において表示するエラー結果の例を示す。図１３に示すように、エラー結果は、ＲＣペア形成命令の情報と共に、エラーの原因を示してもよい。
【０１３７】
デルタＲＣペア形成においは、正ストレージ装置は第２ストレージ装置２０Ｂであり、副ストレージ装置は第３ストレージ装置２０Ｃである。管理者は、ＲＣペア形成と同様の情報を入力する。管理装置４０は、第２ストレージ装置２０ＢにデルタＲＣペア形成命令を送信する。図１２のシーケンスにおいて、第２ストレージ装置２０Ｂが第１ストレージ装置２０Ａに替わる。
【０１３８】
以下において、ＲＣペア／デルタＲＣペア形成命令に対するいくつかの処理を具体的に説明する。
【０１３９】
１−１  ＨＡペアのＨＡグループへの所属
本実施形態のストレージシステムは、ＲＣペア／デルタＲＣペア形成の形成を、連携するＨＡペアがＨＡグループに属していることを条件とする。ＲＣペア／デルタＲＣペアは、ＨＡペアのバックアップのためのコピーペアであり、ＨＡペアが形成された後に、形成さされる。また、ＨＡペアの操作命令はＨＡグループを指定するため、ＨＡペアがＨＡグループに属することを条件として、連携コピーペア形成後のエラー発生を防ぐ。
【０１４０】
図１４は、ＲＣペア形成命令に対する処理を示す。ＲＣペア形成命令は、同一ＲＣグループに属する複数のＲＣペアを指定し得る。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬそれぞれについて、図１４の処理を行う。第１ストレージ装置２０Ａは、管理装置４０からＲＣペア形成命令を受信し（Ｓ３０３）、その指定ＲＣＰＶＯＬのボリュームＩＤを取得する（Ｓ３２１）。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬが、定義されているＨＡグループに属しているか判定する（Ｓ３２２）。
【０１４１】
具体的には、第１ストレージ装置２０Ａは、ＨＡ管理テーブル４００において、指定されたＲＣＰＶＯＬのボリュームＩＤを検索する。ＨＡ管理テーブル４００において、指定されたボリュームＩＤに対してＨＡグループが定義されていない場合（Ｓ３２２：ＮＯ）、第１ストレージ装置２０ＡはＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ３０６）。
【０１４２】
デルタＲＣペア形成においは、正ストレージ装置は第２ストレージ装置２０Ｂであり、副ストレージ装置は第３ストレージ装置２０Ｃである。第２ストレージ装置２０Ｂは、管理装置４０から、デルタＲＣペア形成命令を受信し、その指定ＲＣＰＶＯＬ情報を取得する。第２ストレージ装置２０Ｂは、指定されたＲＣＰＶＯＬが、定義されているＨＡグループに属しているか判定する。
【０１４３】
具体的には、第２ストレージ装置２０Ｂは、ＨＡ管理テーブル４００において、指定されたデルタＲＣＰＶＯＬのボリュームＩＤを検索する。指定されたボリュームＩＤに対してＨＡグループが定義されていない場合、第２ストレージ装置２０ＢはデルタＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す。
【０１４４】
１−２  ジャーナルグループとＨＡグループの対応関係
本実施形態のストレージシステムは、１つのジャーナルグループに対して１つのＨＡグループのみを連携させる。１つのＨＡグループは、１又は複数のジャーナルグループと連携してもよい。本実施形態は、同一ジャーナルグループに含まれるボリュームを同時にスワップし、データ更新順序管理を効率的に行う。そのため、ストレージシステムは、ＲＣペア／デルタＲＣペア形成において、指定されたジャーナルグループが既に他のＨＡグループと連携している場合、当該ペア形成を拒否する。
【０１４５】
図１５は、ＲＣペア形成命令に対する処理を示す。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬそれぞれについて、図１５の処理を行う。管理者がＲＣペア形成のために入力する情報は上述の通りである。第１ストレージ装置２０Ａは、ＲＣペア形成コマンドを受信し（Ｓ３０３）、ＲＣペア形成コマンドからジャーナルグループＩＤ及びＲＣＰＶＯＬのボリュームＩＤを取得する（Ｓ３３１）。
【０１４６】
第１ストレージ装置２０Ａは、ＨＡグループ管理テーブル４００において指定されたボリュームＩＤを検索し、当該論理ボリュームＩＤが属するＨＡグループを特定する（Ｓ３３２）。第１ストレージ装置２０Ａは、ジャーナルグループ管理テーブル６００を参照し、指定されたジャーナルグループに属するボリュームを選択する（Ｓ３３３）。
【０１４７】
第１ストレージ装置２０Ａは、ＨＡグループ管理テーブル４００を参照し、ＲＣペア形成命令で指定されたジャーナルグループに属するボリュームそれぞれのＨＡグループを特定する（Ｓ３３４）。
【０１４８】
第１ストレージ装置２０Ａは、第１ストレージ装置２０Ａは、指定されたジャーナルグループに属するボリュームのいずれかのＨＡグループが、ＲＣペア形成命令で指定されたボリュームのＨＡグループと異なるか判定する。いずれかのＨＡグループが異なる場合（Ｓ３３４：ＹＥＳ）、ＨＡ第１ストレージ装置２０ＡはＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ３０６）。
【０１４９】
デルタＲＣペア形成においは、第２ストレージ装置２０ＢがデルタＲＣペア形成命令を受信し、指定されたデルタＲＣＰＶＯＬについて、上記第１ストレージ装置２０Ａと同様の処理を実行する。
【０１５０】
１−３  ＨＡペアのペア状態
本実施形態のストレージシステムは、ＨＡペアのペア状態が「ＰＡＩＲ」（同期状態）であることを、ＲＣペア／デルタＲＣペア形成の必要条件と定義する。これにより、連携コピーペア形成後のＩ／Ｏ動作におけるエラー発生を防ぐ。ストレージシステムは、指定されたボリュームのＨＡペアのペア状態が「ＰＡＩＲ」以外である場合、当該ペア形成を拒否する。ＨＡペアの「ＰＡＩＲ」は、正常な同期コピー状態を示す。
【０１５１】
図１６は、ＲＣペア形成命令に対する処理を示す。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬそれぞれについて、図１６の処理を行う。管理者がＲＣペア形成のために入力する情報は上述の通りである。第１ストレージ装置２０Ａは、ＲＣペア形成コマンドを受信し（Ｓ３０３）、ＲＣペア形成コマンドからＲＣＰＶＯＬのボリュームＩＤを取得する（Ｓ３４１）。
【０１５２】
第１ストレージ装置２０Ａは、ＨＡペア管理テーブル４００において、指定されたＲＣＰＶＯＬのボリュームＩＤを検索し、当該ボリュームＩＤのエントリのペア状態を特定する（Ｓ３４２）。指定されたＲＣＰＶＯＬのＨＡペア状態が同期状態ではない場合（Ｓ３４３：ＮＯ）、第１ストレージ装置２０ＡはＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ３０６）。
【０１５３】
デルタＲＣペア形成においは、第２ストレージ装置２０ＢがデルタＲＣペア形成命令を受信し、指定されたデルタＲＣＰＶＯＬについて、上記第１ストレージ装置２０Ａと同様の処理を実行する。
【０１５４】
１−４  ペア間のボリューム関係
本実施形態のストレージシステムは、ＨＡペアのＨＡＰＶＯＬを、ＲＣＰＶＯＬとしてＲＣペアに含め、ＨＡペアのＨＡＳＶＯＬを、デルタＲＣＳＶＯＬとしてデルタＲＣペアに含める。これにより、データ更新順序管理を効率的に行う。ストレージシステムは、ＲＣペア／デルタＲＣペア形成において、指定されたＲＣＰＶＯＬがＨＡＶＯＬではない、又は指定されたデルタＲＣＰＶＯＬがＨＡＳＶＯＬではない場合、当該ペア形成を拒否する。
【０１５５】
図１７は、ＲＣペア形成命令に対する処理を示す。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬそれぞれについて、図１７の処理を行う。管理者がＲＣペア形成のために入力する情報は上述の通りである。第１ストレージ装置２０Ａは、ＲＣペア形成コマンドを受信し（Ｓ３０３）、ＲＣペア形成コマンドからＲＣＰＶＯＬのボリュームＩＤを取得する（Ｓ３５１）。
【０１５６】
第１ストレージ装置２０Ａは、ＨＡペア管理テーブルを参照し、ＨＡペア管理テーブルにおいて、指定されたＲＣＰＶＯＬのボリュームＩＤを検索し、当該ボリュームＩＤのボリューム属性を特定する（Ｓ３５２）。指定されたＲＣＰＶＯＬがいずれかのＨＡペアのＰＶＯＬではない場合（Ｓ３５３：ＮＯ）、第１ストレージ装置２０ＡはＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ３０６）。
【０１５７】
デルタＲＣペア形成においは、第２ストレージ装置２０ＢがデルタＲＣペア形成命令を受信し、指定されたデルタＲＣＰＶＯＬのボリュームＩＤを取得する。第２ストレージ装置２０Ｂは、ＨＡペア管理テーブルにおいて、当該ボリュームＩＤのボリューム属性を特定する。指定されたＲＣＰＶＯＬがいずれかのＨＡペアのＨＡＳＶＯＬではない場合、第２ストレージ装置２０ＢはデルタＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す。
【０１５８】
１−５  ＲＣペアとデルタＲＣペアの形成順序
本実施形態のストレージシステムは、デルタＲＣペアの形成後に、ＲＣペアを形成する。これにより、デルタリシンクによるボリューム間のデータ同一性を確実に確保する。図１８は、ＲＣペア形成命令に対する処理を示す。第１ストレージ装置２０Ａは、指定されたＲＣＰＶＯＬそれぞれについて、図１８の処理を行う。管理者がＲＣペア形成のために入力する情報は上述の通りである。
【０１５９】
第１ストレージ装置２０Ａは、ＲＣペア形成コマンドを受信し（Ｓ３０３）、ＲＣペア形成コマンドからＲＣＰＶＯＬのボリュームＩＤを取得する（Ｓ３６１）。第１ストレージ装置２０Ａは、ＨＡペア管理テーブルにおいて、指定されたＲＣＰＶＯＬのボリュームＩＤを検索し、当該ボリュームＩＤを含むＨＡペアのＨＡＳＶＯＬの情報を取得する（Ｓ３６２）。第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂから、指定されたＲＣＰＶＯＬのデルタＲＣペアについての情報を取得する（Ｓ３６３）。
【０１６０】
具体的には、第１ストレージ装置２０Ａは、取得したＨＡＳＶＯＬのボリュームＩＤを指定して、第２ストレージ装置２０ＢにデルタＲＣペアの存在を問い合わせる。第２ストレージ装置２０Ｂは、ＲＣペア管理テーブルにおいて、受信したＨＡＳＶＯＬのボリュームＩＤを検索する。第２ストレージ装置２０Ｂは、検索結果を示す応答を、第１ストレージ装置２０Ａに返す。なお、第１ストレージ装置２０Ａは、予め第２ストレージ装置２０Ｂの管理情報を取得していてもよい。
【０１６１】
第２ストレージ装置２０Ｂによる検索結果が、ＲＣペア形成命令が指定したＲＣＰＶＯＬのＨＡペアに連携したデルタＲＣペアが存在しないことを示す場合（Ｓ３６４：ＮＯ）、第１ストレージ装置２０Ａは、ＲＣペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ３０６）。
【０１６２】
２．ペア形成後のＲＣペア／デルタＲＣペアの操作
２−１  ＲＣペアのスワップサスペンド／スワップリシンク
本実施形態のストレージシステムは、連携するＨＡペアのＨＡＰＶＯＬのペア状態がＰＳＵＳであることを、ＲＣペアのスワップサスペンド命令／スワップリシンク命令の必要条件と定義する。
【０１６３】
ＲＣペアのスワップサスペンド命令は、ＲＣペアのペア状態を、ＳＳＷＳ状態に変更することを指示する。ＲＣペアのスワップリシンク命令は、ＳＳＷＳ状態のＲＣペアにおいて、ＲＣＳＶＯＬをＲＣＰＶＯＬに、ＲＣＰＶＯＬをＲＣＳＶＯＬに切り替え、ペア状態を「ＰＡＩＲ」に変更することを指示する。命令実行後は、命令前のＲＣＳＶＯＬがホスト計算機１０からのＩ／Ｏ要求を受ける。また、ＲＣペアの２つのストレージ装置の管理情報が更新される。
【０１６４】
例えば、図７の構成において、ＲＣペア２１１Ｂがスワップサスペンド命令／スワップリシンク命令を受けたとする。命令実行後は、第３ストレージ装置２０Ｃのボリューム２０１ＣがＩ／Ｏ要求を受ける。連携ＨＡペア２１１Ａにおいて、ＨＡＳＶＯＬ２０１ＢがＩ／Ｏ要求を受けると、その更新はボリューム２０１Ｃに反映することができないため、ボリューム２０１Ｂとボリューム２０１Ｃとの間においてデータの不一致が発生する。本実施形態は、当該データ不一致を防ぐ。
【０１６５】
図１９は、ＲＣペアのスワップサスペンド命令に対する処理を示す。スワップサスペンド命令は、ＲＣペアグループを指定する。ストレージシステムは、ＲＣペアグループに含まれる各ＲＣペアについて以下に説明する処理を実行する。
【０１６６】
管理装置４０は、ＲＣペアのスワップサスペンド命令を送信する（Ｓ４０１）。第３ストレージ装置２０Ｃは、スワップサスペンド命令を受信する（Ｓ４０２）。第３ストレージ装置２０Ｃは、ＲＣペア管理テーブル５００を参照し、当該ＲＣペアのＲＣＰＶＯＬを特定する（Ｓ４０３）。
【０１６７】
第３ストレージ装置２０Ｃは、ＨＡペア管理テーブル４００の情報から、特定したＲＣＰＶＯＬの連携するＨＡペアのペア状態が、ＰＳＵＳであるか特定する。具体的には、第３ストレージ装置２０Ｃは、第１ストレージ装置２０Ａから、ボリュームＩＤを指定して、特定したＲＣＰＶＯＬのＨＡペアに関する情報を要求する（Ｓ４０４）。
【０１６８】
第１ストレージ装置２０Ａは、指定されたボリュームＩＤのＨＡペアの情報を、ＨＡペア管理テーブル４００から取得して、第３ストレージ装置２０Ｃに送信する（Ｓ４０５）。なお、第３ストレージ装置２０Ｃは、第１ストレージ装置２０ＡのＨＡ管理テーブル４００を予め取得してもよい。
【０１６９】
第３ストレージ装置２０Ｃは、取得したＨＡペアのペア状態が、ＰＳＵＳであるか判定する（Ｓ４０６）。ＲＣＰＶＯＬのＨＡペアにおけるペア状態がＰＳＵＳでない場合（Ｓ４０６：ＮＯ）、第３ストレージ装置２０Ｃは、原因を示すエラーを返す（Ｓ４０７）。
【０１７０】
ＨＡペアのペア状態を含む他の条件が満たされている場合、第３ストレージ装置２０Ｃは、スワップサスペンド命令を実行する。第３ストレージ装置２０Ｃは、第１ストレージ装置２０Ａにスワップサスペンドへの移行を指示する（Ｓ４０８）。第１ストレージ装置２０Ａは、ＲＣペア管理テーブル５００におけるペア状態欄５０９において、該当するセルの値をＳＳＷＳに変更し（Ｓ４０９）、完了報告を第３ストレージ装置２０Ｃに送信する（Ｓ４１０）。第１ストレージ装置２０ＡにおけるＲＣＰＶＯＬのペア状態はＰＳＵＳでもよい。
【０１７１】
第３ストレージ装置２０Ｃは、ＲＣペア管理テーブル５００におけるペア状態欄５０９において、該当するセルの値をＳＳＷＳに変更し（Ｓ４１１）、管理装置４０に完了報告を送信する（Ｓ４１２）。
【０１７２】
ＲＣペアのスワップリシンク命令に対する許否判定及びエラー応答は、上記スワップサスペンドに対する処理と同様である。
【０１７３】
２−２  デルタＲＣペアの解除
本実施形態のストレージシステムは、連携するＲＣペアが存在する場合、デルタＲＣペアの解除命令を受信すると、連携するＲＣペアを合わせて解除する。これにより、連携ペア作成順序と解除順序を一致させる。デルタＲＣペアの解除により、ＨＡペアに連携するペアの情報を、単独運用を開始したＨＡペアに残さないようにする。
【０１７４】
図２０は、デルタＲＣペア解除命令に対する処理を示す。デルタＲＣペア解除命令は、管理装置４０から発行される。ホスト計算機１０がデルタＲＣペア解除命令を発行してもよい。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、デルタＲＣペアのコピーグループを指定する。デルタＲＣのコピーグループの指定は、デルタＲＣペアそれぞれを指定することに対応する。第２ストレージ装置２０Ｂは、指定されたデルタＲＣペアそれぞれについて、図２０の処理を行う。
【０１７５】
管理装置４０は、ユーザ指定されたデルタＲＣペアグループを含むデルタＲＣペア解除命令を送信する（Ｓ４２０）。第２ストレージ装置２０Ｂは、管理装置４０から、デルタＲＣペア解除命令を受信する（Ｓ４２１）。デルタＲＣペア解除要求を受信した第２ストレージ装置２０Ｂは、ＲＣペア管理テーブル５００を参照し、指定されたデルタＲＣペアのデルタＲＣＰＶＯＬを特定する（Ｓ４２２）。
【０１７６】
さらに、第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００において、特定されたデルタＲＣＰＶＯＬのボリュームＩＤを検索する（Ｓ４２３）。第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００から、特定されたデルタＲＣＰＶＯＬとＨＡペアを構成するＨＡＰＶＯＬのボリュームＩＤを取得する（Ｓ４２４）。当該ＨＡＰＶＯＬは、第１ストレージ装置２０Ａのボリュームである。
【０１７７】
第２ストレージ装置２０Ｂは、特定したＨＡＰＶＯＬのボリュームＩＤを指定して、ＲＣペア解除要求を第１ストレージ装置２０Ａに送信する（Ｓ４２５）。第１ストレージ装置２０Ａは、受信したＲＣペア解除要求から、ＨＡＰＶＯＬのボリュームＩＤを取得する。第１ストレージ装置２０Ａは、ＲＣペア管理テーブル５００において、指定されたボリュームＩＤを含むＲＣペアの情報を更新する（Ｓ４２６）。解除後のＲＣペアのペア状態は、「ＳＩＭＰＬＥＸ」に変更される。
【０１７８】
第１ストレージ装置２０Ａは、さらに、第３ストレージ装置２０Ｃに、上記ＲＣペアのペアＩＤを指定するＲＣペア解除命令を送信する（Ｓ４２７）。第３ストレージ装置２０Ｃは、ＲＣペア管理テーブルにおいて、指定されたＲＣペアの情報を更新し（Ｓ４２８）、第１ストレージ装置２０Ａに完了報告を送信する（Ｓ４２９）。
【０１７９】
第１ストレージ装置２０Ａは、ＲＣペア管理テーブルの更新完了及び第３ストレージ装置２０Ｃからの完了報告受信後、第２ストレージ装置２０Ｂに完了報告を送信する（Ｓ４３１）。第２ストレージ装置２０Ｂは、ＲＣペア管理テーブルにおいて、指定されたデルタＲＣペアの情報を更新する（Ｓ４３２）。解除後のデルタＲＣペアのペア状態は、「ＳＩＭＰＬＥＸ」に変更される。
【０１８０】
第２ストレージ装置２０Ｂは、指定されたデルタＲＣペア及び連携するＲＣペアの解除完了後に、管理装置４０に、指定されたデルタＲＣペア及び連携するＲＣペアの解除の完了報告を送信する（Ｓ４３３）。
【０１８１】
なお、第２ストレージ装置２０Ｂは、ＲＣペア解除要求を第３ストレージ装置２０Ｃに送信してもよい。第２ストレージ装置２０Ｂは、例えば、指定されたデルタＲＣペアのＳＶＯＬのボリュームＩＤを含むＲＣペア解除要求を送信する。第２ストレージ装置２０Ｂは、連携するＲＣペアが存在する場合、デルタＲＣペアの解除要求を受信すると、解除拒否の応答を返してもよい。
【０１８２】
２−３  デルタＲＣペアの回復
本実施形態のストレージシステムは、エラー状態（「ＨＬＤＥ」）にあるデルタＲＣペア回復命令の実行において、連携するＲＣペアのペア状態が「ＰＳＵＳ」であることを必要条件と定義する。ストレージシステムは、デルタＲＣペア回復命令を受信すると、連携するＲＣペアのペア状態を確認する。連携するＲＣペアのペア状態が「ＰＳＵＳ」ではない場合には、ストレージシステムはデルタＲＣペア回復命令を拒否する。
【０１８３】
デルタＲＣペアのジャーナルボリュームが閉塞している又は満杯である場合、デルタＲＣペアのペア状態は、「ＨＯＬＤ」から「ＨＬＤＥ」に変化する。「ＨＬＤＥ」において、デルタＲＣＰＶＯＬのジャーナルは生成、格納されない。また、デルタＲＣペア回復命令の実行は、デルタＲＣペアのジャーナルを消去する。
【０１８４】
連携するＲＣペアのペア状態が「ＰＳＵＳ」であることを必要条件と定義することで、デルタＲＣペア回復命令実行時に、ＲＣペアとデルタＲＣペアのジャーナルの不一致を避ける。デルタＲＣペア回復後に、連携ＲＣペアのペア状態を「ＰＡＩＲ」に変更することは、コピーペア形成順序に対応する。
【０１８５】
以下において、管理装置４０からのデルタＲＣペア回復命令に対する処理を説明する。管理者は、「ＨＬＤＥ」のデルタＲＣペアを知ると、その障害を除去した後、回復命令を管理装置４０の入力デバイス４４で入力する。回復命令において、ジャーナルグループＩＤ、相手ストレージ装置ＩＤ及び相手ジャーナルグループＩＤが指定される。
【０１８６】
図２１は、デルタＲＣペア回復命令に対する処理を示す。管理装置４０は、第２ストレージ装置２０Ｂに、指定された、ジャーナルグループＩＤ、相手ストレージ装置ＩＤ及び相手ジャーナルグループＩＤを含むデルタＲＣペア回復命令を送信する（Ｓ４５１）。
【０１８７】
第２ストレージ装置２０Ｂは、デルタＲＣペア回復命令から相手ジャーナルグループＩＤを取得する（Ｓ４５２）。第２ストレージ装置２０Ｂは、取得した相手ジャーナルグループＩＤに対応するＲＣペアの情報を、第３ストレージ装置２０Ｃに要求する（Ｓ４５３）。
【０１８８】
第３ストレージ装置２０Ｃは、ＲＣペア管理テーブルにおいて、指定されたジャーナルグループＩＤを検索し、当該ジャーナルグループＩＤのＲＣペアのペア状態を特定する。第３ストレージ装置２０Ｃは、特定したＲＣペア状態を示す報告を第２ストレージ装置２０Ｂに返す（Ｓ４５４）。なお、第２ストレージ装置２０Ｂは、第３ストレージ装置２０Ｃの管理情報を予め取得してもよい。
【０１８９】
第３ストレージ装置２０Ｃから送信されたＲＣペア状態が「ＰＳＵＳ」ではない場合（Ｓ４５５：ＮＯ）、第２ストレージ装置２０ＢはデルタＲＣペア回復要求を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ４５６）。
【０１９０】
なお、第２ストレージ装置２０Ｂは、デルタＲＣペア回復処理（Ｓ４５７）において、正常なデルタＲＣペアを回復可能であるかのチェック処理、ジャーナルの生成及び格納、並びにデルタＲＣペアのペア状態の「ＨＯＬＤ」への更新を行う。第２ストレージ装置２０Ｂは、デルタＲＣペア回復処理後に、管理装置４０に完了報告を送信する（Ｓ４５８）。
【０１９１】
３．ＨＡペアのペア操作
３−１  ＨＡペア形成
本実施形態のストレージシステムは、ＨＡペア形成後に、連携するデルタＲＣペア及びＲＣペアを形成する。したがって、ストレージシステムは、連携するデルタＲＣペア又はＲＣペアがすでに形成されている場合、ＨＡペア形成命令を拒否する。
【０１９２】
管理装置４０からのＨＡペア形成命令に対する処理を説明する。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、ＨＡペアの正側と副側とを指定する。
【０１９３】
管理者は、正側の情報として、正ストレージ装置のＩＤ及び正ボリューム（ＨＡＰＶＯＬ）のＩＤを指定する。管理者は、副側の情報として、副ストレージ装置のＩＤ及び副ボリューム（ＨＡＳＶＯＬ）のＩＤを指定する。ＨＡペア形成命令が、同一ＨＡグループに含まれる複数のＨＡペアを指定する場合、各ＨＡペアにおいて以下に説明する処理が実行される。
【０１９４】
図２２は、ＨＡペア形成命令に対する処理を示す。管理装置４０は、管理者に入力されたＨＡペアの情報を含むＨＡペア形成命令を第１ストレージ装置２０Ａに送信する（Ｓ５００）。第１ストレージ装置２０Ａは、管理装置４０から受信したＨＡペア形成命令を受信し（Ｓ５０１）、その指定情報を取得する（Ｓ５０２）。第１ストレージ装置２０Ａは、指定されたＨＡＰＶＯＬが、定義されているＲＣペアに属しているか判定する（Ｓ５０３）。具体的には、第１ストレージ装置２０Ａは、ＲＣペア管理テーブルにおいて、指定されたＨＡＰＶＯＬのボリュームＩＤを検索する。
【０１９５】
ＲＣペア管理テーブルにおいて、指定されたボリュームＩＤに対してＲＣペアが定義されている場合（Ｓ５０３：ＹＥＳ）、第１ストレージ装置２０ＡはＨＡペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ５０４）。管理装置４０は、出力デバイス４５においてエラー結果を表示する。
【０１９６】
連携ＲＣペアが存在しない場合、第１ストレージ装置２０Ａは、指定されたＨＡＳＶＯＬが、連携デルタＲＣペアに属しているか判定する。具体的には、第１ストレージ装置２０Ａは、ボリュームＩＤを指定して、第２ストレージ装置２０Ｂに、デルタＲＣペアの存在の有無を問い合わせる（Ｓ５０５）。
【０１９７】
第２ストレージ装置２０Ｂは、ＲＣペア管理テーブル５００において、指定されたボリュームＩＤを含むデルタＲＣペアを検索し、検索結果を第１ストレージ装置２０Ａに返す（Ｓ５０６）。第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂの管理情報を予め取得してもよい。その場合、問い合わせは不要である。
【０１９８】
第２ストレージ装置２０Ｂから受信した検索結果から、ＨＡＳＶＯＬがデルタＲＣペアに属していると判定する場合（Ｓ５０７：ＹＥＳ）、第１ストレージ装置２０ＡはＨＡペア形成を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ５０４）。管理装置４０は、出力デバイス４５においてエラー結果を表示する。
【０１９９】
上記条件を含め、指定されたＨＡペアを形成する条件が満たされる場合、第１ストレージ装置２０Ａは、ＨＡペア管理テーブル４００を更新し（Ｓ５０８）、第２ストレージ装置２０Ｂに、ボリュームを指定してＨＡペアの作成を指示する（Ｓ５０９）。第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００を更新し（Ｓ５１０）、完了報告を第１ストレージ装置２０Ａに送信する（Ｓ５１１）。第１ストレージ装置２０Ａは、管理装置４０に完了報告を送信する（Ｓ５１２）。
【０２００】
３−２  ＨＡリシンク
本実施形態のストレージシステムは、ＨＡリシンク命令の実行において、ＨＡＰＶＯＬが連携ＲＣペアのＲＣＰＶＯＬである、又は、「ＳＳＷＳ」の状態にあることを必要条件と定義する。当該条件が満たされない場合、ストレージシステムは、ＨＡリシンク命令を拒否する。これにより、ＨＡリシンク後、ＨＡＰＶＯＬがホスト計算機１０からのＩ／Ｏ要求を受け付けることができる。
【０２０１】
ＨＡリシンク命令は、「ＰＳＵＳ」にあるＨＡペアを「ＰＡＩＲ」に変化させることを指示する。図２３は、ＨＡリシンク命令の処理を示す。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、ＨＡグループＩＤを指定する。
【０２０２】
管理装置４０は、指定されたＨＡグループＩＤを含むＨＡリシンク命令を、第１ストレージ装置２０Ａに送信する（Ｓ５２０）。第１ストレージ装置２０ＡはＨＡリシンク命令を受信し（Ｓ５２１）、ＨＡ管理テーブル４００を参照して、ＨＡグループの各ＨＡペアのＨＡＰＶＯＬを特定する（Ｓ５２２）。
【０２０３】
第１ストレージ装置２０Ａは、ＲＣペア管理テーブル５００を参照し、各ＨＡＰＶＯＬが、ＲＣＰＶＯＬ又は「ＳＳＷＳ」の状態にあるか判定する（Ｓ５２３）。いずれかのＨＡＰＶＯＬが、ＲＣＰＶＯＬではく、さらに、「ＳＳＷＳ」の状態にもない場合、第１ストレージ装置２０Ａは、エラーを管理装置４０に返す（Ｓ５２４）。
【０２０４】
上記条件を含め、指定されたＨＡペアをリシンクする条件が満たされる場合、第１ストレージ装置２０Ａは、ＨＡペア管理テーブル４００のペア状態欄５０９において、該当セルの値を「ＰＡＩＲ」に変化させ（Ｓ５２５）、第２ストレージ装置２０Ｂに、ＨＡグループを指定してペアリシンクを指示する（Ｓ５２６）。
【０２０５】
第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００のペア状態欄５０９において、該当セルの値を「ＰＡＩＲ」に変化させ（Ｓ５２７）、完了報告を第１ストレージ装置２０Ａに送信する（Ｓ５２８）。第１ストレージ装置２０Ａは、管理装置４０に完了報告を送信する（Ｓ５２９）。
【０２０６】
３−３  ＨＡペア解除
本実施形態のストレージシステムは、連携コピーペア形成順序とは逆の順序で、連携コピーペアを解除する。例えば、ストレージシステムは、ＲＣペア及びデルタＲＣペアを解除した後に、ＨＡペアを解除する。したがって、連携するＲＣペア又はデルタＲＣペアが存在するＨＡペアの解除要求を受けた場合、ストレージシステムは、当該ＲＣペアを先に解除することを管理者に通知する。
【０２０７】
管理装置４０からのＨＡペア解除要求に対する処理を説明する。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、ＨＡグループのＩＤを指定する。
【０２０８】
図２４は、ＨＡペア解除命令に対する処理を示す。管理装置４０は、第１ストレージ装置２０Ａに対して、指定されたＨＡグループのＩＤを含むＨＡペア解除命令を送信する（Ｓ５４０）。第１ストレージ装置２０Ａは、ＨＡペア解除命令を受信し（Ｓ５４１）、ＨＡペア管理テーブル４００から、指定されたＨＡグループの各ＨＡペアのＨＡＰＶＯＬのボリュームＩＤを取得する（Ｓ５４２）。
【０２０９】
第１ストレージ装置２０Ａは、取得したボリュームＩＤを、ＲＣペア管理テーブル５００において検索する。ＲＣペア管理テーブル５００が、指定されたＨＡＰＶＯＬを含むＲＣペアを示している場合（Ｓ５４３）、第１ストレージ装置２０Ａは、ＨＡペアの削除を拒否し、連携するＲＣペアが存在することを示す報告を管理装置４０に返す（Ｓ５４４）。
【０２１０】
連携するＲＣペアが存在しない場合、第１ストレージ装置２０Ａは、各ＨＡペアのＨＡＳＶＯＬのボリュームＩＤをＨＡペア管理テーブル４００から取得し、第２ストレージ装置２０Ｂに、デルタＲＣペアの存在の有無を問い合わせる（Ｓ５４５）。
【０２１１】
第２ストレージ装置２０Ｂは、ＲＣペア管理テーブル５００において、指定されたボリュームＩＤを含むデルタＲＣペアを検索し、検索結果を第１ストレージ装置２０Ａに返す（Ｓ５４６）。第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂの管理情報を予め取得してもよい。その場合、問い合わせは不要である。
【０２１２】
第２ストレージ装置２０Ｂから受信した検索結果から、ＨＡＳＶＯＬがデルタＲＣペアに属していると判定する場合（Ｓ５４７：ＹＥＳ）、第１ストレージ装置２０ＡはＨＡペア解除を拒否し、エラー原因と共にエラー報告を管理装置４０に返す（Ｓ５４４）。
【０２１３】
管理装置４０は、第１ストレージ装置２０Ａから受信した報告にしたがって、解除要求の指定ＨＡペアに対して連携するＲＣペアが存在し、当該ＲＣペアを先に解除することを示す情報を出力デバイス４５において出力する。
【０２１４】
上記条件を含め、指定されたＨＡペアを解除する条件が満たされる場合、第１ストレージ装置２０Ａは、ＨＡペア管理テーブル４００のペア状態欄５０９において、該当セルの値を「ＳＭＰＬ」に変化させる又は当該エントリを削除し（Ｓ５４８）、第２ストレージ装置２０Ｂに、ＨＡグループを指定してペア解除を指示する（Ｓ５４９）。
【０２１５】
第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００のペア状態欄５０９において、該当セルの値を「ＳＭＰＬ」に変化させる又は当該エントリを削除し（Ｓ５５０）、完了報告を第１ストレージ装置２０Ａに送信する（Ｓ５５１）。第１ストレージ装置２０Ａは、管理装置４０に完了報告を送信する（Ｓ５５２）。
【０２１６】
３−４  ＨＡペアのスワップリシンク
本実施形態のストレージシステムは、ＨＡペアのスワップリシンク命令を受信した場合、ＨＡペアのスワップリシンク後の新たなＰＶＯＬがＲＣペアに含まれ、新たなＳＶＯＬがデルタＲＣペアに含まれることを、スワップリシンク命令実行の必要条件と定義する。上記条件が満たされない場合、ストレージシステムは、ＨＡペアのスワップリシンク命令を拒否する。これにより、ＨＡペアのスワップリシンク後、連携コピーペアの正常な関係を形成する。
【０２１７】
スワップリシンク命令は、ＳＳＷＳ状態のコピーペアに対して、ＳＶＯＬをＰＶＯＬに変更し、ＰＶＯＬをＳＶＯＬに変更し、新たなＰＶＯＬとＳＶＯＬのペア状態を「ＰＡＩＲ」に変更することを指示する。
【０２１８】
図２５は、ＨＡペアのスワップリシンク命令の処理を示す。管理装置４０からのＨＡペアのスワップリシンク命令に対する処理を説明する。管理者は、管理装置４０の入力デバイス４４及び出力デバイス４５によって、ＨＡグループＩＤを指定する。
【０２１９】
管理装置４０は、指定されたＨＡグループＩＤを含むスワップリシンク命令を、第２ストレージ装置２０Ｂに送信する（Ｓ５６０）。第２ストレージ装置２０Ｂはスワップリシンク命令を受信し（Ｓ５６１）、ＨＡ管理テーブル４００を参照して、ＨＡグループの各ＨＡペアを特定する（Ｓ５６２）。第２ストレージ装置２０ＢのボリュームはＨＡＳＶＯＬであり、第１ストレージ装置２０ＡのボリュームはＨＡＰＶＯＬである。
【０２２０】
第２ストレージ装置２０Ｂは、ＲＣペア管理テーブル５００を参照し、各ＨＡペアのＨＡＳＶＯＬが、ＲＣペアのＲＣＰＶＯＬであるか判定する（Ｓ５６３）。いずれかのＨＡＳＶＯＬがＲＣＰＶＯＬでない場合、第２ストレージ装置２０Ｂは、エラーを管理装置４０に返す（Ｓ５６４）。
【０２２１】
全てのＨＡＳＶＯＬがＲＣＰＶＯＬである場合、第２ストレージ装置２０Ｂは、第１ストレージ装置２０Ａに、各ＨＡペアのＨＡＰＶＯＬのデルタＲＣペアの情報を要求し（Ｓ５６５）、当該情報を取得する（Ｓ５６６）。第１ストレージ装置２０Ａは、ＲＣペア管理テーブル５００から要求された情報を選択する。
【０２２２】
第２ストレージ装置２０Ｂは、各ＨＡＰＶＯＬが、デルタＲＣペアのデルタＲＣＰＶＯＬであるか判定する（Ｓ５６７）。取得した情報が、いずれかのＨＡＰＶＯＬがデルタＲＣＰＶＯＬでないことを示す場合（Ｓ５７６：ＮＯ）、第２ストレージ装置２０Ｂは、エラーを管理装置４０に返す（Ｓ５６４）。
【０２２３】
全てのＨＡＰＶＯＬがデルタＲＣＰＶＯＬである場合、第２ストレージ装置２０Ｂは、第３ストレージ装置２０Ｃに、各ＨＡペアのＨＡＳＶＯＬのＲＣペアの情報、及び、各ＨＡペアのＨＡＰＶＯＬのデルタＲＣペアの情報を要求し（Ｓ５６８）、その情報を取得する（Ｓ５６９）。第３ストレージ装置２０Ｃは、ＲＣペア管理テーブル５００から要求された情報を選択する。
【０２２４】
取得した情報が、いずれかのＨＡＳＶＯＬがＲＣＳＶＯＬではない、または、いずれかのＨＡＰＶＯＬがデルタＲＣＳＶＯＬではない、ことを示す場合（Ｓ５７０：ＮＯ）、第２ストレージ装置２０Ｂは、エラーを管理装置４０に返す（Ｓ５６４）。
【０２２５】
上記条件を含め、指定されたＨＡペアのスワップリシンクを実行する条件が満たされる場合、第２ストレージ装置２０Ｂは、ＨＡペア管理テーブル４００のボリューム属性欄５０３、５０７の値を変更し、さらに、ペア状態欄５０９において、該当セルの値を「ＰＡＩＲ」に変化させる（Ｓ５７１）。第２ストレージ装置２０Ｂは、第１ストレージ装置２０Ａに、ＨＡグループを指定してスワップリシンクを指示する（Ｓ５７２）。
【０２２６】
第１ストレージ装置２０Ａは、第２ストレージ装置２０Ｂと同様に、ＨＡペア管理テーブル４００を更新し（Ｓ５７３）、完了報告を第２ストレージ装置２０Ｂに送信する（Ｓ５７４）。第２ストレージ装置２０Ｂは、管理装置４０に完了報告を送信する（Ｓ５７５）。
【０２２７】
上記説明において、ストレージシステムがペア操作命令を受信し、その命令の許否判定を行う。これと異なり、管理装置４０又はホスト計算機１０が、命令の許否判定を実行してもよい。管理装置４０又はホスト計算機１０は、ストレージシステムが保持する、許否判定に必要なペア管理情報を予め保持する又はペア操作命令に応答してストレージシステムから取得する。
【０２２８】
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施例の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２２９】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【０２３０】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【図１Ａ】
2016084231.tif 000003
【図１Ｂ】
2016084231.tif 000004
【図１Ｃ】
2016084231.tif 000005
【図２】
2016084231.tif 000006
【図３】
2016084231.tif 000007
【図４】
2016084231.tif 000008
【図５】
2016084231.tif 000009
【図６Ａ】
2016084231.tif 000010
【図６Ｂ】
2016084231.tif 000011
【図７】
2016084231.tif 000012
【図８Ａ】
2016084231.tif 000013
【図８Ｂ】
2016084231.tif 000014
【図９】
2016084231.tif 000015
【図１０】
2016084231.tif 000016
【図１１】
2016084231.tif 000017
【図１２】
2016084231.tif 000018
【図１３】
2016084231.tif 000019
【図１４】
2016084231.tif 000020
【図１５】
2016084231.tif 000021
【図１６】
2016084231.tif 000022
【図１７】
2016084231.tif 000023
【図１８】
2016084231.tif 000024
【図１９】
2016084231.tif 000025
【図２０】
2016084231.tif 000026
【図２１】
2016084231.tif 000027
【図２２】
2016084231.tif 000028
【図２３】
2016084231.tif 000029
【図２４】
2016084231.tif 000030
【図２５】
2016084231.tif 000031
【国際調査報告】
2016084231.tif 000032
2016084231.tif 000033