(57)【特許請求の範囲】
【請求項１】
ホストコンピュータ（５）と、そのホストコンピュータにより利用される複数の記憶制御装置（１−３）と、前記各記憶制御装置を管理するための管理装置（４）とが通信可能に接続されているストレージシステムであって、
前記複数の記憶制御装置には、第１記憶制御装置（１）と第２記憶制御装置（２）及び第３記憶制御装置（３）が含まれており、
前記第１記憶制御装置の有する第１ボリューム（１Ａ）と前記第２記憶制御装置の有する第２ボリューム（２Ａ）とをペアとして設定することにより、一つの仮想ボリューム（６）を生成して前記ホストコンピュータに提供させる仮想ボリューム設定部（４Ａ）と、
前記第３記憶制御装置の有する第３ボリューム（３Ａ）を、前記仮想ボリュームの使用を制御するための使用制御情報（Ｌ１０）を記憶させる制御用ボリュームとして設定する、制御用ボリューム設定部（４Ｂ）と、
前記第１記憶制御装置内に設けられる仮想的な第４ボリュームを前記第３ボリュームに対応付け、かつ、前記第２記憶制御装置内に設けられる仮想的な第５ボリュームを前記第３ボリュームに対応付ける、対応付け設定部（４Ｃ）と、
を備えており、
前記第１記憶制御装置は前記第４ボリュームを介して前記第３ボリュームを使用し、前記第２記憶制御装置は前記第５ボリュームを介して前記第３ボリュームを使用するようになっており、
前記第３ボリュームは、前記第１記憶制御装置及び前記第２記憶制御装置のみが使用でき、前記使用制御情報に含まれている識別情報以外の他の識別情報を有する他の記憶制御装置は、前記第３ボリュームを使用できないようになっており、
前記第３ボリュームに記憶される前記使用制御情報には、前記第３ボリュームを識別するための識別子（Ｌ１１１）と、前記第１記憶制御装置及び前記第２記憶制御装置をそれぞれ特定するための識別情報（Ｌ１１２，Ｌ１１３）と、前記第１記憶制御装置が前記第３ボリュームを使用しているかを示す第１制御情報（Ｌ１２）および前記第２記憶制御装置が前記第３ボリュームを使用しているかを示す第２制御情報（Ｌ１３）とが含まれており、
前記制御用ボリューム設定部は、前記第１記憶制御装置または前記第２記憶制御装置のいずれかを介して前記第３ボリュームを前記制御用ボリュームとして設定することができ、前記第３ボリュームを識別する第３ボリューム識別子を示して前記第３ボリュームの作成が指示されると、前記第３記憶制御装置から前記第３ボリュームに記憶されている使用制御情報を読み出し、前記指示された第３ボリューム識別子が前記読み出した使用制御情報に使用されていない場合は前記指示された第３ボリューム識別子を用い、前記指示された第３ボリューム識別子が使用されている場合は前記読み出した使用制御情報内の第３ボリューム識別子を用い、前記第１制御情報または前記第２制御情報のうち作成される第３ボリュームを使用する記憶制御装置に対応する制御情報を更新することで、前記使用制御情報を更新するためのライトデータを作成して前記第３ボリュームに書き込む、
ストレージシステム。
【請求項２】
前記仮想ボリューム設定部と前記制御用ボリューム設定部とは、前記管理装置に設けられている、請求項１に記載のストレージシステム。
【請求項３】
前記仮想ボリューム設定部と前記制御用ボリューム設定部及び前記対応付け設定部とは、前記管理装置に設けられている、請求項１に記載のストレージシステム。
【請求項４】
前記使用制御情報は、前記第１記憶制御装置のみが更新可能な領域と前記第２記憶制御装置のみが更新可能な領域とが含まれている、請求項１に記載のストレージシステム。
【請求項５】
前記第１記憶制御装置は、前記使用制御情報に対応する第１管理テーブルを有しており、前記第２記憶制御装置は、前記使用制御情報に対応する第２管理テーブルを有しており、前記第１管理テーブル及び前記第２管理テーブルは、前記使用制御情報の更新に対応して更新される、請求項１に記載のストレージシステム。
【請求項６】
前記仮想ボリューム設定部は、前記第１ボリュームと前記第２ボリュームとの間に差分が発生した場合に、所定の契機に基づいて、前記差分が解消するように前記第１ボリュームの記憶内容と前記第２ボリュームの記憶内容とを再同期させる、請求項１に記載のストレージシステム。
【請求項７】
前記仮想ボリュームに関する前記ペアを削除する場合、前記仮想ボリューム設定部が前記ペアを削除した後で、前記制御用ボリューム設定部は、前記仮想ボリュームに関する前記使用制御情報を削除させる、請求項１に記載のストレージシステム。
【請求項８】
ホストコンピュータと、そのホストコンピュータにより利用される複数の記憶制御装置と、前記各記憶制御装置を管理するための管理装置とが通信可能に接続されているストレージシステムを制御するための制御方法であって、
前記複数の記憶制御装置には、第１記憶制御装置と第２記憶制御装置及び第３記憶制御装置が含まれており、
前記第１記憶制御装置の有する第１ボリュームと前記第２記憶制御装置の有する第２ボリュームとをペアとして設定することにより、一つの仮想ボリュームを生成して前記ホストコンピュータに提供させるステップと、
前記第３記憶制御装置の有する第３ボリュームを、前記仮想ボリュームの使用を制御するための使用制御情報を記憶させる制御用ボリュームとして設定するステップであって、前記使用制御情報を前記第３ボリュームに書き込む場合、前記使用制御情報を更新するためのライトデータを作成して前記第３ボリュームに書き込み、その後に前記第３ボリュームから前記ライトデータを読み出し、前記第３ボリュームに書き込んだライトデータと前記第３ボリュームから読み出したライトデータとが一致するときは、前記使用制御情報の前記第３ボリュームへの書込み処理が正常に完了したことを確認するステップと、
前記第１記憶制御装置内に設けられる仮想的な第４ボリュームを前記第３ボリュームに対応付け、かつ、前記第２記憶制御装置内に設けられる仮想的な第５ボリュームを前記第３ボリュームに対応付けるステップと、
を備えており、
前記第１記憶制御装置は前記第４ボリュームを介して前記第３ボリュームを使用し、前記第２記憶制御装置は前記第５ボリュームを介して前記第３ボリュームを使用するようになっており、
前記第３ボリュームは、前記第１記憶制御装置及び前記第２記憶制御装置のみが使用でき、前記使用制御情報に含まれている識別情報以外の他の識別情報を有する他の記憶制御装置は、前記第３ボリュームを使用できないようになっており、
前記第３ボリュームに記憶される前記使用制御情報には、前記第１記憶制御装置及び前記第２記憶制御装置をそれぞれ特定するための識別情報と、前記第１記憶制御装置が前記第３ボリュームを使用しているかを示す制御情報および前記第２記憶制御装置が前記第３ボリュームを使用しているかを示す制御情報とが含まれており、
前記各ステップは、前記管理装置から前記第１記憶制御装置及び前記第２記憶制御装置に送られる指示に基づいて実行される、ストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びストレージシステムの制御方法に関する。
【背景技術】
【０００２】
例えば、企業等では、多種多量のデータを取り扱うために、比較的大規模なストレージシステムを用いてデータを管理する。このストレージシステムは、少なくとも一つの記憶制御装置を備える。記憶制御装置は、例えば、多数の記憶装置を備えており、ＲＡＩＤ（Redundant Array of Inexpensive Disks）に基づく記憶領域を提供する。記憶装置群が提供する物理的な記憶領域上には、少なくとも１つ以上の論理デバイス（論理ボリュームとも呼ばれる）が形成される。ホストコンピュータ（以下、「ホスト」）は、論理デバイスに対してライトコマンドやリードコマンドを発行することにより、データの書込みやデータの読出しを行う。
【０００３】
ストレージシステムは、データの安全性等を改善するために、複数の論理デバイスに同一のデータをそれぞれ記憶させることができる。例えば、第１の従来技術として、ストレージシステムは、同一の記憶制御装置内のそれぞれ異なる論理デバイスに同一のデータをそれぞれ記憶させることができ、または、別々の記憶制御装置内の論理デバイスに同一のデータをそれぞれ記憶させることができる（ＪＰ−Ａ−２００７−１５０４０９）。
【０００４】
さらに、第２の従来技術として、一方の記憶制御装置内の正ボリュームと他方の記憶制御装置内の副ボリュームとでリモートコピーのペアを形成し、そのリモートコピーペアを形成する２つの論理ボリュームを同一のデバイスとしてホストに認識させる、技術も知られている（ＪＰ−Ａ−２００８−１３４９８８）。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記第１の従来技術では、同一筐体内の複数の論理デバイスにデータをそれぞれ記憶させたり、あるいは、それぞれ別々の筐体内に位置する複数の論理デバイスにデータを記憶させることにより、プライマリの論理デバイスが使用不能な場合でも、セカンダリの論理デバイスを用いて業務処理を続行可能である。しかし、プライマリの論理デバイスからセカンダリの論理デバイスに切り替えるためには、ホストのアクセス先デバイスをプライマリの論理デバイスからセカンダリの論理デバイスに意図的に切り替える必要があり、切替作業に手間がかかる。
【０００６】
前記第２の従来技術では、リモートコピーペアを形成する正ボリューム及び副ボリュームを同一の論理ボリュームとしてホストに認識させることにより、データを二重化して管理することができ、さらに、障害発生時に、ホストは副ボリュームに切り替えて情報処理を継続することができる。しかし、第２の従来技術では、各記憶制御装置の障害の有無をホスト側で管理する必要がある。
【０００７】
本発明は、上記の問題点に鑑みてなされたもので、その目的は、異なる記憶制御装置内に存在する別々の論理ボリュームデバイスを一つの仮想ボリュームとして仮想化することができ、さらに、その仮想ボリューム設定、及び、その仮想ボリュームの使用を制御するための情報を別の論理ボリュームに格納して、データアクセスの整合性を確保できるようにしたストレージシステム、及びストレージシステムの制御方法を提供することにある。本発明の更なる目的は、後述する実施の形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決すべく、本発明の第１観点に従うストレージシステムは、ホストコンピュータと、そのホストコンピュータにより利用される複数の記憶制御装置と、各記憶制御装置を管理するための管理装置とが通信可能に接続されているストレージシステムであって、複数の記憶制御装置には、第１記憶制御装置と第２記憶制御装置及び第３記憶制御装置が含まれており、第１記憶制御装置の有する第１ボリュームと第２記憶制御装置の有する第２ボリュームとをペアとして設定することにより、一つの仮想ボリュームを生成してホストコンピュータに提供させる仮想ボリューム設定部と、第３記憶制御装置の有する第３ボリュームを、仮想ボリュームの使用を制御するための使用制御情報を記憶させる制御用ボリュームとして設定する、制御用ボリューム設定部と、を備えており、第３ボリュームに記憶される使用制御情報には、第１記憶制御装置及び第２記憶制御装置をそれぞれ特定するための識別情報が含まれている。
【０００９】
第２観点では、ホストコンピュータと第１記憶制御装置及び第２記憶制御装置とは、第１通信経路を介して接続されており、第１記憶制御装置と第２記憶制御装置とは第２通信経路を介して接続されており、第３記憶制御装置は、第３通信経路を介して第１記憶制御装置及び第２記憶制御装置に接続されており、管理装置は、ホストコンピュータと第１記憶制御装置と第２記憶制御装置及び第３記憶制御装置とに第４通信経路を介して接続されており、第１記憶制御装置は、第１管理部と、第１ボリューム及び仮想的に形成される第４ボリュームを備えており、第２記憶制御装置は、第２管理部と、第２ボリューム及び仮想的に形成される第５ボリュームを備えており、管理装置は、（１）第１管理部及び第２管理部に所定の指示を与えることにより、仮想ボリュームを生成してホストコンピュータに提供させる、仮想ボリューム設定部と、（２）第１管理部及び第２管理部に他の所定の指示を与えることにより、第３ボリュームを制御用ボリュームとして設定させる、制御用ボリューム設定部と、（３）第１管理部及び第２管理部にさらに別の指示を与えることにより、第４ボリューム及び第５ボリュームを第３ボリュームにそれぞれ対応付ける、対応付け設定部と、を備えており、使用制御情報は、第３ボリュームを特定するための第３ボリューム識別情報と、第１記憶制御装置を特定するための第１識別情報と、第２記憶制御装置を特定するための第２識別情報と、第１記憶制御装置が第３ボリュームを使用しているか否かを示す第１使用情報と、第２記憶制御装置が第３ボリュームを使用しているか否かを示す第２使用情報と、ペアの解消後に第１ボリュームに差分データが生じていることを示す第１差分発生情報と、ペアの解消後に第２ボリュームに差分データが生じていることを示す第２差分発生情報と、を含み、第１識別情報と、第１使用情報と、第１差分発生情報とは、第１記憶制御装置のみが更新可能であり、第２識別情報と、第２使用情報と、第２差分発生情報とは、第２記憶制御装置のみが更新可能であり、第３ボリュームは、使用制御情報に対応付けられている第１記憶制御装置及び第２記憶制御装置のみが使用でき、使用制御情報に含まれている識別情報以外の他の識別情報を有する他の記憶制御装置は、第３ボリュームを使用できないようになっている。
【００１０】
第３観点では、第１観点において、第１記憶制御装置内に設けられる仮想的な第４ボリュームを第３ボリュームに対応付け、かつ、第２記憶制御装置内に設けられる仮想的な第５ボリュームを第３ボリュームに対応付ける、対応付け設定部をさらに備え、第１記憶制御装置は第４ボリュームを介して第３ボリュームを使用し、第２記憶制御装置は第５ボリュームを介して第３ボリュームを使用する。
【００１１】
第４観点では、第３観点において、第３ボリュームは、第１記憶制御装置及び第２記憶制御装置のみが使用でき、使用制御情報に含まれている識別情報以外の他の識別情報を有する他の記憶制御装置は、第３ボリュームを使用できないようになっている。
【００１２】
第５観点では、第１観点において、仮想ボリューム設定部と制御用ボリューム設定部とは、管理装置に設けられている。
【００１３】
第６観点では、第３観点において、仮想ボリューム設定部と制御用ボリューム設定部及び対応付け設定部とは、管理装置に設けられている。
【００１４】
第７観点では、第１観点において、使用制御情報は、第１記憶制御装置のみが更新可能な領域と第２記憶制御装置のみが更新可能な領域とが含まれる。
【００１５】
第８観点では、第１観点において、使用制御情報は、第３ボリュームを特定するための第３ボリューム識別情報と、第１記憶制御装置を特定するための第１識別情報と、第２記憶制御装置を特定するための第２識別情報と、第１記憶制御装置が第３ボリュームを使用しているか否かを示す第１使用情報と、第２記憶制御装置が第３ボリュームを使用しているか否かを示す第２使用情報と、ペアの解消後に第１ボリュームに差分データが生じていることを示す第１差分発生情報と、ペアの解消後に第２ボリュームに差分データが生じていることを示す第２差分発生情報と、を含んでいる。
【００１６】
第９観点では、第８観点において、第１識別情報と、第１使用情報と、第１差分発生情報とは、第１記憶制御装置のみが更新可能であり、第２識別情報と、第２使用情報と、第２差分発生情報とは、第２記憶制御装置のみが更新可能である。
【００１７】
第１０観点では、第１観点において、使用制御情報を更新する場合には、更新後に、第３ボリュームから使用制御情報を読み出して正しく更新されたか否かを確認するようになっている。
【００１８】
第１１観点では、第１観点において、第１記憶制御装置は、使用制御情報に対応する第１管理テーブルを有しており、第２記憶制御装置は、使用制御情報に対応する第２管理テーブルを有しており、第１管理テーブル及び第２管理テーブルは、使用制御情報の更新に対応して更新される。
【００１９】
第１２観点では、第１観点において、仮想ボリューム設定部は、第１ボリュームと第２ボリュームとの間に差分が発生した場合に、所定の契機に基づいて、差分が解消するように第１ボリュームの記憶内容と第２ボリュームの記憶内容とを再同期させる。
【００２０】
第１３観点では、第１観点において、仮想ボリュームに関するペアを削除する場合、仮想ボリューム設定部がペアを削除した後で、制御用ボリューム設定部は、仮想ボリュームに関する使用制御情報を削除させる。
【００２１】
本発明の第１４観点に従うストレージシステムの制御方法は、ホストコンピュータと、そのホストコンピュータにより利用される複数の記憶制御装置と、各記憶制御装置を管理するための管理装置とが通信可能に接続されているストレージシステムを制御するための制御方法であって、複数の記憶制御装置には、第１記憶制御装置と第２記憶制御装置及び第３記憶制御装置が含まれており、第１記憶制御装置の有する第１ボリュームと第２記憶制御装置の有する第２ボリュームとをペアとして設定することにより、一つの仮想ボリュームを生成してホストコンピュータに提供させるステップと、第３記憶制御装置の有する第３ボリュームを、仮想ボリュームの使用を制御するための使用制御情報を記憶させる制御用ボリュームとして設定するステップと、第３ボリュームに記憶される使用制御情報に、第１記憶制御装置及び第２記憶制御装置をそれぞれ特定するための識別情報を含ませるステップと、を備え、各ステップは、管理装置から第１記憶制御装置及び第２記憶制御装置に送られる指示に基づいて実行される。
【００２２】
本発明の手段、機能、ステップの全部または一部は、コンピュータシステムにより実行されるコンピュータプログラムとして構成可能な場合がある。本発明の構成の全部または一部がコンピュータプログラムから構成された場合、このコンピュータプログラムは、例えば、各種記憶媒体に固定して配布等することができ、あるいは、通信ネットワークを介して送信することもできる。
【００２３】
さらに、本発明の観点は明示された以外に種々組み合わせることも可能であり、そのような組合せは本発明の範囲に含まれる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態を示す概念図である。
【図２】本発明の実施例に係るストレージシステムのハードウェア構成図である。
【図３】ホスト及び管理サーバのソフトウェア構成を模式的に示す説明図である。
【図４】ストレージ装置の記憶階層構造を示す説明図である。
【図５】仮想ボリュームの構成例を示す説明図である。
【図６】ロックディスクを管理するテーブルを示す説明図である。
【図７】ロック情報ビットマップの構成を模式的に示す説明図である。
【図８】使用制御情報の構成を示す説明図である。
【図９】仮想ボリュームを構成するリモートコピーペアを管理するためのテーブルを示す説明図である。
【図１０】論理ボリュームを管理するテーブルを示す説明図である。
【図１１】外部ボリュームを管理するテーブルを示す説明図である。
【図１２】ロックディスク管理画面の説明図である。
【図１３】第１ストレージ装置により実行される、ロックディスクを作成する処理を示すフローチャートである。
【図１４】第２ストレージ装置により実行される、ロックディスクを作成する処理を示すフローチャートである。
【図１５】ロックディスク作成時のロックディスク管理画面を示す説明図である。
【図１６】ロックディスク作成時のロックディスク管理テーブルを示す説明図である。
【図１７】リモートコピー管理画面の説明図である。
【図１８】リモートコピーペアに関するメニューの内容を示す説明図である。
【図１９】リモートコピーペアを作成するための画面を示す説明図である。
【図２０】リモートコピーペアに基づく仮想ボリュームを作成させるための処理を示すフローチャートである。
【図２１】仮想ボリューム作成時のリモートコピー管理画面の説明図である。
【図２２】仮想ボリューム作成時のペア管理テーブルＴ２０を示す説明図である。
【図２３】ロックディスクを複数作成する場合のロックディスク管理画面を示す説明図である。
【図２４】一つのロックディスクに複数の仮想ボリュームを対応付ける場合のリモートコピー管理画面を示す説明図である。
【図２５】複数のロックディスクを作成する場合の、ロックディスク管理テーブルを示す説明図である。
【図２６】ペア管理テーブルを示す説明図である。
【図２７】ロックディスクを更新する場合の処理を示すフローチャートである。
【図２８】第１ストレージ装置の正ボリュームからデータを読み出す場合のリード処理を示すフローチャートである。
【図２９】第２ストレージ装置の副ボリュームからデータを読み出す場合のリード処理を示すフローチャートである。
【図３０】第１ストレージ装置の正ボリュームにデータを書き込む場合のライト処理を示すフローチャートである。
【図３１】第２ストレージ装置の副ボリュームにデータを書き込む場合のライト処理を示すフローチャートである。
【図３２】第２ストレージ装置の副ボリュームにデータを書き込む処理が失敗する場合を示すフローチャートである。
【図３３】仮想ボリュームの削除を行う場合の処理を示すフローチャートである。
【図３４】ロックディスクの削除を行う場合の処理を示すフローチャートである。
【図３５】ロックディスクの削除に問題が生じる場合を示すフローチャートである。
【図３６】リザーブコマンドを用いてロックディスクを削除する処理のフローチャートである。
【図３７】ロックディスクの削除と仮想ボリュームの削除とを連動して実行する処理を示すフローチャートである。
【図３８】サスペンド状態に移行する場合の処理を示すフローチャートである。
【図３９】リシンク処理を示すフローチャートである。
【図４０】スワップサスペンド状態に移行する場合の処理を示すフローチャートである。
【図４１】リバースリシンク処理を示すフローチャートである。
【図４２】自動的リバースリシンク処理を示すフローチャートである。
【符号の説明】
【００２５】
１，２，３：ストレージ装置
１Ａ，２Ａ：論理ボリューム
１Ｂ，２Ｂ：論理ボリューム
３Ａ：ロックディスク
４：管理サーバ
４Ａ：仮想ボリューム設定部
４Ｂ：ロックディスク設定部
４Ｃ：外部接続設定部
５：ホスト
６：仮想ボリューム
１０，２０，３０：ストレージ装置
７０：ホスト
８０：管理サーバ
１００：コントローラ
１４０：共有メモリ
１６０：サービスプロセッサ
２３１：仮想ボリューム
２３２：ロックディスク
Ｌ１０：使用制御情報。
【発明を実施するための最良の形態】
【００２６】
図１は、本発明の実施形態の全体概要を示す構成説明図である。本実施形態では、後述のように、それぞれ異なるストレージ装置１，２内の論理ボリューム１Ａ，２Ａによって一つの仮想ボリューム６を形成する構成と、仮想的に形成される論理ボリューム１Ｂ，２Ｂを別のストレージ装置３内の論理ボリューム３Ａに接続させる構成と、論理ボリューム３Ａを、仮想ボリューム６の使用を制御するための情報を記憶するロックディスクとして使用する構成とが、開示されている。
【００２７】
ストレージシステムは、別々のストレージ装置１，２内に存在する論理ボリューム１Ａ，２Ａを仮想化して仮想ボリューム６を生成し、この仮想ボリューム６をホスト５に提供する。各論理ボリューム１Ａ，２Ａには、同一のデバイス識別情報（LUN：Logical Unit Number）が設定されているため、ホスト５からは区別がつかない。正確には、副ボリューム２Ａには、正ボリューム１Ａのデバイス識別情報が設定されている。
【００２８】
論理ボリューム１Ａ，２Ａはリモートコピーのペアを形成しており、例えば、論理ボリューム１Ａが正ボリュームに、論理ボリューム２Ａが副ボリュームに、なっている。正ボリューム１Ａに書き込まれたデータは、副ボリューム２Ａに転送されて書き込まれる。正ボリューム１Ａまたは副ボリューム２Ａのいずれか一つに障害が発生した場合でも、正常なボリュームを用いてデータ入出力を行うことができる。
【００２９】
ロックディスク３Ａには、正ボリューム１Ａと副ボリューム２Ａとのどちらに差分が発生したか等を示す情報が記憶されている。各ストレージ装置１，２は、ロックディスク３Ａを共有しており、ロックディスク３Ａに記憶された情報（使用制御情報）に基づいて、仮想ボリューム６を運用する。
【００３０】
従って、本実施形態では、ロックディスク３Ａを用いることにより、障害発生時等に、ホスト５が古いデータにアクセスするのを防止する。さらに、本実施形態では、管理サーバ４からの操作によって、仮想ボリューム６の設定及びロックディスク３Ａの設定等を行うことができるようになっている。
【００３１】
図１に示すストレージシステムを説明する。ストレージシステムは、例えば、「記憶制御装置」としてのストレージ装置１，２，３と、「管理装置」としての管理サーバ４と、「ホストコンピュータ」としてのホスト５とを備えて構成される。
【００３２】
先に接続構成について説明する。第１ストレージ装置１及び第２ストレージ装置２は、「第１通信経路」としての第１通信ネットワークＣＮ１を介して、ホスト５に接続されている。さらに、第１ストレージ装置１と第２ストレージ装置２とは、第２通信経路ＣＮ２を介して接続されている。
【００３３】
第１ストレージ装置１と第２ストレージ装置２とは、「第３通信経路」としての第３通信ネットワークＣＮ３を介して、第３ストレージ装置３に接続されている。管理サーバ４は、「第４通信経路」としての第４通信ネットワークＣＮ４を介して、各ストレージ装置１〜３及びホスト５と接続されている。
【００３４】
例えば、通信ネットワークＣＮ１，ＣＮ３は、ＦＣ＿ＳＡＮ（Fibre Channel_Storage Area Network）、または、ＩＰ＿ＳＡＮ（Internet Protocol_SAN）等を用いて構成することができる。第４通信ネットワークＣＮ４は、例えば、ＬＡＮ（Local Area Network）、または、ＷＡＮ（Wide Area Network）等を用いて構成可能である。第２通信経路ＣＮ２は、例えば、各ストレージ装置１，２間を直接結ぶファイバケーブルまたはメタルケーブルとＦＣプロトコルとから構成可能である。なお、以上は例示であって、本発明は、上記の接続構成に限定されない。また、有線接続に限らず、無線によってデータ通信可能に接続する構成でもよい。
【００３５】
各ストレージ装置１〜３は、それぞれ物理的に異なる装置として構成されており、論理ボリューム１Ａ〜３Ａをそれぞれ備えている。各ストレージ装置１〜３は、複数の記憶装置を備えることができ、これら記憶装置の有する物理的記憶領域上に、論理デバイスとしての論理ボリュームが形成される。論理ボリューム１Ａ〜３Ａは、例えば、ＲＡＩＤ５やＲＡＩＤ６のような冗長化された物理的記憶領域上に設けることができる。なお、以下の説明では、「論理ボリューム」を「ボリューム」と略記する場合がある。図中では、論理デバイスとしての論理ボリュームを「ＬＤＥＶ」と表示している。
【００３６】
記憶装置としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
【００３７】
記憶装置としてハードディスクデバイスを用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。
【００３８】
記憶装置として半導体メモリデバイスを用いる場合、例えば、フラッシュメモリ、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（Magnetoresistive Random Access Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）等の種々のメモリデバイスを利用可能である。なお、記憶装置の種類は、上記のものに限定されず、将来製品化される他の種類の記憶装置を利用できるであろう。
【００３９】
図１では、各ストレージ装置１〜３が、それぞれ実論理ボリューム１Ａ〜３Ａを有する場合を示している。実論理ボリュームとは、記憶装置の物理的記憶領域に直接的に対応付けられているボリュームである。第１ストレージ装置１及び第２ストレージ装置２は、外部の第３ストレージ装置３が有する論理ボリューム３Ａを取り込んで、使用することもできる。外部のストレージ装置３が有する論理ボリューム３Ａを自装置内に取り込み、それがあたかも自分自身の実論理ボリュームであるかのようにして使用する技術は、特開２００５−１０７６４５号公報に記載されている。この公報に記載の技術を、本実施形態において援用することができる。
【００４０】
従って、第１ストレージ装置１及び第２ストレージ装置２は、ハードディスクドライブ等の記憶装置を備えない構成でもよい。この場合、各ストレージ装置１，２は、例えば、スイッチ装置や仮想化装置のようなコンピュータ装置として構成可能である。
【００４１】
管理サーバ４は、各ストレージ装置１〜３の構成を管理したり、ホスト５に指示を与えるための装置である。管理サーバ４は、ストレージシステムを管理するための基本的機能に加えて、仮想ボリューム設定部４Ａと、「制御用ボリューム設定部」としてのロックディスク設定部４Ｂと、「対応付け設定部」としての外部接続設定部４Ｃを備える。
【００４２】
仮想ボリューム設定部４Ａは、それぞれ異なるストレージ装置１，２内に存在する別々の論理ボリューム１Ａ，２Ａを、一つの仮想ボリューム６に仮想化してホスト５に提供させるための機能である。その仮想ボリューム６を、例えば、リモートコピーペア型仮想ボリュームと呼ぶこともできる。
【００４３】
ロックディスク設定部４Ｂは、第３ストレージ装置３内の論理ボリューム３Ａをロックディスクとして使用するための設定を行う機能である。以下、便宜上、論理ボリューム３Ａをロックディスク３Ａと呼ぶ場合がある。ロックディスク３Ａには、仮想ボリューム６を使用するために参照される使用制御情報が記憶される。
【００４４】
使用制御情報には、図８で後述するように、例えば、ロックディスク３Ａを特定するための識別情報と、第１ストレージ装置１を特定するための識別情報と、第２ストレージ装置２を特定するための識別情報と、第１ストレージ装置１がロックディスク３Ａを使用しているか否かを示す情報と、第２ストレージ装置２がロックディスク３Ａを使用しているか否かを示す使用情報と、リモートコピーペアの解消後に第１ボリューム１Ａに差分データが生じていることを示す情報と、リモートコピーペアの解消後に第２ボリューム２Ａに差分データが生じていることを示す情報と、が含まれている。
【００４５】
外部接続設定部４Ｃは、第１ストレージ装置１内のボリューム１Ｂと第３ストレージ装置３内のロックディスク３Ａとを対応付け、さらに、第２ストレージ装置２内のボリューム２Ｂと第３ストレージ装置３内のロックディスク３Ａとを対応付ける。第１ストレージ装置１は、自装置内のボリューム１Ｂを介して、ロックディスク３Ａにアクセスする。同様に、第２ストレージ装置２は、自装置内のボリューム２Ｂを介して、ロックディスク３Ａにアクセスする。ボリューム１Ｂに関するコマンドは、外部のロックディスク３Ａへのコマンドに変換されて、第１ストレージ装置１から第３ストレージ装置３に転送される。同様に、ボリューム２Ｂへのコマンドは、外部のロックディスク３Ａへのコマンドに変換されて、第２ストレージ装置２から第３ストレージ装置３に転送される。
【００４６】
ホスト５は、例えば、メインフレームコンピュータ、サーバコンピュータ、エンジニアリングワークステーション、パーソナルコンピュータ等のコンピュータ装置として構成される。ホスト５がメインフレームコンピュータである場合、例えば、ＦＩＣＯＮ（Fibre Connection：登録商標）、ＥＳＣＯＮ（Enterprise System Connection：登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection  Architecture：登録商標）、ＦＩＢＡＲＣ（Fibre Connection Architecture：登録商標）のような通信プロトコルが用いられる。ホスト５がサーバコンピュータやパーソナルコンピュータ等である場合、例えば、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）、ＦＣＰ（Fibre Channel Protocol）、ｉＳＣＳＩ（internet Small Computer System Interface）のような通信プロトコルが用いられる。
【００４７】
ホスト５は、例えば、アプリケーションプログラム（以下、「アプリケーション」と略記する場合がある）５Ａと、パス制御部５Ｂと、通信部５Ｃとを備えている。なお、各ストレージ装置１〜３，管理サーバ４，ホスト５のハードウェア構成については、後述の実施例で説明する。アプリケーションプログラム５Ａは、例えば、電子メール管理ソフトウェア、顧客管理ソフトウェア、文書作成ソフトウェア等の各種業務を遂行するための一つまたは複数のソフトウェア製品である。
【００４８】
パス制御部５Ｂは、ホスト５が使用するアクセスパス（以下、「パス」と略記する場合がある）を切り替えて使用するソフトウェアである。ホスト５は、一方のパスＰ１を介して第１ストレージ装置１の論理ボリューム１Ａに接続されている。ホスト５は、他方のパスＰ２を介して第２ストレージ装置２の論理ボリューム２Ａに接続されている。
【００４９】
通常の場合、一方のパスＰ１がアクティブパスとなり、他方のパスＰ２がパッシブパスとなる。パス制御部５Ｂは、アクティブパスＰ１を用いて仮想ボリューム６にアクセスできない場合、パッシブパスＰ２に切り替えて仮想ボリューム６にアクセスする。
【００５０】
ホスト５は、例えば、Inquiryコマンドのような問合せコマンドを各ストレージ装置１，２に送信することにより、各ストレージ装置１，２内に設けられている各論理ボリューム１Ａ，２Ａの識別子、装置番号、ＬＵ番号、パス情報等を得ることができる。パス制御部５Ｂは、同一の識別子を有するパスが複数検出された場合、その複数のパスを交替パスとして認識する。
【００５１】
つまり、同一の仮想ボリューム６へアクセスするためのパスが複数検出された場合、一方のパスＰ１を通常時に使用するアクティブパス（プライマリパスとも呼ぶ）として認識し、他方のパスＰ２を異常時に使用するパッシブパス（セカンダリパスとも呼ぶ）として認識する。
【００５２】
仮想ボリューム６は、それぞれ異なるストレージ装置１，２内の論理ボリューム１Ａ，２Ａを仮想化することにより構成される。仮想ボリューム６は、仮想ボリューム設定部４Ａが各ストレージ装置１，２に指示を与えることにより、生成される。仮想ボリューム６を構成する各論理ボリューム１Ａ，２Ａは、例えば、構成要素ボリュームと呼ぶことができる。
【００５３】
論理ボリューム１Ａは、仮想ボリューム６内の正ボリュームとして設定されており、論理ボリューム２Ａは、仮想ボリューム６内の副ボリュームとして設定される。但し、後述の実施例から明らかなように、正ボリュームであるか副ボリュームであるかは、必要に応じて変更される。論理ボリューム１Ａにアクセス障害が発生した場合、論理ボリューム２Ａの属性が「副ボリューム」から「正ボリューム」に変更される。論理ボリューム２Ａの属性を正ボリュームに変更する場合、論理ボリューム２Ａに設定されているデバイス識別情報は、そのまま保持される。論理ボリューム２Ａのデバイス識別情報を、論理ボリューム１Ａのデバイス識別情報とは別の値に変更してしまうと、ホスト５は、別の論理ボリュームとして認識してしまうためである。
【００５４】
正ボリュームは、通常時にホスト５からアクセスされるボリュームであり、副ボリュームは、障害発生時にホスト５からアクセスされるボリュームである。従って、正ボリュームはアクティブボリュームと、副ボリュームはパッシブボリュームと呼び変えることもできる。仮想ボリューム６を構成する正ボリュームと副ボリュームとがコピーペアを形成する場合、正ボリュームをコピー元ボリュームと、副ボリュームをコピー先ボリュームと呼ぶことができる。
【００５５】
仮想ボリューム６には、ストレージシステム内で仮想ボリューム６を一意に特定するための識別子が設定される。図１に示す例では、識別子として「＃１２」が仮想ボリューム６に設定されている。
【００５６】
仮想ボリューム６に設定される識別子は、例えば、仮想ボリューム６を構成する各論理ボリューム１Ａ，２Ａの元の識別子に基づいて生成される。図１に示す例では、一方の論理ボリューム１Ａの元の識別子「＃１」、他方の論理ボリューム２Ａの元の識別子は「＃２」である。そこで、仮想ボリューム６には、一方の論理ボリューム１Ａの識別子「＃１」と他方の論理ボリューム２Ａの識別子「＃２」とを合体させて得られる識別子「＃１２」が設定されている。仮想ボリューム６に設定される識別子は、ストレージシステム内に存在する他の各論理ボリュームの識別子と重複しないように生成される。
【００５７】
仮想ボリューム６が設定されると、各ストレージ装置１，２は、仮想ボリューム６を構成する論理ボリューム１Ａ，２Ａに、仮想ボリューム６の識別子「＃１２」と同一の識別子を設定する。つまり、第１ストレージ装置１は、論理ボリューム１Ａの識別子として識別子「＃１２」を設定する。ストレージ装置２も、論理ボリューム２Ａの識別子として識別子「＃１２」を設定する。「＃１２」を仮想ボリューム６を特定するための仮想識別子と呼ぶことができる。
【００５８】
仮想識別子「＃１２」は、仮想ボリューム６を構成する各論理ボリューム１Ａ，２Ａの元々の識別子「＃１」，「＃２」に優先して設定される。従って、ホスト５からの問合せに対し、第１ストレージ装置１は論理ボリューム１Ａの識別子として仮想識別子「＃１２」を返し、第２ストレージ装置２も論理ボリューム２Ａの識別子として仮想識別子「＃１２」を返す。これにより、パス制御部５Ｂは、論理ボリューム１Ａ及び論理ボリューム２Ａを、同一のボリューム（仮想ボリューム６）として認識する。
【００５９】
各論理ボリューム１Ａ，２Ａに元々設定されている識別子「＃１」，「＃２」は、各ストレージ装置１，２内で論理ボリューム１Ａ，２Ａを管理するために使用される、内部的な識別情報である。これに対し、仮想識別子「＃１２」は、仮想ボリューム６をホスト５に認識させるための、対外的な識別情報である。
【００６０】
論理ボリューム１ＡにアクセスするためのパスＰ１と、論理ボリューム２ＡにアクセスするためのパスＰ２とは、仮想ボリューム６にアクセスするためのパスとして、パス制御部５Ｂに認識される。
【００６１】
本ストレージシステムの動作について説明する。最初に、ユーザは、外部接続設定部４Ｃを用いて、第３ストレージ装置３内の論理ボリューム３Ａと、第１ストレージ装置１内の仮想的な論理ボリューム１Ｂ及び第２ストレージ装置２内の仮想的な論理ボリューム２Ｂとを対応付けておく。
【００６２】
次に、ユーザは、ロックディスク設定部４Ｂを用いて、第３ストレージ装置３内の論理ボリューム３Ａを、仮想ボリューム６の使用を制御するためのロックディスク３Ａとして設定する。
【００６３】
さらに、ユーザは、仮想ボリューム設定部４Ａを用いて、仮想ボリューム６を構成させる各論理ボリューム１Ａ，２Ａをそれぞれ指定し、各論理ボリューム１Ａ，２Ａとロックディスク３Ａとの対応関係を設定する。
【００６４】
アプリケーションプログラム５Ａが、仮想ボリューム６にデータを書き込む場合、パス制御部５Ｂは、アクティブパスＰ１を用いて、論理ボリューム１Ａにライトコマンドを発行する。
【００６５】
第１ストレージ装置１は、ホスト５から受信したライトデータを論理ボリューム１Ａに書き込む。さらに、第１ストレージ装置１は、論理ボリューム１Ａと共に仮想ボリューム６を構成する論理ボリューム２Ａに、通信経路ＣＮ２を介して、そのライトデータを送信する。
【００６６】
第２ストレージ装置２は、第１ストレージ装置１から受信したライトデータを論理ボリューム２Ａに書込む。このように、仮想ボリューム６を提供する各ストレージ装置１，２は、それぞれの論理ボリューム１Ａ，２Ａにライトデータを書き込む。従って、通常の場合、仮想ボリューム６を構成する各論理ボリューム１Ａ，２Ａは、それぞれの記憶内容が一致している。
【００６７】
もしも第２ストレージ装置２に障害が発生したり、あるいは、第１ストレージ装置１と第２ストレージ装置２とを結ぶ通信経路ＣＮ２が切断された場合、ストレージシステムは運用を停止せずに、第１ストレージ装置１を用いて、仮想ボリューム６をホスト５に提供する。
【００６８】
ストレージシステムの運用を継続すると、第１ストレージ装置１内の論理ボリューム１Ａに新たなデータが蓄積されていき、論理ボリューム２Ａの記憶内容と論理ボリューム１Ａの記憶内容とに差分が生じる。論理ボリューム１Ａに差分が発生した事は、第１ストレージ装置１によって、ロックディスク３Ａ内の使用制御情報に書き込まれる。
【００６９】
例えば、第２ストレージ装置２が障害から復旧した場合、または、第１ストレージ装置１と第２ストレージ装置２とを接続する通信経路ＣＮ２とが正常に戻った場合、論理ボリューム１Ａ（正ボリューム）に蓄積された差分データは、論理ボリューム２Ａ（副ボリューム）に転送される。これにより、正ボリューム１Ａの記憶内容と副ボリューム２Ａの記憶内容とは同期する。
【００７０】
ホスト５が論理ボリューム２Ａにアクセスしようとした場合、第２ストレージ装置２は、ロックディスク３Ａ内の使用制御情報を参照する。使用制御情報には、各ボリューム１Ａ，２Ａが同期していないこと、及び、論理ボリューム１Ａを用いて仮想ボリューム６が運用されていること等が記憶されている。従って、第２ストレージ装置２は、ホスト５からのアクセスに応答せず、エラーを返す。これにより、ホスト５が古いデータにアクセスするのを未然に防止することができる。
【００７１】
上記例とは逆に、第１ストレージ装置１に障害等が発生し、第２ストレージ装置２が論理ボリューム２Ａを用いて仮想ボリューム６を運用する場合も同様である。この場合は、論理ボリューム２Ａに差分データが蓄積される。使用制御情報には、論理ボリューム２Ａに差分データが蓄積されていること、及び、論理ボリューム２Ａを用いて仮想ボリューム６が運用されていること等が記憶される。仮想ボリューム６に関する主導権を得ていない第１ストレージ装置１は、ホスト５からのアクセスに対応しない。従って、ホスト５が古いデータ（論理ボリューム１Ａ内のデータ）にアクセスするのを未然に防止できる。
【００７２】
このように構成される本実施形態によれば、以下の効果を奏する。本実施形態では、第１ストレージ装置１及び第２ストレージ装置２とは別の第３ストレージ装置３内にロックディスク３Ａを設け、そのロックディスク３Ａ内に、論理ボリューム１Ａと論理ボリューム２Ａとから構成される仮想ボリューム６の使用を制御するための使用制御情報を格納させる。従って、本実施形態では、各ストレージ装置１，２は、ロックディスク３Ａを共有することにより、ストレージ装置１，２間での切替を適切に行うことができ、ホスト５が各ストレージ装置１，２の切替を意識する必要は無い。
【００７３】
本実施形態では、使用制御情報には、第１ストレージ装置１及び第２ストレージ装置２をそれぞれ特定するための識別情報が含まれている。これにより、他のストレージ装置にロックディスク３Ａを関連づける等の誤りを未然に防止できる。
【００７４】
本実施形態では、各ストレージ装置１，２内に仮想的に設けられる論理ボリューム１Ｂ，２Ｂにロックディスク３Ａを対応付け、論理ボリューム１Ｂ，２Ｂを介してロックディスク３Ａを使用する。従って、第１ストレージ装置１，２の有するキャッシュメモリ量や機能を利用して、ロックディスク３Ａにアクセスできる。
【００７５】
本実施形態では、管理サーバ４内に、仮想ボリューム設定部４Ａ，ロックディスク設定部４Ｂ，外部接続設定部４Ｃを設ける。従って、ユーザは、管理サーバ４の各設定部４Ａ〜４Ｃを用いて、例えば、仮想ボリューム６の生成及び削除、ロックディスク３Ａの生成及び対応付け、論理ボリューム１Ｂ，２Ｂとロックディスク３Ａとの接続等を行うことができ、使い勝手が向上する。
【００７６】
後述の実施例に記載のように、使用制御情報に含まれる各情報のうち、第１ストレージ装置１を識別するための情報と、第１ストレージ装置１がロックディスク３Ａを使用していることを示す情報と、論理ボリューム１Ａに差分データが発生していることを示す情報とは、第１ストレージ装置１のみが更新可能である。同様に、使用制御情報に含まれる各情報のうち、第２ストレージ装置２を識別するための情報と、第２ストレージ装置２がロックディスク３Ａを使用していることを示す情報と、論理ボリューム２Ａに差分データが発生していることを示す情報とは、第２ストレージ装置２のみが更新可能である。従って、第１ストレージ装置１が誤って第２ストレージ装置２に関する情報を書き換えたり、その逆に、第２ストレージ装置２が誤って第１ストレージ装置１に関する情報を書き換えたりするのを未然に防止でき、信頼性が向上する。
【００７７】
さらに、後述の実施例で明らかとなるように、使用制御情報を更新する場合には、その更新後に、ロックディスク３Ａから使用制御情報を読み出して、正しく更新されたか否かを確認する。従って、それぞれ異なるストレージ装置１，２が一つのロックディスク３Ａを共有する場合でも、使用制御情報が適切に更新されることを保証でき、ストレージシステムの信頼性を高めることができる。
【００７８】
さらに、後述の実施例で明らかにされるように、ロックディスクの削除時に、一つの指示で、仮想ボリュームも削除させることができる。これにより、使い勝手を高めることができる。以下、本実施形態を詳細に説明する。
【実施例１】
【００７９】
図２は、本実施例によるストレージシステムの全体概要を示す説明図である。先に図１との対応関係について説明すると、図２中のストレージ装置１０，２０，３０は、図１中のストレージ装置１，２，３にそれぞれ対応する。図２中のホスト７０は図１中のホスト５に、図２中の管理サーバ８０は図１中の管理サーバ４に、それぞれ対応する。
【００８０】
図５に示す仮想ボリューム２３１は、図１中の仮想ボリューム６に対応する。図５に示すロックディスク２３２は、図１中のロックディスク３Ａに対応する。図４に示す論理ボリューム２３０は、図１中の論理ボリューム１Ａ，２Ａに対応する。第１通信ネットワークＣＮ１０は第１通信ネットワークＣＮ１に、第２通信経路ＣＮ２０は第２通信経路ＣＮ２に、第３通信ネットワークＣＮ３０は第３通信ネットワークＣＮ３に、第４通信経路ＣＮ４０は第４通信経路ＣＮ４に、対応する。以下、図１で述べた説明と重複する部分は簡単に説明する。
【００８１】
ストレージシステムは、複数のストレージ装置１０，２０，３０と、ホスト７０と、管理サーバ８０とを備えている。ストレージ装置１０，２０とホスト７０とは、通信ネットワークＣＮ１０を介して接続される。ストレージ装置１０とストレージ装置２０とは、通信経路ＣＮ２０を介して接続される。管理サーバ８０は、通信ネットワークＣＮ４０を介して、各ストレージ装置１０〜３０及びホスト７０と接続される。ストレージ装置１０，２０とストレージ装置３０とは、通信経路ＣＮ３０を介して接続される。
【００８２】
但し、これに限らず、例えば、通信ネットワークＣＮ１０とＣＮ３０とを同一の通信ネットワークとして構成してもよい。また、管理用ネットワークＣＮ４０を廃止し、通信ネットワークＣＮ１０を用いて管理用の情報を流通させる構成でもよい。
【００８３】
図２に示す構成は、ストレージ装置１０，２０が外部接続の接続元となり、ストレージ装置３０が外部接続の接続先となっている例を示している。外部接続とは、上述の通り、自装置の外部に存在する論理ボリュームを自装置の内部に取り込む技術である。外部接続の接続元となるストレージ装置１０，２０は、ストレージ装置３０内の論理ボリューム２３０を利用可能である。従って、ある程度の量のキャッシュメモリを備えているのであれば、ストレージ装置１０，２０は、実ボリュームを備える必要はない。各ストレージ装置１０，２０は、スイッチ装置または仮想化専用装置等のように構成できる。
【００８４】
ストレージ装置１０〜３０の構成を説明する。各ストレージ装置１０〜３０は、同一構成であってもよい。そこで、ストレージ装置１０を例に挙げて説明する。
【００８５】
ストレージ装置１０は、例えば、コントローラ１００と記憶装置搭載部（以下、ＨＤＵとも呼ぶ）２００とを備える。コントローラ１００は、ストレージ装置１０の動作を制御するものである。コントローラ１００は、例えば、チャネルアダプタ１１０（以下、「ＣＨＡ１１０」）と、ディスクアダプタ１２０（以下、「ＤＫＡ１２０」）と、キャッシュメモリ１３０（図中、「ＣＭ」）と、共有メモリ１４０（図中、「ＳＭ」）と、接続制御部１５０（図中、「ＳＷ」）と、サービスプロセッサ１６０（図中、「ＳＶＰ」）とを備えている。
【００８６】
第１通信制御部と表現可能なＣＨＡ１１０は、ホスト７０または他のストレージ装置との間でデータ通信を行うものである。各ＣＨＡ１１０は、図４に示すように、通信ポート１１１（１１１Ａ及び１１１Ｂの総称として符号１１１を用いる）をそれぞれ少なくとも一つ以上備える。各ＣＨＡ１１０は、それぞれＣＰＵやメモリ等を備えたマイクロコンピュータシステムとして構成される。各ＣＨＡ１１０は、ホスト７０から受信したリードコマンドやライトコマンド等の各種コマンドを解釈して実行する。
【００８７】
なお、通信機能とコマンド解釈及び実行機能とを分ける構成としてもよい。例えば、ホスト７０または他のストレージ装置と通信を行うための通信制御基板と、コマンドを解釈して実行するための実行制御基板とを分ける構成でもよい。
【００８８】
各ＣＨＡ１１０には、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ（World Wide Name））が割り当てられている。各ＣＨＡ１１０は、それぞれが個別にＮＡＳ（Network Attached Storage）として振る舞うこともできる。複数のホスト７０が存在する場合、各ＣＨＡ１１０は、各ホスト７０からの要求をそれぞれ個別に受け付けて処理する。
【００８９】
第２通信制御部と表現可能なＤＫＡ１２０は、ＨＤＵ２００が有するディスクドライブ２１０との間でデータ授受を行う。各ＤＫＡ１２０は、ＣＨＡ１１０と同様に、ＣＰＵやメモリ等を備えたマイクロコンピュータシステムとして構成される。前記同様に、通信機能とコマンド解釈及び実行機能とを分離する構成でもよい。
【００９０】
各ＤＫＡ１２０は、例えば、ＣＨＡ１１０がホスト７０から受信したデータや、他のストレージ装置からのデータ等を、所定のディスクドライブ２１０に書込む。また、各ＤＫＡ１２０は、所定のディスクドライブ２１０からデータを読み出し、ホスト７０または外部のストレージ装置に送信する。ディスクドライブ２１０との間でデータ入出力を行う場合、各ＤＫＡ１２０は、論理的なアドレスを物理的なアドレスに変換する。
【００９１】
各ＤＫＡ１２０は、ディスクドライブ２１０がＲＡＩＤに従って管理されている場合、ＲＡＩＤ構成に応じたデータアクセスを行う。例えば、各ＤＫＡ１２０は、同一のデータを別々のディスクドライブ群（ＲＡＩＤグループ）にそれぞれ書き込んだり（ＲＡＩＤ１）、あるいは、パリティ計算を実行し、データ及びパリティをディスクドライブ群に分散させて書き込む（ＲＡＩＤ５、ＲＡＩＤ６等）。
【００９２】
キャッシュメモリ１３０は、ホスト７０または外部のストレージ装置から受信したデータを記憶する。また、キャッシュメモリ１３０は、ディスクドライブ２１０から読み出されたデータを記憶する。後述のように、キャッシュメモリ１３０の記憶空間を利用して、仮想的な中間記憶装置（ＶＤＥＶ）が構築される。
【００９３】
共有メモリ（制御メモリとも呼ばれる場合もある）１４０には、ストレージ装置１０の作動に使用するための各種制御情報等が格納される。また、共有メモリ１４０には、ワーク領域が設定されるほか、後述する各種テーブル類も格納される。
【００９４】
なお、ディスクドライブ２１０のいずれか一つあるいは複数を、キャッシュ用のディスクとして使用してもよい。また、キャッシュメモリ１３０と共有メモリ１４０とは、それぞれ別々のメモリとして構成することもできるし、同一のメモリの一部の記憶領域をキャッシュ領域として使用し、他の記憶領域を制御領域として使用することもできる。
【００９５】
接続制御部１５０は、各ＣＨＡ１１０，各ＤＫＡ１２０，キャッシュメモリ１３０及び共有メモリ１４０を相互に接続させる。接続制御部１５０は、例えば、クロスバスイッチ等として構成可能である。
【００９６】
ＨＤＵ２００は、複数のディスクドライブ２１０を備えている。ディスクドライブ２１０としては、例えば、ハードディスクドライブ、フラッシュメモリデバイス、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等のような各種記憶装置及びこれらの均等物を用いることができる。
【００９７】
例えば、複数のディスクドライブ２１０の物理的記憶領域を一つにまとめてＲＡＩＤグループ２２０を構成することができる。このＲＡＩＤグループ２２０の物理的記憶領域には、論理ボリューム２３０を少なくとも一つ以上設けることができる。
【００９８】
ＳＶＰ１６０は、ＬＡＮ等の内部ネットワークを介して、各ＣＨＡ１１０とそれぞれ接続されている。ＳＶＰ１６０は、ＣＨＡ１１０を介して、共有メモリ１４０やＤＫＡ１２０とデータ授受を行うことができる。ＳＶＰ１６０は、ストレージ装置１０内の各種情報を収集し、管理サーバ８０に提供する。
【００９９】
他のストレージ装置２０，３０もストレージ装置１０と同様に構成可能である。しかし、ストレージ装置１０〜３０の構成がそれぞれ異なっていてもよい。例えば、各ストレージ装置１０〜３０の機種、ベンダ、型式、世代等が異なっていても、本発明を適用することができる。
【０１００】
ホスト７０のハードウェア構成を説明する。ホスト７０は、例えば、ＣＰＵ７１と、メモリ７２と、ＨＢＡ（Host Bus Adapter）７３と、ＬＡＮインターフェース７４及び内蔵ディスク７５を備えて構成される。
【０１０１】
ＨＢＡ７３は、通信ネットワークＣＮ１０を介して、ストレージ装置１０，２０にアクセスするための通信部であり、図１中の通信部５Ｃに対応する。ＬＡＮインターフェース７４は、管理用の通信ネットワークＣＮ４０を介して、管理サーバ８０と通信するための回路である。
【０１０２】
管理サーバ８０の構成を説明する。管理サーバ８０は、ストレージシステムの構成等を管理するためのコンピュータ装置であり、例えば、システム管理者や保守員等のユーザにより操作される。管理サーバ８０は、例えば、ＣＰＵ８１と、メモリ８２と、ユーザインターフェース８３（図中、「ＵＩ」）と、ＬＡＮインターフェース８４及び内蔵ディスク８５を備えて構成される。ＬＡＮインターフェース８４は、管理用の通信ネットワークＣＮ４０を介して、各ストレージ装置１０〜３０及びホスト７０と通信を行う。
【０１０３】
ユーザインターフェース８３は、ユーザに後述の管理画面を提供し、かつ、ユーザからの入力を受け取るためのものである。ユーザインターフェース８３は、例えば、ディスプレイ装置、キーボードスイッチ、ポインティングデバイス等から構成される。なお、例えば、音声入力によって各種の入力を行うことができる構成でもよい。
【０１０４】
図３は、ホスト７０及び管理サーバ８０のソフトウェア構成を示す説明図である。図３（ａ）に示すように、ホスト７０は、例えば、オペレーティングシステム７６と、ＨＢＡドライバ７７と、パス制御ソフトウェア７８と、アプリケーションプログラム７９とを備えている。
【０１０５】
ＨＢＡドライバ７７は、ＨＢＡ７３を制御するためのソフトウェアである。パス制御ソフトウェア７８は、図１中のパス制御部５Ｂに対応する。パス制御ソフトウェア７８は、アプリケーションプログラム７９からのアクセス要求に応じて、どのアクセスパスを用いてアクセスすべきかを決定する。パス制御ソフトウェア７８は、アクセス先のボリュームに繋がるアクセスパスが複数存在する場合、プライマリに設定されているアクセスパス（アクティブパス）とセカンダリに設定されているパス（パッシブパス）とを切り替えて使用する。
【０１０６】
以下の説明では、パス制御ソフトウェア７８をパス制御部７８と呼ぶ場合がある。アプリケーションプログラム７９は、図１中のアプリケーションプログラム５Ａに対応するソフトウェアである。
【０１０７】
図３（ｂ）に示すように、管理サーバ８０は、オペレーティングシステム８６と、ＬＡＮカードドライバ８７と、管理プログラム８８とを備えている。管理プログラム８８は、仮想ボリューム２３１の設定をストレージ装置に指示する機能と、ロックディスク２３２の作成等をストレージ装置に指示する機能と、ストレージ装置３０の有する実ボリューム２３０をストレージ装置１０，２０内の仮想的なボリューム（外部接続ボリューム）として設定するための機能とを備える。管理プログラム８８は、図１中の仮想ボリューム設定部４Ａ、ロックディスク設定部４Ｂ及び外部接続設定部４Ｃに対応する。
【０１０８】
図４は、ストレージシステムの記憶構造を示す説明図である。図４には、上述した外部接続に関する構成等が示されている。
【０１０９】
ストレージ装置１０，２０の記憶構造は、例えば、物理的記憶階層と論理的記憶階層とに大別できる。物理的記憶階層は、物理的なディスクであるＰＤＥＶ（Physical Device）２１０により構成される。ＰＤＥＶは、ディスクドライブ２１０に該当する。
【０１１０】
論理的記憶階層は、複数の（例えば２種類の）階層から構成可能である。一つの論理的階層は、ＶＤＥＶ（Virtual Device）２２０、または、ＶＤＥＶ２２０のように扱われる仮想的なＶＤＥＶ２２１のいずか一つから構成可能である。他の一つの論理的階層は、ＬＤＥＶ（Logical Device）２３０から構成することができる。
【０１１１】
ＶＤＥＶ２２０は、例えば、４個１組（３Ｄ＋１Ｐ）、８個１組（７Ｄ＋１Ｐ）等のような所定数のＰＤＥＶ２１０をグループ化して構成される。グループに属する各ＰＤＥＶ２１０によりそれぞれ提供する記憶領域を集合させて、一つのＲＡＩＤ記憶領域が形成される。このＲＡＩＤ記憶領域がＶＤＥＶ２２０となる。
【０１１２】
ＶＤＥＶ２２０が物理的な記憶領域上に構築されるのとは対照的に、ＶＤＥＶ２２１は、物理的な記憶領域を直接には必要としない仮想的な中間記憶装置である。ＶＤＥＶ２２１は、物理的な記憶領域に直接関係づけられるものではなく、外部ストレージ装置としての第３ストレージ装置３０のＬＵ（Logical Unit）をマッピングするための受け皿となっている。ここでは、接続元であるストレージ装置１０，２０から見て、接続先のストレージ装置３０はストレージ装置１０，２０の外部に存在するため、外部ストレージ装置３０と呼ぶ。
【０１１３】
ＬＤＥＶ２３０は、ＶＤＥＶ２２０またはＶＤＥＶ２２１上に、それぞれ少なくとも一つ以上設けることができる。ＬＤＥＶ２３０とは、上述の論理ボリューム２３０のことである。ＬＤＥＶ２３０は、例えば、ＶＤＥＶ２２０を所定サイズで分割することにより構成される。
【０１１４】
オープン系ホストの場合、ＬＤＥＶ２３０がＬＵ２４０にマッピングされることにより、ホスト７０は、ＬＤＥＶ２３０を一つの物理的なディスクとして認識する。オープン系のホストは、ＬＵＮ（Logical Unit Number ）や論理ブロックアドレスを指定することにより、所望のＬＤＥＶ２３０にアクセスする。なお、メインフレーム系ホストの場合は、ＬＤＥＶ２３０を直接認識する。
【０１１５】
ＬＵ２４０は、ＳＣＳＩの論理ユニットとして認識可能なデバイスである。各ＬＵ２４０は、ターゲットポート１１１Ａを介してホスト７０に接続される。各ＬＵ２４０には、少なくとも一つ以上のＬＤＥＶ２３０をそれぞれ関連付けることができる。なお、一つのＬＵ２４０に複数のＬＤＥＶ２３０を関連付けることにより、ＬＵサイズを仮想的に拡張することもできる。
【０１１６】
ＣＭＤ（Command Device）２５０は、ホスト７０とストレージ装置１０，２０との間で、コマンドやステータスを受け渡すために使用される専用のＬＵである。ホスト７０からのコマンドは、ＣＭＤ２５０に書き込まれる。ストレージ装置１０，２０は、ＣＭＤ２５０に書き込まれたコマンドに応じた処理を実行し、その実行結果をステータスとしてＣＭＤ２５０に書き込む。ホスト７０は、ＣＭＤ２５０に書き込まれたステータスを読み出して確認し、次に実行すべき処理内容をＣＭＤ２５０に書き込む。このようにして、ホスト７０は、ＣＭＤ２５０を介して、ストレージ装置１０，２０に各種の指示を与えることができる。
【０１１７】
なお、ホスト７０から受信したコマンドを、ＣＭＤ２５０に格納せずに、ストレージ装置１０，２０は、直接的に処理することもできる。また、実体のデバイス（ＬＵ）を定義せずに、ＣＭＤを仮想的なデバイスとして生成し、ホスト７０からのコマンドを受け付けて処理するように構成してもよい。例えば、ＣＨＡ１１０は、ホスト７０から受信したコマンドを共有メモリ１４０に書き込み、この共有メモリ１４０に記憶されたコマンドを、ＣＨＡ１１０又はＤＫＡ１２０が処理する。その処理結果は共有メモリ１４０に書き込まれ、ＣＨＡ１１０からホスト７０に送信される。
【０１１８】
ストレージ装置１０，２０のイニシエータポート（External Port）１１１Ｂには、通信経路ＣＮ３０を介して、外部ストレージ装置３０が接続されている。この通信ポート１１１Ｂは、外部接続用の通信ポートである。
【０１１９】
外部ストレージ装置３０は、複数のＰＤＥＶ２１０と、ＰＤＥＶ２１０の提供する記憶領域上に設定されたＶＤＥＶ２２０と、ＶＤＥＶ２２０上に少なくとも一つ以上設定可能なＬＤＥＶ２３０とを備えている。そして、各ＬＤＥＶ２３０は、ＬＵ２４０にそれぞれ関連付けられている。
【０１２０】
外部ストレージ装置３０のＬＵ２４０は、ＶＤＥＶ２２１にマッピングされている。ＬＤＥＶ２３０Ａは、仮想的なＶＤＥＶ２２１に対応付けられている。ストレージ装置１０，２０は、ＬＤＥＶ２３０Ａを介して、外部ストレージ装置３０内の論理ボリューム（ロックディスク）を使用する。
【０１２１】
図５は、ストレージシステムの構成を模式的に示す説明図である。図５に示すように、ホスト７０とストレージ装置１０とは複数の通信パスＰ１１（１），Ｐ１１（２）で接続されている。ホスト７０とストレージ装置２０も、複数の通信パスＰ１２（１），Ｐ１２（２）に接続されている。通常の場合、各通信パスＰ１１（１），Ｐ１１（２）はアクティブパスであり、各通信パスＰ１２（１），Ｐ１２（２）はパッシブパスである。パス制御部７８は、複数のアクティブパスＰ１１（１），Ｐ１１（２）のいずれも使用できない場合に、パッシブパスＰ１２（１），Ｐ１２（２）に切り替える。パス制御部７８は、ラウンドロビン方式に基づいて、２つのアクティブパスＰ１１（１），Ｐ１１（２）を切り替えて使用する。同様に、パス制御部７８は、２つのパッシブパスＰ１２（１），Ｐ１２（２）を切り替えて使用する。
【０１２２】
ストレージ装置１０内の論理ボリューム２３０（正ボリューム）とストレージ装置２０内の論理ボリューム２３０（副ボリューム）とにより、一つの仮想ボリューム２３１が形成される。正ボリュームと副ボリュームとは、リモートコピーペアを形成する。
【０１２３】
通常の場合、ホスト７０は、ストレージ装置１０内の正ボリュームにアクセスする。ホスト７０が正ボリュームに記憶されているデータを更新させると、更新データはストレージ装置１０からストレージ装置２０に送信され、ストレージ装置２０内の副ボリュームに反映される。仮想ボリューム２３１を構成する各論理ボリューム２３０には、それぞれ同一の識別子が設定されているため、パス制御部７８は、各論理ボリューム２３０の見分けがつかず、同一のデバイスとして認識する。
【０１２４】
図６は、ロックディスクを管理するためのテーブルＴ１０を示す。そのロックディスク管理テーブルＴ１０は、各ストレージ装置１０，２０内の共有メモリ１４０に記憶されている。
【０１２５】
ロックディスク管理テーブルＴ１０は、例えば、ロックディスク識別子Ｃ１１（以下、識別子をＩＤと略す場合がある）と、管理フラグＣ１２と、ロックディスクのＬＤＥＶ番号Ｃ１３と、自装置の製造番号Ｃ１４と、相手装置の製造番号Ｃ１５と、コントロール識別子Ｃ１６と、ロックディスク情報ビットマップＣ１７とを備えている。
【０１２６】
ロックディスクＩＤ＿Ｃ１１とは、ロックディスク２３２をストレージシステム内で一意に識別するための情報である。管理フラグＣ１２は、ロックディスク２３２の状態等を管理するための情報である。管理フラグＣ１２には、例えば、有効／無効フラグＣ１２１と、ロックディスク作成中状態フラグＣ１２２と、ロックディスク削除中状態フラグＣ１２３とが含まれる。
【０１２７】
有効／無効フラグＣ１２１は、そのロックディスク２３２が有効であるか無効であるかを示すためのフラグである。ロックディスク作成中状態フラグＣ１２２は、ロックディスク２３２が作成されている最中であることを示すフラグである。ロックディスク２３２の作成をストレージ装置に指示してから、ロックディスクの作成完了が報告されるまでの間、ロックディスクの状態は「作成中」に設定される。
【０１２８】
ロックディスク削除中状態フラグＣ１２３は、ロックディスク２３２が削除されている最中であることを示すフラグである。ロックディスクの削除を指示してから、ロックディスクの削除完了が報告されるまでの間、そのロックディスクの状態は「削除中」に設定される。
【０１２９】
ＬＤＥＶ番号Ｃ１３は、ロックディスク２３２として使用される論理ボリューム２３０の番号を示す。第３ストレージ装置３０内の論理ボリューム２３０が、ロックディスク２３２として使用される。
【０１３０】
自装置の製造番号Ｃ１４には、そのロックディスク管理テーブルＴ１０がストレージ装置１０に記憶されている場合には、ストレージ装置１０の製造番号が設定される。これに対し、ストレージ装置２０内のロックディスク管理テーブルＴ１０には、自装置の製造番号Ｃ１４として、ストレージ装置２０の製造番号が設定される。
【０１３１】
相手装置の製造番号Ｃ１５には、そのロックディスク管理テーブルＴ１０がストレージ装置１０に記憶されている場合には、ストレージ装置２０の製造番号が設定される。これに対し、ストレージ装置２０内のロックディスク管理テーブルＴ１０の場合、相手装置の製造番号Ｃ１５にはストレージ装置１０の製造番号が設定される。
【０１３２】
コントロールＩＤ＿Ｃ１６には、ストレージ装置の世代を示す番号が設定される。ストレージシステム内に異なる世代のストレージ装置が混在する場合でも、各ストレージ装置を正確に識別するためにストレージ装置の世代の情報も管理する。コントロールＩＤと製造番号との組合せにより、各ストレージ装置を一意に特定することができる。
【０１３３】
ロック情報ビットマップｃ１７には、そのロックディスク２３２に対応付けられている仮想ボリューム２３１のロック情報（つまり、その仮想ボリューム２３１を構成するリモートコピーペアに関するロック情報）が、ビットマップ形式で設定される。
【０１３４】
図７は、ロックディスク情報ビットマップＣ１７を模式的に示す説明図である。ロック情報ビットマップＣ１７では、そのロックディスク２３２によって管理されている、一つまたは複数の仮想ボリューム（図７中「ペア」と表示）毎に（図７（ｂ））、それぞれ１ビットを割り当てている（図７（ａ））。
【０１３５】
図７（ｃ），（ｄ）に示すように、仮想ボリューム２３１に関するリモートコピーペアを構成する各ボリューム（正ボリュームと副ボリューム）がペア状態である場合、そのペアに対応するビットには「０」が設定される。
【０１３６】
これに対し、障害等によってペアが解除された場合、正ボリュームまたは副ボリュームのいずれか一方がホスト７０により更新され、正ボリュームの記憶内容と副ボリュームの記憶内容とが一致しなくなる。そこで、リモートコピーペアが解除された場合、その仮想ボリュームに対応するビットには「１」が設定される。
【０１３７】
正ボリュームを用いて仮想ボリューム２３１の運用を継続する場合、ストレージ装置１０内のロックディスク管理テーブルＴ１０において、ロック情報ビットマップＣ１７の対応ビットに「１」が設定される。ストレージ装置２０内のロックディスク管理テーブルＴ１０では、ロック情報ビットマップＣ１７内の対応ビットの値は「０」である。
【０１３８】
これとは逆に、もしも副ボリュームを用いて仮想ボリューム２３１の運用が継続される場合、ストレージ装置２０内のロックディスク管理テーブルＴ１０において、ロック情報ビットマップＣ１７の対応ビットに「１」が設定される。ストレージ装置１０内のロックディスク管理テーブルＴ１０では、ロック情報ビットマップＣ１７内の対応ビットの値は「１」である。
【０１３９】
つまり、ロック情報ビットマップＣ１７は、仮想ボリューム２３１を構成する複数のボリュームのうち、いずれのボリュームを用いて仮想ボリューム２３１が運用されているかを示す。換言すれば、複数のストレージ装置１０，２０のうち、いずれのストレージ装置が仮想ボリューム２３１の運用を担当しているかを示す。
【０１４０】
図８は、ロックディスク２３２に記憶される使用制御情報Ｌ１０の構成例を示す説明図である。使用制御情報Ｌ１０は、例えば、管理情報Ｌ１１と、第１ストレージ装置１０の制御情報Ｌ１２と、第２ストレージ装置２０の制御情報Ｌ１３と、第１ストレージ装置のロック情報ビットマップＬ１４と、第２ストレージ装置２０のロック情報ビットマップＬ１５とを備えている。
【０１４１】
管理情報Ｌ１１は、例えば、ロックディスクＩＤ＿Ｌ１１１と、第１ストレージ装置１０の製造番号Ｌ１１２と、第２ストレージ装置２０の製造番号Ｌ１１３とを含む。ロックディスクＩＤ＿Ｌ１１１は、上述の通り、ロックディスク２３２をストレージシステム内で一意に特定するための識別情報である。
【０１４２】
第１ストレージ装置１０の制御情報Ｌ１２は、第１ストレージ装置１０がロックディスク２３２を使用しているか否かを示す情報である。使用中の場合には「１」が設定され、未使用の場合には「０」が設定される。同様に、第２ストレージ装置２０の制御情報Ｌ１３は、第２ストレージ装置２０がロックディスク２３２を使用しているか否かを示す情報である。
【０１４３】
第１ストレージ装置１０のロック情報ビットマップＬ１４及び第２ストレージ装置２０のロック情報ビットマップＬ１５は、上述の通り、そのロックディスク２３２で管理されている仮想ボリューム２３１をどちらのストレージ装置が使用しているか否か、換言すれば、正副の両ボリュームのうちいずれの論理ボリュームに差分データが蓄積されているかを示す情報である。
【０１４４】
ここで、第１ストレージ装置１０は、ロックディスク２３２にアクセスすることにより、第１ストレージ装置１０の製造番号Ｌ１１２と、第１ストレージ装置１０の制御情報Ｌ１２と、第１ストレージ装置１０のロック情報ビットマップＬ１４とに、それぞれ値を書き込むことができる。第１ストレージ装置１０は、第２ストレージ装置２０の製造番号Ｌ１１３と、第２ストレージ装置２０の制御情報Ｌ１３と、第２ストレージ装置２０のロック情報ビットマップＬ１５とを書き換えることはできない。
【０１４５】
同様に、第２ストレージ装置２０も、自分自身に関する項目Ｌ１１３，Ｌ１３，Ｌ１５のみ更新できる。なお、ロックディスクＩＤ＿Ｌ１１１は、ロックディスク２３２を作成した方のストレージ装置が書き込む。
【０１４６】
図９は、ペア管理テーブルＴ２０を示す説明図である。ペア管理テーブルＴ２０は、仮想ボリューム２３１を構成するリモートコピーペアを管理する。ペア管理テーブルＴ２０は、例えば、正ボリューム（図中、「ＰＶＯＬ」）に関する項目Ｃ２１と、副ボリューム（図中、「ＳＶＯＬ」）に関する項目Ｃ２２と、ロックディスクＩＤ＿Ｃ２３とを備えている。
【０１４７】
正ボリュームに関する項目Ｃ２１は、例えば、正ボリュームの存在するストレージ装置の製造番号Ｃ２１１と、正ボリュームとして使用されている論理ボリュームのＬＤＥＶ番号Ｃ２１２と、ペア状態Ｃ２１３とを含む。
【０１４８】
同様に、副ボリュームに関する項目Ｃ２２は、副ボリュームの存在するストレージ装置の製造番号Ｃ２２１と、副ボリュームとして使用されている論理ボリュームのＬＤＥＶ番号Ｃ２２２と、ペア状態Ｃ２２３とを含む。
【０１４９】
ペア状態としては、例えば、「ペア」、「ＳＭＰＬ（シンプレックス）」、「ＰＳＵＳ（サスペンド：ＰＶＯＬの単独運用）」、「ＳＳＷＳ（スワップサスペンド：ＳＶＯＬの単独運用）」、「ペアリシンク」、「リバースリシンク」等がある。
【０１５０】
「ペア」とは、正ボリュームと副ボリュームとがリモートコピーペアを形成しており、正ボリュームの記憶内容と副ボリュームの記憶内容とが一致している状態である。「ＳＭＰＬ」とは、通常の論理ボリュームであることを示す状態である。「ＰＳＵＳ」とは、正ボリュームがサスペンド状態であり、正ボリューム単独で仮想ボリューム２３１を運用している状態を示す。「ＳＳＷＳ」とは、副ボリュームに切り替えられて、副ボリューム単独で仮想ボリューム２３１を運用している状態を示す。「ペアリシンク」とは、正ボリュームの記憶内容と副ボリュームの記憶内容とを再同期させている状態を示す。「リバースリシンク」とは、副ボリュームに蓄積された差分を正ボリュームに書き込んで、正ボリュームと副ボリュームとを同期させる状態を示す。
【０１５１】
図１０は、各ストレージ装置が論理ボリュームを管理するためのテーブルＴ３０を示す説明図である。各ストレージ装置１０，２０の共有メモリ１４０には、ＬＤＥＶ管理テーブルＴ３０がそれぞれ記憶されている。
【０１５２】
ＬＤＥＶ管理テーブルＴ３０は、例えば、ＬＤＥＶ番号Ｃ３１と、ボリューム種別Ｃ３２と、ＶＤＥＶ番号Ｃ３３と、開始アドレスＣ３４と、サイズＣ３５とを含む。ＬＤＥＶ番号Ｃ３１とは、各ストレージ装置内で論理ボリューム２３０を管理するための識別情報である。
【０１５３】
ボリューム種別Ｃ３２とは、内部ボリュームとして構成されているか外部ボリュームを利用して構成されているかの区別を示す。内部ボリュームとして構成されるボリュームとは、ストレージ装置内の物理的記憶領域を利用している実ボリュームである。外部ボリュームを利用して構成されるボリュームとは、外部ストレージ装置３０内のボリューム（外部ボリューム）を利用しているボリューム（外部接続ボリューム）である。
【０１５４】
ＶＤＥＶ番号Ｃ３３とは、そのボリュームの属するＶＤＥＶを特定する情報である。開始アドレスＣ３４とは、ＶＤＥＶの物理的記憶領域のどの部分からボリュームが開始するかを示す。サイズＣ３５とは、ボリュームの記憶容量である。
【０１５５】
図１１は、外部ボリュームを管理するためのテーブルＴ４０を示す。この外部ボリューム管理テーブルＴ４０は、各ストレージ装置１０，２０の共有メモリ１４０にそれぞれ記憶されている。
【０１５６】
外部ボリューム管理テーブルＴ４０は、例えば、ＶＤＥＶ番号Ｃ４１と、接続ポートＣ４２と、外部ストレージ情報Ｃ４３とを含む。ＶＤＥＶ番号Ｃ４１とは、ＶＤＥＶを特定する情報である。接続ポートＣ４２とは、外部ストレージ装置が接続されている通信ポート１１１Ｂを特定する情報である。
【０１５７】
外部ストレージ情報Ｃ４３は、外部ストレージ装置３０の構成を示す。外部ストレージ情報Ｃ４３は、例えば、ＬＵＮ＿Ｃ４４と、ベンダ名Ｃ４５と、装置名Ｃ４６と、ボリューム識別子Ｃ４７とを含む。ＬＵＮ＿Ｃ４４とは、外部ボリュームに対応付けられているＬＵＮを示す。ベンダ名Ｃ４５とは、外部ストレージ装置の提供者名を示す。装置名Ｃ４６とは、外部ストレージ装置を特定するための番号（製造番号）を示す。ボリューム識別子Ｃ４７とは、外部ストレージ装置３０内の外部ボリュームを外部ストレージ装置３０が識別するための、識別子である。
【０１５８】
図１２は、ロックディスク管理画面Ｇ１０を示す説明図である。管理サーバ８０は、ＳＶＰ１６０にアクセスして、図１２に示すような設定画面を管理サーバ８０の表示装置に表示させることができる。
【０１５９】
ロックディスク管理画面Ｇ１０は、例えば、ストレージシステムのツリー構成を示すツリー表示部Ｇ１１と、ＬＤＥＶに関する情報を表示するＬＤＥＶ情報表示部Ｇ１２と、プレビュー表示部Ｇ１３とを含む。
【０１６０】
ツリー表示部Ｇ１１は、ストレージシステムの構成を、例えば、ストレージ装置単位（ＤＫＣ単位）、ストレージ装置内に仮想的に設けられる仮想ストレージ装置単位（ＬＤＫＣ単位）、使用中のロックディスク単位、未使用のロックディスク単位のようなレベルで、表示させる。
【０１６１】
ＬＤＥＶ情報表示部Ｇ１２は、例えば、ロックディスクＩＤを表示するロックディスクＩＤ表示部Ｇ１２１と、ロックディスクとして使用されるＬＤＥＶ（論理ボリューム２３０）を特定するためのＬＤＥＶ特定情報を表示するＬＤＥＶ特定部Ｇ１２２と、仮想ボリューム２３１を構成するための、他方のボリュームを有する装置（つまり、相手装置）の製造番号を表示する製造番号表示部Ｇ１２３と、その相手方のストレージ装置の世代を示すコントロールＩＤを表示するコントロールＩＤ表示部Ｇ１２４と、を備えている。
【０１６２】
ＬＤＥＶ情報表示部Ｇ１２において、例えば、マウスポインタを所望の行に合わせて右クリックすると、いわゆるコンテキストメニューＭ１０が出現する。そのメニューＭ１０には、例えば、「ロックディスクの作成」と「ロックディスクの削除」という項目が含まれる。ユーザは、メニューＭ１０を使用することにより、ロックディスク２３２の作成または削除を行うことができる。
【０１６３】
プレビュー表示部Ｇ１３には、ユーザがＬＤＥＶ情報表示部Ｇ１２で設定した値が表示される。その設定値の使用をユーザが希望する場合、ユーザは、「Ａｐｐｌｙ」ボタンＢ１１を操作する。これにより、後述のロックディスク作成処理またはロックディスク削除処理が実行される。
【０１６４】
図１３，図１４は、ロックディスク作成処理を示すフローチャートである。以下に述べる各フローチャートは、いわゆる当業者が理解及び実施可能な程度に、各処理の概要をそれぞれ示しており、実際のコンピュータプログラムとは相違する場合がある。いわゆる当業者であれば、図示されたステップの変更または削除、新たなステップの追加を行うことができるであろう。なお、以下の説明では、第１ストレージ装置１０内のＳＶＰ１６０を第１ＳＶＰと呼び、第２ストレージ装置２０内のＳＶＰ１６０を第２ＳＶＰと呼ぶ。
【０１６５】
図１３は、第１ストレージ装置１０によるロックディスク作成処理を示し、図１４は、第２ストレージ装置２０によるロックディスク作成処理を示す。両方のロックディスク作成処理は同一のため、第１ストレージ装置１０によるロックディスク作成処理を中心に説明する。
【０１６６】
ユーザは、管理サーバ８０を介して第１ＳＶＰにアクセスし、そして図１２で述べたロックディスク管理画面Ｇ１０を用いて、第１ストレージ装置１０に、ロックディスクの作成を指示する（Ｓ１０）。
【０１６７】
そのロックディスク作成指示には、ロックディスクＩＤ（Ｇ１２１）と、ＬＤＥＶ特定情報（Ｇ１２２）と、相手方のストレージ装置の製造番号（Ｇ１２３）及びコントロールＩＤ（Ｇ１２４）が含まれている。
【０１６８】
第１ストレージ装置１０は、第１ストレージ装置１０内の共有メモリ１４０に記憶されているロックディスク管理テーブルＴ１０を参照し、第１ＳＶＰから指定されたロックディスクＩＤが、使用中では無いことを確認する。
【０１６９】
そして、第１ストレージ装置１０は、第３ストレージ装置３０にリードコマンドを発行し、ロックディスク２３２内の使用制御情報Ｌ１０を読み出す（Ｓ１１）。第３ストレージ装置３０は、要求された使用制御情報Ｌ１０を第１ストレージ装置１０に送信する（Ｓ１２）。
【０１７０】
第１ストレージ装置１０は、使用制御情報Ｌ１０に基づいて、Ｓ１０で指定されたロックディスクＩＤが他のストレージ装置（不図示）で使用されていないことを確認する。第１ストレージ装置１０は、Ｓ１０で指定されたロックディスクＩＤが未使用の場合、あるいは、そのロックディスクＩＤは使用中であるが、指定されたロックディスクＩＤと自装置の製造番号及び相手装置の製造番号とが３つとも一致する場合、のいずれかの場合に、使用制御情報Ｌ１０を更新するためのライトデータを生成する（Ｓ１３）。
【０１７１】
ライトデータは、例えば、以下のように作成される。第１ＳＶＰから指定されたロックディスクＩＤが未使用の場合、第１ストレージ装置１０は、その指定されたロックディスクＩＤをロックディスクＩＤ＿Ｌ１１１として、使用する。
【０１７２】
指定されたロックディスクＩＤは既に使用中であるが、指定されたロックディスクＩＤと、そのロックディスクＩＤに対応する第１ストレージ装置１０の製造番号Ｌ１１２と第２ストレージ装置２０の製造番号Ｌ１１３とが、管理情報Ｌ１１の値に一致する場合、第１ストレージ装置１０は、管理情報Ｌ１１内のロックディスクＩＤ＿Ｌ１１１の値をそのまま使用する。
【０１７３】
さらに、第１ストレージ装置１０は、第１ストレージ装置の制御情報Ｌ１２に使用中であることを示すフラグ（＝１）を設定する。さらに、第１ストレージ装置１０は、第１ストレージ装置のロック情報ビットマップＬ１４を０で初期化する。
【０１７４】
第１ストレージ装置１０は、上記のように作成されたライトデータを、ロックディスク２３２に書き込む（Ｓ１４）。第３ストレージ装置３０は、書込みが完了した旨を第１ストレージ装置１０に通知する（Ｓ１５）。
【０１７５】
ここで、ライトデータをロックディスク２３２に書き込んでいる最中に、図外の他のストレージ装置から第３ストレージ装置３０に別のライトコマンドが発行されて、ロックディスク２３２の内容が書き換えられてしまう可能性がある。そこで、本実施例では、第１ストレージ装置１０は、第３ストレージ装置３０にリードコマンドを発行し、ロックディスク２３２の使用制御情報Ｌ１０を再び読み出す（Ｓ１６）。第３ストレージ装置３０は、リードコマンドに応じて、使用制御情報Ｌ１０を第１ストレージ装置１０に転送する（Ｓ１７）。
【０１７６】
第１ストレージ装置１０は、ロックディスク２３２から取得した使用制御情報Ｌ１０に基づいて、Ｓ１４の書込み処理（更新処理）が正常に完了していることを確認する。もしも、Ｓ１６，Ｓ１７で再度取得した使用制御情報Ｌ１０とＳ１４，Ｓ１５で更新した使用制御情報Ｌ１０とが不一致の場合、第１ストレージ装置１０は、Ｓ１４以下の処理を再度実行する。
【０１７７】
使用制御情報Ｌ１０が正しく更新されていた場合、第１ストレージ装置１０は、その使用制御情報Ｌ１０に基づいて、共有メモリ１４０内のロックディスク管理テーブルＴ１０を作成（更新）する（Ｓ１８）。
【０１７８】
第１ストレージ装置１０は、ロックディスク管理テーブルＴ１０における、管理フラグＣ１２と、ＬＤＥＶ番号Ｃ１３と、自装置製造番号Ｃ１４と、相手装置製造番号Ｃ１５と、コントロールＩＤ＿Ｃ１６と、ロック情報ビットマップＣ１７の、各値をそれぞれ更新させる（Ｓ１８）。
【０１７９】
管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、ロックディスクの作成が完了したか否かを定期的に問い合わせている。ロックディスクの作成が完了したことを確認した場合、管理サーバ８０は、ロックディスクの作成が完了したことをコンピュータ画面に表示して、ユーザに通知する。
【０１８０】
図１４は、第２ストレージ装置２０によるロックディスク作成処理を示すフローチャートである。この処理は、図１３で述べた処理と同様のステップを備えている。図１４中のＳ２０〜Ｓ２８は、図１３中のＳ１０〜Ｓ１８に対応する。従って、重複した説明を割愛する。
【０１８１】
図１５は、ロックディスクを作成する場合のロックディスク管理画面Ｇ１０の例を示す説明図である。例えば、ユーザは、ロックディスクＩＤ（Ｇ１２１）として「００」を選択し、「００：４０：００」で特定される論理ボリュームをロックディスク２３２として選択し、仮想ボリューム２３１に関する相手装置の製造番号として「６４０１６」を選択し、コントロールＩＤとして「６」を選択する。
【０１８２】
図１６は、ロックディスクの作成後におけるロックディスク管理テーブルＴ１０を示す説明図である。例えば、ロックディスクＩＤ＿Ｃ１１には「０ｘ００（＝００）」が設定され、有効／無効フラグＣ１２には「有効」が設定され、ＬＤＥＶ番号Ｃ１３には「０ｘ００４０（＝００：４０：００」が設定され、自装置製造番号Ｃ１４には「６４０３６」が設定され、相手装置製造番号には「６４０１６」が設定され、コントロールＩＤ＿Ｃ１６には「０ｘ０００６（＝６）」が設定される。ロック情報ビットマップＣ１７には、０の列が設定される。
【０１８３】
図１７は、リモートコピーを管理するための画面Ｇ２０を示す説明図である。リモートコピー管理画面Ｇ２０は、例えば、ツリー表示部Ｇ２１と、ＬＤＥＶ情報表示部Ｇ２２と、プレビュー表示部Ｇ２３とを備える。
【０１８４】
ツリー表示部Ｇ２１は、例えば、ストレージ装置全体、ストレージ装置内の仮想ストレージ装置毎に、あるいは、ポート毎に、ＬＤＥＶ情報を表示させる。
【０１８５】
ＬＤＥＶ情報表示部Ｇ２２は、例えば、ＬＤＥＶ（論理ボリューム）を特定するためのＬＤＥＶ特定部Ｇ２２１と、そのＬＤＥＶのステータスＧ２２２と、相手装置の製造番号Ｃ２２３と、コントロールＩＤ＿Ｇ２２４と、ロックディスクＩＤ＿Ｇ２２５とを備えている。
【０１８６】
プレビュー表示部Ｇ２３は、例えば、ＬＤＥＶ特定部Ｇ２３１と、ステータスＧ２３２と、相手装置の製造番号Ｃ２３３と、コントロールＩＤ＿Ｇ２３４と、ロックディスクＩＤ＿Ｇ２２５とを備える。
【０１８７】
ユーザが、例えば、ＬＤＥＶ情報表示部Ｇ２２でマウスを右クリックすると、コンテキストメニューＭ２０が表示される。図１８は、メニューＭ２０の構成例を模式的に示す説明図である。
【０１８８】
このメニューＭ２０は、例えば、ペア作成Ｍ２１、ペア削除Ｍ２２、サスペンドＭ２３、スワップサスペンドＭ２４、リシンクＭ２５及びリバースリシンクＭ２６という複数のサブメニューを備える。
【０１８９】
ペア作成Ｍ２１は、仮想ボリューム２３１を構成するリモートコピーペアを作成するためのサブメニューである。ペア削除Ｍ２２は、仮想ボリューム２３１を構成するリモートコピーペアを削除するためのサブメニューである。サスペンドＭ２３は、リモートコピーペアをサスペンド状態にするためのサブメニューである。スワップサスペンドＭ２４は、リモートコピーペアをサスペンド状態とし、副ボリュームを用いて仮想ボリューム２３１の運用を継続させるためのサブメニューである。つまり、スワップサスペンドは、正ボリュームから副ボリュームへのフェイルオーバーを指示する。リシンクＭ２５は、正ボリュームに生じた差分を副ボリュームに転送し、両方のボリューム内容を同期させるためのサブメニューである。リバースリシンクＭ２６は、副ボリュームに生じた差分を正ボリュームに転送し、両方のボリューム内容を同期させるためのサブメニューである。
【０１９０】
ユーザは、シンプレックス状態の論理ボリュームを２つ選択して、ペア作成Ｍ２１を指定することにより、仮想ボリューム２３１を構成するリモートコピーペアを作成することができる。さらに、ユーザは、リモートコピーペアを形成する正ボリュームまたは副ボリュームのいずれかを選択して、ペア削除Ｍ２２を指定することにより、そのリモートコピーペアを削除させることができる。
【０１９１】
ユーザは、プレビュー表示部Ｇ２３に表示された内容を承認する場合、「Ａｐｐｌｙ」ボタンＢ２１を操作する。取り消す場合は、「Ｃａｎｃｅｌ」ボタンを操作する。
【０１９２】
図１９は、ペア作成Ｍ２１を操作した場合に管理サーバ８０のコンピュータ画面に表示される、ペア作成画面Ｇ３０を示す。ペア作成画面Ｇ３０は、例えば、正ボリューム設定部Ｇ３１Ａ，Ｇ３１Ｂと、副ボリューム設定部Ｇ３２Ａ，Ｇ３２Ｂと、ストレージ装置間のパス設定部Ｇ３３Ａ，Ｇ３３Ｂと、正ボリュームのフェンスレベル設定部Ｇ３４Ａ，Ｇ３４Ｂと、ロックディスクＩＤ設定部Ｇ３５Ａ，Ｇ３５Ｂとを備える。
【０１９３】
正ボリューム設定部Ｇ３１Ａ，Ｇ３１Ｂでは、正ボリュームとして使用する論理ボリュームを特定するための情報と、その論理ボリュームに接続されている通信ポートを特定するための情報とを、設定する。
【０１９４】
副ボリューム設定部Ｇ３２Ａ，Ｇ３２Ｂでは、副ボリュームとして使用する論理ボリュームを特定するための情報と、その論理ボリュームに接続されている通信ポートを特定するための情報とを、設定する。
【０１９５】
ストレージ装置間のパス設定部Ｇ３３Ａ，Ｇ３３Ｂでは、正ボリュームを有するストレージ装置と副ボリュームを有するストレージ装置との間でリモートコピーを行うための通信経路ＣＮ２０を設定する。
【０１９６】
正ボリュームのフェンスレベル設定部Ｇ３４Ａ，Ｇ３４Ｂでは、フェンスレベルを設定する。フェンスレベルの値としては、「データ」と「Ｎｅｖｅｒ」とがある。フェンスレベルの値に「データ」が設定されると、障害発生時に、正ボリュームの記憶内容と副ボリュームの記憶内容とが同期していることが保証される。つまり、障害発生時に、仮想ボリューム２３１へのデータ更新は停止される。これに対し、フェンスレベルの値に「Ｎｅｖｅｒ」が設定されると、障害発生時でも、正ボリュームまたは副ボリュームのいずれかを用いて、仮想ボリューム２３１のデータ更新が行われる。仮想ボリューム２３１を構成するリモートコピーペアにおいて、フェンスレベルの値を「データ」とすると、障害発生時の業務継続という仮想ボリューム２３１の特徴が失われる。そこで、本実施例では、フェンスレベルの初期値を「Ｎｅｖｅｒ」に設定する。
【０１９７】
ロックディスクＩＤ設定部Ｇ３５Ａ，Ｇ３５Ｂでは、仮想ボリューム２３１の使用を管理するためのロックディスク２３２のＩＤを設定する。各設定値を承認する場合、ユーザは「Ｓｅｔ」ボタンＢ３１を操作する。取り消す場合、ユーザは「Ｃａｎｃｅｌ」ボタンＢ３２を操作する。
【０１９８】
図２０は、リモートコピーペアを設定するための処理を示すフローチャートである。管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、リモートコピーペアに基づく仮想ボリューム２３１の作成を指示する（Ｓ３０）。
【０１９９】
その作成指示には、Ｇ３０に含まれる各値（Ｇ３１Ｂ−Ｇ３５Ｂ）が含まれており、第１ストレージ装置１０は、それらの各値に基づいてペア管理テーブルＴ２０を作成する（Ｇ３１）。
【０２００】
第１ストレージ装置１０は、装置間通信経路ＣＮ２０を介して、ペア管理テーブルＴ２０の内容を第２ストレージ装置２０に転送する（Ｓ３２）。第２ストレージ装置２０は、第１ストレージ装置１０から受け取った情報を、第２ストレージ装置２０内のペア管理テーブルＴ２０に登録する（Ｓ３３）。
【０２０１】
第２ストレージ装置２０は、ロックディスク管理テーブルＴ１０を参照して、第３ストレージ装置３０内のロックディスク２３２を更新する（Ｓ３４）。第３ストレージ装置３０は、第２ストレージ装置２０からの要求に基づいてロックディスク２３２内の使用制御情報Ｌ１０を更新し（Ｓ３５）、更新が完了した旨を第２ストレージ装置２０に報告する（Ｓ３６）。
【０２０２】
その更新処理では、上述のように、第２ストレージ装置２０は、更新直後の使用制御情報Ｌ１０をロックディスク２３２から読み出して検査することにより、更新が正常に完了したか否かを確認する。そして、使用制御情報Ｌ１０の更新が完了すると、第２ストレージ装置２０は、第１ストレージ装置１０にロックディスク２３２の更新が完了した旨を通知する（Ｓ３７）。
【０２０３】
ここで、第２ストレージ装置２０は、使用制御情報Ｌ１０のうち第２ストレージ装置２０に関する項目Ｌ１１３，Ｌ１３，Ｌ１５のみを更新可能であり、第１ストレージ装置１０に関する項目Ｌ１１２，Ｌ１２，Ｌ１４を更新させることはできない（ロックディスクＩＤ＿Ｌ１１１は、第２ストレージ装置２０が設定可能である。）。
【０２０４】
そこで、次に、第１ストレージ装置１０は、使用制御情報Ｌ１０の未設定項目を設定する（Ｓ３８）。第３ストレージ装置３０は、第１ストレージ装置１０からの要求に基づいて、ロックディスク２３２内の使用制御情報Ｌ１０を更新し（Ｓ３９）、更新が完了した旨を第１ストレージ装置１０に通知する（Ｓ４０）。
【０２０５】
第１ストレージ装置１０は、使用制御情報Ｌ１０が作成されたことを確認すると、第１ＳＶＰを介して管理サーバ８０に、リモートコピーペアに基づく仮想ボリューム２３１が作成された旨を報告する（Ｓ４１）。
【０２０６】
その後、別のタイミングで、リモートコピーペアの初期コピー（形成コピー）が実行される（Ｓ４２−Ｓ４４）。第１ストレージ装置１０は、第２ストレージ装置２０に形成コピーの開始を通知し（Ｓ４２）、正ボリュームの記憶内容を副ボリュームに転送させる（Ｓ４３）。第２ストレージ装置２０は、正ボリュームの記憶内容を副ボリュームに書込み、書込み完了を第１ストレージ装置１０に報告する（Ｓ４４）。形成コピーが完了することにより、正ボリュームの記憶内容と副ボリュームの記憶内容とが同期する。
【０２０７】
図２１は、仮想ボリューム２３１を構成するリモートコピーペアが作成された後の、リモートコピー管理画面Ｇ２０を示す。図２２は、仮想ボリューム２３１を構成するリモートコピーペアが作成された後の、ペア管理テーブルＴ２０を示す。リモートコピーペアに関するボリュームのステータスは、「シンプレックス」から「ペア」に変化する。
【０２０８】
図２３〜図２６は、一つのロックディスク２３２に複数の仮想ボリューム２３１を関連づける場合を示している。まず、図２３のロックディスク管理テーブルＴ１０に示すように、例えば、ロックディスクＩＤ「００」、「０１」の２つのロックディスク２３２を作成する。
【０２０９】
図２４のリモートコピー管理画面Ｇ２０に示すように、一方のロックディスク「００」には、正ボリューム「００：０１：００」と、正ボリューム「００：０１：０１」との２つのリモートコピーペアが関連づけられる。他方のロックディスク「０１」には、正ボリューム「００：０１：０Ａ」のリモートコピーペアが関連づけられる。
【０２１０】
図２５に示すロックディスク管理テーブルＴ１０には、複数のロックディスク「００」，「０１」が登録される。図２６に示すペア管理テーブルＴ２０では、一方のロックディスク「００」に２つのリモートコピーペアが関連づけられ、他方のロックディスク「０１」に１つのリモートコピーペアが関連づけられる。
【０２１１】
このように本実施例では、１つのロックディスク２３２に、リモートコピーペアに基づく仮想ボリュームを複数対応付けて管理することができる。
【０２１２】
図２７は、ロックディスク２３２の使用制御情報Ｌ１０を更新するための処理を示すフローチャートである。更新の契機としては、例えば、ロックディスクを作成する場合、ロックディスクを削除する場合、リモートコピーペア（仮想ボリューム。以下同様）を設定する場合、リモートコピーペアを削除する場合、仮想ボリュームにサスペンドを指示する場合、仮想ボリュームにリシンクを指示する場合、仮想ボリュームにスワップサスペンドを指示する場合、仮想ボリュームにリバースリシンクを指示する場合、を挙げることができる。
【０２１３】
上記の更新契機が発生すると、管理サーバ８０から第１ストレージ装置１０に、更新契機に対応する所定の指示が入力される（Ｓ５０）。第１ストレージ装置１０は、ロックディスク２３２から読み出した使用制御情報Ｌ１０がキャッシュメモリ１３０に残っているか否かを確認する。使用制御情報Ｌ１０がキャッシュメモリ１３０に記憶されている場合、第１ストレージ装置１０は、使用制御情報Ｌ１０を破棄する。キャッシュメモリ上の使用制御情報Ｌ１０は、古い情報となっている可能性があるためである。
【０２１４】
そして、第１ストレージ装置１０は、第３ストレージ装置３０に、最新の使用制御情報Ｌ１０を要求する（Ｓ５１）。第３ストレージ装置３０は、ロックディスク２３２から読み出した使用制御情報Ｌ１０を第１ストレージ装置１０に転送する（Ｓ５２）。
【０２１５】
第１ストレージ装置１０は、前記更新契機に応じたライトデータ（使用制御情報Ｌ１０を更新するためのデータ）を作成し（Ｓ５３）、そのライトデータを第３ストレージ装置３０に転送する（Ｓ５４）。これにより、第３ストレージ装置３０は、ロックディスク２３２内の使用制御情報Ｌ１０を更新し、更新が完了した旨を第１ストレージ装置１０に報告する（Ｓ５５）。
【０２１６】
第１ストレージ装置１０は、更新が正常に完了したことを確かめるべく、第３ストレージ装置３０に使用制御情報Ｌ１０の転送を再び要求する（Ｓ５６）。第３ストレージ装置３０は、ロックディスク２３２から読み出した使用制御情報Ｌ１０を第１ストレージ装置１０に転送する（Ｓ５７）。
【０２１７】
第１ストレージ装置１０は、使用制御情報Ｌ１０が正しく更新されたことを確認すると、ロックディスク管理テーブルＴ１０を更新する（Ｓ５８）。なお、上述の通り、第１ストレージ装置１０は、使用制御情報Ｌ１０のうち第１ストレージ装置１０に関する項目のみを更新可能である。従って、第２ストレージ装置２０が図２７に示す処理を実施することにより、使用制御情報Ｌ１０の全体が適切に更新される。
【０２１８】
図２８は、ホスト７０が正ボリュームからデータを読み出す場合の処理を示すフローチャートである。ホスト７０は、アクティブパスを用いて、第１ストレージ装置１０にリードコマンドを発行する（Ｓ６０）。
【０２１９】
第１ストレージ装置１０は、仮想ボリューム２３１を構成する正ボリュームから、要求されたデータを読出し（Ｓ６１）、そのデータをホスト７０に送信する（Ｓ６２）。そして、第１ストレージ装置１０は、リードコマンドの処理が完了した旨をホスト７０に通知する（Ｓ６３）。
【０２２０】
図２９は、ホスト７０が副ボリュームからデータを読み出す場合の処理を示すフローチャートである。まず最初に、ホスト７０は、アクティブパスを用いて、第１ストレージ装置１０にリードコマンドを発行する（Ｓ７０）。
【０２２１】
もしも、ホスト７０と第１ストレージ装置１０とを接続するアクティブパスに障害が発生していたり、あるいは、第１ストレージ装置１０が停止していた場合、第１ストレージ装置１０は、そのリードコマンドを処理することができない（Ｓ７１）。ホスト７０のパス制御部７８は、第１ストレージ装置１０からのエラー応答によって、あるいは、所定時間内に応答が無かった事実によって、第１ストレージ装置１０がリードコマンドを処理できないことを検出する（Ｓ７２）。
【０２２２】
そこで、ホスト７０のパス制御部７８は、アクティブパスからパッシブパスに切り替えて（Ｓ７３）、第２ストレージ装置２０にリードコマンドを発行する（Ｓ７４）。
【０２２３】
第２ストレージ装置２０は、ホスト７０からのリードコマンドを受信すると、第３ストレージ装置３０に、ロックディスク２３２内の使用制御情報Ｌ１０の転送を要求する（Ｓ７５）。第３ストレージ装置３０は、第２ストレージ装置２０からの要求に応じて、ロックディスク２３２から読み出した使用制御情報Ｌ１０を、第２ストレージ装置１０に転送する（Ｓ７６）。
【０２２４】
第２ストレージ装置２０は、使用制御情報Ｌ１０内の第１ストレージ装置のロック情報ビットマップＬ１４を参照し、仮想ボリューム２３１に対応するビットの値が「１」であるか「０」であるかを判定する（Ｓ７７）。
【０２２５】
仮想ボリューム２３１に対応するビットの値が「０」の場合は、正ボリュームと副ボリュームとは同期しているため、ホスト７０から要求されたデータを副ボリュームから読み出してホスト７０に送信する（Ｓ７８）。そして、第２ストレージ装置２０は、リードコマンドの処理が完了した旨をホスト７０に通知する（Ｓ７９）。
【０２２６】
これに対し、ロック情報ビットマップＬ１４において、リードコマンドに対応する仮想ボリューム２３１に関連づけられているビットの値が「１」である場合は、正ボリュームと副ボリュームとは同期しておらず、正ボリュームに最新データが記憶されている場合である。つまり、副ボリュームに記憶されているデータは古い可能性がある。そこで、ホスト７０が古いデータを誤って読み出したりしないように、第２ストレージ装置２０は、チェック応答を返す（Ｓ８０）。
【０２２７】
図３０は、ホスト７０が正ボリュームにデータを書き込む場合の処理を示すフローチャートである。ホスト７０は、第１ストレージ装置１０にライトコマンドを発行する（Ｓ９０）。第１ストレージ装置１０は、ライトコマンドを受領すると、ライトデータを記憶するための領域をキャッシュメモリ上に確保し、ホスト７０にライトデータの受信準備が完了した旨を通知する。その通知を受信したホスト７０は、アクティブパスを用いて、第１ストレージ装置１０にライトデータを送信する（Ｓ９０）。そのライトデータは、第１ストレージ装置１０内のキャッシュメモリ１３０に記憶される。
【０２２８】
第１ストレージ装置１０は、自身が正ボリュームを有する正ストレージ装置であることを確認する（Ｓ９２）。そして、第１ストレージ装置１０は、装置間通信経路ＣＮ２０を介して、副ボリュームを有する第２ストレージ装置２０にライトコマンドを発行する（Ｓ９３）。
【０２２９】
第２ストレージ装置２０は、ライトデータの受信準備が完了すると、第１ストレージ装置１０にライトデータの転送を要求する。その要求を受信した第１ストレージ装置１０は、Ｓ９１で受信したライトデータを第２ストレージ装置２０に送信する（Ｓ９４）。第２ストレージ装置２０は、第１ストレージ装置１０から受信したライトデータを、第２ストレージ装置２０内のキャッシュメモリ１３０に記憶し、第１ストレージ装置１０に処理完了を報告する（Ｓ９５）。
【０２３０】
第１ストレージ装置１０は、ホスト７０からのライトデータが副ボリュームに書き込まれたことを確認すると、ホスト７０にＳ９０で受信したライトコマンドの処理が完了した旨をホスト７０に報告する（Ｓ９６）。
【０２３１】
なお、所定のタイミングを見計らって、キャッシュメモリ１３０に記憶されたライトデータは、対応するディスクドライブ２１０に書き込まれる。キャッシュメモリ上のデータをディスクドライブに書き込んで保存する処理をデステージ処理と呼ぶ。デステージ処理は、ライトデータの受信直後に行ってもよいし（同期式）、ライトデータの受信とは別のタイミングで行ってもよい（非同期式）。
【０２３２】
図３１は、ホスト７０が副ボリュームにデータを書き込む場合の処理を示すフローチャートである。まず最初に、ホスト７０は、正ボリュームを有する第１ストレージ装置１０にライトコマンドを発行する（Ｓ１００）。
【０２３３】
しかし、アクティブパスに障害が発生していたり、あるいは、第１ストレージ装置１０が停止している場合、第１ストレージ装置１０はライトコマンドを処理することができない（Ｓ１０１）。この場合、ホスト７０は、第１ストレージ装置１０からのエラー応答またはタイムアウトエラーによって、障害発生を検出する（Ｓ１０２）。パス制御部７８は、アクティブパスからパッシブパスに切り替える（Ｓ１０３）。
【０２３４】
ホスト７０は、パッシブパスを用いて、第２ストレージ装置２０にライトコマンドを発行する（Ｓ１０４）。第２ストレージ装置２０は、ライトデータの受け入れ準備が完了すると、ホスト７０に通知する。その通知を受信したホスト７０は、ライトデータを第２ストレージ装置２０に送信する。第２ストレージ装置２０は、ホスト７０から受信したライトデータをキャッシュメモリ１３０に格納する。
【０２３５】
第２ストレージ装置２０は、ロックディスク２３２にアクセスして、使用制御情報Ｌ１０を更新する（Ｓ１０５）。第２ストレージ装置２０は、使用制御情報Ｌ１０内の第２ストレージ装置の制御情報を「１」に設定する。これにより、第２ストレージ装置２０がロックディスク２３２を使用中であることが、設定される。さらに、第２ストレージ装置２０は、第２ストレージ装置のロック情報ビットマップＬ１５中、ライトデータが書き込まれた仮想ボリューム２３１に対応するビットを「１」に設定する。これにより、副ボリュームの記憶内容が最新であると設定される。
【０２３６】
Ｓ１０５に示すロックディスク更新処理（使用制御情報Ｌ１０の更新処理）では、上述の通り、更新直後に使用制御情報Ｌ１０を読み出すことによって、使用制御情報Ｌ１０が正しく更新されたことを確認する。「ロックディスク更新」を行う各ステップは、同様の確認作業を行うため、以下は説明を省略する。
【０２３７】
第２ストレージ装置２０は、第１ストレージ装置１０にペア状態の変更を指示する（Ｓ１０６）。正ボリュームの状態は「ペア」から「サスペンド（ＰＳＵＳ）」に変更され、副ボリュームの状態は「ペア」から「スワップサスペンド（ＳＳＷＳ）」に変更される（Ｓ１０６）。
【０２３８】
第１ストレージ装置１０は、ペア状態の変更を終えると、第２ストレージ装置２０に処理完了を通知する（Ｓ１０７）。その通知を受信した第２ストレージ装置２０は、ホスト７０にライトコマンドの処理が完了した旨を通知する（Ｓ１０８）。
【０２３９】
図３１では、副ボリュームへの書込みが成功した場合を示す。次に、副ボリュームへの書込みが失敗する場合を、図３２のフローチャートを参照して説明する。図３２の処理では、正ボリュームが単独で運用されているものとする。まず最初に、正ボリュームへの書込みが正常に行われる（Ｓ１２０−Ｓ１２４）。
【０２４０】
ホスト７０は、正ボリュームを有する第１ストレージ装置１０にライトコマンドを送信し（Ｓ１２０）、受信準備を確認した後でライトデータを送信する（Ｓ１２１）。第１ストレージ装置１０は、正ボリュームが単独で運用されていることを確認し（Ｓ１２２）、ロックディスク２３２内の使用制御情報Ｌ１０を更新する（Ｓ１２３）。ここでは、例えば、第１ストレージ装置のロック情報ビットマップＬ１４内の、Ｓ１２０のライトコマンドに対応する仮想ボリューム２３１に関連するビットの値が「１」に設定される。ロックディスクの更新が完了すると、第１ストレージ装置１０は、ホスト７０にライトコマンドの処理が完了した旨を通知する（Ｓ１２４）。
【０２４１】
別のタイミングで、ホスト７０は、別のライトコマンドを第１ストレージ装置１０に発行する（Ｓ１３０）。Ｓ１２４とＳ１３０との間で、アクティブパスに障害が発生したり、あるいは、第１ストレージ装置１０が作動を停止したとする。
【０２４２】
その場合、第１ストレージ装置１０は、ライトコマンドを処理することができない（Ｓ１３１）。ホスト７０は、エラー応答等により、第１ストレージ装置１０を使用できないことを知る（Ｓ１３２）。そこで、パス制御部７８は、アクティブパスからパッシブパスに切り替える（Ｓ１３３）。
【０２４３】
ホスト７０は、副ボリュームを有する第２ストレージ装置２０にライトコマンドを発行する（Ｓ１３４）。第２ストレージ装置２０は、副ボリュームの状態が「スワップサスペンド（ＳＳＷＳ）」以外の場合、ロックディスク２３２内の使用制御情報Ｌ１０の更新処理を試みる（Ｓ１３５）。
【０２４４】
第２ストレージ装置２０は、使用制御情報Ｌ１０に記憶されている第１ストレージ装置のロック情報ビットマップＬ１４によって、第１ストレージ装置１０がロックディスクを使用する権利（ロック権）を有していることを知る（Ｓ１３６）。その場合、正ボリュームの記憶内容の方が副ボリュームの記憶内容よりも新しいため、副ボリュームを用いてホスト７０からの要求に応答することはできない。従って、第２ストレージ装置２０は、ホスト７０にチェック応答を送信する（Ｓ１３７）。
【０２４５】
図３３は、仮想ボリューム２３１を構成するリモートコピーペアを削除する処理を示すフローチャートである。管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、仮想ボリュームを構成するリモートコピーペアの削除を指示する（Ｓ１４０）。
【０２４６】
第１ストレージ装置１０は、ペア管理テーブルＴ２０を参照し、削除を指示されたリモートコピーペアが存在しているか否か、及び、削除を指示されたリモートコピーペアを削除可能であるか否かを確認する。
【０２４７】
例えば、指示されたリモートコピーペアに基づく仮想ボリューム２３１がホスト７０によって使用されている場合、そのリモートコピーペアを削除することはできない。なお、指示されたリモートコピーペアが存在しない場合、または、指示されたリモートコピーペアを削除できない場合のいずれかの場合は、本処理は中断される。
【０２４８】
指定されたリモートコピーペアが存在し、かつ、削除可能である場合、第１ストレージ装置１０は、リモートコピーペアの削除指示を第２ストレージ装置２０に転送する（Ｓ１４１）。その指示を受信した第２ストレージ装置２０は、ロックディスク２３２内の使用制御情報Ｌ１０を更新する（Ｓ１４２）。第２ストレージ装置は、第２ストレージ装置のロック情報ビットマップＬ１５内の、削除指定されたリモートコピーペア（仮想ボリューム）に対応するビットを「０」に設定する。
【０２４９】
さらに、第２ストレージ装置２０は、副ボリュームの状態を「ペア」から「シンプレックス」に変更し（Ｓ１４３）、リモートコピーペアに関する情報をペア管理テーブルＴ２０から削除する（Ｓ１４４）。そして、第２ストレージ装置２０は、第１ストレージ装置１０にリモートコピーペアの削除が完了した旨を通知する（Ｓ１４５）。
【０２５０】
その通知を受信した第１ストレージ装置１０は、第３ストレージ装置３０のロックディスク２３２にアクセスし、使用制御情報Ｌ１０を更新する（Ｓ１４６）。第１ストレージ装置１０は、第１ストレージ装置のロック情報ビットマップＬ１４内の、削除指定されたリモートコピーペアに対応するビットを「０」に設定する。
【０２５１】
さらに、第１ストレージ装置１０は、正ボリュームの状態を「ペア」から「シンプレックス」に変更し（Ｓ１４７）、第１ストレージ装置１０内のペア管理テーブルＴ２０から、削除指示されたリモートコピーペアに関する情報を削除する（Ｓ１４８）。第１ストレージ装置１０は、管理サーバ８０に、リモートコピーペアの削除が完了した旨を通知する（Ｓ１４９）。
【０２５２】
図３４は、ロックディスク２３２を削除させる処理を示すフローチャートである。本処理では、第１ストレージ装置１０から第３ストレージ装置３０への指示と、第２ストレージ装置２０から第３ストレージ装置３０への指示とが競合しない場合を述べる。
【０２５３】
管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、ロックディスクの削除を指示する（Ｓ１６０）。第１ストレージ装置１０は、ペア管理テーブルＴ２０を参照し、削除指示されたロックディスクがいずれかの仮想ボリューム２３１で使用されているか否かを確認する（Ｓ１６１）。もしも、いずれかの仮想ボリューム２３１で使用されているロックディスクの場合、本処理は中断される。
【０２５４】
ロックディスクが使用されていない場合、第１ストレージ装置１０は、キャッシュメモリ１３０に使用制御情報Ｌ１０が記憶されているか否かを確認する。もしも、キャッシュメモリ１３０に使用制御情報Ｌ１０が既に記憶されている場合、その内容は古くなっている可能性があるため、第１ストレージ装置１０は、キャッシュメモリ上の使用制御情報Ｌ１０を破棄する（Ｓ１６１）。Ｓ１６１では、ペア管理テーブルＴ２０の参照及び古い使用制御情報Ｌ１０の破棄が実行される。
【０２５５】
第１ストレージ装置１０は、第３ストレージ装置３０に使用制御情報Ｌ１０の読み出しを要求する（Ｓ１６２）。第３ストレージ装置３０は、ロックディスクから使用制御情報Ｌ１０を読み出して第１ストレージ装置１０に送信する（Ｓ１６３）。
【０２５６】
第１ストレージ装置１０は、使用制御情報Ｌ１０内の管理情報Ｌ１１とロックディスク管理テーブルＴ１０の内容とが一致するか否かを確認した後、使用制御情報Ｌ１０を更新させるためのライトデータを作成する（Ｓ１６４）。
【０２５７】
そのライトデータにおいて、第１ストレージ装置１０は、第１ストレージ装置の制御情報を「１」から「０」に変更し、第１ストレージ装置１０がロックディスクを使用していない状態に戻す。さらに、第１ストレージ装置１０は、第１ストレージ装置のロック情報ビットマップＬ１４を０で初期化する。
【０２５８】
そして、第１ストレージ装置１０は、上記のように作成されたライトデータを第３ストレージ装置３０に送信し、ロックディスク２３２内の使用制御情報Ｌ１０を更新させる（Ｓ１６５）。第１ストレージ装置１０は、削除されたロックディスクに関する情報を、第１ストレージ装置１０内のロックディスク管理テーブルＴ１０から消去させる。
【０２５９】
続いて、管理サーバ８０は、第２ＳＶＰを介して、第２ストレージ装置２０に、ロックディスクの削除を指示する（Ｓ１６６）。第２ストレージ装置２０は、ペア管理テーブルＴ２０を参照し、削除指示されたロックディスクがいずれかの仮想ボリューム２３１で使用されているか否かを確認する（Ｓ１６７）。さらに、第２ストレージ装置２０は、キャッシュメモリ１３０に使用制御情報Ｌ１０が記憶されている場合、その使用制御情報Ｌ１０を破棄する（Ｓ１６７）。
【０２６０】
第２ストレージ装置２０は、第３ストレージ装置３０に使用制御情報Ｌ１０の読み出しを要求する（Ｓ１６８）。第３ストレージ装置３０は、使用制御情報Ｌ１０を第２ストレージ装置２０に送信する（Ｓ１６９）。
【０２６１】
第２ストレージ装置２０は、以下のように、使用制御情報Ｌ１０を更新させるためのライトデータを作成する（Ｓ１７０）。そのライトデータでは、管理情報Ｌ１１が消去される。第１ストレージ装置１０はロックディスクを使用していないため、管理情報Ｌ１１を消去できる。そのライトデータでは、第２ストレージ装置の制御情報は「１」から「０」に変更され、さらに、第２ストレージ装置のロック情報ビットマップＬ１５は０で初期化される。
【０２６２】
第２ストレージ装置２０は、そのライトデータを第３ストレージ装置３０に送信し、使用制御情報Ｌ１０を更新させる（Ｓ１７１）。これにより、そのロックディスクは削除される。
【０２６３】
図３５は、ロックディスクの削除について、第１ストレージ装置から第３ストレージ装置３０への指示と、第２ストレージ装置２０から第３ストレージ装置３０への指示とが競合する場合を示す。通信ネットワークの混雑の程度、または、ストレージ装置の応答の遅れ等により、適切な実行順序が得られない場合があり得る。なお、以下の説明では、指示が競合する点を中心に説明し、テーブルの更新内容等の詳細を割愛する。
【０２６４】
管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、ロックディスクの削除を指示する（Ｓ１８０）。続いて、管理サーバ８０は、第２ＳＶＰを介して第２ストレージ装置２０に、ロックディスクの削除を指示する（Ｓ１８１）。
【０２６５】
第１ストレージ装置１０は、第３ストレージ装置３０に使用制御情報Ｌ１０の転送を要求する（Ｓ１８２）。第３ストレージ装置３０は、第１ストレージ装置１０に使用制御情報Ｌ１０を転送する（Ｓ１８３）。第１ストレージ装置１０は、読み出された使用制御情報Ｌ１０を利用してライトデータを作成する（Ｓ１８８）。
【０２６６】
図３５に示す例では、第１ストレージ装置１０がライトデータを作成して使用制御情報Ｌ１０を更新させるよりも前に、第２ストレージ装置２０が、第３ストレージ装置３０から使用制御情報Ｌ１０を取得し（Ｓ１８４，Ｓ１８５）、ライトデータを作成する（Ｓ１８６）。そして、第２ストレージ装置２０は、作成されたライトデータを第３ストレージ装置３０に転送し、使用制御情報Ｌ１０を更新させる（Ｓ１８７）。
【０２６７】
第２ストレージ装置２０による使用制御情報Ｌ１０の更新が完了した後で、第１ストレージ装置１０は、ライトデータ（Ｓ１８８）を第３ストレージ装置３０に送信し、ロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ１８９）。
【０２６８】
第１ストレージ装置１０は、予定通り更新されたか否かを確認するために、ロックディスクから使用制御情報Ｌ１０を読み出し、ライトデータの内容と比較する。しかし、第２ストレージ装置２０による更新処理が先に完了しているため、Ｓ１８２で取得された使用制御情報Ｌ１０に基づくライトデータと、Ｓ１８９の処理で再度取得された使用制御情報Ｌ１０とは一致しない（Ｓ１９０）。
【０２６９】
そこで、第１ストレージ装置１０は、改めてライトデータを作り直し（Ｓ１８８）、その新たなライトデータを用いてロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ１９１）。そのライトデータでは、管理情報Ｌ１１は消去される。
【０２７０】
図３６は、図３５で示した問題をリザーブコマンドの採用によって解消する例を示すフローチャートである。リザーブコマンドとは、処理の実行について予約するためのコマンドである。
【０２７１】
管理サーバ８０は、第１ストレージ装置１０にロックディスクの削除を指示する（Ｓ２００）。続けて、管理サーバ８０は、第２ストレージ装置２０にもロックディスクの削除を指示する（Ｓ２０１）。
【０２７２】
第１ストレージ装置１０は、第３ストレージ装置３０にリザーブコマンドを発行する（Ｓ２０２）。第３ストレージ装置３０は、リザーブコマンドを受け付けた旨を第１ストレージ装置１０に通知する（Ｓ２０３）。これにより、削除対象のロックディスクについて、第１ストレージ装置１０以外の他のストレージ装置によるリードアクセス及びライトアクセスが禁止される。
【０２７３】
第１ストレージ装置１０は、第３ストレージ装置３０に使用制御情報Ｌ１０の転送を要求する（Ｓ２０４）。第３ストレージ装置３０は、第１ストレージ装置１０に使用制御情報Ｌ１０を送信する（Ｓ２０５）。
【０２７４】
第１ストレージ装置１０は、読み出された使用制御情報Ｌ１０に基づいて、ロックディスクを削除するためのライトデータを作成する（Ｓ２０８）。
【０２７５】
第１ストレージ装置１０によってロックディスク内の使用制御情報Ｌ１０が更新されるよりも前に、第２ストレージ装置２０が、第３ストレージ装置３０にリザーブコマンドを発行したとする（Ｓ２０６）。既に、削除対象のロックディスクについては、第１ストレージ装置１０からリザーブコマンドが発行されている（Ｓ２０２）。従って、第３ストレージ装置３０は、第２ストレージ装置２０にエラーを返す。リザーブコマンドは、リリースコマンドによって明示的に解除される必要がある。
【０２７６】
第１ストレージ装置１０は、ライトデータ（Ｓ２０８）を第３ストレージ装置３０に送信し、ロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ２０９）。更新完了後に、第１ストレージ装置１０は、第３ストレージ装置３０にリリースコマンドを発行する（Ｓ２１０）。第３ストレージ装置３０は、リリースコマンドを受信すると、Ｓ２０２で受け付けたリザーブコマンドによるリザーブ状態を解除する（Ｓ２１１）。
【０２７７】
その後で、第２ストレージ装置２０は、ロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ２０２−Ｓ２０５，Ｓ２０８−Ｓ２１０）。これにより、ロックディスクが削除される。
【０２７８】
図３７は、一回の指示で、ロックディスクの削除及び仮想ボリュームの削除を行う場合の例を示す。管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、ロックディスクの削除を指示する（Ｓ２２０）。
【０２７９】
第１ストレージ装置１０は、ロックディスクの削除指示を受信すると、まず最初に、削除を指示されたロックディスクに関連する全てのリモートコピーペア（仮想ボリューム）の削除を、第２ストレージ装置２０に指示する（Ｓ２２１）。
【０２８０】
第２ストレージ装置２０は、仮想ボリュームを削除するためのライトデータを作成して第３ストレージ装置３０に送信し、使用制御情報Ｌ１０を更新させる（Ｓ２２２）。第２ストレージ装置２０は、副ボリュームの状態を「ペア」から「シンプレックス」に変更し、さらに、削除対象の仮想ボリュームに関する情報をペア管理テーブルＴ２０から消去する（Ｓ２２３）。第２ストレージ装置２０は、第２ストレージ装置側における仮想ボリュームの削除が完了した旨を、第１ストレージ装置１０に報告する（Ｓ２２４）。
【０２８１】
第１ストレージ装置１０は、第２ストレージ装置２０からの通知を受信すると、削除対象のロックディスクに対応付けられている仮想ボリュームを削除するべく、ライトデータを作成して第３ストレージ装置３０に送信し、ロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ２２５）。第１ストレージ装置１０は、正ボリュームの状態を「ペア」から「シンプレックス」に変更し、さらに、削除対象の仮想ボリュームに関する情報をペア管理テーブルＴ２０から消去する（Ｓ２２６）。
【０２８２】
続いて、第１ストレージ装置１０は、ロックディスクを削除するためのライトデータを作成し、そのライトデータを第３ストレージ装置３０に送信し、使用制御情報Ｌ１０を更新させる（Ｓ２２７）。第１ストレージ装置１０は、ロックディスク管理テーブルＴ１０から、削除対象のロックディスクに関する情報を消去する（Ｓ２２８）。そして、第１ストレージ装置１０は、ロックディスクの削除が完了した旨をホスト７０に通知する（Ｓ２２９）。
【０２８３】
図３８は、正ボリューム単独で運用する場合を示すフローチャートである。例えば、第２ストレージ装置の保守作業のために、第１ストレージ装置１０のみを作動させる必要が生じる。
【０２８４】
管理サーバ８０は、第１ＳＶＰを介して第１ストレージ装置１０に、サスペンドを指示する（Ｓ２４０）。第１ストレージ装置１０は、ペア管理テーブルＴ１０を参照し、サスペンド可能か否かを判定する。サスペンドできない場合、本処理は中断する。
【０２８５】
サスペンド可能な場合、第１ストレージ装置１０は、使用制御情報Ｌ１０を更新させる（Ｓ２４１）。具体的には、第１ストレージ装置のロック情報ビットマップＬ１４において、正ボリュームに関する仮想ボリュームに対応するビットを「１」に設定する。
【０２８６】
第１ストレージ装置１０は、ロックディスク管理テーブルＴ１０を更新し（Ｓ２４２）、第２ストレージ装置２０にサスペンドへの移行を指示する（Ｓ２４３）。第２ストレージ装置２０は、その指示を受けて、ペア状態を「ＰＳＵＳ」に変更し（Ｓ２４４）、ステータス変更が完了した旨を第１ストレージ装置１０に通知する（Ｓ２４５）。
【０２８７】
第１ストレージ装置１０は、第２ストレージ装置２０からの通知を受信すると、ペア管理テーブルＴ２０に記憶されているペア状態を「ＰＳＵＳ」に変更する（Ｓ２４６）。第１ストレージ装置１０は、サスペンドへの移行が完了した旨を管理サーバ８０に通知する（Ｓ２４７）。
【０２８８】
図３９は、正ボリューム単独で運用する状態から通常の状態に戻すためのペアリシンク処理を示すフローチャートである。管理サーバ８０は、第１ストレージ装置１０に、ペアリシンクを指示する（Ｓ２５０）。第１ストレージ装置１０は、ペア管理テーブルＴ２０を参照し、ペアリシンクが可能か否かを判定する。ペアリシンクが不可能な場合、本処理は中断する。
【０２８９】
ペアリシンクが可能な場合、第１ストレージ装置１０は、ロックディスク内の使用制御情報Ｌ１０を更新させる（Ｓ２５１）。具体的には、第１ストレージ装置のロック情報ビットマップＬ１４内の、対応するビットの値を「１」から「０」に変更させる。第１ストレージ装置１０は、第１ストレージ装置１０内のロックディスク管理テーブルＴ１０を更新する（Ｓ２５２）。
【０２９０】
そして、第１ストレージ装置１０は、第２ストレージ装置２０にペアリシンクを指示する（Ｓ２５３）。第２ストレージ装置２０は、第２ストレージ装置内のペア管理テーブルＴ２０において、リシンク対象のリモートコピーペアの状態を「ペア」に変更させる（Ｓ２５４）。第２ストレージ装置２０は、ペア状態を変更した旨を第１ストレージ装置１０に通知する（Ｓ２５５）。
【０２９１】
第１ストレージ装置１０は、第１ストレージ装置内のペア管理テーブルＴ２０において、リシンク対象のリモートコピーペアの状態を「ペア」に変更させる（Ｓ２５６）。第１ストレージ装置１０は、管理サーバ８０に、ペアリシンクが完了した旨を報告する（Ｓ２５７）。
【０２９２】
その後、ペア状態の変更とは別のタイミングで、正ボリュームの記憶内容と副ボリュームの記憶内容との再同期が行われる。正ボリューム単独で運用されている間に、ホスト７０によって更新されたデータの位置は、差分ビットマップで管理されている。差分ビットマップは、正ボリュームの記憶内容と副ボリュームの記憶内容との間で生じた差分を管理するための情報である。
【０２９３】
第１ストレージ装置１０は、第２ストレージ装置２０に、差分コピーの開始を指示する（Ｓ２６０）。第１ストレージ装置１０は、差分ビットマップを用いて、第２ストレージ装置２０に差分データを転送する（Ｓ２６１）。第２ストレージ装置２０は、第１ストレージ装置１０から受信した差分データを副ボリュームに書き込む。差分コピーが完了すると、第２ストレージ装置２０は、第１ストレージ装置１０に差分コピーの完了を通知する（Ｓ２６２）。
【０２９４】
図４０は、副ボリューム単独で運用する場合の処理を示すフローチャートである。例えば、保守作業等のために、副ボリュームのみを稼働させる場合がある。まず最初に、管理サーバ８０は、第２ＳＶＰを介して第２ストレージ装置２０に、スワップサスペンドへの移行を指示する（Ｓ２７０）。
【０２９５】
第２ストレージ装置２０は、ペア管理テーブルＴ２０を参照してスワップサスペンドが可能か否かを判定する。スワップサスペンドが可能な場合、第２ストレージ装置２０は、第３ストレージ装置３０内のロックディスク２３２にアクセスし、使用制御情報Ｌ１０を更新させる（Ｓ２７１）。具体的には、第２ストレージ装置２０は、第２ストレージ装置のロック情報ビットマップＬ１５内の、スワップサスペンド対象の仮想ボリュームに対応するビットの値を「１」に設定させる。
【０２９６】
第２ストレージ装置２０は、項目Ｃ１７についてロックディスク管理テーブルＴ１０を更新し（Ｓ２７２）、さらに、第１ストレージ装置１０にスワップサスペンドへの移行を通知する（Ｓ２７３）。
【０２９７】
第１ストレージ装置１０は、第１ストレージ装置の有するペア管理テーブルＴ２０内の正ボリュームのペア状態を、「ＰＳＵＳ（サスペンド）」に変更し（Ｓ２７４）、状態変更が完了した旨を第２ストレージ装置２０に通知する。
【０２９８】
第１ストレージ装置１０からの通知を受信した第２ストレージ装置２０は、第２ストレージ装置の有するペア管理テーブルＴ２０内の副ボリュームのペア状態を、「ＳＳＷＳ（スワップサスペンド）」に変更する（Ｓ２７５）。第２ストレージ装置２０は、管理サーバ８０にスワップサスペンドへの移行が完了した旨を通知する（Ｓ２７７）。
【０２９９】
図４１は、副ボリューム単独での運用状態から、通常のリモートコピーペア状態に戻すための処理を示すフローチャートである。
【０３００】
管理サーバ８０は、第２ストレージ装置２０にリバースリシンクの実行を指示する（Ｓ２８０）。第２ストレージ装置２０は、ペア管理テーブルＴ２０を参照し、リバースリシンクが可能か否かを判定する。リバースリシンクが可能な場合、第２ストレージ装置２０は、ロックディスク２３２内の使用制御情報Ｌ１０を更新させる（Ｓ２８１）。第２ストレージ装置２０は、第２ストレージ装置のロック情報ビットマップＬ１５内の、リバースリシンク対象のボリュームに対応するビットの値を「０」に変更させる。
【０３０１】
第２ストレージ装置２０は、ロックディスク管理テーブルＴ１０を更新し（Ｓ２８２）、第１ストレージ装置１０にリバースリシンクの実行を通知する（Ｓ２８３）。第１ストレージ装置１０は、ペア管理テーブルＴ２０において、正ボリュームを副ボリュームに変更し、さらに、ペア状態を「ＰＡＩＲ」に変更する（Ｓ２８４）。第１ストレージ装置１０は、第２ストレージ装置２０に変更完了を通知する（Ｓ２８５）。
【０３０２】
第２ストレージ装置２０は、ペア管理テーブルＴ２０において、副ボリュームを正ボリュームに変更し、ペア状態を「ＰＡＩＲ」に変更する（Ｓ２８６）。つまり、正ボリュームを副ボリュームに変更し（Ｓ２８４）、かつ、副ボリュームを正ボリュームに変更することにより（Ｓ２８６）、正ボリュームと副ボリュームとを入れ替える。
【０３０３】
第２ストレージ装置２０は、管理サーバ８０に、リバースリシンクの完了を通知する（Ｓ２８７）。そして、別のタイミングで、正ボリューム（以前の副ボリューム）から副ボリューム（以前の正ボリューム）に、差分データのコピーが行われる。
【０３０４】
正ストレージ装置となった第２ストレージ装置２０は、副ストレージ装置となった第１ストレージ装置１０に、差分コピーの実行を通知する（Ｓ２９０）。第２ストレージ装置２０は、第１ストレージ装置１０に差分データを転送する（Ｓ２９１）。第１ストレージ装置１０は、差分データをキャッシュメモリ１３０に保存した後で、副ボリュームに書き込む。第２ストレージ装置２０は、第１ストレージ装置１０に差分コピーの完了を通知する（Ｓ２９２）。
【０３０５】
図４２は、所定の契機が到来した場合に、自動的にリバースリシンクを行うための処理を示すフローチャートである。図４１の場合は、ユーザが管理サーバ８０から、リバースリシンクの実行を手動で指示している。これに対し、図４２に示す処理では、例えば、スワップサスペンドの移行後に、リバースリシンクを自動的に実行する。
【０３０６】
ホスト７０は、第１ストレージ装置１０内の正ボリュームにライトコマンドを発行する（Ｓ３０１）。しかし、障害等により、第１ストレージ装置１０はライトコマンドを処理することができず、エラー応答が返される（Ｓ３０２）。
【０３０７】
そこで、ホスト７０のパス制御部７８は、アクティブパスからパッシブパスに切り替えて（Ｓ３０３）、第２ストレージ装置２０内の副ボリュームにライトコマンドを発行する（Ｓ３０４）。
【０３０８】
第２ストレージ装置２０は、ロックディスク内の使用制御情報Ｌ１０を更新し、スワップサスペンド状態に移行する（Ｓ３０４）。ライトデータは、副ボリュームにのみ書き込まれる。第２ストレージ装置２０は、副ボリュームにライトデータを書き込んだ後、ホスト７０に処理完了を通知する（不図示）。
【０３０９】
スワップサスペンドに移行した後で、第２ストレージ装置２０は、リバースリシンクの実行契機が到来したか否かを判定し、実行契機の到来を検出した場合には（Ｓ３０５）、リバースリシンクを実行する（Ｓ３０６−Ｓ３２２）。
【０３１０】
リバースリシンクの実行契機としては、例えば、スワップサスペンド状態への移行直後、あるいは、スワップサスペンド状態への移行から所定時間経過後、あるいは、スワップサスペンド状態への移行からハートビート通信の再開後等、を挙げることができる。
【０３１１】
第２ストレージ装置２０は、第１ストレージ装置１０にリバースリシンクの実行を通知する（Ｓ３０６）。この通知を受信した第１ストレージ装置１０は、ペア管理テーブルＴ２０において、正ボリュームを副ボリュームに変更し、かつ、ペア状態を「ＰＡＩＲ」に変更する（Ｓ３０７）。
【０３１２】
第２ストレージ装置２０は、第１ストレージ装置１０側の変更完了を確認すると、ペア管理テーブルＴ２０において、副ボリュームを正ボリュームに変更し、かつ、ペア状態を「ＰＡＩＲ」に変更する（Ｓ３０８）。第２ストレージ装置２０は、ロックディスク内の使用制御情報Ｌ１０を更新し、ロック情報ビットマップＬ１５内の対応ビットを「０」に変更させる（Ｓ３０９）。第２ストレージ装置２０は、ホスト７０に、リバースリシンクが完了した旨を通知する（Ｓ３１０）。
【０３１３】
そして、別のタイミングで、第２ストレージ装置２０は、第１ストレージ装置１０に差分コピーの実行を通知し（Ｓ３２０）、差分データを第１ストレージ装置１０に転送する（Ｓ３２１）。第１ストレージ装置１０は、差分データをキャッシュメモリ１３０に格納し、差分コピーが完了した旨を第２ストレージ装置２０に報告する（Ｓ３２２）。
【０３１４】
本実施例は、上述のように構成されるため、以下の効果を奏する。本実施例では、第１ストレージ装置１０及び第２ストレージ装置２０とは別の第３ストレージ装置３０内にロックディスク２３２を設け、そのロックディスク２３２内に、正ボリュームと副ボリュームとから構成される仮想ボリューム２３１の使用を制御するための使用制御情報Ｌ１０を格納させる。従って、本実施形態では、各ストレージ装置１０，２０は、ロックディスク２３２を共有することにより、ストレージ装置１０，２０間での切替を適切に行うことができ、ホスト７０が各ストレージ装置１０，２０の切替を意識する必要は無い。
【０３１５】
本実施例では、使用制御情報Ｌ１０の管理情報Ｌ１１に、ロックディスクＩＤ＿Ｌ１１１と、第１ストレージ装置１０及び第２ストレージ装置２０をそれぞれ特定するための識別情報Ｌ１１２，Ｌ１１３とが含まれている。つまり、本実施例では、ロックディスクＩＤと各ストレージ装置の製造番号との合計３つの情報を対応付けて管理することができ、他のストレージ装置にロックディスク２３２が関連づけられてしまう等の誤りを未然に防止できる。
【０３１６】
本実施例では、各ストレージ装置１０，２０内に仮想的に設けられる外部接続ボリュームに、外部ボリュームとして構成されるロックディスク２３２を対応付ける。従って、第３ストレージ装置３０の記憶資源を活用することができる。
【０３１７】
本実施例では、ユーザは、管理サーバ８０から、仮想ボリュームの設定と、ロックディスクの設定と、外部接続の設定とを、ストレージ装置に指示することができる。従って、使い勝手が高まる。
【０３１８】
本実施例では、第１ストレージ装置１０は、使用制御情報Ｌ１０のうち第１ストレージ装置に関する情報のみを更新可能であり、第２ストレージ装置２０は、使用制御情報Ｌ１０のうち第２ストレージ装置に関する情報のみを更新可能である。従って、第１ストレージ装置１０が誤って第２ストレージ装置２０に関する情報を書き換えたり、その逆に、第２ストレージ装置２０が誤って第１ストレージ装置１０に関する情報を書き換えたりするのを未然に防止でき、信頼性が向上する。
【０３１９】
本実施例では、使用制御情報Ｌ１０を更新する場合、その更新直後に、ロックディスク２３２から使用制御情報Ｌ１０を読み出して、正しく更新されたか否かを確認する。従って、それぞれ異なるストレージ装置１０，２０が一つのロックディスク２３２を共有する場合でも、使用制御情報Ｌ１０が適切に更新されることを保証でき、ストレージシステムの信頼性を高めることができる。
【０３２０】
本実施例では、ロックディスク２３２の削除を一回指示するだけで、そのロックディスク２３２に関連する仮想ボリューム２３１も削除することができる。従って、ユーザの使い勝手が向上する。
【０３２１】
本実施例では、スワップサスペンドへの移行後に、所定の実行契機が検出された場合には、自動的にリバースリシンクを行うこともできる。従って、ユーザの使い勝手を高めることができる。
【０３２２】
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【図１】
0005199464.tif 000002
【図２】
0005199464.tif 000003
【図３】
0005199464.tif 000004
【図４】
0005199464.tif 000005
【図５】
0005199464.tif 000006
【図６】
0005199464.tif 000007
【図７】
0005199464.tif 000008
【図８】
0005199464.tif 000009
【図９】
0005199464.tif 000010
【図１０】
0005199464.tif 000011
【図１１】
0005199464.tif 000012
【図１２】
0005199464.tif 000013
【図１３】
0005199464.tif 000014
【図１４】
0005199464.tif 000015
【図１５】
0005199464.tif 000016
【図１６】
0005199464.tif 000017
【図１７】
0005199464.tif 000018
【図１８】
0005199464.tif 000019
【図１９】
0005199464.tif 000020
【図２０】
0005199464.tif 000021
【図２１】
0005199464.tif 000022
【図２２】
0005199464.tif 000023
【図２３】
0005199464.tif 000024
【図２４】
0005199464.tif 000025
【図２５】
0005199464.tif 000026
【図２６】
0005199464.tif 000027
【図２７】
0005199464.tif 000028
【図２８】
0005199464.tif 000029
【図２９】
0005199464.tif 000030
【図３０】
0005199464.tif 000031
【図３１】
0005199464.tif 000032
【図３２】
0005199464.tif 000033
【図３３】
0005199464.tif 000034
【図３４】
0005199464.tif 000035
【図３５】
0005199464.tif 000036
【図３６】
0005199464.tif 000037
【図３７】
0005199464.tif 000038
【図３８】
0005199464.tif 000039
【図３９】
0005199464.tif 000040
【図４０】
0005199464.tif 000041
【図４１】
0005199464.tif 000042
【図４２】
0005199464.tif 000043