(57)【特許請求の範囲】
【請求項１】
記憶装置へのアクセスを制御する、ストレージ装置であって、
第１の記憶領域と、第２の記憶領域と、前記第１の記憶領域のデータを前記第２の記憶領域にコピーする第１のコピー処理を実行するための設定情報を記憶する第３の記憶領域とを含む記憶部と、
第４の記憶領域と第５の記憶領域とを含む他のストレージ装置が、情報処理装置からの要求に応じて前記第４の記憶領域にアクセスする第１のアクセス処理と、前記第４の記憶領域のデータを前記第５の記憶領域へコピーする第２のコピー処理と、前記第４の記憶領域のデータと前記第１の記憶領域のデータとが同期するように前記第４の記憶領域のデータを前記第１の記憶領域へコピーする第３のコピー処理と、前記第５の記憶領域のデータと前記第２の記憶領域のデータとが同期するように前記第５の記憶領域のデータを前記第２の記憶領域へコピーする第４のコピー処理とを実行する運用状態であり、前記ストレージ装置が待機状態である第１の状態では、前記設定情報に基づく前記第１のコピー処理の実行を停止し、
前記他のストレージ装置が待機状態に遷移し、前記ストレージ装置が運用状態に遷移した第２の状態では、前記情報処理装置からの要求に応じて前記第１の記憶領域にアクセスする第２のアクセス処理と、前記設定情報に基づく前記第１のコピー処理とを実行する、
制御部と、
を有するストレージ装置。
【請求項２】
前記第１の状態では、前記第２のコピー処理の進捗状況を示す進捗情報が、前記他のストレージ装置と前記ストレージ装置との間で同期するように前記他のストレージ装置から前記第３の記憶領域にコピーされ、
前記制御部は、前記他のストレージ装置で前記第２のコピー処理が実行されている途中で前記第２の状態に遷移すると、前記第３の記憶領域にコピーされた前記進捗情報に基づいて、前記第１の記憶領域のデータのうち、前記第２のコピー処理において前記第５の記憶領域へのコピーが未実行のデータを前記第２の記憶領域へコピーする、
請求項１記載のストレージ装置。
【請求項３】
前記第１の状態では、前記第２のコピー処理が開始された後に前記第４の記憶領域のデータのうち前記情報処理装置からの要求に応じて更新されたデータの位置を示す更新情報が、前記他のストレージ装置と前記ストレージ装置との間で同期するように前記他のストレージ装置から前記第３の記憶領域にコピーされ、
前記制御部は、前記第２の状態に遷移した後に前記第１のコピー処理を実行する際、前記第３の記憶領域にコピーされた前記更新情報に基づいて、前記第１の記憶領域のデータのうち更新済みのデータを前記第２の記憶領域へコピーする、
請求項１または２記載のストレージ装置。
【請求項４】
前記制御部は、前記第２の状態に遷移した後に、前記他のストレージ装置と通信できない状態から通信可能な状態になった場合、前記第２のコピー処理と、前記第１の記憶領域のデータと前記第４の記憶領域のデータとが同期するように前記第１の記憶領域のデータを前記第４の記憶領域へコピーする処理と、前記第２の記憶領域のデータと前記第５の記憶領域のデータとが同期するように前記第２の記憶領域のデータを前記第５の記憶領域へコピーする処理とを実行するためのコピー設定情報を、前記他のストレージ装置に設定する、
請求項１乃至３のいずれか１項に記載のストレージ装置。
【請求項５】
第１のストレージ装置であって、
第１の記憶領域と第２の記憶領域とを含む第１の記憶部と、
前記第１のストレージ装置が運用状態のとき、情報処理装置からの要求に応じて前記第１の記憶領域にアクセスする第１のアクセス処理と、前記第１の記憶領域のデータを前記第２の記憶領域へコピーする第１のコピー処理と、前記第１の記憶領域のデータと第３の記憶領域のデータとが同期するように前記第１の記憶領域のデータを前記第３の記憶領域へコピーする第２のコピー処理と、前記第２の記憶領域のデータと第４の記憶領域のデータとが同期するように前記第２の記憶領域のデータを前記第４の記憶領域へコピーする第３のコピー処理とを実行する第１の制御部と、
を備える前記第１のストレージ装置と、
第２のストレージ装置であって、
前記第３の記憶領域と、前記第４の記憶領域と、前記第３の記憶領域のデータを前記第４の記憶領域にコピーする第４のコピー処理を実行するための設定情報を記憶する第５の記憶領域とを含む第２の記憶部と、
前記第２のストレージ装置が待機状態のとき、前記設定情報に基づく前記第４のコピー処理の実行を停止し、前記第１のストレージ装置が待機状態に遷移し、前記第２のストレージ装置が運用状態に遷移したとき、前記情報処理装置からの要求に応じて前記第３の記憶領域にアクセスする第２のアクセス処理と、前記設定情報に基づく前記第４のコピー処理を実行する第２の制御部と、
を備える前記第２のストレージ装置と、
を有するストレージシステム。
【請求項６】
前記第１の制御部は、前記第１のストレージ装置が運用状態のときに、前記第２のストレージ装置と通信できない状態になり、さらに前記第２のストレージ装置と通信可能な状態になった場合、前記設定情報が前記第２のストレージ装置に記憶されているかを判定し、前記設定情報が前記第２のストレージ装置に記憶されていない場合には、前記設定情報を前記第２のストレージ装置に送信して記憶させる、
請求項５記載のストレージシステム。
【請求項７】
ストレージ装置に搭載されるコンピュータに、
前記ストレージ装置に含まれる第１の記憶領域のデータを前記ストレージ装置に含まれる第２の記憶領域にコピーする第１のコピー処理を実行するための設定情報を記憶部に格納し、
第３の記憶領域と第４の記憶領域とを含む他のストレージ装置が、情報処理装置からの要求に応じて前記第３の記憶領域にアクセスする第１のアクセス処理と、前記第３の記憶領域のデータを前記第４の記憶領域へコピーする第２のコピー処理と、前記第３の記憶領域のデータと前記第１の記憶領域のデータとが同期するように前記第３の記憶領域のデータを前記第１の記憶領域へコピーする第３のコピー処理と、前記第４の記憶領域のデータと前記第２の記憶領域のデータとが同期するように前記第４の記憶領域のデータを前記第２の記憶領域へコピーする第４のコピー処理とを実行する運用状態であり、前記ストレージ装置が待機状態である第１の状態では、前記設定情報に基づく前記第１のコピー処理の実行を停止し、
前記他のストレージ装置が待機状態に遷移し、前記ストレージ装置が運用状態に遷移した第２の状態では、前記情報処理装置からの要求に応じて前記第１の記憶領域にアクセスする第２のアクセス処理と、前記設定情報に基づく前記第１のコピー処理とを実行する、
処理を実行させるストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置、ストレージシステムおよびストレージ制御プログラムに関する。
【背景技術】
【０００２】
複数台のストレージ装置をクラスタ化し、クラスタ化されたストレージ装置のうちの１台が故障などによって停止しても、他のストレージ装置を用いて運用を継続できるようにする技術が知られている。例えば、２台のストレージ装置をクラスタ化し、運用状態のストレージ装置においてホスト装置からのアクセス対象となっている記憶領域のデータを、待機状態のストレージ装置の記憶領域にコピーして各記憶領域を同期させる。そして、運用状態のストレージが停止したときに、ホスト装置からのアクセス対象を他方のストレージ装置の記憶領域に変更することで、ホスト装置での業務処理を継続できるようにする。
【０００３】
また、一方のストレージ装置の記憶領域のデータを他方のストレージ装置の記憶領域にコピーするとともに、他方のストレージ装置においてコピー先の記憶領域のデータをさらに他の記憶領域にコピーする技術も提案されている。さらに、これに加えて一方のストレージ装置においても、コピー元の記憶領域のデータをさらに他の記憶領域にコピーする技術も提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２３３５１８号公報
【特許文献２】特開２０１０−３９９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、上記のようにストレージ装置をクラスタ化する技術を用いるシステムとして、例えば次のようなものが考えられる。第１のストレージ装置は、運用状態のとき、ホスト装置からアクセスされる自装置内の第１の記憶領域のデータを、自装置内の第２の記憶領域にバックアップする。また、第１のストレージ装置とクラスタ化された第２のストレージ装置には、第３の記憶領域と第４の記憶領域が設定される。そして、第１の記憶領域のデータが第３の記憶領域に、また第２の記憶領域のデータが第４の記憶領域に、それぞれコピー元データとコピー先データとが同期するようにコピーが行われる。
【０００６】
このようなシステムによれば、第１のストレージ装置が停止して、第３の記憶領域がホスト装置からのアクセス対象になったとき、第３の記憶領域のバックアップデータが第４の記憶領域に記憶されている。このため、データの冗長性を確保したままフェイルオーバを行うことができる。
【０００７】
しかし、フェイルオーバ後に第３の記憶領域のデータを第４の記憶領域にバックアップする処理を実行するためには、そのための管理者による設定操作が必要となる。このため、ホスト装置からの第３の記憶領域のデータ更新が可能になってから、第３の記憶領域のデータをバックアップしてその安全性が向上する状態になるまでに時間がかかるという問題がある。
【０００８】
１つの側面では、本発明は、フェイルオーバしたストレージ装置のデータの安全性を短時間で高めることが可能なストレージ装置、ストレージシステムおよびストレージ制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、記憶部と制御部を有するストレージ装置が提供される。記憶部は、第１の記憶領域と、第２の記憶領域と、第１の記憶領域のデータを第２の記憶領域にコピーする第１のコピー処理を実行するための設定情報を記憶する第３の記憶領域とを含む。制御部は、第４の記憶領域と第５の記憶領域とを含む他のストレージ装置が、情報処理装置からの要求に応じて第４の記憶領域にアクセスする第１のアクセス処理と、第４の記憶領域のデータを第５の記憶領域へコピーする第２のコピー処理と、第４の記憶領域のデータと第１の記憶領域のデータとが同期するように第４の記憶領域のデータを第１の記憶領域へコピーする第３のコピー処理と、第５の記憶領域のデータと第２の記憶領域のデータとが同期するように第５の記憶領域のデータを第２の記憶領域へコピーする第４のコピー処理とを実行する運用状態であり、ストレージ装置が待機状態である第１の状態では、設定情報に基づく第１のコピー処理の実行を停止する。また、制御部は、他のストレージ装置が待機状態に遷移し、ストレージ装置が運用状態に遷移した第２の状態では、情報処理装置からの要求に応じて第１の記憶領域にアクセスする第２のアクセス処理と、設定情報に基づく第１のコピー処理とを実行する。
【００１０】
また、１つの案では、上記の他のストレージ装置およびストレージ装置にそれぞれ対応する第１のストレージ装置および第２のストレージ装置を有するストレージシステムが提供される。
【００１１】
さらに、１つの案では、上記のストレージ装置で実行される処理をコンピュータに実行させるストレージ制御プログラムが提供される。
【発明の効果】
【００１２】
１つの側面では、フェイルオーバしたストレージ装置のデータの安全性を短時間で高めることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態のストレージシステムの構成例および処理例を示す図である。
【図２】第２の実施の形態のストレージシステムの構成例を示す図である。
【図３】ストレージ装置のハードウェア構成例を示す図である。
【図４】業務サーバのハードウェア構成例を示す図である。
【図５】ストレージ装置で実行されるコピー処理の概要について説明するための図である。
【図６】ローカルコピーの一例を示す図である。
【図７】フェイルオーバ発生時の問題点について説明する図である。
【図８】第２の実施の形態におけるローカルコピーペアの設定処理について説明する図である。
【図９】第２の実施の形態におけるコピー処理の運用について説明する図である。
【図１０】ストレージシステム内の処理機能の構成例を示すブロック図である。
【図１１】ストレージ装置に設定される情報の例を示す図である。
【図１２】業務サーバに設定される情報の例を示す図である。
【図１３】ストレージ装置に対する設定処理の例を示すシーケンス図である。
【図１４】業務サーバからストレージ装置への書き込み要求が発生した場合の処理例を示すシーケンス図である。
【図１５】ローカルコピーが要求された場合の処理例を示すシーケンス図である。
【図１６】ローカルコピーの実行中にデータ更新が要求された場合の処理例を示す図である。
【図１７】フェイルオーバが行われた場合の処理例を示すシーケンス図である。
【図１８】ストレージ装置が復旧した場合の処理例を示すシーケンス図である。
【図１９】ストレージ装置に設定される情報の例を示す図である。
【図２０】他方のストレージ装置との接続が回復した場合の処理例を示すフローチャート図である。
【図２１】接続が回復した場合の処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージシステムの構成例および処理例を示す図である。図１に示すストレージシステムは、ストレージ装置１，２を有する。
【００１５】
ストレージ装置１は、記憶領域１１ａ，１１ｂを有する。記憶領域１１ａ，１１ｂは、例えば、ストレージ装置１に搭載されたＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの１つ以上の記憶装置によって実現される。一方、ストレージ装置２は、記憶領域２１ａ，２１ｂを有する。記憶領域２１ａ，２１ｂは、例えば、ストレージ装置２に搭載されたＨＤＤやＳＳＤなどの１つ以上の記憶装置によって実現される。
【００１６】
ストレージ装置１，２は、一方が運用状態となり、他方が待機状態となる。ストレージ装置１は、運用状態のとき、図示しない外部の情報処理装置からの記憶領域１１ａへのアクセスを受け付ける。一方、ストレージ装置２は、運用状態のとき、情報処理装置からの記憶領域２１ａへのアクセスを受け付ける。
【００１７】
以下、ストレージ装置１が運用状態であり、ストレージ装置２が待機状態であるものとして、説明を続ける。
ストレージ装置１は、運用状態のとき、記憶領域１１ａのデータを記憶領域１１ｂへコピーする。これにより、記憶領域１１ａのデータが破壊された場合でも、ストレージ装置１は、他のストレージ装置からではなく、同じストレージ装置１内の記憶領域１１ｂに格納されたバックアップデータを用いて、記憶領域１１ａのデータをリストアすることが可能となる。
【００１８】
また、ストレージ装置１は、運用状態のとき、記憶領域１１ａのデータと記憶領域２１ａのデータとが同期するように、記憶領域１１ａのデータを記憶領域２１ａへコピーする。これにより、フェイルオーバが行われたとき、運用状態に遷移したストレージ装置２が、記憶領域１１ａの代わりに記憶領域２１ａに対する情報処理装置からのアクセスを受け付けることで、情報処理装置での処理を継続することができる。
【００１９】
さらに、ストレージ装置１は、運用状態のとき、記憶領域１１ｂのデータと記憶領域２１ｂのデータとが同期するように、記憶領域１１ｂのデータを記憶領域２１ｂへコピーする。これにより、フェイルオーバが行われたとき、ストレージ装置２では、記憶領域２１ａのバックアップデータが記憶領域２１ｂに格納された状態となり、データの安全性が向上する。
【００２０】
一方、ストレージ装置２は、記憶部２２および制御部２３を有する。記憶部２２は、例えば、ストレージ装置２内のＲＡＭ（Random Access Memory）やＨＤＤなどの記憶装置によって実現される。制御部２３は、例えば、ストレージ装置２が備えるプロセッサ、または、ストレージ装置２内の図示しない制御装置が備えるプロセッサとして実現される。
【００２１】
記憶部２２は、記憶領域２１ａのデータを記憶領域２１ｂへコピーする処理を実行するための設定情報２２ａを記憶する。設定情報２２ａは、少なくとも、ストレージ装置２が待機状態から運用状態に遷移するより前に、図示しない管理装置などから記憶部２２に設定される。
【００２２】
図１の上側に示すように、ストレージ装置２が待機状態のとき、制御部２３は、設定情報２２ａに基づくコピー処理を実行しない。そして、図１の下側に示すように、フェイルオーバが行われてストレージ装置２が待機状態から運用状態に遷移すると、制御部２３は、設定情報２２ａに基づいて記憶領域２１ａのデータを記憶領域２１ｂへコピーする。なお、設定情報２２ａに基づくコピー処理は、ストレージ装置２が運用状態に遷移した後の任意のタイミングで実行されてもよい。
【００２３】
このように、ストレージ装置２が運用状態に遷移したときに記憶領域２１ａのデータが記憶領域２１ｂへコピーされることにより、フェイルオーバ後に情報処理装置からの要求によって生じた記憶領域２１ａのデータ更新内容が、記憶領域２１ｂのバックアップデータにも反映されるようになる。したがって、フェイルオーバ後の運用時におけるデータの安全性が向上する。
【００２４】
これとともに、ストレージ装置２が運用状態に遷移する前に記憶部２２に設定情報２２ａが記憶されていることにより、ストレージ装置２は運用状態に遷移した後、設定情報２２ａを参照することでいつでも記憶領域２１ａのデータを記憶領域２１ｂにコピーできる。このため、記憶領域２１ａのデータを記憶領域２１ｂへコピーする処理を、この処理を実行するための設定操作を管理者が行うことなく、実行することができる。したがって、情報処理装置によって記憶領域２１ａのデータ更新が可能になってから短時間で、記憶領域２１ａのデータを記憶領域２１ｂにバックアップして、記憶領域２１ａのデータの安全性を高めることが可能になる。
【００２５】
［第２の実施の形態］
図２は、第２の実施の形態のストレージシステムの構成例を示す図である。図２に示すストレージシステムは、ストレージ装置１００，２００、業務サーバ３００、管理サーバ４００および端末装置５００を含む。ストレージ装置１００，２００、業務サーバ３００、管理サーバ４００および端末装置５００は、例えば、ＬＡＮ（Local Area Network）５１を介して接続されている。また、ストレージ装置１００，２００と業務サーバ３００とは、例えば、ＳＡＮ（Storage Area Network）５２を介して接続されている。
【００２６】
なお、ストレージ装置１００は、図１のストレージ装置１の一例であり、ストレージ装置２００は、図１のストレージ装置２の一例である。
ストレージ装置１００は、その内部に定義された論理ボリュームに対する業務サーバ３００からのアクセスを制御する。ストレージ装置２００も同様に、その内部に定義された論理ボリュームに対する業務サーバ３００からのアクセスを制御する。
【００２７】
ストレージ装置１００，２００のうち、一方がアクティブ状態のとき、他方はスタンバイ状態となり、アクティブ状態のストレージ装置が業務サーバ３００からのアクセスを受け付ける。また、アクティブ状態のストレージ装置は、自装置内の論理ボリュームのデータをスタンバイ状態のストレージ装置にバックアップする。そして、フェイルオーバの発生によりスタンバイ状態のストレージ装置がアクティブ状態に遷移すると、アクティブ状態に遷移したストレージ装置は、バックアップデータが記憶された論理ボリュームに対する業務サーバ３００からのアクセスを受け付ける。これにより、一方のストレージ装置が障害の発生などによって動作を停止しても、他方のストレージ装置を用いて業務サーバ３００での業務処理を継続可能になる。
【００２８】
なお、本実施の形態では、ストレージ装置１００をプライマリとし、ストレージ装置２００をセカンダリとして、運用開始時の状態では、ストレージ装置１００がアクティブ状態となり、ストレージ装置２００がスタンバイ状態になるものとする。
【００２９】
業務サーバ３００は、各種の業務に関する処理を行うサーバコンピュータである。業務サーバ３００は、ＳＡＮ５２を介して、ストレージ装置１００，２００のうちアクティブ状態のストレージ装置に定義された論理ボリュームにアクセスする。
【００３０】
管理サーバ４００は、ストレージ装置１００，２００の運用を管理するためのサーバコンピュータである。管理サーバ４００は、例えば、端末装置５００に対して管理者によって入力された内容に応じて、ストレージ装置１００，２００に対する各種の設定処理を行う。
【００３１】
端末装置５００は、ストレージシステムの管理者が利用するクライアントコンピュータである。管理者は、端末装置５００への入力操作により、例えば、管理サーバ４００を介してストレージ装置１００，２００に各種の設定を行ったり、業務サーバ３００に各種の設定を行うことができる。
【００３２】
図３は、ストレージ装置のハードウェア構成例を示す図である。ストレージ装置１００は、ＣＭ（Controller Module）１０１およびＤＥ（Drive Enclosure）１０２を有する。なお、ストレージ装置１００は、複数のＣＭを有していてもよいし、２台以上のＤＥを有していてもよい。
【００３３】
ＤＥ１０２は、業務サーバ３００からのアクセス対象のデータを記憶する複数の記憶装置を有する。ＤＥ１０２に搭載される記憶装置は、例えば、ＨＤＤ、ＳＳＤなどである。ＣＭ１０１は、業務サーバ３００からのアクセス要求に応じてＤＥ１０２内の記憶装置にアクセスする。
【００３４】
ＣＭ１０１は、プロセッサ１０３によって装置全体が制御されている。プロセッサ１０３は、マルチプロセッサであってもよい。プロセッサ１０３は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。また、プロセッサ１０３は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３５】
プロセッサ１０３には、バスを介して、ＲＡＭ１０４と複数の周辺機器が接続されている。
ＲＡＭ１０４は、ＣＭ１０１の主記憶装置として使用される。ＲＡＭ１０４には、プロセッサ１０３に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０４には、プロセッサ１０３による処理に必要な各種データが格納される。
【００３６】
バスに接続されている周辺機器としては、ＳＳＤ１０５、読み取り装置１０６、ＣＡ（Channel Adapter）１０７、ＤＩ（Drive Interface）１０８およびＬＡＮインタフェース１０９がある。
【００３７】
ＳＳＤ１０５は、ＣＭ１０１の補助記憶装置として使用される。ＳＳＤ１０５には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＨＤＤなどの他の種類の不揮発性記憶装置を使用することもできる。
【００３８】
読み取り装置１０６には、可搬型の記録媒体１０６ａが脱着される。読み取り装置１０６は、可搬型の記録媒体１０６ａに記録されたデータを読み取ってプロセッサ１０３に送信する。可搬型の記録媒体１０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００３９】
ＣＡ１０７は、ＳＡＮ５２を介して業務サーバ３００およびストレージ装置２００と通信するためのインタフェースである。ＤＩ１０８は、ＤＥ１０２内の記憶装置と通信するためのインタフェースである。ＬＡＮインタフェース１０９は、ＬＡＮ５１を介して管理サーバ４００と通信するためのインタフェースである。
【００４０】
なお、ストレージ装置２００もストレージ装置１００と同様のハードウェア構成により実現できる。すなわち、ストレージ装置２００は、ＣＭとＤＥとを有し、ストレージ装置２００のＤＥは、複数の記憶装置を有する。
【００４１】
また、以下の説明において、ストレージ装置１００がアクティブ状態またはスタンバイ状態であるとは、ストレージ装置１００内のＣＭ１０１がアクティブ状態またはスタンバイ状態であることと同義である。同様に、ストレージ装置２００がアクティブ状態またはスタンバイ状態であるとは、ストレージ装置２００内のＣＭがアクティブ状態またはスタンバイ状態であることと同義である。
【００４２】
図４は、業務サーバのハードウェア構成例を示す図である。業務サーバ３００は、プロセッサ３０１によって装置全体が制御されている。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えば、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、またはＰＬＤである。また、プロセッサ３０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００４３】
プロセッサ３０１には、バスを介して、ＲＡＭ３０２と複数の周辺機器が接続されている。
ＲＡＭ３０２は、業務サーバ３００の主記憶装置として使用される。ＲＡＭ３０２には、プロセッサ３０１に実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、プロセッサ３０１による処理に必要な各種データが格納される。
【００４４】
バスに接続されている周辺機器としては、ＨＤＤ３０３、画像信号処理部３０４、入力信号処理部３０５、読み取り装置３０６および通信インタフェース３０７，３０８がある。
【００４５】
ＨＤＤ３０３は、業務サーバ３００の補助記憶装置として使用される。ＨＤＤ３０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤなどの他の種類の不揮発性記憶装置を使用することもできる。
【００４６】
画像信号処理部３０４には、ディスプレイ３０４ａが接続される。画像信号処理部３０４は、プロセッサ３０１からの命令にしたがって、画像をディスプレイ３０４ａに表示させる。ディスプレイ３０４ａとしては、液晶ディスプレイや、有機ＥＬ（ElectroLuminescence）ディスプレイなどがある。
【００４７】
入力信号処理部３０５には、入力デバイス３０５ａが接続される。入力信号処理部３０５は、入力デバイスに対する入力操作に応じた信号をプロセッサ３０１に送信する。入力デバイス３０５ａとしては、例えば、キーボード、マウス、タッチパッド、トラックボールなどがある。
【００４８】
読み取り装置３０６には、可搬型の記録媒体３０６ａが脱着される。読み取り装置３０６は、可搬型の記録媒体３０６ａに記録されたデータを読み取ってプロセッサ３０１に送信する。可搬型の記録媒体３０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００４９】
通信インタフェース３０７は、ＬＡＮ５１を介して管理サーバ４００、端末装置５００と通信するためのインタフェースである。通信インタフェース３０８は、ＳＡＮ５２を介してストレージ装置１００，２００と通信するためのインタフェースである。
【００５０】
なお、管理サーバ４００および端末装置５００も業務サーバ３００と同様のハードウェアにより実現できる。
次に、図５は、ストレージ装置で実行されるコピー処理の概要について説明するための図である。図５では、例として、ストレージ装置１００がアクティブ状態であり、ストレージ装置２００がスタンバイ状態であるとする。また、以下の説明では、識別番号「Ｘ」の論理ボリュームを「ＬＵＮ＃Ｘ」と表記する場合がある。本実施の形態では、ストレージ装置１００にはＬＵＮ＃０，ＬＵＮ＃１が設定され、ストレージ装置２００にはＬＵＮ＃２，ＬＵＮ＃３が設定されるものとする。
【００５１】
ストレージ装置１００，２００は、フェイルオーバを可能とする筐体ペアとしてクラスタ化されている。クラスタ化されたストレージ装置１００，２００の間では、互いのストレージ装置に設定された論理ボリューム同士が「リモートコピーペア」として登録されることで、それらの論理ボリュームのデータを同期させることができる。すなわち、リモートコピーペアとして登録された論理ボリュームのうち、アクティブ状態のストレージ装置の論理ボリュームの内容が更新されると、その更新内容が他方の論理ボリュームに即座に反映される。例えば、アクティブ状態のストレージ装置のあるデータが新たなデータに更新されると、新たなデータがスタンバイ状態のストレージ装置に送信され、新たなデータによって他方の論理ボリュームの対応する位置のデータが更新される。以下、リモートコピーペアとして登録された論理ボリューム間で行われるコピー処理を、「リモートコピー」と記載する場合がある。
【００５２】
本実施の形態では、ＬＵＮ＃０とＬＵＮ＃２とがリモートコピーペア６１ａとして登録され、ＬＵＮ＃１とＬＵＮ＃３とがリモートコピーペア６１ｂとして登録されるものとする。図５に示すように、ストレージ装置１００がアクティブ状態の場合には、ＬＵＮ＃０のデータがＬＵＮ＃２へリモートコピーされ、ＬＵＮ＃１のデータがＬＵＮ＃３へリモートコピーされる。
【００５３】
また、アクティブ状態のストレージ装置１００では、ＬＵＮ＃０とＬＵＮ＃１とがローカルコピーペア６２ａとして登録され、ＬＵＮ＃０のデータがＬＵＮ＃１にコピーされる。以下、ローカルコピーペアとして登録された一方の論理ボリュームから他方の論理ボリュームへのコピー処理を、「ローカルコピー」と記載する場合がある。アクティブ状態のストレージ装置１００において業務サーバ３００からのアクセス対象のＬＵＮ＃０のデータが別のＬＵＮ＃１にローカルコピーされることで、他のストレージ装置２００のデータを用いずに、ストレージ装置１００内のＬＵＮ＃１を用いてリストアすることが可能となる。
【００５４】
ここで、本実施の形態において、ローカルコピーとは、コピー元ボリュームのスナップショットに対応する実データをコピー先ボリュームに記録する処理である。しかも、コピー元ボリュームからコピー先ボリュームへデータをコピーする処理は、業務サーバ３００からの要求に応じたコピー元ボリュームに対するアクセス制御処理が継続された状態のまま、そのアクセス制御処理のバックグラウンドで実行される。さらに、２回目以降のローカルコピーでは、前回のローカルコピー開始後に業務サーバ３００から更新されたデータのみが、コピー先ボリュームにコピーされる。
【００５５】
以下、このようなローカルコピーの手順について具体的に説明する。なお、ローカルコピー、リモートコピーの両方とも、論理ボリュームを同じサイズに分割した分割領域を単位として実行される。
【００５６】
ローカルコピーの実行のためには、コピー管理情報として、コピービットマップとトラッキングビットマップとが利用される。コピービットマップは、分割領域ごとに、ローカルコピーが実行済みか否かを示すビット値が対応付けられた管理情報である。ローカルコピーが未実行の場合「１」が登録され、実行済みの場合「０」が登録される。トラッキングビットマップは、分割領域ごとに、ローカルコピーが開始された後に業務サーバ３００からの要求によりデータが更新されたか否かを示すビット値が対応付けられた管理情報である。データが更新されていない場合「０」が登録され、更新された場合「１」が登録される。
【００５７】
図６は、ローカルコピーの一例を示す図である。ＬＵＮ＃０からＬＵＮ＃１への１回目のローカルコピーが要求されると、ストレージ装置１００は、コピービットマップ７１の全ビットを「１」にし、トラッキングビットマップ７２の全ビットを「０」にする。そして、ストレージ装置１００は、コピービットマップ７１のビットが「１」の分割領域について、ＬＵＮ＃０からＬＵＮ＃１にコピーするとともに、コピービットマップ７１における当該ビットを「０」に更新する。
【００５８】
ここで、図６の上側には、ＬＵＮ＃０の各分割領域に記録されたデータＡ〜Ｉのうち、データＡ〜ＤがＬＵＮ＃１にコピーされた状態を示す。この状態で、ＬＵＮ＃０のデータＧをデータＧ１に更新する要求が業務サーバ３００から送信されたとする。この場合、図６の下側に示すように、ストレージ装置１００は、更新前のデータＧをＬＵＮ＃０からＬＵＮ＃１にコピーした後、新たなデータＧ１によってＬＵＮ＃０のデータＧを更新する。また、ストレージ装置１００は、トラッキングビットマップ７２のビットのうち、データが更新された分割領域に対応するビットを「０」から「１」に更新するとともに、コピービットマップ７１における同じ分割領域に対応するビットを「１」から「０」に更新する。これにより、ＬＵＮ＃０に対する業務サーバ３００からのアクセスを継続しながら、コピー先のＬＵＮ＃１にローカルコピーが要求された時点のデータを確実にバックアップすることができる。
【００５９】
また、図示しないが、ストレージ装置１００は、コピービットマップ７１が「１」であるすべての分割領域のデータをＬＵＮ＃０からＬＵＮ＃１にコピーしてローカルコピーが完了した後も、業務サーバ３００からの要求に応じてＬＵＮ＃０の分割領域のデータが更新されると、その分割領域に対応するトラッキングビットマップ７２のビットを「０」から「１」に更新する。その後、再度ローカルコピーが要求されると、ストレージ装置１００は、トラッキングビットマップ７２の全ビットの値をコピービットマップ７１にコピーした後、トラッキングビットマップ７２の全ビットを「０」に更新する。そして、ストレージ装置１００は、ＬＵＮ＃０のデータをＬＵＮ＃１へローカルコピーするが、その際、ＬＵＮ＃０の分割領域のうち、コピービットマップ７１のビットが「１」の分割領域のデータのみをＬＵＮ＃１へコピーする。これにより、ＬＵＮ＃０の分割領域のうち、前回ローカルコピーが要求されてから１回以上データが更新された分割領域についてのみ、ＬＵＮ＃０からＬＵＮ＃１へデータをコピーする「差分コピー」が実行され、ローカルコピーに要する時間が短縮される。
【００６０】
次に、図７は、フェイルオーバ発生時の問題点について説明する図である。図５に示したようにリモートコピーおよびローカルコピーが行われる構成において、ストレージ装置１００の動作が障害の発生などによって停止した場合、フェイルオーバが行われる。これにより、ストレージ装置２００がアクティブ状態になり、業務サーバ３００からのアクセス対象はＬＵＮ＃０からＬＵＮ＃２に移る。
【００６１】
しかし、図７の上側に示すように、フェイルオーバの前では、スタンバイ状態のストレージ装置２００においてはＬＵＮ＃２からＬＵＮ＃３へのローカルコピーが行われていないので、このため、フェイルオーバの後にストレージ装置２００においてＬＵＮ＃２のデータをＬＵＮ＃３にローカルコピーしようとすると、管理者は、図７の下側に示すように、ローカルコピーペア６２ｂの設定など、ローカルコピーを実行させるための各種の設定操作を行う必要がある。したがって、管理者によるデータバックアップの運用管理作業の効率が低いという問題がある。
【００６２】
また、例えば、ストレージ装置１００においてローカルコピーが実行されている途中でフェイルオーバが発生した場合、ストレージ装置２００は、ローカルコピーがどこまで進捗しているかを認識できない。このため、ストレージ装置２００は、ローカルコピーを途中から引き継ぐことができない。
【００６３】
さらに、ストレージ装置１００においてローカルコピーの実行が完了した状態でフェイルオーバが発生した場合でも、ストレージ装置２００は、直近のローカルコピーの開始後からＬＵＮ＃０のどの分割領域が更新されたかを認識できない。このため、ストレージ装置２００は、ＬＵＮ＃２からＬＵＮ＃３への差分コピーを実行できず、ＬＵＮ＃２の全データを再度ＬＵＮ＃３へコピーする必要が生じる。
【００６４】
このような問題に対し、第２の実施の形態では、次の図８および図９に示すような処理が行われる。
図８は、第２の実施の形態におけるローカルコピーペアの設定処理について説明する図である。本実施の形態では、ストレージ装置１００，２００の両方においてローカルコピーペアがあらかじめ設定される。すなわち、ストレージ装置１００内のＬＵＮ＃０とＬＵＮ＃１とがローカルコピーペア６２ａとして設定されるとともに、ストレージ装置２００内のＬＵＮ＃２とＬＵＮ＃３とがローカルコピーペア６２ｂとして設定される。そして、ローカルコピーペアの設定に基づくローカルコピーは、アクティブ状態のストレージ装置でのみ実行される。
【００６５】
図９は、第２の実施の形態におけるコピー処理の運用について説明する図である。図９の上側では、例として、ストレージ装置１００がアクティブ状態であるとする。この状態では、ストレージ装置１００では、ローカルコピーペア６２ａの設定に基づいてＬＵＮ＃０からＬＵＮ＃１へのローカルコピーが実行される。しかし、スタンバイ状態のストレージ装置２００では、ローカルコピーペア６２ｂの設定に基づくＬＵＮ＃２からＬＵＮ＃３へのローカルコピーは実行されない。
【００６６】
また、リモートコピーペア６１ａの設定に基づくＬＵＮ＃０からＬＵＮ＃２へのリモートコピー、および、リモートコピーペア６１ｂの設定に基づくＬＵＮ＃１からＬＵＮ＃３へのリモートコピーも実行される。これとともに、ＬＵＮ＃０からＬＵＮ＃１へのローカルコピー用のコピービットマップおよびトラッキングビットマップも、ストレージ装置１００からストレージ装置２００に対してリモートコピーされ、ストレージ装置１００とストレージ装置２００との間で同期される。
【００６７】
この後、フェイルオーバが行われると、図９の下側に示すように、ストレージ装置２００がアクティブ状態に遷移するのに伴って、ローカルコピーペア６２ｂの設定が有効化される。これにより、管理者によるローカルコピーペア６２ｂの設定を行うことなく、ストレージ装置２００がローカルコピーの要求を受けたときにＬＵＮ＃２からＬＵＮ＃３へのローカルコピーが実行される。したがって、管理者によるデータバックアップの運用管理効率が向上する。
【００６８】
また、ストレージ装置２００は、フェイルオーバ前にストレージ装置１００からリモートコピーされていたコピービットマップおよびトラッキングビットマップを、フェイルオーバ後に参照することができる。このため、ストレージ装置１００でのＬＵＮ＃０からのＬＵＮ＃１へのローカルコピーの実行中にフェイルオーバが行われた場合でも、ストレージ装置２００は、リモートコピーされたコピービットマップに基づいて、ＬＵＮ＃２におけるコピー未実行の分割領域のみからデータをＬＵＮ＃３へコピーすることができる。したがって、ストレージ装置２００は、ローカルコピーを途中から正確に引き継ぐことができる。
【００６９】
さらに、ストレージ装置１００でＬＵＮ＃０からＬＵＮ＃１へのローカルコピーが完了した状態でフェイルオーバが行われた場合でも、ストレージ装置２００は、リモートコピーされたトラッキングビットマップを用いて、ＬＵＮ＃２におけるデータ更新済みの分割領域を引き続き正確に管理できる。このため、ストレージ装置２００でのその後のローカルコピー処理において、差分コピーを正確に実行できる。
【００７０】
次に、図１０は、ストレージシステム内の処理機能の構成例を示すブロック図である。
まず、ストレージ装置１００のＣＭ１０１は、記憶部１１０、アクセス制御部１２０およびコピー制御部１３０を有する。記憶部１１０は、例えば、ＣＭ１０１のＲＡＭ１０４またはＳＳＤ１０５の記憶領域として実現される。アクセス制御部１２０およびコピー制御部１３０の処理は、例えば、ＣＭ１０１のプロセッサ１０３によって所定のプログラムが実行されることで実現される。
【００７１】
記憶部１１０には、各種の設定情報が記憶される。設定情報としては、ローカルコピーペアに関する情報やリモートコピーペアに関する情報が含まれる。
アクセス制御部１２０は、ストレージ装置１００がアクティブ状態のとき、業務サーバ３００からのＬＵＮ＃０へのアクセス要求を受信し、アクセス要求に応じたアクセス制御処理を実行する。
【００７２】
コピー制御部１３０は、ストレージ装置１００がアクティブ状態のとき、ＬＵＮ＃０からＬＵＮ＃１へのローカルコピー、リモートコピーペア情報に基づくＬＵＮ＃０，ＬＵＮ＃１の各データのＣＭ２０１への送信の各処理を実行する。また、コピー制御部１３０は、ストレージ装置１００がスタンバイ状態のとき、ストレージ装置２００から送信されたＬＵＮ＃２のデータによってＬＵＮ＃０を更新する処理、ストレージ装置２００から送信されたＬＵＮ＃３のデータによってＬＵＮ＃１を更新する処理を実行する。
【００７３】
ストレージ装置２００のＣＭ２０１は、記憶部２１０、アクセス制御部２２０およびコピー制御部２３０を有する。記憶部２１０は、例えば、ＣＭ２０１が備えるＲＡＭまたはＳＳＤの記憶領域として実現される。アクセス制御部２２０およびコピー制御部２３０の処理は、例えば、ＣＭ２０１が備えるプロセッサによって所定のプログラムが実行されることで実現される。
【００７４】
記憶部２１０には、各種の設定情報が記憶される。設定情報としては、ローカルコピーペアに関する情報やリモートコピーペアに関する情報が含まれる。
アクセス制御部２２０は、ストレージ装置２００がアクティブ状態のとき、業務サーバ３００からのＬＵＮ＃２へのアクセス要求を受信し、アクセス要求に応じたアクセス制御処理を実行する。
【００７５】
コピー制御部２３０は、ストレージ装置２００がアクティブ状態のとき、ＬＵＮ＃２からＬＵＮ＃３へのローカルコピー、リモートコピーペア情報に基づくＬＵＮ＃２，ＬＵＮ＃３の各データのＣＭ１０１への送信の各処理を実行する。また、コピー制御部２３０は、ストレージ装置２００がスタンバイ状態のとき、ストレージ装置１００から送信されたＬＵＮ＃０のデータによってＬＵＮ＃２を更新する処理、ストレージ装置１００から送信されたＬＵＮ＃１のデータによってＬＵＮ＃３を更新する処理を実行する。
【００７６】
業務サーバ３００は、記憶部３１０、アクセス処理部３２０およびコピー管理部３３０を有する。記憶部３１０は、例えば、業務サーバ３００のＲＡＭ３０２またはＨＤＤ３０３の記憶領域によって実現される。アクセス処理部３２０およびコピー管理部３３０の処理は、例えば、業務サーバ３００のプロセッサ３０１が所定のプログラムを実現することによって実現される。
【００７７】
記憶部３１０には、アクセス処理部３２０およびコピー管理部３３０によって参照される各種の情報が記憶される。アクセス処理部３２０は、ストレージ装置１００のＬＵＮ＃０またはストレージ装置２００のＬＵＮ＃２に対してアクセスする。コピー管理部３３０は、端末装置５００からのコピー要求に応じて、ストレージ装置１００，２００のうちのアクティブ状態のストレージ装置に対してローカルコピーの実行を要求する。
【００７８】
管理サーバ４００は、設定処理部４１０を有する。設定処理部４１０の処理は、例えば、管理サーバ４００が備えるプロセッサが所定のプログラムを実行することによって実現される。設定処理部４１０は、端末装置５００からの要求に応じて、ストレージ装置１００，２００を運用するための各種の情報をストレージ装置１００，２００および業務サーバ３００に設定する。
【００７９】
図１１は、ストレージ装置に設定される情報の例を示す図である。ストレージ装置１００のＣＭ１０１の記憶部１１０は、グループ管理テーブル１１１、ローカルコピー管理テーブル１１２およびリモートコピー管理テーブル１１３を記憶する。また、ストレージ装置２００のＣＭ２０１の記憶部２１０は、グループ管理テーブル２１１、ローカルコピー管理テーブル２１２およびリモートコピー管理テーブル２１３を記憶する。
【００８０】
グループ管理テーブル１１１には、ストレージ装置１００が属するグループに関する情報が登録される。グループ管理テーブル２１１には、ストレージ装置２００が属するグループに関する情報が登録される。グループ管理テーブル１１１，２１１は、グループＩＤ、利用ステータス、動作ステータス、相手筐体ＩＤ、ポートＩＤおよびＬＵＮの項目を有する。
【００８１】
グループＩＤの項目には、グループの識別番号が登録される。利用ステータスの項目には、対応するストレージ装置がプライマリとセカンダリのどちらであるかを示す情報が登録される。動作ステータスの項目には、対応するストレージ装置がアクティブ状態とスタンバイ状態のどちらであるかを示す情報が登録される。
【００８２】
相手筐体ＩＤの項目には、対応するストレージ装置とともにクラスタ化された他方のストレージ装置の識別番号が登録される。ポートＩＤの項目には、対応するストレージ装置がアクティブ状態のときの通信先ＣＡの識別番号と、対応するストレージ装置がスタンバイ状態のときの通信先のＣＡ（すなわち、他方のストレージ装置のＣＡ）の識別番号とが登録される。ＬＵＮの項目には、対応するストレージに設定された、グループに属する論理ボリュームの識別番号が登録される。
【００８３】
グループ管理テーブル１１１，２１１によれば、相手筐体ＩＤの項目に互いのストレージ装置の識別番号が登録されることで、互いのストレージ装置がクラスタ化されていることが登録される。また、ＬＵＮの項目に登録される論理ボリュームは、他方のストレージ装置の論理ボリュームとの間でリモートコピーが行われる論理ボリュームとなる。
【００８４】
ローカルコピー管理テーブル１１２には、ストレージ装置１００において実行されるローカルコピーの設定情報が登録される。ローカルコピー管理テーブル２１２には、ストレージ装置２００において実行されるローカルコピーの設定情報が登録される。ローカルコピー管理テーブル１１２，２１２は、セッションＩＤ、コピービットマップ、トラッキングビットマップ、コピー元ＬＵＮおよびコピー先ＬＵＮの項目を有する。
【００８５】
セッションＩＤの項目は、ローカルコピー処理を識別するための識別番号が登録される。コピービットマップの項目には、ローカルコピーの実行時に利用されるコピービットマップが登録される。トラッキングビットマップの項目には、ローカルコピーの実行時に利用されるトラッキングビットマップが登録される。コピー元ＬＵＮの項目には、ローカルコピー元の論理ボリュームの識別番号が登録される。コピー先ＬＵＮの項目には、ローカルコピー先の論理ボリュームの識別番号が登録される。コピー元ＬＵＮおよびコピー先ＬＵＮの各項目に登録される論理ボリュームは、グループ管理テーブル１１１，２２１のＬＵＮの項目に登録された論理ボリュームである。
【００８６】
ローカルコピー管理テーブル１１２，２１２に登録された情報に基づくローカルコピーは、対応するストレージ装置がアクティブ状態の場合のみ実行される。また、アクティブ状態のストレージ装置内のローカルコピー管理テーブルにおけるコピービットマップおよびトラッキングビットマップは、他方のストレージ装置内のローカルコピー管理テーブルにおけるコピービットマップおよびトラッキングビットマップの各項目にリモートコピーされる。これにより、ストレージ装置間でコピービットマップおよびトラッキングビットマップが同期される。
【００８７】
リモートコピー管理テーブル１１３には、ストレージ装置１００において実行されるリモートコピーの設定情報が登録される。リモートコピー管理テーブル２１３には、ストレージ装置２００において実行されるリモートコピーの設定情報が登録される。リモートコピー管理テーブル１１３，２１３の各レコードは、セッションＩＤ、コピー元ＬＵＮおよびコピー先ＬＵＮの項目を有する。
【００８８】
セッションＩＤの項目には、リモートコピー処理を識別するための識別番号が登録される。コピー元ＬＵＮの項目には、リモートコピー元の論理ボリュームの識別番号が登録される。コピー先ＬＵＮの項目には、他方のストレージ装置に設定されたリモートコピー先の論理ボリュームの識別番号が登録される。
【００８９】
本実施の形態では、リモートコピー管理テーブル１１３，２１３の両方とも、２つのレコードが登録される。また、リモートコピー管理テーブルに登録された情報に基づくリモートコピーは、対応するストレージ装置がアクティブ状態の場合のみ実行される。
【００９０】
図１２は、業務サーバに設定される情報の例を示す図である。業務サーバ３００の記憶部３１０には、筐体ペア管理テーブル３１１およびボリューム管理テーブル３１２が登録される。
【００９１】
筐体ペア管理テーブル３１１は、クラスタ化されたストレージ装置のペアに関する情報を保持する。筐体ペア管理テーブル３１１は、筐体ペアＩＤ、プライマリＩＤ、セカンダリＩＤおよびアクティブ筐体ＩＤの項目を有する。
【００９２】
筐体ペアＩＤの項目には、クラスタ化されたストレージ装置のペアを識別するための番号が登録される。プライマリＩＤの項目には、プライマリのストレージ装置の識別番号が登録される。セカンダリＩＤの項目には、セカンダリのストレージ装置の識別番号が登録される。アクティブ筐体ＩＤの項目には、クラスタ化されたストレージ装置のうち、アクティブ状態のストレージ装置の識別番号が登録される。
【００９３】
ボリューム管理テーブル３１２は、業務サーバ３００からアクセス可能な論理ボリュームに関する情報を保持する。ボリューム管理テーブル３１２は、ボリューム名、筐体ＩＤ、ＬＵＮおよびブロックサイズの項目を有する。
【００９４】
ボリューム名の項目には、業務サーバ３００のＯＳが提供するボリュームの識別情報が登録される。筐体ＩＤの項目には、ストレージ装置の識別番号が登録される。ＬＵＮの項目には、論理ボリュームの識別番号が登録される。ブロックサイズの項目には、論理ボリュームのサイズが登録される。
【００９５】
ボリューム管理テーブル３１２においては、１つのボリューム名には、プライマリおよびセカンダリのそれぞれについての筐体ＩＤおよびＬＵＮが登録される。これにより、業務サーバ３００は、プライマリとセカンダリのストレージ装置のうち、アクティブ状態のストレージ装置におけるアクセス先の論理ボリュームの識別番号（ＬＵＮ）を判別することができる。
【００９６】
次に、本実施の形態のストレージシステムにおける処理手順について、シーケンス図を用いて説明する。
図１３は、ストレージ装置に対する設定処理の例を示すシーケンス図である。
【００９７】
まず、端末装置５００に対する管理者の入力操作に応じて、管理サーバ４００によるストレージ装置１００，２００の設定処理が行われる。
［ステップＳ１１］管理サーバ４００の設定処理部４１０は、ストレージ装置１００のＣＭ１０１に対してグループ管理テーブル１１１、ローカルコピー管理テーブル１１２およびリモートコピー管理テーブル１１３の設定を行う。
【００９８】
［ステップＳ１２］設定処理部４１０は、ストレージ装置２００のＣＭ２０１に対してグループ管理テーブル２１１、ローカルコピー管理テーブル２１２およびリモートコピー管理テーブル２１３の設定を行う。
【００９９】
なお、以上のステップＳ１１，Ｓ１２の設定処理は、業務サーバ３００からストレージ装置１００，２００に対して行われてもよい。
続いて、端末装置５００に対する管理者の入力操作に応じて、業務サーバ３００の設定処理が行われる。
【０１００】
［ステップＳ１３］業務サーバ３００は、ストレージ装置１００からグループ管理テーブル１１１、ローカルコピー管理テーブル１１２およびリモートコピー管理テーブル１１３に設定された情報を取得する。
【０１０１】
［ステップＳ１４］業務サーバ３００は、ストレージ装置２００からグループ管理テーブル２１１、ローカルコピー管理テーブル２１２およびリモートコピー管理テーブル２１３に設定された情報を取得する。
【０１０２】
［ステップＳ１５］業務サーバ３００は、ステップＳ１３，Ｓ１４で取得された情報に基づいて、筐体ペア管理テーブル３１１およびボリューム管理テーブル３１２の設定を行う。
【０１０３】
図１４は、業務サーバからストレージ装置への書き込み要求が発生した場合の処理例を示すシーケンス図である。図１４では例として、ストレージ装置１００がアクティブ状態であり、ストレージ装置２００がスタンバイ状態であるとする。
【０１０４】
［ステップＳ２１］業務サーバ３００のアクセス処理部３２０は、ストレージ装置１００のＬＵＮ＃０に対するデータの書き込み要求をストレージ装置１００へ送信する。
［ステップＳ２２］ストレージ装置１００のアクセス制御部１２０は、ＬＵＮ＃０（ローカルコピー元の論理ボリューム）における書き込み要求先のデータを、業務サーバ３００から受信した書き込みデータによって更新する。
【０１０５】
［ステップＳ２３］ストレージ装置１００のコピー制御部１３０は、ステップＳ２２で更新されたデータをストレージ装置２００へ送信して、ＬＵＮ＃２へのリモートコピーを要求する。
【０１０６】
［ステップＳ２４］ストレージ装置２００のコピー制御部２３０は、ＬＵＮ＃２（ローカルコピー元の論理ボリューム）における対応するデータを、ストレージ装置１００から受信したデータによって更新する。
【０１０７】
［ステップＳ２５］コピー制御部２３０は、リモートコピーが完了したことを示す応答をストレージ装置１００へ送信する。
［ステップＳ２６］ストレージ装置１００のコピー制御部１３０は、ステップＳ２４で更新したデータに対応する分割領域について、トラッキングビットマップのビットを「１」に更新するようにストレージ装置２００へ要求する。
【０１０８】
［ステップＳ２７］ストレージ装置２００のコピー制御部２３０は、トラッキングビットマップにおける該当ビットを「１」に更新する。
［ステップＳ２８］コピー制御部２３０は、トラッキングビットの更新が完了したことを示す応答をストレージ装置１００へ送信する。
【０１０９】
［ステップＳ２９］ストレージ装置１００のコピー制御部１３０は、ステップＳ２２で更新したデータに対応する分割領域について、トラッキングビットマップのビットを「１」に更新する。
【０１１０】
［ステップＳ３０］ストレージ装置１００のアクセス制御部１２０は、データの書き込みが完了したことを示す応答を業務サーバ３００へ送信する。
図１５は、ローカルコピーが要求された場合の処理例を示すシーケンス図である。図１５では例として、ストレージ装置１００がアクティブ状態であり、ストレージ装置２００がスタンバイ状態であるとする。
【０１１１】
［ステップＳ４１］管理者は、端末装置５００への入力操作により、業務サーバ３００に対してローカルコピーの実行を指示する。指示を受けた業務サーバ３００は、アクティブ状態のストレージ装置１００に対してローカルコピーの実行を要求する。なお、ローカルコピーの実行は、例えば、管理サーバ４００から指示されてもよい。
【０１１２】
［ステップＳ４２］ストレージ装置１００のコピー制御部１３０は、業務サーバ３００に対してローカルコピーが完了したことを示す応答を送信する。
［ステップＳ４３］ストレージ装置１００のコピー制御部１３０は、コピービットマップの全ビットを、トラッキングビットマップの対応するビットの値によって更新する。そして、コピー制御部１３０は、トラッキングビットマップの全ビットを「０」に更新する。
【０１１３】
［ステップＳ４４］ステップＳ５３のループ端までの処理が、コピービットマップのビット値が「１」である分割領域ごとに繰り返し実行される。
［ステップＳ４５］コピー制御部１３０は、ＬＵＮ＃０の該当分割領域のデータをＬＵＮ＃１の同じ分割領域にローカルコピーする。
【０１１４】
［ステップＳ４６］コピー制御部１３０は、ステップＳ４５でＬＵＮ＃１を更新したデータをストレージ装置２００へ送信して、ＬＵＮ＃３へのリモートコピーを要求する。
［ステップＳ４７］ストレージ装置２００のコピー制御部２３０は、ＬＵＮ＃３（ローカルコピー先の論理ボリューム）における対応する分割領域のデータを、ストレージ装置１００から受信したデータによって更新する。
【０１１５】
［ステップＳ４８］コピー制御部２３０は、リモートコピーが完了したことを示す応答をストレージ装置１００へ送信する。
［ステップＳ４９］ストレージ装置１００のコピー制御部１３０は、ステップＳ４７で更新したデータに対応する分割領域について、コピービットマップのビットを「０」に更新するようにストレージ装置２００へ要求する。
【０１１６】
［ステップＳ５０］ストレージ装置２００のコピー制御部２３０は、コピービットマップにおける該当ビットを「０」に更新する。
［ステップＳ５１］コピー制御部２３０は、コピービットマップの更新が完了したことを示す応答をストレージ装置１００に送信する。
【０１１７】
［ステップＳ５２］ストレージ装置１００のコピー制御部１３０は、ステップＳ４５で更新したデータに対応する分割領域について、コピービットマップのビットを「０」に更新する。
【０１１８】
［ステップＳ５３］コピービットマップのビットが「１」であるすべての分割領域についての処理が終了すると、ローカルコピー処理が完了する。
図１６は、ローカルコピーの実行中にデータ更新が要求された場合の処理例を示す図である。図１６では例として、ストレージ装置１００がアクティブ状態であり、ストレージ装置２００がスタンバイ状態であるとする。図１６の処理は、図１５の処理中に割り込みによって実行される。
【０１１９】
［ステップＳ６１］業務サーバ３００のアクセス処理部３２０は、ストレージ装置１００のＬＵＮ＃０に対するデータの書き込み要求をストレージ装置１００へ送信する。
［ステップＳ６２］ストレージ装置１００のコピー制御部１３０は、ＬＵＮ＃０における書き込みが要求された分割領域に格納されている更新前データを、ＬＵＮ＃１の対応する分割領域へローカルコピーする。
【０１２０】
［ステップＳ６３］コピー制御部１３０は、ステップＳ６２でＬＵＮ＃１を更新したデータ（すなわち、ＬＵＮ＃０における更新前データ）をストレージ装置２００へ送信して、ＬＵＮ＃３へのリモートコピーを要求する。
【０１２１】
［ステップＳ６４］ストレージ装置２００のコピー制御部２３０は、ＬＵＮ＃３（ローカルコピー先の論理ボリューム）における対応する分割領域のデータを、ストレージ装置１００から受信したデータによって更新する。
【０１２２】
［ステップＳ６５］コピー制御部２３０は、リモートコピーが完了したことを示す応答をストレージ装置１００へ送信する。
［ステップＳ６６］ストレージ装置１００のコピー制御部１３０は、ステップＳ６２で更新したデータに対応する分割領域について、コピービットマップのビットを「０」に更新するようにストレージ装置２００へ要求する。
【０１２３】
［ステップＳ６７］ストレージ装置２００のコピー制御部２３０は、コピービットマップにおける該当ビットを「０」に更新する。
［ステップＳ６８］コピー制御部２３０は、コピービットマップの更新が完了したことを示す応答をストレージ装置１００に送信する。
【０１２４】
［ステップＳ６９］ストレージ装置１００のコピー制御部１３０は、ステップＳ６２で更新したデータに対応する分割領域について、コピービットマップのビットを「０」に更新する。
【０１２５】
［ステップＳ７０］ストレージ装置１００のアクセス制御部１２０は、ＬＵＮ＃０（ローカルコピー元の論理ボリューム）における書き込み要求先のデータを、業務サーバ３００から受信した書き込みデータによって更新する。
【０１２６】
［ステップＳ７１］ストレージ装置１００のコピー制御部１３０は、ステップＳ７０で更新したデータに対応する分割領域について、トラッキングビットマップのビットを「１」に更新するようにストレージ装置２００へ要求する。
【０１２７】
［ステップＳ７２］ストレージ装置２００のコピー制御部２３０は、トラッキングビットマップにおける該当ビットを「１」に更新する。
［ステップＳ７３］コピー制御部２３０は、トラッキングビットマップの更新が完了したことを示す応答をストレージ装置１００へ送信する。
【０１２８】
［ステップＳ７４］ストレージ装置１００のコピー制御部１３０は、ステップＳ７０で更新したデータに対応する分割領域について、トラッキングビットマップのビットを「１」に更新する。
【０１２９】
［ステップＳ７５］ストレージ装置１００のアクセス制御部１２０は、データの書き込みが完了したことを示す応答を業務サーバ３００へ送信する。
図１７は、フェイルオーバが行われた場合の処理例を示すシーケンス図である。図１７では例として、フェイルオーバによってストレージ装置２００がスタンバイ状態からアクティブ状態に遷移する場合について説明する。
【０１３０】
［ステップＳ８１］ストレージ装置１００は、自装置の障害発生を検知すると、ストレージ装置２００に対してフェイルオーバを通知するとともに、アクティブ状態からスタンバイ状態に遷移する。なお、これ以外に例えば、管理サーバ４００がストレージ装置１００の障害発生を検知することで、ストレージ装置２００にフェイルオーバが通知されてもよい。
【０１３１】
［ステップＳ８２］ストレージ装置２００のＣＭ２０１は、フェイルオーバの通知に応じて、スタンバイ状態からアクティブ状態に遷移する。なお、これ以外に例えば、ストレージ装置２００は、ストレージ装置１００と定期的に通信し、ストレージ装置１００との通信が不能になったことを検知したときにアクティブ状態に遷移してもよい。
【０１３２】
［ステップＳ８３］ストレージ装置２００のコピー制御部２３０は、ローカルコピー管理テーブル２１２を参照し、コピービットマップを各ビットの値をチェックする。このコピービットマップは、フェイルオーバ前までストレージ装置１００側のコピービットマップと同期されていた情報である。
【０１３３】
［ステップＳ８４］コピー制御部２３０は、コピービットマップのビットが「１」の分割領域があるかを判定する。ビットが「１」の分割領域がある場合、ストレージ装置１００でローカルコピーを実行中にフェイルオーバが発生したと判断される。この場合、ステップＳ８５の処理が実行される。ビットが「１」の分割領域がない場合、フェイルオーバに伴う処理は終了する。
【０１３４】
［ステップＳ８５］コピー制御部２３０は、ローカルコピー管理テーブル２１２の登録内容に基づき、ステップＳ８８のループ端までの処理を、ビットが「１」の分割領域ごとに繰り返し実行する。
【０１３５】
［ステップＳ８６］コピー制御部２３０は、ＬＵＮ＃２の該当分割領域のデータをＬＵＮ＃３の同じ分割領域にローカルコピーする。
［ステップＳ８７］コピー制御部２３０は、該当分割領域についてのコピービットマップのビットを「０」に更新する。
【０１３６】
［ステップＳ８８］コピービットマップのビットが「１」であるすべての分割領域についての処理が終了すると、ローカルコピー処理が完了する。
以上の図１７の処理によれば、アクティブ状態に遷移したストレージ装置２００は、あらかじめ設定されていたローカルコピー管理テーブル２１２の登録情報に基づいて、管理者による設定操作を行うことなく、ＬＵＮ＃２からＬＵＮ＃３へのローカルコピーを実行できる。また、ストレージ装置２００は、フェイルオーバ前にストレージ装置１００側のコピービットマップと同期されていたコピービットマップを参照することで、ストレージ装置１００で実行されていたローカルコピー処理を、途中から正確に引き継ぐことができる。
【０１３７】
また、フェイルオーバが行われた時点で、ストレージ装置２００のローカルコピー管理テーブル２１２には、フェイルオーバ前までストレージ装置１００側のトラッキングビットマップと同期されていたトラッキングビットマップが記録されている。ストレージ装置２００は、フェイルオーバ後、業務サーバ３００からＬＵＮ＃２に対する書き込み要求を受信すると、図１４のステップＳ２２，Ｓ２９，Ｓ３０と同様の手順で、ＬＵＮ＃２に対するデータ更新とともにトラッキングビットマップの更新を行う。また、ストレージ装置１００から引き継いだローカルコピーの実行中に業務サーバ３００からのＬＵＮ＃２に対する書き込み要求を受信した場合、ストレージ装置２００は、図１６のステップＳ６２，Ｓ６９，Ｓ７０，Ｓ７４，Ｓ７５と同様の手順で処理を行う。これにより、ストレージ装置１００から引き継がれたトラッキングビットマップが更新される。
【０１３８】
そして、ＬＵＮ＃２のローカルコピーが業務サーバ３００からあらためて要求されると、ストレージ装置２００のコピー制御部２３０は、トラッキングビットマップの全ビットをコピービットマップにコピーする。コピー制御部２３０は、コピービットマップのビットが「１」の分割領域についてのみ、ＬＵＮ＃２からＬＵＮ＃３へデータをコピーする。これにより、フェイルオーバ後のストレージ装置２００においても、次のローカルコピーの実行時に差分コピーを正確に行うことが可能になる。
【０１３９】
図１８は、ストレージ装置が復旧した場合の処理例を示すシーケンス図である。図１８では例として、ストレージ装置１００が停止状態から復旧する場合について説明する。なお、以下の処理の実行前に、例えば、管理者による端末装置５００への操作入力に応じた管理サーバ４００からの処理によって、ストレージ装置１００ではグループ管理テーブル１１１、ローカルコピー管理テーブル１１２およびリモートコピー管理テーブル１１３が再設定される。
【０１４０】
［ステップＳ９１］ストレージ装置１００は、自装置の動作が復旧したことをストレージ装置２００に通知する。
［ステップＳ９２］ストレージ装置２００のコピー制御部２３０は、ＬＵＮ＃２のデータをストレージ装置１００に送信して、ＬＵＮ＃０（すなわち、ローカルコピー元の論理ボリューム）をリストアする。
【０１４１】
［ステップＳ９３］コピー制御部２３０は、ＬＵＮ＃３のデータをストレージ装置１００に送信して、ＬＵＮ＃１（すなわち、ローカルコピー先の論理ボリューム）をリストアする。
【０１４２】
［ステップＳ９４］コピー制御部２３０は、ローカルコピー管理テーブル２１２内のコピービットマップをストレージ装置１００に送信して、コピービットマップの更新を指示する。
【０１４３】
［ステップＳ９５］ストレージ装置１００のコピー制御部１３０は、受信したコピービットマップによって、ローカルコピー管理テーブル１１２内のコピービットマップを更新する。
【０１４４】
［ステップＳ９６］ストレージ装置２００のコピー制御部２３０は、ローカルコピー管理テーブル２１２内のトラッキングビットマップをストレージ装置１００に送信して、トラッキングビットマップの更新を指示する。
【０１４５】
［ステップＳ９７］ストレージ装置１００のコピー制御部１３０は、受信したトラッキングビットマップによって、ローカルコピー管理テーブル１１２内のトラッキングビットマップを更新する。
【０１４６】
なお、図１８では、ステップＳ９２〜Ｓ９４，Ｓ９６の処理に対するストレージ装置１００からの完了応答については省略している。また、ステップＳ９２，Ｓ９３の処理順、および、ステップＳ９４，Ｓ９６の処理順は、それぞれ逆にすることもできる。
【０１４７】
［第２の実施の形態の変形例］
次に、第２の実施の形態のストレージシステムの処理の一部を変形した変形例について説明する。
【０１４８】
様々な場合に、アクティブ状態のストレージ装置とスタンバイ状態のストレージ装置との接続が切断されることがある。例えば、スタンバイ状態のストレージ装置が故障などによって停止した場合が考えられる。あるいは、アクティブ状態のストレージ装置の停止によってフェイルオーバが行われ、スタンバイ状態のストレージ装置がアクティブ状態に遷移した場合が考えられる。さらに、ストレージ装置間の通信経路の異常によりアクティブ状態のストレージ装置とスタンバイ状態のストレージ装置との接続が切断される場合も考えられる。
【０１４９】
アクティブ状態のストレージ装置では、スタンバイ状態のストレージ装置との接続が切断された状態において、新たなローカルコピーペアが設定されてそのペア間でのローカルコピーが開始されることがある。このようなローカルコピーの開始後にスタンバイ状態のストレージ装置との接続が回復した場合、スタンバイ状態のストレージ装置には、新たなローカルコピーペアに関する情報が設定されていない。このため、その後にフェイルオーバが行われ、スタンバイ状態のストレージ装置がアクティブ状態に遷移した場合には、アクティブ状態に遷移したストレージ装置においてローカルコピーを引き継ぐことができない。引き継ぎを可能にするためには、アクティブ状態に遷移したストレージ装置に対するローカルコピーペアの設定操作が必要であり、そのためにストレージ装置の運用再開までに時間がかかってしまう。
【０１５０】
また、スタンバイ状態のストレージ装置の異常発生により、スタンバイ状態のストレージ装置に設定されていたローカルコピーペアに関する情報が消えてしまうこともあり得る。この場合にも、スタンバイ状態のストレージ装置の動作が再開し、その後にフェイルオーバによってスタンバイ状態のストレージ装置がアクティブ状態に遷移した場合には、アクティブ状態に遷移したストレージ装置においてローカルコピーを引き継ぐことができない。
【０１５１】
さらに、アクティブ状態のストレージ装置では、スタンバイ状態のストレージ装置との接続が切断された状態において、既存のローカルコピーペアの設定が削除される場合もある。ローカルコピーペアの設定の削除後に、スタンバイ状態のストレージ装置との接続が回復した場合、スタンバイ状態のストレージ装置には、削除されたローカルコピーペアに対応する情報が設定されたままになってしまう。
【０１５２】
そこで、以下の変形例では、スタンバイ状態のストレージ装置との接続が回復したときに、アクティブ状態のストレージ装置は、互いに設定された管理テーブルを照合し、その照合結果に基づいて管理テーブルの追加や削除を自動的に実行する。
【０１５３】
図１９は、ストレージ装置に設定される情報の例を示す図である。図１９では、図１１と同様の構成要素には同じ符号を付して示している。
ストレージ装置１００ａ，２００ａは、次の点で第２の実施の形態のストレージ装置１００，２００と相違する。ストレージ装置１００ａの記憶部１１０にはグループ管理テーブル１１１ａが記憶され、ストレージ装置２００ａの記憶部２１０には、グループ管理テーブル２１１ａが記憶される。グループ管理テーブル１１１ａ，２１１ａには、第２の実施の形態のグループ管理テーブル１１１，２１１に対してコピーステータスの項目が追加されている。
【０１５４】
コピーステータスの項目には、ＮＯＲＭＡＬまたはＨＡＬＴが登録される。ＮＯＲＭＡＬは、他方のストレージ装置と通信可能な状態であることを示す。そのため、ＮＯＲＭＡＬが登録されている場合は、ストレージ装置１００ａ，２００ａの間でリモートコピーが可能である。ＨＡＬＴは、他方のストレージ装置と通信できない状態であることを示す。例えば、ストレージ装置１００ａ，２００ａのいずれかが故障した場合や通信異常が発生した場合、コピーステータスの項目にＨＡＬＴが登録される。
【０１５５】
ストレージ装置１００ａ，２００ａは、アクティブ状態においてコピーステータスがＨＡＬＴである場合には、ローカルコピーの実行を継続するものの、リモートコピーの実行を停止する。そして、ストレージ装置１００ａ，２００ａは、コピーステータスがＮＯＲＭＡＬに変化すると、リモートコピーの実行を開始する。
【０１５６】
なお、ローカルコピー管理テーブルは、ローカルコピーペアごとに設定されるものとする。したがって、新たなローカルコピーペアが設定された場合、そのローカルコピーペアに対応するローカルコピー管理テーブルが新たに作成されて記憶される。また、リモートコピー管理テーブルも、対応するローカルコピーペアごとに設定されるものとする。したがって、１つのリモートコピー管理テーブルには、セッションＩＤ、コピー元ＬＵＮおよびコピー先ＬＵＮの登録情報が２組登録される。そして、新たなローカルコピーペアが設定された場合、そのローカルコピーペアの情報をリモートコピーするための新たなリモートコピー管理テーブルが作成されて記憶される。
【０１５７】
図２０は、他方のストレージ装置との接続が回復した場合の処理例を示すフローチャート図である。図２０では例として、ストレージ装置１００ａがアクティブ状態、ストレージ装置２００ａがスタンバイ状態であるものとして説明する。なお、図２０の処理前は、グループ管理テーブル１１１ａ，２１１ａのコピーステータスの項目にＨＡＬＴが登録されている。ＨＡＬＴの登録は、例えば、通信できないことを検知したコピー制御部１３０，２３０によって行われる。
【０１５８】
［ステップＳ１０１］コピー制御部１３０は、ストレージ装置２００ａと再接続したことを検知する。例えば、ストレージ装置２００ａが停止状態になっていた場合、コピー制御部１３０は、ストレージ装置２００ａから動作が復旧した旨の通知を受信することで、再接続を検知する。または、通信異常が発生している場合、コピー制御部１３０は、ストレージ装置２００ａに対してポーリングを実行し、通信異常から復旧したことを検知する。
【０１５９】
［ステップＳ１０２］コピー制御部１３０は、ストレージ装置２００ａに記憶されたすべてのローカルコピー管理テーブルを、ストレージ装置２００ａから取得する。
［ステップＳ１０３］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブルと対になるテーブルが、ストレージ装置２００ａにすべて存在するか否かを判定する。
【０１６０】
ローカルコピー管理テーブルと対になるテーブルとは、フェイルオーバによってストレージ装置２００ａがアクティブ状態に遷移した場合に、そのローカルコピー管理テーブルに基づくローカルコピーを引き継ぐことを可能にするローカルコピー管理テーブルである。これはすなわち、コピービットマップおよびトラッキングビットマップが同期されるローカルコピー管理テーブルである。図１９の例では、ローカルコピー管理テーブル１１２と対になるテーブルは、ローカルコピー管理テーブル２１２である。
【０１６１】
記憶部１１０に記憶されたローカルコピー管理テーブルと対になるテーブルのうち、少なくとも１つがストレージ装置２００ａに存在しない場合、処理をステップＳ１０４に進める。このケースは、ストレージ装置２００ａとの接続が切断されている間に、記憶部１１０に対して新たなローカルコピー管理テーブルおよびリモートコピー管理テーブルが設定され、このローカルコピー管理テーブルに基づくローカルコピーの実行が開始されたケースである。または、ストレージ装置２００ａとの接続が切断されている間に、記憶部１１０に記憶されたローカルコピー管理テーブルと対になるテーブルがストレージ装置２００ａから消えてしまった場合である。
【０１６２】
一方、記憶部１１０に記憶されたローカルコピー管理テーブルと対になるテーブルが、ストレージ装置２００ａにすべて存在する場合、処理をステップＳ１０７に進める。
［ステップＳ１０４］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブルの中から、対になるテーブルがストレージ装置２００ａに存在していないローカルコピー管理テーブルを特定する。コピー制御部１３０は、特定したローカルコピー管理テーブルと対になるローカルコピー管理テーブルを作成する。また、コピー制御部１３０は、記憶部１１０に記憶されたリモートコピー管理テーブルの中から、特定したローカルコピー管理テーブルに対応するリモートコピー管理テーブルを特定する。コピー制御部１３０は、特定したリモートコピー管理テーブルと対になるリモートコピー管理テーブルを作成する。
【０１６３】
特定したリモートコピー管理テーブルと対になるリモートコピー管理テーブルは、特定したリモートコピー管理テーブルとセッションＩＤが同じで、コピー元ＬＵＮとコピー先ＬＵＮとが逆になっているリモート管理テーブルとして作成される。なお、図１９の例では、ローカルコピー管理テーブル１１２に対応するリモートコピー管理テーブルは、リモートコピー管理テーブル１１３であり、リモートコピー管理テーブル１１３と対になるテーブルはリモートコピー管理テーブル２１３である。
【０１６４】
特定したローカルコピー管理テーブルと対になるローカルコピー管理テーブルに登録されるコピー元ＬＵＮとコピー先ＬＵＮは、特定したローカルコピー管理テーブルに登録されたコピー元ＬＵＮおよびコピー先ＬＵＮと、特定したリモートコピー管理テーブルに登録されたコピー元ＬＵＮおよびコピー先ＬＵＮとの関係に基づいて決定される。なお、作成されるローカルコピー管理テーブルのコピービットマップおよびトラッキングビットマップの欄には、この段階では値が登録されていなくてよい。
【０１６５】
コピー制御部１３０は、作成したローカルコピー管理テーブルとリモートコピー管理テーブルをストレージ装置２００ａに送信し、それらの登録を指示する。また、作成したローカルコピー管理テーブルに設定されたコピー元ＬＵＮとコピー先ＬＵＮは新たな論理ボリュームを示すので、コピー制御部１３０は、これらの新たな論理ボリュームの情報（サイズなど）をストレージ装置２００ａに送信して、論理ボリュームの設定を指示する。
【０１６６】
［ステップＳ１０５］コピー制御部１３０は、ストレージ装置２００ａに設定されたローカルコピー元の論理ボリュームをリストアする。具体的には、コピー制御部１３０は、ストレージ装置１００ａにおいてローカルコピー元として設定された論理ボリュームのデータをストレージ装置２００ａに送信して、ストレージ装置２００ａにおいてローカルコピー元として設定された論理ボリュームに記憶させる。
【０１６７】
［ステップＳ１０６］コピー制御部１３０は、ストレージ装置２００ａに設定されたローカルコピー先の論理ボリュームをリストアする。具体的には、コピー制御部１３０は、ストレージ装置１００ａにおいてローカルコピー先として設定された論理ボリュームのデータをストレージ装置２００ａに送信して、ストレージ装置２００ａにおいてローカルコピー先として設定された論理ボリュームに記憶させる。
【０１６８】
［ステップＳ１０７］コピー制御部１３０は、ストレージ装置２００ａに記憶されたローカルコピー管理テーブルの中に、対になるローカルコピー管理テーブルが記憶部１１０に存在しないテーブルがあるかを判定する。この条件に合致するテーブルが存在する場合、処理をステップＳ１０８に進める。このケースは、ストレージ装置２００ａとの接続が切断されている間に、記憶部１１０に設定されていた少なくとも１つのローカルコピー管理テーブルと、これに対応するリモートコピー管理テーブルとが削除されたケースである。一方、上記の条件に合致するテーブルが存在しない場合、処理をステップＳ１０９に進める。
【０１６９】
［ステップＳ１０８］コピー制御部１３０は、ストレージ装置２００ａに記憶されたローカルコピー管理テーブルのうち、対になるローカルコピー管理テーブルが記憶部１１０に存在しないテーブルを削除するよう、ストレージ装置２００ａに指示する。
【０１７０】
［ステップＳ１０９］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブル内のコピービットマップをストレージ装置２００ａに送信して、ストレージ装置２００ａに記憶された対応するローカルコピー管理テーブル内のコピービットマップの更新を指示する。
【０１７１】
［ステップＳ１１０］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブル内のトラッキングビットマップをストレージ装置２００ａに送信して、ストレージ装置２００ａに記憶された対応するローカルコピー管理テーブル内のトラッキングビットマップの更新を指示する。
【０１７２】
［ステップＳ１１１］コピー制御部１３０は、記憶部１１０に記憶されたグループ管理テーブル１１１ａのコピーステータスを、ＨＡＬＴからＮＯＲＭＡＬに更新する。このとき、ローカルコピー元やローカルコピー先の論理ボリュームの変更がある場合には、コピー制御部１３０は、その変更内容をグループ管理テーブル１１１ａのＬＵＮの項目に反映させる。
【０１７３】
また、コピー制御部１３０は、ストレージ装置２００ａに記憶されたグループ管理テーブル２１１ａのコピーステータスを、ＨＡＬＴからＮＯＲＭＡＬに更新するよう、ストレージ装置２００ａに指示する。このとき、ローカルコピー元やローカルコピー先の論理ボリュームの変更がある場合には、コピー制御部１３０は、その変更内容をグループ管理テーブル２１１ａのＬＵＮの項目に反映させるよう、ストレージ装置２００ａに指示する。
【０１７４】
このように、図２０の処理によれば、スタンバイ状態のストレージ装置との接続が回復したとき、アクティブ状態のストレージ装置の制御により、ストレージ装置間でローカルコピー管理テーブルおよびリモートコピー管理テーブルの整合がとられるようにテーブル設定が行われる。リモートコピー管理テーブルの整合がとられることで、接続の回復後に、管理者による設定操作を必要とせずに、リモートコピーを開始できる。また、ローカルコピー管理テーブルの整合がとられることで、その後にフェイルオーバが行われた場合に、管理者による設定操作を必要とせずに、アクティブ状態に遷移したストレージ装置がローカルコピーを引き継ぐことができる。
【０１７５】
図２１は、接続が回復した場合の処理の一例を示すシーケンス図である。図２１では例として、ストレージ装置１００ａがアクティブ状態のときに、ストレージ装置２００ａが停止して接続が切断され、接続が切断されている間にストレージ装置１００ａに新たなローカルコピーペアが設定された場合を想定する。
【０１７６】
［ステップＳ１２１］ストレージ装置２００ａは、自装置の動作が復旧したことをストレージ装置１００ａに通知する。
［ステップＳ１２２］ストレージ装置１００ａのコピー制御部１３０は、ローカルコピー管理テーブルおよびリモートコピー管理テーブルの送信をストレージ装置２００ａに要求する。
【０１７７】
［ステップＳ１２３］ストレージ装置２００ａのコピー制御部２３０は、記憶部２１０に記憶されたローカルコピー管理テーブルおよびリモートコピー管理テーブルをストレージ装置１００ａに送信する。
【０１７８】
［ステップＳ１２４］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブルと対になるテーブルの一部が、ストレージ装置２００ａに記憶されていないと判定する。
【０１７９】
［ステップＳ１２５］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブルの中から、対になるテーブルがストレージ装置２００ａに記憶されていないローカルコピー管理テーブルを特定する。コピー制御部１３０は、特定したローカルコピー管理テーブルと対になるローカルコピー管理テーブルを作成する。また、コピー制御部１３０は、記憶部１１０に記憶されたリモートコピー管理テーブルの中から、特定したローカルコピー管理テーブルに対応するリモートコピー管理テーブルを特定する。コピー制御部１３０は、特定したリモートコピー管理テーブルと対になるリモートコピー管理テーブルを作成する。コピー制御部１３０は、作成したローカルコピー管理テーブルおよびリモートコピー管理テーブルを、ストレージ装置２００ａに送信する。
【０１８０】
［ステップＳ１２６］コピー制御部２３０は、ローカルコピー管理テーブルおよびリモートコピー管理テーブルを受信して、記憶部２１０に設定する。
［ステップＳ１２７］コピー制御部１３０は、ストレージ装置２００ａに設定されたローカルコピー元の論理ボリュームをリストアする。
【０１８１】
［ステップＳ１２８］コピー制御部１３０は、ストレージ装置２００ａに設定されたローカルコピー先の論理ボリュームをリストアする。
［ステップＳ１２９］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブル内のコピービットマップをストレージ装置２００ａに送信して、コピービットマップの更新を指示する。
【０１８２】
［ステップＳ１３０］コピー制御部２３０は、受信したコピービットマップによって、記憶部２１０に記憶されたローカルコピー管理テーブル内のコピービットマップを更新する。
【０１８３】
［ステップＳ１３１］コピー制御部１３０は、記憶部１１０に記憶されたローカルコピー管理テーブル内のトラッキングビットマップをストレージ装置２００ａに送信して、トラッキングビットマップの更新を指示する。
【０１８４】
［ステップＳ１３２］コピー制御部２３０は、受信したトラッキングビットマップによって、記憶部２１０に記憶されたローカルコピー管理テーブル内のトラッキングビットマップを更新する。
【０１８５】
［ステップＳ１３３］コピー制御部１３０は、記憶部１１０に記憶されたグループ管理テーブル１１１ａのコピーステータスを、ＨＡＬＴからＮＯＲＭＡＬに更新する。
［ステップＳ１３４］コピー制御部１３０は、グループ管理テーブル２１１ａのコピーステータスをＨＡＬＴからＮＯＲＭＡＬに更新するよう、ストレージ装置２００ａに指示する。また、コピー制御部１３０は、グループ管理テーブル２１１ａのＬＵＮの項目に対する情報の追加を指示する。追加される情報とは、ステップＳ１２５で送信されたローカルコピー管理テーブルのコピー元ＬＵＮおよびコピー先ＬＵＮの各項目に登録されたＬＵＮである。
【０１８６】
［ステップＳ１３５］コピー制御部２３０は、ストレージ装置１００ａからの指示に応じてグループ管理テーブル２１１ａを更新する。
なお、ステップＳ１２７，Ｓ１２８の処理順、および、ステップＳ１２９，Ｓ１３１の処理順は、それぞれ逆にすることもできる。
【０１８７】
なお、上記の各実施の形態に示した装置（例えば、ストレージ装置１，２、ＣＭ１０１，２０１、業務サーバ３００、管理サーバ４００）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc−Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯなどがある。
【０１８８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１８９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【０１９０】
１，２  ストレージ装置
１１ａ，１１ｂ，２１ａ，２１ｂ  記憶領域
２２  記憶部
２２ａ  設定情報
２３  制御部
【図１】
0006569476.tif 000002
【図２】
0006569476.tif 000003
【図３】
0006569476.tif 000004
【図４】
0006569476.tif 000005
【図５】
0006569476.tif 000006
【図６】
0006569476.tif 000007
【図７】
0006569476.tif 000008
【図８】
0006569476.tif 000009
【図９】
0006569476.tif 000010
【図１０】
0006569476.tif 000011
【図１１】
0006569476.tif 000012
【図１２】
0006569476.tif 000013
【図１３】
0006569476.tif 000014
【図１４】
0006569476.tif 000015
【図１５】
0006569476.tif 000016
【図１６】
0006569476.tif 000017
【図１７】
0006569476.tif 000018
【図１８】
0006569476.tif 000019
【図１９】
0006569476.tif 000020
【図２０】
0006569476.tif 000021
【図２１】
0006569476.tif 000022