(57)【要約】  管理計算機と、第１のストレージ装置と、第２のストレージ装置とを含む計算機システムであって、第１のストレージ装置の第１の論理デバイスと、第２のストレージ装置の第２の論理デバイスがリモートコピーペアを構成し、前記第２のストレージ装置の前記第２の論理デバイスと第３の論理デバイスがコピーペアを構成し、前記第２の論理デバイスと前記第３の論理デバイスはＩ／Ｏ要求の発行元が認識する仮想ＩＤを有し、前記第２のストレージ装置は、前記Ｉ／Ｏ要求の発行元からの前記第３の論理デバイスへのＩ／Ｏ要求の処理中に、前記管理計算機から所定の指令を受け付けたことを契機に、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えることにより、前記Ｉ／Ｏ要求の発行元のアクセス先を第３の論理デバイスから第２の論理デバイスに切替える。
2018011882.tif 000002
【特許請求の範囲】
【請求項１】
管理計算機と、第１のストレージ装置と、第２のストレージ装置とを含む計算機システムであって、
前記第１のストレージ装置の第１の論理デバイスと、前記第２のストレージ装置の第２の論理デバイスがリモートコピーペアを構成し、
前記第２のストレージ装置の前記第２の論理デバイスと第３の論理デバイスがコピーペアを構成し、前記第２の論理デバイスと前記第３の論理デバイスはＩ／Ｏ要求の発行元が認識する仮想ＩＤを有し、
前記第２のストレージ装置は、前記Ｉ／Ｏ要求の発行元からの前記第３の論理デバイスへのＩ／Ｏ要求の処理中に、前記管理計算機から所定の指令を受け付けたことを契機に、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えることにより、前記Ｉ／Ｏ要求の発行元のアクセス先を第３の論理デバイスから第２の論理デバイスに切替えることを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記第２のストレージ装置は、
前記仮想ＩＤの入れ替えを行っている間は、前記Ｉ／Ｏ要求をキューイングすることを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記第２のストレージ装置は、
前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替える前に、前記第３の論理デバイスから第２の論理デバイスへ差分データをリストアすることを特徴とする計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記第２のストレージ装置は、
前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えた後に、前記第２の論理デバイスから前記第１の論理デバイスへリモートコピーペアを実施することを特徴とする計算機システム。
【請求項５】
請求項２に記載の計算機システムであって、
前記第２のストレージ装置は、
前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えた後に、前記Ｉ／Ｏ要求のキューイングを終了することを特徴とする計算機システム。
【請求項６】
管理計算機と、第１のストレージ装置と、第２のストレージ装置とを含む計算機システムで前記第１及び第２のストレージ装置を制御するストレージ装置の制御方法であって、
前記管理計算機が、前記第１のストレージ装置の第１の論理デバイスと、前記第２のストレージ装置の第２の論理デバイスがリモートコピーペアを設定する第１のステップと、
前記第２のストレージ装置が、前記第２の論理デバイスと第３の論理デバイスにコピーペアを設定し、前記第２の論理デバイスと前記第３の論理デバイスにはＩ／Ｏ要求の発行元が認識する仮想ＩＤを設定する第２のステップと、
前記第２のストレージ装置が、前記Ｉ／Ｏ要求の発行元からの前記第３の論理デバイスへのＩ／Ｏ要求の処理中に、前記管理計算機から所定の指令を受け付けたことを契機に、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えることにより、前記Ｉ／Ｏ要求の発行元のアクセス先を第３の論理デバイスから第２の論理デバイスに切替える第３のステップと、
を含むことを特徴とするストレージ装置の制御方法。
【請求項７】
請求項６に記載のストレージ装置の制御方法であって、
前記第３のステップは、
前記第２のストレージ装置が、前記仮想ＩＤの入れ替えを行っている間は、前記Ｉ／Ｏ要求をキューイングすることを特徴とするストレージ装置の制御方法。
【請求項８】
請求項６に記載のストレージ装置の制御方法であって、
前記第３のステップは、
前記第２のストレージ装置が、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替える前に、前記第３の論理デバイスから第２の論理デバイスへ差分データをリストアすることを特徴とするストレージ装置の制御方法。
【請求項９】
請求項６に記載のストレージ装置の制御方法であって、
前記第３のステップは、
前記第２のストレージ装置が、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えた後に、前記第２の論理デバイスから前記第１の論理デバイスへリモートコピーペアを実施することを特徴とするストレージ装置の制御方法。
【請求項１０】
請求項７に記載のストレージ装置の制御方法であって、
前記第３のステップは、
前記第２のストレージ装置が、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えた後に、前記Ｉ／Ｏ要求のキューイングを終了することを特徴とするストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム及びストレージ装置の制御方法に関する。
【背景技術】
【０００２】
仮想化技術の進展により、複数の仮想マシンを１つの物理ホスト計算機上で稼動させることができ、システム障害発生時には仮想マシンが実行している処理を遠隔地のホスト計算機上の別の仮想マシンに引継いでフェイルオーバすることが可能となった。【０００３】
仮想マシンのイメージや利用データなどの仮想マシン情報は、ストレージ装置の論理デバイスに格納することができる。このような構成の場合、仮想マシンのフェイルオーバ実行に伴い、仮想マシン情報が格納された正サイトのストレージ装置の論理デバイスから遠隔地等の副サイトのストレージ装置の論理デバイスにフェイルオーバすることで論理デバイスの正副を入れ替える。そのため、仮想マシンと関連付ける論理デバイスの単位が重要となる。【０００４】
特許文献１では、ストレージ装置の一つの論理デバイスをホスト計算機上で複数の仮想ボリュームに区分けし、仮想マシンが用いるデータを仮想ボリューム毎に収める方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−７９２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
仮想マシンに対して論理デバイスを割当てる方式として、Ｃｏｎｇｌｏｍｅｒａｔｅ  ＬＵＮ  Ｓｔｒｕｃｔｕｒｅが提案されている。この方式では、ストレージ装置の複数の論理デバイスを複数の論理グループ（ＬＵＮ  Ｃｏｎｇｌｏｍｅｒａｔｅ）に纏め、論理グループ内でゲートウェイの役割を果たす代表的な論理デバイス（ＡＬＵ：Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｌｏｇｉｃａｌ Ｕｎｉｔ）に論理パスを設定し、ホスト計算機側からの入出力（Ｉ／Ｏ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）コマンドは、論理グループ内のＡＬＵ以外の論理デバイス（ＳＬＵ：Ｓｕｂｓｉｄｉａｒｙ Ｌｏｇｉｃａｌ Ｕｎｉｔ）の識別子を指定して発行し、ストレージ装置は、受信コマンドに指定されたＳＬＵへＩ／Ｏ処理を分配する。これにより、ホスト計算機上の一つの仮想サーバに対して、一つまたは複数のＳＬＵを割当てることにより、仮想サーバ単位にストレージ装置の論理デバイスを設定することができ、ＳＬＵ単位でフェイルオーバが可能である。【０００７】
フェイルオーバには、実際の障害発生等を契機として自動的に行われる正式フェイルオーバと、フェイルオーバの検証等を目的として計画的に実行されるテストフェールオーバがある。【０００８】
テストフェールオーバでは、本番稼働中の業務やリモートコピー構成に影響を与えないよう、リモートコピー先の論理デバイスから取得したスナップショットを用いることがある。さらに、所定の時点のスナップショットデータを利用するため、テストフェールオーバ実行中の仮想マシンで本番の業務を継続する場合がある。例えば、副サイトの仮想マシンがスナップショットを利用してテストフェールオーバを実施中に、正サイトの仮想マシンで障害が発生した場合である。【０００９】
このとき、テストフェールオーバ実行中の仮想マシンが接続していた副サイトのスナップショットは、最新データとして扱われることとなる。さらに、最新データとして扱うこととなったスナップショットは、正サイトの論理デバイスとリモートコピー構成が組まれていない為、リモートコピー構成を維持するために、フェイルオーバ先の副サイトのスナップショットから正サイトの論理デバイスへ、逆方向のリモートコピーを再開することが要求される。【００１０】
正サイトから副サイトへリモートコピーを行っていた論理デバイスのペアに対して、副サイトから正サイトへ逆方向に論理デバイスのデータを同期する従来技術がある。しかし、副サイトのスナップショットと、正サイトの論理デバイスとの間にはリモートコピーペアが構成されておらず、新たにリモートコピーペアを構成する必要がある。【００１１】
新たにリモートコピーペアを構成する場合、副サイトから正サイトへボリューム全領域のデータをコピーする必要があり、リモートコピーの再構成に時間を要するという課題が発生する。【００１２】
本発明の目的は、リモートコピーペアを構成しない副サイトのスナップショットから正サイトの論理デバイスへの逆方向のリモートコピーを、全領域コピーを発生させず高速に行うことである。
【課題を解決するための手段】
【００１３】
本発明は、管理計算機と、第１のストレージ装置と、第２のストレージ装置とを含む計算機システムであって、前記第１のストレージ装置の第１の論理デバイスと、前記第２のストレージ装置の第２の論理デバイスがリモートコピーペアを構成し、前記第２のストレージ装置の前記第２の論理デバイスと第３の論理デバイスがコピーペアを構成し、前記第２の論理デバイスと前記第３の論理デバイスはＩ／Ｏ要求の発行元が認識する仮想ＩＤを有し、前記第２のストレージ装置は、前記Ｉ／Ｏ要求の発行元からの前記第３の論理デバイスへのＩ／Ｏ要求の処理中に、前記管理計算機から所定の指令を受け付けたことを契機に、前記第３の論理デバイスと第２の論理デバイスの仮想ＩＤを入れ替えることにより、前記Ｉ／Ｏ要求の発行元のアクセス先を第３の論理デバイスから第２の論理デバイスに切替える。
【発明の効果】
【００１４】
本発明によれば、リモートコピー先ボリューム（第２の論理デバイス）のスナップショット（第３の論理デバイス）をコピー元とした、逆方向のリモートコピーの再開を高速化することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施例及び第２の実施例を示し、計算機システムの物理的な構成の一例を示すブロック図である。
【図２】本発明の第１の実施例を示し、計算機システムの論理的な構成の一例を示すブロック図である。
【図３】本発明の第１の実施例を示し、テストフェールオーバ実行時のＩ／Ｏの処理の一例を示す図である。
【図４】本発明の第１の実施例を示し、リモートコピー再構成時のＩ／Ｏの処理の一例を示す図である。
【図５】本発明の第１の実施例及び第２の実施例を示し、ストレージ装置の記憶領域の階層構造の一例を示す図である。
【図６】本発明の第１の実施例を示し、ストレージ装置内のプログラム及びテーブルの一例を示す図である。
【図７】本発明の第１の実施例を示し、ＳＬＵ管理テーブルの一例を示す図である。
【図８】本発明の第１の実施例を示し、ＬＤＥＶ管理テーブルの一例を示す図である。
【図９】本発明の第１の実施例及び第２の実施例を示し、スナップショットペア管理テーブルの一例を示す図である。
【図１０】本発明の第１の実施例及び第２の実施例を示し、リモートコピーペア管理テーブルの一例を示す図である。
【図１１】本発明の第１の実施例を示し、Ｉ／Ｏ要求処理プログラムのフローチャートの一例を示す。
【図１２】本発明の第１の実施例を示し、リモートコピー再開準備プログラムのフローチャートの一例を示す。
【図１３】本発明の第１の実施例を示し、リモートコピー再開プログラムのフローチャートの一例を示す。
【図１４】本発明の第２の実施例を示し、計算機システムの論理的な構成の一例を示すブロック図である。
【図１５】本発明の第２の実施例を示し、リモートコピー再構成時のＩ／Ｏの処理の一例を示す図である。
【図１６】本発明の第２の実施例を示し、仮想ＬＤＥＶ管理テーブルの一例を示す図である。
【図１７】本発明の第２の実施例を示し、仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブルの一例を示す図である。
【図１８】本発明の第２の実施例を示し、リモートコピー再開準備プログラムのフローチャートの一例を示す。
【図１９】本発明の第１の実施例を示し、テストフェールオーバからリモートコピー再開までの処理の一例を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、図を用いて、本発明の一実施例を説明する。以下の図中、同一の部分には同一の符号を付加する。ただし、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
【００１７】
なお、以下の説明では、「ｘｘｘテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていても良い。データ構造に依存しないことを示すために「ｘｘｘテーブル」を「ｘｘｘ情報」と呼ぶことができる。
【００１８】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって実行されることで、定められた処理を適宜に記憶資源（例えばメモリ）及び通信インターフェース装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされても良い。プロセッサは、ＣＰＵの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１９】
また、各要素は、ＩＤ、番号などで識別可能であるが、識別可能な情報であれば、名前など他種の識別情報が用いられても良い。
【実施例１】
【００２０】
本発明の第一の実施例について、図１〜図１３を用いて説明する。図１は、第一の実施例及び第二の実施例における、計算機システムの物理的な構成を示すブロック図である。【００２１】
この計算機システムは、例えば、一つまたは複数のホスト計算機１１０、一つまたは複数の第一のストレージ装置１２０、一つまたは複数の第二のストレージ装置１３０、及び一つまたは複数の管理計算機１４０を含んで構成される。【００２２】
ホスト計算機１１０と第一のストレージ装置１２０と第二のストレージ装置１３０とは、例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１５０を介して通信線１５１、１５２、１５３で接続される。【００２３】
ホスト計算機１１０と第一のストレージ装置１２０と第二のストレージ装置１３０と管理計算機１４０は、例えば、管理ネットワーク１６０を介して、通信線１６１、１６２、１６３、１６４で接続される。【００２４】
第一のストレージ装置１２０と第二のストレージ装置１３０は、例えば、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１７０を介して、通信線１７２、１７３で接続される。【００２５】
なお、上述の通信線１５１、１５２、１５３、１６１、１６２、１６３、１６４、１７２、１７３は、例えば、メタルケーブルや光ファイバケーブル等の有線として構成されるが、無線で接続しても良い。この場合は、これらの通信線は省略される。また、これら通信線は１つに限らず複数でもよい。【００２６】
また、ＳＡＮ１５０と管理ネットワーク１６０とＷＡＮ１７０が、共通のネットワークであっても良い。これらは通信ネットワークであり、例えば、ＳＡＮ、ＷＡＮ、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で構成することができる。【００２７】
ホスト計算機１１０は、例えば、ＣＰＵ１１１、メモリ１１２、記憶装置１１３、入力装置１１４、出力装置１１５、ホストバスアダプタ（ＨＢＡ：Ｈｏｓｔ Ｂｕｓ Ａｄａｐｔｅｒ）１１６、及びインターフェース制御部１１７を含んで構成されたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。【００２８】
ＣＰＵ１１１は、ホスト計算機１１０全体の制御を司るプロセッサであり、記憶装置１１３に格納された各種プログラムをメモリ１１２に読み出して実行する。【００２９】
メモリ１１２は、ホスト計算機１１０の起動時にＣＰＵ１１１により記憶装置１１３から読み出された各種プログラムを記憶するために用いられるほか、ＣＰＵ１１１のワークメモリとしても用いられる。【００３０】
記憶装置１１３は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）またはＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）から構成され、各種プログラムや制御データを記憶保持するために用いられる。【００３１】
入力装置１１４は、例えば、キーボードスイッチやポインティングデバイス、マイクロフォン等から構成される。出力装置１１５は、例えば、液晶ディスプレイなどから構成される。【００３２】
ホストバスアダプタ１１６は、ストレージ装置１２０、１３０との通信時におけるプロトコル制御を行う。ＨＢＡ１１６が、プロトコル制御機能を実行することで、ホスト計算機１１０とストレージ装置１２０、１３０との間や、第一のストレージ装置１２０と第二のストレージ装置１３０との間において、データやコマンドの送受信が行われる。【００３３】
インターフェース制御部１１７は、ホスト計算機１１０を管理ネットワーク１６０に接続するためのアダプタである。【００３４】
仮想化プログラム１１８は、ホスト計算機１１０のＣＰＵ１１１、メモリ１１２、記憶装置１１３、入力装置１１４、出力装置１１５、ＨＢＡ１１６、インターフェース制御部１１７のリソースを仮想化し、仮想マシンの単位に割当てて管理するためのプログラムであり、ＣＰＵ１１１により、記憶装置１１３からメモリ１１２に読み出されて実行される。【００３５】
第一のストレージ装置１２０、と第二のストレージ装置１３０は、本実施例では同様の構成を取るため、第二のストレージ装置１３０の説明は省略する。【００３６】
第一のストレージ装置１２０は、複数の記憶装置１２１と、記憶装置１２１に対するデータの入出力を制御するコントロール部１２２から構成される。【００３７】
記憶装置１２１は、例えば、ＨＤＤ又はＳＳＤから構成されるＳＣＳＩディスク等の高価なディスクや、ＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ）ディスクや光ディスク等の安価なディスクなどから構成される。複数の記憶装置１２１により１つのＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）グループが構成され、一つまたは複数のＲＡＩＤグループが提供する物理的な記憶領域上に、一つまたは複数の論理ユニットが設定される。そして、ホスト計算機１１０からのデータは、この論理ユニット内に所定の大きさのブロックを単位として格納される。【００３８】
コントロール部１２２は、ＣＰＵ１２３、主メモリ１２４、不揮発性メモリ１２５、キャッシュメモリ１２６、複数のホスト側ポート１２７、複数の記憶装置側ポート１２８及びインターフェース制御部１２９を含んで構成される。【００３９】
ＣＰＵ１２３は、第一のストレージ装置１２０全体の制御を司るプロセッサであり、記憶装置１２１に格納された各種プログラムを主メモリ１２４に読み出して実行する。【００４０】
主メモリ１２４は、第一のストレージ装置１２０の起動時にＣＰＵ１２３により不揮発性メモリ１２５から読み出された各種プログラムを記憶するために用いられるほか、ＣＰＵ１２３のワークメモリとしても用いられる。【００４１】
不揮発性メモリ１２５は、各種プログラムや制御データを記憶保持するために用いられる。キャッシュメモリ１２６は、主として、ホスト計算機１１０と記憶装置１２１との間で授受されるデータを一時的に格納するキューなどの記憶領域として用いられる。【００４２】
ホスト側ポート１２７は、第一のストレージ装置１２０をＳＡＮ１５０やＷＡＮ１７０に接続するためのアダプタである。記憶装置側ポート１２８は、コントロール部１２２を記憶装置１２１に接続するためのアダプタである。インターフェース制御部１２９は、第一のストレージ装置１２０を管理ネットワーク１６０に接続するためのアダプタである。【００４３】
管理計算機１４０は、ホスト計算機１１０、第一のストレージ装置１２０、及び第二のストレージ装置１３０を管理するためのコンピュータ装置であり、例えば、ＣＰＵ１４１、メモリ１４２、記憶装置１４３、入力装置１４４、出力装置１４５、及びインターフェース制御部１４７を含んで構成される。【００４４】
ＣＰＵ１４１は、管理計算機１４０全体の制御を司るプロセッサであり、記憶装置１４３に格納された各種プログラムをメモリ１４２に読み出して実行する。メモリ１４２は、管理計算機１４０の起動時にＣＰＵ１４１により記憶装置１４３から読み出された各種プログラムを記憶するために用いられるほか、ＣＰＵ１４１のワークメモリとしても用いられる。【００４５】
記憶装置１４３は、例えば、ＨＤＤまたはＳＳＤから構成され、各種プログラムや制御データを記憶保持するために用いられる。入力装置１４４は、例えば、キーボードスイッチやポインティングデバイス、マイクロフォン等から構成される。出力装置１４５は、例えば、液晶ディスプレイなどから構成される。【００４６】
インターフェース制御部１４７は、管理計算機１４０を管理ネットワーク１６０に接続するためのアダプタである。ストレージ管理プログラム１４８は、管理ネットワーク１６０を介して、第一のストレージ装置１２０、第二のストレージ装置１３０のコントロール部１２２、１３２へ論理デバイスの操作要求を送信することができる。ストレージ管理プログラム１４８は、ＣＰＵ１４１により、記憶装置１４３からメモリ１４２に読み出されて実行される。【００４７】
図２は、第一の実施例における、計算機システムの論理的な構成を示すブロック図である。本実施例中のストレージ装置は、第一のストレージ装置１２０、または第二のストレージ装置１３０の何れかに限定されるものではないため、ストレージ装置１２０、１３０と記載する。【００４８】
仮想マシン２１０は、仮想化プログラム１１８により仮想化され、ホスト計算機１１０の計算機リソースの一部を割当てられた仮想的な計算機である。【００４９】
仮想ボリューム（ＶＶＯＬ：Ｖｉｒｔｕａｌ  ＶＯＬｕｍｅ）２１２は、仮想化プログラム１１８により仮想マシン２１０へ提供される論理デバイスであり、ストレージ装置１２０、１３０のＳＬＵ２１７（後述）をホスト計算機１１０が論理デバイスを認識する単位である。【００５０】
仮想化プログラム１１８は、仮想マシン２１０からＶＶＯＬ２１２へのＩ／Ｏ要求（ＲｅａｄやＷｒｉｔｅ等）を読み替えて、ストレージ装置１２０、１３０へＩ／Ｏコマンドを発行する。ＶＶＯＬ２１２とＳＬＵ２１７は、後述するＬＵ２１４、ＡＬＵ２１５を介して対応付けられている。【００５１】
論理ユニット（ＬＵ：Ｌｏｇｉｃａｌ  Ｕｎｉｔ）２１４は、記憶装置１２１が提供する記憶領域を、論理的な単位に分割または集約した単位である。【００５２】
ＡＬＵ２１５は、ストレージ装置１２０、１３０の論理デバイスのうち、ホスト計算機１１０から代表として認識される論理デバイスである。ＡＬＵ２１５は、ストレージ装置１３０のＳＬＵ２１７と対応付けて管理される。【００５３】
ＳＬＵ２１７は、ストレージ装置１２０、１３０の論理デバイスを仮想化して、ホストが認識するＩＤであるＳＬＵ  ＩＤで管理される論理デバイスであり、ＡＬＵ２１５と対応付けられて管理されている。ホスト計算機１１０からストレージ装置１２０、１３０へのＩ／Ｏコマンドは、ＳＬＵ２１７の識別子を指定して発行する。【００５４】
図３は、第一の実施例における、テストフェールオーバ実行中のＩ／Ｏ処理の一例を示す概略図である。【００５５】
尚、図中で「−Ａ」と「−Ｂ」を付与したものは、図２で「−Ａ」と「−Ｂ」を付与せずに説明したものと同様であるが、説明のため、区別して記載する。【００５６】
Ｉ／Ｏ経路３１０は、仮想マシン２１０−Ａから発行されたＩ／Ｏ要求を処理する例を示している。第一のホスト計算機１１０−Ａの仮想マシン２１０−Ａから、ＶＶＯＬ２１２−Ａに対して発行されたＩ／Ｏ要求は、ＳＡＮ１５０を経由して第一のストレージ装置１２０に伝送される。【００５７】
このとき、第一のホスト計算機１１０−ＡのＶＶＯＬ２１２−Ａに対応付けられたＬＵ１（２１４−Ａ）が定義されている第一のストレージ装置１２０は、このＩ／Ｏ要求を受信し、ＬＵ１（２１４−Ａ）に対応付けられたＡＬＵ１（２１５−Ａ）と関連付けられ、さらに、ＶＶＯＬ２１２−Ａと関連付けられたＳＬＵであるＳＬＵ１（３２０）に対してＩ／Ｏ処理を行う。【００５８】
このＳＬＵ１（３２０）の属性は、リモートコピーの正ボリューム（ＲＣ  ＰＶＯＬ：Ｒｅｍｏｔｅ  Ｃｏｐｙ  Ｐｒｉｍａｒｙ  Ｖｏｌｕｍｅ）である。【００５９】
リモートコピー経路３１１は、第一のストレージ装置１２０のＳＬＵ１（３２０）のデータを、第二のストレージ装置１３０のＳＬＵ２（３２１）に複製するリモートコピーの例を示している。【００６０】
第二のストレージ装置１３０のＳＬＵ２（３２１）の属性は、リモートコピーの副ボリューム（ＲＣ  ＳＶＯＬ：Ｒｅｍｏｔｅ  Ｃｏｐｙ  Ｓｅｃｏｎｄａｒｙ  Ｖｏｌｕｍｅ）である。【００６１】
第一のストレージ装置１２０のＳＬＵ１（３２０）の更新内容は、第一のストレージ装置１２０から、第二のストレージ装置１３０に転送され、第二のストレージ装置１３０のＳＬＵ２（３２１）に反映される。【００６２】
スナップショット作成経路３１２は、第二のストレージ装置１３０のＳＬＵ２（３２１）のデータを、第二のストレージ装置１３０内の別のＳＬＵであるスナップショットＶＯＬ（ＳＳ  ＶＯＬ：Ｓｎａｐｓｈｏｔ  Ｖｏｌｕｍｅ）３２２へ複製する例を示している。【００６３】
第二のストレージ装置１３０のＳＬＵ２（３２１）のデータは、一定時間毎などの予め設定されたタイミングで、ＳＳ  ＶＯＬ３２２に複製される。このとき、複製の度に異なるスナップショットＶＯＬを指定することが可能である。【００６４】
ここで、本番稼動している仮想マシン２１０−ＡからＳＬＵ１（３２０）に至るＩ／Ｏ経路３１０とリモートコピー経路３１１の処理を停止させることなく、ＳＳ  ＶＯＬ３２２のデータを用いて、仮想マシン２１０−Ａのテストフェールオーバを行う場合がある。【００６５】
この方法を実施する構成例として、フェイルオーバ先に第二のホスト計算機１１０−Ｂの仮想マシン２１０−Ｂを指定し、第二のストレージ装置１３０のＳＳ  ＶＯＬ３２２をＶＶＯＬ２１２−Ｂと対応付け、仮想マシン２１０−Ｂへ提供する構成で説明する。【００６６】
Ｉ／Ｏ経路３１３は、第二のホスト計算機１１０−Ｂが管理計算機１４０から、テストフェールオーバの開始を指示する「テストフェールオーバ実行コマンド」を受信したことを契機として発生するＩ／Ｏの経路であり、仮想マシン２１０−Ｂから発行されたＩ／Ｏ要求を処理する例を示している。【００６７】
第二のホスト計算機１１０−Ｂの仮想マシン２１０−Ｂから、ＶＶＯＬ２１２−Ｂに対して発行されたＩ／Ｏ要求は、ＳＡＮ１５０を経由して第二のストレージ装置１３０に伝送される。【００６８】
このとき、第二のホスト計算機１１０−ＢのＶＶＯＬ２１２−Ｂと対応付けられたＬＵ２（２１４−Ｂ）が定義されている第二のストレージ装置１３０は、このＩ／Ｏ要求を受領し、ＬＵ２（２１４−Ｂ）に対応付けられたＡＬＵ２（２１５−Ｂ）と関連付けられ、さらに、ＶＶＯＬ２１２−Ｂと関連付けられたＳＬＵであるＳＳ  ＶＯＬ３２２に対してＩ／Ｏ処理を行う。【００６９】
図４は、第一の実施例における、リモートコピー方向の切替え時のＩ／Ｏ処理の概略図である。【００７０】
図３で例を挙げたテストフェールオーバの実施中に、Ｉ／Ｏ経路３１０に代わって、Ｉ／Ｏ経路３１３を正として運用したい場合がある。例えば、第一のホスト計算機１１０−Ａで障害が発生した場合などである。このとき、リモートコピー経路３１１に代わって、第二のストレージ装置１３０から第一のストレージ装置１２０へのリモートコピーによる冗長化が必要となる。【００７１】
第二のストレージ装置１３０が管理計算機１４０からの指示により、Ｉ／Ｏの経路とリモートコピー経路が変更される処理について説明する。Ｉ／Ｏ経路４１０、及びＩ／Ｏ経路４１１を合わせた経路は、図３のＩ／Ｏ経路３１３と同一の経路を示している。【００７２】
スナップショットのリストア経路４１２は、第二のストレージ装置１３０が管理計算機１４０から、正式フェイルオーバ状態への遷移を指示する「リモートコピー再開準備コマンド」を受領したことを契機に実行される処理であり、第二のストレージ装置１３０のＳＬＵ２（３２１）から作成したＳＳ  ＶＯＬ３２２のデータを、再びＳＬＵ２（３２１）にコピーする処理を示している。【００７３】
ここで、例えば仮想マシン２１０−Ｂから発行されたＩ／Ｏ要求によって、ＳＳ  ＶＯＬ３２２に更新された領域がある場合には、更新が発生している領域のみをＳＬＵ２（３２１）へコピーすることで、コピー時間を短縮することが可能となる。【００７４】
Ｉ／Ｏ経路４１３は、仮想マシン２１０−ＢからのＩ／Ｏ要求を処理するＳＬＵを、ＳＳ  ＶＯＬ３２２からＳＬＵ２（３２１）に変更する時の処理を示している。Ｉ／Ｏ経路４１１からＩ／Ｏ経路４１３への変更は、ＳＬＵ２（３２１）のＩＤを２０００から３０００へ変更し、ＳＳ  ＶＯＬ３２２のＩＤを３０００から２０００へ変更することで行われる（詳細は、図１２で後述）。【００７５】
リモートコピー経路４１４は、第二のストレージ装置１３０が管理計算機１４０から、逆方向のリモートコピー再開を指示する「リモートコピー再構成コマンド」を受領したことを契機に設定するデータのコピー経路であり、スナップショットのリストア後のＳＬＵ２（３２１）のデータを、第一のストレージ装置１２０のＳＬＵ１（３２０）にコピーするリモートコピーの処理の例を示している。【００７６】
このリモートコピーの再開は、ＳＬＵ２（３２１）の属性をＲＣ  ＳＶＯＬからＲＣ  ＰＶＯＬへ変更し、ＳＬＵ１（３２０）の属性をＲＣ  ＰＶＯＬからＲＣ  ＳＶＯＬへ変更した後に行われる（詳細は、図１３で後述）。【００７７】
ボリュームの属性変更後、ＳＬＵ２（３２１）の更新内容は、第二のストレージ装置１３０から、第一のストレージ装置１２０へ転送され、ＳＬＵ１（３２０）に反映される。【００７８】
図５は、第一の実施例及び第二の実施例における、第一のストレージ装置１２０、及び第二のストレージ装置１３０の記憶領域の階層構造を示す説明図である。以下、第一のストレージ装置１２０の説明を行うが、第二のストレージ装置１３０も同様の階層構造であるため説明を省略する。【００７９】
第一のストレージ装置１２０は、記憶装置１２１が提供する記憶領域を論理ユニット（ＬＵ）５３０としてホスト計算機１１０に提供する。【００８０】
この場合、記憶装置１２１と論理ユニット５３０の間には、記憶装置１２１と論理ユニット５３０を対応付けるための複数の中間記憶階層が設けられる。この中間記憶階層には、例えば、ＲＡＩＤグループ５１０及び論理デバイス（ＬＤＥＶ：Ｌｏｇｉｃａｌ  ＤＥＶｉｃｅ）５２０を含めることができる。【００８１】
ＲＡＩＤグループ５１０は、下位記憶階層である記憶装置１２１と、上位記憶階層である論理デバイス５２０とを接続する中間記憶階層であり、ＲＡＩＤグループを構成する各記憶装置１２１が提供する記憶領域上に定義される。【００８２】
論理デバイス５２０は、下位記憶階層であるＲＡＩＤグループ５１０と、上位記憶階層である論理ユニット５３０とを接続する中間記憶階層であり、一つまたは複数のＲＡＩＤグループ５１０の記憶領域の全部、または、一部を集合してなる記憶領域、または、ＲＡＩＤグループ５１０の記憶領域の一部を抜き出して構成される記憶領域である。【００８３】
論理デバイス５２０は、ＡＬＵ２１５やＳＬＵ２１７の属性を有することができる。【００８４】
図６は、第一の実施例における、ストレージ装置１２０、１３０の不揮発性メモリ１２５、１３５内のプログラム及びテーブル構成を示す説明図である。【００８５】
第一のストレージ装置１２０と第二のストレージ装置１３０は、同様の構成であるため、第二のストレージ装置１３０の説明は省略する。【００８６】
図６において、不揮発性メモリ１２５には、ＳＬＵ管理テーブル６０１、ＬＤＥＶ管理テーブル６０２、スナップショットペア管理テーブル６０３、リモートコピーペア管理テーブル６０４、Ｉ／Ｏ要求処理プログラム６１１、リモートコピー再開準備プログラム６１２、リモートコピー再開プログラム６１３が格納される。各テーブル６０１〜６０４、及び、各プログラム６１１〜６１３は、不揮発性メモリ１２５から主メモリ１２４に転送され、ＣＰＵ１２３により実行される。なお、各テーブルは６０１〜６０４は、予め管理計算機１４０が設定する。【００８７】
また、第一のストレージ装置１２０と第二のストレージ装置１３０は、所定のタイミングで通信を行ってリモートコピーペア管理テーブル６０４を更新させる。例えば、第一のストレージ装置１２０がリモートコピーペア管理テーブル６０４を更新すると、第二のストレージ装置１３０に更新内容を通知する。あるいは、管理計算機１４０が所定のタイミングでリモートコピーペア管理テーブル６０４を更新させてもよい。【００８８】
ＳＬＵ管理テーブル６０１は、例えば、第一のストレージ装置１２０のＣＰＵ１２３が、自ストレージ装置の各ポートについて、ポートに対応するＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）と、ＡＬＵ  ＩＤと、ＳＬＵ  ＩＤと、Ｉ／Ｏキューイングフラグを記憶するためのテーブルである。このテーブルの詳細は、図７で説明する。【００８９】
ＬＤＥＶ管理テーブル６０２は、例えば、第一のストレージ装置１２０のＣＰＵ１２３が、自ストレージ装置に定義されるＳＬＵ毎に、ＬＤＥＶ  ＩＤと、ＬＤＥＶ開始アドレスと、ＬＤＥＶ終了アドレスを記憶するためのテーブルである。このテーブルの詳細は、図８で説明する。【００９０】
スナップショットペア管理テーブル６０３は、例えば、第一のストレージ装置１２０のＣＰＵ１２３が、自ストレージ装置に定義されるスナップショットペア毎に、スナップショット作成元のＬＤＥＶ  ＩＤと、スナップショットボリュームのＬＤＥＶ  ＩＤと、ペア状態を記憶するためのテーブルである。このテーブルの詳細は、図９で説明する。【００９１】
リモートコピーペア管理テーブル６０４は、例えば、第一のストレージ装置１２０のＣＰＵ１２３が、自ストレージ装置に定義されるリモートコピーペア毎に、ＬＤＥＶ  ＩＤと、ボリューム属性と、リモートコピーペアを組む相手のＬＤＥＶ  ＩＤと、リモートコピーペアを組む相手のストレージ装置ＩＤを記憶するためのテーブルである。このテーブルの詳細は、図１０で説明する。【００９２】
Ｉ／Ｏ要求処理プログラム６１１は、第一のストレージ装置１２０のＣＰＵ１２３が、ホスト計算機１１０から受信したデータの入出力処理などを要求するコマンド（Ｒｅａｄコマンド、Ｗｒｉｔｅコマンド等）を処理するためのプログラムである。このプログラムの詳細は、図１１で説明する。【００９３】
リモートコピー再開準備プログラム６１２は、第一のストレージ装置１２０のＣＰＵ１２３が、管理計算機１４０から受信した、スナップショットボリュームに対するリモートコピー再開準備を要求するコマンドを処理するためのプログラムである。このプログラムの詳細は、図１２で説明する。【００９４】
リモートコピー再開プログラム６１３は、第一のストレージ装置１２０のＣＰＵ１２３が、自ストレージ装置のＳＬＵのデータを、異なるストレージ装置内のＳＬＵへコピーするためのプログラムである。このプログラムの詳細は、図１３で説明する。【００９５】
以下、本発明の第二のストレージ装置１３０の不揮発性メモリ１４６に記憶されている各テーブルについて、図７〜図１０を参照しながら説明する。【００９６】
図７は、第一の実施例における、ＳＬＵ管理テーブル６０１の一例を示す図である。【００９７】
ＳＬＵ管理テーブル６０１は、例えば、ポートＩＤ列７０１と、ＬＵＮ列７０２と、ＡＬＵ  ＩＤ列７０３と、ＳＬＵ  ＩＤ列７０４と、Ｉ／Ｏキューイングフラグ列７０５と、を対応付けて管理する。【００９８】
ポートＩＤ列７０１には、自ストレージ装置に定義されているポート１２８、１３８の識別情報が格納される。ＬＵＮ列７０２には、ＬＵ２１４の識別情報であるＬＵＮが格納される。【００９９】
ＡＬＵ  ＩＤ列７０３には、ＡＬＵ２１５の識別情報が格納される。ＳＬＵ  ＩＤ列７０４には、当該ＡＬＵ毎に定義されるＳＬＵ２１７の識別情報（仮想ＩＤ）が格納される。【０１００】
Ｉ／Ｏキューイングフラグ列７０５には、当該ＳＬＵに対するＩ／Ｏをキューから取り出すことの要否を示す情報が格納される。キューイングフラグがＯＮであれば、キューから取り出さずキューイングを継続し、キューイングフラグがＯＦＦであれば、キューから取り出すことが可能であることを示す。なお、キューは、キャッシュメモリ１２６、１３６の所定の領域に予め設定される。【０１０１】
例えば、行７１１には、ＳＬＵ  ＩＤ「１０００」は、ＡＬＵ  ＩＤ「０００」、ＬＵＮ「００」、ポートＩＤ「００」と紐付けられており、当該ＳＬＵのＩ／Ｏキューイングフラグが「ＯＦＦ」であることを示す。【０１０２】
図８は、第一の実施例における、ＬＤＥＶ管理テーブル６０２の一例を示す図である。【０１０３】
ＬＤＥＶ管理テーブル６０２は、例えば、ＳＬＵ  ＩＤ列８０１と、ＬＤＥＶ  ＩＤ列８０２と、ＬＤＥＶ開始アドレス列８０３列と、ＬＤＥＶ終了アドレス列８０４と、を対応付けて管理する。【０１０４】
ＳＬＵ  ＩＤ列８０１には、自ストレージ装置に定義されているＳＬＵの識別情報（仮想ＩＤ）が格納される。ＬＤＥＶ  ＩＤ列８０２には、当該ＳＬＵに紐づくＬＤＥＶの識別情報が格納される。【０１０５】
ＬＤＥＶ開始アドレス列８０３には、当該ＳＬＵに紐づくＬＤＥＶの領域の開始アドレス情報が格納される。ＬＤＥＶ終了アドレス列８０４には、当該ＳＬＵに紐づくＬＤＥＶの領域の終了アドレス情報が格納される。【０１０６】
例えば、行８１１には、ＳＬＵ  ＩＤ「２０００」に紐づくＬＤＥＶ  ＩＤは、「２２２２」であり、当該ＬＤＥＶ領域の開始アドレスは「０２００００」、終了アドレスは「０２０９９９」であることを示す。【０１０７】
図９は、第一の実施例及び第二の実施例における、スナップショットペア管理テーブル６０３の一例を示す図である。【０１０８】
スナップショットペア管理テーブル６０３は、例えば、ペアＩＤ列９０１と、スナップショット作成元ＬＤＥＶ  ＩＤ列９０２と、スナップショットボリュームＬＤＥＶ  ＩＤ列９０３と、ペア状態列９０４を対応付けて管理する。【０１０９】
ペアＩＤ列９０１には、自ストレージ装置に定義されているスナップショットペアの識別情報が格納されている。スナップショット作成元ＬＤＥＶ  ＩＤ列９０２には、当該スナップショットペアのスナップショット作成元となっているボリュームのＬＤＥＶの識別情報が格納される。【０１１０】
スナップショットボリュームＬＤＥＶ  ＩＤ列９０３には、当該スナップショット元ＬＤＥＶとペア関係が構築されている、スナップショットボリュームのＬＤＥＶの識別情報が格納される。ペア状態列９０４には、当該スナップショットペアのコピーペア状態の情報（ＰＡＩＲ（二重化）、Ｓｕｓｐｅｎｄ（分割）など）が格納されている。【０１１１】
例えば、行９１１は、スナップショットペアＩＤ「１−１」のスナップショット作成元ＬＤＥＶ  ＩＤは「２２２２」、スナップショットボリュームのＬＤＥＶ  ＩＤは「３３３３」であり、ペア状態は「Ｓｕｓｐｅｎｄ（分割）」であることを示す。【０１１２】
図示の異例では、図３の第二のストレージ装置１３０のＳＬＵ２（ＬＤＥＶ  ＩＤ９０２＝２２２２）と、ＳＳ  ＶＯＬ３２２（ＬＤＥＶ  ＩＤ９０２＝３３３３）がコピーペアの関係であることを示す。なお、コピーペアは、異なる論理デバイス間で複製の関係を定義したものである。【０１１３】
図１０は、第一の実施例及び第二の実施例における、リモートコピーペア管理テーブル６０４の一例を示す図である。【０１１４】
リモートコピーペア管理テーブル６０４は、例えば、ペアＩＤ列１００１と、ＬＤＥＶ  ＩＤ列１００２と、ペア属性列１００３と、ペア相手ＬＤＥＶ  ＩＤ列１００４と、ペア相手ストレージ装置ＩＤ列１００５と、を対応付けて管理する。【０１１５】
ペアＩＤ列１００１には、自ストレージ装置に定義されているリモートコピーペアの識別情報が格納される。ＬＤＥＶ  ＩＤ列１００２には、当該リモートコピーペアの自ストレージ装置側のＬＤＥＶの識別情報が格納される。【０１１６】
ペア属性列１００３には、当該ＬＤＥＶのリモートコピーペア属性（ＰＶＯＬまたはＳＶＯＬ）の情報が格納される。ペア相手ＬＤＥＶ  ＩＤ列１００４には、当該ＬＤＥＶのリモートコピー相手のＬＤＥＶの識別情報が格納される。【０１１７】
ペア相手ストレージ装置ＩＤ列１００５には、当該ＬＤＥＶのリモートコピー相手のストレージ装置の識別情報が格納される。【０１１８】
例えば、行１０１１には、リモートコピーペアＩＤ「１」の自ストレージ装置側のＬＤＥＶ  ＩＤは「２２２２」で、そのＬＤＥＶのペア属性が「ＳＶＯＬ」であり、当該ＬＤＥＶのリモートコピー相手のＬＤＥＶ  ＩＤは「１１１１」であり、リモートコピー相手のストレージ装置ＩＤは「ＳＴ０１」であることを示す。【０１１９】
なお、リモートコピーペアは、異なるストレージ装置（第一のストレージ装置１２０及び第二のストレージ装置１３０）間で論理デバイスの複製の関係を定義したものである。【０１２０】
以下、図１１〜図１３を用いて、本実施例１で行われる種々の処理を詳細に説明する。各フローチャートは、本発明の理解及び実施に必要な範囲で、各処理の概要を示すが、処理の順序は、図示の順序に限定されなくて良い。【０１２１】
図１１は、第一の実施例における、Ｉ／Ｏ要求処理プログラム６１１で行われる処理を示すフローチャートである。【０１２２】
この処理は、第一のストレージ装置１２０、及び、第二のストレージ装置１３０がホスト計算機１１０から書込み要求を受領した契機で開始される。【０１２３】
以下、第一のストレージ装置１２０が書込み要求を受領した例を用いて説明する。ステップＳ１１０１では、Ｉ／Ｏ要求処理プログラム６１１が、ホスト計算機１１０から発行され、キューに格納されたＳＣＳＩコマンドを解析し、Ｉ／Ｏ先として指定されているポートＩＤ、ＬＵＮ、ＡＬＵ  ＩＤ、ＳＬＵ  ＩＤを取得する。【０１２４】
ステップＳ１１０２では、Ｉ／Ｏ要求処理プログラム６１１が、ＳＬＵ管理テーブル６０１の「ＳＬＵ  ＩＤ」列７０４からステップＳ１１０１で取得したＳＬＵ  ＩＤを検索し、対応する「Ｉ／Ｏキューイングフラグ」列７０５の値を取得する。【０１２５】
ステップＳ１１０３では、Ｉ／Ｏ要求処理プログラム６１１が、ステップＳ１１０２で取得した「Ｉ／Ｏキューイングフラグ」列７０５の値がＯＮ（Ｓ１１０３：ＹＥＳ）の場合は処理を終了し、ＯＦＦ（Ｓ１１０３：ＹＥＳ）の場合はステップＳ１１０４に遷移する。【０１２６】
ステップＳ１１０４では、ステップＳ１１０３の判定がＮＯの場合、Ｉ／Ｏ要求処理プログラム６１１は、キューイングされたホスト計算機１１０からの要求を取得して、ＳＬＵ１（３２０）への書込み処理を行う。【０１２７】
ＳＬＵ１（３２０）から、第二のストレージ装置１３０のＳＬＵ２（３２１）へのリモートコピーが非同期リモートコピーである場合、Ｉ／Ｏ要求処理プログラム６１１は、ＳＬＵ１（３２０）への書込み処理が完了した後、更新データをジャーナルとしてジャーナルボリュームへ書き込み、ステップＳ１１０５に遷移する。【０１２８】
ステップＳ１１０５への遷移後も、第一のストレージ装置１２０のジャーナルボリュームに書き込まれたジャーナルは、ＷＡＮ１７０を経由して、第二のストレージ装置１３０のジャーナルボリュームに非同期でコピーされ、コピーされたジャーナルはＳＬＵ２（３２１）に反映される。【０１２９】
ＳＬＵ１（３２０）から、第二のストレージ装置１３０のＳＬＵ２（３２１）へのリモートコピーが同期リモートコピーである場合は、ＳＬＵ１（３２０）への書込み処理が完了した後、Ｉ／Ｏ要求処理プログラム６１１は、更新データをＳＬＵ１（３２０）からＳＬＵ２（３２１）へ転送し、転送した更新データがＳＬＵ２（３２１）へ反映されたことを示す応答を受信した後に、ステップＳ１１０５に遷移する。【０１３０】
ステップＳ１１０５では、Ｉ／Ｏ要求処理プログラム６１１が、キューから取り出したホスト計算機１１０の要求であるＳＣＳＩコマンドに対して、書込み処理が完了したことを示す応答を行う。【０１３１】
ステップＳ１１０６では、Ｉ／Ｏ要求処理プログラム６１１が、第一のストレージ装置１２０でホスト計算機１１０からの要求がキューイングされている状態であれば（Ｓ１１０６：ＹＥＳ）、ステップＳ１１０４に遷移して上記処理を繰り返し、キューイングされていなければ処理を終了する。【０１３２】
本実施例では、ＳＬＵ管理テーブル６０１の「Ｉ／Ｏキューイングフラグ」列７０５の値（ＯＮ／ＯＦＦ）によって、Ｉ／Ｏ要求を受領したときに格納されるキューからの取り出しを制御する例を示したが、「Ｉ／Ｏキューイングフラグ」列７０５の値がＯＮの場合にＩ／Ｏ要求を格納する別のキューを使用しても良いし、その他のキュー管理方法であっても良い。【０１３３】
図１２は、第一の実施例における、リモートコピー再開準備プログラム６１２で行われる処理を示すフローチャートである。【０１３４】
本実施例１では、この処理は、第二のストレージ装置１３０が、管理計算機１４０から、ＳＳ  ＶＯＬ３２２に対する「リモートコピー再開準備コマンド」を受領したことを契機に処理を行う。【０１３５】
ステップＳ１２０１では、リモートコピー再開準備プログラム６１２が、管理計算機１４０からリモートコピー再開準備コマンドを受領する。【０１３６】
ステップＳ１２０２では、リモートコピー再開準備プログラム６１２が、管理計算機１４０から受領したリモートコピー再開準備コマンドから、スナップショットＶＯＬであるＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤを取得する。【０１３７】
ステップＳ１２０３では、リモートコピー再開準備プログラム６１２が、ＬＤＥＶ管理テーブル６０２の「ＳＬＵ  ＩＤ」列８０１に対し、Ｓ１２０２で取得したＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤの検索を行い、検索結果に対応する「ＬＤＥＶ  ＩＤ」列８０２の値を取得する。【０１３８】
ステップＳ１２０４では、リモートコピー再開準備プログラム６１２が、スナップショットペア管理テーブル６０３の「スナップショットＶＯＬ  ＬＤＥＶ  ＩＤ」列９０３に対し、Ｓ１２０３で取得したＳＳ  ＶＯＬ３２２のＬＤＥＶ  ＩＤの検索を行い、検索結果に対応する「スナップショット作成元ＬＤＥＶ  ＩＤ」列９０２の値を、ＳＬＵ２（３２１）のＬＤＥＶ  ＩＤとして取得する。【０１３９】
また、リモートコピー再開準備プログラム６１２は、ＬＤＥＶ管理テーブル６０２の「ＬＤＥＶ  ＩＤ」列８０２に対し、上記で取得したＳＬＵ２（３２１）のＬＤＥＶ  ＩＤの検索を行い、検索結果に対応する「ＳＬＵ  ＩＤ」列８０１の値を取得する。この値は、ステップＳ１２０９で使用する。【０１４０】
ステップＳ１２０５では、リモートコピー再開準備プログラム６１２が、リモートコピーペア管理テーブル６０４の「ＬＤＥＶ  ＩＤ」列１００２に対し、ステップＳ１２０４で取得したＳＬＵ２（３２１）のＬＤＥＶ  ＩＤの検索を行い、当該行が存在すること（＝ＳＬＵ２（３２１）がリモートコピーペアを構成済であること）を検証する。なお、ＳＬＵ２（３２１）がリモートコピーペアを構成していない場合には処理を終了する。【０１４１】
ステップＳ１２０６では、リモートコピー再開準備プログラム６１２が、ＳＬＵ管理テーブル６０１の「ＳＬＵ  ＩＤ」列７０４から、ステップＳ１２０２で特定したＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤを検索し、検索結果に対応する「Ｉ／Ｏキューイングフラグ」列７０５の値をＯＮに変更する。【０１４２】
ステップＳ１２０７では、リモートコピー再開準備プログラム６１２が、ステップＳ１２０２で特定したＳＳ  ＶＯＬ３２２から、ステップＳ１２０４で特定したＳＬＵ２（３２１）へのスナップショットリストア処理をキックし、ステップＳ１２０８に遷移する。キックされたことを契機に、バックグラウンドで行われるスナップショットリストア処理では、ＳＳ  ＶＯＬ３２２とＳＬＵ２（３２１）との差分データのみがコピーされる。【０１４３】
ステップＳ１２０８では、リモートコピー再開準備プログラム６１２が、ＬＤＥＶ管理テーブル６０２の「ＳＬＵ  ＩＤ」列８０１について、値がＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤであるものはＳＬＵ２（３２１）のＳＬＵ  ＩＤに更新し、値がＳＬＵ２（３２１）のＳＬＵ  ＩＤであるものはＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤに更新することで、値の入れ替えを行う。【０１４４】
このＳＬＵ  ＩＤ列８０１の変更により、図４に示した仮想マシン２１０−ＢのＩ／Ｏ要求はＩ／Ｏ経路４１１からＩ／Ｏ経路４１３へ変更されてＳＬＵ２（３２１）に伝送される。【０１４５】
ステップＳ１２０９では、リモートコピー再開準備プログラム６１２が、ＳＬＵ管理テーブル６０１の「ＳＬＵ  ＩＤ」列７０４から、ステップＳ１２０２で特定したＳＳ  ＶＯＬ３２２のＳＬＵ  ＩＤ（ＳＬＵ  ＩＤ入れ替え後は、ＳＬＵ２（３２１）のＳＬＵ  ＩＤ）を検索し、検索結果に対応する「Ｉ／Ｏキューイングフラグ」列７０５の値をＯＦＦに変更する。【０１４６】
ステップＳ１２１０では、リモートコピー再開準備プログラム６１２が、管理計算機１４０に対し、リモートコピー再開準備コマンドの処理が完了したことを示す応答を通知して処理を終了する。【０１４７】
上記処理によって、第二のストレージ装置１３０では、リモートコピー再開準備プログラム６１２が、仮想マシン２１０−ＢがアクセスしているＳＳ  ＶＯＬ３２２のＩ／Ｏキューイングフラグ列７０５の値をＯＮに変更し、Ｉ／Ｏ要求の発行を停止してから、ＳＳ  ＶＯＬ３２２とＳＬＵ２（３２１）のＳＬＵ  ＩＤを入れ替えることで、Ｉ／Ｏ経路４１１からＩ／Ｏ経路４１３に切り替える。【０１４８】
そして、リモートコピー再開準備プログラム６１２は、キューイングの開始後にスナップショットリストア処理をキックしてバックグラウンドで実行させる。これによりＳＳ  ＶＯＬ３２２からＳＬＵ２（３２１）へ差分データのみがコピーされて、スナップショットリストア処理が実施される。【０１４９】
その後、リモートコピー再開準備プログラム６１２が、ＳＬＵ２（３２１）のＩ／Ｏキューイングフラグ列７０５の値をＯＦＦに変更することで、仮想マシン２１０−Ｂが発行したＩ／Ｏ要求をＳＬＵ２（３２１）に伝送する。これにより、仮想マシン２１０−Ｂが読み書きする論理ボリュームは、ＳＳ  ＶＯＬ３２２からＳＬＵ２（３２１）に切り替えられる。なお、スナップショットリストア処理はキューイングの終了後にも継続される場合がある。【０１５０】
図１３は、第一の実施例における、リモートコピー再開プログラム６１３で行われる処理を示すフローチャートである。【０１５１】
本実施例１では、この処理は、第二のストレージ装置１３０のリモートコピー再開プログラム６１３が、管理計算機１４０から「リモートコピー再開（逆方向）コマンド」を受領したことを契機に処理を行う。【０１５２】
ステップＳ１３０１では、リモートコピー再開プログラム６１３が、管理計算機１４０からリモートコピー再開（逆方向）コマンドを受領する。【０１５３】
ステップＳ１３０２では、リモートコピー再開プログラム６１３が、管理計算機１４０から受領したリモートコピー再開（逆方向）コマンドから、ＲＣ  ＳＶＯＬであるＳＬＵ２（３２１）のＳＬＵ  ＩＤを取得する。【０１５４】
ここで、ステップＳ１３０１で、リモートコピー再開プログラム６１３が管理計算機１４０から受領したリモートコピー再開（逆方向）コマンドに含まれるＳＬＵ  ＩＤと、図１２のステップＳ１２０１で、リモートコピー再開準備プログラム６１２が管理計算機１４０から受領したリモートコピー再開準備コマンドに含まれるＳＬＵ  ＩＤは、同一の値である。しかし、図１２のステップＳ１２０７でＳＬＵ２（３２１）とＳＳ  ＶＯＬ（３２２）のＩＤが交換されているため、このＳＬＵ  ＩＤが示すＳＬＵは、ＳＳ  ＶＯＬ３２２からＳＬＵ２（３２１）に変更となった値である。【０１５５】
ステップＳ１３０３では、リモートコピー再開プログラム６１３が、ＬＤＥＶ管理テーブル６０２の「ＳＬＵ  ＩＤ列」８０１に対し、ステップＳ１３０２で取得したＳＬＵ２（３２１）のＳＬＵ  ＩＤの検索を行い、検索結果に対応する「ＬＤＥＶ  ＩＤ」列８０２の値を取得する。【０１５６】
ステップＳ１３０４で、リモートコピー再開プログラム６１３は、第二のストレージ装置１３０が保有するリモートコピーペア管理テーブル６０４の「ＬＤＥＶ  ＩＤ」列１００２から、Ｓ１３０３で取得したＳＬＵ２（３２１）に対応するＬＤＥＶ  ＩＤを検索し、検索結果に対応する「ペア属性」列１００３の値をＳＶＯＬからＰＶＯＬに変更する。【０１５７】
また、リモートコピー再開プログラム６１３は、第一のストレージ装置１２０に対して、リモートコピーペア管理テーブル６０４のうち、同じペアＩＤを有する行の「ペア属性」列１００３の値をＰＶＯＬからＳＶＯＬに変更するよう指示を行う。【０１５８】
ステップＳ１３０５では、リモートコピー再開プログラム６１３が、ＳＬＵ２（３２１）からＳＬＵ１（３２０）へ差分コピーを実施する。具体的には、ＳＬＵ１（３２０）からＳＬＵ２（３２１）へのリモートコピーが分割された後で、ＳＬＵ２（３２１）に更新が発生した領域のデータのみをＳＬＵ２（３２１）からＳＬＵ１（３２０）へコピーする処理を行う。【０１５９】
ステップＳ１３０６では、リモートコピー再開プログラム６１３が、管理計算機１４０に対し、リモートコピーの再開完了を示す応答を通知して処理を終了する。尚、本ステップの処理は、所定のタイミングでもよく、例えば、Ｓ１３０４の終了後、Ｓ１３０５の開始前に行っても良い。【０１６０】
以上の処理によって、第一のストレージ装置１２０と第二のストレージ装置１３０のコピーペアの関係は逆転し、第二のストレージ装置１３０のＳＬＵ２（３２１）から第一のストレージ装置１２０のＳＬＵ１（３２０）へリモートコピーが行われる。【０１６１】
図１９は、テストフェールオーバからリモートコピー再開までに計算機システム全体で行われる処理の一例を示すシーケンス図である。【０１６２】
第一のホスト計算機１１０−Ａでは、仮想マシン２１０−Ａが正サイト（現用系）で稼働しており、仮想マシン２１０−Ａが第一のストレージ装置１２０へ書き込みを行うと（Ｓ１）、ＳＬＵ１（３２０）に書き込まれたデータはリモートコピーペアである第二のストレージ装置１３０のＳＬＵ２（３２１）にリモートコピーされる（Ｓ２）。【０１６３】
次に、管理計算機１４０の管理プログラム１４８が第二のホスト計算機１１０−Ｂの仮想マシン２１０−Ｂにテストフェールオーバの指示を送信する（Ｓ３）。副サイト（待機系）で稼働する仮想マシン２１０−Ｂは、第二のストレージ装置１３０にＳＬＵ２のスナップショットボリューム（ＳＳ  ＶＯＬ３２２）を生成させ（Ｓ４）、ＳＳ  ＶＯＬ３２２を利用してフェイルオーバのテストを実施する（Ｓ５）。なお、第二のストレージ装置１３０は、ＳＳ  ＶＯＬ３２２を生成すると当該論理デバイスの仮想ＩＤ（ＳＬＵ  ＩＤ）を設定して、Ｉ／Ｏ要求を発行する仮想マシン２１０−Ｂに当該仮想ＩＤを認識させる。【０１６４】
仮想マシン２１０−Ｂで、テストフェールオーバの実行中に正サイトの仮想マシン２１０−Ａで障害が発生する（Ｓ６）。管理計算機１４０は、仮想マシン２１０−Ａで障害が発生したことを検出すると、副サイトの仮想マシン２１０−Ｂにテストフェールオーバから正式なフェイルオーバに切り替える指令を送信する（Ｓ７）。そして、管理計算機１４０は、待機系を構成する第二のストレージ装置１３０に、リモートコピーの再開準備コマンドを送信する（Ｓ８）。【０１６５】
第二のストレージ装置１３０は、ＳＳ  ＶＯＬ３２２のキューイングを開始してＳＳ  ＶＯＬ３２２が更新されるのを抑止してから（Ｓ９）、第二のストレージ装置１３０は、ＳＳ  ＶＯＬ３２２とＳＬＵ２（３２１）のＳＬＵ  ＩＤを入れ替えて、仮想マシン２１０−ＢがアクセスするＳＬＵをコピーペアのＳ−ＶＯＬのＳＬＵ２（３２１）に切り替える（Ｓ１０）。また、スナップショットのリストア処理をバックグランドで実行し（Ｓ１１）し、ＳＳ  ＶＯＬ３２２とＳＬＵ２（３２１）との差分データをＳＬＵ２（３２１）にコピーする。【０１６６】
次に、第二のストレージ装置１３０は、キューイングを終了して仮想マシン２１０−ＢのＳＬＵ２（３２１）へのアクセスを許可する（Ｓ１２）。第二のストレージ装置１３０は、リモートコピーの再開準備が完了したことを管理計算機１４０へ通知する（Ｓ１３）。なお、上述のようにキューイングが終了した後にもスナップショットリストア処理が継続する場合がある。【０１６７】
管理計算機１４０の管理プログラム１４８は、リモートコピーの再開準備が完了したことを受信すると、第二のストレージ装置１３０にリモートコピーの再開コマンドを送信する（Ｓ１４）。【０１６８】
第二のストレージ装置１３０のリモートコピーの再開プログラム６１３は、リモートコピーペア管理テーブル６０４でＳＬＵ２（３２２）のペア属性列１００３をＳＶＯＬからＰＶＯＬに変更する（Ｓ１５）。次に、リモートコピーの再開プログラム６１３は、第一のストレージ装置１２０に対して、ＳＬＵ２（３２２）のコピーペアとなっているＳＬＵ１（３２０）のペア属性をＰＶＯＬからＳＶＯＬへ変更するよう指令する（Ｓ１６）。【０１６９】
そして、リモートコピーの再開プログラム６１３は、ＳＬＵ２（３２２）とＳＬＵ１（３２０）の差分をＳＬＵ１（３２０）へコピーする（Ｓ１７）。差分コピーが完了すると、リモートコピーの再開プログラム６１３は、管理計算機１４０へリモートコピーの再開が完了したことを管理計算機１４０に通知する（Ｓ１８）。以降、第二のストレージ装置１３０は、仮想マシン２１０−Ｂからの書き込みを受け付けると、ＳＬＵ２（３２２）に書き込んだデータをＳＬＵ１（３２０）へリモートコピーを行う。【０１７０】
以上のように、本実施例１では、テストフェールオーバ中に障害が発生した場合には、待機系の仮想マシン２１０−Ｂが使用していたスナップショット（ＳＳ  ＶＯＬ）へのＩ／Ｏ要求を第二のストレージ装置１３０が停止してから、リモートコピーのＳＶＯＬとなっているＳＬＵ２（３２２）へスナップショットとの差分を書き込んでから、ＳＬＵ２とスナップショットのＩＤを入れ替えて、仮想マシン２１０−Ｂが書き込むボリュームの経路を切り替える。【０１７１】
次に、第二のストレージ装置１３０は、仮想マシン２１０−ＢからＳＬＵ２へのＩ／Ｏ要求を許可してから、第二のストレージ装置１３０のＳＬＵ２とコピーペアの関係にある第一のストレージ装置１２０のＳＬＵ１（３２０）のＰＶＯＬとＳＶＯＬの関係を切り替えてから、差分コピーを行ってＳＬＵ１をリストアする。【０１７２】
本実施例１では、前記従来例のようにテストフェールオーバで使用していたＳＳ  ＶＯＬから第一のストレージ装置１２０のＰＶＯＬへ全コピーを行う必要がなくなって、差分コピーとＳＬＵ  ＩＤの切り替えと、リモートコピー方向の切り替えを行えば良いので、フェイルオーバに要する時間を短縮することが可能となる。換言すれば、リモートコピーペアを構成しない副サイトのスナップショットから正サイトの論理デバイスへの逆方向のリモートコピーを、全領域コピーを行うことなく高速に実現することができる。
【実施例２】
【０１７３】
本発明の第二の実施例について、図１４〜図１８を用いて説明する。【０１７４】
図１４は、第二の実施例における、計算機システムの論理的な構成の一例を示すブロック図である。物理構成は、前記図１の第一の実施例と同様である。本実施例２中のホスト計算機１１０、ＨＢＡ１１６、ポート１２７、ストレージ装置１２０、１３０、ＳＡＮ１５０、仮想マシン２１０、ＬＵ２１４は、前記実施例１の図１、図２と同様であるため、説明を省略する。【０１７５】
仮想論理デバイス１４１０は、ストレージ装置１２０、１３０のＬＵ２１４をホスト計算機１１０が認識する単位である。実施例２では、同一のホスト計算機１１０内の複数の仮想マシン２１０が、仮想論理デバイス１４１０を共有することができる。【０１７６】
仮想マシン２１０から仮想論理デバイス１４１０へのＩ／Ｏ要求（ＲｅａｄやＷｒｉｔｅ等）は、ストレージ装置１２０、１３０へのＩ／Ｏコマンドとして発行される。【０１７７】
第一のストレージ装置１２０及び第二のストレージ装置１３０のＬＤＥＶ１４２０は、ストレージ装置１２０、１３０の論理デバイスである。ＬＤＥＶ１４２０は、ホスト計算機１１０が認識するＬＤＥＶ  ＩＤ、或いは、仮想的なＩＤである仮想ＬＤＥＶ  ＩＤにより管理されるが、本実施例２では、仮想ＬＤＥＶ  ＩＤで管理する例を示す。ＬＤＥＶ１４２０は、ＬＵ２１４と、後述する（仮想ＬＤＥＶ管理テーブル１６００）により対応付けて管理される。【０１７８】
図１５は、第二の実施例における、リモートコピー方向切替え時のＩ／Ｏ処理で行われる処理の概念図である。第一の実施例における、リモートコピー方向切替え時のＩ／Ｏ処理の概略図である図４との差異を中心に説明する。【０１７９】
第二のホスト計算機１１０−Ｂの仮想マシン２１０−Ｂから、仮想論理デバイス１４２０−Ｂに対して発行されたＩ／Ｏ要求は、ＳＡＮ１５０を経由して第二のストレージ装置１３０に伝送される。【０１８０】
このとき、仮想論理デバイス１４２０−Ｂと対応付けられたＳＳ  ＶＯＬ１５２２を有する第二のストレージ装置１３０は、このＩ／Ｏ要求を受領し、ＳＳ  ＶＯＬ１５２２に対してＩ／Ｏ処理を行っている。【０１８１】
第二のストレージ装置１３０は、管理計算機１４０からの指示により、Ｉ／Ｏ経路１５１２からＩ／Ｏ経路１５１３へＩ／Ｏ経路の変更を行う。具体的には、ＬＤＥＶ２（１５２１）のＩＤを２０００から３０００へ変更し、ＳＳ  ＶＯＬ１５２２のＩＤを３０００から２０００へ変更した後で行われる（詳細は、図１８で後述）。【０１８２】
スナップショットのリストア経路１５１４、及び、リモートコピー経路１５１５の処理と実行契機は、図４のスナップショットのリストア経路４１２、及び、リモートコピー経路４１４と同様である。図４の説明のＳＬＵ１（３２０）、ＳＬＵ２（３２１）を、ＬＤＥＶ１（１５２０）、ＬＤＥＶ２（１５２１）に読み替えることで説明できるため、記載を省略する。【０１８３】
図１６は、第二の実施例における、仮想ＬＤＥＶ管理テーブル１６００の一例を示す図である。【０１８４】
仮想ＬＤＥＶ管理テーブル１６００は、例えば、ポートＩＤ列１６０１と、ＬＵＮ列１６０２と、仮想ＬＤＥＶ  ＩＤ列１６０３と、Ｉ／Ｏキューイングフラグ列１６０４と、を対応付けて管理する。【０１８５】
仮想ＬＤＥＶ  ＩＤ列１６０３には、自ストレージ装置に定義されているＬＤＥＶに対し、仮想的に付与したＬＤＥＶの識別情報（仮想ＩＤ）が格納される。【０１８６】
その他、ポートＩＤ列１６０１、ＬＵＮ列１６０２、Ｉ／Ｏキューイングフラグ列１６０４については、前記実施例１の図７のポートＩＤ列７０１、ＬＵＮ列７０２、Ｉ／Ｏキューイングフラグ列７０５と同様であるため、説明を省略する。【０１８７】
例えば、行１６１１には、仮想ＬＤＥＶ  ＩＤ「１０００」は、ＬＵＮ「００」、ポートＩＤ「００」と紐付けられており、当該ＬＤＥＶのＩ／Ｏキューイングフラグが「ＯＦＦ」であることを示す。【０１８８】
図１７は、第二の実施例における、仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブル１７００の一例を示す図である。【０１８９】
仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブル１７００は、例えば、仮想ＬＤＥＶ  ＩＤ１７０１列と、ＬＤＥＶ  ＩＤ列１７０２と、ＬＤＥＶ開始アドレス列１７０３列と、ＬＤＥＶ終了アドレス列１７０４と、を対応付けて管理する。【０１９０】
仮想ＬＤＥＶ  ＩＤ列１７０１には、自ストレージ装置に定義されているＬＤＥＶに対し、仮想的に付与したＬＤＥＶの識別情報（仮想ＩＤ）が格納される。【０１９１】
その他、ＬＤＥＶ  ＩＤ列１７０２、ＬＤＥＶ開始アドレス列１７０３列、ＬＤＥＶ終了アドレス列１７０４については、図８のＬＤＥＶ  ＩＤ列８０２、ＬＤＥＶ開始アドレス列８０３、ＬＤＥＶ終了アドレス列８０４と同様であるため、説明を省略する。【０１９２】
例えば、行１７１１には、仮想ＬＤＥＶ  ＩＤ「２０００」に紐づくＬＤＥＶ  ＩＤは、「２２２２」であり、当該ＬＤＥＶ領域の開始アドレスは「０２００００」、終了アドレスは「０２０９９９」であることを示す。【０１９３】
図１８は、第二の実施例における、リモートコピー再開準備プログラム１８００で行われる処理の一例を示すフローチャートである。【０１９４】
本実施例２では、この処理は、第二のストレージ装置１３０が、管理計算機１４０から、ＳＳ  ＶＯＬ１５２２に対する「リモートコピー再開準備コマンド」を受領したことを契機に処理を行う。【０１９５】
ステップＳ１８０１では、リモートコピー再開準備プログラム１８００が、管理計算機１４０からリモートコピー再開準備コマンドを受領する。ステップＳ１８０２では、リモートコピー再開準備プログラム１８００が、管理計算機１４０から受領したリモートコピー再開準備コマンドから、スナップショットＶＯＬであるＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤを取得する。【０１９６】
ステップＳ１８０３では、リモートコピー再開準備プログラム１８００が、仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブル１７００の「仮想ＬＤＥＶ  ＩＤ」列１７０１に対し、ステップＳ１８０２で取得したＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤの検索を行い、検索結果に対応する「ＬＤＥＶ  ＩＤ」列１７０２の値を取得する。【０１９７】
ステップＳ１８０４では、リモートコピー再開準備プログラム１８００が、スナップショットペア管理テーブル６０３の「スナップショットＶＯＬ  ＬＤＥＶ  ＩＤ」列９０３に対し、ステップＳ１８０３で取得したＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤの検索を行い、検索結果に対応する「スナップショット作成元ＬＤＥＶ  ＩＤ」列９０２の値を、ＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤとして取得する。【０１９８】
また、リモートコピー再開準備プログラム１８００は、仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブル１７００の「仮想ＬＤＥＶ  ＩＤ」列１７０１に対し、上記で取得したＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤの検索を行い、検索結果に対応する「ＬＤＥＶ  ＩＤ」列１７０２の値を取得する。この値は、ステップＳ１８０９で使用する。【０１９９】
ステップＳ１８０５では、リモートコピー再開準備プログラム１８００が、リモートコピーペア管理テーブル６０４の「ＬＤＥＶ  ＩＤ」列１００２に対し、ステップＳ１８０４で取得したＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤの検索を行い、当該行が存在すること（＝ＬＤＥＶ２（１５２１）がリモートコピーペアを構成済であること）を判定検証する。【０２００】
ステップＳ１８０６では、リモートコピー再開準備プログラム１８００は、仮想ＬＤＥＶ管理テーブル１６００の「仮想ＬＤＥＶ  ＩＤ」列１６０３から、ステップＳ１８０２で特定したＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤを検索し、対応する「Ｉ／Ｏキューイングフラグ」列１６０４の値をＯＮに変更する。【０２０１】
ステップＳ１８０７では、リモートコピー再開準備プログラム１８００は、ステップＳ１８０２で特定したＳＳ  ＶＯＬ１５２２から、ステップＳ１８０４で特定したＬＤＥＶ２（１５２１）へのスナップショットリストア処理をキックし、ステップＳ１８０８に遷移する。キックされたことを契機に、バックグラウンドで行われるスナップショットリストア処理では、ＳＳ  ＶＯＬ１５２２とＬＤＥＶ２（１５２１）との差分データのみをコピーする。【０２０２】
ステップＳ１８０８では、リモートコピー再開準備プログラム１８００が、仮想ＬＤＥＶ−実ＬＤＥＶ管理テーブル１７００の「仮想ＬＤＥＶ  ＩＤ」列１７０１について、値がＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤであるものはＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤに更新し、値がＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤであるものはＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤに更新することで、ＩＤの入れ替えを行う。これにより、Ｉ／Ｏ経路１５１２からＩ／Ｏ経路１５１３へＩ／Ｏ経路の切り替えを行う。【０２０３】
ステップＳ１８０９では、リモートコピー再開準備プログラム１８００が、仮想ＬＤＥＶ管理テーブル１６００の「仮想ＬＤＥＶ  ＩＤ」列１６０３から、Ｓ１８０２で特定したＳＳ  ＶＯＬ１５２２のＬＤＥＶ  ＩＤ（ＬＤＥＶ  ＩＤ入れ替え後は、ＬＤＥＶ２（１５２１）のＬＤＥＶ  ＩＤ）を検索し、検索結果に対応する「Ｉ／Ｏキューイングフラグ」列１６０４の値をＯＦＦに変更する。【０２０４】
ステップＳ１８１０では、リモートコピー再開準備プログラム１８００が、管理計算機１４０に対し、リモートコピー再開準備コマンドの処理が完了した応答を通知して処理を終了する。【０２０５】
以上のように、本実施例２では、テストフェールオーバ中に障害が発生した場合には、待機系の仮想マシン２１０−Ｂが使用していたスナップショット（ＳＳ  ＶＯＬ）への書き込みを停止してから、ＬＤＥＶ２とスナップショットの仮想ＩＤ（仮想ＬＤＥＶ  ＩＤ）を入れ替えて、仮想マシン２１０−Ｂが書き込むボリュームの経路を切り替える。また、バックグラウンドにてスナップショットリストア処理が実行され、リモートコピーのＳＶＯＬとなっているＬＤＥＶ２（１５２１）へスナップショット（ＳＳ  ＶＯＬ）との差分が書き込む。次に、仮想マシン２１０−ＢからＬＤＥＶ２へのＩ／Ｏ要求を許可してから、第二のストレージ装置１３０のＬＤＥＶ２とコピーペアの関係にある第一のストレージ装置１２０のＬＤＥＶ１のＰＶＯＬとＳＶＯＬの関係を切り替えてから、差分コピーを行ってＬＤＥＶ１をリストアする。なお、スナップショットリストア処理は、キューイングが終了した後も継続する場合がある。【０２０６】
本実施例２においても、前記従来例のようにテストフェールオーバで使用していたＳＳ  ＶＯＬから第一のストレージ装置１２０のＰＶＯＬへ全コピーを行う必要がなくなって、差分コピーとＬＤＥＶ２のＩＤの切り替えと、リモートコピー方向の切り替えを行えば良いので、論理デバイスとして仮想ＬＤＥＶを採用した場合でもフェイルオーバからの復旧に要する時間を短縮することが可能となる。【０２０７】
以上、本発明の実施例を説明したが、本発明は、これらの実施形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、第一または第二の実施形態において、第二のストレージ装置１３０が管理計算機１４０から、リモートコピーペア再開準備コマンドとリモートコピーペア再開（逆方向）の２つのコマンドの情報を合わせた１つのコマンドを受領したことを契機に、リモートコピー再開準備プログラム６１２を、Ｓ１２１０の完了応答を除いて実行した後、リモートコピー再開プログラム６１３を連続して実行しても良い。【０２０８】
また第一または第二の実施形態において、リモートコピー再開準備プログラム６１２やリモートコピー再開プログラム６１３の各ステップは、それぞれ管理計算機１４０からの異なるコマンドを受領したことを契機に実行されてもよい。例えば、リモートコピー再開準備プログラム６１２ではＳ１２０２〜Ｓ１２０５を実行後に管理計算機１４０に応答を行い、Ｓ１２０６、Ｓ１２０７、Ｓ１２０８、Ｓ１２０９の処理はそれぞれ別のコマンドを受領したことを契機に実行され、リモートコピー再開プログラム６１３ではＳ１３０２〜Ｓ１３０４を実行後に管理計算機１４０に応答を行い、Ｓ１３０５の処理は別のコマンドを受領したことを契機に実行されても良い。【０２０９】
また、第一または第二の実施形態において、ホスト計算機内のサーバ内の仮想マシンがホスト計算機相当の働きをし、第一のストレージ装置１２０及び第二のストレージ装置１３０の各プログラム、及び、各テーブルが当該ホスト計算機内で稼働することにより、ストレージ装置の一部または全部を含まない構成も変形例の一つとして考えられる。【０２１０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０２１１】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０２１２】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
2018011882.tif 000003
【図２】
2018011882.tif 000004
【図３】
2018011882.tif 000005
【図４】
2018011882.tif 000006
【図５】
2018011882.tif 000007
【図６】
2018011882.tif 000008
【図７】
2018011882.tif 000009
【図８】
2018011882.tif 000010
【図９】
2018011882.tif 000011
【図１０】
2018011882.tif 000012
【図１１】
2018011882.tif 000013
【図１２】
2018011882.tif 000014
【図１３】
2018011882.tif 000015
【図１４】
2018011882.tif 000016
【図１５】
2018011882.tif 000017
【図１６】
2018011882.tif 000018
【図１７】
2018011882.tif 000019
【図１８】
2018011882.tif 000020
【図１９】
2018011882.tif 000021
【国際調査報告】
2018011882.tif 000022
2018011882.tif 000023
2018011882.tif 000024