JP4951652B2 - コンピュータシステムのリモートコピー方法及びコンピュータシステム - Google Patents

コンピュータシステムのリモートコピー方法及びコンピュータシステム Download PDF

Info

Publication number
JP4951652B2
JP4951652B2 JP2009149654A JP2009149654A JP4951652B2 JP 4951652 B2 JP4951652 B2 JP 4951652B2 JP 2009149654 A JP2009149654 A JP 2009149654A JP 2009149654 A JP2009149654 A JP 2009149654A JP 4951652 B2 JP4951652 B2 JP 4951652B2
Authority
JP
Japan
Prior art keywords
data
storage system
program
write
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009149654A
Other languages
English (en)
Other versions
JP2011008391A5 (ja
JP2011008391A (ja
Inventor
内角  真
大輝 宮地
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009149654A priority Critical patent/JP4951652B2/ja
Priority to US12/540,792 priority patent/US8266400B2/en
Publication of JP2011008391A publication Critical patent/JP2011008391A/ja
Publication of JP2011008391A5 publication Critical patent/JP2011008391A5/ja
Application granted granted Critical
Publication of JP4951652B2 publication Critical patent/JP4951652B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/855Details of asynchronous mirroring using a journal to transfer not-yet-mirrored changes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータシステムのリモートコピー方法及びコンピュータシステムに関する。
日々増大する多量のデータを管理するために、企業等で使用されるコンピュータシステムは、大容量のデータを記憶できるストレージシステムを備えている。ストレージシステムは、例えば、ハードディスクドライブ等を用いてRAID(Redundant Array of Independent Disks)に基づいて冗長化された記憶領域を作成する。その冗長化された、論理的な記憶領域は、論理ボリュームと呼ばれて、コンピュータシステム内のホストコンピュータに提供される。
近年では、地震または火事等の災害への対応力が強化されたコンピュータシステムも構築されている。災害への対応力が改善されたコンピュータシステムは、メインサイトと、メインサイトから離れた場所に設置されるバックアップサイトとを有する。メインサイトとバックアップサイトには、それぞれホストコンピュータ及びストレージシステムが設けられる。メインサイトで管理されるデータは、適宜バックアップサイトに転送されて、バックアップサイトにも保存される。
上述のように、ホストコンピュータ及びストレージシステムを複数のサイトにそれぞれ配置し、各サイトで記憶されるデータを一致させておく構成は、いわゆるディザスタリカバリ構成として知られている(特許文献1,特許文献2)。ディザスタリカバリ構成を有するコンピュータシステムでは、普段使用しているメインサイトに災害が発生した場合、直ちにバックアップサイトに切り替えることにより、基幹業務の停止時間を短くすることができる。
メインサイトとバックアップサイトとでデータを二重化して管理する方法としては、上記特許文献に記載されているように、同期式リモートコピーと、非同期式リモートコピーとが知られている。同期式リモートコピーでは、メインサイトのホストコンピュータがメインサイトのストレージシステムにライトデータを書き込んだ場合、そのライトデータをバックアップサイトのストレージシステムに転送する。メインサイトのストレージシステムは、バックアップサイトのストレージシステムにライトデータが書き込まれたことを確認した後で、メインサイトのホストコンピュータにライトコマンドの処理が完了した旨を通知する。
これに対し、非同期式リモートコピーでは、メインサイトのストレージシステムは、メインサイトのホストコンピュータからライトデータが書き込まれた時点で、そのホストコンピュータにライトコマンドの処理が完了した旨を通知する。その後、適当なタイミングを見計らって、メインサイトのストレージシステムからバックアップサイトのストレージシステムにライトデータを転送する。バックアップサイトのストレージシステムは、メインサイトのストレージシステムがライトデータを受信して記憶したタイミングとは異なるタイミングで、そのライトデータを記憶する。
同期式リモートコピーと非同期式リモートコピーとは、上述の相違がある。非同期式リモートコピーの場合は、メインサイトとバックアップサイトとの間の通信距離が長い場合、または、高い応答性能が求められている場合に、採用される。非同期式リモートコピーでは、バックアップサイトへのライトデータの書込み完了を待たずに、ホストコンピュータに処理完了を通知するため、ライトレスポンスタイムを短くできる。
さらに、メインサイトのストレージシステムとバックアップサイトのストレージシステムとの間でリモートコピーを行うことにより、メインサイトのホストコンピュータ及びバックアップサイトのホストコンピュータの負荷を低減することができる。
特開2005−250626号公報 特許第4124348号明細書
非同期式リモートコピーを使用するディザスタリカバリ構成の場合、バックアップサイトのホストコンピュータは、バックアップサイトのストレージシステムに記憶されているデータ(コピー先データ)を利用することができない。
ホストコンピュータを介さずにストレージシステム間で非同期リモートコピーが行われており、バックアップサイトのホストコンピュータは、現在のコピー先データが最新のデータであるか否かを確認することができないためである。従って、従来技術では、バックアップサイトのストレージシステムに格納されたデータを、ディザスタリカバリ以外に使用することができず、使い勝手が低い。
そこで、本発明の目的は、非同期式リモートコピーが実行されるコンピュータシステムにおいて、コピー先データを直接的に利用できるようにした、コンピュータシステムのリモートコピー方法及びコンピュータシステムを提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
上記課題を解決すべく、本発明の第1観点に従うリモートコピー方法は、第1コンピュータと、該第1コンピュータに接続される第1ストレージシステムと、第1ストレージシステムに接続される第2ストレージシステムと、該第2ストレージシステムに接続される第2コンピュータとを含むコンピュータシステムにより実行される、リモートコピー方法であって、第1ストレージシステムは、第1コンピュータにアクセスされる第1論理ボリュームを形成し、第2ストレージシステムは、第1論理ボリュームに記憶されるデータのコピーが記憶される第2論理ボリュームを形成し、第1コンピュータは、第1オペレーティングシステム及び第1プログラムを実行し、かつ、第1プログラムにより生成される複数のライトデータを第1ストレージシステムに送信し、第2コンピュータは、第2オペレーティングシステム及び第2プログラムを実行し、第1オペレーティングシステムは、第1プログラムにより発行され、第1データオブジェクトを指定するエンキューリクエストであって、第1データオブジェクトを第1プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、第1データオブジェクトについての情報を含むスタートマーカリクエストを第1ストレージシステムに送信し、第1オペレーティングシステムは、第1プログラムにより発行され、第1データオブジェクトを指定するデキューリクエストであって、第1データオブジェクトに関する更新の終了を示すデキューリクエストを受信し、かつ、第1データオブジェクトについての情報を含むエンドマーカリクエストを第1ストレージシステムに送信し、第1ストレージシステムは、複数のライトデータとスタートマーカリクエスト及びエンドマーカリクエストとを受信し、第1論理ボリュームに記憶されているデータを複数のライトデータにより更新し、第1ストレージシステムは、複数のライトデータと、スタートマーカリクエストに対応するスタートマーカ情報と、エンドマーカリクエストに対応するエンドマーカ情報と、複数のライトデータとスタートマーカ情報及びエンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、第1ストレージシステムは、複数の転送データを、複数のライトデータの受信と非同期で、第2ストレージシステムに転送し、第2ストレージシステムは、複数の転送データを受信し、第2ストレージシステムは、複数の転送データに含まれる、第1データオブジェクトのコピーである第2データオブジェクトに関する一連のライトデータであって、第1ストレージシステムがスタートマーカリクエストの受信後かつエンドマーカリクエスト受信前に受信した複数のライトデータを含む一連のライトデータを、順序情報に基づいて特定し、第2ストレージシステムは、一連のライトデータの一部または全部を用いて第2論理ボリュームに記憶されたデータを更新させるとの判断に応じて、第2データオブジェクトについての情報を含む更新開始通知を第2コンピュータに送信し、第2プログラムは、第2データオブジェクトを指定するエンキューリクエストを第2オペレーティングシステムに発行し、かつ、エンキューリクエストが成功した場合には、更新開始通知への応答を第2オペレーティングシステムを介して第2ストレージシステムに送信し、第2ストレージシステムは、一連のライトデータによって第2論理ボリュームに記憶されたデータの更新を開始し、かつ、第2論理ボリュームに記憶されたデータの更新が完了した場合は、更新終了通知を第2コンピュータに送信し、第2プログラムは、更新終了通知を受領した場合に、第2データオブジェクトを指定するデキューリクエストを第2オペレーティングシステムに発行する。
第2観点では、第1観点において、第2コンピュータは、第3プログラムを実行し、かつ、第2オペレーティングシステムは、第2データオブジェクトを指定するエンキューリクエストの受信後から、第2データオブジェクトを指定するデキューリクエストが受信されるまでの間、第3プログラムによる第2データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第2データオブジェクトを管理する。
第3観点では、第2観点において、第1コンピュータは、第4プログラムを実行し、かつ、第1オペレーティングシステムは、第1データオブジェクトを指定するエンキューリクエストの受信後から、第1データオブジェクトを指定するデキューリクエストが受信されるまでの間、第4プログラムによる第1データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第1データオブジェクトを管理する。
第4観点では、第2観点において、第3プログラムは、第2データオブジェクトを指定するエンキューリクエストを第2オペレーティングシステムに発行し、エンキューリクエストが成功した場合には、第2データオブジェクトに関するデータを読み出し、その後、第2データオブジェクトを指定するデキューリクエストを第2オペレーティングシステムに発行する。
第5観点では、第4観点において、コンピュータシステムは、バックアップ記憶システムを含み、かつ、第3プログラムは、第2データオブジェクトに関するデータを、第1プログラムにとって整合性のある状態としてのデータとして、バックアップ記憶システムに送信させる。
第6観点では、第5観点において、第1データオブジェクトは、第1ストレージシステムが認識できるデータユニットである。
第7観点では、第6観点において、第1データオブジェクトは、第1ストレージシステムでは認識できないが、第1プログラムにより認識可能なデータである。
第8観点では、第1観点において、第2プログラムは、第2ストレージシステムに記憶された複数のライトデータのうち、第2論理ボリュームに記憶されたデータの更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、第2プログラムは、エンキューリクエストの成功待ちのために、第2ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、未使用データ量情報に基づいて表示させる。
第9観点に従うコンピュータシステムは、第1コンピュータと、該第1コンピュータに接続される第1ストレージシステムと、第1ストレージシステムに接続される第2ストレージシステムと、該第2ストレージシステムに接続される第2コンピュータとを含み、第1ストレージシステムから第2ストレージシステムにリモートコピーさせるコンピュータシステムであって、第1ストレージシステムは、第1コンピュータにアクセスされる第1論理ボリュームを形成し、第2ストレージシステムは、第1論理ボリュームに記憶されるデータのコピーが記憶される第2論理ボリュームを形成し、第1コンピュータは、第1オペレーティングシステム及び第1プログラムを実行し、かつ、第1プログラムにより生成される複数のライトデータを第1ストレージシステムに送信し、第2コンピュータは、第2オペレーティングシステム及び第2プログラムを実行し、第1オペレーティングシステムは、第1プログラムにより発行され、第1データオブジェクトを指定するエンキューリクエストであって、第1データオブジェクトを第1プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、第1データオブジェクトについての情報を含むスタートマーカリクエストを第1ストレージシステムに送信し、第1オペレーティングシステムは、第1プログラムにより発行され、第1データオブジェクトを指定するデキューリクエストであって、第1データオブジェクトに関する更新の終了を示すデキューリクエストを受信し、かつ、第1データオブジェクトについての情報を含むエンドマーカリクエストを第1ストレージシステムに送信し、第1ストレージシステムは、複数のライトデータとスタートマーカリクエスト及びエンドマーカリクエストとを受信し、第1論理ボリュームに記憶されているデータを複数のライトデータにより更新し、第1ストレージシステムは、複数のライトデータと、スタートマーカリクエストに対応するスタートマーカ情報と、エンドマーカリクエストに対応するエンドマーカ情報と、複数のライトデータとスタートマーカ情報及びエンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、第1ストレージシステムは、複数の転送データを、複数のライトデータの受信と非同期で、第2ストレージシステムに転送し、第2ストレージシステムは、複数の転送データを受信し、第2ストレージシステムは、複数の転送データに含まれる、第1データオブジェクトのコピーである第2データオブジェクトに関する一連のライトデータであって、第1ストレージシステムがスタートマーカリクエストの受信後かつエンドマーカリクエスト受信前に受信した複数のライトデータを含む一連のライトデータを、順序情報に基づいて特定し、第2ストレージシステムは、一連のライトデータの一部または全部を用いて第2論理ボリュームに記憶されたデータを更新させるとの判断に応じて、第2データオブジェクトについての情報を含む更新開始通知を第2コンピュータに送信し、第2プログラムは、第2データオブジェクトを指定するエンキューリクエストを第2オペレーティングシステムに発行し、かつ、エンキューリクエストが成功した場合には、更新開始通知への応答を第2オペレーティングシステムを介して第2ストレージシステムに送信し、第2ストレージシステムは、一連のライトデータによって第2論理ボリュームに記憶されたデータの更新を開始し、かつ、第2論理ボリュームに記憶されたデータの更新が完了した場合は、更新終了通知を第2コンピュータに送信し、第2プログラムは、更新終了通知を受領した場合に、第2データオブジェクトを指定するデキューリクエストを第2オペレーティングシステムに発行する。
第10観点では、第9観点において、第2コンピュータは、第3プログラムを実行し、かつ、第2オペレーティングシステムは、第2データオブジェクトを指定するエンキューリクエストの受信後から、第2データオブジェクトを指定するデキューリクエストが受信されるまでの間、第3プログラムによる第2データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第2データオブジェクトを管理する。
第11観点では、第10観点において、第1コンピュータは、第4プログラムを実行し、かつ、第1オペレーティングシステムは、第1データオブジェクトを指定するエンキューリクエストの受信後から、第1データオブジェクトを指定するデキューリクエストが受信されるまでの間、第4プログラムによる第1データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、第1データオブジェクトを管理する。
第12観点では、第10観点において、第3プログラムは、第2データオブジェクトを指定するエンキューリクエストを第2オペレーティングシステムに発行し、エンキューリクエストが成功した場合には、第2データオブジェクトに関するデータを読み出し、その後、第2データオブジェクトを指定するデキューリクエストを第2オペレーティングシステムに発行する。
第13観点では、第12観点において、コンピュータシステムは、バックアップ記憶システムを含み、かつ、第3プログラムは、第2データオブジェクトに関するデータを、第1プログラムにとって整合性のある状態としてのデータとして、バックアップ記憶システムに送信させる。
第14観点では、第13観点において、第1データオブジェクトは、第1ストレージシステムが認識できるデータユニットである。
第15観点では、第14観点において、第1データオブジェクトは、第1ストレージシステムでは認識できないが、第1プログラムにより認識可能なデータである。
第16観点では、第9観点において、第2プログラムは、第2ストレージシステムに記憶された複数のライトデータのうち、第2論理ボリュームに記憶されたデータの更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、第2プログラムは、エンキューリクエストの成功待ちのために、第2ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、未使用データ量情報に基づいて表示させる。
第17観点では、第9観点において、第1プログラムは、指定されたデータをテープ形式のデータに変換して管理するためのテープライブラリ管理プログラムとして構成されており、第1データオブジェクトは、第1プログラムにより管理されるテープ形式のデータであり、第1ストレージシステムは、複数の転送データをブロックデータの形式で、第2ストレージシステムに転送する。
第18観点では、第9観点において、第2プログラムは、第2オペレーティングシステムの中に組み込まれている。
第19観点では、第9観点において、第1論理ボリューム内には、別々の第1データオブジェクトを複数設けることができる。
第20観点では、第9観点において、第1ストレージシステムは、複数の転送データを記憶するための第1転送データ用論理ボリュームを備えており、第2ストレージシステムは、第1ストレージシステムから受信する複数の転送データを記憶するための第2転送データ用論理ボリュームを備えている。
本発明の構成要素の少なくとも一部は、コンピュータプログラムとして構成することができる。そのコンピュータプログラムは、記録媒体に固定されて流通したり、または、通信ネットワークを介して送信される。
図1は、本発明の実施形態に係るコンピュータシステムの概要を示す図である。 図2は、コンピュータシステムのブロック構成を示す図である。 図3は、ストレージシステムのブロック構成を示す図である。 図4は、メインサイト側のソフトウェア構成を示す図である。 図5は、DRサイト側のソフトウェア構成を示す図である。 図6は、仮想テープライブラリを管理するためのテーブルを示す図である。 図7は、排他制御テーブルを示す図である。 図8は、デキューの発行を待っているデータを管理するテーブルを示す図である。 図9は、メインサイトにおいて、コピー制御プログラムと仮想テープライブラリ及びオペレーティングシステムとの関係を示す図である。 図10は、ライトマーカの構成を示す図である。 図11は、更新開始時または更新終了時に、コピー制御プログラムからオペレーティングシステムへ送られるデータの構造を示す図である。 図12は、更新開始時の処理概要を示すフローチャートである。 図13は、副ボリューム内の仮想テープを更新させる処理の概要を示すフローチャートである。 図14は、副ボリューム内の仮想テープの更新開始前に、その仮想テープを他のプログラムが使用している場合の概要を示すフローチャートである。 図15は、メインホスト(メインサイトのホストコンピュータ)により実行される、仮想テープを作成または更新する処理のフローチャートである。 図16は、図15に続くフローチャートである。 図17は、オペレーティングシステムがライトエンキューを受領した場合の処理を示すフローチャートである。 図18は、オペレーティングシステムがライトエンキューの解放を要求された場合の処理を示すフローチャートである。 図19は、オペレーティングシステムがリードエンキューを受領した場合の処理を示すフローチャートである。 図20は、オペレーティングシステムがリードエンキューの解放を要求された場合の処理を示すフローチャートである。 図21は、メインホストにより実行される、ライト開始通知を受信した場合の処理を示すフローチャートである。 図22は、メインホストにより実行される、ライト終了通知を受信した場合の処理を示すフローチャートである。 図23は、メインホストにより実行される、メインサイト内のストレージシステムに記憶されている仮想テープを参照するための処理を示すフローチャートである。 図24は、メインサイトのストレージシステムにより実行される、ライト処理を示すフローチャートである。 図25は、メインサイトのストレージシステムにより実行される、ジャーナルデータの転送処理を示すフローチャートである。 図26は、DRサイトのストレージシステムにより実行される、ジャーナルデータを受け付ける処理を示すフローチャートである。 図27は、DRサイトのストレージシステムにより実行される、ジャーナルデータを仮想テープに反映させる処理を示すフローチャートである。 図28は、DRサイトのホストコンピュータ(DRホスト)により実行される、ライトマーカ処理を示すフローチャートである。 図29は、DRホストにより実行される、リードエンキューの受信処理を示すフローチャートである。 図30は、第2実施例に係り、DRホストにより実行される、未処理のジャーナルデータを監視する処理を示すフローチャートである。
以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態では、後述のように、メインサイト1P内のストレージシステム20PとDRサイト1S内のストレージシステム20Sとの間で、いわゆる非同期式のリモートコピーが行われる。コピー元のホスト10Pは、正ボリューム221P内の仮想テープを更新(更新には作成も含む。以下同様。)する場合に、更新の開始を示す特別なジャーナルデータと、更新の終了を示す別の特別なジャーナルデータとを作成する。
それら更新の開始及び終了を示す特別なジャーナルデータは、通常のジャーナルデータと同様に、非同期式リモートコピーによって、DRサイト1S内のストレージシステム20Sに送信され、記憶される。
コピー先であるストレージシステム20Sは、コピー元であるストレージシステム20Pから受信したジャーナルデータを、順番通りに、副ボリューム221S内の仮想テープに書き込むことにより、その仮想テープを更新させる。ジャーナルデータを順番に書き込むことにより、仮想テープの内容を更新させる処理のことを、本明細書では、「格上げ処理」と呼ぶことがある。
コピー先のストレージシステム20Sは、正側の仮想テープの更新を示す特別なジャーナルデータを発見した場合、DRサイト1S内のホスト10Sによる、副側の仮想テープの利用を抑止する。格上げ処理中の副側の仮想テープの内容は、正側の仮想テープの内容と一致せず、整合性が無いためである。
コピー先のストレージシステム20Sは、更新の終了を示す特別なジャーナルデータを発見すると、ホスト10Sによる副側の仮想テープの利用を許可する。なお、ホスト10Sが副側の仮想テープを利用している間に、更新の開始を示す特別なジャーナルデータが発見された場合、コピー先のストレージシステム20Sは、ホスト10Sによる利用が終了するまで、格上げ処理の開始を待つ。
このように、DRサイト1Sのストレージシステム20Sは、仮想テープの更新が行われる期間だけ、副ボリューム221S内の仮想テープの使用を防止し、それ以外の期間では、副ボリューム221S内の仮想テープの使用を許可する。従って、例えば、メインサイト1Pで基幹業務を実行している間に、副ボリューム221Sの仮想テープの内容を解析して、基幹業務の内容を調査等することができる。
図1は、本実施例によるコンピュータシステムの全体概要を示す。コンピュータシステムのハードウェア構成は、図2及び図3で後述する。コンピュータシステムのソフトウェア構成は、図4及び図5で後述する。
コンピュータシステムは、互いに物理的に離れて設置される複数のサイト1P,1Sを含む。一方のサイト1Pは、通常時に使用されるメインサイトである。他方のサイト1Sは、メインサイト1Pが停止した場合等に使用されるディザスタリカバリサイト(以下、DRサイト1S)である。メインサイト1Pをコピー元サイトまたは正サイトまたは第1サイトと、DRサイト1Sをコピー先サイトまたは副サイトまたは第2サイトまたはバックアップサイトと、呼ぶことができる。
メインサイト1Pは、ホストコンピュータ(以下、ホスト)10Pと、ストレージシステム20Pとを含む。同様に、DRサイト1Sも、ホスト10S及びストレージシステム20Sを含む。以下の説明では、メインサイト1P内のホスト10Pをメインホスト10Pと、メインサイト1P内のストレージシステム20Pをメインストレージシステム20Pまたはメインストレージ20Pと、DRサイト1S内のホスト10SをDRホスト10Sと、DRサイト1S内のストレージシステム20SをDRストレージシステム20SまたはDRストレージ20Sと、呼ぶ場合がある。
メインサイト1Pの構成を説明する。メインホスト10Pは、例えば、オペレーティングシステム(以下、OS)310Pと、業務プログラム320Pと、仮想テープ参照プログラム(以下、VTRプログラム)330Pと、仮想テープ作成プログラム(VTWプログラム)340Pと、仮想テープライブラリシステム(以下、VTLS)350Pと、コピー制御プログラム360Pとを含む。
メインストレージシステム20Pは、業務プログラム320Pにより使用される業務データ用の論理ボリューム221A(業務ボリューム221A)と、仮想テープを格納するための論理ボリューム(正ボリューム)221Pと、ジャーナルデータを格納するためのジャーナルボリューム221Jと、後述のテーブルとを含む。
VTLS350Pは、VTWプログラム340Pにより指定された業務用データを、テープ形式のデータに変換して、正ボリューム221P内の仮想テープに記憶させる。VTLS350Pは、VTRプログラム330Pにより指定されたデータを、正ボリューム221P内の仮想テープから読み出し、所定の変換を行ってからVTRプログラム330Pに提供する。
メインストレージシステム20Pは、メインホスト10Pからのライトデータによって、正ボリューム221P内の仮想テープが更新されると、その更新に関するジャーナルデータを作成して、ジャーナルボリューム221Jに格納させる。メインストレージシステム20Pは、ジャーナルボリューム221Jに蓄積されたジャーナルデータを、非同期式リモートコピーにより、DRストレージシステム20Sに送信する。
DRサイト1Sの構成を説明する。DRホスト10Sは、例えば、OS310Sと、業務プログラム320Sと、VTRプログラム330Sと、VTLS350Sと、コピー制御プログラム360Sとを含む。DRホスト10Sは、仮想テープを作成または更新するためのVTRプログラムを備えていない。仮想テープは、専らメインホスト10Pにより作成され、その仮想テープのコピーがDRストレージシステム20Sに記憶される。DRホスト10Sは、仮想テープのコピーを参照することはできるが、その仮想テープのコピーを更新させることはできない。
DRストレージシステム20Sは、業務用データを記憶するための業務ボリューム221Aと、仮想テープを記憶するための副ボリューム221Sと、ジャーナルデータを記憶するためのジャーナルボリューム221Jと、テーブルとを含む。
DRストレージシステム20Sは、メインストレージシステム20Pから受信するジャーナルデータを、ジャーナルボリューム221Jに記憶させる。DRストレージシステム20Sは、ジャーナルボリューム221Jに蓄積されたジャーナルデータに基づいて、副ボリューム221S内に記憶されている仮想テープを更新させる。
その仮想テープは、上述の通り、メインストレージシステム20P内の仮想テープのコピーである。そこで、以下の説明では、メインストレージシステム20P内の仮想テープを正側の仮想テープと、DRストレージシステム20S内の仮想テープを副側の仮想テープと、呼ぶ場合がある。
DRホスト10S内のプログラム(例えば、業務プログラム320S等)は、副側の仮想テープのデータを読み出して、その読み出したデータを副側の業務ボリューム221Aに書き込むことができる。これにより、正側の業務ボリューム221Aの記憶内容と副側の業務ボリューム221Aの記憶内容とが一致する。
図2は、コンピュータシステムのハードウェア構成を示す。図2は、特に、ホスト10P,10Sの構成例を示している。ここで、メインホスト10PとDRホスト10Sとは同一構成であるため、メインホスト10Pについて説明する。
メインホスト10Pは、例えば、サーバコンピュータのように構成され、マイクロプロセッサ(図中、CPU:Central Processing Unit)11と、メモリ12と、補助記憶装置13と、I/O(Input/Output)用通信インターフェース14と、管理用通信インターフェース15とを含んで構成される。なお、図中では、インターフェースを「I/F」と略記している。
メモリ12または補助記憶装置13には、後述する各種プログラムが記憶されており、それらプログラムをマイクロプロセッサ11が実行する。それにより、仮想テープの作成及び仮想テープライブラリの管理等を行うための各機能が実現される。
I/O用通信インターフェース14は、メインストレージシステム20Pとの間で、データを送受信するための通信インターフェースである。I/O用通信インターフェース14は、例えば、IP−SAN(Internet Protocol-Storage Area Network)等の通信ネットワーク40Pを介して、メインストレージシステム20Pに接続されている。サイト内通信ネットワーク40Pは、サイト間通信ネットワーク43を介して、DRサイト1S内の通信ネットワーク40Sに接続されている。メインストレージシステム20Pは、サイト間通信ネットワーク43等を介して、DRストレージシステム20Sにジャーナルデータを転送する。
管理用通信インターフェース15は、例えば、LAN(Local Area Network)等の管理用通信ネットワーク41Pに接続される。メインホスト10Pは、管理用通信ネットワーク41Pを介して、管理装置30P及びメインストレージシステム20Pに接続される。
管理装置30Pは、メインサイト1Pを管理するためのコンピュータである。管理装置30Pは、システム管理者等のユーザと情報を交換するためのユーザインターフェースを備えている。そのユーザインターフェースは、情報を出力するための装置と、情報を入力するための装置とを含む。情報出力装置としては、例えば、ディスプレイ装置または音声出力装置等を挙げることができる。情報入力装置としては、例えば、キーボードスイッチ、ポインティングデバイス、マイクロフォン等を挙げることができる。なお、管理装置30Pとユーザインターフェースとを分離する構成でもよい。例えば、管理装置30Pを使用するための管理用端末を別に設け、その管理用端末にユーザインターフェースを設ける構成でもよい。
ユーザは、管理装置30Pを介して、メインホスト10P及びメインストレージシステム20Pの構成等を設定したり、メインホスト10P及びメインストレージシステム20Pから各種の情報を読み出したりすることができる。
DRサイト1Sにも、前記同様に、I/O通信ネットワーク40Sと、管理用通信ネットワーク41Sと、管理装置30Sとが設けられている。
ストレージシステム20P,20Sの構成を説明する。メインストレージシステム20PとDRストレージシステム20Sとは同一構成のため、メインストレージシステム20Pについて説明する。
メインストレージシステム20Pは、図2に示すように、コントローラ21と、記憶装置搭載部(以下、HDUと略記)22とを備える。コントローラ21は、メインストレージシステム20Pの動作を制御する。HDU22は、複数の記憶装置を搭載しており、コントローラ21により制御される。
図3は、各ストレージシステム20P,20Sのハードウェア構成を示す。図2に示すコントローラ21は、例えば、ホスト通信用インターフェース(図中、ホストI/F)210と、リモートコピー用通信インターフェース(図中、コピーI/F)211と、記憶装置用通信インターフェース(図中、ディスクI/F)212と、共有メモリ(図中、SM)213と、キャッシュメモリ(図中、CM)214と、マイクロプロセッサ215と、ローカルメモリ(図中、LM)216と、サービスプロセッサ(図中、SVP)217と、スイッチ(図中、SW)218とを含んでいる。
ホスト通信用インターフェース210は、I/O用通信ネットワーク40Pを介して、メインホスト10Pと通信するための制御回路である。コピー用通信インターフェース211は、I/O用通信ネットワーク40Pとサイト間通信ネットワーク43及びI/O通信ネットワーク40Sを介して、DRストレージシステム20Sと通信するための制御回路である。ディスク用通信インターフェース212は、HDU22内の各記憶装置220との間で通信するための制御回路である。
共有メモリ213は、メインストレージシステム20Pを制御するために必要な制御情報及び管理情報を記憶するためのメモリ領域である。キャッシュメモリ214は、メインホスト10Pから受信したライトデータ等を記憶するためのメモリ領域である。さらに、キャッシュメモリ214には、DRストレージシステム20Sに送信するためのデータと、記憶装置210から読み出されるデータとを記憶させることができる。
なお、図3では、共有メモリ213とキャッシュメモリ214とを別々のメモリとして示すが、これに限らず、一つまたは複数のメモリからなる記憶領域のうち、一方の記憶領域を共有メモリ領域として使用し、他方の記憶領域をキャッシュ領域として使用する構成でもよい。
マイクロプロセッサ215は、例えば、所定の制御プログラムを読み込んで実行することにより、メインストレージシステム20Pの動作を制御する。ローカルメモリ216には、例えば、共有メモリ213に記憶されている制御情報等のうち、一部の制御情報等がコピーされる。
サービスプロセッサ217は、管理用通信ネットワーク41Pを介して、管理装置30Pに接続される。サービスプロセッサ217は、管理装置30Pからの指示に応じて、メインストレージシステム20Pの構成を設定する。さらに、サービスプロセッサ217は、メインストレージシステム20P内の各種状態を示す情報を収集し、それら各種状態を示す情報を管理装置30Pに送信する。管理装置30Pは、サービスプロセッサ217から得た情報を加工して、または、そのままで、管理装置30Pの有するディスプレイ装置に表示させる。
スイッチ218は、上述の各回路210,211,212,213,214,215,217を相互に接続するためのスイッチ回路である。
HDU22について説明する。HDU22は、複数の記憶装置210を有する。記憶装置210としては、例えば、ハードディスク装置、半導体メモリ装置、光ディスク装置、光磁気ディスク装置、磁気テープ装置等の、データを読み書き可能な種々の記憶装置を挙げることができる。
ハードディスク装置を用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System nterface)ディスク、SATAディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。また、例えば、フラッシュメモリ、FeRAM Ferroelectric Random Access Memory)、MRAM(MagnetoresistiveRandom Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(Resistance RAM)、PRAM(Phase change RAM)等の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置をHDU22内に混在させる構成でもよい。
一つまたは複数の記憶装置210の有する物理的記憶領域をグループ化し、そのグループ化された記憶領域に論理的な記憶領域を一つまたは複数設けることができる。その論理的記憶領域は、論理ボリューム221と呼ばれる。
図4は、メインホスト10P及びメインストレージシステム20Pのソフトウェア構成を示す。メインホスト10Pのメモリ12には、OS310Pと、業務プログラム320Pと、VTRプログラム330Pと、VTWプログラム340Pと、VTLS350Pと、コピー制御プログラム360Pと、VTLSテーブルT10と、排他制御テーブルT20とが記憶されている。
業務プログラム320Pは、例えば、顧客管理プログラム、売上げ管理プログラム、電子メール管理プログラム、動画配信プログラム等のような、ユーザの業務を行うためのプログラムである。
VTRプログラム330Pは、仮想テープを参照するためのプログラムである。VTWプログラム340Pは、仮想テープを作成または更新するためのプログラムである。VTLS350Pは、正ボリューム221P内に記憶される各仮想テープを管理するためのプログラムである。VTLS350Pは、VTWプログラム340Pからの指示により、業務ボリューム221A内の業務データをテープ形式のデータに変換し、そのテープ形式のデータを、正ボリューム221P内の仮想テープに書き込む。さらに、VTLS350Pは、VTRプログラム330Pからの指示により、正ボリューム221P内の仮想テープからデータを読み出す。VTLS350Pは、必要に応じて、テープ形式のデータを業務データの形式に変換する。
コピー制御プログラム360Pは、非同期リモートコピーの下で、DRホスト10Sがコピー先ボリューム221Sのデータを直接的に使用できるように、リモートコピーに関する制御を行うためのプログラムである。実際のリモートコピー処理は、メインストレージシステム20Pの有する非同期コピー制御プログラム370Pにより実行される。
コピー制御プログラム360Pは、仮想テープが更新される場合に、仮想テープが更新中であることを示す情報(後述のライトマーカである)を生成し、ジャーナルボリューム221Jに書き込ませるプログラムである。
VTLSテーブルT20は、各仮想テープを管理するためのテーブルである。その詳細は後述する。VTLSテーブルT20は、リモートコピーの対象となっており、メインストレージシステム20PとDRストレージシステム20Sと両方で、同一のVTLSテーブルT20を使用する。
メインストレージシステム20Pの共有メモリ213(他のメモリまたは記憶装置210でもよい。)には、非同期コピー制御プログラム370Pが記憶されている。非同期コピー制御プログラム370Pは、メインストレージシステム20PとDRストレージシステム20Sとの間で実行される、ブロックデータを用いた非同期リモートコピーを実行するためのプログラムである。
図5は、DRホスト10S及びDRストレージシステム20Sのソフトウェア構成を示す図である。DRホスト10Sのメモリ12には、OS310Sと、業務プログラム320Sと、VTRプログラム330Sと、VTLS350Sと、コピー制御プログラム360Sと、VTLSテーブルT10と、排他制御テーブルT20と、デキュー(図中、DEQ)待ちテーブルT30とが記憶されている。
図4との相違は、DRホスト10Sは、VTWプログラムを備えていない点と、デキュー待ちテーブルT30を備えている点とである。DRホスト10Sは、副側の仮想テープまたは/及び副側の業務データを解析して、統計処理等を行う。副側のデータを解析するだけであれば、DRホスト10Sは、仮想テープの参照だけできればよく、仮想テープのデータを書き換えたりする必要はない。
デキュー待ちテーブルT30は、副側の各仮想テープのうち、エンキューの解除を待っている仮想テープを管理するためのテーブルである。その詳細は、図8で述べる。
なお、DRストレージシステム20Sの共有メモリ213にも、メインストレージシステム20PとDRストレージシステム20Sとの間で、非同期にリモートコピー処理を実行するためのプログラム370Sが記憶されている。
ここで、特許請求の範囲に記載された構成要素と実施例の構成との対応関係の一例を説明する。「第1オペレーティングシステム」には、OS310P及びコピー制御プログラム360Pが対応する。「第1プログラム」には、VTLS350Pが対応する。「第2オペレーティングシステム」には、OS310Sが対応する。「第2プログラム」には、コピー制御プログラム360Sが対応する。「第3プログラム」には、VTRプログラム330Sが対応する。「第4プログラム」には、VTRプログラム330PまたはVTWプログラム340Pのいずれか又は両方が対応する。
図6〜図8に基づいて、本実施例で使用される各種情報の構成例を説明する。本実施例では、例えば、「○○テーブル」、「○○データベース」、「○○リスト」、「○○キュー」のような表現を用いて、本実施例の各種情報について説明することがある。しかし、本実施例で使用される各種情報は、必ずしもテーブル、データベース、リストまたはキューのようなデータ構造である必要はなく、それ以外の構造であってもよい。つまり、本実施例で使用される各種情報は、特定のデータ構造に依存しない。なお、本実施例で使用される各種情報を説明する場合に、例えば、「識別情報」、「識別子」、「ID」、「名」等の各種表現を用いることがあるが、それら各種表現は互いに置換可能である。
図6は、VTLSテーブルT10を示す。図中、仮想テープをVTと略記する。VTLSテーブルT10は、例えば、仮想テープ番号C10と、仮想テープ名C11と、格納先C12と、ライトマーカ書込先C13とを対応付けて管理する。
仮想テープ番号C10は、各仮想テープに設定された連続番号である。仮想テープ名C11は、各仮想テープを識別するための情報である。格納先C12は、仮想テープが記憶されている場所を示す情報である。格納先C12は、例えば、ボリューム識別子(図中、VOL−ID)C120と、スタートアドレスC121と、エンドアドレスC122とを含む。
ボリューム識別子C120は、仮想テープを格納している論理ボリュームを識別するための情報である。スタートアドレスC121は、格納先ボリューム内で仮想テープが記憶されている先頭アドレスを示す。エンドアドレスC122は、仮想テープの終了アドレスを示す。
各項目C120〜C122を含む格納先C12によって、どの仮想テープがどの論理ボリューム221のどこに記憶されているかを把握できる。図6に示すように、一つの論理ボリューム221(VOL1)に、それぞれ異なる複数の仮想テープ(VT−ABC01,VT−DEF02)を記憶させることができる。さらに、一つの仮想テープ(VT−ABC01)を、同一の論理ボリューム221(VOL1)内の別々の場所に保存させることができる。さらに、一つの仮想テープ(VT−DEF02)を、異なる複数の論理ボリューム221(VOL1,VOL2)に分散させて記憶させることもできる。
ある仮想テープについて参照禁止または/及び書込み禁止が設定された場合でも、その仮想テープと同一の論理ボリューム221内に存在する他の仮想テープは、参照または書込みすることができる。VTLS350P,350Sにより、各仮想テープはそれぞれ独立して管理されている。
ライトマーカ書込先C13は、後述のライトマーカ410(図10参照)の書込先を管理するための情報である。ライトマーカ書込先C13は、例えば、ボリューム識別子C130と、スタートアドレスC131と、エンドアドレスC132とを含む。
ボリューム識別子C130は、ライトマーカ410が記憶されている論理ボリュームを識別する情報である。スタートアドレスC131は、ライトマーカ410の先頭アドレスを示す。エンドアドレスC132は、ライトマーカ410の終了アドレスを示す。各項目C130〜C132を含むライトマーカ書込先C13によって、各仮想テープに関するライトマーカ410がどの論理ボリューム221のどこに記憶されているかを、把握することができる。
図7は、排他制御テーブルT20を示す。排他制御テーブルT20は、対象データ(仮想テープ)へのアクセスを制御するためのテーブルである。排他制御テーブルT20は、例えば、対象データ名C20と、制御種別C21とを含む。対象データ名C20は、アクセス制御の対象となるデータを特定するための情報である。制御種別C21は、対象データに対するアクセス制御の種別を示す情報である。
制御種別C21は、例えば、ライトエンキュー及びリードエンキューを含む。ライトエンキューまたはリードエンキューのいずれかを示す種別C210と、対象データへのI/Oの種別C211とは、図7に示すように以下の関係にある。
対象データにライトエンキューが設定されている場合、その対象データへのリードアクセス及びライトアクセスの両方が禁止される。つまり、その対象データは、参照禁止及び更新禁止の状態となる。
対象データにリードエンキューが設定されている場合、その対象データへのリードアクセスは許可されるが、ライトアクセスは禁止される。つまり、その対象データは、書込み禁止状態になる。
対象データとしての仮想テープが更新される場合、その仮想テープについてライトエンキューが設定される。ライトエンキューの設定された仮想テープには、その仮想テープの更新を希望したプログラムのみがアクセス可能であり、他のプログラムはアクセスすることができない。
これに対し、別のプログラムが仮想テープの参照を希望した場合、その仮想テープにはリードエンキューが設定される。リードエンキューの設定された仮想テープからは、参照を希望したプログラム及び他のプログラムがデータを読み出すことができる。参照元プログラム以外の他のプログラムは、リードエンキューの設定された仮想テープを参照することはできるが、その仮想テープを更新することはできない。
上述の機能に着目すると、ライトエンキュー及びリードエンキューは、対象データへのアクセスを制御するためのアクセス制御情報である。さらには、ライトエンキューは、対象データについて、書込み元プログラム以外の参照及び更新を禁止させるための第1アクセス制御情報であると言える。リードエンキューは、対象データについて、更新を禁止させ、参照は許可させるための第2アクセス制御情報であると言える。
図8は、デキュー待ちテーブルT30を示す。デキューとは、エンキューを解除させるための情報である。例えば、ライトエンキューの設定された仮想テープは、そのライトエンキューを解除させるためのデキューが発行されるまでの間、他のプログラムによる参照及び更新が禁止される。
デキュー待ちテーブルT30は、デキューの発行を待っている仮想テープを管理するためのテーブルである。従って、デキュー待ちテーブルT30には、デキュー待ちの仮想テープの名称が記録される。
図9は、メインホスト10Pにおける、コピー制御プログラム360PとVTLS350P及びOS310P等との関係を模式的に示す。正ボリューム221P内の仮想テープを更新する場合、VTWプログラム340Pが更新対象の仮想テープ名を指定して、VTLS350Pに更新指示を与える。
VTWプログラム340Pからの更新指示を受けて、VTLS350Pは、コピー制御プログラム360Pに、ライト開始通知400を発行する。ライト開始通知400は、仮想テープの更新開始を示す情報である。ライト開始通知400は、例えば、対象の仮想テープ名401と、処理開始(エンキュー)または処理終了(デキュー)のいずれあるかを示す区分402と、マーカ格納先アドレス403とを含む。マーカ格納先アドレス403とは、コピー制御プログラム360Pにより作成されるライトマーカ410の格納場所を示す情報である。
コピー制御プログラム360Pは、ライト開始通知400を受領すると、そのライト開始通知400に基づいてライトマーカ410を作成する。コピー制御プログラム360Pは、ライトマーカ410をOS310Pに引き渡し、所定の格納先(マーカ格納先アドレス403)に書き込むように指示する。
ここで、DRストレージシステム20Sに更新開始を知らせるためのライトマーカ410は、ライト開始マーカと呼ばれる。更新終了を知らせるためのライトマーカ410は、ライト終了マーカと呼ばれる。ライトマーカとは、ライト開始マーカとライト終了マーカを含む総称である。
OS310Pは、ライトマーカを指示された場所(ここでは、ジャーナルボリューム221J内の所定のアドレス)に書き込む。その後、VTLS350Pは、VTWプログラム340Pから渡されるライトデータ(業務データ)をテープ形式のデータに変換し、そのテープ形式のライトデータを、OS310Pにより正ボリューム221P内の仮想テープに書き込ませる。さらに、VTLS350Pは、仮想テープに書き込まれるライトデータに基づいてジャーナルデータを作成し、そのジャーナルデータをOS310Pによってジャーナルボリューム221Jに保存させる。
仮想テープの更新が完了すると、VTLS350Pは、ライト終了通知を作成して、コピー制御プログラム360Pに送信する。ライト終了通知は、ライト開始通知と同一構造を有しており、その区分402に設定される値のみ相違する。
コピー制御プログラム360Pは、ライト終了通知を受領すると、更新処理の終了を示すためのライト終了マーカを作成する。ライト終了マーカは、OS310Pを介してジャーナルボリューム221Jに書き込まれる。
このように、正ボリューム221P内の仮想テープVTが更新される場合には、その更新の開始を示すライト開始マーカと、その更新の終了を示すライト終了マーカとが作成されて、ジャーナルボリューム221Jに格納される。ライト開始マーカ及びライト終了マーカは、通常のジャーナルデータと共に、DRストレージシステム20Sに送信されて保存される。
図10は、ライトマーカ410の構造を示す。図10(1)に示すように、ライトマーカ410は、対象データである仮想テープを特定するための仮想テープ名411と、更新開始または更新終了のいずれであるかを示すための区分412とを含む。
図10(2)に示すように、ライト開始マーカでは、区分412に「ライト開始」と設定される。図10(3)に示すように、ライト終了マーカでは、区分412に「ライト終了」と設定される。なお、説明の便宜上、「ライト開始」または「ライト終了」の文字コードが設定されるかのように示しているが、実際には、「1」または「0」のいずれかの値を設定するだけで、ライト開始とライト終了とを区別できる。
図11は、コピー制御プログラム360Pにより作成され、OS310Pに渡される更新I/O420の構造を示す。コピー制御プログラム360Pは、VTLS350Pからライト開始通知400またはライト終了通知400を受領すると、ライト開始マーカまたはライト終了マーカを作成し、それら各マーカの書込みをOS310Pに要求する。その書込み要求時に作成される更新I/O420が、図11に示されている。
更新I/O420は、例えば、マーカI/Oフラグ421と、書込先アドレス422と、書込み対象データであるライトマーカ410とを含む。マーカI/Oフラグ421は、その更新I/O420がライトマーカ410の書込みを要求するためのI/Oであって、通常のライトデータの書込みとは異なることを示す情報である。つまり、マーカI/Oフラグ421は、ライトマーカと通常のライトデータとを区別する情報である。書込先アドレス422は、ライトマーカ410を書き込むべき記憶領域を特定する情報である。ライトマーカ410は、書込み対象のデータである。
図12〜図29に基づいて、本実施例の動作を説明する。まず最初に、本実施例の理解のために、図12〜図14に基づいて全体動作の概要を説明し、続いて、個別の各処理の内容を説明する。なお、図12〜図14に示す概要は、本実施例の理解のために用意されたものであり、本発明の範囲を図12〜図14に示す範囲に限定する趣旨ではない。
以下の説明では、便宜上、ホスト、または、コンピュータプログラムにより実現される機能部を主語として説明する。コンピュータプログラムは、マイクロプロセッサに読み込まれて実行され、通信インターフェース等のハードウェア資源を適宜用いることにより、所定の機能を実現する。従って、コンピュータプログラムまたはコンピュータプログラムにより実現される機能部を主語として、本実施例によるコンピュータシステムの動作を説明可能である。なお、コンピュータプログラムの一部または全部がハードウェア回路で実現されてもよい。
図12は、メインサイト1Pにおいて、仮想テープを更新させるまでの処理の概要を示している。ACK応答等の細かいステップは図示を省略する。
仮想テープを更新する場合、VTWプログラム340Pは、対象の仮想テープ名を指定して、VTLS350Pに更新を要求する(S10)。以下、更新と作成の両方を含めて「更新」と呼ぶ。
VTLS350Pは、VTWプログラム340Pからの指示を受けると、仮想テープ名を指定して、OS310Pにライトエンキューの取得を要求する(S12)。OS310Pは、指定された仮想テープを他のプログラムが使用していない場合、その仮想テープについてライトエンキューを設定する。これにより、他のプログラムは、その仮想テープへの参照及び更新の両方が禁止される。つまり、VTLS350Pのみが、その仮想テープを排他的に利用できる。仮想テープを排他的に利用する状態を、図12〜図14では、太い実線で示している。
VTLS350Pは、ライトエンキューの取得を確認すると、コピー制御プログラム360Pにライト開始通知400を送信する(S13)。コピー制御プログラム360Pはライト開始マーカ410を作成し、OS310Pに引き渡す(S14)。OS310Pは、受領したライト開始マーカ410をメインストレージシステム20Pに送信する。
メインストレージシステム20Pは、受信したライト開始マーカ410にタイムスタンプを対応付けて、ジャーナルボリューム221Jに格納させる(S15)。タイムスタンプは、「順序情報」に該当する。タイプスタンプに代えて、書込みの順番を示す連続番号を用いてもよい。
VTLS350Pは、ライト開始マーカ410が発行されたことを確認すると、VTWプログラム340Pから渡される業務データをテープ形式のデータに変換して、そのテープ形式のデータをライトデータとして、OS310Pに送る(S16)。
OS310Pは、ライトデータをメインストレージシステム20Pに送信する。メインストレージシステム20Pは、受信したライトデータを正ボリューム221P内の仮想テープに書き込む(S17)。さらに、メインストレージシステム20Pは、受信したライトデータにタイムスタンプを対応付けて、ジャーナルデータを作成し、そのジャーナルデータをジャーナルボリューム221Jに格納させる(S17)。
VTLS350Pは、仮想テープの更新が完了すると、ライト終了通知400を作成してコピー制御プログラム360Pに送る(S18)。コピー制御プログラム360Pは、ライト終了マーカ410を作成してOS310Pに送る(S19)。OS310Pは、ライト終了マーカ410をメインストレージシステム20Pに送信する。メインストレージシステム20Pは、ライト終了マーカ410をタイムスタンプに対応付けてジャーナルボリューム221Jに格納させる(S20)。
VTLS350Pは、ライト終了マーカ410の発行を確認すると、OS310Pにライトエンキューの解除を要求する(S21)。これにより、仮想テープの更新が完了し、排他制御が解除される。メインホスト10P内の他のプログラムは、その仮想テープを参照または更新することができる。
図13は、DRサイト1Sにおいて、メインサイト1Pから受信したジャーナルデータにより、副側の仮想テープを更新させる処理を示す。メインストレージシステム20PからDRストレージシステム20Sには、ジャーナルデータが非同期リモートコピー方式で送信される。そのジャーナルデータの中には、ライト開始マーカ410も含まれている(S31)。
DRストレージシステム20Sは、ジャーナルボリューム221J(以下、図13の説明において、ジャーナルボリューム221JとはDRストレージシステム20S内のジャーナルボリュームを示す。)に蓄積されたジャーナルデータを一つずつ取り出して、格上げ処理(仮想テープの更新処理のことである)を開始する。
DRストレージシステム20Sは、ジャーナルボリューム221Jから取り出したジャーナルデータがライト開始マーカ410であった場合(S32)、DRストレージシステム20Sは、DRホスト10SのOS310Sに、ライト開始マーカ410が到着した旨を通知する。仮想テープについての格上げ処理は、いったん中止される。
OS310Sは、コピー制御プログラム360Sに、ライト開始マーカの到着を通知する(S33)。コピー制御プログラム360Sは、OS310Sに、更新対象となっている副側の仮想テープを指定して、ライトエンキューの取得を要求する(S34)。
OS310Sが対象の仮想テープについてライトエンキューを設定すると、コピー制御プログラム360Sは、DRストレージシステム20Sに、格上げ処理の再開を指示する(S35)。再開指示は、OS310Sを介してDRストレージシステム20Sに送信される。その再開指示を受領したDRストレージシステム20Sは、ジャーナルボリューム221Jからジャーナルデータを読み出して、それが作成された順番通りに、副ボリューム221S内の仮想テープに書き込む(S36)。
仮想テープについてライトエンキューが設定された後で、例えば、VTRプログラム330SがVTLS350Sに仮想テープの参照を要求した場合(S37)、OS310Sは、その参照要求(リード要求)を拒否する(S38)。その仮想テープについて既にライトエンキューが設定されており、参照も更新も禁止されているためである。
メインストレージシステム20PからDRストレージシステム20Sに、ライト終了マーカ410が送信されて、ジャーナルボリューム221Jに記憶される(S39)。DRストレージシステム20Sは、ライト終了マーカ410を発見すると(S40)、OS310Sに通知する。
OS310Sは、コピー制御プログラム360Sに、ライト終了マーカ410の検出を通知する(S41)。コピー制御プログラム360Sは、OS310Sに、ライトエンキューの解放を要求する。OS310Sは、排他制御対象であった副側の仮想テープについて、排他制御を終了させる(S42)。つまり、OS310Sは、ライトエンキューを解放する。
その後、VTR330Sが、副側の仮想テープからのデータ読み出しを要求すると(S43)、OS310Sは、その要求に応じて、DRストレージシステム20SにリードI/Oを発行する。
このように、本実施例では、副側の仮想テープについて格上げ処理(更新処理)を行っている間は、その仮想テープのデータの利用を禁止するが、格上げ処理が行われていない期間では、その仮想テープの利用を許可する。従って、DRホスト10S内のプログラムは、許可された期間内に仮想テープのデータを解析し、基幹業務の実態等を調査することができる。
図14は、DRサイト1Sにおいて、副側の仮想テープについての格上げ処理を開始するよりも前に、他のプログラム330Sがその仮想テープを使用している場合の処理を示している。
図14の下側に示すように、VTRプログラム330Sは、副側の仮想テープの参照をVTLS350Sに要求する(S50)。VTLS350Sは、OS310Sに、その仮想テープについてのリードエンキューを要求する。OS310Sは、その仮想テープについてリードエンキューを設定する(S51)。これにより、その仮想テープについては、読み出しのみが許可され、更新は禁止される。
その後、メインストレージシステム20PからDRストレージシステム20Sにライト開始マーカ410がジャーナルデータの一つとして送信され(S52)、DRストレージシステム20Sは、ライト開始マーカ410の到着を検出する(S53)。ライト開始マーカ410を発見した時点で、格上げ処理はいったん中止される。
DRストレージシステム20Sは、OS310Sを介してコピー制御プログラム360Sに、ライト開始マーカ410の到着を通知する。コピー制御プログラム360Sは、OS310Sに、指定された仮想テープについてのライトエンキューの設定を要求する。しかし、S51において、その仮想テープには、VTRプログラム330Sによって、リードエンキューが設定されている。従って、OS310Sは、コピー制御プログラム360Sからのライトエンキュー設定に失敗した旨を応答する(S54)。
つまり、先に仮想テープが他のプログラムにより使用されている場合、他のプログラムによる使用が終了するまで、その仮想テープについて格上げ処理を行うことはできず、待機状態に置かれる。
その後、VTRプログラム330Sによる仮想テープの参照が終了すると、OS310Sは、仮想テープについてのリードエンキューを解放する(S55)。コピー制御プログラム360Sは、OS310Sに、仮想テープについてのライトエンキューの取得を再び要求する(S56)。OS310Sは、その仮想テープについてライトエンキューを設定する(S57)。
コピー制御プログラム360Sは、仮想テープについてのライトエンキュー取得を確認すると、DRストレージシステム20Sに格上げ処理の再開を指示する(S58)。DRストレージシステム20Sは、再開指示を受領すると、仮想テープについての格上げ処理を再開する(S59)。その後、ライト終了マーカ410が検出されると(S60,S61)、仮想テープについてのライトエンキューが解放される。
図15は、メインホスト10P内のVTLS350Pにより実行される、仮想テープの作成または更新処理を示すフローチャートである。VTLS350Pは、VTWプログラム340Pから指定された仮想テープ名がVTLSテーブルT10に記載されているか否かを判定する(S100)。
指定された仮想テープ名がVTLSテーブルT10に記載されていない場合(S100:NO)、VTLS350Pは、処理に失敗した旨をVTWプログラム340Pに通知し(S101)、本処理を終了する。
指定された仮想テープ名がVTLSテーブルT10に記載されている場合(S100:YES)、VTLS350Pは、指定された仮想テープについてのライトエンキューの取得をOS310Pに要求する(S102)。VTLS350Pは、ライトエンキューの取得が成功するまで待機する(S103)。
OS310Pがライトエンキューの取得に成功すると(S103:YES)、VTLS350Pは、VTLSテーブルT10から、仮想テープの格納先を示す情報C12を取得する(S104)。VTLS350Pは、ライト開始通知400を作成して、コピー制御プログラム360Pに更新開始を通知する(S105)。
続いて図16のフローチャートを参照する。VTLS350Pは、コピー制御プログラム360PからのOKを待つ(S106)。S106におけるOKとは、コピー制御プログラム360Pによってライト開始マーカ410が正常に発行されたことを示す処理結果である。何らかの原因により、ライト開始マーカ410の発行が失敗した場合(S106:NO)、VTLS350Pは、VTWプログラム340Pに、処理が失敗した旨を通知する(S107)。
ライト開始マーカ410が発行された場合(S106:YES)、VTLS350Pは、VTWプログラム340Pから渡された業務データをテープ形式のデータに変換し、OS310Pに更新I/O(ライトI/O)を発行する(S108)。これにより、テープ形式のライトデータがOS310Pからメインストレージシステム20Pに送信され、仮想テープに書き込まれる。さらに、そのライトデータに基づいてジャーナルデータが作成され、メインストレージシステム20P内のジャーナルボリューム221Jに格納される。
仮想テープの更新が完了すると、VTLS350Pは、ライト終了通知400を作成してコピー制御プログラム360Pに送信する(S109)。この通知を受けたコピー制御プログラム360Pは、ライト終了マーカ410を作成してOS310Pに送り、メインストレージシステム20P内のジャーナルボリューム221Jに格納させる。VTLS350Pは、ライト終了マーカ410の発行を確認した後で、ライトエンキューの解放をOS310Pに要求する(S110)。VTLS350Pは、VTWプログラム340Pに、処理が正常に完了した旨を通知する(S111)。
図17は、OS310P,310Sにより実行される、ライトエンキューの取得処理を示す。以下、OS310Pを主語として述べるが、副側のOS310Sも本処理を同様に行うことができる。なお、図17〜図20に示す各処理についても、正側のOS310P及び副側のOS310Sがそれぞれ実行可能である。しかし、説明の便宜上、主語をOS310Pとする。
OS310Pは、指定された対象データ名d1を検出する(S120)。OS310Pは、対象データ名d1が排他制御テーブルT20に登録されているか否かを判定する(S121)。
対象データ名d1が排他制御テーブルT20に登録されていない場合(S121:NO)、OS310Pは、排他制御テーブルT20にデータ名d1及び制御種別(ここでは、ライトエンキューである)を登録する(S122)。OS310Pは、ライトエンキューの発行元に、処理が完了した旨を報告する(S123)。
対象データ名d1が排他制御テーブルT20に登録されている場合(S121:YES)、OS310Pは、登録済のデータ名d1について更新禁止が設定されているか否かを確認する(S124)。更新禁止が設定されている場合(S124:YES)、別のプログラムにより、その対象データ名d1についてライトエンキューが設定されている場合なので、OS310Pは、ライトエンキューの発行元に、ライトエンキューの取得に失敗した旨を通知する(S125)。
排他制御テーブルT20に登録済のデータ名d1に、更新禁止が設定されていない場合(S124:NO)、OS310Pは、排他制御テーブルT20において、対象データ名d1にライトエンキューを設定する(S122)。なお、本実施例では、図7について述べた通り、リードエンキューが設定されたデータ(仮想テープのデータ)を更新することはできない。従って、殆どの場合、S124では「NO」と判定される。
図18は、ライトエンキューを解放させる処理を示す。OS310Pは、指定された対象データ名d1を検出し(S130)、そのデータ名d1が排他制御テーブルT20に登録されているか否かを判定する(S131)。
対象データ名d1が排他制御テーブルT20に登録されている場合(S131:YES)、OS310Pは、排他制御テーブルT20から対象データ名d1を含む行を削除する(S132)。これにより、対象データ名d1に関するライトエンキューが解放され、アクセス制限が解除される。OS310Pは、ライトエンキュー解放の要求元に、ライトエンキューの解放に成功した旨を通知する(S133)。
これに対し、対象データ名d1が排他制御テーブルT20に登録されていない場合(S131:NO)、OS310Pは、ライトエンキュー解放の要求元に、処理に失敗した旨を通知する(S134)。
図19は、リードエンキューを取得する処理を示す。OS310Pは、VTRプログラム330Pから指定される対象データ名d1を検出する(S140)。OS310Pは、その対象データ名d1が排他制御テーブルT20に登録されているか否かを判定する(S141)。
対象データ名d1が排他制御テーブルT20に登録されていない場合(S141:NO)、OS310Pは、対象データ名d1及び制御種別(ここでは、リードエンキュー)を排他制御テーブルT20に登録する(S142)。OS310Pは、リードエンキューの要求元に、処理が正常に完了した旨を通知する(S143)。
対象データ名d1が排他制御テーブルT20に登録されていない場合(S141:YES)、OS310Pは、排他制御テーブルT20に登録されている対象データ名d1について更新禁止が設定されているか否かを確認する(S144)。
対象データ名d1にライトエンキューが設定されている場合(S144:YES)、OS310Pは、リードエンキューの要求元に、処理に失敗した旨を通知する(S145)。
図20は、リードエンキューを解放させる処理を示す。OS310Pは、指定された対象データ名d1を検出すると(S150)、そのデータ名d1が排他制御テーブルT20に登録されているか否かを判定する(S151)。
対象データ名d1が排他制御テーブルT20に登録されている場合(S151:YES)、OS310Pは、対象データ名d1を含む行を排他制御テーブルT20から削除する(S152)。OS310Pは、リードエンキュー解放の要求元に、リードエンキューの解放に成功した旨を通知する(S153)。
対象データ名d1が排他制御テーブルT20に登録されていない場合(S151:NO)、OS310Pは、リードエンキュー解放の要求元に、リードエンキューの解放に失敗した旨を報告する(S154)。
図21は、メインホスト10P内のコピー制御プログラム360Pにより実行される、ライト開始マーカの作成処理を示す。コピー制御プログラム360Pは、VTLS350Pから受け取る通知400の種別がライト開始通知であるか、それともライト終了通知であるかを判別する(S160)。
ライト開始通知の場合、コピー制御プログラム360Pは、ライト開始マーカ410を作成する(S161)。コピー制御プログラム360Pは、ライト開始マーカ410をメインストレージシステム20P内のジャーナルボリューム221Jに書き込ませるための、ライトI/O420を生成する(S162)。コピー制御プログラム360Pは、ライトI/O420をOS310Pに送る(S163)。OS310Pは、ライトI/O420をメインストレージシステム20Pに送信する。
コピー制御プログラム360Pは、OS310PからライトI/O420の処理が完了した旨の通知を受領する(S164)。コピー制御プログラム360Pは、VTLS350Pにライト開始マーカ410が正常に発行されたことを報告する(S165)。
図22は、メインホスト10P内のコピー制御プログラム360Pにより実行される、ライト終了マーカの作成処理を示す。コピー制御プログラム360Pは、VTLS350Pから受け取る通知400の種別がライト開始通知であるか、それともライト終了通知であるかを判別する(S170)。
ライト終了通知の場合、コピー制御プログラム360Pは、ライト終了マーカ410を作成する(S171)。コピー制御プログラム360Pは、ライト終了マーカ410をメインストレージシステム20P内のジャーナルボリューム221Jに書き込ませるための、ライトI/O420を生成する(S172)。コピー制御プログラム360Pは、ライトI/O420をOS310Pに送る(S173)。OS310Pは、ライトI/O420をメインストレージシステム20Pに送信する。
コピー制御プログラム360Pは、OS310PからライトI/O420の処理が完了した旨の通知を受領する(S174)。コピー制御プログラム360Pは、VTLS350Pにライト終了マーカ410が正常に発行されたことを報告する(S175)。
図23は、VTLS350P,350Sにより実行される、仮想テープの参照処理(リード処理)を示す。以下の説明では、VTLS350Pを主語として説明する。VTLS350Pは、VTRプログラム330Pから指定された仮想テープの名称がVTLSテーブルT10に登録されているか否かを判定する(S180)。指定された仮想テープ名がVTLSテーブルT10に登録されていない場合(S180:NO)、VTLS350Pは、VTRプログラム330Pに、リード処理に失敗した旨を通知する(S181)。
指定された仮想テープ名がVTLSテーブルT10に登録されている場合(S180:YES)、VTLS350Pは、その仮想テープ名についてのリードエンキューの取得を、OS310Pに要求する(S182)。その要求を受けたOS310Pは、リードエンキューの取得を試みる。
OS310Pがリードエンキューの取得に成功すると(S183:YES)、VTLS350Pは、VTLSテーブルT10から仮想テープの格納先を示す情報C12を取得する(S184)。VTLS350Pは、仮想テープからデータを読み出すためのリードI/O420を生成し、そのリードI/OをOS310Pに送る(S185)。
OS310Pは、リードI/O420をメインストレージシステム20Pに送信し、メインストレージシステム20Pから所望のデータを受信する。OS310Pは、受信データをVTLS350Pに引き渡す。
仮想テープから所望のデータを読み出したVTLS350Pは、OS310Pに、リードエンキューの解放を指示する(S186)。VTLS350Pは、VTRプログラム330Pに、仮想テープについてのリード処理が完了した旨を通知する(S186)。
図24は、メインサイト1Pにおいて実行されるライト処理を示す。本処理は、ライトマーカについても同様に適用される。メインストレージシステム20Pは、メインホスト10Pからライトデータを受信する(S190)。メインストレージシステム20Pは、ライトデータを正ボリューム221P内の仮想テープに書き込む(S191)。
続いて、メインストレージシステム20Pは、ライトデータ及びタイムスタンプをジャーナルデータとして、メインストレージシステム20P内のジャーナルボリューム221Jに格納させる(S192)。ライトマーカ(ライト開始マーカ及びライト終了マーカ)も、ジャーナルデータの一つとしてジャーナルボリューム221Jに記憶される。
図25は、メインストレージシステム20PからDRストレージシステム20Sに、ジャーナルデータを非同期リモートコピーによって送信する処理を示す。メインストレージシステム20Pは、未だ転送していないジャーナルデータがあるか否かを判定する(S200)。未転送のジャーナルデータがある場合(S200:YES)、メインストレージシステム20Pは、そのジャーナルデータをDRストレージシステム20Sに向けて送信する(S201)。
図26は、DRストレージシステム20Sにより実行される、ジャーナルデータの受け付け処理を示す。DRストレージシステム20Sは、メインストレージシステム20Pから受領したジャーナルデータを、DRストレージシステム20S内のジャーナルボリューム221Jに格納させる(S210)。
図27は、DRストレージシステム20Sにより実行される、ジャーナルデータの格上げ処理を示す。上述のように、本実施例における格上げ処理とは、受信した各ジャーナルデータを正しい順番で副側の仮想テープに書き込む処理である。つまり、副側の仮想テープの内容を更新させる処理である。
DRストレージシステム20Sは、未処理のライトデータとしてnWDを設定し(S220)、以下のステップをnWD回繰り返す(S221)。最初に、DRストレージシステム20Sは、DRストレージシステム20S内のジャーナルボリューム221Jに蓄積されている未処理のライトデータのうち、最古のライトデータを対象データdとして設定する(S222)。
話は前後するが、DRストレージシステム20Sは、後述のS226,S227の次に、対象データdを副ボリューム221S内の仮想テープに書き込んだ後、対象データdをDRストレージシステム20S内のジャーナルボリューム221Jから削除させる(S22)。
DRストレージシステム20Sは、対象データdがライト開始マーカであったか否かを判定する(S224)。ライト開始マーカの場合(S224:YES)、DRストレージシステム20Sは、OS310Sに、ライト開始マーカの到着を報告する(S225)。DRストレージシステム20Sは、ライト開始マーカの到着をOS310Sに報告した後、本処理を終了する。つまり、格上げ処理はいったん中止される。
対象データdがライト開始マーカではない場合(S224:NO)、DRストレージシステム20Sは、対象データdがライト終了マーカであったか否かを判定する(S226)。ライト終了マーカの場合(S226:YES)、DRストレージシステム20Sは、OS310Sに、ライト終了マーカを検出した旨を通知する(S227)。その後、S222に戻り、次のライトデータを対象データdに設定して、上述のステップを繰り返す。
図28は、DRホスト10S内のコピー制御プログラム360Sにより実行される、ライトマーカ受信処理を示す。コピー制御プログラム360Sは、対象データdとして、未処理のライトデータのうち最古のライトデータをセットする(S230)。
コピー制御プログラム360Sは、対象データdがライト開始マーカであるか否かを判定する(S231)。ライト開始マーカである場合(S231:YES)、コピー制御プログラム360Sは、OS310Sに、ライト開始マーカにより指定される仮想テープについて、ライトエンキューの取得を要求する(S232)。
OS310Sがライトエンキューの取得に成功すると(S233:YES)、コピー制御プログラム360Sは、DRストレージシステム20Sに、格上げ処理の再開を指示する(S234)。
OS310Sがライトエンキューの取得に失敗した場合(S233:NO)、コピー制御プログラム360Sは、対象データdの名称(仮想テープ名)をデキュー待ちテーブルT30に登録して(S235)、本処理を終了する。他のプログラムによって、その仮想テープが使用されているため、他のプログラムによる使用が終了するのを待つ。
対象データdがライト開始マーカではない場合(S231:NO)、コピー制御プログラム360Sは、対象データdがライト終了マーカであるか否かを判定する(S236)。対象データdがライト終了マーカの場合(S236:YES)、コピー制御プログラム360Sは、OS310Sに、ライト終了マーカで指定される仮想テープについて、ライトエンキューの解放を要求する(S237)。
図29は、DRホスト10S内のコピー制御プログラム360Sにより実行される、リードデキュー受信処理を示す。リードデキューとは、リードエンキューを解放させるための要求である。
コピー制御プログラム360Sは、リードデキューを受信すると、リードデキュー内で指定された仮想テープ名が、デキュー待ちテーブルT30に登録されている各仮想テープ名のいずれかと一致するか否かを判定する(S240)。
リードデキューに含まれる仮想テープ名がデキュー待ちテーブルT30に登録されている仮想テープ名と一致する場合(S240:YES)、コピー制御プログラム360Sは、デキュー待ちテーブルT30から、その仮想テープ名を消去させる(S241)。
コピー制御プログラム360Sは、対象データ名dに、リードデキューに含まれている仮想テープ名をセットし(S242)、DRストレージシステム20Sに、対象データdの格上げ処理の再開を指示する(S243)。
このように構成される本実施例では、正側の仮想テープが更新されている期間をライト開始マーカ及びライト終了マーカによって特定し、ジャーナルデータを用いてDRストレージシステム20Sに通知する。そして、DRストレージシステム20Sは、ライト開始マーカ及びライト終了マーカの受領をOS310Sに通知し、副側の仮想テープに関するアクセス制御を実行させる。
これにより、DRサイト1Sでは、副側の仮想テープの内容が正側の仮想テープの内容と整合性を保っている時期を明らかにすることができ、副側の仮想テープの内容を参照して解析等することができる。従って、バックアップデータとしての役割しか果たしていなかった副側の仮想テープを、より有効に使用することができ、コンピュータシステムの使い勝手が向上する。
本実施例では、通常のジャーナルデータを非同期リモートコピーで送信する構成を利用して、正側の仮想テープの更新時期をDRストレージシステム20Sに通知する。従って、コピー制御プログラム360P,360Sをホスト10P,10Sに追加し、さらに、DRストレージシステム20Sにライトマーカの検出機能を設けるだけで、使い勝手を向上させることができる。
本実施例では、DRサイト1S側で、あるプログラムが副側の仮想テープを利用している場合、その利用が終了するまで格上げ処理の開始を待機する。従って、あるプログラムが副側の仮想テープを利用(参照)している途中で、その仮想テープの内容が変化するのを防止できる。
図30に基づいて第2実施例を説明する。本実施例は、第1実施例の変形例に該当するため、第1実施例との相違点を中心に説明する。
図30は、DRホスト10S内のコピー制御プログラム360Sによる実行される、未処理ライトデータの監視処理を示す。
コピー制御プログラム360Sは、OS310Sを介して、格上げ処理に使用されていない未処理のライトデータ量nWDを取得する(S250)。コピー制御プログラム360Sは、未処理ライトデータ量nWDが、予め設定される所定の閾値Th1を超えているか否かを判定する(S251)。
未処理ライトデータ量nWDが閾値Th1を超えている場合(S251:YES)、コピー制御プログラム360Sは、管理装置30Sにメッセージを出力する(S252)。そのメッセージには、格上げ処理が滞っていることをユーザに警告するための警告を含ませることができる。そのメッセージを受領したユーザは、副側の仮想テープの参照を中止させて、格上げ処理を再開させることができる。
このように構成される本実施例も第1実施例と同様の効果を奏する。さらに、本実施例では、副側の仮想テープの利用が長引いて格上げ処理が滞った場合に、所定のメッセージを出力させることができる。従って、本実施例では、DRサイト1Sにおけるコピーデータ(副側の仮想テープ)の利用と、そのコピーデータの更新処理とのバランスを保つことができ、より一層使い勝手が向上する。
なお、本発明は、上述した実施形態に限定されない。当業者であれば、例えば、上記各実施例を適宜組み合わせる等のように、本発明の範囲内で、種々の追加や変更等を行うことができる。
1P:メインサイト、1S:ディザスタリカバリ(DR)サイト、10P:メインホスト、10S:DRホスト、20P:メインストレージシステム、20S:DRストレージシステム、221P:正ボリューム、221S:副ボリューム、221J:ジャーナルボリューム、221A:業務ボリューム、310P,310S:オペレーティングシステム、320P,320S:業務プログラム、330P,330S:仮想テープ参照プログラム、340P:仮想テープ作成/更新プログラム、350P,350S:仮想テープライブラリシステム、VT:仮想テープ

Claims (12)

  1. 第1コンピュータと、該第1コンピュータに接続される第1ストレージシステムと、前記第1ストレージシステムに接続される第2ストレージシステムと、該第2ストレージシステムに接続される第2コンピュータとを含むコンピュータシステムにより実行される、リモートコピー方法であって、
    前記第1ストレージシステムは、前記第1コンピュータにアクセスされる第1論理ボリュームを形成し、
    前記第2ストレージシステムは、前記第1論理ボリュームに記憶されるデータのコピーが記憶される第2論理ボリュームを形成し、
    前記第1コンピュータは、第1オペレーティングシステム及び、指定されたデータをテープ形式のデータに変換して管理するためのテープライブラリ管理プログラムとして構成される第1プログラムを実行し、かつ、前記第1プログラムにより生成される複数のライトデータを前記第1ストレージシステムに送信し、
    前記第2コンピュータは、第2オペレーティングシステム及び第2プログラムを実行し、
    前記第1オペレーティングシステムは、前記第1プログラムにより発行され、前記第1プログラムにより管理されるテープ形式のデータである第1データオブジェクトを指定するエンキューリクエストであって、前記第1データオブジェクトを前記第1プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、前記第1データオブジェクトについての情報を含むスタートマーカリクエストを前記第1ストレージシステムに送信し、
    前記第1オペレーティングシステムは、前記第1プログラムにより発行され、前記第1データオブジェクトを指定するデキューリクエストであって、前記第1データオブジェクトに関する前記更新の終了を示すデキューリクエストを受信し、かつ、前記前記第1データオブジェクトについての情報を含むエンドマーカリクエストを前記第1ストレージシステムに送信し、
    前記第1ストレージシステムは、前記複数のライトデータと前記スタートマーカリクエスト及び前記エンドマーカリクエストとを受信し、前記第1論理ボリュームに記憶されている前記データを前記複数のライトデータにより更新し、
    前記第1ストレージシステムは、前記複数のライトデータと、前記スタートマーカリクエストに対応するスタートマーカ情報と、前記エンドマーカリクエストに対応するエンドマーカ情報と、前記複数のライトデータと前記スタートマーカ情報及び前記エンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、
    前記第1ストレージシステムは、前記複数の転送データをブロックデータの形式で、前記複数のライトデータの受信と非同期で、前記第2ストレージシステムに転送し、
    前記第2ストレージシステムは、前記複数の転送データを受信し、
    前記第2ストレージシステムは、前記複数の転送データに含まれる、前記第1データオブジェクトのコピーである第2データオブジェクトに関する一連のライトデータであって、前記第1ストレージシステムが前記スタートマーカリクエストの受信後かつ前記エンドマーカリクエスト受信前に受信した前記複数のライトデータを含む一連のライトデータを、前記順序情報に基づいて特定し、
    前記第2ストレージシステムは、前記一連のライトデータの一部または全部を用いて前記第2論理ボリュームに記憶されたデータを更新させるとの判断に応じて、前記第2データオブジェクトについての情報を含む更新開始通知を前記第2コンピュータに送信し、
    前記第2プログラムは、前記第2データオブジェクトを指定するエンキューリクエストを前記第2オペレーティングシステムに発行し、かつ、前記エンキューリクエストが成功した場合には、前記更新開始通知への応答を前記第2オペレーティングシステムを介して前記第2ストレージシステムに送信し、
    前記第2ストレージシステムは、前記一連のライトデータによって前記第2論理ボリュームに記憶されたデータの更新を開始し、かつ、前記第2論理ボリュームに記憶された前記データの更新が完了した場合は、更新終了通知を前記第2コンピュータに送信し、
    前記第2プログラムは、前記更新終了通知を受領した場合に、前記第2データオブジェクトを指定するデキューリクエストを前記第2オペレーティングシステムに発行する、
    リモートコピー方法。
  2. 請求項1記載のリモートコピー方法であって、
    前記第2コンピュータは、第3プログラムを実行し、かつ、
    前記第2オペレーティングシステムは、前記第2データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第2データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第3プログラムによる前記第2データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第2データオブジェクトを管理する、リモートコピー方法。
  3. 請求項2記載のリモートコピー方法であって、
    前記第1コンピュータは、第4プログラムを実行し、かつ、
    前記第1オペレーティングシステムは、前記第1データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第1データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第4プログラムによる前記第1データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第1データオブジェクトを管理する、リモートコピー方法。
  4. 請求項2または請求項3のいずれかに記載のリモートコピー方法であって、
    前記第3プログラムは、前記第2データオブジェクトを指定する前記エンキューリクエストを前記第2オペレーティングシステムに発行し、前記エンキューリクエストが成功した場合には、前記第2データオブジェクトに関するデータを読み出し、その後、前記第2データオブジェクトを指定する前記デキューリクエストを前記第2オペレーティングシステムに発行する、リモートコピー方法。
  5. 請求項1記載のリモートコピー方法であって、
    前記第2プログラムは、前記第2ストレージシステムに記憶された前記複数のライトデータのうち、前記第2論理ボリュームに記憶された前記データの前記更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、
    前記第2プログラムは、エンキューリクエストの成功待ちのために、前記第2ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、前記未使用データ量情報に基づいて表示させる、リモートコピー方法。
  6. 第1コンピュータと、該第1コンピュータに接続される第1ストレージシステムと、前記第1ストレージシステムに接続される第2ストレージシステムと、該第2ストレージシステムに接続される第2コンピュータとを含み、前記第1ストレージシステムから前記第2ストレージシステムにリモートコピーさせるコンピュータシステムであって、
    前記第1ストレージシステムは、前記第1コンピュータにアクセスされる第1論理ボリュームを形成し、
    前記第2ストレージシステムは、前記第1論理ボリュームに記憶されるデータのコピーが記憶される第2論理ボリュームを形成し、
    前記第1コンピュータは、第1オペレーティングシステム及び、指定されたデータをテープ形式のデータに変換して管理するためのテープライブラリ管理プログラムとして構成される第1プログラムを実行し、かつ、前記第1プログラムにより生成される複数のライトデータを前記第1ストレージシステムに送信し、
    前記第2コンピュータは、第2オペレーティングシステム及び第2プログラムを実行し、
    前記第1オペレーティングシステムは、前記第1プログラムにより発行され、前記第1プログラムにより管理されるテープ形式のデータである第1データオブジェクトを指定するエンキューリクエストであって、前記第1データオブジェクトを前記第1プログラムにとって整合性のある状態にするための更新開始を示すエンキューリクエストを受信し、かつ、前記第1データオブジェクトについての情報を含むスタートマーカリクエストを前記第1ストレージシステムに送信し、
    前記第1オペレーティングシステムは、前記第1プログラムにより発行され、前記第1データオブジェクトを指定するデキューリクエストであって、前記第1データオブジェクトに関する前記更新の終了を示すデキューリクエストを受信し、かつ、前記前記第1データオブジェクトについての情報を含むエンドマーカリクエストを前記第1ストレージシステムに送信し、
    前記第1ストレージシステムは、前記複数のライトデータと前記スタートマーカリクエスト及び前記エンドマーカリクエストとを受信し、前記第1論理ボリュームに記憶されている前記データを前記複数のライトデータにより更新し、
    前記第1ストレージシステムは、前記複数のライトデータと、前記スタートマーカリクエストに対応するスタートマーカ情報と、前記エンドマーカリクエストに対応するエンドマーカ情報と、前記複数のライトデータと前記スタートマーカ情報及び前記エンドマーカ情報の受信タイミングに関する複数の順序情報とを含む、複数の転送データを生成し、
    前記第1ストレージシステムは、前記複数の転送データをブロックデータの形式で、前記複数のライトデータの受信と非同期で、前記第2ストレージシステムに転送し、
    前記第2ストレージシステムは、前記複数の転送データを受信し、
    前記第2ストレージシステムは、前記複数の転送データに含まれる、前記第1データオブジェクトのコピーである第2データオブジェクトに関する一連のライトデータであって、前記第1ストレージシステムが前記スタートマーカリクエストの受信後かつ前記エンドマーカリクエスト受信前に受信した前記複数のライトデータを含む一連のライトデータを、前記順序情報に基づいて特定し、
    前記第2ストレージシステムは、前記一連のライトデータの一部または全部を用いて前記第2論理ボリュームに記憶されたデータを更新させるとの判断に応じて、前記第2データオブジェクトについての情報を含む更新開始通知を前記第2コンピュータに送信し、
    前記第2プログラムは、前記第2データオブジェクトを指定するエンキューリクエストを前記第2オペレーティングシステムに発行し、かつ、前記エンキューリクエストが成功した場合には、前記更新開始通知への応答を前記第2オペレーティングシステムを介して前記第2ストレージシステムに送信し、
    前記第2ストレージシステムは、前記一連のライトデータによって前記第2論理ボリュームに記憶されたデータの更新を開始し、かつ、前記第2論理ボリュームに記憶された前記データの更新が完了した場合は、更新終了通知を前記第2コンピュータに送信し、
    前記第2プログラムは、前記更新終了通知を受領した場合に、前記第2データオブジェクトを指定するデキューリクエストを前記第2オペレーティングシステムに発行する、
    コンピュータシステム。
  7. 請求項記載のコンピュータシステムであって、
    前記第2コンピュータは、第3プログラムを実行し、かつ、
    前記第2オペレーティングシステムは、前記第2データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第2データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第3プログラムによる前記第2データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第2データオブジェクトを管理する、コンピュータシステム。
  8. 請求項記載のコンピュータシステムであって、
    前記第1コンピュータは、第4プログラムを実行し、かつ、
    前記第1オペレーティングシステムは、前記第1データオブジェクトを指定する前記エンキューリクエストの受信後から、前記第1データオブジェクトを指定する前記デキューリクエストが受信されるまでの間、前記第4プログラムによる前記第1データオブジェクトについてのデータ読み出しまたはデータ書込みを抑止させるように、前記第1データオブジェクトを管理する、コンピュータシステム。
  9. 請求項または請求項のいずれかに記載のコンピュータシステムであって、
    前記第3プログラムは、前記第2データオブジェクトを指定する前記エンキューリクエストを前記第2オペレーティングシステムに発行し、前記エンキューリクエストが成功した場合には、前記第2データオブジェクトに関するデータを読み出し、その後、前記第2データオブジェクトを指定する前記デキューリクエストを前記第2オペレーティングシステムに発行する、コンピュータシステム。
  10. 請求項記載のコンピュータシステムであって、
    前記第2プログラムは、前記第2ストレージシステムに記憶された前記複数のライトデータのうち、前記第2論理ボリュームに記憶された前記データの前記更新に使用されていないライトデータの量に関する未使用データ量情報を取得し、かつ、
    前記第2プログラムは、エンキューリクエストの成功待ちのために、前記第2ストレージシステムに記憶されたライトデータの量が予め設定される閾値を超えたことを示す情報を、前記未使用データ量情報に基づいて表示させる、コンピュータシステム。
  11. 請求項記載のコンピュータシステムであって、
    前記第1論理ボリューム内には、別々の前記第1データオブジェクトを複数設けることができる、コンピュータシステム。
  12. 請求項記載のコンピュータシステムであって、
    前記第1ストレージシステムは、前記複数の転送データを記憶するための第1転送データ用論理ボリュームを備えており、
    前記第2ストレージシステムは、前記第1ストレージシステムから受信する前記複数の転送データを記憶するための第2転送データ用論理ボリュームを備えている、コンピュータシステム。
JP2009149654A 2009-06-24 2009-06-24 コンピュータシステムのリモートコピー方法及びコンピュータシステム Expired - Fee Related JP4951652B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009149654A JP4951652B2 (ja) 2009-06-24 2009-06-24 コンピュータシステムのリモートコピー方法及びコンピュータシステム
US12/540,792 US8266400B2 (en) 2009-06-24 2009-08-13 Computer system remote copying system and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009149654A JP4951652B2 (ja) 2009-06-24 2009-06-24 コンピュータシステムのリモートコピー方法及びコンピュータシステム

Publications (3)

Publication Number Publication Date
JP2011008391A JP2011008391A (ja) 2011-01-13
JP2011008391A5 JP2011008391A5 (ja) 2011-04-21
JP4951652B2 true JP4951652B2 (ja) 2012-06-13

Family

ID=43382030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009149654A Expired - Fee Related JP4951652B2 (ja) 2009-06-24 2009-06-24 コンピュータシステムのリモートコピー方法及びコンピュータシステム

Country Status (2)

Country Link
US (1) US8266400B2 (ja)
JP (1) JP4951652B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8873377B2 (en) * 2009-11-18 2014-10-28 Juniper Networks, Inc. Method and apparatus for hitless failover in networking systems using single database
US9032484B2 (en) 2011-10-31 2015-05-12 International Business Machines Corporation Access control in a hybrid environment
US9053141B2 (en) * 2011-10-31 2015-06-09 International Business Machines Corporation Serialization of access to data in multi-mainframe computing environments
US8938420B1 (en) * 2012-07-26 2015-01-20 Symantec Corporation Systems and methods for natural batching of I/O operations on a replication log
KR101232654B1 (ko) * 2012-09-11 2013-02-13 효성아이티엑스(주) 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
US9722908B2 (en) 2013-10-17 2017-08-01 International Business Machines Corporation Problem determination in a hybrid environment
US9563383B2 (en) 2014-05-12 2017-02-07 Hitachi, Ltd. Storage system with primary and secondary data storage groups and control method thereof
CN104298931B (zh) * 2014-09-29 2018-04-10 深圳酷派技术有限公司 信息处理方法和信息处理装置
WO2017105529A1 (en) * 2015-12-16 2017-06-22 Ab Initio Technology Llc High throughput, high reliability data processing system
JP2023037883A (ja) * 2021-09-06 2023-03-16 キオクシア株式会社 情報処理装置
US20240045608A1 (en) * 2022-08-01 2024-02-08 International Business Machines Corporation Tape device to replicate data to a plurality of remote storage devices
US11983430B2 (en) 2022-08-01 2024-05-14 International Business Machines Corporation Replicating data to a plurality of replication devices through a tape device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745781A (en) * 1995-12-26 1998-04-28 International Business Machines Corporation Memoryless communications adapter including queueing and matching primitives for scalable distributed parallel computer systems
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US7421549B2 (en) * 2004-03-02 2008-09-02 Hitachi, Ltd. Method and apparatus of remote copy for multiple storage subsystems
JP2005250626A (ja) 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
JP2006285919A (ja) * 2005-04-05 2006-10-19 Hitachi Ltd 計算機システム、計算機及びリモートコピー処理方法
US7571168B2 (en) * 2005-07-25 2009-08-04 Parascale, Inc. Asynchronous file replication and migration in a storage network
JP4790377B2 (ja) * 2005-11-07 2011-10-12 株式会社日立製作所 ストレージサブシステムのボリューム複製方法
JP2007310448A (ja) * 2006-05-16 2007-11-29 Hitachi Ltd 計算機システム、管理計算機、および、ストレージシステム管理方法
JP4942418B2 (ja) * 2006-08-04 2012-05-30 株式会社日立製作所 計算機システム及びそのスナップショット作成方法
JP2008146376A (ja) * 2006-12-11 2008-06-26 Oki Electric Ind Co Ltd 空間設計システム
JP4916420B2 (ja) * 2007-11-16 2012-04-11 株式会社日立製作所 ストレージシステム及びリモートコピー制御方法

Also Published As

Publication number Publication date
US8266400B2 (en) 2012-09-11
JP2011008391A (ja) 2011-01-13
US20100332776A1 (en) 2010-12-30

Similar Documents

Publication Publication Date Title
JP4951652B2 (ja) コンピュータシステムのリモートコピー方法及びコンピュータシステム
JP5207637B2 (ja) 一以上のセカンダリストレージシステムで複数のバックアップを取得するバックアップ制御方法
JP5037811B2 (ja) 遠隔コピー方法及び遠隔コピーシステム
US7055057B2 (en) Coherency of non-committed replicate data after failover/failback
EP0405926B1 (en) Method and apparatus for managing a shadow set of storage media
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
JP4437870B2 (ja) 分散型トランザクション処理システムと方法
JP4837378B2 (ja) データの改竄を防止する記憶装置
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP2005301628A (ja) ディスクアレイ装置
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2011034164A (ja) リモートコピーシステム及びリモートコピー制御方法
US10162564B2 (en) Selecting a virtual tape server in a storage system to provide data copy while minimizing system job load
JP2008293317A (ja) 情報処理装置及び方法
WO2022257719A1 (zh) 数据库事务处理的方法、系统、电子设备及存储介质
US7017019B2 (en) Method of managing generation of backup data and storage control device used therefor
JP2009064159A (ja) 計算機システム、管理計算機及びデータ管理方法
US20090228672A1 (en) Remote copy system and check method
JP4074442B2 (ja) データのバックアップのための方法、装置、システム、プログラム及び記憶媒体
JP6665892B2 (ja) 情報処理システム,情報処理装置および制御プログラム
JP4580693B2 (ja) 共有排他制御方法
JP2006119966A (ja) 記憶システム
JP2008084327A (ja) データのバックアップのための方法、装置、システム、プログラム及び記憶媒体
CN112905538A (zh) 资源配置方法、系统、电子设备及存储介质
JP4885735B2 (ja) 管理プログラム、管理方法及び管理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees