(57)【要約】【課題】  データの二重化に用いられるリモートコピーにおいてデータの転送中に、ソフトウエアのバグや悪意な第三者のデータ改ざんや破壊等により発生する不整合データの書き込みが行われた場合、両サイトのデータが一致しなくなるだけでなく、その原因特定やシステム修復には多くの時間や費用を要する。【解決手段】  プライマリサイトとリモートサイトに接続する各装置にＤＢＭＳ検証手段を備えたマネージャを配し、マネージャが各装置で受信したデータをＤＢＭＳ等のアプリケーション単位でログ順次番号を用いてチェックサム計算方法を変化させ、検証で発見した不整合データの把握と管理者に指定された処理の自動実行を行う。【選択図】  図１
2005250720.tif 000002
【特許請求の範囲】
【請求項１】
第一の計算機及び前記第一の計算機に接続される第一のストレージ装置を有する第一のサイトと
前記第一のサイトとネットワークを介して接続され、第二の計算機及び前記第二の計算機に接続される第二のストレージ装置を有する第二のサイトを有し、
前記第一の計算機は、
該第一の計算機で実行されるアプリケーションが認識できる単位でデータに検証情報を付加し、
前記単位に関する情報、前記データ及び前記検証情報を前記第一のストレージ装置へ送信し、
前記第一のストレージ装置は、
受信した前記単位に関する情報及び前記検証情報を用いて受信した前記データの整合性を確認し、
前記単位に関する情報、前記検証情報及び前記データを前記第二のストレージ装置へ送信し、
前記第二のストレージ装置は、
前記単位に関する情報及び前記検証情報を用いて、前記第一のストレージ装置から受信したデータの整合性を確認することを特徴とするシステム。
【請求項２】
前記アプリケーションはデータベースマネジメントシステムであり、
前記単位とは、前記データベースマネジメントシステムが使用するページのサイズであることを特徴とする請求項１記載のシステム。
【請求項３】
前記第二のストレージ装置は、
前記第一のストレージ装置から受信したデータが不整合である場合には、前記第一のストレージ装置へデータの再送を要求することを特徴とする請求項２記載のシステム。
【請求項４】
前記第一のストレージ装置は、
前記第一の計算機から受信したデータに関する処理の完了を前記第一の計算機へ送信する前に前記データ、前記単位及び前記検証情報を前記第二のストレージ装置へ送信し、
前記第二のストレージ装置は前記第一のストレージ装置へ受信したデータの処理の完了報告を送信し、
前記第一のストレージ装置は、
前記完了報告の受信後に、前記第一の計算機に処理の完了を報告することを特徴とする請求項３記載のシステム。
【請求項５】
前記第一のストレージ装置は、
前記第一の計算機から受信したデータに関する処理の完了を前記第一の計算機へ送信した後に前記データ、前記単位及び前記検証情報を前記第二のストレージ装置へ送信し、
前記第二のストレージ装置は前記第一のストレージ装置へ受信したデータの処理の完了報告を送信することを特徴とする請求項３記載のシステム。
【請求項６】
前記検証情報とは、前記単位ごとのデータに基づいて計算されるチェックサムであり、また、扱うデータがログデータの場合に前記単位ごとのログデータの一意な識別番号を用いて計算を行うチェックサムであることを特徴とする請求項４又は５記載のシステム。
【請求項７】
前記第一の計算機は、
前記検証情報の作成に必要な検証設定情報を前記第一のストレージ装置に送信し、
前記第一のストレージ装置は、
受信した前記検証設定情報を用いて該第一のストレージ装置が有する検証設定情報を更新し、受信した前記検証設定情報を前記第二のストレージ装置に送信し、
前記第二のストレージ装置は、
受信した前記検証設定情報を用いて該第二のストレージ装置が有する検証設定情報を更新し、受信した前記検証設定情報を前記第二の計算機に送信することを特徴とする請求項６記載のシステム。
【請求項８】
前記第一のサイトは更に管理用の計算機を有し、
前記第一の計算機は前記検証設定情報を前記管理用の計算機から受信することを特徴とする請求項７記載のシステム。
【請求項９】
前記第一の計算機は、
前記第一のストレージ装置又は前記第二のストレージ装置のうち、前記データの不整合を発見したストレージ装置から前記データの不整合を示す情報を収集することを特徴とする請求項８記載のシステム。
【請求項１０】
前記第一の計算機、前記第一のストレージ装置及び前記第二のストレージ装置のうち前記データの不整合を検出した装置は、該装置が有する情報に基づいて所定の処理を実行することを特徴とする請求項９記載のシステム。
【請求項１１】
前記データの不整合を発見した装置が前記第一のストレージ装置であった場合、前記所定の処理とは、前記第一のストレージ装置が前記第一の計算機に前記データの再送を依頼する処理であることを特徴とする請求項１０記載のシステム。
【請求項１２】
前記データの不整合を発見した装置が前記第二のストレージ装置であった場合、前記所定の処理とは、前記第二のストレージ装置が前記第一のストレージ装置に前記データの再送を依頼する処理であることを特徴とする請求項１０記載のシステム。
【請求項１３】
他のストレージ装置と接続されるストレージ装置であって、
制御部及び複数のディスク装置を有し、
前記制御部は、
前記他のストレージ装置から受信するデータ単位の情報、前記他のストレージから送信されるデータ及び前記データに付随する検証情報を用いて前記データの整合性を検証し、前記検証結果が正しい場合には、前記データを前記複数のディスク装置から構成される記憶領域に格納することを特徴とするストレージ装置。
【請求項１４】
前記他のストレージ装置は計算機と接続され、
前記データ単位の情報とは、前記計算機で実行されるプログラムが取りあつかうデータの単位であることを特徴とする請求項１３記載のストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムで用いられるストレージ装置、特にデータベースシステムに関し、特に遠隔地にあるストレージ装置にデータベースシステムで管理されるデータを複製する技術に関する。
【背景技術】
【０００２】
（１）リモートコピーについて
計算機システムが有するストレージ装置に格納されたデータの災害等による喪失を避けるため、ストレージ装置に格納されたデータを遠隔地にある他のストレージ装置に複製（以下「二重化」とも言う）する技術としてリモートコピーがある。リモートコピーでは、システムの使用者が、計算機（以下「正ホスト計算機」とも称する）に接続されているストレージ装置（以下、「正ストレージ装置」）と、正ストレージ装置とネットワークを介して接続されているストレージ装置（以下、「副ストレージ装置」）に、リモートコピーの対象となる記憶領域を設定する。
【０００３】
そして、正ストレージ装置のリモートコピー用の記憶領域と副ストレージ装置のリモートコピー用の記憶領域のデータの内容が一致するように、正ストレージ装置が副ストレージ装置へデータを転送し続ける。
【０００４】
（２）データベースマネジメントシステム（以下、ＤＢＭＳ）におけるデータ検証技術
一方、計算機システムで実行されるプログラムであるＤＢＭＳにおいて、計算機システムが有するストレージ装置に計算機からデータが書き込まれる途中でデータの不整合（破壊）が生じる場合がある。このデータ不整合を避けるため、ＤＢＭＳで使用されるデータファイルに対して発生する不整合データのストレージ装置への書き込みを未然に防ぐ技術が非特許文献１に開示されている。この技術は、ＤＢＭＳデータの検証技術（以下、「ＤＢＭＳ検証」）と呼ばれる。
【０００５】
ＤＢＭＳ検証では、ＤＢＭＳが使用するデータファイルに書き込まれるデータ単位でストレージ装置がデータの検証、具体的にはチェックサムの計算を行い、計算機からストレージ装置に至るまでの中間層（例えばボリュームマネージャ、入出力（以下「Ｉ／Ｏ」）ドライバ、オペレーティングシステム、ホストバスアダプタ等のプログラムやハードウエア）におけるデータの不整合を発見する。
【０００６】
（３）送信されるデータの暗号化
さらに、リモートコピー中のデータを暗号化する暗号鍵を正ストレージ装置と副ストレージ装置で共有する技術が特許文献１に開示されている。この共有する暗号鍵を用いて転送するデータを暗号化することで、リモートコピーするデータの一貫性を保証し、情報漏洩の危険性を低減できる。
【０００７】
【特許文献１】欧州特許第１，１５８，７４３号公報
【非特許文献１】Hitachi Database Validator Technology and the Hitachi Freedom Storage Lightning 9900V Series Systems, A Technical White Paper, David Broom and Rasha Hasaneen, WHP-127-01, January 2003（以下のページから2003年10月7日取得。（http://www.hds.com/pdf/wp127_01_dbvalidator.pdf）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
リモートコピーでは、互いのストレージ装置を遠隔地に設置するためにネットワークを介して正副ストレージ装置相互が接続される。この場合、何らかの原因で正ストレージ装置と副ストレージ装置との間でのリモートコピー中にソフトウエアのバグなど、データの不整合が発生する場合がある。この不整合データの発見方法として、送信されるデータ単位に冗長符号の一種であるＣｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（以下、ＣＲＣ）を付加し、送信されるデータ単位でデータの不整合を発見する方法がある。
【０００９】
しかし、送信されるデータのデータ単位と、ＤＢＭＳ等のアプリケーションプログラムで扱われるデータのデータ単位が異なるため、転送データ単位では不整合が無くてもアプリケーションでのデータ単位ではデータの不整合が発生する場合がある。この場合、システムの管理者等は、アプリケーションレベルでの不整合データを送信データ単位のＣＲＣの確認だけでは発見することが出来ない。ここで、正ストレージ装置と副ストレージ装置が有する記憶媒体（ディスク装置等）にアプリケーションレベルの不整合データの書き込みが行われた場合、その原因の特定やシステムの修復には多くの労力と時間を要するという問題がある。また、この不整合データの発見方法として上述したようなＤＢＭＳ検証があるが、従来技術においてはリモートコピー先となる副ストレージ装置でアプリケーションレベルのデータの整合性の検証を行っても、エラーや不整合データが発生した場合の対応が取れていない。
【００１０】
またリモートコピーは、ネットワークを介してデータの送受信を行うため、介されるネットワークにおいて、悪意な第三者によるデータの改ざんや破壊という脅威がある。
【００１１】
本発明の目的は、リモートコピー中のデータのアプリケーションレベルでの不整合を発見して修正するストレージ装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明においては、正サイト及び副サイトを有するシステムにおいて以下の構成を有するものとする。即ち、正サイトと副サイトの計算機とストレージ装置との間で、管理者が登録する設定情報の交換を行う。正ストレージ装置と副ストレージ装置は他の装置、特に他のストレージ装置と計算機から受信するデータの整合性を、交換される設定情報及びデータの単位の情報に基づいて確認する。この確認には、送信されるデータごとに確認を行う情報の計算方式を変化させることにより、計算方式の解読を防止する。より具体的には、本システムでは、計算機とストレージ装置間のデータ転送中又は正ストレージ装置と副ストレージ装置間のデータ転送中に発生したデータの不整合を発見し、管理者が登録する不整合なデータに対する処理の実行及び管理者に対する提示とを行う。
【００１３】
尚、データの単位とは、正サイトの計算機で実行されるアプリケーションが認識できるデータの単位であるという態様も考えられる。
【００１４】
又、不整合なデータを発見した装置は、他の装置に対してデータの再送を要求するという態様も考えられる。
【００１５】
更に、計算機とストレージ装置間のデータ転送は、同期又は非同期の通信方式であるという態様も考えられる。また、正副ストレージ装置間のデータ転送は、同期又は非同期のリモートコピーであるという態様も考えられる。
【発明の効果】
【００１６】
本発明により、リモートコピーで発生したデータの不整合を、不整合の発生時に管理者が把握することが可能であり、システムの復旧と対応処理が容易になる。また、不整合データを発見する際に用いる情報を、送信するデータごとに変化させることで、第三者のデータ改ざんを防止することが可能である。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら本発明の実施形態を説明する。尚これにより本発明が限定されるものではない。
図１は、本実施形態に係るシステムの構成例を示す図である。システムは、任意の場所に設置された計算機システム（以下「プライマリサイト」又は「正サイト」）１００１及びプライマリサイト１００１とは異なる場所に設置された計算機システム（以下「セカンダリサイト」又は「副サイト」）１００２を有する。プライマリサイト１００１とセカンダリサイト１００２は、ネットワーク１０４１を介して相互に接続されている。
【００１８】
プライマリサイト１００１は、計算機（以下「正ホスト計算機」）１０１０、ストレージ装置（以下「正ストレージ装置」）１０３０及び保守端末１０２０を有する。正ホスト計算機１０１０と正ストレージ装置１０３０はネットワーク１０４３を介して相互に接続されている。又、正ストレージ装置１０３０と保守端末１０２０はネットワーク１０４２を介して相互に接続されている。尚、ネットワーク１０４２とネットワーク１０４３は同一のネットワークでも良い。
【００１９】
セカンダリサイト１００２は、計算機（以下「副ホスト計算機」）１０５０、ストレージ装置（以下「副ストレージ装置」）１０７０及び保守端末１０６０を有する。正ホスト計算機１０５０と正ストレージ装置１０７０はネットワーク１０４５を介して相互に接続されている。又、正ストレージ装置１０７０と保守端末１０６０はネットワーク１０４４を介して相互に接続されている。尚、ネットワーク１０４４とネットワーク１０４５は同一のネットワークでも良い。
【００２０】
尚、プライマリサイト１００１やセカンダリサイト１００２は、計算機を利用するアプリケーションサーバや、計算機とストレージ装置間に複数の仮想化スイッチ装置を有する構成も考えられる。
【００２１】
プライマリサイト１００１の正ストレージ装置１０３０とセカンダリサイト１００２の副ストレージ装置１０７０は、ネットワーク１０４１を介して相互に接続される。尚、図１では正ホスト計算機１０１０及び副ホスト計算機１０５０はネットワーク１０４１とは直接接続されていない構成となっているが、これらの計算機がネットワーク１０４１と接続されていても良い。この場合、ネットワーク１０４１がネットワーク１０４３及び１０４５を兼ねることとなる。以下、正ホスト計算機装置１０１０、正ストレージ装置１０３０、副ホスト計算機１０５０及び副ストレージ装置１０７０がネットワーク１０４１を介して相互に接続されているものとして説明を行う。
尚、以下で説明するプログラムは、ネットワークあるいはフロッピー（登録商標）ディスク等の可搬記憶媒体を用いて各装置の記憶媒体へインストールされる。
【００２２】
以下、システムが有する各装置の内部構成について説明する。
図２は正ホスト計算機１０１０の構成例を示す図である。尚、本実施形態では正ホスト計算機１０１０と副ホスト計算機１０６０は同様の構成と仮定するため、ここでは正ホスト計算機１０１０のみ説明する。正ホスト計算機１０１０は、プロセッサ２００２、主記憶２００６、ネットワーク１０４３に接続されるデータインターフェース（以下「Ｉ／Ｆ」）１０４３、ホスト計算機検証マネージャ１０１２によって後述する処理が実行された場合にその実行結果を出力する出力装置２００３及び設定テーブル２００７のデータ等を格納する記憶装置である実トポロジリポジトリ２００４を有する。これらの各部位は内部バス等の通信路２００５を介して相互に接続されている。
【００２３】
主記憶２００６には、ＤＢＭＳ１０１１及びホスト計算機検証マネージャ１０１２の各プログラム並びに設定テーブル２００７及び暗号テーブル２００８が格納されている。
ＤＢＭＳ１０１１は、正ストレージ装置１０３０をデータベースとして使用する際にプロセッサ２００２で実行されるプログラムである。ホスト計算機検証マネージャ１０１２は、ＤＢＭＳ１０１１から正ストレージ装置１０３０に送信されるデータに検証情報（例えばチェックサム）を付加したり、正ホスト計算機１０１０から正ストレージ装置１０３０へ送信するデータを暗号化するための情報を管理する際にプロセッサ２００２が実行するプログラムである。また図には記載していないが、正ストレージ装置１０３０が有する記憶領域（以下「ボリューム」）を管理するためにプロセッサ２００２が実行するプログラムであるボリュームマネージャが主記憶２００６に格納されていても良い。
【００２４】
設定テーブルには、システムの管理者が正ホスト計算機１０１０が有する入力装置から入力したＤＢＭＳ検証に必要な情報が格納される。暗号テーブル２００８には、ホスト計算機検証マネージャ１０１２がデータを暗号化する際に使用する鍵情報が格納されている。
【００２５】
図３は、正ストレージ装置１０３０の構成例を示す図である。本実施形態では正ストレージ装置１０３０と副ストレージ装置１０７０は同様の構成と仮定するので、以下正ストレージ装置１０３０のみ説明する。
正ストレージ装置１０３０は、正ストレージ装置１０３０内の制御を行うコントローラ３００４、メモリ３００５、ネットワーク１０４３と接続される１つ以上のデータＩ／Ｆ３００２、ネットワーク１０４２に接続される保守管理Ｉ／Ｆ３００１、ネットワーク１０４１と接続され、リモートコピーに使用されるリモートコピーＩ／Ｆ３００３、正ホスト計算機１０１０に提供する記憶領域である１つ以上の物理ディスク１０３３を有する。又、これらの部位は、コントローラ３００４を介して相互に接続される。
【００２６】
メモリ３００５には、正ストレージ装置検証マネージャ１０３１及びリモートコピーマネージャ１０３２の各プログラム並びに設定テーブル３００６、検証エラー設定情報テーブル３００７及び暗号テーブル３００８の情報が格納されている。
正ストレージ装置検証マネージャ１０３１は、正ホスト計算機１０１０から受信したデータの検証を行い、エラーが発生した場合に正ストレージ装置１０３０と正ホスト計算機１０１０間におけるエラー情報のデータ送受信を行い、又、正ホスト計算機１０１０から受信するデータの復号化と副ストレージ装置１０７０へ送信するデータの暗号化をするためにコントローラ３００４が実行するプログラムである。
【００２７】
リモートコピーマネージャ１０３２は、プライマリサイト１００１の正ストレージ装置１０３０とリモートサイト１００２の副ストレージ装置１０７０との間でリモートコピーを行い、またエラーが発生した場合のエラー情報を正ストレージ装置と副ストレージ装置間のデータ送受信を行う際にコントローラ３００４が実行するプログラムである。
設定テーブル３００６には、設定テーブル２００７に格納された情報の複製が格納される。検証エラー設定情報テーブル３００７には、正ストレージ装置１０３０が検証を行ってデータ不整合を発見した場合に正ストレージ装置１０３０が実行すべき処理について管理者が入力した設定情報が格納される。
【００２８】
暗号テーブル３００８には、正ストレージ装置１０３０がデータの暗号化と復号化をする際に使用する鍵情報が格納される。
【００２９】
尚本実施形態では正ストレージ装置１０３０には１つのデータＩ／Ｆ３００２、１つのリモートコピーＩ／Ｆ３００３及び４つの物理ディスク１０３３を有するが、データＩ／Ｆ３００２とリモートコピーＩ／Ｆ３００３と物理ディスク１０３３の個数は１つ以上であれば幾つであってもよい。又、コントローラ３００４は、物理ディスク１０３３が有する記憶領域をまとめて一つの論理的な記憶領域として、正ホスト計算機１０１０へ提供する。これを以下論理ユニット（又はボリューム）と称する。又、複数の物理ディスク１０３３でＲｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ（以下、ＲＡＩＤ）が構成されていても良い。
【００３０】
図４は保守端末１０２０の構成例を示す図である。本実施形態ではプライマリサイト１００１の保守端末１０２０とリモートサイト１００２の保守端末１０６０は同様の構成と仮定するため、以下プライマリサイト１００１の保守端末１０２０のみ説明する。
保守端末１０２０は、プロセッサ４００２、主記憶４００６、ネットワーク１０４２に接続される保守管理Ｉ／Ｆ４００１、保守プログラム４００７によってエラー処理が実行された場合の実行結果を出力する出力装置４００３及び保守情報テーブル４００７のデータ等を格納する記憶装置である実トポロジリポジトリ４００４とを有する。そして、これらの部位は内部バス等の通信路４００５を介して相互に接続される。
【００３１】
主記憶４００６には、プログラムである保守マネージャ１０２１及び保守管理テーブル４００７が格納されている。
保守マネージャ１０２１は、保守端末１０２１が正ストレージ装置１０３０へリモートコピーの実行を指示する際にプロセッサ４００２が実行するプログラムである。保守管理テーブル４００７には、管理者が保守端末１０２１に入力した情報が格納される。
【００３２】
尚、保守マネージャ１０２１を実行することにより、保守端末１０２０は、正ストレージ装置１０３０と副ストレージ装置１０７０間のリモートコピーを制御し、正ストレージ装置１０３０内のボリュームの内容と副ストレージ装置１０７０のボリュームの内容とを一致させている。
【００３３】
図５は設定テーブル２００７に格納される検証設定情報の一例を示す図である。この検証設定情報は後述するように、正ホスト計算機１０１０から正ストレージ装置１０３０、副ストレージ装置１０７０及び副ホスト計算機１０５０に送信される。同一内容の検証設定情報が各装置の設定テーブルに格納されるため、ここでは正ホスト計算機１０１０の設定テーブル２００７に格納される検証設定情報の一例について説明する。
【００３４】
設定テーブル２００７は、正ホスト計算機１０１０で実行されるＤＢＭＳ１０１１の種類ごとに対応するエントリを複数有する。各エントリは、以下に説明する複数のフィールドを有する。ＤＢＭＳ−ＩＤフィールド５００１には、当該エントリに対応する正ホスト計算機１０１１上で動作するＤＢＭＳ１０１１を識別するための識別子が登録される。検証機能ＯＮ／ＯＦＦフィールド５００２には、対応するＤＢＭＳ１０１１が処理するデータの検証を行うかどうかを示す情報が登録される。
【００３５】
検証ＳＣＳＩ−ＩＤフィールド５００３には、対応するＤＢＭＳ１０１１に割り当てられた正ストレージ装置１０３０のデータＩ／Ｆを識別するための接続先Ｉ／Ｆ識別子が登録される。検証ＬＵＮ−ＩＤフィールド５００４には、正ストレージ装置１０３０が正ホスト計算機１０１０の対応するＤＢＭＳ１１０１に提供しているボリュームに割り当てられた識別子（ここではＳＣＳＩにおけるＬＵＮ番号）が登録される。
【００３６】
検証レベル指定フィールド５００５には、対応するＤＢＭＳ１０１１が処理するデータの検証を行う際のレベルについての情報が登録される。この検証を行うレベルとは、具体的には、正ホスト計算機１０１０からデータの書き込みの対象となる正ストレージ装置１０３０に格納された複数のファイル（例えばデータファイルやログファイル）のうち、どの種類のファイルに対してＤＢＭＳ検証を行うのかという段階を示すものである。チェックサム計算方式フィールド５００６には、正ホスト計算機１０１０から正ストレージ装置１０３０へ送信されるデータに付加するチェックサムの計算方式を示す情報が登録される。この計算方式には、後述するログデータの一意な番号を示す値であるログ順次番号を計算過程内でパラメータの一部として用いた計算方式も登録される。
【００３７】
図６は、検証エラー処理実行制御テーブル３００７の内容の一例を示す図である。
検証エラー処理実行制御テーブル３００７は、管理者が指定するエラー処理の数に対応するエントリを有する。各エントリは、以下に示す各フィールドを有する。発見場所フィールド６００１には、処理の対象となる検証エラーが発生する装置を示す情報が登録される。処理方法フィールド６００２には、処理の対象となる検証エラーを発見した場合の具体的な対応処理の内容（処理の中止、データの再送等）を示す情報が登録される。自動実施フィールド６００３には、処理の対象となる検証エラー発生時の処理を正ストレージ装置等が自動的に実行するかどうかを示す情報が登録される。ＤＢＭＳ−ＩＤフィールド６００４には、検証エラーが発生しているＤＢＭＳを示す識別子であるＤＢＭＳ−ＩＤが登録される。エラー内容フィールドには、発生する問題内容が登録される。
【００３８】
本実施形態においては、正ホスト計算機１０１０と正ストレージ装置１０３０間の通信、正ストレージ装置１０３０と副ストレージ装置１０７０間の通信及び副ストレージ装置１０７０と副ホスト計算機１０５０間の通信は、各装置で実行される検証マネージャが暗号テーブルの情報に基づいて公開鍵暗号方式で送信データの暗号化と受信データの復号化を行っているとする。ただしデータ転送における暗号化は本発明において必須ではない。図７は、各装置が保持する暗号テーブルに設定される情報の一例を示す図である。尚、事前に各装置で作成された公開鍵は対応装置間でＳｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ（ＳＳＬ）等のセキュリティー機能を用いネットワーク１０４１等を通じて交換されているものとする。
【００３９】
図７（ａ）は、正ホスト計算機１０１０が持つ暗号テーブル７０００の内容の一例を示す図である。正ホスト計算機１０１０は、正ストレージ装置１０３０と通信を行う場合に、暗号テーブル７０００の鍵情報を参照して暗号化や復号化を行いデータの送受信を実行する。暗号テーブル７００には、公開鍵正ホスト欄７００１に正ホスト計算機１０１０の公開鍵情報、秘密鍵正ホスト欄７００２に正ホスト計算機１０１０の秘密鍵情報及び公開鍵正ストレージ欄７００３に正ストレージ装置１０３０の公開鍵情報が各々登録される。
【００４０】
図７（ｂ）は、副ホスト計算機１０５０が持つ暗号テーブル８０００の内容の一例を示す図である。副ホスト計算機１０５０は、副ストレージ装置１０７０と通信を行う場合に、暗号テーブル８０００の鍵情報を参照して暗号化や復号化を行いデータの送受信を実行する。暗号テーブル８０００には、公開鍵副ホスト欄８００１に副ホスト計算機１０５０の公開鍵情報、秘密鍵副ホスト欄８００２に副ホスト計算機１０５０の秘密鍵情報及び公開鍵副ストレージ欄８００３に副ストレージ装置１０７０の公開鍵情報が各々登録される。
【００４１】
図７（ｃ）は、正ストレージ装置１０３０が持つ暗号テーブル９０００の内容の一例を示す図である。正ストレージ装置１０３０は、正ホスト計算機１０１０や副ストレージ装置１０７０と通信を行う場合に、暗号テーブル９０００の鍵情報を参照して暗号化や復号化を行いデータの送受信を実行する。暗号テーブル９０００には、公開鍵正ホスト欄９００１に正ホスト計算機１０１０の公開鍵情報、公開鍵正ストレージ欄９００２に正ストレージ装置１０３０の公開鍵情報、秘密鍵正ストレージ欄９００３に正ストレージ装置１０３０の秘密鍵情報及び公開鍵副ストレージ欄９００４に副ストレージ装置１０７０の公開鍵情報が各々登録される。
【００４２】
図７（ｄ）は、副ストレージ装置１０７０が持つ暗号テーブル１００００の内容の一例を示す図である。副ストレージ装置１０７０は、副ホスト計算機１０５０や正ストレージ装置１０３０と通信を行う場合に、暗号テーブル１００００の鍵情報を参照して暗号化や復号化を行いデータの送受信を実行する。暗号テーブル１００００には、公開鍵副ホスト欄１０００１に副ホスト計算機１０５０の公開鍵情報、公開鍵副ストレージ欄１０００２に副ストレージ装置１０７０の公開鍵情報、秘密鍵副ストレージ欄１０００３に副ストレージ装置１０７０の秘密鍵情報及び公開鍵正ストレージ欄１０００４に正ストレージ装置１０３０の公開鍵情報が各々登録される。
【００４３】
図８（ａ）は、各装置間で送受信されるデータのデータフォーマットの例を示す図である。各装置間で送受信されるデータは、データを送信する装置を識別するソースアドレス１９００１、データを受信する装置を識別する目的地アドレス１９００２、ストレージ装置が有するＳＣＳＩ−ＬＵの識別番号であるＬＵＮ１９００３、データの種類を識別するコマンド１９００４、ＤＢＭＳ１０１１が扱うファイルの検証段階を指定する検証レベル１９０１４及びデータ内容を示すデータ１９００５から構成される。なお、本図に示した構成以外のデータフォーマットが用いられても良い。
【００４４】
図８（ｂ）は、図８（ａ）に示したデータフォーマットに従うデータの一例を示した図である。
ＬＵＮフィールド１９１０３のＳＣＳＩ−ＬＵ識別番号が「１」、コマンドフィールド１９１０４に格納される「Ｒｅａｄ」コマンドから、ここではストレージ装置に対してＳＣＳＩ−ＬＵ識別番号「１」に「読み出し」を要求するデータフォーマットを示している。またデータフィールドには読み出しに必要となる情報が格納されている。
【００４５】
図１８（ａ）には、正ホスト計算機１０１０のＤＢＭＳ１０１１から正ストレージ装置１０３０へ送信される、もしくは正ストレージ装置１０３０から副ストレージ装置１０７０へリモートコピーされるデータの中で、ＤＢＭＳ１０１１が扱うログデータのフォーマットの例を示す図である。図１８（ｂ）は、図１７（ａ）に示したログフォーマットに従うデータの一例を示した図である。図１７（ａ）のログデータフォーマットは、図８（ａ）に示したデータフォーマットのデータフィールド１９００５の内部のフォーマットを示している。各装置間で送受信されるログデータは、ＤＢＭＳ１０１１が扱うログデータの一意な番号であるログ順次番号（以下、ＬＳＮ）２０００１、アプリケーションのＩＯリクエストを適切なデバイスドライバへ変換するリソースマネージャの識別子２０００２、トランザクションのコミットやロールバック等を行うトランザクションマネージャの識別子２０００３及びログデータの内容を示すデータ２０００４から構成される。なお、本図に示した構成以外のデータフォーマットが用いられてもよい。
【００４６】
以下、本実施形態におけるシステムの設定、実際の動作について説明する。
まず、各サイトの各装置の設定について説明する。
図９は、両保守端末を介して管理者がプライマリサイト１００１の正ストレージ装置１０３０とリモートサイト１００２の副ストレージ装置１０７０にリモートコピー設定情報を入力する処理手順を示すフローチャートである。尚、双方の保守端末で同様の処理を行うため、ここではプライマリサイト１００１の保守端末１０２０についてのみ説明する。尚、逆方向のリモートコピー、すなわち副ストレージ装置から正ストレージ装置へのデータ転送も必要になる場合があるので、管理者は副サイトの保守端末を介して副ストレージ装置１０７０のコピー設定情報も設定する。
【００４７】
管理者は、リモートコピーに必要な情報（リモートコピー先となるストレージ装置、ボリューム、転送ポート、転送方向等）を保守端末１０２０に入力する。保守端末１０２０は保守マネージャ１０２１を実行して、管理者が入力する情報を保守情報テーブル４００７に格納する（ステップ１１０１０）。
【００４８】
次に保守端末１０２０は、入力した情報を基に、リモートコピー処理の起動処理を行う。具体的には、保守端末１０２０は、保守マネージャ１０２１を実行して管理者が入力した情報を正ストレージ装置１０３０へ送信し、その後、リモートコピー開始の指示を正ストレージ装置１０３０へ送る（ステップ１１０２０）。この処理の終了後、正ストレージ装置１０３０でのデータの受信を契機に、正副ストレージ装置間でリモートコピー処理が開始される。
【００４９】
図１０は、管理者がデータの検証のために必要な設定情報を正ストレージ装置１０３０へ設定する処理手順を示すフローチャートである。
管理者は、正ホスト計算機１０１０の扱うデータの検証に必要な情報（ＤＢＭＳ−ＩＤ、検証機能ＯＮ／ＯＦＦ、検証ＳＣＳＩ−ＩＤ、検証ＬＵＮ−ＩＤ、検証レベル、チェックサム計算方式）を正ホスト計算機１０１０に入力する。正ホスト計算機１０１０はホスト計算機検証マネージャ１０１２を実行して、管理者が入力する情報を設定テーブル２００８に格納する（ステップ１２０１０）。
【００５０】
次にホスト計算機１０１０は、設定テーブル２００８に入力された検証に必要な情報を正ストレージ装置１０３０に送信する前に、暗号テーブル２００８の公開鍵正ストレージ欄７００３の鍵情報を参照しその情報の暗号化を行う（ステップ１２０２０）。その後、正ホスト計算機１０１０は、暗号化したデータを、正ストレージ装置１０３０に送信する（ステップ１２０３０）。
【００５１】
次に、各サイトにおけるデータ転送時の処理手順について説明する。
本実施形態では、正ストレージ装置から送信されるＤＢＭＳの扱うデータ単位の情報に基づいて副ストレージ装置がリモートコピーのデータ不整合を検知し、発生したデータの不整合ごとに管理者の指定する対応処理の実行制御を行うという方法が用いられる。
【００５２】
したがって、ＤＢＭＳ１０１１で使用されるデータを正ストレージ装置１０３０へ送信する場合、正ホスト計算機１０１０は、ＤＢＭＳ１０１１の扱う入出力処理の最小単位であるページのサイズ（以下、ページサイズ）単位で指定されるデータに対してチェックサム計算を行い、正ストレージ装置１０３０にデータとチェックサムの結果を送信する。正ホスト計算機１０１０と正ストレージ装置１０３０間の通信では、接続されるネットワーク１０４３で用いられるプロトコルに従い、通信パケット等の単位で使用するプロトコルで提供されるＣＲＣ等の検証処理が行われるが、本実施形態ではＣＲＣによるデータ検証に加え、ＤＢＭＳ１０１１が扱うデータサイズであるページサイズ単位でＤＢＭＳ検証が行われる。
【００５３】
その後、ページサイズに基づくチェックサムの情報等は、リモートコピーによって副ストレージ装置１０７０にも伝播され、副ストレージ装置１０７０でも、ページサイズの情報に基づいてチェックサムの計算が行われる。これにより、各サイトでページサイズに基づくデータの整合性の確認が可能となる。
【００５４】
図１１は、正ホスト計算機１０１０がホスト計算機検証マネージャ１０１２を実行してデータを検証し、ＤＢＭＳ１０１１で扱うデータを正ストレージ装置１０３０へ転送する処理手順を示すフローチャートである。
【００５５】
正ホスト計算機１０１０は、ＤＢＭＳ１０１１が生成したデータ（以下「生成データ」とも言う）の種類がログデータであるか確認を行う。具体的にはデータフォーマットのデータ１９００５内が、図１７に示すログフォーマットであるか確認を行う（ステップ１３００１）。
【００５６】
ステップ１３００１にてＤＢＭＳ１０１１が生成したデータがログデータであると判断された場合、正ホスト計算機１０１０は、生成データからＬＳＮを加えたチェックサム計算を行い、送信する生成データ（以下「送信するデータ」又は「送信データ」とも言う）に付加する。後に正ストレージ装置１０３０は、受信したページサイズの情報とＬＳＮの情報を用いて、ページサイズ単位でＤＢＭＳ検証を行う（ステップ１３００２）。
一方、ステップ１３００１にてＤＢＭＳ１０１１が生成したデータがログデータであると判断された場合、正ホスト計算機１０１０は、ＤＢＭＳ１０１１が正ストレージ装置１０３０へ送信するデータについて、ＤＢＭＳ１０１１の扱うページサイズ単位で、そのＤＢＭＳ１０１１に付与されたＤＢＭＳ−ＩＤに対応する設定テーブル２００７のチェックサム計算方式フィールド５００６に登録されているチェックサム計算方式に従ってチェックサム計算を実行する。そして、正ホスト計算機１０１０は、正ストレージ装置１０３０へ送信するデータに算出したチェックサムを付加する（ステップ１３０１０）。
【００５７】
ステップ１３００２又はステップ１３０１０の後、正ホスト計算機１０１０は、ＤＢＭＳ１０１１の扱うページサイズについての情報を送信するデータに付加する。後に正ストレージ装置１０３０は、受信したページサイズの情報を用いて、ページサイズ単位でＤＢＭＳ検証を行う（ステップ１３０２０）。次に正ホスト計算機１０１０は、ＤＢＭＳ１０１１が処理するデータの検証を行う際のレベル情報（具体的には設定テーブル３００６のテーブルの検証レベル指定フィールドに登録される情報）を、送信するデータに付加する（ステップ１３０２５）。
【００５８】
次に正ホスト計算機１０１０は、ステップ１３０２５にて処理した送信データを、暗号テーブル２００８の公開鍵正ストレージ欄７００３の鍵情報を用いて暗号化する（ステップ１３０３０）。次に正ホスト計算機１０１０は、ステップ１３０３０にて暗号化した送信データを一旦正ホスト計算機１０１０が有するメモリ内のバッファに格納する（ステップ１３０４０）。その後、正ホスト計算機１０１０は、バッファに格納したデータを正ストレージ装置１０３０へ送信する（ステップ１３０５０）。
【００５９】
図１２は、正ストレージ装置１０３０がデータを受信した際に行うデータの処理手順を示すフローチャートである。正ストレージ装置１０３０は、正ストレージ装置検証マネージャ１０３１を実行することによって、以下に示す処理を行う。
正ストレージ装置１０３０が正ホスト計算機１０１０からデータを受信する（ステップ１４０１０）。正ストレージ装置１０３０は、受信したデータをメモリ３００５内の受信バッファに格納する（ステップ１４０２０）。次に正ストレージ装置１０３０は、暗号テーブル３００８に登録されている秘密鍵正ストレージ欄９００３の鍵情報を参照し、正ホスト計算機１０１０から受信したデータを復号する（ステップ１４０３０）。
【００６０】
次に正ストレージ装置１０３０は、ステップ１４０３０で復号したデータのデータ量が、受信したデータに付加されているページサイズ情報で示されるページサイズに達したかどうかを判断する（ステップ１４０４０）。達していない場合、正ストレージ装置１０３０はステップ１４０１０からの処理を復号したデータのデータ量がページサイズに達するまで繰り返す。
復号したデータのデータ量がページサイズに達した場合、正ストレージ装置１０３０は、復号したデータが正ストレージシステムからのデータの読出しを要求するデータ（以下「Ｒｅａｄデータ」）であるかを、受信したデータのデータフォーマットにおけるコマンドフィールド１９００４を参照して判断する（ステップ１４０５０）。
【００６１】
ステップ１４０５０でＲｅａｄデータであると判断した場合、正ストレージ装置１０３０は、Ｒｅａｄデータに基づいてデータの読出しを行い（ステップ１４０５１）、読み出したデータを正ホスト計算機１０１０へ送信して処理を終了する。
【００６２】
ステップ１４０５０でＲｅａｄデータでないと判断した場合、更に正ストレージ装置１０３０は、復号化したデータが設定データであるか否かを、受信したデータのデータフォーマットにおけるコマンドフィールド１９００４を参照して判断する。ここで設定データとは、正ストレージ装置１０３０が有する設定テーブルへ登録されるデータのことを指す（ステップ１４０６０）。
設定データである場合、正ストレージ装置１０３０は、受信した設定データを設定テーブルへ反映し（ステップ１４０６１）、その後、リモートコピー処理を行う（ステップ１４１１０）。
【００６３】
受信したデータが設定データでない場合、正ストレージ装置１０３０は、復号したデータが正ストレージ装置１０３０へデータの書き込みを要求するデータ（以下「Ｗｒｉｔｅデータ」）であるかを、受信したデータのデータフォーマットにおけるコマンドフィールド１９００４を参照して判断する（ステップ１４０７０）。
受信したデータがＷｒｉｔｅデータでない場合、受信したデータは正ストレージ装置１０３０では処理できないデータなので、正ストレージ装置１０３０は正ホスト計算機１０１０へデータエラーを通知して処理を終了する（ステップ１４０７１）。
【００６４】
ステップ１４０７０で復号したデータがＷｒｉｔｅデータであると判断した場合、正ストレージ装置１０３０は、復号したデータについて設定テーブル３００６の情報と比較し、受信したデータの設定情報に関する内容が問題ないか比較を行う。具体的には、設定テーブル３００６の検証ＳＣＳＩ−ＩＤフィールド５００３及び検証ＬＵＮ−ＩＤフィールド５００４に登録されている情報と、受信したデータの目的地フィールド及びＬＵＮフィールド１９００３に登録されている情報とが一致するかどうかを確認する。また設定テーブル３００５の検証レベル指定フィールド５００５に指定される検証レベルと一致するか比較を行う。（ステップ１４０８０）。
【００６５】
受信したデータの設定情報に関する内容に問題がある場合、正ストレージ装置１０３０は、問題の内容が設定情報であると認識し、検証エラー設定情報テーブル３００７の内容と比較し、問題が発生した場所が登録されている発見場所フィールド６００１、問題が発生したＤＢＭＳ識別子が登録されているＤＢＭＳ−ＩＤフィールド６００４及び問題が発生したエラー内容に登録されているエラー内容フィールド６００５を有するエントリの自動実施フィールド６００３に登録されている条件に基づき、処理方法フィールド６００２に登録されている処理方法に従って処理を実行する。
【００６６】
例えば、正ストレージ装置１０３０において正ホスト計算機１０１０から受信したデータの設定情報に関する内容に問題がある場合、正ホスト計算機１０１０に対して再送要求処理を正ストレージ装置検証マネージャが自動的に実施する（ステップ１４０８１）。
【００６７】
ステップ１４０８０で問題がないと判断した場合、正ストレージ装置１０３０は、ＤＢＭＳ１０１１が生成したデータの種類がログデータであるか確認を行う。具体的にはデータフォーマットのデータ１９００５内が、図１７に示すログフォーマットであるか確認を行う（ステップ１４０８５）。
【００６８】
ステップ１４０８５で受信データがログデータであると判断した場合、正ストレージ装置１０３０は、受信したデータのログフォーマットにおけるＬＳＮ２０００１を用いて、設定テーブル３００６のチェックサム計算方式フィールド５００６に登録されている計算方式でチェックサムの計算を行い、受信データに付加されているチェックサムと比較する（ステップ１４０９５）。受信データに付加されているチェックサムと計算されたチェックサムとが一致しない場合、正ストレージ装置１０３０は、検証エラー設定情報テーブル３００７に登録された条件に従って、管理者が指定する処理を実行する（ステップ１４０８１）。
【００６９】
ステップ１４０８５で受信データがログデータではないと判断した場合、正ストレージ装置１０３０は、受信したデータについて設定テーブル３００６のチェックサム計算方式フィールド５００６に登録されている計算方式でチェックサムの計算を行い、受信データに付加されているチェックサムと比較する（ステップ１４０９０）。
【００７０】
計算されたチェックサムと受信データに付加されていたチェックサムが一致しない場合、正ストレージ装置１０３０は、上述したステップ１４０８１と同じ処理を行う。例えば、正ストレージ装置１０３０においてＤＢＭＳ―ＩＤが“ＤＢＭＳ１”で示されるＤＢＭＳ１０１１でチェックサムの不一致エラーが発生した場合、正ホスト計算機１０１０に対して再送要求処理を正ストレージ装置検証マネージャが自動的に実施する。正ホスト計算機１０１０は正ストレージ装置１０３０から受信した再送要求に従い、ＤＢＭＳ検証を行う単位であるページサイズで送信データの暗号化処理を含めた再送処理を行う（ステップ１４０８１）。
【００７１】
ステップ１４０９５又はステップ１４０９０で、計算されたチェックサムと受信したデータに付加されていたチェックサムが一致した場合、正ストレージ装置１０３０は、正ホスト計算機１０１０から受信したデータを暗号テーブル３００８の公開鍵副ストレージ欄９００４に登録されている鍵情報を用いて暗号化し、正ストレージ装置１０３０が有するバッファに格納する（ステップ１４１００）。
【００７２】
次に正ストレージ装置１０３０は、リモートコピーの処理を実行する。尚、リモートコピーの詳細な処理手順については後述する（ステップ１４１１０）。リモートコピー処理の後に副ストレージ装置１０７０から処理終了通知を受信した正ストレージ装置１０３０は、Ｗｒｉｔｅデータに基づいて、物理ディスク１０３３へのデータの書き込みを実行する（ステップ１４１２０）。
【００７３】
図１３は、正ストレージ装置１０３０で実行されるリモートコピー処理の手順例を示した図である。
図１２のステップ１４１１０でリモートコピー処理を開始した正ストレージ装置１０３０は、リモートコピーを実行する前に、保守端末１０２０からリモートコピー処理の中断要求を受信しているか否かを確認する（ステップ１５１１０）。リモートコピーの中断要求を受信していた場合、正ストレージ装置１０３０はリモートコピー処理を終了する（ステップ１５００１）
保守端末１０２０からリモートコピーの中断要求がない場合、正ストレージ装置１０３０は、自身が有するバッファに副ストレージ装置１０７０へ送信するデータがあるかどうかを判断する（ステップ１５１２０）。バッファに転送すべきデータが存在しない場合、正ストレージ装置１０３０はステップ１５１１０の処理へ戻り、それ以降の処理を繰り返す。
【００７４】
転送すべきデータがバッファに存在する場合、正ストレージ装置１０３０は、保守端末１０２０を介して正ストレージ装置１０３０に設定されるリモートコピーの設定情報に従い、バッファに存在するデータをリモートコピーＩ／Ｆを介して副ストレージ装置１０７０に送信し、ステップ１５１１０に戻る。この際、正ストレージ装置１０３０は、両ストレージ装置に接続されるネットワーク１０４１で用いられるプロトコルに従い、通信パケット等の単位で計算されるＣＲＣ等のコードを暗号化されたデータに付加して副ストレージ装置１０７０へ送信する（ステップ１５１３０）。
【００７５】
図１４及び図１５は、副ストレージ装置１０７０が正ストレージ装置１０３０からデータを受信した時の処理手順について示した図である。副ストレージ装置１０７０は、副ストレージ装置検証マネージャ１０７１を実行することによって、以下に示す処理を行う。
副ストレージ装置１０７０は、正ストレージ装置１０３０から転送されたデータを受信する。この際、副ストレージ装置１０７０は、受信したデータのデータ転送単位の整合性についてＣＲＣを用いて検証する（ステップ１６０１０）。次に、副ストレージ装置１０７０は、保守端末１０６０からリモートコピー中断の要求を受信しているかどうか確認する（ステップ１６０１５）。リモートコピー中断の要求を受信している場合には、副ストレージ装置１０７０は、そのまま処理を終了する。
【００７６】
リモートコピー中断の要求がない場合、副ストレージ装置１０７０は、ステップ１６０１０で受信したデータを自身が有する受信バッファに格納する（ステップ１６０２０）。次に副ストレージ装置１０７０は、暗号テーブル１００００に登録されている秘密鍵副ストレージ欄１０００３の鍵情報を参照し正ストレージ装置１０３０から受信したデータを復号する（ステップ１６０３０）。次に副ストレージ装置１０７０は、ステップ１６０２０でバッファに格納した復号化したデータのデータ量がＤＢＭＳ１０１１の扱うページサイズに達したかどうかを判断する。尚、副ストレージ装置１０７０は、ページサイズの情報を正ストレージ装置１０３０から受信したデータから取り出す（ステップ１６０４０）。
【００７７】
バッファに格納されたデータのデータ量がページサイズに達しない場合、副ストレージ装置１０７０は処理を終了する（ステップ１５２２０）。
【００７８】
バッファに格納されたデータのデータ量がページサイズに達した場合、副ストレージ装置１０７０は、ステップ１６０３０で復号したデータが設定データであるかをデータのコマンドフィールドの内容から判断する（ステップ１６５０）。設定データである場合、副ストレージ装置１０７０は、受信した設定データに含まれる設定情報を自身の設定テーブル３００６に反映する（ステップ１６０５１）。さらに、副ストレージ装置１０７０は、正ストレージ装置１０３０から受信した設定データを暗号テーブル１００００の公開鍵副ホスト欄１０００１に登録されている鍵情報を用いて暗号化し、副ホスト計算機１０５０へ送信する（ステップ１６０５２）。
【００７９】
ステップ１６０５０で設定データでないと判断した場合、副ストレージ装置１０７０は、復号したデータがＷｒｉｔｅデータであるかを受信したデータのコマンドフィールドの内容を用いて判断する（ステップ１６０６０）。Ｗｒｉｔｅデータでない場合、副ストレージ装置１０７０は、正ストレージ装置１０３０にデータエラー通知を行う（ステップ１６０６１）。
【００８０】
ステップ１６０６０でＷｒｉｔｅデータであると判断した場合、副ストレージ装置１０７０は、Ｗｒｉｔｅデータであると判断されたデータについて副ストレージ装置１０７０の設定テーブルの情報と比較し、データの内容が問題ないかを、上述した正ストレージ装置での処理と同様の比較を行う（ステップ１６０７０）。
【００８１】
ステップ１６０７０で設定情報に問題がないと判断した場合、副ストレージ装置１０７０は、受信したデータがログデータであるか確認を行う。具体的にはデータフォーマットのデータ１９００５内が、図１７に示すログフォーマットであるか確認を行う（ステップ１６０７５）。
【００８２】
ステップ１６０７５で受信データがログデータであると判断した場合、副ストレージ装置１０７０は、受信したデータのログフォーマットにおけるＬＳＮ２０００１を用いて、設定テーブルのチェックサム計算方式欄５００６に登録されている計算方式に基づいて受信したデータについてチェックサムの計算を行う。そして、計算されたチェックサムと受信データに付加されているチェックサムとを比較する（ステップ１６０７５）。
【００８３】
一方、ステップ１６０７５で受信データがログデータでないと判断した場合、副ストレージ装置１０７０は、設定テーブルのチェックサム計算方式欄５００６に登録されている計算方式に基づいて受信したデータについてチェックサムの計算を行う。そして、計算されたチェックサムと受信データに付加されているチェックサムとを比較する（ステップ１６０８０）。
【００８４】
ステップ１６０７６又はステップ１６０８０において、計算されたチェックサムと受信データに付加されているチェックサムとが一致する場合、副ストレージ装置１０７０は、正ストレージ装置１０３０から受信したデータを物理ディスク１０７３へ書き込む。そして書き込み処理の終了後、副ストレージ装置１０７０は、正ストレージ装置１０３０へ処理終了を通知する（ステップ１６０９０）。
【００８５】
ステップ１６０７０で設定情報と比較して問題が発生した場合又はステップ１６０８０で計算したチェックサムと受信データに付加されていたチェックサムが一致しなかった場合、副ストレージ装置１０７０は、問題の内容を検証し、その結果（特に発生場所）に合致する副ストレージ装置１０７０の検証エラー設定情報テーブル６０００の発見場所６００１、問題が発生したＤＢＭＳ識別子が登録されているＤＢＭＳ−ＩＤ６００４及び問題が発生したエラー内容に登録されているエラー内容フィールド６００５を有するエントリを選択する。そして、選択されたエントリに対応する自動実施欄６００３に登録されている実施方式に従い、処理方法欄６００２に登録されている処理方法に従って処理を実行する。例えば、副ストレージ装置１０７０においてＤＢＭＳ−ＩＤが“ＤＢＭＳ２”で示されるＤＢＭＳ１０１１でチェックサムの不一致エラーが発生した問題の場合には、副ストレージ装置１０７０はリモートコピーの停止処理を副ストレージ装置検証マネージャの実行に基づいて自動的に実施する（ステップ１６０７１）。
【００８６】
図１６は、副ホスト計算機１０５０が副ストレージ装置１０７０から設定データを受信した際の処理手順を示す図である。副ホスト計算機１０５０は、図１３のステップ１６０５２で副ストレージ装置１０７０から送信された設定データを受信する（ステップ１７０１０）。次に副ホスト計算機１０５０は、暗号テーブル８０００の秘密鍵副ホスト欄８００２に登録されている鍵情報を用いて受信したデータを復号する（ステップ１７０２０）。次に副ホスト計算機１０５０は、復号した設定データに含まれる内容を、設定テーブルに反映する（ステップ１７０３０）。上述した処理は、正ホスト計算機１０１０や正ストレージ装置などにて障害が発生した場合に、この設定データが副ホスト計算機１０５０にないと副ホスト計算機１０５０が処理を継続することができないため、そのデータを副サイト側に保存するために行われる。
【００８７】
図１７は、正ホスト計算機１０１０に具備される出力装置２００３に出力される画面の例を示す図である。本図においては、副ストレージ装置１０７０において受信したデータの検証処理を実行した時に、受信データに付加されているチェックサムと副ストレージ装置１０７０にて受信データから計算されたチェックサムとが一致しなかったことが、副ストレージ装置１０７０から正ホスト計算機１０１０に通知された通知例を示している。副ストレージ装置１０７０でチェックサムのエラーが発生したことは、副ストレージ装置１０７０の副ストレージ検証マネージャから正ストレージ装置１０３０へ、副ストレージ装置１０７０のリモートコピーマネージャを利用して伝えられる。エラーの情報を受信した正ストレージ装置１０３０は、正ストレージ装置検証マネージャ１０３１を実行して、正ホスト計算機１０１０のホスト計算機検証マネージャ１０１２へエラー情報を送信する。エラー情報を受信した正ホスト計算機１０１０は、自身が有する出力装置２００３へエラー情報を出力する。
【００８８】
正ホスト計算機１０１０が、各装置とその接続関係を視覚的に表示し、かつデータの不整合が生じた場所をその表示画面上で表示することで、管理者が何処でデータの不整合が発生したのか判別しやすくなる。また本図においては正ホスト計算機１０１０への出力例を示しているが、ここで示したホスト計算機検証マネージャが有する出力機能を有するプログラムが、本例と異なる装置において出力を行うことも可能である。
【００８９】
尚、本実施形態で示した処理の流れは、正サイトと副サイト間で同期的にリモートコピーの処理を行う場合について説明しているが、リモートコピーが非同期の場合であっても構わない。ここで非同期とは、具体的には、図１２のステップ１４１００終了時点で正ホスト計算機へデータの書き込みを通知し、その後、ステップ１４１１０のリモートコピー処理が行われることを指す。また、送信データを暗号化するステップを含んでいるが、暗号化が行われない構成も考えられる。
又、正副各装置は同一の構成でなくても良い。ただし、最低限、正副サイトで同一容量の記憶領域を有する方がより好適である。
【００９０】
本実施形態によれば、リモートコピー中にソフトウエアのバグや、悪意な第三者によるデータ改ざんや破壊により発生するデータ不整合をＤＢＭＳの扱うデータ単位でプライマリサイト側とリモートサイト側のストレージ装置が、送信されるデータごとに異なるチェックサム計算方法で計算したチェックサムを用いて検知し、発生したデータの不整合ごとに管理者の指定する対応処理の実行制御という方法を用いることで、リモートコピーされた不整合データが一定期間放置されることなく不整合データ発生時に管理者がエラーを把握し、迅速な対応処理を取ることが可能になる。
【図面の簡単な説明】
【００９１】
【図１】システムの構成例を示す図である。
【図２】ホスト計算機の構成例を示す図である。
【図３】ストレージ装置の構成例を示す図である。
【図４】保守端末装置の構成例を示す図である。
【図５】設定情報の例を示す図である。
【図６】検証エラー設定テーブルの例を示す図である。
【図７】暗号テーブルの例を示す図である。
【図８】データフォーマットの例を示す図である。
【図９】リモートコピーを指示する処理の一例を示すフローチャートである。
【図１０】プライマリサイトのホスト計算機が検証に必要な情報の設定と、そのデータの送信処理の一例を示すフローチャートである。
【図１１】正ホスト計算機が行う処理の一例を示すフローチャートである。
【図１２】正ストレージ装置が行う処理の一例を示すフローチャートである。
【図１３】リモートコピー処理の一例を示すフローチャートである。
【図１４】副ストレージ装置が行う処理の一例を示すフローチャートである。
【図１５】副ストレージ装置が行う処理の一例を示すフローチャートである。
【図１６】副ホスト計算機が行う処理の一例を示すフローチャートである。
【図１７】出力装置からの出力内容の一例を示す図である。
【図１８】ログフォーマットの例を示す図である。
【符号の説明】
【００９２】
１０１０…正ホスト計算機、１０２０…保守端末、１０３０…正ストレージ装置、１０６０…副ホスト計算機、１０７０…副ストレージ装置。
【図１】
2005250720.tif 000003
【図２】
2005250720.tif 000004
【図３】
2005250720.tif 000005
【図４】
2005250720.tif 000006
【図５】
2005250720.tif 000007
【図６】
2005250720.tif 000008
【図７】
2005250720.tif 000009
【図８】
2005250720.tif 000010
【図９】
2005250720.tif 000011
【図１０】
2005250720.tif 000012
【図１１】
2005250720.tif 000013
【図１２】
2005250720.tif 000014
【図１３】
2005250720.tif 000015
【図１４】
2005250720.tif 000016
【図１５】
2005250720.tif 000017
【図１６】
2005250720.tif 000018
【図１７】
2005250720.tif 000019
【図１８】
2005250720.tif 000020