(57)【要約】【課題】ストレージ装置とホストコンピューターを含む情報システムの可用性を向上させる。【解決手段】第１及び第２のストレージ装置が、ホストコンピューターにより第１のストレージ装置内の第１の主ボリュームに書き込まれたデータを第２のストレージ装置内の第２の主ボリュームへコピーするリモートコピーを実行し、第１及び第２のストレージ装置の少なくとも一方が、自ストレージ装置内の第１又は第２の主ボリュームに書き込まれたデータを対応する第１又は第２の副ボリュームにコピーするローカルコピーを実行し、ホストコンピューターが、第１のストレージ装置に障害が発生したときには、データのライトリクエストの送信先を第１のストレージ装置から第２のストレージ装置に切り替えるようにした。【選択図】図２２
2008134988.tif 000002
【特許請求の範囲】
【請求項１】
上位装置としてのホストコンピューターと、
前記ホストコンピューターに接続され、第１の主ボリューム及び第１の副ボリュームを有する第１のストレージ装置と、
前記第１のストレージ装置及び前記ホストコンピューターに接続され、第２の主ボリューム及び第２の副ボリュームを有する第２のストレージ装置と
を備え、
前記第１及び第２のストレージ装置は、
前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行し、
前記第１及び第２のストレージ装置の少なくとも一方は、
自ストレージ装置内の前記第１又は第２の主ボリュームに書き込まれた前記データを対応する前記第１又は第２の副ボリュームにコピーするローカルコピーを実行し、
前記ホストコンピューターは、
前記第１のストレージ装置に障害が発生したときには、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える
ことを特徴とする情報システム。
【請求項２】
前記第１のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置と、
前記第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第４のボリュームを有する第４のストレージ装置と
を備え、
前記第１及び第２の副ボリュームは、
対応する前記第３又は第４のボリュームにマッピングされた仮想的なボリュームであり、
前記第１及び第２のストレージ装置は、
それぞれ前記第１又は第２の副ボリュームにコピーすべき前記データを、対応する前記第３又は第４のボリュームにコピーする
ことを特徴とする請求項１に記載の情報システム。
【請求項３】
前記第１及び第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置を備え、
前記第１及び第２の副ボリュームは、
それぞれ前記第３のボリュームにマッピングされた仮想的なボリュームであり、
前記第１及び第２のストレージ装置のいずれか一方のみが、前記第１又は第２の副ボリュームにコピーすべきデータを、前記第３のボリュームにコピーする
ことを特徴とする請求項１に記載の情報システム。
【請求項４】
前記第１及び第２のストレージ装置は、
それぞれ前記ローカルコピーを制御するためのローカルコピー制御情報を保持し、
前記第１のストレージ装置は、
前記ローカルコピー制御情報を更新したときには、更新内容を前記第２のストレージ装置に通知し、
前記第２のストレージ装置は、
前記第１のストレージ装置からの通知に応じて、自己が保持する前記ローカルコピー情報を更新する
ことを特徴とする請求項３に記載の情報システム。
【請求項５】
上位装置としてのホストコンピューターと、前記ホストコンピューターに接続された第１のストレージ装置と、前記第１のストレージ装置及び前記ホストコンピューターに接続された第２のストレージ装置とを有する情報システムにおけるデータ転送方法において、
前記第１のストレージ装置は、第１の主ボリューム及び第１の副ボリュームを有し、
前記第２のストレージ装置は、第２の主ボリューム及び第２の副ボリュームを有し、
前記第１及び第２のストレージ装置が、前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行すると共に、前記第１及び第２のストレージ装置の少なくとも一方が、自ストレージ装置内の前記第１又は第２の主ボリュームに書き込まれた前記データを対応する前記第１又は第２の副ボリュームにコピーするローカルコピーを実行する第１のステップと、
前記ホストコンピューターが、前記第１のストレージ装置に障害が発生したときに、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える第２のステップと
を備えることを特徴とするデータ転送方法。
【請求項６】
前記情報システムは、
前記第１のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置と、
前記第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第４のボリュームを有する第４のストレージ装置とを備え、
前記第１及び第２の副ボリュームは、
対応する前記第３又は第４のボリュームにマッピングされた仮想的なボリュームであり、
前記第１のステップにおいて、
前記第１及び第２のストレージ装置は、それぞれ前記第１又は第２の副ボリュームにコピーすべき前記データを、対応する前記第３又は第４のボリュームにコピーする
ことを特徴とする請求項５に記載のデータ転送方法。
【請求項７】
前記情報システムは、
前記第１及び第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置を備え、
前記第１及び第２の副ボリュームは、
それぞれ前記第３のボリュームにマッピングされた仮想的なボリュームであり、
前記第１のステップでは、
前記第１及び第２のストレージ装置のいずれか一方のみが、前記第１又は第２の副ボリュームにコピーすべき前記データを、前記第３のボリュームにコピーする
ことを特徴とする請求項５に記載のデータ転送方法。
【請求項８】
前記第１及び第２のストレージ装置は、
それぞれ前記ローカルコピーを制御するためのローカルコピー制御情報を保持し、
前記第１のストレージ装置は、
前記ローカルコピー制御情報を更新したときには、更新内容を前記第２のストレージ装置に通知し、
前記第２のストレージ装置は、
前記第１のストレージ装置からの通知に応じて、自己が保持する前記ローカルコピー情報を更新する
ことを特徴とする請求項７に記載のデータ転送方法。
【請求項９】
上位装置としてのホストコンピューターと、
前記ホストコンピューターに接続され、第１の主ボリューム及び第１の副ボリュームを有する第１のストレージ装置と、
前記第１のストレージ装置及び前記ホストコンピューターに接続され、第２の主ボリューム及び第２の副ボリュームを有する第２のストレージ装置と
を備え、
前記第１及び第２のストレージ装置は、
前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行し、
前記第１及び第２のストレージ装置の少なくとも一方は、
論理スナップショットの作成指示以降に更新された前記第１又は第２の主ボリュームの更新前のデータを前記第１又は第２の副ボリュームに退避させ、
前記ホストコンピューターは、
前記第１のストレージ装置に障害が発生したときには、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える
ことを特徴とする情報システム。
【請求項１０】
前記第１のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置と、
前記第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第４のボリュームを有する第４のストレージ装置と
を備え、
前記第１及び第２の副ボリュームは、
対応する前記第３又は第４のボリュームにマッピングされた仮想的なボリュームであり、
前記第１及び第２のストレージ装置は、
それぞれ前記第１又は第２の副ボリュームに退避させるべきデータを、対応する前記第３又は第４のボリュームに退避させる
ことを特徴とする請求項９に記載の情報システム。
【請求項１１】
前記第１及び第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置を備え、
前記第１及び第２の副ボリュームは、
それぞれ前記第３のボリュームにマッピングされた仮想的なボリュームであり、
前記第１及び第２のストレージ装置のいずれか一方のみが、前記第１又は第２の副ボリュームに退避すべきデータを、前記第３のボリュームに退避させる
ことを特徴とする請求項９に記載の情報システム。
【請求項１２】
前記第１及び第２のストレージ装置は、
それぞれ前記スナップショットを管理するためのスナップショット管理情報を保持し、
前記第１のストレージ装置は、
前記スナップショット管理情報を更新したときには、更新内容を前記第２のストレージ装置に通知し、
前記第２のストレージ装置は、
前記第１のストレージ装置からの通知に応じて、自己が保持する前記スナップショット管理情報を更新する
ことを特徴とする請求項１１に記載の情報システム。
【請求項１３】
上位装置としてのホストコンピューターと、前記ホストコンピューターに接続された第１のストレージ装置と、前記第１のストレージ装置及び前記ホストコンピューターに接続された第２のストレージ装置とを有する情報システムにおけるデータ転送方法において、
前記第１のストレージ装置は、第１の主ボリューム及び第１の副ボリュームを有し、
前記第２のストレージ装置は、第２の主ボリューム及び第２の副ボリュームを有し、
前記第１及び第２のストレージ装置が、前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行すると共に、前記第１及び第２のストレージ装置の少なくとも一方が、論理スナップショットの作成指示以降に更新された前記第１又は第２の主ボリュームの更新前のデータを前記第１又は第２の副ボリュームに退避させる第１のステップと、
前記ホストコンピューターが、前記第１のストレージ装置に障害が発生したときに、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える第２のステップと
を備えることを特徴とするデータ転送方法。
【請求項１４】
前記情報システムは、
前記第１のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置と、
前記第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第４のボリュームを有する第４のストレージ装置と
を備え、
前記第１及び第２の副ボリュームは、
対応する前記第３又は第４のボリュームにマッピングされた仮想的なボリュームであり、
前記第１のステップにおいて、
前記第１及び第２のストレージ装置は、
それぞれ前記第１又は第２の副ボリュームに退避させるべきデータを、対応する前記第３又は第４のボリュームに退避させる
ことを特徴とする請求項１３に記載のデータ転送方法。
【請求項１５】
前記情報システムは、
前記第１及び第２のストレージ装置に接続され、搭載されたＨＤＤが提供する記憶領域から構成される第３のボリュームを有する第３のストレージ装置を備え、
前記第１及び第２の副ボリュームは、
それぞれ前記第３のボリュームにマッピングされた仮想的なボリュームであり、
前記第１のステップでは、
前記第１及び第２のストレージ装置のいずれか一方のみが、前記第１又は第２の副ボリュームに退避すべきデータを、前記第３のボリュームに退避させる
ことを特徴とする請求項１３に記載のデータ転送方法。
【請求項１６】
前記第１及び第２のストレージ装置は、
それぞれ前記スナップショットを管理するためのスナップショット管理情報を保持し、
前記第１のストレージ装置は、
前記スナップショット管理情報を更新したときには、更新内容を前記第２のストレージ装置に通知し、
前記第２のストレージ装置は、
前記第１のストレージ装置からの通知に応じて、自己が保持する前記スナップショット管理情報を更新する
ことを特徴とする請求項１５に記載の情報システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶領域を備えたストレージシステムとストレージシステムに接続されたホストコンピューターに関する。
【背景技術】
【０００２】
一般に、情報システムでは、記憶デバイスとしてＨＤＤ（ハードディスクドライブ）を用いるストレージ装置が備えられ、そのストレージ装置を含むストレージシステムが、ストレージエリアネットワーク（ＳＡＮ：Storage Area Network）経由で、複数の上位装置（例えばホスト）からアクセスされる。一般的にストレージ装置では、ＲＡＩＤ（Redundant Array of Independent (or Inexpensive) Disks）技術に従う高信頼化方法が採用されることでＨＤＤ単体の信頼性を超えた信頼性をストレージ装置として提供している。しかし、近年の情報化社会の進化によって上記ＲＡＩＤによる信頼性が貢献する情報システムの可用性（サービス継続性）では不足してきた。
【０００３】
このような状況に対応する高可用化技術として、特許文献１に開示された技術がある。当該技術では、ホストコンピューター（以後ホストと省略する）とストレージ装置をそれぞれ有するプロダクションサイトとバックアップサイトを用意し、プロダクションサイトのストレージ装置が保存するデータをバックアップサイトのストレージ装置にミラーリングする。もし、プロダクションサイトのストレージ装置が障害停止した場合は、バックアップサイトのストレージ装置とホストを用いて装置停止の結果停止していたアプリケーション処理を再開させる。本技術は一般的にリモートコピー又はリモートミラーリングと呼ばれる。
【０００４】
【特許文献１】特開平７‐２４４５９７号
【特許文献２】米国特許  ７，０８０，１９７号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術ではストレージ装置の障害停止の結果、異なるホストでアプリケーションを再開させるため、アプリケーションの再起動処理が必要になる。当然ながらアプリケーション停止から再起動完了まではアプリケーションは通常動作ができないため、可用性については問題がある。
【０００６】
本発明は、２台以上のストレージ装置間でリモートコピーを行うストレージシステムと当該ストレージシステムを利用するホストを含めた情報システムの可用性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため本発明においては、情報システムにおいて、上位装置としてのホストコンピューターと、前記ホストコンピューターに接続され、第１の主ボリューム及び第１の副ボリュームを有する第１のストレージ装置と、前記第１のストレージ装置及び前記ホストコンピューターに接続され、第２の主ボリューム及び第２の副ボリュームを有する第２のストレージ装置とを備え、前記第１及び第２のストレージ装置は、前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行し、前記第１及び第２のストレージ装置の少なくとも一方は、自ストレージ装置内の前記第１又は第２の主ボリュームに書き込まれた前記データを対応する前記第１又は第２の副ボリュームにコピーするローカルコピーを実行し、前記ホストコンピューターは、前記第１のストレージ装置に障害が発生したときには、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替えることを特徴とする。
【０００８】
また本発明においては、上位装置としての第１のホストコンピューターと、前記第１のホストコンピューターに接続され、第１のボリュームを有する第１のストレージ装置と、前記第１のストレージ装置及び前記第１のホストコンピューターに接続され、第２のボリュームを有する第２のストレージ装置とを有する情報システムにおけるデータ転送方法であって、前記情報システムは、前記第１及び第２のストレージ装置の少なくとも一方に接続され、第３のボリュームを有する第３のストレージ装置を有し、前記第１及び第２のストレージ装置が、前記第１のボリュームに格納されたデータを前記第２のボリュームにコピーするリモートコピーを実行すると共に、前記第１及び第２のストレージ装置の少なくとも一方が、前記第１又は第２のボリュームに格納されたデータを前記第３のボリュームにコピーするリモートコピーを実行し、前記第３のストレージ装置が、前記第３のボリュームの複製でなるスナップショットを作成する第１のステップと、前記第１のストレージ装置に障害が発生したときには、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える第２のステップとを備えることを特徴とする。
【０００９】
さらに本発明においては、情報システムにおいて、上位装置としてのホストコンピューターと、前記ホストコンピューターに接続され、第１の主ボリューム及び第１の副ボリュームを有する第１のストレージ装置と、前記第１のストレージ装置及び前記ホストコンピューターに接続され、第２の主ボリューム及び第２の副ボリュームを有する第２のストレージ装置とを備え、前記第１及び第２のストレージ装置は、前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行し、前記第１及び第２のストレージ装置の少なくとも一方は、論理スナップショットの作成指示以降に更新された前記第１又は第２の主ボリュームの更新前のデータを前記第１又は第２の副ボリュームに退避させ、前記ホストコンピューターは、前記第１のストレージ装置に障害が発生したときには、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替えることを特徴とする。
【００１０】
さらに本発明においては、上位装置としてのホストコンピューターと、前記ホストコンピューターに接続された第１のストレージ装置と、前記第１のストレージ装置及び前記ホストコンピューターに接続された第２のストレージ装置とを有する情報システムにおけるデータ転送方法において、前記第１のストレージ装置は、第１の主ボリューム及び第１の副ボリュームを有し、前記第２のストレージ装置は、第２の主ボリューム及び第２の副ボリュームを有し、前記第１及び第２のストレージ装置が、前記ホストコンピューターにより前記第１の主ボリュームに書き込まれたデータを前記第２の主ボリュームへコピーするリモートコピーを実行すると共に、前記第１及び第２のストレージ装置の少なくとも一方が、論理スナップショットの作成指示以降に更新された前記第１又は第２の主ボリュームの更新前のデータを前記第１又は第２の副ボリュームに退避させる第１のステップと、前記ホストコンピューターが、前記第１のストレージ装置に障害が発生したときに、前記データのライトリクエストの送信先を前記第１のストレージ装置から前記第２のストレージ装置に切り替える第２のステップとを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、２台以上のストレージ装置間でリモートコピーを行うストレージシステムと当該ストレージシステムを利用するホストを含めた情報システムの可用性を向上させることができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１３】
（１）第１の実施の形態
＜１．情報システムの構成＞
図１は、本発明の一実施の形態に係る情報システムのハードウェア構成の一例を示す図である。
【００１４】
情報システムは、例えば、ストレージ装置１５００、ホストコンピューター（以後ホストと省略する）１１００、管理ホスト１２００と、２台以上の仮想化ストレージ装置１０００とから構成される。ストレージ装置１５００、ホストコンピューター（以後ホストと省略する）１１００、管理ホスト１２００の数は、それぞれ、１以上とすることができる。仮想化ストレージ装置１０００とホスト１１００は、Ｉ／Ｏネットワーク１３００を介して、相互に接続される。仮想化ストレージ装置１０００とストレージ装置１５００と管理ホスト１２００は、管理ネットワーク（図示せず）又はＩ／Ｏネットワーク１３００を介して相互に接続される。
【００１５】
ホスト１１００には、ホスト内部ネットワーク１１０４があり、そのネットワーク１１０４に、プロセッサ（図中ではProcと略記）１１０１と、メモリ（図中ではMemと略記）１１０２と、Ｉ／Ｏポート（図中ではI/O Pと略記）１１０３とが接続されている。管理ホスト１２００も、ホスト１１００と同じハードウェア構成を有することができる。なお、Ｉ／Ｏポートをホスト１１００に追加する拡張カードをＨＢＡ（Host Bas A
dapter)と呼ぶことがある。
【００１６】
管理ホスト１２００は、表示装置を有し、その表示装置に、仮想化ストレージ装置１０００とストレージ装置１５００の管理用の画面を表示することができる。また、管理ホスト１２００は、管理操作リクエストを、ユーザー（例えば管理ホスト１２００のオペレーター）から受付け、その受け付けた管理操作リクエストを、仮想化ストレージ装置１０００やストレージ装置１５００に送信することができる。管理操作リクエストは、仮想化ストレージ装置１０００やストレージ装置１５００の操作のためのリクエストであり、例えば、パリティグループ作成リクエスト、内部ＬＵ（Logical Unit）作成リクエスト、パス定義リクエスト、及び仮想化機能に関する操作がある。
【００１７】
Ｉ／Ｏネットワーク１３００は、ファイバーチャネルによる接続が第一に考えられる
が、それ以外でも、ＦＩＣＯＮ（FIbre CONnection：登録商標）やＥｔｈｅｒｎｅｔ（登録商標）とＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）とｉＳＣＳＩ（internet ＳＣＳＩ（Small Computer System Interface））の組み合わせや、Ｅｔｈｅｒｎｅｔ（登録商標）とＮＦＳ(Network File System)やＣＩＦＳ(Common Internet File System)等のネットワークファイルシステムの組み合わせ等が考えられる。さらに、Ｉ／Ｏネットワーク１３００は、Ｉ／Ｏリクエストを転送可能な通信装置であればこれ以外でもよい。また、仮想化ストレージ装置１０００とストレージ装置１５００を接続するネットワークについてもＩ／Ｏネットワーク１３００と同様である。
【００１８】
仮想化ストレージ装置１０００は、コントローラー（図中はCTLと表記）１０１０と、キャッシュメモリ（図中はCMと表記）１０２０と、複数のＨＤＤ１０３０とを備える。好ましい形態としては、コントローラー１０１０及びキャッシュメモリ１０２０は、それぞれ複数のコンポーネントから構成することが考えられる。なぜなら、コンポーネント単体に障害が発生して閉塞した場合でも、残りのコンポーネントを用いてリードやライトに代表されるＩ／Ｏリクエストを引き続き受けることができるためである。
【００１９】
コントローラー１０１０は、仮想化ストレージ装置１０００の動作を制御する装置（例えば回路基盤）である。コントローラー１０１０には、内部ネットワーク１０１７があり、その内部ネットワーク１０１７に、Ｉ／Ｏポート１０１３、キャッシュポート（図中ではC Pと表記）１０１５、管理ポート（図中ではM Pと表記）１０１６、バックエンドポート（図中ではB/E Pと表記）１０１４、プロセッサ（例えばＣＰＵ（Central Processing Unit））１０１１及びメモリ１０１２が接続されている。コントローラー１０１０同士とキャッシュメモリ１０２０は、ストレージ内部ネットワーク１０５０にて相互に接続される。また、コントローラー１０１０と各ＨＤＤ１０３０は、複数のバックエンドネットワーク１０４０にて相互接続される。
【００２０】
ストレージ装置１５００のハードウェア構成は仮想化ストレージ装置１０００と同種の部品から構成される。なお、仮想化ストレージ装置１０００がＨＤＤを持たない仮想化専用装置またスイッチの場合は、ストレージ装置１５００は仮想化ストレージ装置１０００と同種の部品から構成されなくてもいい。さらに、ホスト１１００及び仮想化ストレージ装置１０００の内部のネットワークは、好ましくは、Ｉ／Ｏポート１０１３の有する転送帯域より広帯域であり、また、バスやスイッチ型のネットワークによって全てまた一部が代替されてもよい。また、図１では、Ｉ／Ｏポート１０１３は、コントローラー１０１０に一つ存在することになっているが、実際には、複数のＩ／Ｏポート１０１３がコントローラー１０１０に存在してもよい。
【００２１】
以上のハードウェア構成によって、仮想化ストレージ装置１０００やストレージ装置１５００のＨＤＤに保存された全て又は一部のデータを、ホスト１１００が読出したり書き込んだりすることができるようになる。なお、以後の説明では、データ保存を担当するシステムをストレージクラスタと呼ぶ。また、ストレージクラスタ内部に当該システムを２系統含むことで高可用化を実現するサブシステムで、仮想化ストレージ装置１０００とストレージ装置１５００の片方又は両方を含むサブシステムをストレージサブシステムと呼ぶ。
【００２２】
＜２．本実施の形態の概要＞
本実施の形態では、他のストレージ装置内のボリューム等の記憶領域を仮想化する仮想化機能を有する仮想化ストレージ装置１０００を含むストレージシステムの可用性を向上させるため、もう一台の仮想化ストレージ装置１０００を用いた二重化構成を採用する。図２はその概要を示した図である。
【００２３】
本概要では、ストレージシステムに仮想化ストレージ装置１０００Ｌ、仮想化ストレージ装置１０００Ｒ、ストレージ装置１５００Ｌ、ストレージ装置１５００Ｒが含まれる。なお、以下においては、説明を容易にするため、仮想化ストレージ装置１０００Ｌ及びストレージ装置１５００Ｌを正系（プロダクション系）、仮想化ストレージ装置１０００Ｒ及びストレージ装置１５００Ｒを副系（バックアップ系）の役割をもっているものとする。しかし、それぞれの仮想化ストレージ装置１０００Ｌ，１０００Ｒがホスト１１００へ提供するボリュームが二つ以上の場合は、仮想化ストレージ装置単位で正系・副系を担当する代わりにボリューム単位で正系を担当する仮想化ストレージ装置１０００Ｌ，１０００Ｒが定まっていればよい。
【００２４】
それぞれの仮想化ストレージ装置１０００Ｌ，１０００Ｒは自身が有するＨＤＤ１０３０を構成要素とするパリティグループ（ＲＡＩＤ技術によって構成される）の一部又は全ての領域をボリューム３０００ＬＡやボリューム３０００ＲＡとしてホスト１１００に提供する（図中の円柱内に'Ａ'と記された部分が対応）。また、仮想化ストレージ装置１０００はオプションとして仮想化機能による仮想ボリューム３０００ＬＢ，３０００ＲＢ（対応するＨＤＤ等の不揮発記憶領域が仮想化ストレージ装置１０００Ｌ，１０００Ｒの外部に存在するボリュームのこと）を提供することができる。本概要ではストレージ装置１５００Ｌ、１５００Ｒが提供するボリューム３５００ＬＢ、３５００ＲＢの一部又は全てを対応する不揮発記憶領域として用いている。なお、以後の説明では「ボリュームのデータ」と書いた場合は、ＨＤＤ１０３０に保存されたデータに加えてキャッシュメモリ１０２０に一時保存されたデータも含む。また、後ほど述べる「仮想ボリュームのデータ」に関してはストレージ装置１５００Ｌ，１５００Ｒのボリューム３５００ＬＢ、３５００ＲＢに保存されたデータに加えて仮想化ストレージ装置１０００Ｌ，１０００Ｒのキャッシュメモリ１０２０に一時保存されたデータを含む。
【００２５】
一方、ホスト１１００上ではアプリケーションプログラム（以後、アプリケーションと略すことがある）２０１０と、ＯＳと、ＯＳの設定・処理を補佐するデーモンや管理プログラムに代表されるシステムプログラムとが動作している。ＯＳはアプリケーション２０１０に対して仮想化ストレージ装置１０００Ｌ，１０００Ｒが提供するボリューム３０００ＬＡ，３０００ＬＢ，３０００ＲＡ，３０００ＲＢ内に存在するデータに対するＩ／Ｏリクエスト用インターフェースを提供し、アプリケーション２０１０からの要求に応じて適切な仮想化ストレージ装置１０００Ｌ，１０００Ｒ及びボリューム３０００ＬＡ，３０００ＬＢ，３０００ＲＡ，３０００ＲＢに対するＩ／Ｏリクエストを送信する。通常状態ではホスト１１００は仮想化ストレージ装置１０００Ｌのボリューム３０００ＬＡ，３０００ＬＢに対してリードやライトに代表されるＩ／Ｏリクエストを発行し、データの送受信を行う。つまり、リードリクエストを受け取った場合、仮想化ストレージ装置１０００Ｌは、リクエスト対象のボリューム３０００ＬＡ，３０００ＬＢ，３５００ＬＢが仮想化ストレージ装置１０００Ｌ内部のＨＤＤ１０３０に対応している場合は当該ＨＤＤ１０３０からデータを読み上げてこれをホスト１１００に返したり、ストレージ装置１５００Ｌに対してリードリクエストを発行することで必要なデータを取得し、そのデータ（の全て又は一部）をホスト１１００に返す。
【００２６】
ライトリクエストの場合は、データの冗長化のために、ライトデータを受け取った仮想化ストレージ装置１０００Ｌは副系である仮想化ストレージ装置１０００Ｒへライトデータを送信し、仮想化ストレージ装置１０００Ｌがライトデータの受け取り完了メッセージを仮想化ストレージ装置１０００Ｒから受け取った後にホスト１１００に対してライト完了メッセージを返す。なお、仮想化ストレージ装置１０００Ｌに対するライトデータも仮想化ストレージ装置１０００Ｒが仮想化ストレージ装置１０００Ｌを経由して受け取ったライトデータも、各仮想化ストレージ装置１０００Ｌ，１０００Ｒ内のキャッシュメモリ１０２０Ｌ，１０２０Ｒに一時保持されてもよい。なお、本実施の形態の一つとして、このライトデータの転送はストレージリモートコピーによって行われる。
【００２７】
図３は通常状態下で仮想化ストレージ装置１０００Ｌに障害が発生した後の情報システムの処理概要を示している。
【００２８】
正系の仮想化ストレージ装置１０００Ｌが障害によって停止した場合、ホスト１１００上のシステムプログラムはその障害を検知し、Ｉ／Ｏリクエストの発行先を正系の仮想化ストレージ装置１０００Ｌから副系の仮想化ストレージ装置１０００Ｒへ切り替える。ただし、その場合もアプリケーション２０１０はＩ／Ｏリクエストの発行先が切り替わったことを認識せずにＩ／Ｏを継続することができる。そのために、通常時からシステムプログラムはＯＳレイヤ（より具体的にはファイルシステムより下位のレイヤ）にて、アプリケーション２０１０やファイルシステムからＩ／Ｏリクエスト時に指定されるボリューム識別子として仮想的なボリューム識別子（又はデバイスファイル）を指定させるようにしておき、ＯＳの下位レイヤは当該識別子と実際のボリュームに対して割り当てられた識別子（又はデバイスファイル）の対応を管理しておく。Ｉ／Ｏリクエストの発行先を切り替える場合は、その対応関係をこれまでの仮想化ストレージ装置１０００Ｌのボリューム３０００ＬＡ、ボリューム３０００ＬＢ宛であったものを仮想化ストレージ装置１０００Ｒのボリューム３０００ＲＡとボリューム３０００ＲＢ宛に切り替えることでアプリケーション２０１０に対して透過に切り替えを実現する。
【００２９】
さらに、仮想化ストレージ装置１０００Ｒもホスト１１００からの当該ボリューム３０００ＲＡ，３０００ＲＢに対するライトリクエストの到着やその他明示的なフェイルオーバー要求に応じて、ライトリクエストを処理できるようにする。この変更処理の一例としては、仮想化ストレージ装置１０００Ｌから仮想化ストレージ装置１０００Ｒに対するデータコピーに伴い、仮想化ストレージ装置１０００Ｒのボリューム３０００ＲＡ，３０００ＲＢに対するホスト１１００からのライトリクエストの拒否が設定されている場合はそれを解除する。また、リモートコピーを用いてライトデータの転送を行っている場合はリモートコピーのコピー状態の変更を行うことも考えられる。
【００３０】
図４は仮想化ストレージ装置１０００Ｌ，１０００Ｒ間のネットワークに障害が発生した後の情報システムの処理概要を示している。
【００３１】
ネットワーク障害を検知した仮想化ストレージ装置１０００Ｌはホスト１１００に当該障害を通知する。障害通知を受けたホスト１１００は、副系の仮想化ストレージ装置１０００Ｒに対してライトリクエストを処理できるように要求し、以後のライトリクエストは正系の仮想化ストレージ装置１０００Ｌ及び副系の仮想化ストレージ装置１０００Ｒの両方に発行することで、正系と副系のデータを同一にする。
【００３２】
＜３．ホスト１１００で実行されるプログラム及び情報＞
図５はホスト１１００上で実行されるソフトウェアプログラムと、当該ソフトウェアプログラムが用いる情報とに加えて、各ソフトウェアプログラムが提供する概念について記した図である。なお、当該ソフトウェアプログラムはメモリ１１０２（図１）とプロセッサ１１０１（図１）とによって保持と実行がされるが、その一部をハードウェア化して実行してもよい。
【００３３】
ホスト１１００上ではアプリケーション２０１０、リモートコピーマネージャー５０３０に加えて、ＯＳ又はＫｅｒｎｅｌ内部のプログラムモジュールとしてファイルシステム５０２０、Ｉ／Ｏパスマネージャー５０００及びＨＢＡデバイスドライバー５０１０が実行される（ファイルシステム５０２０、Ｉ／Ｏパスマネージャー５０００又はＨＢＡデバイスドライバー５０１０は、全ての処理がＫｅｒｎｅｌ内部で実行される必要はない）。
【００３４】
ＨＢＡデバイスドライバー５０１０はＨＢＡに搭載されたＩ／Ｏポート１１０３（図１）を通じてＩ／Ｏリクエストやそれに伴うデータを送受信したり、その他の仮想化ストレージ装置１０００Ｌ，１０００Ｒやストレージ装置１５００Ｌ，１５００Ｒ等との通信を制御するプログラムである。ＨＢＡデバイスドライバー５０１０は、また、上位レイヤに対して仮想化ストレージ装置１０００Ｌ，１０００Ｒが提供するボリューム３０００ＬＡ，３０００ＬＢ，３０００ＲＡ，３０００ＲＢに対応する識別子を提供し、その識別子を伴ったＩ／Ｏリクエストを受け付けることができる。ボリューム５０４０はその概念を示したもので、仮想ストレージ装置１０００Ｌ，１０００Ｒが提供するボリューム３０００ＬＡ，３０００ＬＢ，３０００ＲＡ，３０００ＲＢにそれぞれ対応している。
【００３５】
Ｉ／Ｏパスマネージャー５０００は、アプリケーション２０１０のＩ／Ｏリクエスト発信先を切り替えるためのモジュールである。当該モジュールはＨＢＡデバイスドライバー５０１０が提供するボリューム５０４０に対応する識別子と同種のホスト１１００内での仮想的なボリュームに対応する識別子及びＩ／Ｏリクエスト用インターフェースをファイルシステム５０２０に対して提供する。このホスト１１００内での仮想的なボリュームに対応する識別子は当該モジュール内でＨＢＡデバイスドライバー５０１０が提供するボリューム５０４０に対応する識別子と対応しており、デバイス関係テーブル５００１がその対応関係を保持している。ボリューム５０５０はこのホスト１１００内での仮想的なボリュームの概念を示したもので、本図ではその対応関係の一例として仮想化ストレージ装置１０００Ｌのボリューム３０００ＬＡ，３０００ＬＢに対応する識別子と対応している（他の言い方をすると、ホスト１１００内での仮想的なボリューム５０５０の実体は仮想化ストレージ装置１０００Ｌのボリューム３０００ＬＡ，３０００ＬＢであるともいえる）。
【００３６】
ここまでのレイヤでのＩ／Ｏリクエストは通常固定長ブロックアクセス形式で指定する。ただし、ホスト１１００がメインフレームの場合はこれに限定されず、ＣＫＤ（Count Key Data）形式で指定してもよい。
【００３７】
ファイルシステム５０２０は、ＨＢＡデバイスドライバー５０１０が提供するボリューム５０４０に対応する識別子及びＩ／Ｏインターフェースと、Ｉ／Ｏパスマネージャー５０００が提供するホスト１１００内での仮想的なボリューム５０５０に対応する識別子及びＩ／Ｏインターフェースとを通じて、仮想化ストレージ装置１０００Ｌ，１０００ＲへのＩ／Ｏリクエストを送信したり、データの送受信を行うモジュールである。図５では例としてファイルシステム５０２０内部にディレクトリツリーの構造を示し、そのツリー構造の一部５０５２が、Ｉ／Ｏパスマネージャー５０００がホスト１１００内での仮想化で提供したボリューム５０５０に保存されている状態を示している（これまで説明した通り、より正確にはＩ／Ｏパスマネージャー５０００のホスト１１００内での仮想的なボリューム５０５０の提供は識別子を通じたものであり、さらに、そのボリューム５０５０に保存されていると書いたデータは実際にはデバイス関係テーブル５００１にて示される仮想化ストレージ装置１０００Ｌ，１０００Ｒが提供するボリューム３０００ＬＡ，３０００ＬＢ，３０００ＲＡ，３０００ＰＢに保存されている）。ファイルシステム５０２０はアプリケーション２０１０に対してファイルＩ／Ｏのインターフェースを提供する。ファイルＩ／Ｏインターフェースを通じてアプリケーション２０１０から呼び出されたファイルシステム５０２０は、ファイル名とファイル内でのデータオフセットを伴ったリード又はライトリクエストをディレクトリファイルやｉｎｏｄｅといったファイルシステム５０２０内の構造化情報を参照しつつ、ブロック形式のリード又はライトリクエストに変換し、Ｉ／Ｏパスマネージャー５０００又はＨＢＡデバイスドライバー５０１０へリード又はライトリクエストを渡す。
【００３８】
なお、Ｕｎｉｔ系やＷｉｎｄｏｗｓ（登録商標）系のＯＳではファイルＩ／Ｏのインターフェースを用いて直接ボリュームのデータを操作するためのインターフェースとしてデバイスファイルシステムと呼ばれる機能を提供している。通常、デバイスファイルシステムはファイル空間の'/dev'ディレクトリ配下に展開されており、当該ディレクトリ以下のファイル（図中の例では、rsda等）のファイル名はファイルシステム５０２０の下位レイヤ（ＨＢＡデバイスドライバー５０１０やＩ／Ｏパスマネージャー５０００）が提供するボリューム５０４０，５０５０に対応する。そして、当該ボリューム５０４０，５０５０に保存されたデータはデバイスファイル５０７０，５０８０に保存されたデータであるかのようにファイルＩ／Ｏ用インターフェースで読み書き可能となる。なお、図５では例としてデバイスファイル５０７０（rsda, rsdb, rsdc, rsdd）はＨＢＡデバイスドライバー５０１０が認識し、提供しているボリューム５０４０に対応し、デバイスファイル５０８０（vsda, vsdb）はＩ／Ｏパスマネージャー５０００が提供しているボリューム５０５０に対応している。このデバイスファイル５０７０，５０８０は、アプリケーション２０１０がデータベースである場合に、独自のデータ編成やバッファ管理を実現する目的で使われることがある。
【００３９】
リモートコピーマネージャー５０３０は仮想化ストレージ装置１０００Ｌ，１０００Ｒとの間のデータ転送を実現するリモートコピーの状態を取得したり、ホスト１１００やＩ／Ｏパスマネージャー５０００がリモートコピーの操作を行うためのプログラムで、当該プログラムを使用するプログラム、ユーザー又はＩ／Ｏパスマネージャー５０００の要求に応じて仮想化ストレージ装置１０００Ｌ，１０００Ｒと通信を行う。
【００４０】
なお、これまで説明した通りＨＢＡデバイスドライバー５０１０やＩ／Ｏパスマネージャー５０００は一部又は全ての機能がＫｅｒｎｅｌ内部のモジュールとしてインストールやアンインストールすることができることが望ましい。なぜならば、ＨＢＡデバイスドライバー５０２０はＨＢＡを制御するプログラムであるが故、ＨＢＡの製造会社が提供することが多い。同様にＩ／Ｏパスマネージャー５０００は仮想化ストレージ装置１０００Ｌ，１０００Ｒの処理を前提として処理が決定されるため、一部又は全てのモジュールが仮想化ストレージ装置１０００Ｌ，１０００Ｒの製造会社が提供することが考えられる。したがって、当該プログラムがインストール・アンインストールできることによって幅広いＨＢＡと仮想化ストレージ装置１０００Ｌ，１０００Ｒの組み合わせによる情報システムを構築することができる。また、本発明ではアプリケーション２０１０に対して透過に正系と副系の切り替えを行うためにＫｅｒｎｅｌ内部で処理を実行することでアプリケーション２０１０の再コンパイル等が不要な透過的な切り替えが可能である。さらに、Ｉ／Ｏパスマネージャー５０００がファイルシステム５０２０とＨＢＡデバイスドライバー５０１０の中間レイヤに存在することで、ファイルシステム５０２０に対する再コンパイル等を不要とし、さらにファイルシステム透過性も確保している。そして、Ｉ／Ｏパスマネージャー５０００がＨＢＡデバイスドライバー５０１０の機能を利用することができるようになっている。
【００４１】
また、Ｋｅｒｎｅｌ内部にいるＩ／Ｏパスマネージャー５０００がリモートコピーマネージャー５０３０を呼び出す場合やその逆の通信方法として以下の二通りが考えられる。
【００４２】
（Ａ）Ｉ／Ｏパスマネージャー５０００は通信用の仮想的なボリュームを作成し、ファイルシステム５０２０はこの通信用ボリュームをデバイスファイルとしてファイル空間に作成する。リモートコピーマネージャー５０３０は定期的にデバイスファイルに対してリードシステムコールを実行した状態で待つ。Ｉ／Ｏパスマネージャー５０００はリモートコピーマネージャー５０３０からのＩ／Ｏリクエストを受信するが、内部で保留する。そして、当該モジュールがリモートコピーマネージャー５０３０に対するメッセージ送信をする必要が出てきたらＩ／Ｏリクエストの返り値として定められたメッセージを含むデータをファイルシステム５０２０を通じてリモートコピーマネージャー５０３０に返す。なおこの際リモートコピーマネージャーが発行するリードシステムコールは長時間Ｋｅｒｎｅｌ内部で待たされることになる。それが好ましくない場合は、Ｉ／Ｏパスマネージャー５０００が、一定時間経過後に何もメッセージがない旨のデータをファイルシステム５０２０を通じてリモートコピーマネージャー５０３０へ返し、それを受信したリモートコピーマネージャー５０３０が再度リードシステムコールを実行すればよい。
【００４３】
（Ｂ）Ｕｎｉｘ（登録商標）ドメインソケットを用いて仮想的なネットワーク通信として扱う。具体的には、ソケットの一方のエンドをリモートコピーマネージャー５０３０が操作し、残りのエンドをＩ／Ｏパスマネージャー５０００が操作する。
【００４４】
なお、以後の説明ではＩ／Ｏパスマネージャー５０００がリモートコピーの操作や状態参照を行う場合はこのような通信によってリモートコピーマネージャー５０３０を呼び出すことで操作を行っているものとする。
【００４５】
＜４．仮想ストレージ装置１０００で実行されるプログラム及び情報＞
図６は、仮想化ストレージ装置１０００（１０００Ｌ，１０００Ｒ）とストレージ装置１５００（１５００Ｌ，１５００Ｒ）とで実行されるプログラムと、当該プログラムにより管理される情報とについて示した図である。なお、当該プログラムはメモリ１０１２（図１）と、プロセッサ１０１１（図１）と、キャッシュメモリ１０２０とによって保持と実行がされるが、その一部をハードウェア化して実行してもよい。
【００４６】
＜４．１．Ｉ／Ｏ処理プログラム６０２０、パリティグループ情報６０６０及びボリューム情報６０５０＞
パリティグループ情報６０６０には、パリティグループ毎の以下の構成に関連する情報が含まれる。
（１）パリティグループを構成するＨＤＤ１０３０の識別子。パリティグループには複数のＨＤＤ１０３０が参加しているため、当該情報はパリティグループ毎に複数存在する。
（２）ＲＡＩＤレベル
【００４７】
また、ボリューム情報６０５０には、ボリューム毎の以下の構成に関連する情報が含まれる。
（１）ボリューム容量
（２）ボリュームに対応するデータが保存されるパリティグループの識別子とパリティグループ内の領域（開始アドレスと終了アドレスの片方又は両方）。
【００４８】
Ｉ／Ｏ処理プログラム６０２０は、ボリューム情報６０５０やパリティグループ情報６０６０を参照してホスト１１００から受信したＩ／Ｏリクエストに関する以下の処理を実行する。
【００４９】
（Ａ）ステージング： ＨＤＤ１０３０に保存されたデータをキャッシュメモリ１０２０上にコピーする。
（Ｂ）デステージング：キャッシュメモリ１０２０に保存されたデータをＨＤＤ１０３０へコピーする。なお、その前の処理としてＲＡＩＤ技術による冗長データを作成してもよい。
【００５０】
（Ｃ）リード処理：ホスト１１００から受信したリードリクエストに対して、当該リクエストに対応するデータがキャッシュメモリ１０２０上に存在するかどうか判定する。そして、当該リクエストに対応するデータがキャッシュメモリ１０２０上に存在しない場合は、ステージング処理を実行して当該データをキャッシュメモリ１０２０上にコピーした後に、そのデータをホスト１１００に対して送信する。なお、キャッシュメモリ１０２０上にかかるデータが存在する場合は、当該データをホスト１１００に対して送信する。
【００５１】
（Ｄ）ライト処理：ホスト１１００から受信したライトデータをキャッシュメモリ１０２０上に保存する。なお、当該処理時にキャッシュメモリ１０２０上に十分な空き領域が無い場合はデステージング処理を実行して適切なデータをＨＤＤ１０３０上にコピーした後にキャッシュメモリ１０２０上の当該領域を流用する。また既にキャッシュメモリ１０２０上に保存された領域がライトリクエストに含まれる場合は、そのまま既存のキャッシュメモリ１０２０上の領域へ上書きすることもある。
【００５２】
（Ｅ）キャッシュアルゴリズム：キャッシュメモリ１０２０上のデータの参照頻度や参照時期等を元にＬＲＵ等のアルゴリズムによってステージングすべきＨＤＤ１０３０上のデータやデステージングすべきキャッシュメモリ１０２０上のデータを決定する。
【００５３】
＜４．２．仮想化プログラム６０３０と仮想化情報６０７０＞
仮想化情報６０７０には、仮想化ボリューム毎の以下の構成に関連する情報が含まれる。
【００５４】
（１）ストレージ装置１５００内のボリューム内の領域とその領域が仮想ボリューム上のアドレス空間のどの領域としてホスト１１００に提供するかに関する以下の情報。仮想ボリュームが複数で構成される場合は下記情報も複数存在する。
（１ー１）仮想ボリュームを構成する、ストレージ装置１５００の識別子（又はポートの識別子）と、ボリュームの識別子と、ボリューム内の領域（開始アドレスと終了アドレス）
（１ー２）仮想ボリュームにおける領域（開始アドレスと終了アドレス）
【００５５】
（２）仮想ボリュームの容量
仮想化プログラム６０３０は、仮想化ストレージ装置１０００が、ストレージ装置１５００が提供するボリュームを用いてホスト１１００にボリュームを提供するためのプログラムである。なお、仮想化プログラム６０３０が提供する仮想ボリュームと、それに対応するストレージ装置１５００上のボリュームとの対応関係として、以下のパターンがある。
【００５６】
（Ａ）ストレージ装置１５００上のボリューム全体を仮想ボリュームの記憶領域として用いる場合。この場合、仮想ボリュームの容量は選択したボリュームとおおよそ同容量となる（制御情報や冗長情報をストレージ装置１５００上のボリュームに保存する場合。当該情報等がない場合は同一容量）。
（Ｂ）ストレージ装置１５００上のボリュームの一部の領域を仮想化ボリュームに対応する保存領域として用いる場合。この場合、仮想ボリュームの容量は当該利用対象の領域容量と大体同じとなる。
【００５７】
（Ｃ）複数のストレージ装置１５００上の複数のボリュームを仮想ボリュームの記憶領域として結合して用いる場合。この場合、仮想ボリュームの容量は各ボリューム容量の合計値とおおよそ同容量となる。なお、この結合方式としてはストライピングやＣｏｎｃａｔｅｎａｔｅ（複数ボリュームを連結して一つのボリュームとして扱う方法）等がある。
（Ｄ）（Ｃ）のパターンに付随してパリティ情報やミラーデータを保存する場合。この場合、仮想ボリュームの容量はミラーデータを保存する場合は（Ｃ）の半分で、パリティを保存する場合はパリティ計算方式に依存する。ストレージ装置１５００内部でＲＡＩＤによる高信頼化と組み合わせることによって仮想ボリュームに保存されたデータについての信頼性がより向上する。
【００５８】
なお、いずれのパターンについても、Ｉ／Ｏリクエストで指定するストレージ装置識別子（又はポート識別子）とボリューム識別子（Ｉ／Ｏリクエストで用いる、仮想化ストレージ装置内又はポート配下のボリュームを識別する情報で、ＬＵＮ（Logical Unit Number）や、ＣＫＤ形式のＣＵ番号とＬＤＥＶ（Logical DEVice）番号等がある）が元々のボリュームと異なる。
【００５９】
仮想化プログラム６０３０は、ステージングやデステージング対象となるデータが仮想ボリュームに対応する場合にＩ／Ｏ処理プログラム６０２０により呼び出され、仮想化情報６０７０を用いて以下の処理を実行する。
【００６０】
（Ａ）ステージング： 仮想化ボリュームとストレージ装置１５００のボリュームの対応関係を元に、どのストレージ装置１５００のボリュームに保存されたデータをキャッシュメモリ１０２０上にコピーすべきかを決定した後に、キャッシュメモリ１０２０上へデータコピーする。
【００６１】
（Ｂ）デステージング：仮想化ボリュームとストレージ装置１５００のボリュームの対応関係を元に、どのストレージ装置１５００のボリュームへキャッシュメモリ１０２０上のデータをコピーすべきかを決定した後に、ストレージ装置１５００のボリュームへデータコピーする。なお、その前の処理としてＲＡＩＤ技術による冗長データを作成してもよい。
【００６２】
＜４．３．リモートコピープログラム６０１０とコピーペア情報６０４０＞
コピーペア情報６０４０はリモートコピーのコピー元ボリュームとコピー先ボリュームのコピーペア（ペアと省略することがある）毎に以下の情報を持つ。なお、本実施の形態では、コピー元ボリューム及びコピー先ボリュームは高可用性を実現する対象ボリュームが指定されることになる：
【００６３】
（１）コピー元ボリュームを持つ仮想化ストレージ装置１０００の識別子及びボリュームの識別子
（２）コピー先ボリュームを持つ仮想化ストレージ装置１０００の識別子とボリュームの識別子
（３）コピーペアの状態（詳細は後ほど述べる）
【００６４】
リモートコピープログラム６０１０は、コピー元ボリュームに保存されたデータをコピー先ボリュームにミラーリングするプログラムであり、コピーペア情報６０４０を参照して処理を行う。以下にリモートコピー（特に同期リモートコピー）の処理概要とペア状態について説明する。
【００６５】
＜４．３．１．同期リモートコピーのコピー処理動作＞
同期リモートコピーとは、前述の様に、コピー元の仮想化ストレージ装置１０００がホスト１１００からコピー元ボリュームに対するライトリクエストを受け付けた場合、ライトデータをコピー先の仮想化ストレージ装置１０００に送信した後に、ホスト１１００に対してライトリクエスト完了を返すリモートコピー方法である。
【００６６】
同期リモートコピーが実行される際、コピー元ボリュームとコピー先ボリュームとのペア間におけるリモートコピーの状況を管理１２００に表示したり、リモートコピーの状態を操作するために、仮想化ストレージ装置１０００のコントローラー１０１０は、コピーペア状態（Ｓｉｍｐｌｅｘ、Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ、Ｄｕｐｌｅｘ、Ｓｕｓｐｅｎｄ及びＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ）と呼ばれる情報を管理する。図７に同期リモートコピーのペア状態に関する状態遷移図を示す。以下、各ペア状態について説明する。
【００６７】
＜４．３．１．１．Ｓｉｍｐｌｅｘ状態＞
Ｓｉｍｐｌｅｘ状態は、ペアを構成するコピー元ボリュームとコピー先ボリュームとの間でコピーが開始されていない状態である。
【００６８】
＜４．３．１．２．Ｄｕｐｌｅｘ状態＞
Ｄｕｐｌｅｘ状態は、同期リモートコピーが開始され、後述する初期化コピーも完了してペアを構成するコピー元ボリューム及びコピー先ボリュームのデータ内容が同一となった状態である。本状態では、書き込み途中の領域を除けば、コピー元ボリュームのデータ及びコピー先ボリュームのデータの内容は同じとなる。なお、Ｄｕｐｌｅｘ中及びＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ及びＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態ではホスト１１００からコピー先ボリュームへのライトリクエストは拒否される。
【００６９】
＜４．３．１．３．Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態＞
Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態は、Ｓｉｍｐｌｅｘ状態からＤｕｐｌｅｘ状態へ遷移するまでの中間状態であり、この期間中に、必要ならばコピー元ボリュームからコピー先ボリュームへの初期化コピー（コピー元ボリュームに既に格納されていたデータのコピー先ボリュームへのコピー）が行われる。初期化コピーが完了し、Ｄｕｐｌｅｘ状態へ遷移するために必要な処理が終わったら、ペア状態はＤｕｐｌｅｘとなる。
【００７０】
＜４．３．１．４．Ｓｕｓｐｅｎｄ状態＞
Ｓｕｓｐｅｎｄ状態は、コピー元ボリュームに対する書き込みの内容をコピー先ボリュームに反映させない状態である。この状態では、ペアを構成しているコピー元ボリューム及びコピー先ボリュームのデータの内容は同じでない。ユーザーやホスト１１００からの指示を契機に、ペア状態は他の状態からＳｕｓｐｅｎｄ状態へ遷移する。それ以外に、仮想化ストレージ装置１０００間のネットワーク障害等が原因で同期リモートコピーを行うことが出来なくなった場合に自動的にペア状態がＳｕｓｐｅｎｄ状態に遷移することが考えられる。
【００７１】
以後の説明では、後者の場合、即ち障害により生じたＳｕｓｐｅｎｄ状態を障害Ｓｕｓｐｅｎｄ状態と呼ぶことにする。障害Ｓｕｓｐｅｎｄ状態となる代表的な原因としては、ネットワーク障害のほかに、コピー元ボリュームやコピー先ボリュームの障害、コントローラー１０１０の障害が考えられる。
【００７２】
Ｓｕｓｐｅｎｄ状態となった場合、コピー元ストレージ１０００は、Ｓｕｓｐｅｎｄ状態となった時点以降にコピー元ボリュームに対するライトリクエストがあると、ライトリクエストに従ってライトデータを受信し、コピー元ボリュームに保存するが、コピー先の仮想化ストレージ装置１０００にはライトデータを送信しない。またコピー元の仮想化ストレージ装置１０００は、書き込まれたライトデータのコピー元ボリューム上での書き込み位置を差分ビットマップ等として記憶する。
【００７３】
なおＳｕｓｐｅｎｄ状態となった時点以降にコピー先ボリュームに対してライトリクエストがあった場合には、コピー先の仮想化ストレージ装置１０００も上記の動作を行う。また、ペアが障害Ｓｕｓｐｅｎｄ状態となるより前に、当該ペアに対してフェンスと呼ばれる設定を行った場合、ペア状態が障害Ｓｕｓｐｅｎｄに遷移するとコピー元ボリュームに対するライトを拒否する。なお、コピー先の仮想化ストレージ装置１０００は障害Ｓｕｓｐｅｎｄ状態中のコピー先ボリュームに対するライトリクエストを拒否してもよい。
【００７４】
＜４．３．１．５．Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態＞
Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態は、Ｓｕｓｐｅｎｄ状態からＤｕｐｌｅｘ状態に遷移するまでの中間状態である。この状態では、コピー元ボリューム及びコピー先ボリュームのデータの内容を一致させるために、コピー元ボリュームからコピー先ボリュームへのデータのコピーが実行される。コピー元ボリューム及びコピー先ボリュームのデータの内容が同一になった後、ペア状態はＤｕｐｌｅｘとなる。
【００７５】
なお、Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態におけるデータのコピーは、Ｓｕｓｐｅｎｄ状態の間、コピー元の仮想化ストレージ装置１０００又はコピー先の仮想化ストレージ装置１０００が記録した書き込み位置（例えば上述の差分ビットマップ等）を利用して、更新が必要な部分（即ちコピー元ボリュームとコピー先ボリュームとのデータの不一致部分）だけをコピーする差分コピーによって実行される。
【００７６】
また、以上の説明ではＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態とＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態は別々な状態としたが、これらをまとめて一つの状態として管理ホスト１２００の画面に表示したり、状態を遷移させても良い。
【００７７】
＜４．３．１．６．ペア操作指示＞
ペア状態はホスト１１００や管理ホスト１２００からの以下の指示によって他の状態へ遷移する。
【００７８】
（Ａ）初期化指示：Ｓｉｍｐｌｅｘ状態にて本指示を受信するとＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態へ遷移する。
（Ｂ）再同期指示：Ｓｕｐｅｎｄ状態又は障害Ｓｕｓｐｅｎｄ状態にて本指示を受信するとＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態へ遷移する。
（Ｃ）分割指示：Ｄｕｐｌｅｘ状態にて本指示を受信するとＳｕｓｐｅｎｄ状態へ遷移する。
（Ｄ）コピー方向反転指示：Ｄｕｐｌｅｘ状態、Ｓｕｓｐｅｎｄ状態又は障害Ｓｕｓｐｅｎｄ状態にて本指示を受信すると、コピー元とコピー先との関係が反転する。Ｄｕｐｌｅｘ状態の場合は、本指示を受信することでコピー方向も反転する。
【００７９】
なお、初期化指示はコピー元の仮想化ストレージ装置１０００及びコピー元ボリュームと、コピー先の仮想化ストレージ装置１０００及びコピー先ボリュームとを指定することが考えられ、その他の指示については既にペア関係が出来上がっているため当該関係を示す識別子（コピー元の仮想化ストレージ装置１０００及びコピー元ボリュームと、コピー先の仮想化ストレージ装置１０００及びコピー先ボリュームとの組み合わせもその識別子の一つである）を指示すればよい。
【００８０】
＜５．ストレージ装置１５００で実行されるプログラム及び情報＞
図６にはストレージ装置１５００にて実行されるプログラム及び情報について記されているが、それぞれのプログラム及び情報は仮想化ストレージ装置１０００と同様の動作を行う。
【００８１】
＜６．デバイス関係テーブル５００１＞
図８はデバイス関係テーブル５００１が有する情報を示した図である。デバイス関係テーブル５００１は、Ｉ／Ｏパスマネージャー５０００が提供するホスト１１００内で仮想的なボリューム（より正確には当該ボリュームに対応する識別子）毎に以下の情報を管理する。
【００８２】
（Ａ）ホスト１１００内で仮想的なボリュームの識別子
（Ｂ）関係ボリューム識別子リスト：上記ホスト１１００で仮想的なボリュームの実体となりうるストレージ装置１５００のボリュームの識別子が入る。なお、個々の識別子はＩ／Ｏパスマネージャー５０００の下位レイヤであるＨＢＡデバイスドライバー５０１０が割り当てた識別子を用いる。本実施の形態においては、正系の仮想化ストレージ装置１０００（１０００Ｌ）が有するボリュームと副系の仮想化ストレージ装置１０００（１０００Ｒ）が有するボリュームの識別子がリストアップされる（通常状態ならば）。
【００８３】
（Ｃ）正系ボリューム：（Ｂ）でリストアップしたどちらのボリュームが正系かを示す。
（Ｄ）障害状態
（Ｅ）ペア状態
【００８４】
なお、ファイルシステム５０２０の視点からは（Ａ）の識別子も（Ｂ）の識別子も同様の扱いとするため、（Ａ）や（Ｂ）の識別子はそれぞれ重複が許されない。また（Ａ）と（Ｂ）をあわせた場合にも重複が許されないため、Ｉ／Ｏパスマネージャー５０００はその点を考慮して（Ａ）の識別子を生成する必要がある。
【００８５】
＜７．初期化処理＞
図９は、Ｉ／Ｏパスマネージャー５０００の初期化処理について記したフローチャートである。以下、このフローチャートを参照して、かかる初期化処理について説明する。なお、以下においては各種処理の処理主体を「Ｉ／Ｏパスマネージャー５０００」として説明する場合があるが、実際上は、ホスト１１００のプロセッサ１１０１（図１）が「Ｉ／Ｏパスマネージャー５０００」というプログラムに基づいて対応する処理を実行することは言うまでもない。
【００８６】
（Ｓ９００１）Ｉ／Ｏパスマネージャー５０００は、管理ホスト１２００やホスト１１００のユーザーからの以下の情報を含んだ初期化指示を受信する。尚、二重化システムの初期化処理として、ＨＡ（ハイ  アベイラビリティ）初期化指示ともいう。
（Ａ）正系の仮想化ストレージ装置１０００とその中のボリューム
（Ｂ）副系の仮想化ストレージ装置１０００とその中のボリューム
【００８７】
（Ｓ９００２）Ｉ／Ｏパスマネージャー５０００は、Ｓ９００１で指示された仮想化ストレージ装置１０００の両方と通信をしてボリュームの存在の有無及び容量を取得する。
（Ｓ９００３）Ｉ／Ｏパスマネージャー５０００は、Ｓ９００１で指定されたボリュームが存在し、同容量であることを確認する。確認できない場合は、Ｉ／Ｏパスマネージャー５０００は指示発信元へエラーを返す。
【００８８】
（Ｓ９００４）Ｉ／Ｏパスマネージャー５０００は、仮想化ストレージ装置１０００の一つ又は両方に対して、リモートコピー初期化指示を送信する。この初期化指示には正系のボリュームをコピー元ボリューム、副系のボリュームをコピー先ボリュームとして指示を出す。本指示によって仮想化ストレージ装置１０００はリモートコピーを開始する。
【００８９】
（Ｓ９００５）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１に以下の情報を登録し、その後初期化指示の発信元へ初期化開始応答を返す。
（Ａ）ホスト１１００内で仮想的なボリュームの識別子（＝Ｉ／Ｏパスマネージャー５０００が作成した値）
（Ｂ）関係ボリューム識別子リスト（＝Ｓ９００１で指定された仮想化ストレージ装置１０００とボリュームに対応する識別子が二つ（正系及び副系の両方））。
（Ｃ）正系ボリューム（＝Ｓ９００１で指定された正系ボリューム）の識別子
（Ｄ）障害状態（＝副系準備中）
（Ｅ）ペア状態（＝Ｉｎｉｔｉａｌ−Ｃｏｐｙｉｎｇ）
【００９０】
（Ｓ９００６）Ｉ／Ｏパスマネージャー５０００は、リモートコピーのペア状態を監視し、Ｄｕｐｌｅｘ状態に遷移したらデバイス関係テーブル５００１を以下の情報に更新する。
（Ｄ）障害状態（＝通常状態）
（Ｅ）ペア状態（＝Ｄｕｐｌｅｘ）
【００９１】
以上の処理によって、Ｉ／Ｏパスマネージャー５０００は、ユーザー指示に応じてリモートコピーの設定を含めた高可用化のための準備を開始することができる。なお、実際にはＳ９００５の直後にＩ／Ｏパスマネージャー５０００がホスト１１００内で仮想的なボリュームを提供できるため、ファイル形式でアクセスしたいユーザーは当該ボリュームに対するマウント指示等を出して、ファイルＩ／Ｏを開始することができる。また、別な方法としてＩ／Ｏパスマネージャー５０００はリモートコピー設定前に既に高可用化すべきボリュームに対応するホスト１１００内で仮想的なボリュームを定義し、ファイルシステム５０２０も当該ボリュームをマウントした状態から、ユーザーが副系となるボリュームを指定することによって上記の処理を開始してもよい。
【００９２】
＜８．ライトリクエスト処理フロー＞
図１０は、Ｉ／Ｏパスマネージャー５０００がファイルシステム５０２０からライトリクエストを受信した時の処理フローを示した図である。
【００９３】
（Ｓ１０００１）Ｉ／Ｏパスマネージャー５０００は、ファイルシステム５０２０より、ライト先となるホスト１１００内の仮想的なボリュームの識別子と、当該ボリュームのライト位置と、ライト長とを含むライトリクエスト関数を呼び出される（又はメッセージを受信する）。
（Ｓ１０００２）Ｉ／Ｏパスマネージャー５０００は、当該仮想的なボリュームの障害状態を確認し、リモートコピー失敗状態ならばＳ１００２０の両書き処理に制御を移し、それ以外ならばＳ１０００３を実行する。
【００９４】
（Ｓ１０００３）Ｉ／Ｏパスマネージャー５０００は、正系ボリュームに対してライトリクエストを発行する。なお、当該ライトリクエストの発行は実際は下位レイヤのＨＢＡデバイスドライバー５０１０を呼び出すことで実現する。
（Ｓ１０００４）Ｉ／Ｏパスマネージャー５０００は、ライトリクエストの応答を確認し、正常終了ならばファイルシステム５０２０に対して完了応答を返し、リモートコピー失敗ならＳ１００２０の両書き処理に制御を移し、無応答など、これ以外の場合はＳ１００１０の切り替え処理に制御を移す。
【００９５】
なお、Ｓ１００２０の両書き処理は以下のステップで実行される。
（Ｓ１００２１）リモートコピーの設定によって、正系又は副系のボリュームに対するライトが拒否されている場合は、Ｉ／Ｏパスマネージャー５０００はこの設定を解除する。
（Ｓ１００２２）Ｉ／Ｏパスマネージャー５０００は、正系ボリュームに対してライトリクエストを発行する。
（Ｓ１００２３）Ｉ／Ｏパスマネージャー５０００は、副系ボリュームに対してライトリクエストを発行する。Ｉ／Ｏパスマネージャー５０００は、正系と副系の両方からのライトリクエスト応答の到着を待って、ファイルシステム５０２０に対して完了応答を返す。
【００９６】
＜８．１．切り替え処理のフロー＞
以下、引き続き切り替え処理にて実現される処理を説明する。
【００９７】
（Ｓ１００１１）Ｉ／Ｏパスマネージャー５０００は、まず、デバイス関係テーブル５００１の障害状態を参照することで副系ボリュームが使用可能であるか確認し、使用不可能だと判断した場合はファイルシステム５０２０に対してエラー応答を返し、利用可能であればＳ１００１２を実行する。なお、使用不可能と判断できる状態としては、副系なし（障害によって副系の仮想化ストレージ装置１０００が機能してない場合や、初めから副系の仮想化ストレージ装置１０００を設定していないボリュームの場合）の状態や、前述の初期化準備中の状態がある。
【００９８】
（Ｓ１００１２）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００に対してリモートコピーの停止指示を発行し、コピー状態がＳｕｓｐｅｎｄ状態となったことを確認後、コピー方向反転指示を指示する。
（Ｓ１００１３）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００に対してリモートコピーの再同期指示を発行する。なお、実際に再同期が完了してペア状態がＤｕｐｌｅｘ状態に遷移するまで待つ必要はない。
【００９９】
（Ｓ１００１４）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の正系ボリューム識別子をこれまで副系であったボリューム識別子に更新し、正系と副系を入れ替える。そして新たに正系となったボリュームに対してライトリクエストを、ＨＢＡデバイスドライバー５０１０を通じて送信する。
（Ｓ１００１５）Ｉ／Ｏパスマネージャー５０００は、ライトリクエストの応答を確認し、正常終了ならばファイルシステム５０２０に対して完了応答を返し、エラーならばエラー応答を返して終了する。
【０１００】
＜８．１．１．両書き処理中のライトリクエスト失敗への対策＞
Ｓ１００２０の両書き処理中にＳ１００２２の正系ボリュームに対するライトリクエストが失敗に終わった場合は、Ｓ１００１０の切り替え処理に制御を移すことが考えられる。また、Ｓ１００２３の副系ボリュームに対するライトリクエストが失敗に終わった場合は、デバイス関係テーブル５００１の障害状態を'副系なし'に変更し、ライト完了とする。
【０１０１】
また、両書き処理中はペア状態が障害Ｓｕｓｐｅｎｄ状態であるため、仮想化ストレージ装置１０００のボリュームにはリモートコピーの差分ビットマップによってライト位置が記される。しかし、両書き処理によって両ボリュームに書かれるライトデータは同一であるため、両書き処理が正常に行われている間はこの差分ビットマップへの記録を回避し、通信障害回復後の再同期処理では差分データだけコピーできるようにすることが望ましい。その解決策として、両書き処理が正常に行われている間は正系と副系両方の仮想化ストレージ装置１０００の当該ボリュームの差分ビットマップを一定時間ごとに繰り返しクリアすることが考えられる。この方式ではクリア指示をライトリクエスト毎に発行する必要がなく、かつリモートコピーの再同期では対象ボリュームの全領域コピーは回避できる。なぜならば、直近に実施したクリア以後に行われた両書きのライトリクエストは両書きが失敗したライトリクエストと共にライト位置が差分ビットマップに記録されるが、両書きにて記録されたデータ領域が再同期でコピーされた場合もコピー先のデータ内容が変わらないため、データ不整合やコピー漏れ領域が発生しないからである。
【０１０２】
なお、上記解決策では正系と副系両方の差分ビットマップをクリアするために一時的にライトリクエストの処理を停止してもよい。その停止方法としてはＩ／Ｏパスマネージャー５０００がファイルシステム５０２０から受け取ったライトリクエストを、両方の差分ビットマップのクリアが完了するまで、仮想化ストレージ装置１０００へ転送しない方法が考えられるし、正系の仮想化ストレージ装置１０００にて、両方の差分ビットマップのクリアが完了するまでライトリクエストの処理を保留する方法も考えられる。
【０１０３】
第２の回避策としては、正系と副系のボリュームに対してそれぞれ２面の差分ビットマップを割り当てる方式がある。以下にその処理内容を示す。
【０１０４】
（初期状態）正系と副系の仮想化ストレージ装置１０００は、それぞれ２面の差分ビットマップの片面に対してライトリクエストの位置を記録する。そのために、両仮想化ストレージ装置１０００は、アクティブ面（ライトリクエスト到着時にライト位置を記録する面を指し、もう一面の差分ビットマップは非アクティブ面と呼ぶ）に関する情報を保持・管理する。また、非アクティブ面の差分ビットマップは何も記録されていない状態が望ましい。
【０１０５】
（Ｓｔｅｐ１）正系の仮想化ストレージ装置１０００は、アクティブ面の管理情報を非アクティブ面になっていたもう一つの差分ビットマップへ更新することで、ライトリクエストの位置の記録先となる差分ビットマップを切り替え、以後のライトリクエストは切り替え後の差分ビットマップへ記録する。副系の仮想化ストレージ装置１０００も同様に切り替える。なお、当該切り替え処理開始の契機はＩ／Ｏパスマネージャー５０００が両仮想化ストレージ装置１０００へ与える。なお、正系と副系の切り替え処理はどちらが先に実行してもよく、並列に実行してもよい。
【０１０６】
（Ｓｔｅｐ２）Ｉ／Ｏパスマネージャー５０００は、両仮想化ストレージ装置１０００からの切り替え完了の応答を待ってから、両仮想化ストレージ装置１０００に対して差分ビットマップのクリア指示を出す。クリア指示を受信した仮想化ストレージ装置１０００は、非アクティブ面となっている差分ビットマップのライト位置をクリアし、Ｉ／Ｏパスマネージャー５０００へ応答を返す。切り替え処理と同様に、正系と副系のクリア処理はどちらが先に実行してもよく、並列に実行してもよい。
【０１０７】
（Ｓｔｅｐ３）Ｉ／Ｏパスマネージャー５０００は、両仮想化ストレージ装置１０００からのクリア完了の応答を待ち、時間経過後にＳｔｅｐ１から再度実行する。
【０１０８】
本解決策の場合、通信障害回復後の再同期処理では、正系と副系のビットマップ４面の論理和を計算することで、Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態中に差分コピーを行う領域を決定することができる。また本方式ではビットマップの面数が多いものの、ライトリクエストの保留は必要ない。
【０１０９】
第３の解決策としては、上記第２の解決策の変形の以下の方式がある。
（初期状態）正系及び副系の仮想化ストレージ装置１０００は、それぞれ２面の差分ビットマップの両面に対してライトリクエストの位置を記録する。また、両仮想化ストレージ装置１０００は前回クリアを行った差分ビットマップ面に関する情報を保持・管理しておく。
【０１１０】
（Ｓｔｅｐ１）Ｉ／Ｏパスマネージャー５０００は、両仮想化ストレージ装置１０００に対して差分ビットマップのクリア指示を出す。クリア指示を受信した仮想化ストレージ装置１０００は、前回クリアした差分ビットマップでないもう一つの差分ビットマップのライト位置をクリアし、Ｉ／Ｏパスマネージャーへ応答を返す。
（Ｓｔｅｐ３）Ｉ／Ｏパスマネージャー５０００は、両仮想化ストレージ装置１０００からのクリア完了の応答を待ち、時間経過後にＳｔｅｐ１から再度実行する。
【０１１１】
＜９．リードリクエスト処理フロー＞
図１１はＩ／Ｏパスマネージャー５０００がファイルシステム５０２０からリードリクエストを受信したときの処理内容を示すフローチャートである。
【０１１２】
（Ｓ１１００１）Ｉ／Ｏパスマネージャー５０００は、ファイルシステム５０２０より、リード先となるホスト内の仮想的なボリュームの識別子と、当該ボリュームのライト位置と、ライト長とを含むライトリードリクエスト関数を呼び出される（又はメッセージを受信する）。
【０１１３】
（Ｓ１１００２）Ｉ／Ｏパスマネージャー５０００は、当該仮想的なボリュームの障害状態を確認し、通常状態でかつ正系ボリュームに対するＩ／Ｏ負荷が高い場合（たとえば、一定ＩＯＰＳを超える場合や一定帯域を超える場合等）と判断したときにはＳ１１０２１を実行し、それ以外の状態（副系なし、副系準備中、通常状態等）のときにはＳ１１００３を実行する。
【０１１４】
（Ｓ１１００３）Ｉ／Ｏパスマネージャー５０００は、正系ボリュームに対してリードリクエストを発行する。
（Ｓ１１００４）Ｉ／Ｏパスマネージャー５０００は、リードリクエストの応答を確認し、正常終了ならばファイルシステム５０２０に対して完了応答を返し、それ以外ならばＳ１１０１０の切り替え処理に制御を移す。
【０１１５】
（Ｓ１１０２１）Ｉ／Ｏパスマネージャー５０００は、副系ボリュームに対してリードリクエストを発行する。
（Ｓ１１０２２）Ｉ／Ｏパスマネージャー５０００は、リードリクエストの応答を確認し、正常終了ならばファイルシステム５０２０に対して完了応答を返し、それ以外ならばＳ１１０２３を実行する。
（Ｓ１１０２３）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の障害状態を'副系なし'に更新し、Ｓ１１００３を実行する。
【０１１６】
＜９．１．切り替え処理のフロー＞
以下、引き続き切り替え処理にて実現される処理を説明する。
（Ｓ１１０１１）Ｉ／Ｏパスマネージャー５０００は、まず、デバイス関係テーブル５００１の障害状態を参照することで副系ボリュームが使用可能であるか確認し、使用不可能だと判断した場合はファイルシステム５０２０に対してエラー応答を返し、利用可能だと判断した場合はＳ１１０１２を実行する。なお、使用不可能と判断できる状態としては、副系なし（障害によって副系の仮想化ストレージ装置１０００が機能してない場合や、初めから副系の仮想化ストレージ装置１０００を設定していないボリュームの場合）の状態や、前述の初期化準備中の状態がある。
【０１１７】
（Ｓ１００１２）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００に対してリモートコピーの停止指示を発行し、コピー状態がＳｕｓｐｅｎｄ状態となったことを確認後、コピー方向反転指示を指示する。
（Ｓ１００１３）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００に対してリモートコピーの再同期指示を発行する。なお、実際に再同期が完了してペア状態がＤｕｐｌｅｘ状態に遷移するまで待つ必要はない。
【０１１８】
（Ｓ１００１４）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の正系ボリューム識別子をこれまで副系であったボリュームの識別子に更新し、正系と副系を入れ替える。そして新たに正系となったボリュームに対してリードリクエストを、ＨＢＡデバイスドライバー５０１０を通じて送信する。
（Ｓ１００１５）Ｉ／Ｏパスマネージャー５０００は、リードリクエストの応答を確認し、正常終了ならばファイルシステム５０２０に対して完了応答を返し、エラーならばエラー応答を返して終了する。
【０１１９】
＜１０．障害対策処理フロー＞
本章では、Ｉ／Ｏパスマネージャー５０００が障害を検知してから回復を完了するまでの処理の流れを説明する。なお、本処理は定期的にバックグラウンドで実行される。
【０１２０】
＜１０．１．仮想化ストレージ装置１０００間のネットワーク障害＞
（Ｓｔｅｐ１）Ｉ／Ｏパスマネージャー５０００は、リモートコピーのペア状態を監視し、障害Ｓｕｓｐｅｎｄ状態を発見することで何らかの障害発生を検知する。
【０１２１】
（Ｓｔｅｐ２）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００に対してリモートコピーの停止指示を発行し、コピー状態がＳｕｓｐｅｎｄ状態となった事を確認後、コピー方向を反転し、各仮想化ストレージ装置１０００に対して状態問い合わせを行い、仮想化ストレージ装置１０００自体に障害が発生しておらず、ネットワーク障害が原因であることを確認したら、デバイス関係テーブル５００１の障害状態を'リモートコピー失敗'に更新する。なお、本処理はストレージ管理者が行った作業結果を利用してもよい。
【０１２２】
（Ｓｔｅｐ３）当該ネットワークが回復するまで待つ。
（Ｓｔｅｐ４）Ｉ／Ｏパスマネージャー５０００は、正系の仮想化ストレージ装置１０００に対してペアの再同期指示を発行する。
（Ｓｔｅｐ５）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の障害状態を'副系準備中'に更新する。
（Ｓｔｅｐ６）Ｉ／Ｏパスマネージャー５０００は、ペア状態がＤｕｐｌｅｘになるまで待った後に、デバイス関係テーブル５００１の障害状態を'通常状態'に更新する。
【０１２３】
＜１０．２．正系仮想化ストレージ装置１０００の障害停止＞
（Ｓｔｅｐ１）Ｉ／Ｏパスマネージャー５０００は、正系の仮想化ストレージ装置１０００の状態を監視することで障害発生を検知する。
（Ｓｔｅｐ２）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の正系ボリュームの識別子を副系ボリュームの識別子に変更することで以後のＩ／Ｏリクエスト先を副系の仮想化ストレージ装置１０００に切り替え、さらに障害状態を'副系なし'に更新する。
（Ｓｔｅｐ３）Ｉ／Ｏパスマネージャー５０００は、旧正系（Ｓｔｅｐ２にて切り替えたので現副系）の仮想化ストレージ装置１０００が回復するまで待つ。
【０１２４】
（Ｓｔｅｐ４）Ｉ／Ｏパスマネージャー５０００は、正系の仮想化ストレージ装置１０００に対してペアの再同期指示又は初期化指示を発行する。
（Ｓｔｅｐ５）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の障害状態を'副系準備中'に更新する。
（Ｓｔｅｐ６）Ｉ／Ｏパスマネージャー５０００は、ペア状態がＤｕｐｌｅｘになるまで待った後に、デバイス関係テーブル５００１の障害状態を'通常状態'に更新する。
【０１２５】
＜１０．３．副系仮想化ストレージ装置１０００の障害停止＞
（Ｓｔｅｐ１）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００の状態を監視することで障害発生を検知する。
（Ｓｔｅｐ２）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の障害状態を'副系なし'に更新する。
（Ｓｔｅｐ３）Ｉ／Ｏパスマネージャー５０００は、副系の仮想化ストレージ装置１０００が回復するまで待つ。
【０１２６】
（Ｓｔｅｐ４）Ｉ／Ｏパスマネージャー５０００は、正系の仮想化ストレージ装置１０００に対してペアの再同期指示又は初期化指示を発行する。
（Ｓｔｅｐ５）Ｉ／Ｏパスマネージャー５０００は、デバイス関係テーブル５００１の障害状態を'副系準備中'に更新する。
（Ｓｔｅｐ６）Ｉ／Ｏパスマネージャー５０００は、ペア状態がＤｕｐｌｅｘになるまで待った後に、デバイス関係テーブル５００１の障害状態を'通常状態'に更新する。
【０１２７】
＜１１．もう一つの初期化方法＞
これまでの説明では、Ｉ／Ｏパスマネージャー５０００に出された初期化要求に応じて仮想化ストレージ装置１０００にリモートコピーの設定を行ったが、以下に示す逆の方法も考えられる。
【０１２８】
（Ｓｔｅｐ１）管理ホスト１２００は、仮想化ストレージ装置１０００に対してリモートコピーのペア初期化指示を出することで、リモートコピーを開始する。
（Ｓｔｅｐ２）Ｉ／Ｏパスマネージャー５０００は、スキャニング要求を受信する。
（Ｓｔｅｐ３）Ｉ／Ｏパスマネージャー５０００は、ＨＢＡデバイスドライバー５０１０を通じて各ボリュームに対するリモートコピーの設定（リモートコピー設定の有無やコピー元かコピー先か、ペアの相手となる仮想化ストレージ装置１０００とボリューム）を取得する。なお、この取得方法としてＩ／Ｏネットワーク上でＳＣＳＩコマンドを使うことも考えられるし、それ以外の通信ネットワークを用いて情報を取得してもよい。
【０１２９】
（Ｓｔｅｐ４）Ｉ／Ｏパスマネージャー５０００は、前ステップで取得した情報を元に、デバイス関係テーブル５００１を作成し、これまで説明してきた処理を開始する。なお、当該デバイス関係テーブル５００１の作成例としては以下がある。
（Ａ）ホスト１１００内で仮想的なボリュームの識別子＝Ｉ／Ｏパスマネージャー５０００が作成した値
（Ｂ）関係ボリューム識別子リスト＝リモートコピーのコピー元ボリュームとコピー先ボリュームの識別子
（Ｃ）正系ボリューム＝リモートコピーのコピー元ボリューム
（Ｄ）障害状態＝仮想化ストレージ装置１０００から取得したペア状態がＤｕｐｌｅｘ状態ならば'通常状態'、Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ又はＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態ならば'副系準備中'、Ｓｕｓｐｅｎｄ又は障害Ｓｕｓｐｅｎｄ状態ならば'リモートコピー失敗'
（Ｅ）ペア状態＝仮想化ストレージ装置１０００から取得したペア状態
【０１３０】
以上、これまで説明したハードウェア及びプログラムの動作によって本実施の形態では高可用性を実現する。なお、図１０と図１１等に記した切り替え処理に長時間要する場合の対策として、Ｉ／Ｏパスマネージャー５０００がＩ／Ｏリクエストを再送信する必要が出てきた場合に、予備処理として前記切り替え処理の一部を実行してもよい。この場合、再送信したＩ／Ｏリクエストが正常応答で返ってきた場合は先行して行った切り替え処理を元に戻せば良く、一方で再送信したＩ／Ｏリクエストがエラー応答で返ってきたり、まったく応答がなければ前記切り替え処理の残り部分を実行すればよい。また、本実施の形態は全てのボリュームが仮想化ストレージ装置１０００によって仮想化され、実体がストレージ装置１５００にある仮想ボリュームで、仮想化ストレージ装置１０００は仮想化専用のアプライアンスであってもよく、またその逆に全てのボリュームの実体が仮想化ストレージ装置１０００の内部にある構成であってもよい。また、仮想化ストレージ装置１０００が提供するボリュームには容量以外にもさまざまな属性が設定されることがある（たとえば、エミュレーションタイプやＳＣＳＩ規格で定められたＩｎｑｕｉｒｙコマンドで取得可能なボリューム識別番号がある）。
【０１３１】
こうした属性情報や属性変更もリモートコピーによって正系の仮想化ストレージ装置から副系の仮想化ストレージ装置へ転送し、両方の仮想化ストレージ装置にて管理することも考えられる。
【０１３２】
＜１２．もう一つのリード／ライト処理＞
図１０や図１１に記したライト・リード処理では、Ｉ／Ｏパスマネージャー５０００が明示的にリモートコピーの操作を仮想化ストレージ装置１０００へ転送する。しかし、当該リモートコピーの操作が仮想化ストレージ装置１０００のベンダー毎に異なる場合があるため、Ｉ／Ｏパスマネージャー５０００のライト処理やリード処理に含めないほうが好ましい場合がある。図１９〜図２１にこうした形態での処理内容を示す。なお、以下においては各種処理の処理主体を「仮想化ストレージ装置１０００」として説明する場合があるが、実際上は、その仮想化ストレージ装置１０００内のプロセッサ１０１１（図１）がメモリ１０１２（図１）に格納されたプログラムに基づいて対応する処理を実行することは言うまでもない。
【０１３３】
＜１２．１．Ｉ／Ｏパスマネージャーのライト処理＞
図１９は、Ｉ／Ｏパスマネージャー５０００で実行されるライト処理の処理内容を示したフローチャートである。図１９のＳ１９００１〜Ｓ１９０２３の各ステップにおける処理内容は、図１０のＳ１０００１〜Ｓ１００２３の対応するステップにおける処理内容と同様である。図１９は、以下の点が図１０と異なる。
（相違点１）リモートコピーの操作Ｓ１９０１２、Ｓ１９０１３，Ｓ１９０２１がスキップされる。
（相違点２）リモートコピー失敗時のフローＳ１９０２０に到達しない。ただし、本相違点は通常のリード／ライト処理ではリモートコピー失敗を意味するエラーメッセージを識別できない場合に限った話である。
【０１３４】
＜１２．２．ストレージ装置１０００の処理＞
図２１は、仮想化ストレージ装置１０００がライトリクエストを受信した時に行うリモートコピーの操作について示した図である。
【０１３５】
（Ｓ２１００１）仮想化ストレージ装置１０００は、ライトリクエストを受信する。
（Ｓ２１００２）仮想化ストレージ装置１０００は、ライトリクエストが対象とするボリュームがリモートコピーに関係するかどうか判断し、無関係の場合はＳ２１００３を実行し、関係する場合はＳ２１００４を実行する。
（Ｓ２１００３）仮想化ストレージ装置１０００は、通常のライト処理を行い、ホスト１１００へ応答を返して終了する。
【０１３６】
（Ｓ２１００４）仮想化ストレージ装置１０００は、ライトリクエストが対象とするボリュームのリモートコピーの属性を判断し、コピー元属性の場合はＳ２１００５を実行し、コピー先属性の場合はＳ２１０１１を実行する。
（Ｓ２１００５）仮想化ストレージ装置１０００は、同期リモートコピー処理を実行し、副系ストレージへライトデータを転送し、応答を待つ。
（Ｓ２１００６）仮想化ストレージ装置１０００は、コピーが成功したかどうか判断し、成功ならばＳ２１００８を実行し、失敗ならばＳ２１００７を実行する。
（Ｓ２１００７）仮想化ストレージ装置１０００は、対象ボリュームがコピー元となるリモートコピーペアの状態を障害Ｓｕｓｐｅｎｄ状態に遷移する。ただし、当該ボリュームに対するライトは禁止しない。
【０１３７】
（Ｓ２１００８）仮想化ストレージ装置１０００は、通常のライト処理を行い、ホスト１１００へ応答を返して終了する。
（Ｓ２１０１１）仮想化ストレージ装置１０００は、リモートコピーを停止し、コピー元とコピー先の関係を反転する。
（Ｓ２１０１２）仮想化ストレージ装置１０００は、再同期処理を開始する。
（Ｓ２１０１３）仮想化ストレージ装置１０００は、通常のライト処理を行い、ホスト１１００へ応答を返して終了する。
【０１３８】
なお、Ｓ２１０１２の再同期処理は完了まで待たなくても良い。なぜならば、Ｓ２１０１２を実行する仮想化ストレージ装置１０００は副系であり、正系の仮想化ストレージ装置１０００が正常動作しているとは限らないこと、及び再同期処理が完了するまでの時間が長いことが考えられるからである。なお、こうしたケースは＜１０．障害対策処理フロー＞で述べた処理によって回復される点はこれまでと同じである。
【０１３９】
＜１２．３．Ｉ／Ｏパスマネージャーのリード処理＞
図２０は、Ｉ／Ｏパスマネージャー５０００で実行されるリード処理の処理内容を示すフローチャートである。図２１のＳ２０００１〜Ｓ２００２３の各ステップにおける処理内容は、図１１のＳ１１００１〜Ｓ１１０２３の対応するステップにおける処理内容と同様である。図２１は、以下の点が図１１と異なる。
（相違点１）リモートコピーの操作Ｓ１１０１２、Ｓ１１０１３がスキップされる。
【０１４０】
なお、図１１ではリード処理に応じてリモートコピーの向きが反転したが、本処理では反転させない。なぜならば、副系の仮想化ストレージ装置１０００に対するリードリクエストは正系の仮想化ストレージ装置１０００が（ホスト＝仮想化ストレージ装置間の通信障害による原因を含めて）応答を返さない場合に加えて、正系の仮想化ストレージ装置１０００の過負荷が原因の場合もあるからである。そのため、副系の仮想化ストレージ装置１０００がコピー先ボリュームに対するリードリクエストを契機としてリモートコピーのペア反転を行うと、たまたま副系の仮想化ストレージ装置１０００に出されたリードリクエストでペアが反転し、その次のリードリクエストで再びペアが反転してしまうため、リード性能が悪化する結果となるからである。
【０１４１】
ただし、Ｓ２００２１の実行が抑制される場合は、仮想化ストレージ装置１０００はリード処理に際して以下の処理を行うことでリモートコピーのペア反転を行っても良い。
（Ｓｔｅｐ１）仮想化ストレージ装置１０００は、リードリクエストを受信する。
（Ｓｔｅｐ２）仮想化ストレージ装置１０００は、通常のリード処理を行う。
（Ｓｔｅｐ３）仮想化ストレージ装置１０００は、リード対象のボリュームがリモートコピーのコピー先ボリュームであるかどうかを判断し、該当する場合は次のＳｔｅｐ４を実行し、そうでない場合は終了する。
（Ｓｔｅｐ４）仮想化ストレージ装置１０００は、リモートコピーを停止し、コピー元とコピー先の関係を反転する。
【０１４２】
（２）第２の実施の形態
次に第２の実施の形態について図１２を用いて説明する。第１の実施の形態と異なる点は、ストレージ装置１５００Ｌが複数の仮想化ストレージ装置１０００Ｌ，１０００Ｒに接続され、これら仮想化ストレージ装置１０００Ｌ，１０００Ｒがストレージ装置１５００Ｌ内のボリュームを共有することによって、仮想化ストレージ装置１０００Ｌ，１０００Ｒの片方が停止した場合でも第１の実施の形態よりも低コストでサービスが継続できるようになる点である。
【０１４３】
ただし、仮想化ストレージ装置１０００Ｌ，１０００Ｒはキャッシュメモリ１０２０Ｌ，１０２０Ｒを有するため、仮想化ボリュームに対してライトデータを書き込んだ直後に正系の仮想化ストレージ装置１０００Ｌが災害停止した場合に備えて、ライトデータを副系の仮想化ストレージ装置１０００Ｒのキャッシュメモリ１０２０Ｒにも保存する必要があり、また両方の仮想化ストレージ装置１０００Ｌ，１０００Ｒのデステージングやステージングに対して工夫が必要となる。
【０１４４】
通常状態におけるライトリクエストは以下のステップにて処理される。
（Ｓｔｅｐ１）ホスト１１００からライトリクエストを受信した正系の仮想化ストレージ装置１０００Ｌは当該ライトリクエストが当該仮想化ストレージ装置１０００Ｌ内部のＨＤＤ１０３０に対応するボリューム３０００ＬＡ宛なのか、両方の仮想化ストレージ装置１０００Ｌ，１０００Ｒがストレージ装置１５００Ｌのボリューム３５００Ｌを共有して提供する仮想化ボリューム（以後、共有仮想化ボリュームと呼ぶ）３０００ＬＢ宛なのか、通常の仮想化ボリューム宛なのかを判断する。なお、共有仮想化ボリューム３０００ＬＢ以外の処理については第１の実施の形態と同様の処理を行う。
【０１４５】
（Ｓｔｅｐ２）正系の仮想化ストレージ装置１０００Ｌは自身のキャッシュメモリ１０２０Ｌに当該ライトデータを保存すると共に、当該ライトデータをリモートコピープログラムによって副系の仮想化ストレージ装置１０００Ｒのキャッシュメモリ１０２０Ｒに保存した後に、ホスト１１００に対して正常応答を返す。
【０１４６】
（Ｓｔｅｐ３）正系の仮想化ストレージ装置１０００Ｌのキャッシングアルゴリズムが出ステージすべきキャッシュメモリ１０２０Ｌ上のデータを決定し、当該データをストレージ装置１５００Ｌのボリュームにデステージする。
【０１４７】
（Ｓｔｅｐ４）デステージ完了後、正系の仮想化ストレージ装置１０００Ｌはデステージしたキャッシュメモリ１０２０Ｌ上のデータのアドレスを破棄するように副系の仮想化ストレージ装置１０００Ｒに指示する。なお、指示を受けた副系の仮想化ストレージ装置１０００Ｒは指示を受けたデータをキャッシュメモリ１０２０Ｒから破棄する。
【０１４８】
なお、本構成では仮想化ストレージ装置１０００Ｌ，１０００Ｒ間のネットワークが切断された状態で副系の仮想化ストレージ装置１０００ＲにＩ／Ｏリクエストの切り替えを行った場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒの両方が正系として自立的にデステージングを行う場合がある。そういった状況を回避するため、両仮想化ストレージ装置１０００Ｌ，１０００Ｒは自らを正系として処理する場合は先にストレージ装置１５００Ｌ内のかかる共有化されたボリューム３５００Ｌに対してＳＣＳＩ  Ｒｅｓｅｒｖｅ等の機能を用いて排他制御を行ってもよい。また、これ以外の方式として共有仮想化ボリューム３０００ＬＢについては仮想化ストレージ装置１０００Ｌのキャッシングを無効化してもよく、この場合は当該共有仮想ボリューム３０００ＬＢのアクセス権限がリードオンリーのアクセス権限へ変更された場合は当該変更に応じてキャッシングを有効にすることが考えられる。
【０１４９】
（３）第３の実施の形態
次に第３の実施の形態について図１３を用いて説明する。本実施の形態はこれまでの実施の形態に記した情報システムをこれまでのプロダクションサイトと異なる遠隔地（バックアップサイト）に別途用意し、リモートコピーを行うもので、これによりプロダクションサイト被災時にバックアップサイトでサービスを再開することができる。
【０１５０】
なお、これ以後の説明では、上述の「仮想化ストレージ装置」をストレージ装置と、「コピー元ボリューム」を正ボリュームと、「コピー先ボリューム」を副ボリュームと、「正系」をアクティブ側と、「副系」をスタンバイ側と呼ぶことがある。また、プロダクションサイトとバックアップサイトの情報システムをあわせてリモートコピーシステムと呼ぶことがある。
【０１５１】
＜１．リモートコピーシステムの構成＞
本実施の形態では、各サイトはホスト１３０１０，１３０２０と複数のストレージサブシステム１３００１，１３００２，１３００３，１３００４とから構成されている。そしてプロダクションサイトでは、ストレージサブシステム１３００１，１３００２同士でこれまで説明してきた高可用化構成を採用している。またバックアップサイトでも同様に、ストレージサブシステム１３００３，１３００４同士でかかる高可用化構成を採用している。
【０１５２】
さらに本実施の形態では、プロダクションサイトのアクティブ側のストレージサブシステム（コピー元ボリュームを持つ）１３００１からバックアップサイトのアクティブ側のストレージサブシステム（コピー先ボリュームを持つ）１３００３に対して同期又は非同期リモートコピーを行う。そしてプロダクションサイト被災時にはバックアップサイトのホスト１３０１０が高可用構成のストレージサブシステム１３００３，１３００４のいずれかアクティブな側に対してＩ／Ｏリクエストを発行することで、再起動したアプリケーション２０１０が処理を再開する。
【０１５３】
なお、前述の通り、ストレージサブシステムとは仮想化ストレージ装置１０００（図１）の仮想化機能を用いない設定の構成や、仮想化ストレージ装置１０００とストレージ装置１５００（図１）の組み合わせで仮想化ストレージ装置１０００が仮想化機能を用いて仮想化ボリュームを提供している構成のどちらの概念も含んだものとして呼んでいる。また、本実施の形態では個々のストレージサブシステム１３００１、１３００２、１３００３、１３００４が別々な内部構成（例えば、ストレージサブシステム１３００１だけ仮想化ストレージ装置１０００のみで構成し、仮想化機能を用いない場合や、バックアップサイトのストレージサブシステム１３００３と１３００４でストレージ装置１５００（図１）を共有し、プロダクションサイト側では共有しない場合）を採用してもよい。
【０１５４】
なお、以下においては各種処理の処理主体を「ストレージサブシステム」として説明する場合があるが、実際上は、そのストレージサブシステム内のプロセッサが当該ストレージサブシステム内のメモリに格納されたプログラムに基づいて対応する処理を実行することは言うまでもない。
【０１５５】
＜２．処理＞
プロダクションサイトのホスト１３０１０のアプリケーション２０１０がライトリクエストを発行すると、ＯＳによってプロダクションサイト内のアクティブ側のストレージサブシステムを判断し、そちらにライトリクエストを転送する。なお、本図ではストレージサブシステム１３００１がこれに対応する。
【０１５６】
プロダクションサイトのアクティブ側のストレージサブシステム１３００１は同期リモートコピーによってライトデータをプロダクションサイト内のスタンバイ側のストレージサブシステム（本図では１３００２が対応する）へ転送する。また、アクティブ側のストレージサブシステム１３００１はバックアップサイトのアクティブ側のストレージサブシステム（本図では１３００３が対応する）へ向けて同期又は非同期のリモートコピーとしてライトデータを転送する（本実施の形態による高可用構成ではアクティブ側にのみライトリクエストを処理するようにしているため、リモートコピーであっても同様にアクティブ側にて処理を行う）。ライトデータを受信したバックアップサイト内のアクティブ側のストレージサブシステム１３００３は受け取ったライトデータをサイト内のスタンバイ側のストレージサブシステム１３００４へ同期リモートコピーによって転送する。
【０１５７】
そのため、プロダクションサイトのストレージサブシステム１３００１，１３００２はバックアップサイトのアクティブ側のストレージサブシステムを把握しており、バックアップサイトのストレージサブシステム１３００３，１３００４も想定外のストレージサブシステムからのリモートコピーを受け付けないために、プロダクションサイトのアクティブなストレージサブシステム（ストレージサブシステム１３０１）を把握している。
【０１５８】
以上の処理によってプロダクションサイト、バックアップサイト共にサイト内の高い可用性を実現している。ただしバックアップサイト側では、コスト削減のために高可用構成をとらない構成であってもよい。
【０１５９】
＜３．非同期リモートコピー＞
これまで説明してきた同期リモートコピーとは異なり、非同期リモートコピーはホスト１３０１０からのライトリクエストが到着した時点でライトデータを転送するのではなく、当該リクエスト完了応答後に転送する（言い方を変えると、非同期リモートコピーはホスト１３０１０へのリクエスト応答とは独立なタイミングでライトデータを転送する）。そのため、非同期リモートコピーはサイト間の距離が長く通信遅延が大きな場合でもライトリクエストの応答時間を低下させずにリモートコピーを行うことができる。しかし、非同期リモートコピーではプロダクションサイト側のストレージサブシステム１３００１にてライトデータをバッファリングする必要がある。このライトデータのバッファリング方式としては以下が考えられる。
【０１６０】
（１）プロダクションサイトのストレージサブシステム１３００１は、コピー元ボリュームへのライトデータとライトデータの順序情報を含むジャーナルを作成し、これを自身のキャッシュメモリ又は専用ボリュームに保存すると共に、このジャーナルをバックアップサイトのストレージサブシステム１３００３へ転送し、バックアップサイトのストレージサブシステム１３００３はジャーナルの順序情報を参考にコピー先ボリュームへライトデータを保存する。これにより、プロダクションサイト災害時にはライト順序が守られた（より正確には依存関係のあるライトデータ）データをバックアップサイト側で提供できる。
【０１６１】
（２）プロダクションサイトのストレージサブシステム１３００１は、ある期間毎のコピー元ボリュームへライトされたデータをグループ化して自身のキャッシュメモリ又は専用ボリュームへ保存し、非同期にバックアップサイトのストレージサブシステム１３００３へ転送し、当該グループ単位でバックアップサイトのストレージサブシステム１３００３が有するコピー先ボリュームへデータを保存する。
【０１６２】
そのため、これら非同期リモートコピーのためにバッファリングされるライトデータもスタンバイ側のストレージサブシステム１３００２で保持しなければ、アクティブ側ストレージサブシステム１３００１が停止したときに非同期リモートコピーを引き継ぐことができない。よって、プロダクションサイトのアクティブ側のストレージサブシステム１３００１はライトデータだけではなく、コピー先ボリュームの情報や、前述の順序情報や、グループ化するタイミング等をスタンバイ側のストレージサブシステム１３００２へ伝え、スタンバイ側のストレージサブシステム１３００２はそれに従ってアクティブ側と同じ非同期リモートコピーのためのバッファリングデータを作成する。
【０１６３】
なお、バックアップサイトのストレージサブシステム１３００３もプロダクションサイトから受け取ったライトデータを直ぐにコピー先ボリュームへ保存せずに、バッファリングを行うため、プロダクションサイト側と同様にアクティブ側の指示に従ってスタンバイ側も同様のバッファリングデータを作成し、また同様のタイミングでコピー先ボリュームにライトデータを保存する必要がある。
【０１６４】
（４）第４の実施の形態
次に第４の実施の形態について図１４を用いて説明する。本実施の形態では、２台のストレージ装置により先に説明した同期リモートコピーを用いて冗長構成された情報システムにおいて、ストレージ装置が提供する機能を制御するインターフェース（機能Ｉ／Ｆ）の構成について述べる。
【０１６５】
なお、本実施の形態から第１４の実施の形態までは、これまで仮想化ストレージ装置１０００Ｌ，１０００Ｒ、ストレージ装置１５００Ｌ，１５００Ｒと呼んでいたコンポーネントを、それぞれストレージ装置１５０００Ａ，１５０００Ｂ及び外部ストレージ装置１６０００Ａ，１６０００Ｂと呼ぶ。また、以下においては各種処理の処理主体を「ストレージ装置１５０００Ａ，１５０００Ｂ」や「外部ストレージ装置１６０００Ａ，１６０００Ｂ」として説明する場合があるが、実際上は、そのストレージ装置１５０００Ａ，１５０００Ｂ内の図示しないプロセッサやその外部ストレージ装置１６０００Ａ，１６０００Ｂ内のプロセッサが当該ストレージ装置１５０００Ａ，１５０００Ｂ又は外部ストレージ装置１６０００Ａ，１６０００Ｂ内のメモリに格納されたプログラムに基づいて対応する処理を実行することは言うまでもない。
【０１６６】
本実施の形態は、ホスト１４０００からの機能制御要求が、ストレージ装置１５０００Ａに送信された後、ストレージ装置１５０００Ａが機能制御要求をストレージ装置１５０００Ｂに転送し、ストレージ装置１５０００Ａ，１５０００Ｂの双方が当該機能制御要求を解釈し実行する例を示している。
【０１６７】
コマンドデバイス１５００２Ａ，コマンドデバイス１５００２Ｂはそれぞれストレージ装置１５０００Ａ、ストレージ装置１５０００Ｂが提供する論理ボリュームであり、機能を制御するホスト１４０００とのインターフェースとなる。なお、本実施の形態ではコマンドデバイス１５００２Ａがアクティブ側と仮定している。
【０１６８】
また、同期リモートコピーにより、コマンドデバイス１５００２Ａの内容はコマンドデバイス１５００２Ｂの内容と常に一致している。コマンドデバイス１５００２Ａ、コマンドデバイス１５００２Ｂはオペレーティングシステム１４００１が提供するパス管理機能（Ｉ／Ｏパスマネージャー５０００（図１）が提供する機能に相当する）によりひとつのボリューム１４００４として機能管理プログラム１４００３に提供される。
【０１６９】
論理ボリューム１５００１Ａ、論理ボリューム１５００１Ｂはそれぞれストレージ装置１５０００Ａ、ストレージ装置１５０００Ｂが提供する論理ボリュームであり、機能制御対象の論理ボリュームである。なお、本実施の形態では論理ボリューム１５００１Ａがアクティブ側と仮定している。
【０１７０】
また、同期リモートコピーにより、論理ボリューム１５００１Ａの内容は、論理ボリューム１５００１Ｂの内容と常に一致している。論理ボリューム１５００１Ａ、論理ボリューム１５００１Ｂはオペレーティングシステム１４００１が提供するパス管理機能によりひとつのボリューム１４００５としてアプリケーションプログラム１４００２に提供される。
【０１７１】
なお、ここで説明した機能制御対象の論理ボリュームは複数あってもよい。
【０１７２】
機能管理プログラム１４００３の機能制御要求処理部１４００５は、ユーザーあるいはホスト１４０００内の他のプログラムあるいはホスト１４０００とは別のホスト（管理ホストなど）内のプログラムから、機能制御要求を受け付ける。機能制御要求を受け付けた機能制御要求処理部１４００５はボリューム１４００４に対する制御要求の内容をボリューム１４００４に対してライト／リードする。本実施の形態ではコマンドデバイス１５００２Ａがアクティブ側であるため、ライト／リードはコマンドデバイス１５００２Ａに対して発行される。
【０１７３】
コマンドデバイス１５００２Ａに対するライトは機能制御を起動するときに用いられ、コマンドデバイス１５００２Ａに対するリードは機能制御の結果の出力値を得るために用いられる。
【０１７４】
機能制御要求処理部１４００５が受け付ける制御要求には制御対象のストレージ装置１５０００Ａ，１５０００Ｂを一意に識別する情報（装置情報とも呼ぶ）と、制御対象の論理ボリューム１５００１Ａ，１５０００１Ｂを一意に識別する情報（ボリューム情報とも呼ぶ）と、機能制御に付随する情報とが含まれる。
【０１７５】
ストレージ装置１５０００Ａの制御I／Ｆ処理部１５００３Ａはコマンドデバイス１５００２Ａに制御要求がライトされたことを検出する。制御Ｉ／Ｆ 処理部１５００３Ａは制御要求の装置情報が自ストレージ装置（ストレージ装置１５０００Ａ）に一致するか判定する（判定１００）。本実施の形態ではコマンドデバイス１５００２Ａがアクティブ側なので、判定の結果は「一致する」となる。一致した場合、制御Ｉ／Ｆ 処理部１５００３Ａはボリューム情報に対応する論理ボリューム１５００１Ａに対して所定の機能制御を実行するよう機能処理部１５００４Ａを呼び出す。具体的な例としては、ストレージ装置１５０００Ａが提供する機能のひとつであるローカルコピー機能（後で説明）のペア状態の参照操作がある。当該操作が論理ボリューム１５００１Ａに対して呼び出された場合、機能処理部１５００４Ａは、ローカルコピー機能の管理情報を参照し、ペア状態を取得した後、制御Ｉ／Ｆ処理部１５００３Ａ、コマンドデバイス１５００２Ａ及びボリューム１４００４を介して、機能制御要求処理部１４００５に対して、ペア状態を送信する。
【０１７６】
一方、ストレージ装置１５０００Ｂの制御Ｉ／Ｆ 処理部１５００３Ｂも同様の処理を行うが、本実施の形態では、コマンドデバイス１５００２Ｂはスタンバイ側なので、判定１００の結果は「一致しない」となる。この場合、制御Ｉ／Ｆ 処理部１５００３Ｂは同期リモートコピーのペアの管理情報を参照し、ボリューム情報（論理ボリューム１５００１Ａに対応）に対応する自ストレージ装置（ストレージ装置１５０００Ｂ）内の論理ボリューム（論理ボリューム１５００１Ｂに対応）を特定する。そして、制御Ｉ／Ｆ処理部１５００３Ｂは論理ボリューム１５００１Ｂに対して所定の機能制御を実行するよう機能処理部１５００４Ｂを呼び出す。
【０１７７】
以上により、ストレージ装置１５０００Ａの論理ボリューム１５００１Ａ、ストレージ装置１５０００Ｂの論理ボリューム１５００１Ｂに対して、所定の機能の制御が実行される。
【０１７８】
本実施の形態では、ストレージ装置１５０００Ａ，１５０００Ｂが提供するローカルコピー機能のペア状態の参照操作を例にとって説明したが、（１）ローカルコピー機能のその他のペア操作（ペアの作成、ペアの分割等）、（２）ストレージ装置１５０００Ａ，１５０００Ｂが提供するローカルコピー機能の各種ペア操作、（３）ストレージ装置１５０００Ａ，１５０００Ｂが提供する論理ボリューム１５００１Ａ，１５００１Ｂに対するセキュリティ機能（後で説明するＬＤＥＶガード機能）の操作、（４）ストレージ装置１５０００Ａ，１５０００Ｂが提供する論理スナップショット機能（後で説明）の操作、等、ストレージ装置１５０００Ａ，１５０００Ｂが提供する各種機能の操作について適用できる。
【０１７９】
なお、別な実行形態としては、アクティブ側とスタンバイ側両方のストレージ装置１５０００Ａ，１５０００Ｂに発行すべきコマンドを受けた場合は、アクティブ側のストレージ装置１５０００Ａは受取ったコマンドを処理すると共に、スタンバイ側のストレージ装置１５０００Ｂへ転送してコマンド処理をしてもらうことで、ホスト１４０００からは１回のコマンドで両方のストレージ処理を開始することも考えられる。また、プログラムの状態取得に関するコマンドの場合は、コマンドを受取ったアクティブ側のストレージ装置１５０００Ａがスタンバイ側のストレージ装置１５０００Ｂに同じコマンドを転送して状態を取得し、アクティブ側のストレージ装置１５０００Ａが両方の状態を比較した後にコマンド発信元へ状態を返すことも考えられる。
【０１８０】
（５）第５の実施の形態
本実施の形態では機能Ｉ／Ｆの別の構成について述べる。図１５を用いて本実施の形態の構成を説明する。
【０１８１】
本実施の形態の構成は図１４とほぼ同様である。図１４との違いは、
（１）コマンドデバイス１５００２Ａ、コマンドデバイス１５００２Ｂが同期リモートコピーのペアでない。
（２）機能管理プログラム１４００３からはコマンドデバイス１５００２Ａ及びコマンドデバイス１５００２Ｂが別々のボリューム１４００４Ａ、１４００４Ｂとして認識されている。
（３）機能制御要求処理部１４００５は機能制御要求をコマンドデバイス１５００２Ａ及びコマンドデバイス１５００２Ｂに送信する。
という３点である。
【０１８２】
本実施の形態では、第４の実施の形態と同様に、機能制御要求処理部１４００５が受け付ける制御要求には制御対象のストレージ装置１５０００Ａ，１５０００Ｂを一意に識別する情報（装置情報とも呼ぶ）と、制御対象の論理ボリューム１５００１Ａ，１５００１Ｂを一意に識別する情報（ボリューム情報とも呼ぶ）と、機能制御に付随する情報とが含まれる。
【０１８３】
本実施の形態では、第４の実施の形態と異なり、前述のように、ユーザーあるいはホスト１４０００内の他のプログラムあるいはホスト１４０００とは別のホスト内のプログラムから機能制御要求を受け付けた機能制御要求処理部１４００５は、両方のコマンドデバイス１５００２Ａ、１５００２Ｂに制御要求を送信する。
【０１８４】
なお、機能制御要求処理部１４００５が装置情報を判定し、コマンドデバイス１５００２Ａに対しては、ボリューム情報として論理ボリューム１５００１Ａを指定し、コマンドデバイス１５００２Ｂに対しては、ボリューム情報として論理ボリューム１５００１Ｂを指定するように制御要求を書き換えてもよい。
【０１８５】
さらにまた、ユーザーあるいはホスト１４０００内の他のプログラムあるいはホスト１４０００とは別のホスト内のプログラムがストレージ装置１５０００Ａ，１５０００Ｂを識別し、ストレージ装置１５０００Ａ、１５０００Ｂに対して二重に異なる制御要求を出してもよい。即ち、コマンドデバイス１５００２Ａに対して、論理ボリューム１５００１Ａの制御要求を出し、コマンドデバイス１５００２Ｂに対して、論理ボリューム１５００１Ｂの制御要求を出す。
【０１８６】
（６）第６の実施の形態
本実施の形態では機能Ｉ／Ｆの更に別の構成について述べる。図１６を用いて本実施の形態の構成を説明する。
【０１８７】
第６の実施の形態は第４の実施の形態とほぼ同様である。第４の実施の形態との違いは以下の点である。
（１）ホスト１４０００、ストレージ装置１５０００Ａ、ストレージ装置１５０００Ｂは互いにＬＡＮ（Local Area Network）のような相互結合網により接続されている。なお、これらはＬＡＮにより直結されていてもよいし、スイッチを経由して接続されていてもよい。
【０１８８】
（２）コマンドデバイスがない構成であり、３者（ホスト１４０００、ストレージ装置１５０００Ａ、ストレージ装置１５０００Ｂ）間の通信はＬＡＮを介して行なわれる。
（３）機能制御要求処理部１４００５はＬＡＮを介して、制御要求を制御Ｉ／Ｆ 処理部１５００３Ａに送信する。
（４）制御要求を受け取った制御Ｉ／Ｆ 処理部１５００３ＡはＬＡＮを介して、制御要求を制御Ｉ／Ｆ 処理部１５００３Ｂに送信する。
【０１８９】
制御Ｉ／Ｆ 処理部１５００３Ａ、１５００３Ｂが受け取った制御要求を処理する点は第４の実施の形態と同様であり、第６の実施の形態は第４の実施の形態と同等の機能Ｉ／Ｆを提供することができる。
【０１９０】
（７）第７の実施の形態
本実施の形態では機能Ｉ／Ｆの更に別の構成について述べる。図１７を用いて本実施の形態の構成を説明する。
【０１９１】
第７の実施の形態は第６の実施の形態とほぼ同様である。第６の実施の形態との違いは以下の点である。
（１）機能制御要求処理部１４００５はＬＡＮを介して、制御要求を両方の制御Ｉ／Ｆ 処理部１５００３Ａ、１５００３Ｂに送信する。
（２）制御Ｉ／Ｆ 処理部１５００３Ａは制御Ｉ／Ｆ 処理部１５００３Ｂに対して、制御要求を送信しない。
【０１９２】
制御Ｉ／Ｆ 処理部１５００３Ａ、１５００３Ｂが受け取った制御要求を処理する点は第６の実施の形態と同様であり、第７の実施の形態は第６の実施の形態と同等の機能Ｉ／Ｆを提供することができる。
【０１９３】
（８）第８の実施の形態
本実施の形態では、ストレージ装置内の論理ボリュームに対してセキュリティ機能（ＬＤＥＶセキュリティ機能）を適用する場合の例を説明する。
【０１９４】
図１８はＬＤＥＶセキュリティ機能の一実施の形態を示したものである。本実施の形態の構成は第４の実施の形態の図１４とほぼ同一である。図１４と異なる点は論理ボリュームセキュリティ情報１５００５Ａ、１５００５Ｂが追加された点である。論理ボリュームセキュリティ情報１５００５Ａ、１５００５Ｂは、ホスト１４０００からストレージ装置１５０００Ａ，１５０００Ｂ内の論理ボリューム１５００１Ａ，１５００１Ｂに対するアクセス制御を行うために用いられる。アクセス制御の例としては、論理ボリューム１５００１Ａ，１５００１Ｂ内のデータの改ざんを抑止するために論理ボリューム１５００１Ａ，１５００１Ｂに対するライトアクセスを一切禁止する制御がある。また、別の例としては、法令等により一定期間の保存を義務付けられたデータに対して、所定の期間ライトを禁止する機能がある。さらに、別の例としては、機密情報の保護の観点等から特定のホストからのリード／ライトアクセスを禁止する機能がある。
【０１９５】
図１８のように２台のストレージ構成１５０００Ａ，１５０００Ｂを用いて同期リモートコピーにより冗長化を図った構成においてもＬＤＥＶセキュリティ機能を適用したい場合が考えられる。この場合においても第４の実施の形態で説明した機能Ｉ／Ｆを用いてＬＤＥＶセキュリティ機能を制御することができる。具体的には、機能処理部１５００４において、対象ボリュームに対するセキュリティ情報を格納する論理ボリュームセキュリティ情報１５００５Ａ、１５００５Ｂに、ＬＤＥＶセキュリティに関するパラメータを設定したり、参照したりすればよい。
【０１９６】
（９）第９の実施の形態
本実施形態ではストレージ装置内の論理ボリュームにローカルコピー機能を適用した場合の例を説明する。
【０１９７】
ローカルコピー機能とは、ユーザーから指定されたボリュームの複製を、コピー元ボリュームと同じストレージ装置内において作成する機能である。本機能を用いて作成されたボリュームの複製はデータマイニングやテープバックアップのためにホストがアクセスを行ったり、あるいはバックアップデータとして長時間保存される。ローカルコピー機能を利用する場合、複製を作成したいボリュームと複製先ボリュームとをコピーペア（ペアと省略することがある）として指定し、そのペアに対してユーザーが操作を行うことで複製を作成することができる。以後の説明では複製対象のボリュームを正ボリュームと呼び、複製先ボリュームを副ボリュームと呼ぶことがある。本実施の形態では、このローカルコピー機能についてもアクティブ側のストレージ装置とスタンバイ側のストレージ装置とで連携することで可用性を向上させる。
【０１９８】
図２２は、ローカルコピー機能が搭載された情報システムの一実施の形態を示したものである。図２２においては、ホスト１１００は仮想化ストレージ装置１０００Ｌと仮想化ストレージ装置１０００Ｒとに接続されている。また、仮想化ストレージ装置１０００Ｌはストレージ装置１５００Ｌに接続され、仮想化ストレージ装置１０００Ｒはストレージ装置１５００Ｒに接続されている。また、ローカルコピー機能及び差分ビットマップ（正ボリューム及び副ボリューム間の差分の有無を示す情報）が仮想化ストレージ装置１０００Ｌ及び仮想化ストレージ装置１０００Ｒにて実行及び管理される。ローカルコピー機能及び差分ビットマップについての詳細は後述する。
【０１９９】
本実施の形態では、正ボリュームが仮想化ストレージ装置１０００Ｌ，１０００Ｒ内にあり、副ボリュームの実体がストレージ装置１５００Ｌ，１５００Ｒ内にある構成例を示している。正ボリューム３０００ＬＡと副ボリューム３０００ＬＢはペアであり、副ボリューム３０００ＬＢの実体はボリューム３５００ＬＢ内にある。同様に、正ボリューム３０００ＲＡと副ボリューム３０００ＲＢはペアであり、副ボリューム３０００ＲＢの実体はボリューム３５００ＲＢ内にある。
【０２００】
まず、図２３を参照しながら、ローカルコピー機能を管理する情報であるローカルコピーペア情報６０８０について説明する。ローカルコピーペア情報６０８０は仮想化ストレージ装置１０００Ｌ，１０００Ｒのコントローラー１０１０（図１）内に保持されている。ローカルコピーペア情報６０８０には以下のような情報が含まれる。
【０２０１】
（Ａ）ペア番号：仮想化ストレージ装置１０００Ｌ，１０００Ｒ内のローカルコピーペアを一意に識別する番号である。
（Ｂ）正ボリューム情報
（Ｂ−１）装置識別子：正ボリュームのデータが保持されているストレージ装置を一意に識別する情報である。本実施の形態においては仮想化ストレージ装置１０００Ｌ，１０００Ｒやストレージ装置１５００Ｌ，１５００Ｒを識別できる情報であればよい。
（Ｂ−２）ボリューム識別子：正ボリュームの装置識別子で識別されるストレージ装置内のボリュームを一意に識別する情報である。
【０２０２】
（Ｃ）副ボリューム情報
（Ｃ−１）装置識別子：副ボリュームのデータが保持されているストレージ装置を一意に識別する情報である。本実施の形態においては仮想化ストレージ装置１０００Ｌ，１０００Ｒやストレージ装置１５００Ｌ，１５００Ｒを識別できる情報であればよい。
（Ｃ−２）ボリューム識別子：副ボリュームの装置識別子で識別されるストレージ装置内のボリュームを一意に識別する情報である。
【０２０３】
（Ｄ）ペア状態：後で詳述するリモートコピーペアの状態を保持する情報である。ペア状態にはＤｕｐｌｅｘ状態、Ｓｕｓｐｅｎｄ状態（Ｓｐｌｉｔ状態と呼ぶこともある）、Ｓｉｍｐｌｅｘ状態、Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態、Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態が存在する。
（Ｅ）差分ビットマップ：正ボリュームと副ボリュームの差分位置を示す情報である。差分がある位置には１（オン）がセットされ、差分がない位置には０（オフ）がセットされる。
【０２０４】
次に、ローカルコピー機能の基本的な動作について述べる。
＜Ｄｕｐｌｅｘ状態における動作＞
Ｄｕｐｌｅｘ状態とはペア状態のひとつで正ボリュームから副ボリュームへ後述するバックグラウンドコピーが行われている状態である。
【０２０５】
以下ではＤｕｐｌｅｘ状態におけるリード／ライト処理について述べる。なお、以下のリード／ライト処理の説明は、リード／ライト処理のアクティブ側が仮想化ストレージ装置１０００Ｌであり、ボリューム３０００ＬＡが正ボリュームであるという前提である。
【０２０６】
まずリード処理について説明する。ホスト１１００において、アプリケーションプログラム２０１０からリード要求を受け付けたオペレーティングシステム（ＯＳ）は、Ｉ／Ｏパスマネージャー５０００（図５）の機能により、（リード対象の正ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及び仮想化ストレージ装置１０００Ｒのうちのどちらであるかを判断し、アクティブ側の仮想化ストレージ装置１０００Ｌにリード要求を発行する。リード要求を受信した仮想化ストレージ装置１０００Ｌはリードデータをホスト１１００に送信する。アプリケーションプログラム２０１０はオペレーティングシステムを介してリードデータを受信する。以上によりリード処理は完了する。
【０２０７】
次にライト処理の概要について説明する。ホスト１１００において、アプリケーションプログラム２０１０からライト要求を受け付けたオペレーティングシステム（ＯＳ）は、Ｉ／Ｏパスマネージャー５０００の機能により、（ライト対象の正ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及び仮想化ストレージ装置１０００Ｒのうちのどちらであるかを判断し、アクティブ側の仮想化ストレージ装置１０００Ｌにライト要求を発行する。ライト要求を受信した仮想化ストレージ装置１０００Ｌは、ライトデータを受信し、キャッシュメモリ１０５０（図１）にライトデータを格納すると共にライトデータに対応する差分ビットマップのビットを１（オン）に設定する。
【０２０８】
またライトデータは、この後リモートコピー機能により、仮想化ストレージ装置１０００Ｌ内のキャッシュメモリ１０５０から仮想化ストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡにコピー（同期リモートコピー）される。なお、同期リモートコピーの方法はこれまで説明した通りである。同期リモートコピーにより仮想化ストレージ装置１０００Ｌからライトデータを受信した仮想化ストレージ装置１０００Ｒは、キャッシュメモリ１０５０にライトデータを格納すると共にライトデータに対応する差分ビットマップのビットを１（オン）に設定する。その後、仮想化ストレージ装置１０００Ｒは、仮想化ストレージ装置１０００Ｌに対してライト完了報告に送信し、ライト完了報告を受信した仮想化ストレージ装置１０００Ｌはホスト１１００に対してライト完了報告を送信する。そして仮想化ストレージ装置１０００Ｌは、かかるライト完了報告を受信すると、キャッシュメモリ１０５０に格納したライトデータを自装置内の正ボリューム３０００ＬＡに格納する。
【０２０９】
なお、仮想化ストレージ装置１０００Ｌの正ボリューム３０００ＬＡ及び仮想化ストレージ装置１０００Ｒの正ボリューム３０００ＲＡにそれぞれライトされたライトデータは、正ボリューム３０００ＬＡ，３０００ＲＡへのライトとは非同期にその仮想化ストレージ装置１０００Ｌ，１０００Ｒ内の副ボリューム３０００ＬＢ，３０００ＲＢへコピーされる（以後、本処理をバックグラウンドコピー処理と呼ぶ）。
【０２１０】
実際上、アクティブ側の仮想化ストレージ装置１０００Ｌは、かかるバックグラウンドコピー処理として、差分ビットマップを定期的に監視し、差分あり（すなわちビットがオンまたは１）と記録された領域のデータを正ボリューム３０００ＬＡ，３０００ＲＡから副ボリューム３０００ＬＢ，３０００ＲＢへコピーし、コピーが終了したらビットをクリア（オフ又は０に）する。スタンバイ側のストレージ装置１０００Ｒも同期リモートコピーによってライトデータが到着した時点を契機として同様の処理を行う。
【０２１１】
なお、正ボリューム３０００ＬＡ，３０００ＲＡがストレージ装置１５００Ｌ，１５００Ｒ内にあってもよいし、仮想化ストレージ装置１０００Ｌ，１０００Ｒ内にあってもよい。副ボリューム３０００ＬＢ，３０００ＲＢについても同様である。
【０２１２】
何らかの障害が発生し、アクティブ側の仮想化ストレージ装置１０００L内の正ボリューム３０００ＬＡに対するリード／ライト要求が処理できなくなった場合には、すでに説明した通り、ホスト１１００のオペレーティングシステムは、リード／ライト要求の対象をスタンバイ側の仮想化ストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡに切り替えてアクセスを継続する。この場合でも、仮想化ストレージ装置１０００Ｒ内にはローカルコピーのペアが存在するため、副ボリューム３０００ＲＢを用いて先に述べたバックアップ等の処理を行なうことができる。
【０２１３】
＜ペアＳｐｌｉｔとＳｕｓｐｅｎｄ状態の動作＞
Ｓｕｓｐｅｎｄ状態とはペア状態のひとつで、副ボリューム３０００ＬＢ，３０００ＲＢのイメージが確定した状態のことを指す。この状態では、正ボリューム３０００ＬＡ，３０００ＲＡ及び副ボリューム３０００ＬＢ，３０００ＲＢの内容が一致しておらず、正ボリューム３０００ＬＡ，３０００ＲＡと副ボリューム３０００ＬＢ，３０００ＲＢの間の差分が差分ビットマップで管理されている。また、この状態においては、副ボリューム３０００ＬＢ，３０００ＲＢが静止した状態になるため、ユーザーは先に述べたバックアップ等の処理を行なうことができる。
【０２１４】
ホスト１１００は、ローカルコピーのＤｕｐｌｅｘ状態のペアをＳｕｓｐｅｎｄ状態にする場合、これまで説明してきたバックグラウンドコピーの動作を停止させる（これをペアＳｐｌｉｔと呼ぶ）。ペアＳｐｌｉｔは第４〜第７の実施の形態で説明した機能Ｉ／Ｆを介して実施する。
【０２１５】
（１）ホスト１１００は機能Ｉ／Ｆを介して仮想化ストレージ装置１０００Ｌ，１０００Ｒにローカルコピーの停止命令を出す。通常、ホスト１１００側ではこの停止命令直前にＩ／Ｏリクエストの発行を停止する。
（２）アクティブ側とスタンバイ側の仮想化ストレージ装置１０００Ｌ，１０００Ｒはそれぞれ差分ビットマップ上でオンとなった領域のバックグラウンドコピーを完了させる。ホスト１１００は両仮想化ストレージ装置１０００Ｌ，１０００Ｒにおけるバックグラウンドコピーが完了したとのメッセージをアクティブ側の仮想化ストレージ装置１０００Ｌもしくは両ストレージ装置１０００Ｌ，１０００Ｒから受領する。
（３）ホスト１１００は当該メッセージを受領した後、Ｉ／Ｏ発行を再開する。
【０２１６】
（２）までの処理により、アクティブ側及びスタンバイ側の仮想化ストレージ装置１０００Ｌ，１０００Ｒ内にそれぞれ存在するボリュームのペアはＳｕｓｐｅｎｄ状態になったことが確定する。この時点で両ストレージ内のペア状態はＳｕｓｐｅｎｄ状態となっている。
【０２１７】
その後のリード／ライト要求の処理は、Ｄｕｐｌｅｘ状態とほぼ同様である。Ｄｕｐｌｅｘ状態との違いは、バックグラウンドコピー処理が動作しない点である。
【０２１８】
＜ペア作成＞
正ボリュームと副ボリュームがペア関係にない状態をＳｉｍｐｌｅｘ状態と呼ぶ。Ｓｉｍｐｌｅｘ状態からＤｕｐｌｅｘ状態に遷移させるための処理をペア作成と呼ぶ。ペア状態がＳｉｍｐｌｅｘ状態からＤｕｐｌｅｘ状態に遷移している過渡状態をＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態と呼ぶ。
【０２１９】
ペア作成の指示は、第４〜第７の実施の形態で説明した機能Ｉ／Ｆを介して実施する。
（１）ホスト１１００は、機能Ｉ／Ｆを介して、仮想化ストレージ装置１０００Ｌ，１０００Ｒに対してペア作成指示を出す。この結果アクティブ側及びスタンバイ側の両仮想化ストレージ装置１０００Ｌ，１０００Ｒでペア作成処理が開始される。
（２）両仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ペア状態をＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態に設定し、差分ビットマップを全てオンにし、バックグラウンドコピーを開始する。
（３）バックグラウンドコピーが差分ビットマップの最後まで完了したら、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ペア状態をＤｕｐｌｅｘ状態に設定する。
【０２２０】
なお、Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態におけるリード／ライト処理はＤｕｐｌｅｘ状態におけるリード／ライト処理と同様である。
【０２２１】
＜ペア再同期＞
ペア状態をＳｕｓｕｐｅｎｄ状態からＤｕｐｌｅｘ状態に遷移させる操作をペア再同期と呼ぶ。ペア状態がＳｕｓｕｐｅｎｄ状態からＤｕｐｌｅｘ状態に遷移している過渡状態をＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態と呼ぶ。
【０２２２】
ペア再同期の指示は、第４〜第７の実施の形態で説明した機能Ｉ／Ｆを介して実施する。
（１）ホスト１１００は、機能Ｉ／Ｆを介して仮想化ストレージ装置１０００Ｌ，１０００Ｒに対してペア再同期指示を出す。この結果アクティブ側とスタンバイ側の両仮想化ストレージ装置１０００Ｌ，１０００Ｒでペア再同期処理が開始される。
（２）両仮想化ストレージ装置１０００Ｌ，１０００Ｒはペア状態をＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇに設定し、バックグラウンドコピーを開始する。
（３）バックグラウンドコピーが差分ビットマップの最後まで完了したら、仮想化ストレージ装置１０００Ｌ，１０００Ｒはペア状態をＤｕｐｌｅｘ状態に設定する。
【０２２３】
なお、Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態におけるリード／ライト処理はＤｕｐｌｅｘ状態におけるリード／ライト処理と同様である。
【０２２４】
次に、ローカルコピー機能が適用された仮想化ストレージ装置１０００Ｌ，１０００Ｒに対してホスト１１００からライト要求が発行された場合の動作を、フローチャートを用いて詳細に説明する。
【０２２５】
まず、図２４を参照して、図１０のステップＳ１０００３「正系ボリュームにＷｒｉｔｅ」におけるホスト１１００の動作と、Ｉ／Ｏ処理プログラム６０２０（図６）のサブプログラムであるライト処理プログラム（図示せず）に基づくアクティブ側の仮想化ストレージ装置（以下、これを正系仮想化ストレージ装置と呼ぶ）１０００Ｌのライト処理時の動作について説明する。
【０２２６】
＜ステップＳ１０００３「正系ボリュームにＷｒｉｔｅ」の動作＞
（Ｓ２４００１）ホスト１１００のオペレーティングシステムは、正系仮想化ストレージ装置１０００Ｌに対してライト要求を送信する。
（Ｓ２４００２）ホスト１１００のオペレーティングシステムは正系仮想化ストレージ装置１０００Ｌからデータ受信準備完了報告を受信する。
【０２２７】
（Ｓ２４００３）ホスト１１００のオペレーティングシステムは正系仮想化ストレージ装置１０００Ｌにライトデータを送信する。
（Ｓ２４００４）ホスト１１００のオペレーティングシステムは正系仮想化ストレージ装置１０００Ｌからライト完了報告を受信する。
【０２２８】
＜正系仮想化ストレージ装置側ライト処理の動作＞
（Ｓ２４００５）正系仮想化ストレージ装置１０００Ｌは、ホスト１１００からのライト要求イベントを待つ。
（Ｓ２４００６）正系仮想化ストレージ装置１０００Ｌは、ホスト１１００からライト要求を受信する。
（Ｓ２４００７）正系仮想化ストレージ装置１０００Ｌは、当該ライトデータを格納するためのキャッシュメモリ領域を確保する。
【０２２９】
（Ｓ２４００８）正系仮想化ストレージ装置１０００Ｌは、ホスト１１００にデータ受信準備完了報告を送信する。
（Ｓ２４００９）正系仮想化ストレージ装置１０００Ｌは、ホスト１１００から当該ライトデータを受信し、上記キャッシュメモリ領域に格納する。
（Ｓ２４０１０）正系仮想化ストレージ装置１０００Ｌは、後述するリモートコピー処理を実行する。
【０２３０】
（Ｓ２４０１１）正系仮想化ストレージ装置１０００Ｌは、後述するローカルコピー処理を実行する。
（Ｓ２４０１２）正系仮想化ストレージ装置１０００Ｌは、ホスト１１００にライト完了報告を送信する。その後、Ｓ２４００５に戻り再びイベントを待つ。
【０２３１】
なお、リモートコピー処理（Ｓ２４０１０）とローカルコピー処理（Ｓ２４０１１）は順序を逆にして実行してもよいし、同時並行に実行してもよい。
【０２３２】
次に、図２５を参照して、図２４のステップＳ２４０１０において行なわれるリモートコピー処理の具体的な処理内容について説明する。このリモートコピー処理は、リモートコピー処理プログラム６０９０（図６）に基づいて仮想化ストレージ装置１０００Ｌ、１０００Ｒによって行なわれる。
＜リモートコピー処理の動作＞
（Ｓ２５００１）仮想化ストレージ装置１０００Ｌは、ホスト１１００からのライト要求に対応する、コピーペア情報６０４０（図６）のペア状態を参照し、ペア状態に対応した処理を行う。ペア状態がＳｉｍｐｌｅｘ状態の場合はリモートコピー処理を完了する。
（Ｓ２５００２）ペア状態がＳｕｓｐｅｎｄ状態の場合は、仮想化ストレージ装置１０００Ｌは当該ライト要求に対応する、差分ビットマップのビットをオン（または１）にする。
（Ｓ２５００３）ペア状態が上記のペア状態以外の場合は、後述する図２６のＲＩＯ以下の処理を実行する。
【０２３３】
次に、図２６を参照して、ステップＳ２５００３における正系仮想化ストレージ装置１０００Ｌの動作と、副系の仮想化ストレージ装置（以下、これを副系仮想化ストレージ装置と呼ぶ）１０００Ｒのライト処理動作とについて説明する。なお、副系仮想化ストレージ装置１０００Ｒにおけるライト処理は、Ｉ／Ｏ処理プログラム６０２０のサブプログラムであるライト処理プログラムに基づいて行なわれる。
【０２３４】
＜ステップＳ２５００３の動作＞
（Ｓ２６００１）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒにライト要求を送信する。
（Ｓ２６００２）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒからデータ受信準備完了報告を受信する。
【０２３５】
（Ｓ２６００３）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒにライトデータを送信する。
（Ｓ２６００４）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒからライト完了報告を受信する。
【０２３６】
＜副系仮想化ストレージ装置側ライト処理の動作＞
（Ｓ２６００５）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌからのライト要求イベントを待つ。
（Ｓ２６００６）副系仮想化ストレージ装置１０００Ｒは、当該ライトデータを格納するためのキャッシュメモリ領域を確保する。
（Ｓ２６００７）副系仮想化ストレージ装置１０００Ｒは、データ受信準備完了報告を送信する。
（Ｓ２６００８）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌにデータ受信準備完了報告を送信する。
【０２３７】
（Ｓ２６００９）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌから当該ライトデータを受信し、前記キャッシュメモリ領域に格納する。
（Ｓ２６０１０）副系仮想化ストレージ装置１０００Ｒは、後述するローカルコピー処理プログラムを実行する。
（Ｓ２６０１１）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌにライト完了報告を送信する。その後、Ｓ２６００５に戻り再びライト要求イベントを待つ。
【０２３８】
次に、図２７を参照して、仮想化ストレージ装置１０００Ｌ，１０００Ｒにおけるローカルコピー処理の動作について説明する。このローカルコピー処理は、ローカルコピー処理プログラム６１００（図６）に基づいて仮想化ストレージ装置１０００Ｌ，１０００Ｒにおいて行なわれる。
＜ローカルコピー処理の動作＞
（Ｓ２７００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ライト要求に対応する、ローカルコピーペア情報６０８０（図２３）のペア状態を参照して、ペア状態に対応した処理を行う。ペア状態がＳｉｍｐｌｅｘ状態の場合はローカルコピー処理を完了する。
（Ｓ２７００２）ペア状態が上記のペア状態以外の場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは当該ライト要求に対応する、ローカルコピーペア情報６０８０の差分ビットマップのビットをオン（又は１）にする。
【０２３９】
次に、図２８を参照して、仮想化ストレージ装置１０００Ｌ，１０００Ｒにおけるバックグラウンドコピー処理の動作について説明する。このバックグラウンドコピー処理は、バックグラウンドコピー処理プログラム６１１０（図６）に基づいて仮想化ストレージ装置１０００Ｌ，１０００Ｒにおいて行なわれる。
【０２４０】
＜バックグラウンドコピー処理の動作＞
（Ｓ２８００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、差分ビットマップを定期的に監視し、差分ビットがオン（又は１）に更新されるイベントを待つ。
（Ｓ２８００２）オン（又は１）の差分ビットを検出した場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、当該差分ビットに対応する、ローカルコピーペア情報６０８０（図２３）のペア状態を参照し、ペア状態に対応した処理を行う。ペア状態がＳｉｍｐｌｅｘ状態もしくはＳｕｓｐｅｎｄ状態の場合はＳ２８００１に戻り、再びイベントを待つ。
【０２４１】
（Ｓ２８００３）ペア状態が上記のペア状態以外の場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、上記差分ビットに対応する、キャッシュメモリ１０５０（図１）もしくはＨＤＤ１０３０（図１）上に格納されている正ボリュームへのライトデータを、対応する副ボリュームを有する仮想化ストレージ装置１０００Ｒのキャッシュメモリ１０２０Ｒ上の対応する位置にコピーする。なお、仮想化ストレージ装置１０００Ｒは、上記コピーの前にライトデータを格納するためのキャッシュメモリ領域を確保する。
（Ｓ２８００４）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、前記差分ビットをクリア（オフ又は０に更新）した後、ステップＳ２８００１に戻り再び差分ビットがオン（又は１）に更新されるイベントを待つ。
【０２４２】
次に、図２９を参照して、ペア操作処理の動作について説明する。このペア操作処理は、ペア操作処理プログラム６１２０（図６）に基づいて仮想化ストレージ装置１０００Ｌ，１０００Ｒにおいて行なわれる。
＜ペア操作処理の動作＞
（Ｓ２９００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ペア操作に関するイベントを待つ。イベントの種類には次のものがある。（Ａ）機能Ｉ／Ｆを介したユーザーからのペア作成指示、（Ｂ）機能Ｉ／Ｆを介したユーザーからのペア再同期指示、（Ｃ）機能Ｉ／Ｆを介したユーザーからのペアＳｐｌｉｔ指示、（Ｄ）ペア作成完了、（Ｅ）ペア再同期完了。
【０２４３】
（Ｓ２９００２）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、イベントの種類を判定して、以後の操作を決定する。
（Ｓ２９００３）イベントがペア作成の場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、対象となるローカルコピーペアに対応する、ローカルコピーペア情報６０８０（図２３）のペア状態をＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態に変更する。ペア再同期の場合、ペア状態をＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態に変更する。
【０２４４】
（Ｓ２９００４）その後、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、対象となるローカルコピーペアに関するバックグランドコピー処理を開始する。
（Ｓ２９００５）イベントがペア作成完了もしくはペア再同期完了の場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、対象となるローカルコピーペアに対応する、ローカルコピーペア情報６０８０のペア状態をＤｕｐｌｅｘ状態に変更する。
【０２４５】
（Ｓ２９００６）イベントの種類がペアＳｐｌｉｔの場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、対象となるローカルコピーペアに関して、差分ビットマップ上でオンとなった領域のバックグラウンドコピー処理を完了させ、バックグラウンドコピーを停止すると共に、ホスト１１００に対して完了した旨のメッセージを送信する。
（Ｓ２９００７）その後、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、対象となるローカルコピーペアに対応する、ローカルコピーペア情報６０８０のペア状態をＳｕｓｐｅｎｄ状態に変更する。
【０２４６】
次に、図３０を参照して、デステージング処理の動作について説明する。デステージング処理は、Ｉ／Ｏ処理プログラム６０２０のサブプログラムであるデステージング処理プログラムに基づいて仮想化ストレージ装置１０００Ｌ，１０００Ｒにおいて行なわれる。
【０２４７】
＜デステージング処理の動作＞
（Ｓ３０００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、一定期間毎に、キャッシュメモリ１０２０Ｌ，１０２０Ｒ上のライトデータであって、ＨＤＤ１０３０（図１）もしくはストレージ装置１５００Ｌ，１５００Ｒに未コピーのデータ（ダーティ状態のデータ）の合計量が一定量以上に達したかどうか判定する。一定量以上になったというイベントが発生したら次のステップに進む。
【０２４８】
仮想化ストレージ装置１０００Ｌ，１０００Ｒは、一定期間毎に、キャッシュメモリ１０２０Ｌ，１０２０Ｒ上のダーティ状態のデータの合計量が一定量以上に達したかどうか判定する。ここで、ダーティ状態のデータとは、キャッシュメモリ１０２０Ｌ，１０２０Ｒに格納されているホスト１１００からのライトデータであって、（Ａ）仮想化ストレージ装置１０００Ｌ，１０００ＲのＨＤＤ１０３０に未コピーのデータ、もしくは、（Ｂ）ストレージ装置１５００Ｌ，１５００Ｒに未コピーのデータである。ダーティ状態のデータが一定量以上になったというイベントが発生したら次のステップに進む。
【０２４９】
（Ｓ３０００２）仮想化ストレージ装置１０００Ｌ，１０００ＲはＬＲＵ等のアルゴリズムにより上記ＨＤＤ１０３０もしくは前記ストレージ装置１５００Ｌ，１５００Ｒにコピーするデータを決定する。
（Ｓ３０００３）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、キャッシュ管理情報６２２０（図６）を参照しデータのコピー先を特定する。
（Ｓ３０００４）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、上記データをコピーする。
（Ｓ３０００５）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、上記データの状態をクリーン状態にする。ここでクリーン状態のデータとは、キャッシュメモリ１０２０Ｌ，１０２０Ｒに格納されているデータであって、（Ａ）仮想化ストレージ装置１０００Ｌ，１０００ＲのＨＤＤ１０３０内のデータ、もしくは、（Ｂ）ストレージ装置１５００Ｌ，１５００Ｒ内のデータと一致しているデータを指す。なお、データの状態を変更する代わりにキャッシュメモリ１０２０Ｌ，１０２０Ｒ上のデータを破棄してもよい。
【０２５０】
次に、図３１を参照して、障害時（正系の障害時又は正副間の回線の障害時）におけるホスト１１００の動作と、副系仮想化ストレージ装置１０００Ｒにおけるライト処理の動作とについて説明する。
【０２５１】
＜ホストの動作＞
図３１のステップＳ３１００１〜ステップＳ３１００４の処理は、図２６のステップＳ２６００１〜Ｓ２６００４と同様である。
＜副系仮想化ストレージ装置側ライト処理の動作＞
図３１のステップＳ３１００５〜ステップＳ３１００９、ステップＳ３１００１１及びステップＳ３１０１２の処理は、図２６のステップＳＰ２６００５〜ステップＳ２６００９、ステップＳ２６０１０及びステップＳ２６０１１の処理と同様である。
【０２５２】
（１０）第１０の実施の形態
本実施の形態では第９の実施の形態とは異なるローカルコピー機能について説明する。本実施の形態による情報システムの一構成例を図３２に示す。
【０２５３】
まず、本実施の形態と第９の実施の形態との構成の違いは、ストレージ装置１５００Ｒが存在せず、副ボリューム３０００ＬＢ、３０００ＲＢの実体がいずれもストレージ装置１５００Ｌ内のボリューム３５００ＬＢとなるようにマッピングされている点である。その他の構成は第９の実施の形態と同様である。このように構成することにより、副ボリューム３０００ＬＢ、３０００ＲＢに必要とされる物理的な記憶装置を削減することができる。
【０２５４】
本実施の形態と第９の実施の形態との処理動作の大きな違いはスタンバイ側の仮想化ストレージ装置１０００Ｒがボリューム３５００ＬＢに対するバックグラウンドコピーを行なわず、ストレージ装置１０００Ｌとの通信により、ペアに関する制御情報であるペア状態と差分ビットマップのみを操作する点である。以下では処理動作の概要を説明する。
【０２５５】
＜Ｄｕｐｌｅｘ状態における動作＞
以下ではＤｕｐｌｅｘ状態におけるリード／ライト処理について述べる。
【０２５６】
リード処理は第９の実施の形態でのリード処理と同様である。またライト処理は以下の通りである。
【０２５７】
ホスト１１００において、アプリケーションプログラム２０１０からライト要求を受け付けたオペレーティングシステムはＩ／Ｏパスマネージャー５０００の機能により、（リード対象の正ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及び仮想化ストレージ装置１０００Ｒのどちらであるかを判断し、アクティブ側の仮想化ストレージ装置１０００Ｌにライト要求を発行する。ライト要求を受信した仮想化ストレージ装置１０００Ｌは、ライトデータを受信し、キャッシュメモリ１０２０Ｌにライトデータを格納すると共にライトデータに対応する差分ビットマップのビットを１（オン）に設定する。
【０２５８】
その後、このライトデータは、同期リモートコピー機能により、仮想化ストレージ装置１０００Ｌ内の正ボリューム３０００ＬＡから仮想化ストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡにコピーされる。なお、同期リモートコピーの方法はこれまで説明した通りである。
【０２５９】
同期リモートコピー機能により仮想化ストレージ装置１０００Ｒからのライトデータを受信した仮想化ストレージ装置１０００Ｒは、キャッシュメモリ１０２０Ｒにライトデータを格納すると共にライトデータに対応する差分ビットマップのビットを１（オン）に設定する。その後、仮想化ストレージ装置１０００Ｒは、仮想化ストレージ装置１０００Ｌに対してライト完了報告に送信し、ライト完了報告を受信した仮想化ストレージ装置１０００Ｌはホスト１１００に対してライト完了報告を送信する。
【０２６０】
なお、仮想化ストレージ装置１０００Ｌの正ボリューム３０００ＬＡにライトされたデータは、当該正ボリューム３０００ＬＡへのライトとは非同期に副ボリューム３０００ＬＢへバックグラウンドコピーされる。第９の実施の形態でのライト処理と異なり、仮想化ストレージ装置１０００Ｒの正ボリューム３０００ＲＡにライトされたデータはバックグラウンドコピーされない。
【０２６１】
仮想化ストレージ装置１０００Ｌにおけるバックグラウンドコピー処理は、差分ビットマップを定期的に監視し、差分あり（すなわちビットがオン）と記録された領域のデータを正ボリューム３０００ＬＡから副ボリューム３０００ＬＢへコピーし、コピーが終了したらビットをクリア（オフ又は０に）する。なお、本実施の形態では、第９の実施の形態でのライト処理と異なり、仮想化ストレージ装置１０００Ｒ側ではバックグラウンドコピーを行なわない。
【０２６２】
その後、第９の実施の形態でのライト処理と異なり、仮想化ストレージ装置１０００Ｌはクリアしたビットの位置情報を仮想化ストレージ装置１０００Ｒに通知する。通知を受信した仮想化ストレージ装置１０００Ｒは当該ビットに対応する仮想化ストレージ装置１０００Ｒ内の差分ビットをクリアする。
【０２６３】
なお、差分ビットの位置情報の通知は、仮想化ストレージ装置１０００Ｒ内のコマンドデバイスを介して行なわれる。ただし、ストレージ装置１５００Ｌ，１５００Ｒ間がＬＡＮで接続された構成である場合は、ＬＡＮを介した通信により通知を行なってもよい。以後、仮想化ストレージ装置１０００Ｌと仮想化ストレージ装置１０００Ｒとの間における、差分ビットやペア状態等といった、機能の制御情報に関する通信はコマンドデバイスやＬＡＮを介して行うものとする。
【０２６４】
何らかの障害が発生し、アクティブ側の正ボリューム３０００ＬＡに対するリード／ライト要求が処理できなくなった場合、ホスト１１００のオペレーティングシステムは、第９の実施の形態と同様に、リード／ライト要求の対象を正ボリューム３０００ＲＡに切り替えてアクセスを継続する。
【０２６５】
＜ペアＳｐｌｉｔとＳｕｓｐｅｎｄ状態の動作＞
ホスト１１００はローカルコピーのＤｕｐｌｅｘ状態のペアをＳｕｓｐｅｎｄ状態にする場合、第９の実施の形態と同様にペアＳｐｌｉｔを行なう。なお、ペアＳｐｌｉｔにおいては、バックグラウンドコピーの停止処理が行なわれるが、本実施の形態では仮想化ストレージ装置１０００Ｒにおいては、バックグラウンドコピーを行わないため、実際には停止処理は行なわれない。
【０２６６】
その後のリード／ライト要求の処理はＤｕｐｌｅｘ状態とほぼ同様である。Ｄｕｐｌｅｘ状態との違いは、仮想化ストレージ装置１０００Ｒにおいてバックグラウンドコピー処理が動作しない点である。
【０２６７】
＜ペア作成＞
ペア作成の指示は、第４〜第７の実施の形態で説明した機能Ｉ／Ｆを介して実施されるのは、第９の実施の形態と同様である。
（１）ホスト１１００は、機能Ｉ／Ｆを介して仮想化ストレージ装置１０００Ｌ，１０００Ｒに対してペア作成指示を出す。この結果アクティブ側とスタンバイ側の両仮想化ストレージ装置１０００Ｌ，１０００Ｒでペア作成処理が開始される。
（２）両仮想化ストレージ装置１０００Ｌ，１０００Ｒはペア状態をＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態に設定する。仮想化ストレージ装置１０００Ｌは差分ビットマップを全てオンにし、バックグラウンドコピーを開始する。第９の実施の形態と異なり、仮想化ストレージ装置１０００Ｒは差分ビットマップを全てオンにするが、バックグラウンドコピーを行なわない。
【０２６８】
（３）仮想化ストレージ装置１０００Ｌにおけるバックグラウンドコピーが完了した領域に対応する差分ビットをクリアする動作と、それに付随する動作（差分ビットの位置情報の通知と差分ビットのクリア）は、Ｄｕｐｌｅｘ状態における動作と同様である。
（４）第９の実施の形態と異なり、仮想化ストレージ装置１０００Ｌは、バックグラウンドコピーが差分ビットマップの最後まで完了したら、ペア状態をＤｕｐｌｅｘ状態に設定し、ペア状態がＤｕｐｌｅｘ状態に変わったことを仮想化ストレージ装置１０００Ｒに通知する。通知を受信したストレージ装置１０００Ｒは、ペア状態をＤｕｐｌｅｘ状態に設定する。
【０２６９】
Ｉｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態におけるリード／ライト処理は、Ｄｕｐｌｅｘ状態におけるリード／ライト処理と同様である。
【０２７０】
＜ペア再同期＞
ペア再同期の指示は、第４〜第７の実施の形態で説明した機能Ｉ／Ｆを介して実施されるのは、第９の実施の形態と同様である。
【０２７１】
（１）ホスト１１００は、機能Ｉ／Ｆを介して仮想化ストレージ装置１０００Ｌ，１０００Ｒに対してペア再同期指示を出す。この結果アクティブ側とスタンバイ側の両仮想化ストレージ装置１０００Ｌ，１０００Ｒでペア再同期処理が開始される。
（２）仮想化ストレージ装置１０００Ｌは、ペア状態をＤｕｐｌｅｘ−Ｐｅｎｄｉｎｇに設定し、バックグラウンドコピーを開始する。第９の実施の形態と異なり、仮想化ストレージ装置１０００Ｒは、バックグラウンドコピーを行なわない。
【０２７２】
（３）仮想化ストレージ装置１０００Ｌは、バックグラウンドコピーが差分ビットマップの最後まで完了したら、ペア状態をＤｕｐｌｅｘ状態に設定する。ただし、第９の実施の形態と異なり、この処理を行なうのは仮想化ストレージ装置１０００Ｌのみである。その後、仮想化ストレージ装置１０００Ｌは、ペア状態がＤｕｐｌｅｘ状態に変わったことを仮想化ストレージ装置１０００Ｒに通知する。通知を受信した仮想化ストレージ装置１０００Ｒはペア状態をＤｕｐｌｅｘ状態に設定する。
【０２７３】
Ｄｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態におけるリード／ライト処理はＤｕｐｌｅｘ状態におけるリード／ライト処理と同様である。
【０２７４】
次に、ローカルコピー機能が適用された仮想化ストレージ装置１０００Ｌに対してホスト１１００からライト要求が発行された場合の動作を、フローチャートを用いて詳細に説明する。
【０２７５】
正系仮想化ストレージ装置１０００Ｌにおけるライト処理の具体的な処理内容は図２４と同様である。リモートコピー処理の具体的な処理内容は図２５の動作と同様である。
【０２７６】
図３３を参照して、第１０の実施の形態における、図２５のステップＳ２５００３の動作と副系仮想化ストレージ装置１０００Ｌ，１０００Ｒのライト処理の動作について説明する。このライト処理は、Ｉ／Ｏ処理プログラム６０２０（図６のサブプログラムであるライト処理プログラム（図示せず）に基づいて正系仮想化ストレージ装置１０００Ｌ及び副系仮想化ストレージ装置１０００Ｒにおいて行なわれる。
【０２７７】
図３３のＳ３３００１〜Ｓ３３００９及びＳ３３０１０の処理は、図２６のＳ２６００１〜Ｓ２６００９及びＳ２６００１１の処理と同じであるが、図３３では図２６のステップＳ２６０１０（副系仮想化ストレージ装置１０００Ｒのライト処理時におけるローカルコピー処理）が行われない点が図２６と異なる。
【０２７８】
次に、図３４を参照して、第１０の実施の形態におけるバックグラウンドコピー処理（正系）とバックグラウンドコピー処理（副系）の動作について説明する。
【０２７９】
＜正系仮想化ストレージ装置の動作＞
（Ｓ３４００１）正系仮想化ストレージ装置１０００Ｌは、差分ビットマップを定期的に監視し、差分ビットがオン（又は１）に更新されるイベントを待つ。
（Ｓ３４００２）オン（又は１）の差分ビットを検出した場合、正系仮想化ストレージ装置１０００Ｌは、当該差分ビットに対応する、ローカルコピーペア情報６０８０（図２３）のペア状態を参照し、ペア状態に対応した処理を行う。ペア状態がＳｉｍｐｌｅｘ状態もしくはＳｕｓｐｅｎｄ状態の場合はＳ３４００１に戻り、再び差分ビットがオン（又は１）に更新されるイベントを待つ。
【０２８０】
（Ｓ３４００３）ペア状態が上記のペア状態以外の場合、正系仮想化ストレージ装置１０００Ｌは、上記差分ビットに対応する、キャッシュメモリ１０２０ＬもしくはＨＤＤ１０３０（図３）上に格納されている正ボリュームへのライトデータを、副ボリュームのキャッシュメモリ１０２０Ｌ上の対応する位置にコピーする。なお、正系仮想化ストレージ装置１０００Ｌはかかるコピーの前にライトデータを格納するためのキャッシュメモリ領域を確保する。
（Ｓ３４００４）正系仮想化ストレージ装置１０００Ｌは、上記差分ビットをクリア（オフ又は０に更新）する。
【０２８１】
（Ｓ３４００５）正系仮想化ストレージ装置１０００Ｌは、前ステップでクリアした差分ビットの情報を副系仮想化ストレージ装置１０００Ｒに送信し、副系仮想化ストレージ装置１０００Ｒでも同様の差分ビットのクリアが行われるよう要求する。
（Ｓ３４００６）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒから差分ビットクリアの完了報告を受信した後、ステップＳ３４００１に戻り再びイベントを待つ。
【０２８２】
＜副系仮想化ストレージ装置の動作＞
（Ｓ３４００７）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌから差分ビットクリア要求のイベントを待つ。
（Ｓ３４００８）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌから差分ビットクリアの情報を受信する。
【０２８３】
（Ｓ３４００９）副系仮想化ストレージ装置１０００Ｒは、上記差分ビットに対応するローカルコピーペア情報６０８０（図２３）の差分ビットをクリアする。
（Ｓ３１０１０）副系仮想化ストレージ装置１０００Ｒは、差分ビットのクリア完了の報告を正系仮想化ストレージ装置１０００Ｌに送信する。
【０２８４】
次に、図３５を参照して、ペア操作処理の動作について説明する。
＜ペア操作処理の動作＞
（Ｓ３５００１）正系もしくは副系仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ペア操作に関するイベントを待つ。ここで、イベントの種類としては、ペア作成指示、ペア再同期指示、ペア作成完了、ペア再同期完了、ペアＳｐｌｉｔ指示、正系からのペア状態変更指示の受信、が存在する。
（Ｓ３５００２）仮想化ストレージ装置１０００Ｌ，１０００Ｒは自身が、ペア操作対象のボリュームに関して正系か副系かを判断し、判定結果に従って以降の処理を行う。
【０２８５】
＜正系仮想化ストレージ装置の動作＞
（Ｓ３５００３）かかる判定で正系であった場合、正系仮想化ストレージ装置１０００Ｌはイベントの種類を判定し、イベントの種類に従い以後の処理を行う。
（Ｓ３５００４）イベントの種類がペア作成指示もしくはペア再同期指示の場合、正系仮想化ストレージ装置１０００Ｌは、当該指示に対応するローカルコピーペア情報６０８０のペア状態をＩｎｉｔｉａｌ‐Ｃｏｐｙｉｎｇ状態もしくはＤｕｐｌｅｘ‐Ｐｅｎｄｉｎｇ状態に変更する。
【０２８６】
（Ｓ３５００５）正系仮想化ストレージ装置１０００Ｌは、当該指示に対応するローカルコピーペアのバックグラウンドコピーを開始する。
（Ｓ３５００６）イベントの種類がペア作成完了もしくはペア再同期完了の場合、正系仮想化ストレージ装置１０００Ｌは、当該指示に対応するローカルコピーペア情報６０８０のペア状態をＤｕｐｌｅｘ状態に変更する。
（Ｓ３５００７）イベントの種類がペアＳｐｌｉｔ操作の場合、正系仮想化ストレージ装置１０００Ｌは、当該指示に対応するローカルコピーペアのバックグラウンドコピーを停止させる。ペアＳｐｌｉｔの動作は第９の実施の形態で説明したとおりである。
【０２８７】
（Ｓ３５００８）正系仮想化ストレージ装置１０００Ｌは、当該指示に対応するローカルコピーペア情報６０８０のペア状態をＳｕｓｐｅｎｄ状態に変更する。
（Ｓ３５００９）その後、正系仮想化ストレージ装置１０００Ｌは副系仮想化ストレージ装置１０００Ｒにペア状態の変更情報を送信する。
（Ｓ３５００９）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒからペア状態変更完了の報告を受信した後、Ｓ３５００１に戻り再びイベント待ちを行う。
【０２８８】
＜副系仮想化ストレージ装置の動作＞
（Ｓ３５０１１）Ｓ３５００２の判定で副系であった場合、副系仮想化ストレージ装置１０００Ｒは正系仮想化ストレージ装置１０００Ｌからペア状態の変更情報を受信する。
（Ｓ３５０１２）副系仮想化ストレージ装置１０００Ｒは、上記変更情報に基づき、ローカルコピーペア情報６０８０のペア状態を変更する。
（Ｓ３５０１３）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌにペア状態の変更完了の報告を送信した後、Ｓ３５００１に戻り再びイベント待ちを行う。
【０２８９】
図３６は、第１０の実施の形態によるローカルコピー処理の処理内容を示している。このローカルコピー処理は、ローカルコピー処理プログラム６１００（図６）に基づいて正系仮想化ストレージ装置１０００Ｌ及び副系仮想化ストレージ装置１０００Ｒにおいて行われるものであり、その内容は第９の実施の形態と同様である。
【０２９０】
次に、図３７を参照して、第１０の実施の形態におけるデステージング処理について説明する。このデステージング処理は、Ｉ／Ｏ処理プログラム６０２０（図６）のサブプログラムであるデステージング処理プログラム（図示せず）に基づいて仮想化ストレージ装置１０００Ｌ，１０００Ｒにおいて行なわれる。
【０２９１】
（Ｓ３７００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、デステージングに関するイベントを待つ。イベントの種類としては、ＨＤＤ１０３０（図１）もしくはストレージ装置１５００Ｌ，１５００Ｒに未コピーのデータ（ダーティ状態のデータ）の合計量が一定量以上になったというイベントと、正系仮想化ストレージ装置からの通信があったというイベントが存在する。
（Ｓ３７００３）ダーティ状態のデータの合計量が一定量以上になったというイベントであった場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ダーティ状態のデータの中からＨＤＤ１０３０もしくはストレージ装置１５００Ｌ，１５００Ｒにコピーするデータを決定する。
【０２９２】
（Ｓ３７００４）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、キャッシュ管理情報６２２０を参照して、コピー対象のデータのコピー先を特定する。
（Ｓ３７００５）次に上記特定したコピー先がストレージ装置１５００Ｌ内の共有ボリュームかどうかを判定する。
（Ｓ３７００６）上記判定の結果が共有ボリュームでなければ、（正系もしくは副系）仮想化ストレージ装置１０００Ｌ，１０００Ｒはキャッシュメモリ１０２０Ｌ，１０２０Ｒ上のデータを上記特定したコピー先にコピーする。
【０２９３】
（Ｓ３７００７）（正系もしくは副系）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、かかるキャッシュメモリ１０２０Ｌ，１０２０Ｒ上のデータの状態をクリーン状態（ライトデータがＨＤＤ１０３０もしくはストレージ装置１５００Ｌ，１５００Ｒに反映された状態）に変更する。なお、状態を変更する代わりに、キャッシュメモリ上のデータを破棄してもよい。その後、Ｓ３７００１に戻り、再びイベント待ちを行う。
【０２９４】
（Ｓ３７００８）Ｓ３７００５の判定の結果が共有ボリュームである場合、仮想化ストレージ装置１０００Ｌ，１０００Ｒは自身がコピー対象のデータに関して正系か副系かを判定する。
（Ｓ３７００９）判定の結果が副系であった場合、ステップＳ３７００１に戻り再びイベントを待つ。即ち、この場合、デステージングは行われない。
（Ｓ３７００９）判定の結果が正系であった場合、正系仮想化ストレージ装置１０００Ｌはキャッシュメモリ１０２０Ｌ上のデータを前記特定したコピー先にコピーする。
【０２９５】
（Ｓ３７０１０）正系仮想化ストレージ装置１０００Ｌはキャッシュメモリ１０２０Ｌ上のデータの状態をクリーン状態に変更する。なお、状態を変更する代わりにキャッシュメモリ１０２０Ｌ上のデータを破棄してもよい。
（Ｓ３７０１１）正系仮想化ストレージ装置１０００Ｌはキャッシュメモリ１０２０Ｌ上のデータの状態を変更した旨（もしくはデータを破棄した旨）を副系仮想化ストレージ装置１０００Ｒに通知する。
（Ｓ３７０１２）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒからキャッシュメモリ１０２０Ｒ上のデータの状態を変更が完了した旨（もしくはデータの破棄が完了した旨）を受信する。その後、ステップＳ３７００１に戻り、再びイベント待ちを行う。
【０２９６】
（Ｓ３７０１３）ステップＳ３７００２でのイベントの種類が、正系仮想化ストレージ装置１０００Ｌからの通信があったというイベントであった場合、副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌがキャッシュメモリ１０２０Ｌ上のデータの状態を変更した旨（もしくはデータを破棄した旨）を受信する。
（Ｓ３７０１４）副系仮想化ストレージ装置１０００Ｒは、受信した情報に基づいて、自身のキャッシュメモリ１０２０Ｒ上のデータの状態を変更（もしくはデータの破棄）を行う。
（Ｓ３４０１５）副系仮想化ストレージ装置１０００Ｒは、データの状態変更が完了した旨（もしくはデータを破棄した旨）を正系仮想化ストレージ装置１０００Ｌに通知する。その後、ステップＳ３７００１に戻り、再びイベント待ちを行う。
【０２９７】
（１１）第１１の実施の形態
本実施の形態では、ストレージ装置１５００Ｌ，１５００Ｒ内のボリュームに論理スナップショット機能を適用した場合の例を説明する。
【０２９８】
論理スナップショット機能とは、ローカルコピー機能と類似した機能であり、ユーザーの指示時点の複製データをホストに提供する機能である。しかし、複製データを有する副ボリュームは、プールに属する実ボリュームの領域に保存された複製作成指示以後のライトデータと、正ボリュームのデータを用いて提供される仮想的な存在である。仮想的な副ボリュームの実体は実ボリュームの集合体であるプールに保持される。正ボリュームと副ボリュームの関係をスナップショットペアもしくは単にペアと呼ぶこともある。論理スナップショット機能においては、静止化ポイントにおける正ボリュームの内容と同一内容の論理ボリュームが実際に作成される訳ではないという意味で、副ボリュームは仮想的である。論理スナップショット機能は先に説明したローカルコピー機能とは異なり、正ボリュームのサイズと同一のサイズの副ボリュームが不要である。これにより、副ボリュームの内容を保持するために必要な記憶装置（ＨＤＤなど）の容量を削減することが可能である。
【０２９９】
本実施の形態では、この論理スナップショット機能についてもアクティブ側のストレージ装置とスタンバイ側のストレージ装置で連携することで可用性を向上させることができる。
【０３００】
図３８は、スナップショット機能の一実施の形態を示したものである。この図３８を用いて本実施の形態の概要を説明する。
【０３０１】
図３８において、ホスト１１００は、仮想化ストレージ装置１０００Ｌと仮想化ストレージ装置１０００Ｒに接続されている。また、仮想化ストレージ装置１０００Ｌはストレージ装置１５００Ｌと接続され、仮想化ストレージ装置１０００Ｒはストレージ装置１５００Ｒと接続されている。また、スナップショット機能及び差分ビットマップ（静止化ポイントにおける正ボリュームと現時点における正ボリュームとの間の差分の有無を示す情報）と仮想アドレス実アドレス変換テーブル（仮想的な副ボリュームの実体の位置を管理するテーブル）６１３０（図６）が仮想化ストレージ装置１０００Ｌと仮想化ストレージ装置１０００Ｒにて実行及び管理される。更に、仮想化ストレージ装置１０００Ｌ内の正ボリューム３０００ＬＡと仮想化ストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡはリモートコピーのペアとなるように構成される。
【０３０２】
本実施の形態は、正ボリュームが仮想化ストレージ装置１０００Ｌ，１０００Ｒ内にあり、プールがストレージ装置１５００Ｌ，１５００Ｒ内にある構成例を示している。なお、プールは仮想化ストレージ装置１０００Ｌ，１０００Ｒ内にあってもよい。
【０３０３】
ここで、スナップショット機能を管理する情報であるローカルコピーペア情報としては、図２３について上述した第９の実施の形態で説明したローカルコピーペア情報６０８０を用いる。ただし、ローカルコピーペア情報６０８０内の差分ビットマップの意味は第９の実施の形態とは異なることに注意する。次に、スナップショット機能を管理するもうひとつの情報である仮想アドレス実アドレス変換テーブル６１３０について図３９を用いて説明する。仮想アドレス実アドレス変換テーブル６１３０には以下のような情報が含まれる。
【０３０４】
（Ａ）仮想アドレス
（Ａ−１）ボリューム識別子：仮想化ストレージ装置内で副ボリュームを一意に識別するための情報である。
（Ａ−２）アドレス：仮想アドレスのデータの開始アドレスを示す情報である。
（Ａ−３）データ長：仮想アドレスのデータのデータ長を示す情報である。
【０３０５】
（Ｂ）実アドレス
（Ｂ−１）装置識別子：仮想アドレスに対応する実データが保持されているストレージ装置を一意に識別する情報である。本実施の形態においては仮想化ストレージ装置１０００Ｌ，１０００Ｒやストレージ装置１５００Ｌ，１５００Ｒを識別できる情報であればよい。
（Ｂ−２）ボリューム識別子：仮想アドレスに対応する実データが保持されているストレージ装置内のボリュームを一意に識別する情報である。
（Ｂ−３）アドレス：仮想アドレスに対応する実データが保持されているボリューム内のアドレスを示す情報である。
【０３０６】
次に論理スナップショット機能の動作の概要を説明する。
＜論理スナップショット作成指示＞
ホスト１１００を利用するユーザーが論理スナップショット作成を指示すると、これまでの実施の形態に記載の方式によって、アクティブ側の仮想化ストレージ装置１０００Ｌとスタンバイ側の仮想化ストレージ装置１０００Ｒとに作成指示を発行する。作成指示を受信した仮想化ストレージ装置１０００Ｌ、１０００Ｒは当該指示を受けて、仮想的な副ボリュームを準備し、全て０（差分なしの意味）の（ローカルコピーペア情報６０８０内の）差分ビットマップと仮想アドレス実アドレス変換テーブル６１３０を割り当てる。
【０３０７】
＜正ボリュームに対するリード処理＞
これまで述べた実施の形態と同じである。
【０３０８】
＜正ボリュームに対するライト処理＞
ホスト１１００において、アプリケーションプログラム２０１０からライト要求を受け付けたオペレーティングシステムは、Ｉ／Ｏパスマネージャー５０００（図３８）の機能により、（ライト対象の正ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及びストレージ装置１０００Ｒのうちのどちらであるかを判断し、アクティブ側のストレージ装置１０００Ｌにライト要求を発行する。ライト要求を受信した仮想化ストレージ装置１０００Ｌは、ライト対象アドレスの差分ビットマップをチェックする。結果、１であれば、ライト要求と共にホスト１１００から送信されるデータをキャッシュメモリ１０２０Ｌに正ボリュームのライトデータとして格納する。一方、０の場合は正ボリューム３０００ＬＡの更新前のデータを副ボリューム３０００ＬＢ用のデータとして用いるための以下に示すＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ処理を行う。
【０３０９】
（Ｓｔｅｐ１）プールに属する実ボリュームの記憶領域を確保する。
（Ｓｔｅｐ２）正ボリューム３０００ＬＡから当該記憶領域へ更新前データを、キャッシュメモリ１０２０Ｌを利用しつつコピーする。
（Ｓｔｅｐ３）退避する更新前データの保存先を管理するプール管理情報（仮想アドレス実アドレス変換テーブル６１３０（図３９））を更新し、当該データがプール内の実ボリュームのどの領域に保存されたかわかるようにする。また、当該データに対応する差分ビットマップのビットを１に更新する。
（Ｓｔｅｐ４）受信したライトデータをキャッシュメモリ１０２０Ｌに正ボリューム３０００ＬＡの当該アドレス宛のデータとして保存し、ライト完了応答を返す。
【０３１０】
これと並行して、当該ライトデータはリモートコピー機能により、仮想化ストレージ装置１０００Ｌ内の正ボリューム３０００ＬＡからストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡにコピーされ、同様の処理がなされる。そのため、各仮想化ストレージ装置１０００Ｌ，１０００Ｒはそれぞれで仮想アドレス実アドレス変換テーブル６１３０や差分ビットマップの管理を行う。
【０３１１】
＜副ボリュームに対するリード処理＞
ホスト１１００において、アプリケーションプログラム２０１０からライト要求を受け付けたオペレーティングシステムはＩ／Ｏパスマネージャー５０００（図５）の機能により、（リード対象の副ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及びストレージ装置１０００Ｒのうちのどちらであるかを判断し、アクティブ側の仮想化ストレージ装置１０００Ｌにリード要求を発行する。リード要求を受信した仮想化ストレージ装置１０００Ｌは、正ボリューム３０００ＬＡに対して記録していた差分ビットマップをチェックする。結果、リード対象アドレスのビットが０であれば正ボリューム３０００ＬＡの同じアドレスに保存されたデータをホスト１１００へ返し、オペレーティングシステムは当該データをアプリケーション２０１０へ返す。一方、リード対象アドレスのビットが１の場合は仮想アドレス実アドレス変換テーブル６１３０を参照して、正ボリューム３０００ＬＡのリード対象アドレスに関する更新前のデータの場所を決定し、プールに属する実ボリュームからデータをホスト１１００(アプリケーションプログラム２０１０)へ返す。
【０３１２】
＜副ボリュームに対するライト処理＞
ホスト１１００において、アプリケーションプログラム２０１０からライト要求を受け付けたオペレーティングシステムは、Ｉ／Ｏパスマネージャー５０００の機能により、（ライト対象の副ボリュームに関して）アクティブ側が仮想化ストレージ装置１０００Ｌ及び仮想化ストレージ装置１０００Ｒのうちのどちらであるかを判断し、アクティブ側のストレージ装置１０００Ｌにライト要求を発行する。ライト要求を受信した仮想化ストレージ装置１０００Ｌは、正ボリューム３０００ＬＡに割り当てられたライト対象アドレスの差分ビットマップをチェックする。結果、１であれば仮想アドレス実アドレス変換テーブル６１３０を参照することで、正ボリューム３０００ＬＡの当該アドレスの更新前データが保存されたプール内の実ボリュームの記憶領域を探し、当該領域へライトデータを保存する。一方、０の場合は以下の処理を行う。
【０３１３】
（Ａ）プールに属する実ボリュームの領域を確保する。
（Ｂ）確保した領域にライトデータを保存し、仮想アドレス実アドレス変換テーブル６１３０を更新することで当該ライトデータがプール内の実ボリュームのどの領域に保存されたかわかるようにする。
（Ｃ）差分ビットマップの当該アドレスに対応するビットを１に更新する。
【０３１４】
これと並行して、当該ライトデータはリモートコピー機能により、仮想化ストレージ装置１０００Ｌ内の正ボリューム３０００ＬＡから仮想化ストレージ装置１０００Ｒ内の正ボリューム３０００ＲＡにコピーされ、同様の処理がなされる。そのため、各仮想化ストレージ装置１０００Ｌ，１０００Ｒは、それぞれで仮想アドレス実アドレス変換テーブル６１３０や差分ビットマップの管理を行う。
【０３１５】
＜Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ処理＞
仮想化ストレージ装置１０００Ｌ，１０００Ｒは、正ボリューム３０００ＬＡ，３０００ＲＡに対するライト時に実行するＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ処理の代わりとして、以下に示すＣｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ処理を実行してもよい。
【０３１６】
（Ｓｔｅｐ１）受信したライトデータをキャッシュメモリ１０２０Ｌ，１０２０Ｒに正ボリューム３０００ＬＡ，３０００ＲＡの当該アドレス宛のデータとして保存し、ライト完了応答を返す。ただし、当該ライトデータのデステージングは抑制する。
（Ｓｔｅｐ２）プールに属する実ボリュームの記憶領域を確保する。
【０３１７】
（Ｓｔｅｐ３）正ボリューム３０００ＬＡ，３０００ＲＡから当該記憶領域に更新前データを、キャッシュメモリ１０２０Ｌ，１０２０Ｒを利用しつつコピーする。
（Ｓｔｅｐ４）退避した更新前データの保存先を管理するプール管理情報（仮想アドレス実アドレス変換テーブル６１３０（図３９））を更新し、当該データがプール内の実ボリュームのどの領域に保存されたかわかるようにする。
（Ｓｔｅｐ５）抑制していたライトデータのデステージを許可する。
【０３１８】
＜障害＞
何らかの障害が発生し、アクティブ側の正ボリューム３０００ＬＡや副ボリューム３０００ＬＢに対するリード／ライト要求が処理できなくなった場合には、すでに説明した通り、ホスト１１００のオペレーティングシステムは、リード／ライト要求の対象をスタンバイ側の正ボリューム３０００ＲＡや副ボリューム３０００ＲＢに切り替えてアクセスを継続することができる。なお、前述の通り、同一のストレージ装置１０００Ｌ，１０００Ｒに対してライト要求を発行したいため、好ましくはスナップショット機能の正ボリューム３０００ＬＡ，３０００ＲＡと副ボリューム３０００ＬＢ，３０００ＲＢは、正ボリューム３０００ＬＡ，３０００ＲＡに対する切り替えが必要な場合には副ボリューム３０００ＬＢ，３０００ＲＢも同時に切り替えを行い、逆に副ボリューム３０００ＬＢ，３０００ＲＢに対する切り替えが必要な場合には正ボリューム３０００ＬＡ，３０００ＲＡに対しても切り替えを行う連携を行うようにする。
【０３１９】
次に、フローチャートを参照して、論理スナップショット機能の動作の詳細を説明する。正系仮想化ストレージ装置１０００Ｌのライト処理は第９の実施の形態の図２４と同様である。またリモートコピー処理は第９の実施の形態の図２５と同様である。副系仮想化ストレージ装置１０００Ｒのライト処理は第９の実施の形態の図２６と同様である。副系仮想化ストレージ装置１０００Ｒのライト処理は図３１と同様ある。デステージング処理は第９の実施の形態の図３０と同様である。
【０３２０】
次に、本実施の形態でのＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式におけるローカルコピー処理６１００の動作を、図４０を参照して説明する。
＜ローカルコピー処理（Ｃｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式）の動作＞
（Ｓ４０００１）ローカルコピーペア情報６０８０（図２３）のペア状態を参照して、ローカルコピー対象のコピーペアのペア状態に応じて以降の処理を決定する。ペア状態がＳｉｍｐｌｅｘ状態もしくはＤｕｐｌｅｘ状態の場合は処理を終了する。
（Ｓ４０００２）ペア状態がＳｕｓｐｅｎｄ状態の場合は、後述するバックグラウンドコピーを実行する。
【０３２１】
次に、本実施の形態でのＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式におけるバックグラウンドコピー処理の動作を、図４１を参照して説明する。
＜バックグラウンドコピー処理（Ｃｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式）の動作＞
（Ｓ４１００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、ストレージ装置１５００Ｌ，１５００Ｒ内のプールに属する実ボリュームの記憶領域を確保する。同時に上記記憶領域に対応するキャッシュメモリ領域を確保する。
（Ｓ４１００２）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、正系仮想化ストレージ装置１０００Ｌのライト処理もしくは副系仮想化ストレージ装置１０００Ｒのライト処理におけるライト位置に対応する、正ボリューム内の更新前データを上記確保したキャッシュメモリ領域にコピーする。
【０３２２】
（Ｓ４１００３）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、当該ライト処理に対応する差分ビットマップのビットを１に更新すると共に、仮想アドレス実アドレス変換テーブル６１３０（図３９）に以下のようなデータを保持する行を追加する。
【０３２３】
（Ａ）仮想アドレス
（Ａ−１）ボリューム識別子：当該ライトに対応するコピーペアの副ボリュームの識別子を設定する。
（Ａ−２）アドレス：当該ライトのデータアドレスを設定する。
（Ａ−３）データ長：当該ライトのデータ長を設定する。
【０３２４】
（Ｂ）実アドレス
（Ｂ−１）装置識別子：図４１のステップＳ４１００１で確保した、プールに属する実ボリュームが保持されているストレージ装置の識別子を設定する。
（Ｂ−２）アドレス：図４１のステップＳ４１００１で確保した、実ボリューム内のデータ位置のアドレスを設定する。
【０３２５】
次に、図４２を参照して、本実施の形態におけるＣｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式のローカルコピー処理６１００の動作について説明する。
【０３２６】
＜ローカルコピー処理（Ｃｏｐｙ−Ａｆｔｅｒ−Ｗｒｉｔｅ方式）の動作＞
（Ｓ４２００１）ローカルコピーペア情報６０８０のペア状態を参照して、ローカルコピー対象のコピーペアのペア状態に応じて以降の処理を決定する。ペア状態がＳｉｍｐｌｅｘ状態もしくはＤｕｐｌｅｘ状態の場合は処理を終了する。
（Ｓ４２００２）ペア状態がＳｕｓｐｅｎｄ状態の場合は、正系又は副系仮想化ストレージ装置１０００Ｌ，１０００Ｒのライト処理におけるライト処理対象のライトデータに関して、デステージを抑止する。
【０３２７】
次に、図４３を参照して、本実施の形態におけるＣｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式のバックグラウンドコピー処理プログラム６１１０（図６）に基づくバックグランドコピー処理の動作を説明する。
＜バックグラウンドコピー処理（Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式）の動作＞
（Ｓ４３００１）仮想化ストレージ装置１０００Ｌ，１０００Ｒは、論理スナップショットのペアの正ボリューム３０００ＬＡ，３０００ＲＡに前述のローカルコピー処理（Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式）でデステージを抑止されたライトデータがないか監視する。デステージを抑止されたライトデータが発見されたというイベントが発生したら次のステップに進む。
【０３２８】
（Ｓ４３００２）ステップＳ４１００１と同様である。
（Ｓ４３００３）ステップＳ４１００２と同様である。
（Ｓ４３００４）ステップＳ４１００３と同様である。
（Ｓ４３００５）当該ライトデータのデステージを許可する。
【０３２９】
（１２）第１２の実施の形態
本実施の形態では、第１０の実施の形態とは異なる論理スナップショット機能の実施形態を説明する。図４４に本実施の形態の一構成例を示す。
【０３３０】
まず、本実施の形態と第１０の実施の形態との構成の違いは、ストレージ装置１５００Ｒが存在せず、仮想的な副ボリューム３０００ＬＢ、３０００ＲＢの実領域がいずれもストレージ装置１５００Ｌ内のプール内の領域に割り当てられている点である。その他の構成は第１０の実施の形態と同様である。
【０３３１】
なお、本実施の形態は仮想化ストレージ装置１０００Ｌと仮想化ストレージ装置１０００Ｒとが共通のプールとして、共通のストレージ装置１５００Ｌ内の実ボリュームを用いるため、第１０の実施の形態と異なり、実ボリュームがストレージ装置１５００Ｌ内にある構成に限定される。
【０３３２】
このように構成することにより、プールに必要とされる物理的な記憶装置（ＨＤＤなど
）の容量を削減することができる。
【０３３３】
本実施の形態と第１０の実施の形態との処理動作の大きな違いは以下の通りである。
（Ａ）通常時はスタンバイ側の仮想化ストレージ装置１０００Ｒがキャッシュメモリ１０２０Ｒからストレージ装置１５００Ｌ内の実ボリュームに対してライトを行なわない代わりに、アクティブ側の仮想化ストレージ装置１０００Ｌが正ボリューム３０００ＬＡ、副ボリューム３０００ＬＢ、プール内の実ボリュームに対応するデータをデステージングする時にスタンバイ側の仮想化ストレージ装置１０００Ｒにこれを伝え、スタンバイ側の仮想化ストレージ装置１０００Ｒではこれによってキャッシュメモリ１０２０Ｒ上のデータを破棄する。
【０３３４】
（Ｂ）仮想化ストレージ装置１０００Ｌが仮想アドレス実アドレス変換テーブル６１３０（図６）への更新を仮想化ストレージ装置１０００Ｒに通知し、通知を受けた仮想化ストレージ装置１０００Ｒが仮想アドレス実アドレス変換テーブル６１３０を更新する。
【０３３５】
また、（Ａ）の処理に変えて副ボリューム３０００ＬＢまたはプール内の実ボリュームに対応するデータについてはキャッシングを無効化してもよい。この場合、前述のＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ処理による更新前データ退避では正ボリューム３０００ＬＡに対するライト完了までにプール内の実ボリュームへの退避データ保存が含まれるため、性能が悪化するが、Ｃｏｐｙ‐Ａｆｔｅｒ‐ライト方式ではそれが無いため、好適である。
【０３３６】
次に、本実施の形態における論理スナップショットの処理動作の詳細を、フローチャートを参照して説明する。
【０３３７】
本実施の形態における正系仮想化ストレージ装置１０００Ｌのライト処理の動作は図２４の動作と同様である。本実施の形態における副系想化ストレージ装置１０００Ｒのライト処理の動作は図３３の動作と同様である。本実施の形態におけるリモートコピー処理の動作は図２５と同様である。本実施の形態におけるデステージング処理の動作は図３７と同様である。
【０３３８】
本実施の形態におけるＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式のローカルコピー処理は図４０の動作と同様である。なお、このローカルコピー処理は正系仮想化ストレージ装置１０００Ｌのみで実行される。
【０３３９】
本実施の形態におけるＣｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式のバックグラウンドコピー処理の動作を、図４５を参照して説明する。
【０３４０】
＜バックグラウンドコピー処理の動作（正系仮想化ストレージ装置）＞
ステップＳ４５００１からステップＳ４５００３までの動作はステップＳ４２００１からステップＳ４２００３までの動作と同様である。
（Ｓ４５００４）正系仮想化ストレージ装置１０００Ｌは、Ｓ４５００３における仮想アドレス実アドレス変換テーブル６１３０（図３９）の更新の情報と当該ライトに対応する差分ビットマップのビットの更新の情報を副系仮想化ストレージ装置１０００Ｒに送信する。
（Ｓ４５００５）正系仮想化ストレージ装置１０００Ｌは、副系仮想化ストレージ装置１０００Ｒから仮想アドレス実アドレス変換テーブル６１３０と差分ビットマップの更新の完了の報告を受信する。
【０３４１】
＜バックグラウンドコピー処理の動作（副系仮想化ストレージ装置）＞
（Ｓ４５００６）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌからの仮想アドレス実アドレス変換テーブル６１３０と差分ビットマップとの更新要求イベントを待つ。
（Ｓ４５００７）副系仮想化ストレージ装置１０００Ｒは、正系仮想化ストレージ装置１０００Ｌから仮想アドレス実アドレス変換テーブル６１３０と差分ビットマップとの更新の情報を受信する。
（Ｓ４５００８）副系仮想化ストレージ装置１０００Ｒは、受信した情報に基づき、仮想アドレス実アドレス変換テーブル６１３０と差分ビットマップとを更新する。
（Ｓ４５００９）副系仮想化ストレージ装置は、仮想アドレス実アドレス変換テーブル６１３０と差分ビットマップとの更新の完了報告を正系仮想化ストレージ装置１０００Ｌに送信した後、ステップＳ４５００６に戻り再びイベント待ちを行う。
【０３４２】
次に、本実施の形態におけるＣｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式のローカルコピー処理は第１０の実施の形態と同様である。なお、このローカルコピー処理は正系仮想化ストレージ装置１０００Ｌのみで実行される。
【０３４３】
本実施の形態におけるＣｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式のバックグラウンドコピー処理の動作を、図４６を参照して説明する。
【０３４４】
＜バックグラウンドコピー処理の動作（正系仮想化ストレージ装置）＞
ステップＳ４６００１からステップＳ４６００５までの動作は図４５のステップＳ４５００１からステップＳ４５００５までの動作と同様である。
（Ｓ４６０１０）正系仮想化ストレージ装置１０００Ｌは、処理対象のライトデータに関して、デステージを許可する。
＜バックグラウンドコピー処理の動作（副系仮想化ストレージ装置）＞
ステップＳ４６００６からステップＳ４６００９までの動作は図４５のステップＳ４５００６からステップＳ４５００９までの動作と同様である。
【０３４５】
以上、本発明の幾つかの実施態様を説明したが、これらの実施の形態は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施の形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、ＨＤＤ１０３０やキャッシュメモリ１０２０Ｌ，１０２０Ｒの代わりに不揮発性メモリを使用することができる。不揮発性メモリとしては、例えば、フラッシュメモリ（具体的には、例えば、ＮＡＮＤ型フラッシュメモリ）、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＰＲＡＭ（Parameter Random Access Memory）など、種々の不揮発性メモリを採用することができる。
【図面の簡単な説明】
【０３４６】
【図１】図１は、第１の実施の形態にかかる情報システムのハードウェア構成の一例を示すブロック図である。
【図２】図２は、第１の実施の形態の概要を示す第１の概念図である。
【図３】図３は、第１の実施の形態の概要を示す第２の概念図である。
【図４】図４は、第１の実施の形態の概要を示す第３の概念図である。
【図５】図５は、ホスト上のソフトウェア構成を表した概念図である。
【図６】図６は、仮想化ストレージ装置及びストレージ装置上のソフトウェア構成を表したブロック図である。
【図７】図７は、リモートコピーのペア状態とペア状態の遷移を表した概念図である。
【図８】図８は、Ｉ／Ｏパスマネージャーが管理するデバイス関係テーブルを示す概念図である。
【図９】図９は、Ｉ／Ｏパスマネージャーが初期化処理を行うときのフローを示したフローチャートである。
【図１０】図１０は、Ｉ／Ｏパスマネージャーがライト処理を行うときのフローを示したフローチャートである。
【図１１】図１１は、Ｉ／Ｏパスマネージャーがリード処理を行うときのフローを示したフローチャートである。
【図１２】図１２は、第２の実施の形態の概要を示す概念図である。
【図１３】図１３は、第３の実施の形態の概要を示す概念図である。
【図１４】図１４は、第４の実施の形態の概要を示す概念図である。
【図１５】図１５は、第５の実施の形態の概要を示す概念図である。
【図１６】図１６は、第６の実施の形態の概要を示す概念図である。
【図１７】図１７は、第７の実施の形態の概要を示す概念図である。
【図１８】図１８は、第８の実施の形態の概要を示す概念図である。
【図１９】図１９は、第１の実施の形態における他のリード／ライト処理方法の説明に供するフローチャートである。
【図２０】図２０は、第１の実施の形態における他のリード／ライト処理方法の説明に供するフローチャートである。
【図２１】図１９は、第１の実施の形態における他のリード／ライト処理方法の説明に供するフローチャートである。
【図２２】図２０は、第９の実施の形態におけるローカルコピーペア情報を示す概念図である。
【図２３】図２３は、ローカルコピーペア情報の説明に供する概念図である。
【図２４】図２４は、第９の実施の形態における正系仮想化ストレージ装置側のライト処理の説明に供するフローチャートである。
【図２５】図２５は、第９の実施の形態におけるリモートコピー処理の説明に供するフローチャートである。
【図２６】図２６は、第９の実施の形態における副系仮想化ストレージ装置側のライト処理の説明に供するフローチャートである。
【図２７】図２７は、第９の実施の形態におけるローカルコピー処理の説明に供するフローチャートである。
【図２８】図２８は、第９の実施の形態におけるバックグラウンドコピー処理の説明に供するフローチャートである。
【図２９】図２９は、第９の実施の形態におけるペア操作処理の説明に供するフローチャートである。
【図３０】図３０は、第９の実施の形態におけるデステージング処理の説明に供するフローチャートである。
【図３１】図３１は、第９の実施の形態における障害時の副系仮想化ストレージ装置側のライト処理の説明に供するフローチャートである。
【図３２】図３２は、第１０の実施の形態の概要を示す概念図である。
【図３３】図３３は、第１０の実施の形態における副系仮想化ストレージ装置側のライト処理を示す図である。
【図３４】図３４は、第１０の実施の形態におけるバックグラウンドコピー処理の説明に供するフローチャートである。
【図３５】図３５は、第１０の実施の形態におけるペア操作処理の説明に供するフローチャートである。
【図３６】図３６は、第１０の実施の形態におけるローカルコピー処理の説明に供するフローチャートである。
【図３７】図３７は、第１０の実施の形態におけるデステージング処理の説明に供するフローチャートである。
【図３８】図３８は、第１１の実施の形態の概要を示す概念図である。
【図３９】図３９は、仮想アドレス実アドレス変換テーブルの説明に供する概念図である。
【図４０】図４０は、第１１の実施の形態におけるローカルコピー処理（Ｃｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式）を示す図である。
【図４１】図４１は、第１１の実施の形態におけるバックグラウンドコピー処理（Ｃｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式）の説明に供するフローチャートである。
【図４２】図４２は、第１１の実施の形態におけるローカルコピー処理（Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式）の説明に供するフローチャートである。
【図４３】図４３は、第１１の実施の形態におけるバックグラウンドコピー処理（Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式）の説明に供するフローチャートである。
【図４４】図４４は、第１２の実施の形態の概要を示す概念図である。
【図４５】図４５は、第１２の実施の形態におけるバックグランドコピー処理（Ｃｏｐｙ‐Ｏｎ‐Ｗｒｉｔｅ方式）の説明に供するフローチャートである。
【図４６】図４６は、第１２の実施の形態におけるバックグラウンドコピー処理（Ｃｏｐｙ‐Ａｆｔｅｒ‐Ｗｒｉｔｅ方式）の説明に供するフローチャートである。
【符号の説明】
【０３４７】
１０００，１０００Ｌ，１０００Ｒ……仮想化ストレージ装置、１０１０……コントローラー、１０２０，１０２０Ｌ，１０２０Ｒ……キャッシュメモリ、１０３０……ＨＤＤ、１１００……ホスト、１５００，１５００Ｌ，１５００Ｒ，１５０００，１５０００Ａ，１５０００Ｂ……ストレージ装置，３５００ＬＢ，３５００ＲＢ，５０４０，５０５０……ボリューム、２０１０，１４００２……アプリケーションプログラム、５０００……Ｉ／Ｏパスマネージャー、５０１０……ＨＢＡデバイスドライバー、５０２０……ファイルシステム、６０２０……Ｉ／Ｏ処理プログラム、６０３０……仮想化プログラム、６０４０……コピーペア情報、６０５０……ボリューム情報、６０６０……パリティグループ情報、６０７０……仮想化情報、６０８０……ローカルコピーペア情報、６０９０……リモートコピー処理プログラム、６１００……ローカルコピー処理プログラム、６１１０……バックグラウンドコピー処理プログラム、６１２０……ペア操作処理プログラム、６１３０……仮想アドレス実アドレス変換テーブル。
【図１】
2008134988.tif 000003
【図２】
2008134988.tif 000004
【図３】
2008134988.tif 000005
【図４】
2008134988.tif 000006
【図５】
2008134988.tif 000007
【図６】
2008134988.tif 000008
【図７】
2008134988.tif 000009
【図８】
2008134988.tif 000010
【図９】
2008134988.tif 000011
【図１０】
2008134988.tif 000012
【図１１】
2008134988.tif 000013
【図１２】
2008134988.tif 000014
【図１３】
2008134988.tif 000015
【図１４】
2008134988.tif 000016
【図１５】
2008134988.tif 000017
【図１６】
2008134988.tif 000018
【図１７】
2008134988.tif 000019
【図１８】
2008134988.tif 000020
【図１９】
2008134988.tif 000021
【図２０】
2008134988.tif 000022
【図２１】
2008134988.tif 000023
【図２２】
2008134988.tif 000024
【図２３】
2008134988.tif 000025
【図２４】
2008134988.tif 000026
【図２５】
2008134988.tif 000027
【図２６】
2008134988.tif 000028
【図２７】
2008134988.tif 000029
【図２８】
2008134988.tif 000030
【図２９】
2008134988.tif 000031
【図３０】
2008134988.tif 000032
【図３１】
2008134988.tif 000033
【図３２】
2008134988.tif 000034
【図３３】
2008134988.tif 000035
【図３４】
2008134988.tif 000036
【図３５】
2008134988.tif 000037
【図３６】
2008134988.tif 000038
【図３７】
2008134988.tif 000039
【図３８】
2008134988.tif 000040
【図３９】
2008134988.tif 000041
【図４０】
2008134988.tif 000042
【図４１】
2008134988.tif 000043
【図４２】
2008134988.tif 000044
【図４３】
2008134988.tif 000045
【図４４】
2008134988.tif 000046
【図４５】
2008134988.tif 000047
【図４６】
2008134988.tif 000048