(57)【特許請求の範囲】
【請求項１】
第１のホスト計算機に接続する第１の記憶制御装置と、
第２のホスト計算機に接続する第２の記憶制御装置と、
第３のホスト計算機に接続する第３の記憶制御装置と、
前記第１のホスト計算機と前記第２のホスト計算機とを接続する第１のリンクと、
前記第１のホスト計算機と前記第３のホスト計算機とを接続する第２のリンクと、
前記第１の記憶制御装置と前記第２の記憶制御装置とを接続する第１の回線と、
前記第１の記憶制御装置と前記第３の記憶制御装置とを接続する第２の回線と、
前記第２の記憶制御装置と前記第３の記憶制御装置とを接続する第３の回線と、
を備える記憶制御システムであって、
前記第１の記憶制御装置は、第１の制御コマンドが書き込まれる第１の論理デバイスを形成する第１の記憶領域と、当該第１の論理デバイスから前記第１の制御コマンドを読み込み、当該第１の制御コマンドに基づく第１の制御処理を実行する第１の制御回路と、を備え、
前記第２の記憶制御装置は、第２の制御コマンドが書き込まれる第２の論理デバイスを形成する第２の記憶領域と、当該第２の論理デバイスから前記第２の制御コマンドを読み込み、当該第２の制御コマンドに基づく第２の制御処理を実行する第２の制御回路と、を備え、
前記第３の記憶制御装置は、第３の制御コマンドが書き込まれる第３の論理デバイスを形成する第３の記憶領域と、当該第３の論理デバイスから前記第３の制御コマンドを読み込み、当該第３の制御コマンドに基づく第３の制御処理を実行する第３の制御回路と、を備え、
前記第１の制御回路は、前記第２の記憶制御装置における第２の論理デバイスにマッピングされ前記第１のホスト計算機からのアクセスにより前記第２の論理デバイスとして認識される第１の仮想ボリュームと、前記第３の記憶制御装置における第３の論理デバイスにマッピングされ前記第１のホスト計算機からのアクセスにより前記第３の論理デバイスとして認識される第２の仮想ボリュームとをそれぞれ形成し、
前記第３の制御回路は、前記第２の記憶制御装置における第２の論理デバイスにマッピングされ前記第１のホスト計算機からのアクセスにより前記第２の論理デバイスとして認識される第３の仮想ボリュームを形成し、
前記第１のホスト計算機が前記第２の論理デバイスに前記第２の制御コマンドを書き込むには、前記第１のリンクを介して前記第２のホスト計算機に前記第２の制御コマンドを発行し、当該第２のホスト計算機が当該第２の制御コマンドを当該第２の論理デバイスに発行するか、又は、前記第１のホスト計算機から前記第1の仮想ボリュームに対して発行された前記第２の制御コマンドを、前記第１の制御回路が、当該第１の仮想ボリュームにマッピングされている前記第２論理デバイスに対して、前記第１の回線を介して前記第１の仮想ボリュームから、前記第２の制御コマンドを発行するものであり、
前記第１のホスト計算機が前記第３の論理デバイスに前記第３の制御コマンドを書き込むには、前記第２のリンクを介して、前記第３のホスト計算機に前記第３の制御コマンドを発行し、当該第３のホスト計算機が当該第３の制御コマンドを前記第３の論理デバイスに発行するか、又は、前記第１のホスト計算機から前記第２の仮想ボリュームに対して発行された前記第３の制御コマンドを、前記第１の制御回路が、当該第２の仮想ボリュームにマッピングされている前記第３の論理デバイスに対して、前記第２の回線を介して前記第２の仮想ボリュームから、前記第３の制御コマンドを発行するものであり、
前記第1のリンクと前記第１の回線に通信障害が発生している状態で、前記第１のホスト計算機が前記第２の論理デバイスに前記第２の制御コマンドを書き込むには、前記第1のホスト計算機が前記第２の論理デバイスに対する前記第２の制御コマンドを、前記第２の仮想ボリュームに発行し、前記第１の制御回路は当該第２の制御コマンドを前記第２の仮想ボリュームから前記第２の回線を介して前記第３の論理デバイスに発行し、前記第３の制御回路は前記第３の論理デバイスに発行された前記第２の制御コマンドを前記第３の仮想ボリュームを介して前記第３の回線から前記第２の論理デバイスに発行する、記憶制御システム。
【請求項２】
前記第２の制御回路は、前記第３の論理デバイスにマッピングされる第４の仮想ボリュームを形成する、請求項１記載の記憶制御システム。
【請求項３】
前記第１のホスト計算機が前記第３の論理デバイスに前記第３の制御コマンドを書き込むには、前記第１のホスト計算機から前記第１の仮想ボリュームに前記第３の制御コマンドを発行し、前記第１の制御回路は前記第１の回線を介して前記第１の仮想ボリュームから前記第３の制御コマンドを前記第４の仮想ボリュームに発行し、前記第２の制御回路は前記３の回線を介して前記第４の仮想ボリュームから前第３の制御コマンドを前記第３の論理デバイスに発行する、請求項２記載の記憶制御システム。
【請求項４】
前記第１のホスト計算機が前記第３の論理デバイスに前記第３の制御コマンドを書き込むには、前記第１のホスト計算機から前記第２のホスト計算機に前記第１のリンクを介して、前記第３の制御コマンドを発行し、前記第２のホスト計算機は当該第３の制御コマンドを前記第４の仮想ボリュームに発行し、前記２の制御回路は前記第３の回線を介して前記第４の仮想ボリュームから前記第３の制御コマンドを前記第３の論理デバイスに発行する、請求項２記載の記憶制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある記憶制御装置に他の記憶制御装置が接続されている、記憶制御システムに関するものである。
【背景技術】
【０００２】
この種の記憶制御システムの一つにディザスタリカバリを目的とした、記憶制御装置（ストレージ装置）間ボリュームレプリケーション機能を利用したシステムが知られている。このシステムは、リモートコピーシステムと呼ばれている。リモートコピーシステムは、一つの記憶制御システムとは離れた地理的位置に他の記憶制御システムを備え、一つの記憶制御システムに格納されたデータの複製を、他の記憶制御システムに格納するようにしている。
【０００３】
このリモートコピーシステムに関する従来例として、例えば、特開２００５−１５７５２１号公報に記載のものが存在する。このものは、ホストコンピュータに直結していない遠隔地の記憶サブシステムのリモートコピー状態情報を取得する事を目的として、各記憶サブシステムに、ホストコンピュータからの状態情報取得命令を受信する手段と、受信した命令を解析し、自身が対象となっているか否か判断する手段と、自身が対象でなければ、自身に接続する下位の記憶サブシステムに当該命令を送出する手段と、下位の記憶サブシステムから状態情報を受信した場合、自身に接続する上位の記憶サブシステムに状態情報を送出する手段とを備えさせる構成となっている。
【０００４】
このリモートコピーシステムでは、特定の記憶制御装置にリモートサイトの記憶制御装置が通信手段を介して接続する構成を有している。この記憶制御装置同士の接続は、例えば、特開２００５−１０７６４５号公報に記載されている。なお、この公報には、外部の記憶資源を内部記憶資源として仮想化することにより、記憶資源を有効利用する記憶制御装置が記載されている。
【０００５】
この種のリモートコピーシステムにおいて、中間サイトを設け、特定の記憶制御装置とリモートサイトの記憶制御装置とが中間サイトの記憶制御装置を介して接続するシステムも知られている。このシステムでは、中間サイトの記憶制御装置の論理ボリュームとリモートサイトの記憶制御装置の論理ボリュームとをコピーペアの関係に設定するとともに、特定サイトの記憶制御装置の論理ボリュームをリモートサイトの論理ボリュームに同期コピーを行っている。中間サイトの論理ボリュームはリモートサイトの論理ボリュームに非同期コピーされている。
【０００６】
この種のリモートコピーシステムにおいて、記憶制御装置はホスト計算機からの制御コマンドを処理するために、コマンドデバイスを備えている。コマンドデバイスとは、記憶制御装置が上位装置であるホスト計算機との制御コマンドを通信するための専用の論理デバイス（或いは論理ボリューム）である。ホスト計算機は、記憶制御装置に形成されたコマンドデバイスに対して制御コマンドをデータとして書き込み、記憶制御装置は、コマンドデバイスに記憶された制御コマンドを処理する。なお、特開２００５−１１５８９８号公報には、リモートサイトの記憶制御装置のコマンドデバイスを特定記憶制御装置に対して仮想化する技術が記載されている。
【特許文献１】特開２００５−１５７５２１号公報
【特許文献２】特開２００５−１０７６４５号公報
【特許文献３】特開２００５−１１５８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
メインサイトにある特定の記憶制御装置に接続するホスト装置からの、論理ボリュームのペア設定などの制御コマンドを、前記中間サイトやリモートサイトの記憶制御措置に実行させるためには、これらサイトにもホスト装置を接続し、ホスト装置同士間で制御コマンドを通信するためのネットワークが必要である。したがって、ホスト措置同士の通信が障害を受けた場合などにおいて、メインサイトのホスト装置から他のサイトのホスト装置に制御コマンドを発行できないという課題がある。
【０００８】
そこで、本発明は、特定の記憶制御装置に接続される他の記憶制御装置にホスト装置を設けることなく、特定の記憶制御装置に接続する上位装置から他の記憶制御装置に対して、当該他の記憶制御装置が処理すべき制御コマンドを発行できる、記憶制御システムを提供する事を目的とする。本発明の他の目的は、特定の記憶制御装置に接続される他の記憶制御装置にホスト装置を設けたシステムにおいて、特定の記憶制御装置に接続する第１のホスト装置と他の記憶制御装置に接続する第２のホスト装置間での通信に障害が発生しても、第１のホスト装置から他の記憶制御装置に制御コマンドを発行できる、記憶制御システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明に係る制御システムは、前記目的を達成するために、特定の記憶制御装置に、他の記憶制御装置のコマンドデバイスに割り当てられた仮想ボリュームを設け、特定の記憶制御装置に接続する上位装置は、当該仮想ボリュームを、前記他の記憶制御装置が処理すべき制御コマンドが設定されるべきコマンドデバイスとして認識することを特徴とするものである。上位装置が前記仮想ボリュームに対して制御コマンドを発行すると、この仮想ボリュームを介して、上位装置−上位装置間の接続を介する事無く、前記特定の記憶制御装置に接続する前記他の記憶制御装置のコマンドデバイスに、前記制御コマンドを発行することができる。
【００１０】
前記本発明の一つの態様は、上位装置と、当該上位装置と通信可能に接続された第１の記憶制御装置と、当該第１の記憶制御装置と通信可能に接続され、制御コマンドが書き込まれる論理デバイスを備えるとともに、当該制御コマンドを実行するように構成された、第２の記憶制御サイトと、を備える記憶制御システムであって、前記第１の記憶制御装置は、  仮想ボリュームと、前記仮想ボリュームを前記論理デバイスにマッピングする情報と、前記論理デバイスの属性情報と、が記録された記憶部と、を備え、前記上位装置は、前記仮想ボリュームを第２の記憶制御装置の前記論理デバイスとして認識し、次いで、当該論理デバイスに対して、前記仮想ボリュームを介して、制御コマンドを発行できるように構成した、ことを特徴とするものである。
【００１１】
さらに、本発明の他の態様は、第１の記憶制御装置と、当該第１の記憶制御装置に接続する第１の上位装置と、前記第１の記憶制御装置に接続する第２の記憶制御装置と、当該第２の記憶制御装置に接続する第２の上位装置と、を備える記憶制御システムであって、前記第２の記憶制御装置は、制御コマンドが書き込まれる論理デバイスを備えるとともに、当該制御コマンドを実行するように構成され、前記第１の記憶制御装置は、前記論理デバイスにマッピングされた仮想ボリュームを備え、前記第１の上位装置が前記仮想ボリュームを前記第２の記憶制御装置の前記論理デバイスとして認識し、次いで、前記仮想ボリュームを介して当該論理デバイスに対して前記制御コマンドを発行できるように構成した、ことを特徴とするものである。
【００１２】
さらに、本発明の他の態様は、複数の記憶制御装置間を接続した記憶制御システムの記憶制御方法であって、一つの記憶制御装置に接続された上位装置が、前記一つの記憶制御装置に接続された他の記憶制御装置の論理デバイスを認識するステップと、前記上位装置が前記論理デバイスにマッピングされた、前記第一つの記憶制御装置の仮想ボリュームに、前記他の記憶制御装置が実行する制御コマンドを発行するステップと、前記仮想ボリュームから前記制御コマンドを前記論理デバイスに送信するステップと、前記他の記憶制御装置が前記論理デバイスの前記制御コマンドを実行するステップと、を備えることを特徴とするものである。
【００１３】
さらに、本発明の他の態様は、上位装置と、この上位装置と通信可能に接続された第１の記憶サイトと、当該第１の記憶サイトと通信可能に接続される第２の記憶サイトと、を備えてなる記憶制御システムであって、前記第２の記憶サイトは、前記上位装置からの制御コマンドが書き込まれる論理デバイスを備え、当該制御コマンドを実行するように構成され、前記第１の記憶サイトは前記論理デバイスにマッピングされた仮想ボリュームを備え、前記上位装置は前記仮想ボリュームを前記第２の記憶制御装置の前記論理デバイスとして認識し、ユーザに対して前記論理デバイスが前記第２の記憶制御装置に属していることを表示するように構成されたことを特徴とするものである。
【発明の効果】
【００１４】
以上説明したように本発明によれば、特定の記憶制御装置の上位装置と他の記憶制御装置の上位装置間での接続経路を介することなく、特定の記憶制御装置に接続する上位装置から他の記憶制御装置に対して、当該他の記憶制御装置が処理すべき内容を持った制御コマンドを発行できる。
【発明を実施するための最良の形態】
【００１５】
以下、各図を参照して本発明の実施形態について説明する。以下に示す実施形態は本発明の一例であって、本発明を限定解釈するものではない。以下の実施形態は変更・改良され得るとともに、本発明にはその等価物も含まれる。図１はリモートコピーシステム１００の構成図である。リモートコピーシステム１００は、第１のサイト（「プライマリサイト」又は「メインサイト」ともいう。）に設置された第１の記憶システム１０と、第２のサイト（「セカンダリサイト」又は「ローカルサイト」）に設置された第２の記憶システム１５と、第３のサイト（リモートサイト）に設置された第３の記憶システム２０とを備えて構成されている。各サイトの記憶システムは、記憶制御装置から構成されている。
【００１６】
第２のサイトは第１のサイトから近距離又は中距離の範囲内に位置し、第３のサイトは第１のサイトから遠距離に位置している。第１の記憶システム１０は、ホストコンピュータ（第１の上位計算機システム）３０と接続することにより、現用系（稼働系）のデータ処理システムを構築している。一方、第３の記憶システム２０は、ホストコンピュータ（第２の上位計算機システム）４０と接続することにより、交替系（待機系）のデータ処理システムを構築している。これらのデータ処理システムはクラスタを構成しており、現用系のデータ処理システムに障害が発生した場合に、交替系のデータ処理システムにフェイルオーバーできるように構成されている。
【００１７】
ホストコンピュータ３０はホストバスアダプタ３４を備えており、通信回線３２０を通じて第１の記憶システム１０のチャネルアダプタ（ＣＨＡ１）８０と接続している。ホストコンピュータ３０にはオペレーティングシステム３３、クラスタソフトウエア３２、及びアプリケーションプログラム３１が実装されている。クラスタソフトウエア３２はアプリケーションプログラム３１が正常に動作しているか否かをチェックする。
【００１８】
一方、ホストコンピュータ４０はホストバスアダプタ４４を備えており、通信回線３５０を通じて第３の記憶システム２０のチャネルアダプタ（ＣＨＡ６）８０と接続している。ホストコンピュータ４０にはオペレーティングシステム４３、クラスタソフトウエア４２、及びリソースグループ４１が実装されている。リソースグループ４１には、アプリケーションプログラム４１ａ、記憶装置管理ソフトウエア（ＲＡＩＤマネージャ）４１ｂが含まれている。リソースグループ４１はホストコンピュータ３０にも含まれている。記憶装置管理ソフトウエアは、後述の論理ボリュームのペア設定、ペア解除、ペア状態参照など記憶制御装置の制御を実行する。
【００１９】
ホストコンピュータ３０，４０は通信回線３１０を通じて接続されており、第１のサイトに障害が発生してアプリケーションプログラム３１が正常に動作できなくなると、クラスタソフトウエア３２は障害発生を検出して交替系のホストコンピュータ４０に起動指示を送る。これにより、現用系のデータ処理システムから交替系のデータ処理システムへのフェイルオーバーが可能になる。アプリケーションプログラム３１，４１ａには、銀行の預貯金管理などの動作を制御するプログラムが含まれている。
【００２０】
図１と図２を参照しながら第１の記憶システム１０の構成について説明する。第１の記憶システム１０は、チャネルアダプタ５０、キャッシュメモリ６０、共有メモリ７０、ディスクアダプタ８０、接続部９０、及び物理ボリューム９００を備えている。チャネルアダプタ５０はホストコンピュータ３０からの入出力要求を受け付けるインターフェースである。キャッシュメモリ６０と共有メモリ７０は、チャネルアダプタ５０とディスクアダプタ８０が共用するメモリである。共有メモリ７０は、主として、制御情報やコマンド等を記憶するために利用され、例えば、ボリューム情報テーブル４００、ペア設定情報テーブル５００、及びジャーナルグループ設定情報テーブル６００が格納される。キャッシュメモリ６０は、主として、データを一時記憶するために利用される。
【００２１】
例えば、あるチャネルアダプタ５０がホストコンピュータ３０から受け取ったデータ入出力コマンドが書き込みコマンドであった場合に、チャネルアダプタ５０はその書き込みコマンドを共有メモリ７０に書き込むとともに、ホストコンピュータ３０から受け取ったライトデータをキャッシュメモリ６０に書き込む。一方、ディスクアダプタ８０は共有メモリ７０を監視しており、共有メモリ７０に書き込みコマンドが書き込まれたことを検出すると、その書き込みコマンドに従ってキャッシュメモリ６０からライトデータを読み出して、これを物理ボリューム９００に書き込む。
【００２２】
一方、あるチャネルアダプタ５０がホストコンピュータ３０から受け取ったデータ入出力コマンドが読み出しコマンドであった場合に、チャネルアダプタ５０はその読み出しコマンドを共有メモリ７０に書き込むとともに、読み出し対象となるデータがキャッシュメモリ６０に存在しているか否かをチェックする。ここで、読み出し対象となるデータがキャッシュメモリ６０に存在している場合には、チャネルアダプタ５０はそのデータをキャッシュメモリ６０から読み取ってホストコンピュータ３０に送信する。読み出し対象となるデータがキャッシュメモリ６０に存在していない場合には、共有メモリ７０に読み出しコマンドが書き込まれたことを検出したディスクアダプタ８０は読み出し対象となるデータを物理ボリューム９００から読み出してこれをキャッシュメモリ６０に書き込むとともに、その旨を共有メモリ７０に書き込む。チャネルアダプタ５０は共有メモリ７０を監視することにより、読み出し対象となるデータがキャッシュメモリ６０に書き込まれたことを検出すると、そのデータをキャッシュメモリ６０から読み出してホストコンピュータ３０に送信する。
【００２３】
ディスクアダプタ８０はチャネルアダプタ５０から送信された論理アドレス指定によるデータアクセス要求を、物理アドレス指定によるデータアクセス要求に変換し、物理ボリューム９００へのデータの書き込み又は読み取りを行う。物理ボリューム９００がＲＡＩＤによって構成されている場合には、ディスクアダプタ８０はＲＡＩＤ構成に従ったデータのアクセスを行う。この他にも、ディスクアダプタ８０は物理ボリューム９００に記憶されたデータの複製管理、バックアップ制御、災害発生時のデータ消失防止（ディザスタリカバリ）等を目的としてレプリケーション制御又はリモートコピー制御等を行う。
【００２４】
接続部９０は、チャネルアダプタ５０、キャッシュメモリ６０、共有メモリ７０、ディスクアダプタ８０を相互に接続する。接続部９０は例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスで構成される。これにより、チャネルアダプタ５０相互間の通信パフォーマンスが大幅に向上するとともに、高速なファイル共有機能や高速フェイルオーバー等が可能になる。尚、キャッシュメモリ６０と共有メモリ７０とは上述のように異なる記憶資源によって構成してもよく、或いはキャッシュメモリ６０の記憶領域の一部を共有メモリ７０として割り当ててもよい。
【００２５】
第１の記憶システム１０は単一又は複数の物理ボリューム９００を備えており、ホストコンピュータ３０からアクセス可能な記憶領域を提供する。第１の記憶システム１０が提供する記憶領域には、論理ボリューム（ＯＲＧ１）１１０と、論理ボリューム（ＯＲＧ２）１２０とが単一又は複数の物理ボリューム９００の記憶空間上に定義されている。物理ボリューム９００として、例えば、ハードディスク装置やフレキシブルディスク装置等を用いることができる。物理ボリューム９００のストレージ構成として、例えば、複数のディスクドライブによりＲＡＩＤ方式のディスクアレイを構成してもよい。また、物理ボリューム９００と記憶システム１０は直接接続してもよく、或いはネットワークを介して接続してもよい。更に、物理ボリューム９００は第１の記憶システム１０と一体的に構成してもよい。
【００２６】
以下の説明においては、論理ボリューム（ＯＲＧ１）１１０に複製対象となるオリジナルデータが格納されるものとする。また、複製対象のデータと複製データとの区別を容易にするために、複製対象のデータが蓄積される論理ボリュームを正論理ボリューム（Ｐ−ＶＯＬ）と称し、複製データが蓄積される論理ボリュームを副論理ボリューム（Ｓ−ＶＯＬ）と称する。また、一対の正論理ボリュームと副論理ボリュームをペアと称する。
【００２７】
次に、図１と図３を参照しながら第２の記憶システム１５の構成について説明する。図中、図２に示した符号と同一符号の装置等は同一の装置等を示すものとして、詳細な説明を省略する。第２の記憶システム１５は単一又は複数の物理ボリューム９００を備えており、論理ボリューム（Ｄａｔａ１）１５０と、論理ボリューム（ＪＮＬ１）１５１とが単一又は複数の物理ボリューム９００の記憶空間上に定義されている。論理ボリューム（Ｄａｔａ１）１５０は第２の記憶システム１５が提供する記憶領域を第１の記憶システム１０から指定させるために仮想的に設定された、実ボリュームを持たない仮想なものである。論理ボリューム（Ｄａｔａ１）１５０は論理ボリューム（ＯＲＧ１）１１０の複製を保持する。つまり、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１）１５０との関係においては、前者が正論理ボリュームであり、後者が副論理ボリュームである。
【００２８】
次に、図１と図４を参照しながら第３の記憶システム２０の構成について説明する。図中、図２に示した符号と同一符号の装置等は同一の装置等を示すものとして、詳細な説明を省略する。第３の記憶システム２０は単一又は複数の物理ボリューム９００を備えており、論理ボリューム（Ｄａｔａ２）２００と、論理ボリューム（ＪＮＬ２）２０１とが単一又は複数の物理ボリューム９００の記憶空間上に定義されている。論理ボリューム（Ｄａｔａ２）２００は論理ボリューム（Ｄａｔａ１）１５０の複製を保持する。つまり、論理ボリューム（Ｄａｔａ１）１５０と論理ボリューム（Ｄａｔａ２）２００との関係においては、前者が正論理ボリュームであり、後者が副論理ボリュームである。
【００２９】
図５はボリューム情報テーブル４００を示している。ボリューム情報テーブル４００には、各論理ボリュームの物理ボリューム９００上の物理アドレスを定義付けるとともに、各論理ボリュームの容量やフォーマット形式等の属性情報、及びペア情報が定義されている。ここでは説明の便宜上、論理ボリューム番号がリモートコピーシステム１００内の各論理ボリュームにユニークなものとして取り扱うが、論理ボリューム番号を各記憶システム単位でユニークに定義し、記憶システム自体の識別子と併せて識別するように設定してもよい。
【００３０】
同テーブル４００において、論理ボリューム番号１は論理ボリューム（ＯＲＧ１）１１０を、論理ボリューム番号２は論理ボリューム（Ｄａｔａ１）１５０を、論理ボリューム番号３は論理ボリューム（ＪＮＬ１）１５１を、論理ボリューム番号４は論理ボリューム（ＪＮＬ２）２０１を、論理ボリューム番号５は論理ボリューム（Ｄａｔａ２）２００を、論理ボリューム番号６は論理ボリューム（ＯＲＧ２）１２０を、それぞれ示している。論理ボリューム（ＯＲＧ１）１１０は論理ボリューム（Ｄａｔａ１）１５０との間にペア番号１のペアが定義されている。また、論理ボリューム（ＯＲＧ２）１２０は未使用として定義されている。
【００３１】
また、同テーブル４００において、ボリューム状態の「正」は正論理ボリュームとして正常に動作できる状態にあることを示し、「副」は副論理ボリュームとして正常に動作できる状態にあることを示している。「正常」とあるのは、他の論理ボリュームとはペアが設定されていないが、正常に動作できる状態にあることを示している。また、ディスクアダプタ８０は同テーブル４００に定義された物理アドレスに基づいて、キャッシュメモリ６０から読み出したデータの物理ボリューム９００への書き込みを制御し、或いは物理ボリューム９００から読み出したデータのキャッシュメモリ６０への書き込みを制御する。
【００３２】
図６はペア設定情報テーブル５００を示している。同テーブル５００は、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１）１５０との間にペア番号１のペア関係を定義している。更に、論理ボリューム（Ｄａｔａ１）１５０と論理ボリューム（Ｄａｔａ２）２００との間にペア番号２のペア関係を定義している。同テーブル５００の仮想化「ＯＮ」は、ペア関係にある一対の論理ボリュームのうち副論理ボリュームが仮想化されていることを示している。ペア関係が設定されると、ペアのステータスに応じて、正論理ボリュームに生じた書き込み処理が、副論理ボリュームに対する各種の処理を行う契機となる。例えば、ペアのステータスには、ペア状態、サスペンド状態、初期コピー状態等がある。ペアのステータスがペア状態の場合には、正論理ボリュームに書き込まれたデータが副論理ボリュームにも書き込まれるという処理がなされる。ペアのステータスがサスペンド状態の場合には、正論理ボリュームに書き込まれたデータが副論理ボリュームには反映されず、両者の同期がとれていた時点を基準に正論理ボリュームに対してどのようなデータ更新が行われたかを示す差分情報ビットマップが生成される。
【００３３】
次に、ジャーナルデータについて説明する。説明の便宜上、データが更新される更新元の論理ボリュームをソース論理ボリュームと称し、更新元論理ボリュームのコピーを保持するボリュームをコピー論理ボリュームと称する。ジャーナルデータは、あるソース論理ボリュームにデータ更新があった場合に、少なくとも更新データそのものと、その更新がソース論理ボリュームのどの位置にあったのかを示す更新情報（例えば、ソース論理ボリュームの論理アドレス）とからなる。ソース論理ボリュームにデータ更新があった場合にジャーナルデータを保持しておけば、そのジャーナルデータからソース論理ボリュームを再現できる。
【００３４】
つまり、ある時点でソース論理ボリュームとコピー論理ボリュームが同期化しており、両者のデータイメージが同一であることを前提として、その時点以降のソース論理ボリュームに対するデータの更新がある都度、ジャーナルデータを保持しておけば、そのジャーナルデータを用いて、その時点以降のソース論理ボリュームのデータイメージをコピー論理ボリュームに再現可能である。ジャーナルデータを用いれば、ソース論理ボリュームと同じ容量を必要とすることなく、ソース論理ボリュームのデータイメージをコピー論理ボリュームに再現させることができる。ジャーナルデータを保持する論理ボリュームをジャーナル論理ボリュームと称する。上述した論理ボリューム（ＪＮＬ１）１５１と論理ボリューム（ＪＮＬ２）２０１はジャーナル論理ボリュームである。
【００３５】
図７はジャーナルグループ設定情報テーブル６００を示している。ジャーナルグループとは、論理ボリューム同士のペアのことをいい、ある論理ボリュームと、その論理ボリュームにデータ更新があった場合に、そのライトコマンドをライト先アドレス等の更新情報６２０とライトデータ６１０に区分して蓄積するジャーナルボリュームからなる。同テーブル６００に示す例では、論理ボリューム（Ｄａｔａ１）１５０と論理ボリューム（ＪＮＬ１）１５１とがジャーナルグループ番号１で定義されるジャーナルグループであり、論理ボリューム（Ｄａｔａ２）２００と論理ボリューム（ＪＮＬ２）２０１とがジャーナルグループ番号２で定義されるジャーナルグループである。ジャーナルグループはジャーナルペアと称される場合もある。
【００３６】
図８を参照しながら、ジャーナルデータについて詳述する。同図は、あるソース論理ボリュームのアドレス７００番地から１０００番地までのデータが更新データ６３０によって更新された状態を示している。この論理ボリュームと対をなすジャーナル論理ボリュームは更新情報領域９０００とライトデータ領域９１００を含む。更新データ６３０はライトデータ６１０としてライトデータ領域９１００に書き込まれる。つまり、更新データ６３０とライトデータ６１０は同一データである。また、ソース論理ボリュームのどの位置が更新されたかというような、更新に係わる情報（例えば、ソース論理ボリュームのアドレス７００番地から１０００番地までのデータが更新されたことを示す情報）は更新情報６２０として、更新情報領域９０００に書き込まれる。
【００３７】
ジャーナルデータ９５０はライトデータ６１０と更新情報６２０とからなる。更新情報領域９０００は先頭位置から更新情報６２０を更新された順に格納していき、更新情報６２０の格納位置が更新情報領域９０００の終端に達すると、再び、更新情報領域９０００の先頭位置から更新情報６２０を格納していく。同様に、ライトデータ領域９１００は先頭位置からライトデータ６１０を更新された順に格納していき、ライトデータ６１０の格納位置がライトデータ領域９１００の終端に達すると、再び、ライトデータ領域９１００の先頭位置からライトデータ６１０を格納していく。更新情報領域９０００とライトデータ領域９１００との容量比は固定値でもよく、或いは適宜変更できるように設定してもよい。
【００３８】
ここで、図１を参照しながら、第１の記憶システム１０の論理ボリューム（ＯＲＧ１）１１０へのデータ更新を、第２の記憶システム１５を介して、第３の記憶システム２０の論理ボリューム（Ｄａｔａ２）２００に反映する動作について説明する。ホストコンピュータ３０が第１の記憶システム１０へのライトアクセスを実行するとき、そのライトコマンドはターゲットチャネルアダプタ（ＣＨＡ１）５０に対して発行される。ターゲットチャネルアダプタ（ＣＨＡ１）５０はライトコマンドを受信すると、ライトデータ６１０をキャッシュメモリ６０の記憶領域６０−１Ａに書き込む。
【００３９】
このライトデータ６１０はディスクアダプタ８０によって読み出されて論理ボリューム（ＯＲＧ１）１１０に書き込まれる。一方、チャネルアダプタ（ＣＨＡ２）５０はイニシエータとして機能し、記憶領域６０−１Ａに書き込まれたライトデータ６１０を論理ボリューム（Ｄａｔａ１）１５０に書き込むことを指示するライトコマンドを、通信回線３３０を介して第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ３）５０に対して発行する。ターゲットチャネルアダプタ（ＣＨＡ３）５０はライトコマンドを受信すると、ライトデータ６１０をキャッシュメモリ６０の記憶領域６０−２Ａに書き込む。
【００４０】
更に、ターゲットチャネルアダプタ（ＣＨＡ３）５０はジャーナルデータ９５０をキャッシュメモリ６０の記憶領域６０−２Ｂに書き込む。記憶領域６０−２ＢはＦＩＦＯ（First In First Out）構造を備えており、ジャーナルデータ９５０を時系列的に順次蓄積する。このジャーナルデータはディスクアダプタ（ＤＫＡ４）８０によって論理ボリューム（ＪＮＬ１）１５１に書き込まれる。尚、本実施例では、論理ボリューム（Ｄａｔａ１）１５０は仮想ボリュームであるので、ディスクアダプタ（ＤＫＡ３）８０による論理ボリューム（Ｄａｔａ１）１５０への書き込み処理は行われない。
【００４１】
第３の記憶システム２０のチャネルアダプタ（ＣＨＡ５）５０はイニシエータとして機能し、ジャーナルデータの転送を要求するジャーナルリードコマンドを、通信回線３４０を介して第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ４）５０に対して適宜のタイミングで発行する（ＰＵＬＬ方式）。ジャーナルリードコマンドを受信したターゲットチャネルアダプタ（ＣＨＡ４）５０は記憶領域６０−２Ｂに蓄積されたジャーナルデータ９５０を古い順から読み出し、チャネルアダプタ（ＣＨＡ５）５０に転送する。記憶領域６０−２Ｂからのジャーナルデータの読み出し位置はポインタによって指定される。
【００４２】
チャネルアダプタ（ＣＨＡ５）５０はジャーナルデータを受信すると、これをキャッシュメモリ６０の記憶領域６０−３Ｂに書き込む。記憶領域６０−３ＢはＦＩＦＯ構造を備えており、ジャーナルデータ９５０を時系列的に順次蓄積する。このジャーナルデータはディスクアダプタ（ＤＫＡ５）８０によって論理ボリューム（ＪＮＬ２）２０１に書き込まれる。ディスクアダプタ（ＤＫＡ５）８０は論理ボリューム（ＪＮＬ２）２０１に書き込まれたジャーナルデータを読み出し、ライトデータ６１０をキャッシュメモリ６０の記憶領域６０−３Ａに書き込む。記憶領域６０−３Ａに書き込まれたライトデータ６１０はディスクアダプタ（ＤＫＡ５）８０によって読み出されて、論理ボリューム（Ｄａｔａ２）２００に書き込まれる。ジャーナルデータ９５０を論理ボリューム（ＪＮＬ２）２０１に保持しておくことにより、例えば、第２の記憶システム２０の負荷が大きい場合に、ジャーナルデータ９５０の正規化処理を行わず、第２の記憶システム２０の負荷が小さくなってからジャーナルデータ９５０の正規化処理を行ってもよい。また、第２の記憶システム１５から第３の記憶システム２０にジャーナルデータ９５０を転送する上で、第２の記憶システム１５から自発的に第３の記憶システム２０にジャーナルデータ９５０を転送してもよい（ＰＵＳＨ方式）。
【００４３】
尚、上述の説明において、第１の記憶システム１０と第２の記憶システム１５との間は同期転送によるリモートコピー（同期コピー）が行われており、第２の記憶システム１５と第３の記憶システム２０との間は非同期転送によるリモートコピー（非同期コピー）が行われる。同期コピーとは、本実施例で例えると、ホストコンピュータ３０から第１の記憶システム１０にデータ更新要求があったときに、当該データを第１の記憶システム１０から第２の記憶システム１５に転送し、第２の記憶システム１５でのデータ更新完了をもって第１の記憶システム１０のデータ更新完了を保証する処理手順をいう。
【００４４】
第１の記憶システム１０と第２の記憶システム１５との間で同期コピーを行うことで、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１）１５０のデータイメージは巨視的に視ると常に一致している。巨視的に視て常に一致とは、データの同期転送を行っている間は、データの転送時間や各記憶システム１０，１５の処理時間の単位（μsec）で一致してない状態があり得るが、データ更新処理完了の時点ではデータイメージは常に一致していることを示している。
【００４５】
これに対し、非同期コピーとは、本実施例で例えると、第１の記憶システム１０から第２の記憶システム１５に対するデータ更新要求の延長では、当該データを第３の記憶システム２０には転送せず、第２の記憶システム１５でのデータ更新完了後、非同期に第３の記憶システム２０にデータを転送する処理手順をいう。つまり、第２の記憶システム１５は自己のスケジュールに応じて（例えば、処理負荷が小さいときを選択して）、第１の記憶システム１５からのデータ更新要求とは非同期に、第３の記憶システム２０にデータを転送することをいう。第２の記憶システム１５と第３の記憶システム２０との間で非同期コピーを行うことで、論理ボリューム（Ｄａｔａ２）２００のデータイメージは、過去のある時点における論理ボリューム（Ｄａｔａ１）１５０のデータイメージに一致しているが、現時点における論理ボリューム（Ｄａｔａ１）１５０のデータイメージと一致しているとは限らない。
【００４６】
図９はリモートコピーシステム１００の初期設定手順を記述したフローチャートである。これから述べる各設定は、ユーザがホストコンピュータ３０，４０又は保守端末のＧＵＩ（Graphical User Interface）を通じて所望の入力操作を行うことで設定することができる。まず、ユーザは、第３の記憶システム２０のジャーナルグループを設定する（Ｓ１０１）。具体的には、ジャーナルグループ設定情報テーブル６００に、論理ボリューム（Ｄａｔａ２）２００と論理ボリューム（ＪＮＬ２）２０１とから成るジャーナルグループを設定する。
【００４７】
次に、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ２）２００との間にペア関係を設定し、初期コピーを行う（Ｓ１０２）。これにより、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ２）２００に同一のデータイメージを持たせることができる。そして、初期コピー完了後に、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ２）２００とのペア関係は解除される（Ｓ１０３）。次に、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１）１５０との間にペア関係を設定し（Ｓ１０４）、論理ボリューム（Ｄａｔａ１）１５０と論理ボリューム（ＪＮＬ１）１５１とをジャーナルグループとして登録する（Ｓ１０５）。この初期設定処理後、第２の記憶システム２０におけるライトデータの正規化処理が可能になる。
【００４８】
図１０は第２の記憶システム１５が行うアクセス受信処理の説明図である。図１に示した符号と同一符号の装置等は同一の装置等を示すものとして詳細な説明は省略する。第１の記憶システム１０はホストコンピュータ３０からライトコマンドを受信すると、指定された論理ボリューム（ＯＲＧ１）１１０にデータの書き込みを行う（処理Ａ１）。ここで、第１の記憶システム１０の論理ボリューム（ＯＲＧ１）１１０は、第２の記憶システム１５の論理ボリューム（Ｄａｔａ１）１５０とペアになっているので、第１の記憶システム１０は、ホストコンピュータ３０から受信したライトコマンドと同一のライトコマンドを第２の記憶システム１５に発行する（処理Ａ２）。
【００４９】
このライトコマンドはターゲットチャネルアダプタ（ＣＨＡ３）５０によって受信される。ターゲットチャネルアダプタ（ＣＨＡ３）５０は、ライトコマンドによって指定された書き込み先の論理ボリューム（Ｄａｔａ１）１５０が実ボリュームであるか、或いは仮想ボリュームであるかの判定を、ペア設定情報テーブル５００を参照して行う。本実施例では論理ボリューム（Ｄａｔａ１）１５０は仮想ボリュームとして設定されているので、ターゲットチャネルアダプタ（ＣＨＡ３）５０は、論理ボリューム（Ｄａｔａ１）１５０が実体を有さないものとして取り扱い、ライトデータ６１０を論理ボリューム（ＪＮＬ１）１５１のライトデータ領域９１００に対応するキャッシュメモリ６０上の記憶領域に書き込み（処理Ａ３）、更に、そのライトコマンドが論理ボリューム（Ｄａｔａ１）１５０のどの位置に対して行われるものであったかを更新情報６２０として、論理ボリューム（ＪＮＬ１）１５１の更新情報領域９０００に対応するキャッシュメモリ６０上の記憶領域に書き込む（処理Ａ４）。ディスクアダプタ（ＤＫＡ４）８０は、適宜のタイミングで、キャッシュメモリ６０上のライトデータ６１０、及び更新情報６２０を論理ボリューム（ＪＮＬ１）１５１に書き込む（処理Ａ５，Ａ６）。
【００５０】
図１１は第２の記憶システム１５が行うアクセス受信処理のフローチャートである。同フローチャートを参照しながら、第２の記憶システム１５が行うアクセス受信処理について再述する。第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ３）５０はアクセスコマンドを受信すると、そのアクセスコマンドがライトコマンドであるか否かを判定する（Ｓ２０１）。アクセスコマンドがライトコマンドではなく（Ｓ２０１；ＮＯ）、ジャーナルリードコマンドである場合には（Ｓ２０２；ＹＥＳ）、ジャーナルリードコマンド受信処理を行う（Ｓ２０３）。ジャーナルリードコマンド受信処理の詳細については後述する。一方、アクセスコマンドがライトコマンドである場合には（Ｓ２０１；ＹＥＳ）、書き込み先のボリュームが正常であるか否かを判定する（Ｓ２０４）。ボリューム状態が正常でない場合には（Ｓ２０４；ＮＯ）、保守端末又は上位装置（第１の記憶装置１０）に異常報告を行って（Ｓ２０５）、処理を終了する。
【００５１】
一方、ボリューム状態が正常である場合には（Ｓ２０４；ＹＥＳ）、書き込み先の論理ボリュームが仮想ボリュームであるか否かを、ペア設定情報テーブル５００を参照して判定する（Ｓ２０６）。書き込み先の論理ボリュームが仮想ボリュームである場合には（Ｓ２０６；ＹＥＳ）、論理ボリューム（ＪＮＬ１）１５１へのジャーナルデータ９５０の書き込み処理を行い（Ｓ２０７）、上位装置に終了報告を通知する（Ｓ２０８）。一方、書き込み先の論理ボリュームが仮想ボリュームでない場合には（Ｓ２０６；ＮＯ）、キャッシュメモリ６０の記憶領域上にデータを書き込んで（Ｓ２０９）、上位装置に終了報告を通知する（Ｓ２１０）。次に、書き込み先の論理ボリュームがジャーナルグループを有する論理ボリュームであるか否かを判定する（Ｓ２１１）。書き込み先の論理ボリュームがジャーナルグループを有する場合には（Ｓ２１１；ＹＥＳ）、論理ボリューム（ＪＮＬ１）１５１へのジャーナルデータ９５０の書き込み処理を行う（Ｓ２１２）。このように、論理ボリューム（Ｄａｔａ１）１５０を仮想化することによって、副論理ボリュームに実体的な記憶容量を持たすことなく、論理ボリューム（ＯＲＧ１）１１０のリモートコピーの相手先として定義させることができる。
【００５２】
図１２はジャーナルリードコマンドを受信した第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ４）５０の動作説明図である。第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ４）５０は第３の記憶システム２０からジャーナルリードコマンドを受信する（処理Ｂ１）。論理ボリューム（ＪＮＬ１）１５１に未送信のジャーナルデータ９５０が存在する場合、ターゲットチャネルアダプタ（ＣＨＡ４）５０はディスクアダプタ（ＤＫＡ４）８０に対して、更新情報６２０とライトデータ６１０をキャッシュメモリ６０に書き込むことを命令する（処理Ｂ２）。ディスクアダプタ（ＤＫＡ４）８０は論理ボリューム（ＪＮＬ１）１５１から更新情報６２０とライトデータ６１０を読み込み、これらをキャッシュメモリ６０に書き込んで、ターゲットチャネルアダプタ（ＣＨＡ４）５０にリード終了を通知する（処理Ｂ３，Ｂ４）。ターゲットチャネルアダプタ（ＣＨＡ４）５０はリード終了の通知を受けて、更新情報６２０とライトデータ６１０をキャッシュメモリ６０から読み取って、第３の記憶システム２０に送信する（処理Ｂ５）。これにより、ジャーナルデータ９５０が書き込まれていたキャッシュメモリ６０は開放される。
【００５３】
尚、上述したジャーナルリードコマンド受信処理では、論理ボリューム（ＪＮＬ１）１５１から読み出したジャーナルデータ９５０をキャッシュメモリ６０に書き込む例を示したが、キャッシュメモリ６０上にジャーナルデータ９５０が既に存在する場合は、論理ボリューム（ＪＮＬ１）１５１からのジャーナルデータ９５０の読み取りは不要である。また、第２の記憶システム１５は単一のジャーナルデータ９５０を第３の記憶システム２０に個別に送信していたが、複数のジャーナルデータ９５０を同時に第３の記憶システム２０に送信してもよい。
【００５４】
また、ジャーナルリードコマンドによって送信されるジャーナルデータ数は、第３の記憶システム２０がジャーナルリードコマンド内に指定してもよく、又はジャーナルグループ登録の際にユーザが第２の記憶システム１５或いは第３の記憶システム２０内に設定してもよい。また、第２の記憶システム１５から第３の記憶システム２０に転送されるジャーナルデータ数は通信回線３４０の転送能力又は伝送負荷に応じて動的に変更してもよい。また、第２の記憶システム１５によるジャーナルデータ９５０の記憶領域の開放処理は、第３の記憶システムがジャーナルリードコマンド内に開放してよい更新番号を含ませることにより、第２の記憶システム１５はその指示に従ってジャーナルデータ９５０の記憶領域を開放してもよい。
【００５５】
図１３はジャーナルリードコマンドを受信した第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ４）５０の動作を記述したフローチャートである。第２の記憶システム１５のターゲットチャネルアダプタ（ＣＨＡ４）５０は第３の記憶システム２０からアクセスコマンドを受信すると、そのアクセスコマンドがジャーナルリードコマンドである場合に、ジャーナルグループ設定情報テーブル６００を参照して、ジャーナルグループ状態が正常であるか否かを確認する（Ｓ３０１）。ジャーナルグループ状態に障害が生じており、正常でない場合には（Ｓ３０１；ＮＯ）、第３の記憶システム２０にジャーナルグループ状態を通知し、処理を終了する。
【００５６】
ジャーナルグループ状態が正常である場合は（Ｓ３０１；ＹＥＳ）、ターゲットチャネルアダプタ（ＣＨＡ４）５０は論理ボリューム（ＪＮＬ１）１５１の状態が正常であるか否かを判定する（Ｓ３０２）。論理ボリューム（ＪＮＬ１）１５１の状態が正常でない場合には（Ｓ３０２；ＮＯ）、ターゲットチャネルアダプタ（ＣＨＡ４）５０はジャーナルグループ設定情報テーブル６００のペア状態を「障害」に変更し、第３の記憶システム２０にその旨通知して処理を終了する。一方、論理ボリューム（ＪＮＬ１）１５１の状態が正常である場合には（Ｓ３０２；ＹＥＳ）、ターゲットチャネルアダプタ（ＣＨＡ４）５０は未送信のジャーナルデータ９５０が論理ボリューム（ＪＮＬ１）１５１に存在しているか否かを判定する（Ｓ３０３）。
【００５７】
未送信のジャーナルデータ９５０が論理ボリューム（ＪＮＬ１）１５１に存在していれば（Ｓ３０３；ＹＥＳ）、ターゲットチャネルアダプタ（ＣＨＡ４）５０は第３の記憶システム２０にジャーナルデータ９５０を送信する（Ｓ３０４）。ジャーナルデータ９５０を受信した第３の記憶システム２０は正規化処理を行うことで、論理ボリューム（ＯＲＧ１）１１０に対するデータ更新を論理ボリューム（Ｄａｔａ２）２００に反映させることができる。一方、未送信のジャーナルデータ９５０が論理ボリューム（ＪＮＬ１）１５１に存在していなければ（Ｓ３０３；ＮＯ）、ターゲットチャネルアダプタ（ＣＨＡ４）５０は第３の記憶システム２０にその旨を通知する（Ｓ３０５）。その後、ジャーナルデータ９５０が書き込まれていた論理ボリューム（ＪＮＬ１）１５１の記憶領域を開放する（Ｓ３０６）。即ち、第１の記憶システム１０と第３の記憶システム２０においてデータを二重化した後、第２の記憶システム１５はデータを開放することができる。これにより、第２の記憶システム１５の記憶資源を新たな用途に使用することができる。
【００５８】
図１４は第３の記憶システム２０のチャネルアダプタ（ＣＨＡ６）５０がジャーナルデータ９５０を利用して論理ボリューム（Ｄａｔａ２）２００のデータ更新を行う動作説明図である。論理ボリューム（ＪＮＬ２）２０１に正規化対象のジャーナルデータ９５０が存在する場合、最も古いジャーナルデータ９５０に対して正規化処理を行う。ジャーナルデータ９５０に更新番号を連続的に付与し、更新番号が最小（最古）のジャーナルデータ９５０から正規化処理を行えばよい。チャネルアダプタ（ＣＨＡ６）５０はキャッシュメモリ６０を確保し、ディスクアダプタ（ＤＫＡ５）８０に対して、更新情報最古のものから更新情報６２０とライトデータ６１０を読み出すように指示を送る（処理Ｃ１）。
【００５９】
ディスクアダプタ（ＤＫＡ５）８０は論理ボリューム（ＪＮＬ２）２０１から読み出した更新情報６２０とライトデータ６１０をキャッシュメモリ６０に書き込む（処理Ｃ２，Ｃ３）。そして、ディスクアダプタ（ＤＫＡ５）８０はキャッシュメモリ６０からライトデータ６１０を読み取って、論理ボリューム（Ｄａｔａ２）２００に書き込む（処理Ｃ４）。その後、論理ボリューム（Ｄａｔａ２）２００のデータ更新に反映された更新情報６２０とライトデータ６１０とが存在していた記憶領域は開放される。尚、正規化処理はディスクアダプタ（ＤＫＡ５）８０が行ってもよい。
【００６０】
尚、未送信のジャーナルデータ量がある閾値を超えた場合に、ホストコンピュータ３０から第１の記憶システム１０へのアクセスを制限し（例えば、第１の記憶システム１０のレスポンスを遅くする）、第２の記憶システム１５から第３の記憶システム２０へのジャーナルデータ９５０の転送を優先するのが好ましい。
【００６１】
図１５は第３の記憶システム２０のチャネルアダプタ（ＣＨＡ６）５０による正規化処理の動作手順を記述したフローチャートである。チャネルアダプタ（ＣＨＡ６）５０は正規化対象となるジャーナルデータ９５０が論理ボリューム（ＪＮＬ２）２０１に存在するか否かを判定する（Ｓ４０１）。正規化対象となるジャーナルデータ９５０が存在しない場合（Ｓ４０１；ＮＯ）、正規化処理は一旦終了し、一定時間経過後に正規化処理を再開する（Ｓ４０１）。正規化対象となるジャーナルデータ９５０が存在する場合（Ｓ４０１；ＹＥＳ）、更新情報６２０とライトデータ６１０を論理ボリューム（ＪＮＬ２）２０１からキャッシュメモリ６０に読み出すように、ディスクアダプタ（ＤＫＡ５）８０に指示を送る（Ｓ４０２）。次いで、ディスクアダプタ（ＤＫＡ５）８０はキャッシュメモリ６０に読み出されたライトデータ６１０を論理ボリューム（Ｄａｔａ２）２００に書き込むことにより、論理ボリューム（Ｄａｔａ２）２００のデータ更新を行う（Ｓ４０３）。次いで、論理ボリューム（Ｄａｔａ２）２００のデータ更新に反映された更新情報６２０とライトデータ６１０とが存在していた記憶領域は開放される（Ｓ４０４）。チャネルアダプタ（ＣＨＡ６）５０は引き続き正規化処理を行うか否かを判定し（Ｓ４０５）、処理を継続する場合には（Ｓ４０５；ＹＥＳ）、Ｓ４０１に戻る。
【００６２】
図１６はフェイルオーバー発生時に第１の記憶システム１０と第３の記憶システム２０のデータイメージを同期化させるための処理手順を記述したフローチャートである。例えば、第１の記憶システム１０に障害が発生すると、第１の記憶システム１０はアプリケーションプログラム３１からの入出力要求に応答できなくなる。アプリケーションプログラム３１はリトライを試みるが、入出力要求に失敗し、ダウンする。すると、クラスタソフトウエア３２は障害の発生を検出し、交替系の起動指示を送る。交替系のクラスタソフトウエア４２は、現用系のクラスタソフトウエア３２から起動指示を受信すると、リソースグループ４１を起動させる（Ｓ５０１）。これにより、起動スクリプトが実行される（Ｓ５０２）。起動スクリプトが実行されると、まず、正副切り替え処理（horctakeoverコマンド）が実行される（Ｓ５０３）。
【００６３】
正副切り替え処理においては、正論理ボリュームとしての論理ボリューム（Ｄａｔａ１）１５０と、副論理ボリュームとしての論理ボリューム（Ｄａｔａ２）２００との間のペアのステータスが一時的にサスペンド状態にされる。この状態下において、未送信のジャーナルデータ９５０が第２の記憶システム１５から第３の記憶システム２０に送信され、論理ボリューム（Ｄａｔａ２）２００のデータ更新が行われる。未送信のジャーナルデータ９５０が第２の記憶システム１５にどの程度残存しているかは、第３の記憶システム２０から第２の記憶システム１５に問い合わせを行うことで把握できる。より詳細には、記憶装置管理ソフトウエア４１ｂが第３の記憶システム２０のコマンドデバイス６０−３Ｃにコマンド（ジャーナルデータ９５０の残存量を第２の記憶システム１５に問い合せるためのコマンド）を書き込むと、チャネルアダプタ（ＣＨＡ５）５０が第２の記憶システム１５に問い合わせを行う。
【００６４】
このようにして、論理ボリューム（Ｄａｔａ１）１５０のデータイメージと、論理ボリューム（Ｄａｔａ２）２００のデータイメージが同期化されると（Ｐ−Ｓ同期化）、論理ボリューム（Ｄａｔａ２）２００を正論理ボリュームに切り替え、論理ボリューム（Ｄａｔａ１）１５０を副論理ボリュームに切り替える処理が行われる（Ｐ−Ｓスワップ処理）。通常、副論理ボリュームに対するライトアクセスは禁止されているので、論理ボリューム（Ｄａｔａ２）２００を正論理ボリュームに切り替えることによって、ホストコンピュータ４０から論理ボリューム（Ｄａｔａ２）２００へのライトアクセスが可能になる。このようにして、正副切り替え処理が完了すると、記憶装置管理ソフトウエア４１ｂはファイルシステムが破損してないか否かをチェックし（Ｓ５０４）、ファイルシステムが正常であることを確認して、ファイルシステムをマウントし（Ｓ５０５）、アプリケーションプログラム４１ａを起動させる（Ｓ５０６）。これによりホストコンピュータ４０は第３の記憶システム２０を使用して、フェイルオーバー時にホストコンピュータ３０が行っていた処理を引き継ぐことができる。
【００６５】
次に、第３の記憶システム２０に障害が発生した場合のデータの二重化について説明する。本実施例では、第２の記憶システム１５の論理ボリューム（Ｄａｔａ１）１５０は実ボリュームを持たない仮想ボリュームである。第３の記憶システム２０に障害が発生すると、実データは第１の記憶システム１０のみに残されるので、データの二重化を行って耐障害性を高めるように構成するのが好ましい。第３の記憶システム２０に障害が発生すると、図１７に示すように、第２の記憶システム１５は自動的に、或いはユーザの手動設定によって、物理ボリューム９００上に論理ボリューム（Ｄａｔａ１'）をアサインする。論理ボリューム（Ｄａｔａ１'）は第２の記憶システム１５が提供する記憶領域を第１の記憶システム１０から指定させるためのアドレスを有する実ボリュームである。論理ボリューム（Ｄａｔａ１'）と論理ボリューム（ＯＲＧ１）１１０を同期化させるために、まず、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１）１５０との間のペアのステータスをサスペンド状態にし、論理ボリューム（ＯＲＧ１）１１０から論理ボリューム（Ｄａｔａ１'）にイニシャルコピーを行う。
【００６６】
この間にホストコンピュータ３０から論理ボリューム（ＯＲＧ１）１１０に対して加えられたデータ更新は差分情報ビットマップとして蓄積される。論理ボリューム（ＯＲＧ１）１１０から論理ボリューム（Ｄａｔａ１'）へのイニシャルコピーが完了したならば、差分情報ビットマップに基づいて論理ボリューム（Ｄａｔａ１'）のデータ更新を行う。このようにして、論理ボリューム（ＯＲＧ１）１１０と論理ボリューム（Ｄａｔａ１'）とが同期化すると、両者のペアのステータスをペア状態に設定する。すると、論理ボリューム（ＯＲＧ１）１１０に加えられたデータ更新は論理ボリューム（Ｄａｔａ１'）にも反映され、データの二重化を行うことができる。
【００６７】
尚、第３の記憶システム２０に障害が発生したか否かを判定する上で、例えば、第１の記憶システム１０にあるコマンドデバイス６０−１Ｃと、第２の記憶システム１５にあるコマンドデバイス６０−２Ｃを用いることができる。ホストコンピュータ３０は、第２の記憶システム１５が正常に作動しているか否かを第１の記憶システム１０に確認させるためのコマンドをコマンドデバイス６０−１Ｃに書き込む。このコマンドデバイス６０−１Ｃへの書き込みを受けて、第１の記憶システム１０は第２の記憶システム１５が正常に作動しているか否かを、相互通信を通じて確認する。また、第１の記憶システム１０は、第３の記憶システム２０が正常に作動しているか否かを第２の記憶システム１５に確認させるためのコマンドをコマンドデバイス６０−２Ｃに書き込む。このコマンドデバイス６０−２Ｃへの書き込みを受けて、第２の記憶システム１５は第３の記憶システム２０が正常に作動しているか否かを、相互通信を通じて確認する。
【００６８】
次に、既述のコマンドデバイスについてさらに説明する。第１乃至第３の前記コマンドデバイス６０−１Ｃ，６０−２Ｃ,６０−３Ｃには、既述の論理ボリュームのペア設定やペア解除などの制御コマンドも設定される。制御コマンドは、第１のサイトのホスト計算機３０によって作成され、第２のサイトのコマンドデバイス６０−２Ｃと、第３のサイトのコマンドデバイス６０−３Ｃに対して発行される。このコマンドデバイスが通信されるルートには二通りあり、第１がＩＰネットワーク『通信回線』３１０を介して、第１のサイトのホストコンピュータ３０から第２のサイトに接続するホストコンピュータ４０Ａ(ホストコンピュータ３０とほぼ同じ構成を有する。)へ至るルートと、ホストコンピュータ３０から第３のサイトのホストコンピュータ４０へ至るルートである。第２が、ホストコンピュータ３０から、第１の記憶制御装置１０の記憶領域に形成された仮想ボリュームと記憶制御装置間の直接接続３３０を介して、制御コマンドをコマンドデバイス６０−２Ｃ及び／または６０−３Ｃに発行するルートである。
【００６９】
図１７は、コマンドデバイスの通信ルートを示した、記憶制御システムのブロック図である。矢印１０００はＩＰリンクを介したホスト装置間の制御コマンドの通信を示す。矢印１００２は、第１の記憶制御装置１０に形成された仮想ボリューム６００を介する制御コマンドの通信を示す。この仮想ボリュームに第２の記憶制御装置Ｂのコマンドデバイス６０−２Ｃが割り当てられている。なお、仮想ボリュームには既述のようにデータボリュームがマッピングされたものと、ここで説明した、コマンドデバイスがマッピングされた仮想ボリュームがある。後者の仮想ボリュームを前者の仮想ボリュームから区別するために、以後「リモートコマンドデイス」と便宜上称することがある。なお、再度説明するが、仮想ボリュームとは、ホストコンピュータによって認識される論理ボリュームであるが、記憶の実体は記憶制御装置に無く、この記憶制御装置に接続する外部記憶装置に存在する。ホストコンピュータ３０が仮想ボリューム６００にアクセスすると、ホストコンピュータは、第２サイトの記憶制御装置１５の論理デバイス（コマンドデバイ）６０−２Ｃを認識する。
【００７０】
ホストコンピュータ３０は、第２サイトの記憶制御装置１５のコマンドデバイスに対する制御コマンドを形成し、これを仮想ボリューム６００に対して発行すると(矢印１００２)、第１の記憶制御装置と第２の記憶制御装置とを直結する通信ルート３３０を介して、制御コマンドが第２の記憶制御装置のコマンドデバイス６０−２Ｃに設定される。第２の記憶制御装置１５のＣＨＡのコントローラは、この制御コマンドを処理して、ボリューム１５０が第３の記憶制御装置２０のボリューム２００とペアを形成するように、共有メモリ内の制御テーブルを更新する。仮想ボリュームに対して発行された制御コマンドはキャッシュメモリを介して、記憶制御装置間で伝達される。
【００７１】
ホストコンピュータが制御コマンドを第２の記憶制御装置のコマンドデバイスに設定するルートには既述のとおり二通りあるが、通常はどちらかのルートを主とし、他方を交代パスとすれば良い。図１７に基づいて、一例を述べると、ホストコンピュータ３０と同４０間ルート３１０を主とし、仮想ボリューム６００を介するルートを第２のルートを交代パスとする。その逆であっても良い。ホストコンピュータ間の通信異常を、ホストコンピュータ３０が検出すると、ホストコンピュータは制御コマンドを、仮想ボリューム６００を介してコマンドデバイス６０−２Ｃに送信する。なお、制御コマンドには論理ボリュームのペア設定の他、論理ボリュームのペア解除、或いはペア状態の参照などがある。
【００７２】
図１８は、第１の記憶制御装置１０の共有メモリ７０に設定される、コマンドデバイスマッピングテーブルを示したものである。ＬＵＮの覧には、記憶制御装置の仮想ボリュームのＬＵＮが設定される。装置の覧には、コマンドデバイスがどの記憶制御装置のものであるかが登録される。コマンドデバイスＬＵＮの覧には、コマンドデバイスの実体を表す論理デバイスのＬＵＮが設定されている。コマンドデバイスＬＵＮには、第２サイトのコマンドデバイス及び／又は第３の記憶制御装置のコマンドデバイスのＬＵＮが登録される。図１８においては、第１の記憶制御装置の仮想ボリュームＬＵＮ番号０に第２の記憶制御装置１５のコマンドデバイス（６０−２Ｃ）ＬＵＮ番号０が対応していること、第１の記憶制御装置の仮想ボリュームＬＵＮ番号１に第３の記憶制御装置２０のコマンドデバイス（６０−３Ｃ）ＬＵＮ番号１が対応している事を示している。
【００７３】
さらに、共有メモリには、仮想ボリュームが外部記憶制御装置のコマンドデバイスにマッピングされた、「リモートコマンドデバイス」であることを、ホストコンピュータに認識させるための、リモートコマンドデバイス管理テーブルも登録されている。このテーブルには、リモートコマンドデバイス(仮想ボリューム)のＬＵＮ番号と、これにマッピングされる、外部コマンドデバイスの属性とが記憶されている。図１９はこのテーブルの概要を示したものである。コマンドデバイスの属性情報は、コマンドデバイスへのパス情報とコマンドデバイスの記憶容量を含み、ビット情報とは、仮想ボリュームがコマンドデバイスへマッピングされたリモートコマンドデバイスであるか否かを示す第１の属性ビット、コマンドデバイスの属性情報として必要な情報がテーブルに取り込まれたか否かを示す第２の属性ビットを含んでいる。また、パス情報は、各通信ポートに固有な識別情報（ＷＷＮ）と、コマンドデバイスを識別するためのＬＵＮ番号とを含んで構成できる。
【００７４】
図２０は、コマンドデバイスを第１の記憶制御装置１０の仮想ボリュームにマッピングする際に必要な、前記マッピングテーブルを作成するための、第１の記憶制御装置のチャネルアダプタのコントローラが実行する、タイミングフローである。まず、図１に示すように、第１の記憶制御装置１０は、チャネルアダプタＣＨＡ２のイニシエータポートを介して、第２の記憶制御装置１５及び／又は第３の記憶制御装置２０にログインする（Ｓ１）。外部の記憶制御装置が、第１の記憶制御装置１０のログインに対して応答を返すことにより、ログインが完了する（Ｓ２）。次に、第１の記憶制御装置１０は、例えば、SCSI（Small Computer System Interface）規格で定められている照会コマンド（inquiryコマンド）を、外部の記憶制御装置に送信し、外部の記憶制御装置の有する論理デバイスの詳細について応答を求める（Ｓ３）。    
【００７５】
照会コマンドは、照会先の装置の種類及び構成を明らかにするために用いられるもので、照会先装置の有する階層を透過して外部装置の論理デバイスの物理的構造を把握することができる。照会コマンドを使用することにより、第１の記憶制御装置１００は、例えば、装置名、デバイスタイプ、製造番号（プロダクトＩＤ）、論理ボリューム番号、各種バージョン情報、ベンダＩＤ等の情報を外部の記憶制御装置から取得できる（Ｓ４）。外部の記憶制御装置４０は、問合せされた情報を第１の記憶制御装置に送信し、応答する（Ｓ５）。次いで、第１の記憶制御装置１０は、仮想ボリュームを各コマンドデバイスに自動的に割り当て、既述のリモートコマンド制御情報テーブルと前記マッピングテーブルに必要な情報を登録して（Ｓ６）、さらにリモートコマンド制御情報テーブルに対して、仮想ボリュームがリモートコマンドデバイスとして登録されたことを示すビットをオンする。これにより、ホストコンピュータ３０は仮想ボリュームにアクセスすることによって、外部記憶制御装置のコマンドデバイスを特定して認識することができ、記憶制御装置間のバスを介して、外部記憶制御装置を制御するための制御コマンドで当該外部記憶制御装置を制御することができる。第１の記憶制御装置１０がリモートコマンドデバイス６００(図１７)にマッピングされた外部の記憶制御装置のコマンドデバイス６０−２Ｃとの間でデータの通信を行う場合は必要なアドレス変換を行う。
【００７６】
次に、ホストコンピュータが外部の記憶制御装置のコマンドデバイスへリモートコマンドデバイス経由で制御コマンドを発行する際のフローチャートを図１７に基づいて説明する。図２１はこのフローチャートを示したものである。ホストコンピュータ３０が第１の記憶装置１０に照会コマンドを発行する（２１００）と、チャネルアダプタのコントローラは、共有メモリ７０（図２）の既述のリモートコマンドコマンドデバイス属性情報テーブル(図１９)の内容を読み込み、これをホストコンピュータに返信する(２１０２)。
【００７７】
ホストコンピュータは、リモートコマンドデバイス６００を外部の記憶制御装置１５のコマンドデバイス６０−２Ｃとして認識するための必要な情報を自身の記憶領域に登録する(２１０４)。これによって、ホストコンピュータはユーザ（例えば、ホストコンピュータに接続するクライアント装置）に対して、外部記憶制御装置のコマンドデバイスへのアクセスを可能にする。ホストコンピュータ３０がコマンドデバイス６０−２Ｃを特定して、このコマンドデバイスに制御コマンドを発行すると、第１の記憶制御装置１０は、前記リモートコマンドデバイス制御情報テーブルを参照して、ホストコンピュータを仮想ボリューム６００にアクセスさせ（２１０６）、制御コマンドを仮想ボリュームに対応するキャッシュメモリの所定領域に書き込む。
【００７８】
第１の記憶制御装置１０は、前記マッピング情報テーブルを参照して、リモートコマンドデバイスに発行された制御コマンドを対応するコマンドデバイス６０−２Ｃに、記憶制御装置同士の筐体間通信を介して送信する(２１０８)。次いで、外部記憶制御装置１５のＣＨＡはコマンドデバイス６０−２Ｃに設定された制御コマンドを処理し、結果を第１の記憶制御装置を経由してホスト装置に送信して一連の動作を終了する。なお、第１の記憶制御装置は、前記リモードコマンド制御情報テーブルやマッピングテーブルの更新を適宜行なうことにより、最新の情報を共有メモリに登録することができる。ホストコンピュータは、前記照会コマンドの発行を適時行なうことによって、この最新情報を得ることができる。また、第１の記憶制御装置がホストコンピュータからコマンドが発行されると、第１の記憶制御装置のＣＨＡは、前記外部記憶制御装置のコマンドデバイスに対するコマンドか否かを判定し、これが肯定された場合に図２１のフローチャートが実行される。データボリュームに対するＩＯコマンドの場合は、通常のＩＯ処理を実行する。また、リモートコマンドデバイスが登録されていない場合や記憶制御装置の筐体間通信に障害がある場合には、制御コマンドを目的とするコマンドデバイスに発行できないこと、第１の記憶制御装置がホストコンピュータに通知する。この場合、ホストコンピュータ３０は、ホストコンピュータ間のＩＰリンクを経由して、制御コマンドを外部記憶制御装置に接続するホストコンピュータに送信することができる。また、ホストコンピュータ同士の通信が障害を受けている場合に、図２１のフローチャートが実行されても良い。
【００７９】
図２２は、図１７の変形例であって、ホストコンピュータが第１の記憶制御装置１０のみに接続されている例である。ホストコンピュータ−ホストコンピュータ間で制御コマンドを通信できないが、ホストコンピュータ３０から第２の記憶制御装置１５へ、第１の記憶制御装置のリモートコマンドデバイス６００を経由することにより可能となる(矢印１００４)。この例では、ホスト装置−ホスト装置間のＩＰリンクをホスト装置間のバスに統合することにより、ＩＰリンクを削減することができる。
【００８０】
図２３は、さらに他の変形例であって、第１の記憶制御装置１０のホストコンピュータ３０と第２の記憶制御装置１５のホストコンピュータ４０Ａとの間にＩＰリンクが形成され、第１の記憶制御装置のホストコンピュータ３０と第３の記憶制御装置２０のホストコンピュータ４０との間にもＩＰリンクが形成されている。さらに、第１の記憶制御装置１０と第２の記憶制御装置１５間はバス接続Ｂ１され、第２の記憶制御装置１５と第３の記憶制御装置間２０もバス接続Ｂ２されている。第１の記憶制御装置１０には、第２の記憶制御装置のコマンドデバイスＡに対応する仮想ボリュームＡ’と、第３の記憶制御装置のコマンドデバイスＢに対する仮想ボリュームＢ’が形成されている。第３の記憶制御装置には第２記憶制御装置のコマンドデバイスＢにマッピングされた仮想ボリュームＢ’が形成されている。
【００８１】
今、図２４に示すように、第１の記憶制御装置１０と第２の記憶制御装置間１５での、ホスト装置間のＩＰリンク及びバス接続の通信が損なわれた場合(２４０)、第２の記憶制御装置１５のＳＶｏｌをサスペンドする必要があるが、第１の記憶制御装置１０及びホストコンピュータ３０から第２の記憶制御装置へ直接サスベンドのためのコマンド発行できない。この場合、図２５に示されるように、ホストコンピュータ３０は第１の記憶制御装置の仮想ボリュームＢ’を介して第３の記憶制御装置２０のコマンドデバイスＢにサスペンドコマンドを発行する。又は、ホストコンピュータ３０−ホストコンピュータ４０間のＩＰリンクを介して、コマンドデバイスＢにサスペンドコマンドを発行することができる。第３の記憶制御装置２０は、コマンドデバイスＢの制御コマンドを、仮想ボリュームＡを介して、第２の記憶制御装置１５のコマンドデバイスＡに対して発行する。第３の記憶制御装置２０は、自身の論理ボリュームを正論理ボリューム（ＰＶｏｌ）として第２の記憶制御装置１５の副ボリューム（ＳＶｏｌ）との間でペアを形成して、リモートコピーシステムの運用を再開する(図２６)。
【００８２】
図２７はさらに他の形態を示すものであり、第２の記憶制御装置１５に第１の記憶制御装置１０の仮想ボリュームＡ´´にマッピングされた仮想ボリュームＡ´を備えているシステムである。第２の記憶制御装置１５の仮想ボリュームＡ´は第３の記憶制御装置２０のコマンドデバイスＡにマッピングされている。したがって、ホストコンピュータはこれら仮想ボリュームを介して第３の記憶制御装置２０のコマンドデバイスＡにデータボリューム２７０と２７２とのペア操作要求などの制御コマンドを発行できる。このように仮想ボリュームをカスケード接続することにより、２つ以上離れた外部記憶制御装置にホスト装置からの要求を発行することができる。
【００８３】
図２８は、複数の記憶制御装置同士Ａ−ＤをＮ×Ｍ（２×２）にバス接続することにより、ホスト装置を設ける事無く、或る記憶制御装置からから所望の記憶制御装置に制御コマンドを発行できる例を示したものである。各記憶制御装置はそれぞれコマンドデバイスと、他の全ての記憶制御装置のコマンドデバイスにそれぞれマッピングされた仮想ボリュームを複数備えている。「´」がアルファベットに付されている符号が、このアルファベット（コマンドデバイス）に対する仮想ボリュームである。
【００８４】
たとえば、記憶制御装置Ａには、この装置のコマンドデバイスと他の全ての記憶制御装置毎のコマンドデバイスに対応する仮想ボリュームが構成されている。今装置Ａを装置Ｃに対するホスト装置とすると、装置ＡのＣＨＡのコントローラは、コマンドデバイスＡに制御コマンドを登録する。ＣＨＡはコマンドデバイスＡの制御コマンドを仮想ボリュームＣ´を介して装置ＣのコマンドデバイスＣに発行することができる。装置Ｃは第１の記憶制御装置として、第２の記憶制御装置である装置ＢのコマンドデバイスＢ又は装置ＤのコマンドデバイスＤに、仮想ボリュームＢ´又はＤ´を介して、制御コマンドを発行することができる。
【００８５】
次に、第１の記憶制御装置１０に接続するホストコンピュータ３０がユーザに、外部記憶制御装置のコマンドデバイスの存在を表示する実施形態について説明する。図２９は記憶制御システムのブロック図であり、図３０はホストコンピュータ又はホストコンピュータに接続するクライアントの画面表示例である。図２９においてＡは、第１の記憶制御装置１０のコマンドデバイス、Ｂａは第２の記憶制御装置のコマンドデバイス、Ｂｂは第２の記憶制御装置１５のデータボリュームである。Ｃは第３の記憶制御装置２０のコマンドデバイスである。Ｃ´は第１の記憶制御装置１０内に設定された、コマンドデバイスＣにマッピングされた仮想ボリュームであり、Ｂａ´はコマンドデバイスＢａにマッピングされた仮想ボリュームであり、Ｂｂ´はデータボリュームＢｂにマッピングされた仮想ボリュームである。第１の記憶制御装置１０の各ボリュームにはＬＵＮ番号（ＬＵ♯）が設定されている。
【００８６】
図３０は、ホストコンピュータ３０がアプリケーションプログラムによって、から、自ホスト配下に接続されているボリュームを確認するコマンド（たとえばOSがHP-UXであればioscanというコマンド）を実行した場合に、ホストコンピュータ３０に表示されるイメージ図である。ボリュームＡは、自ホスト内のデータボリュームであるので、ＬＵ♯０(ボリュームＡ)には、第１の記憶制御装置のシリアル番号が表示される。ＬＵ♯１(ボリュームＢａ´)は、第２の記憶制御装置１５のコマンドデバイスＢａにマッピングされた仮想ボリュームであるので、第２の記憶制御装置１０のシリアル番号が表示される。ＬＵ♯２についても同様に、第３の記憶制御装置１５のシリアル番号が表示される。ＬＵ♯３は、第２の記憶制御装置１０のデータボリュームＢｂに対する仮想ボリュームＢｂ´であるので、ホストコンピュータ３０は、この仮想ボリュームを自ホストのボリュームとして認識する。
【００８７】
以上説明した実施形態では、主として３基の記憶制御装置を接続したリモートコピーシステムに関するものあったが、２基の記憶制御装置同士を接続するシステムについても本発明を適用することができる。
【図面の簡単な説明】
【００８８】
【図１】実施例１に係わるリモートコピーシステムの構成図である。
【図２】第１の記憶システムの構成図である。
【図３】第２の記憶システムの構成図である。
【図４】第３の記憶システムの構成図である。
【図５】ボリューム情報テーブルの説明図である。
【図６】ペア設定情報テーブルの説明図である。
【図７】ジャーナルグループ設定情報テーブルの説明図である。
【図８】ジャーナルデータの説明図である。
【図９】初期化設定処理のフローチャートである。
【図１０】アクセスコマンド受信処理の説明図である。
【図１１】アクセスコマンド受信処理のフローチャートである。
【図１２】ジャーナルリードコマンド受信処理の説明図である。
【図１３】ジャーナルリードコマンド受信処理のフローチャートである。
【図１４】正規化処理の説明図である。
【図１５】正規化処理のフローチャートである。
【図１６】第２の記憶システムの構成図である。
【図１７】第１の記憶制御装置の仮想ボリュームに第２の記憶制御装置のコマンドデバイスをマッピングさせた状態を説明する、記憶制御システムのブロック図である。
【図１８】仮想ボリュームとコマンドデバイスとのマッピングテーブルである。
【図１９】コマンドデバイスにマッピングされ仮想ボリュームの制御情報テーブルの一例である。
【図２０】テーブル作成のための、第１の記憶制御装置の動作を示すタイミングフローである。
【図２１】ホストコンピュータが制御コマンドを発行する際のフローチャートである。
【図２２】図１７の変形例を示すブロック図である。
【図２３】さらに他の変形例を示すブロック図である。
【図２４】図２３のシステムにおける制御コマンドの送信処理動作の一過程を示すブロック図である。
【図２５】さらに他の過程を示すブロック図である。
【図２６】さらに他の過程を示すブロック図である。
【図２７】図１７の変形例を示すブロック図である。
【図２８】さらに他の変形例を示すブロック図である。
【図２９】第１の記憶制御装置に接続するホストコンピュータがユーザに、外部記憶制御装置のコマンドデバイスの存在を表示する実施形態に係るブロック図である。
【図３０】ホストコンピュータ又はホストコンピュータに接続するクライアントの画面表示例である。
【符号の説明】
【００８９】
１０…第１の記憶システム  １５…第２の記憶システム  ２０…第３の記憶システム  ３０…ホストコンピュータ  ４０…ホストコンピュータ  １００…リモートコピーシステム
【図１】
0005111754.tif 000002
【図２】
0005111754.tif 000003
【図３】
0005111754.tif 000004
【図４】
0005111754.tif 000005
【図５】
0005111754.tif 000006
【図６】
0005111754.tif 000007
【図７】
0005111754.tif 000008
【図８】
0005111754.tif 000009
【図９】
0005111754.tif 000010
【図１０】
0005111754.tif 000011
【図１１】
0005111754.tif 000012
【図１２】
0005111754.tif 000013
【図１３】
0005111754.tif 000014
【図１４】
0005111754.tif 000015
【図１５】
0005111754.tif 000016
【図１６】
0005111754.tif 000017
【図１７】
0005111754.tif 000018
【図１８】
0005111754.tif 000019
【図１９】
0005111754.tif 000020
【図２０】
0005111754.tif 000021
【図２１】
0005111754.tif 000022
【図２２】
0005111754.tif 000023
【図２３】
0005111754.tif 000024
【図２４】
0005111754.tif 000025
【図２５】
0005111754.tif 000026
【図２６】
0005111754.tif 000027
【図２７】
0005111754.tif 000028
【図２８】
0005111754.tif 000029
【図２９】
0005111754.tif 000030
【図３０】
0005111754.tif 000031