JP4909021B2 - コピー制御方法及び記憶装置 - Google Patents

コピー制御方法及び記憶装置 Download PDF

Info

Publication number
JP4909021B2
JP4909021B2 JP2006313411A JP2006313411A JP4909021B2 JP 4909021 B2 JP4909021 B2 JP 4909021B2 JP 2006313411 A JP2006313411 A JP 2006313411A JP 2006313411 A JP2006313411 A JP 2006313411A JP 4909021 B2 JP4909021 B2 JP 4909021B2
Authority
JP
Japan
Prior art keywords
data
copy
time
storage device
data copy
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
JP2006313411A
Other languages
English (en)
Other versions
JP2008129809A (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 JP2006313411A priority Critical patent/JP4909021B2/ja
Priority to US11/698,866 priority patent/US7774567B2/en
Publication of JP2008129809A publication Critical patent/JP2008129809A/ja
Application granted granted Critical
Publication of JP4909021B2 publication Critical patent/JP4909021B2/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/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

本発明は、コンピュータシステムが保持するデータのデータコピー技術に関し、特に指定時刻にデータコピーを取得する際に、当該指定時刻を調整して最適な取得時刻を算出するコピー制御方法及び記憶装置に関する。
従来、コンピュータシステムに保持されたデータを、業務処理の集中しない指定時刻にバックアップするために、さまざまな手法が開発されている。
例えば、特許文献1には、指定時刻のデータのデータコピー方法に関して、オンラインシステムで使用中のデータベースの更新動作を中断することなく、バッチ処理を行うための指定時刻のデータベースバックアップ方法及びデータベースバックアップ装置が開示されている。
また、他のバックアップの例として、特許文献2には、プライマリストレージに書きこまれるデータを、指定時刻ではなく、常時トラック、キャプチャーし、その変更部分のみを時系列的にセカンダリストレージに随時保管しておくことで、過去のある時点以降について、任意の時点のデータを再現する技術(CDP:Continuous Data Protection)が開示されている。
特開2006−155676号公報(請求項1) 特開2005−18738号公報(請求項1)
特許文献1に記載の指定時刻のデータベースバックアップ方法及びデータベースバックアップ装置においては、指定時刻に例えば業務処理が稼働中であってもバックアップを取得できる。
しかしながら、このバックアップのデータは、前記の業務処理のプログラムが扱うデータとして見た場合、業務処理が未完了であるためにそのままでは使えないデータとなる。このため、更新後のデータや更新前のデータ(いわゆるジャーナル)を取得しておき、任意の指定時刻のバックアップを回復する必要があるが、復元に必要な更新後のデータ量や更新前のデータ量が多くなるにつれて回復に時間がかかる恐れがある。また、指定時刻に障害が発生している場合に、既存のコピー先のバックアップが上書きされる恐れもある。
また、引用文献2に記載のストレージベースのジャーナリングを用いてバックアップ及びリカバリを行う方法と装置においては、過去のある時点以降について、任意の時点のデータを再現することができる。
しかしながら、引用文献1に記載の技術と同様にジャーナルを用いて回復するため、回復に必要なジャーナルの量が多くなるにつれて、回復に時間を要するという問題点がある。
したがって本発明が解決しようとする課題は、指定時刻のデータコピーを取得する際に、当該指定時刻にコピー元のデータに入出力要求が発生している場合であっても、回復時間を短縮できる手段を提供することである。
前記の課題を解決するためになされた本発明は、データを格納した第1の記憶装置と、データのコピーを取得する第2の記憶装置と、第1の記憶装置に前記データを書き込むホストコンピュータとを含むシステムにおけるコピー制御方法であって、第2の記憶装置が、前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻とを取得し、前記第1の記憶装置から取得した前記データの更新内容である更新データを、前記第2の記憶装置のジャーナル領域に格納し、前記データコピー開始時刻から前記データコピー取得時刻までの間で、前記ホストコンピュータにおいて前記第1のディスク装置への入出力要求が発生していない場合に所定時間間隔で発行される空入出力要求を所定時間連続して取得した時刻を、仮のデータコピー実行時刻として設定し、前記ジャーナル領域に格納された前記更新データを前記第2の記憶装置のコピーボリュームに反映して、前記仮のデータコピー実行時刻における前記データとして格納し、前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻と、前記仮のデータコピー実行時刻とを比較して、前記データコピー取得時刻に近い時刻を前記データのコピーを取得するコピー実行時刻に決定し、前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻が、前記データコピー取得時刻に近い場合、当該時刻に前記ジャーナル領域に格納されている前記更新データを前記コピーボリュームに反映して、前記データを更新し、決定した前記コピー実行時刻の前記コピーボリュームの前記データを、前記第2の記憶装置の業務などの区切りのデータコピーに格納すること、を特徴としている。
なお、本発明の他の態様は、後記する実施の形態の中で詳しく説明する。
本発明によれば、指定時刻(データコピー取得時刻)のデータコピーを取得する際に、当該指定時刻にコピー元のデータに入出力要求が発生している場合であっても、入出力要求をさけてデータを取得するため、データコピーの回復時間を短縮することができる。
以下、本発明の好適な実施の形態を添付した図面を参照しつつ、詳しく説明する。なお、以下の実施の形態では、第1のディスク装置のバックアップを指定時刻に取得する際に、指定時刻の前後において第1のディスク装置に対するI/O(Input/Output:入出力要求)の区切りを検出し、そのタイミングで第2のディスク装置にバックアップを実行するための記憶領域制御方法及び記憶領域制御システムについて、2つの実施形態を示して説明する。
(第1実施形態:システム構成)
図1は、本発明の第1の実施形態に係る記憶領域制御システムの構成ブロック図である。図1に示すように、本実施形態の記憶領域制御システムは、サイトA101のホストA104と、ホストA104に接続されたディスク制御装置A1051及びディスク装置A1056を有する記憶領域サブシステムA105と、サイトB102のディスク制御装置B1061及びディスク装置B1066を有する記憶領域サブシステムB106とを有している。
また、サイトA101のディスク制御装置A1051とサイトB102のディスク制御装置B1061とは高速なデータ送受信が可能である、例えば、LAN(Local Area Network)やSAN(Storage Area Network)などの通信回線103で接続されている。
サイトA101のディスク制御装置A1051と、サイトB102のディスク制御装置B1061とは通信回線103で接続されることで、サイトB102にサイトA101のディスク装置A1056のコピーを作成することができる。
なお、本実施形態において、サイトA101とサイトB102とを異なるサイトとして示したが、同一サイトに設置してもよい。
以下、記憶領域制御システムの各構成要素について説明する。
ホストA104は、ディスク装置A1056に格納されるデータの入出力要求を、ディスク制御装置A1051に対して発行する。この入出力要求を受けたディスク制御装置A1051は、ディスク装置A1056に対して、データの読み出し、あるいは、書き込みを行う。このホストA104は、CPU(Central Processing Unit)1041、メモリ1042、及び入出力インタフェース1043を備えるコンピュータである。CPU1041は、メモリ1042に格納されたプログラムを目的に応じて実行する。メモリ1042は、ホストA104で動作するプログラムやデータを格納する。入出力インタフェース1043はディスク制御装置A1051との間でデータの送受信を行う。
なお、ホストA104のメモリ1042に格納されたプログラムの詳細は後記する。
ディスク制御装置A1051は、入出力インタフェース1052、CPU1053、メモリ1054、及び記憶領域インタフェース1055を備える。
入出力インタフェース1052は、ホストA104との間でデータの送受信と、ディスク制御装置B1061との間でデータの転送を行う。CPU1053は、メモリ1054に格納されたプログラムを実行する。メモリ1054は、ディスク制御装置A1051で稼動するプログラムやデータを格納する。記憶領域インタフェース1055は、ディスク装置A1056との間でデータの送受信を行う。
なお、ディスク制御装置A1051のメモリ1042に格納されたプログラムの詳細は後記する。
ディスク装置A1056は複数の記憶領域1057からなる2次記憶装置であり、ハードディスクドライブ、光ディスクドライブ、磁気テープドライブ、シリコンディスク等のさまざまなストレージデバイスにより具現することができる。
サイトB102は、入出力インタフェース1062、CPU1063、メモリ1064及び記憶領域インタフェース1065を備えるディスク制御装置B1061と、複数の記憶領域1067を備えるディスク装置B1066から構成される。ディスク制御装置B1061の構成は、ディスク制御装置A1051とほぼ同様であるため、その説明は省略する。ただし、ディスク制御装置B1061のメモリ1064に格納されたプログラムの内容は異なるが、このプログラムの詳細は後記する。
(作用)
ここで、図2は、図1に示した記憶領域制御システムにおいて、非同期コピーによるデータコピー及び指定時刻のデータのデータコピーを取得する運用を説明する説明図である。
以下、図2を参照しつつ、非同期コピーによるデータコピーと、指定時刻のデータのデータコピーを取得する運用例を説明する(適宜、図1参照のこと)。
本実施形態の記憶領域制御システムでは、業務などの処理を実行するサイトをサイトA101とし、そのサイトのコンピュータをホストA104、このサイトA101の記憶装置を記憶領域サブシステムA105とする。また、サイトA101のデータコピーを保持しているサイトをサイトB102とし、このサイトB102の記憶装置を記憶領域サブシステムB106とする。
また、記憶領域制御システムにおいてホストA104のメモリ1042に格納されたコピー制御プログラム112からの非同期コピーや指定時刻のデータのデータコピー指示により、記憶領域サブシステムA105のデータボリューム121が記憶領域サブシステムB106のコピーボリューム131、及び業務などの区切りのデータコピー133にコピーされる。
なお、記憶領域サブシステムA105のデータボリューム121及び後記するジャーナルA122は、ディスク装置A1056の各記憶領域1057に格納され、記憶領域サブシステムB106のコピーボリューム131、業務などの区切りのデータコピー133及びジャーナルB132は、ディスク装置B1066の各記憶領域1067に格納されている。
ここで、非同期コピーとは、記憶領域サブシステムA105のデータボリューム121への更新内容を、非同期に記憶領域サブシステムB106のコピーボリューム131に反映してデータのデータコピーを取得することである。非同期コピーを実行することで、コピーボリューム131にデータボリューム121のデータが、常時、データコピーされる。ただし、非同期にデータコピーを取得するため、コピーボリューム131のデータはデータボリューム121のデータよりも古いことになる。
一方、指定時刻のデータコピーとは、記憶領域サブシステムA105の指定時刻におけるデータボリューム121のデータを、記憶領域サブシステムB106の業務などの区切りのデータコピー133にコピーすることである。この指定時刻のデータのデータコピーは、一般的に、業務などが稼働していない時間に取得される。従って、業務などの区切りのデータコピー133に格納されるデータコピーは、業務などの区切りで取得されたデータコピーである。
このため、業務などの区切りのデータコピー133は、ホストA104が実行する業務プログラムなどのデータとして見た場合に、業務処理が未完了であるためにそのままでは使えない場合などにも利用される。
本実施形態のホストA104のメモリ1042には、オペレーティングシステム110と、データを書き込むプログラム111と、コピー制御プログラム112が格納され、これらのプログラムをCPU1041が実行している。オペレーティングシステム110はデータを書き込むプログラム111やコピー制御プログラム112からの入出力要求を処理する。また、データを書き込むプログラム111は、記憶領域サブシステムA105内のデータボリューム121へのデータ書き込みを行いながら業務処理を実行するプログラムである。また、コピー制御プログラム112は、非同期コピーや指定時刻のデータのデータコピーを入出力要求として指示するプログラムである。
記憶領域サブシステムA105のメモリ1054には、記憶領域制御プログラムA113が格納され、ディスク装置A1056の各記憶領域1057には、データボリューム121及びジャーナルA122が格納されている。
ここで、記憶領域制御プログラムA113は、ホストA104のオペレーティングシステム110からの入出力要求を処理するプログラムである。
また、記憶領域サブシステムA105のジャーナルA122は、データボリューム121への更新内容を更新データ情報として蓄積するボリュームである。
記憶領域サブシステムB106のメモリ1064には、記憶領域制御プログラムB114が格納され、ディスク装置B1066の各記憶領域1067には、コピーボリューム131及びジャーナルB132が格納されている。
ここで、記憶領域制御プログラムB114は、記憶領域制御プログラムA113からの入出力要求を処理するプログラムである。
また、記憶領域サブシステムB106のジャーナルB132は、コピーボリューム131への更新内容を更新データ情報として蓄積するボリュームである。
次に、データを書き込むプログラム111からデータの書き込みが行われた場合の非同期コピーの動作の概略を説明する。なお、この非同期コピーは公知の技術である。
まず、ホストA104のデータを書き込むプログラム111からのデータの書き込みは、オペレーティングシステム110によって処理される。データを書き込むプログラム111からオペレーティングシステム110にデータの書き込みが指示されると、データを書き込むプログラム111から受け取った更新データを、後記する更新データ情報1103(図3、図7参照)に設定して記憶領域サブシステムA105に伝送する。
次に、記憶領域サブシステムA105では、記憶領域制御プログラムA113が、受け取った更新データをデータボリューム121に書き込み、同時にジャーナルA122に格納する。この際、記憶領域制御プログラムA113は、データボリューム121への書き込みが完了した時点で、入出力が完了したことを、ホストA104のオペレーティングシステム110へ通知する。
以上の手順で、ホストA104のデータを書き込むプログラム111が出力した更新データが、記憶領域サブシステムA105のデータボリューム121及びジャーナルA122に反映される。
次に、ホストA104のコピー制御プログラム112からの非同期コピーの指示の動作と、コピー制御プログラム112から非同期コピーの指示が行われた場合の非同期コピーの動作の概略を説明する。
まず、ホストA104のコピー制御プログラム112からの非同期コピーの指示は、オペレーティングシステム110と、記憶領域サブシステムA105の記憶領域制御プログラムA113の後記するリモートI/O制御部1133(図5参照)を経由して、記憶領域サブシステムB106の記憶領域制御プログラムB114に制御が渡される。
ホストA104のコピー制御プログラム112から非同期コピーの指示が行われると、記憶領域サブシステムB106の記憶領域制御プログラムB114は、定期的に記憶領域サブシステムA105のジャーナルA122から更新データを取得し、取得した更新データを記憶領域サブシステムB106のコピーボリューム131に反映する。
更新データの取得と反映とは非同期に行われ、更新データを取得した際に、他の更新データの反映中だった場合は、取得した更新データを一旦、ジャーナルB132に格納し、あとでジャーナルB132からコピーボリューム131に反映する。
このように非同期コピーを実行しておけば、記憶領域サブシステムA105のデータボリューム121に障害が発生した場合でも、記憶領域サブシステムB106のコピーボリューム131からデータボリューム121を回復できる。
しかしながら、記憶領域サブシステムB106のコピーボリューム131にも同時に障害が発生した場合や、コピーボリューム131のデータをそのまま回復に使えない場合は回復に時間がかかる恐れがあるため、その場合に備えて、指定時刻において、記憶領域サブシステムA105のデータボリューム121のデータコピーを、記憶領域サブシステムB106の業務などの区切りのデータコピー133に取得しておくことが望ましい。
この際、データボリューム121を、業務などの区切りのデータコピー133から回復できるように、ホストA104においてデータを書き込むプログラム111が稼働していない時間帯にデータコピーを取得するのが一般的である。
ところが、データを書き込むプログラム111がデータコピーの開始時刻まで終了していない場合や、誤って、データを書き込むプログラム111をデータコピーの開始時刻前に実行した場合、指定時刻にデータを書き込むプログラム111が稼働中であるため、コンピュータプログラムが扱う業務データとして見た場合に、業務などが未完了であるためにそのままでは使えないデータとなる。このため、本発明では、データを書き込むプログラム111の実行の区切りを検知して、指定時刻を目標時刻として、この指定時刻に最も近い区切りをデータコピーの取得時刻とすることでデータコピーの取得時刻を最適化する。
以下に、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化する方法の一例を示す。
図3は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要なホストA104のオペレーティングシステム110の機能ブロックの例を示す図面である。
本実施形態のオペレーティングシステム110は、入出力制御部1101、更新時刻設定部1102及び更新データ情報1103を備えている。入出力制御部1101は、データを書き込むプログラム111やコピー制御プログラム112からの入出力要求を処理して、処理結果を返却する。
入出力制御部1101は、入出力要求を処理する際に後記する更新データ情報1103の更新時刻601(図7参照)の項目を設定するための更新時刻設定部1102を備えている。
ここで、更新データ情報1103の例を、図7のテーブルに示す。図7に示すように、更新データ情報1103は、更新時刻601、更新箇所602、及び更新データ603の項目を含んでいる。ただし、コピー制御プログラム112の後記する空I/O発行部1124(図4参照)から発行されるI/Oが、空I/Oの場合は、参照符号611で示す更新箇所602及び更新データ603の項目が無効となったレコードが記録される。
ここで、空I/Oとは、業務などが完了した区切りを判断するためのI/Oのことである。
次に、図4は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、ホストA104のコピー制御プログラム112の機能ブロックの例を示す図面である。
本実施形態のコピー制御プログラム112は、非同期コピーの処理を指示する非同期コピー制御部1121、指定時刻のデータのデータコピー取得を指示する指定時刻のデータコピー制御部1122、及びデータコピー指示情報1126を備えている。
さらに、指定時刻のデータコピー制御部1122は、データコピー指示情報1126を設定するデータコピー時刻設定部1123と、空I/Oを発行する空I/O発行部1124と、データコピーの状態を監視するデータコピー状態監視部1125とを含んで構成される。なお、本実施形態では、空I/Oはコピー制御プログラム112の空I/O発行部1124が発行するが、オペレーティングシステム110や記憶領域制御プログラムA113が発行する構成としてもよい。
ここで、データコピー指示情報1126の例を図8のテーブルに示す。図8に示すようにデータコピー指示情報1126は、データコピー開始時刻711と、データコピー取得時刻712と、データコピー終了時刻713と、空I/O発行間隔714と、業務などの区切り間隔715の項目を含んでいる。ここで、業務などの区切り間隔715の項目は、この値で指定された時間、データを書き込むプログラム111から更新I/Oが発行されない場合を業務などの区切りとみなすために指定される値である。
なお、データコピー指示情報1126は、データコピー運用の時間帯や業務などの特性によって異なるため、コピー制御プログラム112を起動する際に、ユーザや運用管理システム等により適切な値が指定される。
次に、図5は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、記憶領域サブシステムA105のメモリ1054に格納された記憶領域制御プログラムA113の機能ブロックの例を示す図面である。記憶領域制御プログラムA113は、オペレーティングシステム110からのデータの入出力要求を処理する。
本実施形態の記憶領域制御プログラムA113は、コピー元のプライマリボリュームであるディスク装置A1056を制御するP−VOL制御部1131を備え、このP−VOL制御部1131は、ジャーナル制御部1132及びリモートI/O制御部1133を含んでいる。
ジャーナル制御部1132は、ホストA104のオペレーティングシステム110からのデータの入出力要求によって更新データをデータボリューム121に反映し、ジャーナルA122に蓄積する。また、記憶領域制御プログラムB114からのジャーナル取得要求に応じて、蓄積した更新データをジャーナルA122から取得する。
リモートI/O制御部1133は、記憶領域サブシステムB106のディスク制御装置B1061への入出力要求を処理する。
次に、図6は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、記憶領域サブシステムB106の記憶領域制御プログラムB114の機能ブロックの例を示す図面である。記憶領域制御プログラムB114は、記憶領域制御プログラムA113のリモートI/O制御部1133からの入出力要求を処理する。
本実施形態の記憶領域制御プログラムB114は、コピー先のセカンダリボリュームであるディスク装置B1066を制御するS−VOL制御部1141と、データコピー管理テーブル1145とを備え、S−VOL制御部1141は、ジャーナル制御部1142と、業務などの区切り判定部1143と、障害発生有無判定部1144とを含んでいる。
コピー制御プログラム112から指定時刻のデータコピー取得指示の入出力要求が出されると、ホストA104のオペレーティングシステム110と、記憶領域制御プログラムA113のリモートI/O制御部1133を経由して、ジャーナル制御部1142に制御が渡り、この後、ジャーナル制御部1142は、指定時刻のデータコピー取得処理を開始する。
業務などの区切り判定部1143は、指定時刻のデータコピーを取得する際に、データコピーの取得時刻を最適化するための業務などの区切りを判定する。
障害発生有無判定部1144は、指定時刻のデータコピーを取得する際に、サイトA101のホストA104又は記憶領域サブシステムA105に障害が発生しているか否かを判定する。
ここで、データコピー管理テーブル1145の例を図9のテーブルに示す。図9に示すようにデータコピー管理テーブル1145は、データコピー開始時刻811と、データコピー取得時刻812と、データコピー終了時刻813と、空I/O発行間隔814と、業務などの区切り間隔815と、データコピー状態816と、データコピー実行時刻817と、空I/Oの連続取得回数818と、仮のデータコピー実行時刻819の項目を含んでいる。
以下に、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化する方法を説明する(適宜、図1ないし図9参照)。
図10は、指定時刻のデータコピー取得の処理の概略を示すフローチャートである。図10に示すとおり、本実施形態の指定時刻のデータコピー取得の処理は、「コピー制御プログラムからのデータコピーの指定時刻の設定(ステップS1001)」、「コピー制御プログラムからの空I/Oの発行(ステップS1002)」、「サイトAでの更新データ、及び、空I/Oのジャーナルの蓄積(ステップS1003)」、「サイトBでの指定時刻のデータコピー取得(ステップS1004)」の各手順からなる。
まず、コピー制御プログラムからのデータコピーの指定時刻の設定(ステップS1001)の手順について詳しく説明する。ここで、図11は、ホストA104のコピー制御プログラム112から、指定時刻のデータコピー取得指示が出された場合における、ホストA104のコピー制御プログラム112及び記憶領域サブシステムB106の記憶領域制御プログラムB114のデータコピー時刻設定処理を示すフローチャートである。
ここで、指定時刻のデータコピー取得指示は、データコピーの開始時刻より前にユーザや図示しない運用管理システムなどがコピー制御プログラム112を起動することによって行う。
まず、ホストA104のコピー制御プログラム112は、データコピー指示情報1126(図8参照)を指定して、指定時刻のデータコピー取得指示の入出力要求(データコピー指示情報1126)を伝送する(ステップS1101)。この入出力要求は、ホストA104のオペレーティングシステム110及び記憶領域サブシステムA105の記憶領域制御プログラムA113のリモートI/O制御部1133を経由して、記憶領域制御プログラムB114に伝送される。
記憶領域サブシステムB106の記憶領域制御プログラムB114は、受け取ったデータコピー指示情報1126をデータコピー管理テーブル1145(図9参照)に設定し(ステップS1111)、データコピー管理テーブル1145のデータコピー状態816の項目の値を、「待機中」に更新する(ステップS1112)。そして、指定時刻のデータコピー取得処理を開始する(ステップS1113)。この指定時刻のデータコピー取得処理については後記する。
ステップS1101の処理で伝送されるデータコピー指示情報1126(図8参照)は、ユーザや運用管理システムなどがコピー制御プログラムを起動する際に指定する。または、運用管理システムやコピー制御プログラムなどが、最適な時刻を決定して指定してもよい。
データコピー指示情報1126のデータコピー開始時刻711、データコピー取得時刻712、及びデータコピー終了時刻713の各項目には、指定時刻のデータコピー取得指示の入出力要求を出した時刻以降の任意の時刻が指定されている。また、空I/O発行間隔714の項目には、データコピー開始時刻711からデータコピー終了時刻713の間で、コピー制御プログラム112の空I/O発行部1124が発行する空I/Oの間隔が設定される。
前記のように、業務などの区切り間隔715の項目は、この値で指定された時間、データを書き込むプログラム111から更新I/Oが発行されない場合を業務などの区切りとみなすための値が指定される。このため、データを書き込むプログラム111を連続して実行する場合はデータを書き込むプログラム111の間隔をこの値で指定した時間、間を開けて実行する必要がある。また、データを書き込むプログラム111実行中にこの値で指定した時間、更新I/Oが発行されない場合は業務などの区切りとみなすため、データを書き込むプログラム111から定期的にデータボリューム121にログを出力するなどの配慮が必要である。
次に、ステップS1113において指定時刻のデータコピー取得処理が開始した以降における、ホストA104のコピー制御プログラム112からの空I/O発行の動作と、ホストA104での更新データ及び空I/O発行時のジャーナルの蓄積動作を説明する。
ここで、図12は、ホストA104のコピー制御プログラム112における空I/O発行処理のフローチャートである。
まず、指定時刻のデータコピー取得指示が出されている場合、コピー制御プログラム112は、現在の時刻と、データコピー指示情報1126(図8参照)のデータコピー開始時刻711及びデータコピー終了時刻713との関係から、現在の時刻の判例を行う(ステップS1201)。この判定の結果、現在の時刻がデータコピー開始時刻よりも前であるか否かを判定し(ステップS1202)、データコピー開始時刻よりも前であれば(ステップS1202で‘はい’)、データコピー開始時刻まで待機する(ステップS1203)ために、ステップS1201に戻る。また、データコピー開始時刻よりも前でなければ(ステップS1202で‘いいえ’)、現在の時刻はデータコピー終了時刻より前か否かを判定する(ステップS1204)。
ステップS1204の判定において、データコピー終了時刻よりも前でなければ(ステップS1204で‘いいえ’)、そのまま処理を終了する。
一方、データコピー終了時刻よりも前であれば(ステップS1204で‘はい’)、空I/Oを発行し(ステップS1205)、データコピーの状態を監視する(ステップS1206)。このとき発行された空I/Oの更新データは、記憶領域制御プログラムA113に渡され、記憶領域制御プログラムA113は、この空I/Oの更新データをジャーナルA122に蓄積する(ステップS1211)
なお、ステップS1206のデータコピー状態の監視の詳細については後記する。また、ステップS1205において、コピー制御プログラム112が、空I/Oを発行すると、空I/Oの更新データは記憶領域制御プログラムA113のジャーナル制御部1132によって、データを書き込むプログラム111の更新データと共にジャーナルA122に蓄積される。
そして、コピー制御プログラム112は、データコピーが取得済みか否かを判定し(ステップS1207)、取得されている場合は(ステップS1207で‘はい’)、そのまま処理を終了し、一方、取得されていない場合は(ステップS1207で‘いいえ’)、データコピー指示情報1126の空I/O発行間隔714に指定された時間だけ、次の空I/O発行間隔まで待機して(ステップS1208)、ステップS1201の処理に戻る。
以上の処理において、データコピー開始時刻まで待機する処理(ステップS1203)や、空I/O発行間隔で指定された間隔を待機する処理(ステップS1208)は、オペレーティングシステム110が一般的に備えている機能を利用することができる。
ここで、ステップS1206におけるデータコピー状態の監視の詳細を図13に示したフローチャートを参照して説明する。まず、コピー制御プログラム112は、記憶領域サブシステムB106に対して、データコピー管理テーブル1145(図9参照)のデータコピー状態816の伝送を要求する。この要求を受信した記憶領域制御プログラムB114は、ホストA104に対して、データコピー管理テーブル1145(図9参照)のデータコピー状態816を伝送する(ステップS1311)。そして、コピー制御プログラム112は、記憶領域制御プログラムB114から伝送されたデータコピー状態816を取得する(ステップS1301)。つまり、データコピー状態の監視は、記憶領域制御プログラムB114でデータコピー管理テーブル1145のデータコピー状態816の項目を参照することで監視する。
また、コピー制御プログラム112のI/O発行部1124が、図12に示したフローチャートのステップS1205において空I/Oを発行すると、空I/Oの更新データは、記憶領域制御プログラムA113のジャーナル制御部1142によって、記憶領域サブシステムA105のジャーナルA122に蓄積される。この蓄積の手順を図14に示したフローチャートを用いて説明する。
まず、ホストA104のオペレーティングシステム110は、コピー制御プログラム112の空I/O発行部1124が発行した空I/Oの情報、またはデータを書き込むプログラム111が出力した更新データを取得すると、取得した時刻に応じて更新時刻を設定し(ステップS1411)、この更新時刻と、更新データまたは空I/Oの情報とから更新データ情報1103(図7参照)を設定する(ステップS1412)。
そして、オペレーティングシステム110は、ステップS1412において設定した更新データ情報1103の入出力要求を、記憶領域制御プログラムA113に対して発行する(ステップS1413)。
この入出力要求を受けた記憶領域サブシステムA105の記憶領域制御プログラムA113は、取得した更新データ情報1103(図7参照)の更新データ603データボリューム121に反映し(ステップS1401)、入出力完了通知をホストA104のオペレーティングシステム110に伝送する(ステップS1402)。そして、更新データ情報1103をジャーナルA122に蓄積する(ステップS1403)。
以上の手順により、更新データまたは空I/Oの情報は、記憶領域サブシステムA105のジャーナルA122に蓄積される。
次に、指定時刻のデータコピー取得指示が出されている場合における、記憶領域サブシステムB106の記憶領域制御プログラムB114の動作を説明する。
ここで、図15Aないし図15Eは、記憶領域サブシステムB106の記憶領域制御プログラムB114の指定時刻のデータコピー取得処理のフローチャートである。
まず、記憶領域制御プログラムB114は、データコピー管理テーブル1145(図9参照)の空I/Oの連続取得回数818の項目を初期化し(ステップS1501)、
記憶領域サブシステムA105の記憶領域制御プログラムA113に、更新データ情報1103の送信を要求して制御を渡し、この要求を受信した記憶領域サブシステムA105の記憶領域制御プログラムA113から、更新データ情報1103を取得する(ステップS1502)。
このとき、記憶領域サブシステムA105の記憶領域制御プログラムA113は、ジャーナルA122から更新データ情報1103を取得し(ステップS1511)、この取得した更新データ情報1103を記憶領域制御プログラムB114に受け渡す。
次に、記憶領域制御プログラムB114は、更新データ情報1103の取得後に障害発生有無の判定を行い(ステップS1503)、この判定により、障害発生有りか否かを判断し(ステップS1504)、障害が発生している場合は(ステップS1504で‘はい’)、データコピー管理テーブル1145(図9参照)のデータコピー状態816の項目を「失敗」に設定し(ステップS1505)データコピー取得を中止する。この場合、業務の区切りのデータコピー133には前回の指定時刻のデータコピーがそのまま残っている。
ここで、障害発生有無の判定処理を図16に示したフローチャートを参照して説明する。記憶領域制御プログラムB114の障害発生有無判定部114Aは、ステップS1502において、記憶領域サブシステムA105のジャーナルA122から更新データ情報を取得できたか否かを判定し(ステップS1601)、取得できた場合は(ステップS1601で‘はい’)、現在の時刻とデータコピー管理テーブル1145(図9参照)のデータコピー終了時刻813との関係を判定し(ステップS1602)、現在の時刻がデータコピー終了時刻813よりも前か否かを判定する(ステップS1603)。
この判定で、現在の時刻がデータコピー終了時刻813よりも前ではない場合(ステップS1603で‘いいえ’)、つまり、データコピー終了時刻を過ぎても更新データ情報が取得できなかった場合は、「障害発生有」と判定する(ステップS1604)。
また、ステップS1601において更新データ情報を取得できた場合(ステップS1601で‘はい’)及びステップS1603においてデータコピー終了時刻813よりも前の場合(ステップS1603で‘はい’)は、「障害発生無」と判定する(ステップS1605)。
一方、図15Aに戻って、ステップS1504において、障害が発生していない場合は(ステップS1504で‘いいえ’)、記憶領域制御プログラムB114は、ステップS1502において、記憶領域サブシステムA105のジャーナルA122から、更新データ情報1103を取得できたか否かを判定し(ステップS1506)、できなかった場合は(ステップS1506で‘いいえ’)、ステップS1502の更新データ情報1103の取得に戻り、できた場合は(ステップS1506で‘はい’)、取得した更新データ情報1103(図7参照)の更新データ603の更新時刻601が、データコピー管理テーブル1145(図9参照)のデータコピー開始時刻811よりも前か否かを判定する(ステップS1507)。
ステップS1507において、データコピー開始時刻811よりも前の場合は(ステップS1507‘はい’)、端子Aから図15Bに移って、更新データをコピーボリューム131に反映し(ステップS15101)、端子Eから図15Aの更新データ情報1103の取得処理(ステップS1502)に戻る。
一方、ステップS1507において、データコピー開始時刻811よりも前ではない場合は(ステップS1507で‘いいえ’)、取得した更新データ情報1103(図7参照)の更新データ603の更新時刻601が、データコピー管理テーブル1145(図9参照)のデータコピー取得時刻812よりも前か否かを判定する(ステップS1508)。
ステップS1508において、データコピー取得時刻812よりも前の場合は(ステップS1508で‘はい’)、端子Bから図15Cに移って、記憶領域制御プログラムB114は、データコピー管理テーブル1145(図9参照)のデータコピー状態816の項目を「処理中」に設定し(ステップS15201)、業務などの区切りの判定を行い(ステップS15202)、業務などの区切りを検知したか否かを判定する(ステップS15203)。なお、ステップS15202の業務などの区切り判定の詳細については後記する。
ステップS15203において、業務などの区切りを検出した場合は(ステップS15203で‘はい’)、記憶領域サブシステムB106のジャーナルB132に蓄積された更新データをすべてコピーボリューム131に反映し(ステップS15204)、図15AのステップS1502で取得した更新データ情報1103(図7参照)の更新データ603の更新時刻601を、データコピー管理テーブル1145(図9参照)の仮のデータコピー実行時刻819に設定する(ステップS15205)。そして、端子Eから図15Aの更新データ情報1103の取得処理(ステップS1502)に戻る。
一方、ステップS15203において、業務などの区切りを検出しなかった場合は(ステップS15203で‘いいえ’)、図15AのステップS1502で取得した更新データ情報1103(図7参照)が空I/Oの更新データ情報1103か否かを判定し(ステップS15206)、空I/Oの更新データ情報1103であれば(ステップS15206で‘はい’)そのまま、空I/Oの更新データ情報1103でなければ(ステップS15206で‘いいえ’)この更新データ情報1103をジャーナルB132に格納して(ステップS15207)、端子Eから図15Aの更新データ情報1103の取得処理(ステップS1502)に戻る。
なお、ステップS15206の空I/Oの更新データか否かの判定は、更新データ情報1103(図7参照)の更新箇所602及び更新データ603の項目が無効であるか否かで判定される。
図15Aに戻って、ステップS1508において、データコピー取得時刻812よりも前の場合ではない場合は(ステップS1508で‘いいえ’)、ステップS1502で取得した更新データ情報1103(図7参照)の更新データ603の更新時刻601が、データコピー管理テーブル1145(図9参照)のデータコピー終了時刻813よりも前か否かを判定する(ステップS1509)。データコピー終了時刻813よりも前の場合は(ステップS1509で‘はい’)、端子Cから図15Dに移って、記憶領域制御プログラムB114は、データコピー管理テーブル1145(図9参照)のデータコピー状態816の項目を「処理中」に設定し(ステップS15301)、業務などの区切りの判定を行い(ステップS15302)、業務などの区切りを検知したか否かを判定する(ステップS15303)。
ステップS15303において、業務などの区切りを検出しなかった場合は(ステップS15303で‘いいえ’)、図15AのステップS1502で取得した更新データ情報1103(図7参照)が空I/Oの更新データ情報1103か否かを判定し(ステップS15304)、空I/Oの更新データ情報1103であれば(ステップS15304で‘はい’)はそのまま、空I/Oの更新データ情報1103でなければ(ステップS15304で‘いいえ’)この更新データ情報1103をジャーナルB132に蓄積して(ステップS15305)、端子Eから図15Aの更新データ情報1103の取得処理(ステップS1502)に戻る。
一方、ステップS15303において、業務などの区切りを検出した場合は(ステップS15303で‘はい’)、検知した業務などの区切りの時刻と、データコピー管理テーブル1145(図9参照)の仮のデータコピー実行時刻819とを比較して(ステップS15306)、業務などの区切りの時刻は、仮のデータコピー実行時刻819より、データコピー管理テーブル1145(図9参照)のデータコピー取得時刻812に近い時刻か否かを判定する(ステップS15307)。
ステップS15307において、業務などの区切りの時刻の方が近い場合は(ステップS15307で‘はい’)、記憶領域制御プログラムB114は、ジャーナルB132に蓄積された更新データをすべてコピーボリューム131に反映し(ステップS15308)、この業務などの区切りの時刻を、データコピー管理テーブル1145(図9参照)のデータコピー実行時刻817に設定する(ステップS15309)。
一方、ステップS15307において、仮のデータコピー実行時刻819の方が近い場合は(ステップS15307で‘いいえ’)、この仮のデータコピー実行時刻819をデータコピー管理テーブル1145のデータコピー実行時刻817に設定する(ステップS15309)。
そして、記憶領域制御プログラムB114は、業務などの区切りのデータコピー133にコピーボリューム131をデータコピーし(ステップS15311)、データコピー管理テーブル1145(図9参照)のデータコピー状態816の項目を「完了」に設定して処理を終了する(ステップS15312)。
図15Aに戻って、ステップS1509において、データコピー終了時刻813よりも前ではない場合は(ステップS1509で‘いいえ’)、端子Dから図15Eに移って、ジャーナルB132に蓄積された更新データのうち、データコピー管理テーブル1145(図9参照)のデータコピー取得時刻812までの更新データを、コピーボリューム131に反映する(ステップS15401)。そして、このデータコピー管理テーブル1145のデータコピー取得時刻812を、データコピー実行時刻819に設定する(ステップS15402)。
次に、記憶領域制御プログラムB114は、業務などの区切りのデータコピー133にコピーボリューム131をコピーし(ステップS15403)、データコピー状態816を「強制完了」に設定して(ステップS15404)すべての処理を終了する。
ここで、図15CのステップS15202及び図15DのステップS15302における業務などの区切り判定の処理について詳しく説明する。図17は、記憶領域制御プログラムB114の業務などの区切り判定部1143が実行する業務などの区切り判定の処理を示すフローチャートである。
まず、記憶領域制御プログラムB114は、図15AのステップS1502においてジャーナルA122から取得した更新データが、空I/Oの更新データ情報1103であるか否かを判定する(ステップS1701)。空I/Oの更新データ情報1103であれば(ステップS1701で‘はい’)、データコピー管理テーブル1145(図9参照)の空I/Oの連続取得回数818をカウントアップし(ステップS1702)、(空I/Oの連続取得回数(818)−1)×空I/O発行間隔(814)が業務などの区切り間隔815より大きいか否かを判定する(ステップS1703)。
ステップS1703の判定において大きい場合は(ステップS1703で‘はい’)、所定時間、空I/Oが連続したため、業務などの区切りと判定して(ステップS1704)、処理を終了する。
一方、ステップS1701において、空I/Oの更新データ情報1103ではない場合(ステップS1701で‘いいえ’)、データコピー管理テーブル1145(図9参照)の空I/Oの連続取得回数818の項目を0に初期化し(ステップS1705)、業務などの区切りではないと判定して(ステップS1706)、処理を終了する。
また、ステップS1703の判定において、比較の結果、小さい場合も(ステップS1703で‘いいえ’)、業務などの区切りではないと判定して(ステップS1706)、処理を終了する。
以上の手順により、図10に示したフローチャートの一連の処理が実行され、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化することができる。
次に、前記の手順により実現される、最適なデータコピーの実行時刻の判定の例をパターンごとに説明する。ここで、図18Aは、この例におけるデータコピー開始時刻、データコピー取得時刻及びデータコピー終了時刻の設定値を示すテーブルであり、図18Bないし図18Eは、最適なデータコピー実行時刻の設定例を説明する図面である。
ここでは、図18Aに示すように、データコピー開始時刻を11:50、データコピー取得時刻を12:00、データコピー終了時刻を12:20とした場合を取り上げる。
図18Bに示した例では、データコピー取得時刻の12:00に、業務などの区切りが検出され、12:00に業務などが稼働していないため、最適なデータコピー実行時刻は12:00と判定される。
図18Cに示した例では、業務Bがデータコピー取得時刻の12:00に稼働しており、業務などの区切りが最もデータコピー取得時刻の12:00に近い11:58が最適なデータコピー実行時刻と判定される。
図18Dに示した例では、業務Aがデータコピー取得時刻の12:00に稼働しているため、業務などの区切りが最もデータコピー取得時刻の12:00に近い12:03が最適なデータコピー実行時刻と判定される。
図18Eに示した例では、業務Aがデータコピー取得時刻の12:00に稼働している。また、業務Aの稼働前後に業務などの区切りがあるが(11:58と12:10)、そのうち、業務などの区切りが最もデータコピー取得時刻の12:00に近い11:58が最適なデータコピー実行時刻と判定される。
以上、説明した本実施形態の記憶領域制御システムによると、通信回線103で接続されたサイト(101,102)間で指定時刻のデータのデータコピーを取得する際であっても、I/Oの発生を避けた最適なデータコピーの取得時刻を算出できる。これにより、障害発生時の回復が短縮され、システムの信頼性が向上する。
(第2実施形態:システム構成)
次に、本発明の第2実施形態について説明する。本実施形態は、指定時刻に同一サイト内のディスク装置間でローカルコピーを取得する場合の実施形態である。
なお、本実施形態の図面において、第1実施形態と同様の要素については同じ参照符号を付してその説明は省略する。
図19は、本発明の第2の実施形態に係る記憶領域制御システムの構成ブロック図である。図19に示すように、本実施形態の記憶領域制御システムは、ホストA104と、ディスク制御装置A1051及びディスク装置A1056を有する記憶領域サブシステムA105と、ディスク制御装置B1061及びディスク装置B1066を有する記憶領域サブシステムB106とを、通信回線103でそれぞれ接続して構成されるサイトA101を有している。
図19に示した記憶領域制御システムの各構成要素は、図1に示した第1実施形態の記憶領域制御システムとほぼ同様であるため、その説明を省略する。但し、ホストA104、ディスク制御装置A1051及びディスク制御装置B1061のメモリ(1042、1054、1064)に格納されるプログラムは第1実施形態と異なっており、これについては後記する。
(作用)
ここで、図20は、図19に示した記憶領域制御システムにおいて、同期コピーによるデータ及び指定時刻のデータのデータコピーを取得する運用を説明する説明図である。
以下、図20を参照しつつ、同期コピーによるデータコピーと、指定時刻のデータのデータコピーを取得する運用例を説明する(適宜、図19参照のこと)。
本実施形態の記憶領域制御システムでは、データコピー運用の通常時、業務などの処理を実行しているサイトをサイトA101とし、そのサイトのコンピュータをホストA104、コピー元の記憶装置を記憶領域サブシステムA105、コピー先の記憶装置を記憶領域サブシステムB106とする。
コピー制御プログラム112bからの同期コピーや指定時刻のデータのデータコピー指示により、記憶領域サブシステムA105のデータボリューム121が、記憶領域サブシステムB106のコピーボリューム131、及び業務などの区切りのデータコピー133にコピーされる。
ここで、同期コピーとは、記憶領域サブシステムA105のデータボリューム121への更新内容を、同期して記憶領域サブシステムB106のコピーボリューム131に反映してデータのデータコピーを取得することである。
同期コピーを実行することで、記憶領域サブシステムB106のコピーボリューム131に、記憶領域サブシステムA105のデータボリューム121のデータが、常時、データコピーされる。同期してデータコピーを取得するため、コピーボリューム131のデータは、データボリューム121のデータと同一内容である。
一方、指定時刻のデータのデータコピーとは、第1実施形態と同様に、記憶領域サブシステムA105の指定時刻におけるデータボリューム121のデータを、記憶領域サブシステムB106の業務などの区切りのデータコピー133にデータコピーを取得することである。指定時刻のデータのデータコピーは、一般的に、業務などが稼働していない時間に取得される。従って、このデータコピーは業務などの区切りで取得されるデータコピーである。
本実施形態のように、同期コピーと組み合わせて指定時刻のデータのデータコピーを取得する場合は、業務などの区切りのデータコピー133は、データボリューム121とコピーボリューム131との両方に障害が発生した場合などに利用される。
なお、記憶領域サブシステムA105のデータボリューム121は、ディスク装置A1056の記憶領域1057に格納され、記憶領域サブシステムB106のコピーボリューム131及び業務などの区切りのデータコピー133は、ディスク装置B1066の各記憶領域1067に格納されている。
本実施形態のホストA104のメモリ1042には、オペレーティングシステム110bと、データを書き込むプログラム111bと、コピー制御プログラム112が格納され、これらのプログラムをCPU1041が実行している。オペレーティングシステム110bはデータを書き込むプログラム111bやコピー制御プログラム112bからの入出力要求を処理する。また、データを書き込むプログラム111bは、記憶領域サブシステムA105内のデータボリューム121へのデータ書き込みを行いながら業務などを行っているプログラムである。また、コピー制御プログラム112bは、同期コピーや指定時刻のデータのデータコピーを入出力要求として指示するプログラムである。
本実施形態の記憶領域サブシステムA105のメモリ1054には、記憶領域制御プログラムA113bが格納され、ディスク装置A1056の記憶領域1057には、データボリューム121が格納されている。ここで、記憶領域制御プログラムA113bは、オペレーティングシステム110bからの入出力要求を処理するプログラムである。
また、本実施形態の記憶領域サブシステムB106のメモリ1064には、記憶領域制御プログラムB114bが格納され、ディスク装置B1066の各記憶領域1067には、コピーボリューム131と、業務などの区切りのデータコピー133とが格納されている。ここで、記憶領域制御プログラムB114bは、記憶領域制御プログラムA113bからの入出力要求を処理するプログラムである。
次に、データを書き込むプログラム111bからデータの書き込みが行われた場合の同期コピーの動作を説明する。なお、この同期コピーは公知の技術である。
まず、ホストA104のデータを書き込むプログラム111bからのデータの書き込みは、オペレーティングシステム110bによって処理される。データを書き込むプログラム111bからオペレーティングシステム110bにデータの書き込みが指示されると、データを書き込むプログラム111bから受け取った更新データを、後記する更新データ情報1103b(図22参照)に設定して記憶領域サブシステムA105に伝送する。
記憶領域制御プログラムA113bは、ホストA104から受け取った更新データをデータボリューム121に書き込み、同時に記憶領域制御プログラムB114bに制御を渡してコピーボリューム131に書き込む。この際、記憶領域制御プログラムA113bは、記憶領域サブシステムB106のコピーボリューム131への書き込みが完了した時点で、入出力が完了したことを、ホストA104のオペレーティングシステム110bに通知する。
このように同期コピーを実行しておけば、記憶領域サブシステムA105のデータボリューム121に障害が発生した場合でも、記憶領域サブシステムB106のコピーボリューム131から、データボリューム121を回復できる。
しかしながら、記憶領域サブシステムB106のコピーボリューム131にも同時に障害が発生した場合や、コピーボリューム131のデータをそのまま回復に使えない場合は回復に時間がかかる恐れがあるため、その場合に備えて、指定時刻における、記憶領域サブシステムA105のデータボリューム121のデータコピーを、記憶領域サブシステムB106の業務などの区切りのデータコピー133に取得しておくことが望ましい。
この際、データボリューム121を、業務などの区切りのデータコピー133から回復できるように、ホストA104においてデータを書き込むプログラム111bが稼働していない時間帯にデータコピーを取得するのが一般的である。
ところが、データを書き込むプログラム111bがデータコピーの開始時刻まで終了していない場合や、誤って、データを書き込むプログラム111bをデータコピーの開始時刻前に実行した場合、指定時刻にデータを書き込むプログラム111bが稼働中であるため、コンピュータプログラムが扱う業務データとして見た場合に、業務などが未完了であるためにそのままでは使えないデータとなる。このため、データを書き込むプログラム111bの実行の区切りを検知して、指定時刻に最も近い区切りをデータコピーの実行時刻とすることでデータコピーの取得時刻を最適化することが考えられる。
以下に、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化する方法の一例を示す。
図21は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要なホストA104のオペレーティングシステム110bの機能ブロックの例を示す図面である。
本実施形態のオペレーティングシステム110bは、入出力制御部1101b及び更新データ情報1103bを備えている。入出力制御部1101bは、データを書き込むプログラム111bやコピー制御プログラム112bからの入出力要求を処理して、処理結果を返却する。
ここで、更新データ情報1103bの例を、図22のテーブルに示す。図22に示すように、更新データ情報1103bは、更新箇所2301及び更新データ2302の項目を含んでいる。
次に、図23は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、ホストA104のコピー制御プログラム112bの機能ブロックの例を示す図面である。
本実施形態のコピー制御プログラム112bは、同期コピーの処理を指示する同期コピー制御部1121b、指定時刻のデータのデータコピー取得を指示する指定時刻のデータコピー制御部1122b、及びデータコピー指示情報1126bを備えている。
さらに、指定時刻のデータコピー制御部1122bは、データコピー指示情報1126bを設定するデータコピー時刻設定部1123bと、データコピーの状態を監視するデータコピー状態監視部1125bとを含んで構成される。
ここで、データコピー指示情報1126bの例を図24のテーブルに示す。図24に示すようにデータコピー指示情報1126bは、データコピー開始時刻2411と、データコピー取得時刻2412と、データコピー終了時刻2413と、空I/O発行間隔2414と、業務などの区切り間隔2415の項目を含んでいる。
ここで、本実施形態における空I/Oは、記憶領域制御プログラムA113bが発行することとするが、オペレーティングシステム110bやコピー制御プログラム112bから発行してもよい。また、データコピー指示情報1126bは、データコピー運用の時間帯や業務などの特性によって異なるため、コピー制御プログラム112bを起動する際に、ユーザや運用管理システム等により適切な値が設定される。
次に、図25は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、記憶領域サブシステムA105のメモリ1054に格納された記憶領域制御プログラムA113bの機能ブロックの例を示す図面である。記憶領域制御プログラムA113bは、オペレーティングシステム110bからのデータの入出力要求を処理する。
本実施形態の記憶領域制御プログラムA113は、コピー元のプライマリボリュームであるディスク装置A1056を制御するP−VOL制御部1131bと、データコピー管理テーブルA1136と、更新データ情報A1137とを備え、このP−VOL制御部1131bは、空I/Oを発行する空I/O発行部1134と、記憶領域サブシステムA105のデータボリューム121の更新データを、記憶領域サブシステムB106のコピーボリューム131にコピーするデータコピー処理部1135を備えている。
ここで、図26にデータコピー管理テーブルA1136の例を示す。図26に示すように、データコピー管理テーブルA1136は、データコピー開始時刻2511と、データコピー取得時刻2512と、データコピー終了時刻2513と、空I/O発行間隔2514と、業務などの区切り間隔2515との項目を含んでいる。
また、図27に更新データ情報A1137の例を示す。図27に示すように、更新データ情報A1137は、更新時刻2601と、更新箇所2602と、更新データ2603との項目を含んでいる。ただし、空I/O発行部1134が発行する空I/Oの場合は、参照符号2611で示す更新箇所2602及び更新データ2603の項目が無効となったレコードが記録される。
次に、図28は、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化するために必要な、記憶領域サブシステムB106の記憶領域制御プログラムB114bの機能ブロックの例を示す図面である。記憶領域制御プログラムB114bは、記憶領域制御プログラムA113のリモートI/O制御部1133からの入出力要求を処理する。
本実施形態の記憶領域制御プログラムB114bは、コピー先のセカンダリボリュームであるディスク装置B1066を制御するS−VOL制御部1141bと、データコピー管理テーブルB1145bとを備え、S−VOL制御部1141は、指定時刻のデータコピー処理部1146と、業務などの区切り判定部1143bと、障害発生有無判定部1144bとを含んでいる。
記憶領域制御プログラムB114bにおいて、コピー制御プログラム112bから指定時刻のデータコピー取得指示の入出力要求が出されると、ホストA104のオペレーティングシステム110bを経由して、指定時刻のデータコピー処理部1146に制御が渡り、この後、指定時刻のデータコピー処理部1146は、指定時刻のデータコピー取得処理を開始する。
業務などの区切り判定部1143bは、指定時刻のデータコピーを取得する際に、データコピーの取得時刻を最適化するための業務などの区切りを判定する。
障害発生有無判定部1144bは、指定時刻のデータコピーを取得する際に、サイトA101のホストA104又は記憶領域サブシステムA105に障害が発生しているか否かを判定する。
ここで、データコピー管理テーブルB1145bの例を図29のテーブルに示す。図29に示すようにデータコピー管理テーブルB1145bは、データコピー開始時刻2711と、データコピー取得時刻2712と、データコピー終了時刻2713と、空I/O発行間隔2714と、業務などの区切り間隔2715と、データコピー状態2716と、データコピー実行時刻2717と、空I/Oの連続取得回数2718と、仮のデータコピー実行時刻2719の項目を含んでいる。
以下に、指定時刻のデータのデータコピーを取得する際に、データコピーの取得時刻を最適化する方法を説明する(適宜、図19ないし図29参照)。
図30は、指定時刻のデータコピー取得の処理の概略を示すフローチャートである。図30に示すとおり、本実施形態の指定時刻のデータコピー取得の処理は、「コピー制御プログラムからのデータコピーの指定時刻の設定(ステップS3001)」、「記憶領域制御プログラムAからの空I/Oの発行(ステップS3002)」、「記憶領域制御プログラムBでの指定時刻のデータコピー取得(ステップS3003)」の各手順からなる。
まず、「コピー制御プログラムからのデータコピーの指定時刻の設定(ステップS3001)」の手順について詳しく説明する。ここで、図31は、ホストA104のコピー制御プログラム112bのデータコピー時刻設定処理を示すフローチャートである。
ここで、指定時刻のデータコピー取得指示は、データコピーの開始時刻より前にユーザや図示しない運用管理システムなどがコピー制御プログラム112bを起動することによって行う。
まず、ホストA104のコピー制御プログラム112は、データコピー指示情報1126b(図24参照)を指定して、指定時刻のデータコピー取得指示の入出力要求(データコピー指示情報1126b)を伝送する(ステップS3101)。このデータコピー指示情報1126bは、ホストA104のオペレーティングシステム110bを経由して、記憶領域制御プログラムA113bに伝送される。その後、記憶領域制御プログラムA113bを経由して、記憶領域制御プログラムB114bに制御が渡される。
記憶領域サブシステムA105の記憶領域制御プログラムA113bは、受け取ったデータコピー指示情報1126bをデータコピー管理テーブルA1136に設定し(ステップS3111)、空I/O発行処理を起動する(ステップS3112)。空I/O発行処理については後で説明する。
そして、指定時刻のデータコピー取得指示の入出力要求(データコピー指示情報1126b)を取得した記憶領域サブシステムB106の記憶領域制御プログラムB114bは、データコピー指示情報1126bをデータコピー管理テーブルB1145b(図29参照)に設定し(ステップS3121)、データコピー管理テーブルB1145bのデータコピー状態2716の項目の値を、「待機中」に設定し(ステップS3122)、空I/Oの連続取得回数2718の項目を0に初期化する(ステップS3123)。
そして、指定時刻のデータコピー取得処理を開始する(ステップS3124)。この指定時刻のデータコピー取得処理については後記する。
ステップS3101の処理で伝送されるデータコピー指示情報1126b(図24参照)に含まれる各項目値は、ユーザや運用管理システムなどがコピー制御プログラムを起動する際に指定する。又は、運用管理システムやコピー制御プログラムなどが、最適な時刻を決定して指定してもよい。
また、データコピー指示情報1126bのデータコピー開始時刻2411、データコピー取得時刻2412、及びデータコピー終了時刻2413の各項目には、指定時刻のデータコピー取得指示の入出力要求を出した時刻以降の任意の時刻が指定されている。また、空I/O発行間隔2414の項目には、データコピー開始時刻2411からデータコピー終了時刻2413の間で、記憶領域制御プログラムA113bの空I/O発行部1134が発行する空I/Oの間隔が設定される。
また、業務などの区切り間隔2415の項目は、この値で指定された時間、データを書き込むプログラム111bから更新I/Oが発行されない場合を業務などの区切りとみなすための値が指定される。このため、データを書き込むプログラム111bを連続して実行する場合はデータを書き込むプログラム111bの間隔をこの値で指定した時間、間を開けて実行する必要がある。また、データを書き込むプログラム111b実行中にこの値で指定した時間、更新I/Oが発行されない場合は業務などの区切りとみなすため、データを書き込むプログラム111bから定期的に、記憶領域サブシステムA105のデータボリューム121にログを出力するなどの配慮が必要である。
次に、指定時刻のデータコピー取得指示が出されている場合の記憶領域サブシステムA105の記憶領域制御プログラムA113bにおける空I/O発行の動作と、ホストA104のオペレーティングシステム110bがデータの書き込み要求を取得した場合の記憶領域制御プログラムA113bでのデータコピー処理の動作を説明する。
ここで、図32は、記憶領域制御プログラムA113bにおける空I/O発行処理を示すフローチャートである。
まず、指定時刻のデータコピー取得指示が出されている場合、コピー制御プログラム112bは、現在の時刻と、データコピー指示情報1126b(図24参照)のデータコピー開始時刻2411及びデータコピー終了時刻2413との関係から、現在の時刻の判定を行う(ステップS3201)。この判定の結果、現在の時刻がデータコピー開始時刻よりも前であるか否かを判定し(ステップS3202)、データコピー開始時刻よりも前であれば(ステップS3202で‘はい’)、データコピー開始時刻まで待機して(ステップS3204)、ステップS3201に戻る。また、データコピー開始時刻よりも前でなければ(ステップS3202で‘いいえ’)、現在の時刻はデータコピー終了時刻より前か否かを判定する(ステップS3203)。
ステップS3203の判定において、データコピー終了時刻よりも前でなければ(ステップS3203で‘いいえ’)、そのまま処理を終了する。
一方、データコピー終了時刻よりも前であれば(ステップS3203で‘はい’)、データコピー管理テーブルA1136の現在の時刻を更新時刻2601に設定し(ステップS3205)、空I/O発行間隔2514で指定された間隔で、記憶領域制御プログラムB114bに対して空I/Oを発行し(ステップS3206)、データコピーの状態を監視する(ステップS3207)。
なお、ステップS3026で発行された空I/Oは、記憶領域サブシステムB106の記憶領域制御プログラムB114bに伝送され、後記する指定時刻のデータコピー処理での業務などの区切りの判定処理(ステップS3211)に用いられる。また、ステップS3207のデータコピー状態の監視の詳細については後記する。
そして、記憶領域制御プログラムA113bは、記憶領域サブシステムB106のデータコピー管理テーブルB1145bのデータコピー状態2716が、「完了」、「強制完了」、「失敗」のいずれかであるかを判定する(ステップS3208)。
ここで、図33は、データコピー状態2716を記憶領域制御プログラムB114bに問い合わせる手順を示したフローチャートである。まず、記憶領域制御プログラムA113bは、記憶領域サブシステムB106に対して、データコピー管理テーブルB1145b(図29参照)のデータコピー状態2716の伝送を要求する。この要求を受信した記憶領域制御プログラムB114bは、記憶領域制御プログラムA113bに対して、データコピー管理テーブルB1145bのデータコピー状態2716を伝送する(ステップS3302)。そして、記憶領域制御プログラムA113bは、記憶領域制御プログラムB114bから伝送されたデータコピー状態2716を取得する(ステップS3301)。
図32に戻って、ステップS3208おいて、「完了」、「強制完了」、「失敗」のいずれかである場合は(ステップS3208で‘はい’)、そのまま処理を終了し、一方、いずれかではない場合は(ステップS3208で‘いいえ’)、データコピー指示情報1126bの空I/O発行間隔2414に指定された時間だけ、次の空I/O発行間隔まで待機して(ステップS3209)、ステップS3201の処理に戻る。
以上の処理において、データコピー開始時刻まで待機する処理(ステップS3204)や、空I/O発行間隔で指定された間隔を待機する処理(ステップS3209)は、オペレーティングシステム110bが一般的に備えている機能を利用する。
次に、記憶領域制御プログラムA113bのデータコピー取得処理の手順を図34のフローチャートに示す。
ホストA104のオペレーティングシステム110bが、データの書き込み要求を取得すると(ステップS3411)、更新データ情報1103b(図22参照)を更新し(ステップS3412)、記憶領域サブシステムA105の記憶領域制御プログラムA113bに入出力要求を伝送する(ステップS3413)。この際、更新データ情報1103bが入力情報として渡される。
次に、記憶領域制御プログラムA113bが、更新データ情報1103bを含む入出力要求を受け取ると、まず、更新データ情報1103bの更新データ2302をデータボリューム121に反映し(ステップS3401)、この更新データ情報1103bを更新データ情報A1137(図27参照)に設定する(ステップS3402)。
さらに、現在の時刻を更新データ情報A1137の更新時刻2601に設定して(ステップS3403)、記憶領域制御プログラムB114bの指定時刻のデータコピー処理部1146を起動する(ステップS3404)。
この後、指定時刻のデータコピー処理部1146の処理により、更新データがコピーボリューム131に反映され、指定時刻の場合は、記憶領域サブシステムA105のデータボリューム121が業務の区切りのデータコピー133にコピーされる。指定時刻のデータコピー処理については、このあと詳しく説明する。記憶領域制御プログラムA113bの指定時刻のデータコピー処理が完了すると、ホストA104のオペレーティングシステム110bに入出力完了通知を送信して(ステップS3405)、オペレーティングシステム110bに制御が戻される。
次に、指定時刻のデータコピー取得指示が出されている場合における、記憶領域サブシステムB106の記憶領域制御プログラムB114bの動作を説明する。
ここで、図35Aないし図35Fは、記憶領域サブシステムB106の記憶領域制御プログラムB114bの指定時刻のデータコピー取得処理のフローチャートである。
まず、記憶領域制御プログラムB114bは、記憶領域サブシステムA105の記憶領域制御プログラムA113bから、更新データ情報A1137(図27参照)を取得して(ステップS3501)、障害発生有無の判定を行い(ステップS3502)、この判定により、障害発生有りか否かを判断し(ステップS3503)、障害が発生している場合は(ステップS3503で‘はい’)、データコピー管理テーブルB1145b(図29参照)のデータコピー状態2716の項目を「失敗」に設定し(ステップS3504)データコピー取得を中止する。
なお、このとき、障害発生前までに業務などの区切りが検知されている場合は、業務などの区切りのデータコピー133には、障害発生前までに検知した業務などの区切りについて、業務などの区切りデータコピー133が取得されている。
また、業務などの区切りが検知されていない場合は、障害検知前までにデータコピー取得時刻2712を超える更新データ情報A1137が取得されていなければ、前回の指定時刻のデータコピーがそのまま残っているが、データコピー取得時刻2712を超える更新データ情報A1137が取得されていれば、データコピー取得時刻2712のデータコピーが取得されている。
さらに、図36に、ステップS3502の障害発生有無の判定の詳細なフローチャートを示し、データコピー管理テーブルB1145b(図29参照)のデータコピー終了時刻2713を過ぎても、ホストA104のオペレーティングシステム110bから更新データ情報A1137が取得できなかった場合を障害発生有とみなす。図36に示した手順は、図16に示した第1実施形態の障害発生有無の判定手順とほぼ同様であるため、その詳細な説明は省略する。
一方、ステップS3503において、障害が発生していない場合は(ステップS3503で‘いいえ’)、ステップS3501において更新データ情報A1137を取得できたか否かを判定し(ステップS3505)、取得できていない場合は(ステップS3505で‘いいえ’)更新データ情報A1137を取得するために、ステップS3501に戻る。
また、ステップS3505において、更新データ情報A1137を取得できた場合は(ステップS3505で‘はい’)、取得した更新データ情報A1137(図27参照)の更新データ2603の更新時刻2601が、データコピー管理テーブルB1145b(図29参照)のデータコピー開始時刻2711より前か否かを判定する(ステップS3506)。
ステップS3506において、データコピー開始時刻2711よりも前の場合は(ステップS3506‘はい’)、端子Fから図35Bに移って、更新データをコピーボリューム131に反映し(ステップS35101)、端子Kから図15Aの更新データ情報1103の取得処理(ステップS1502)に戻る。
一方、ステップS3506において、データコピー開始時刻2711よりも前ではない場合は(ステップS3506で‘いいえ’)、取得した更新データ情報A1137(図27参照)の更新データ2603の更新時刻2601が、データコピー管理テーブルB1145b(図29参照)のデータコピー取得時刻2712よりも前か否かを判定する(ステップS3507)。
ステップS3507において、データコピー取得時刻2712よりも前の場合は(ステップS3507で‘はい’)、端子Gから図35Cに移って、記憶領域制御プログラムB114bは、データコピー管理テーブルB1145b(図29参照)のデータコピー状態2716の項目を「処理中」に設定し(ステップS35201)、業務などの区切りの判定を行い(ステップS35202)、業務などの区切りを検知したか否かを判定する(ステップS35203)。
ステップS35203において、業務などの区切りを検出した場合は(ステップS35203で‘はい’)、ステップS35202の処理で決定した業務などの区切りの時刻を、データコピー管理テーブルB1145b(図29参照)の仮のデータコピー実行時刻2719に設定し(ステップS35204)、コピーボリューム131を、業務などの区切りのデータコピー133にデータコピーする(ステップS35205)。そして、端子Kから図35Aの更新データ情報A1137の取得処理(ステップS3501)に戻る。
一方、ステップS35203において、業務などの区切りを検出しなかった場合は(ステップS35203で‘いいえ’)、図35AのステップS3501で取得した更新データ情報A1137(図27参照)が空I/Oの更新データ情報A1137か否かを判定し(ステップS35206)、空I/Oの更新データ情報A1137であれば(ステップS35206で‘はい’)そのまま、空I/Oの更新データ情報A1137でなければ(ステップS35206で‘いいえ’)この更新データ情報A1137をコピーボリューム131に反映して(ステップS35207)、端子Kから図35Aの更新データ情報A1137の取得処理(ステップS3501)に戻る。
なお、ステップS35206の空I/Oの更新データ情報A1137か否かの判定は、更新箇所2602及び更新データ2603の項目が無効であるか否かで判定される。
次に、ステップS3507において、データコピー取得時刻2712よりも前ではない場合は(ステップS3507で‘いいえ’)、取得した更新データ情報A1137(図27参照)の更新データ2603の更新時刻2601が、データコピー管理テーブルB1145b(図29参照)のデータコピー終了時刻2713よりも前か否かを判定する(ステップS3508)。
ステップS3508において、データコピー終了時刻2713よりも前の場合は(ステップS3508で‘はい’)、端子Hから図35Dに移って、業務などの区切りの判定を行い(ステップS35301)、業務などの区切りを検知したか否かを判定する(ステップS35302)。
ステップS35302において、業務などの区切りを検出した場合は(ステップS35302で‘はい’)、検知した業務などの区切りの時刻と、データコピー管理テーブルB1145b(図29参照)の仮のデータコピー実行時刻2719とを比較して(ステップS35303)、業務などの区切りの時刻は、仮のデータコピー実行時刻2719より、データコピー管理テーブルB1145b(図29参照)のデータコピー取得時刻2712に近い時刻か否かを判定する(ステップS35304)。
ステップS35304において、業務などの区切りの時刻の方が近い場合は(ステップS35304で‘はい’)、ステップS35301で検出した業務などの区切りの時刻を、データコピー管理テーブルB1145b(図29参照)のデータコピー実行時刻2717に設定し(ステップS35305)、業務などの区切りのデータコピー133にコピーボリューム131をコピーする(ステップS35306)。
一方、ステップS35304において、仮のデータコピー実行時刻2719の方が近い場合は(ステップS35304で‘いいえ’)、この仮のデータコピー実行時刻2719をデータコピー管理テーブルB1145bのデータコピー実行時刻2717に設定する(ステップS35308)。
そして、記憶領域制御プログラムB114は、データコピー管理テーブルB1145b(図29参照)のデータコピー状態2716の項目を「完了」に設定して(ステップS35307)処理を終了する。
一方。ステップS35302において、業務などの区切りを検出できなかった場合は(ステップS35302で‘いいえ’)、端子Iから図35Eに移って、データコピー管理テーブルB1145bの仮のデータコピー実行時刻2719の項目が未設定か否かを判定し(ステップS35401)、未設定の場合は(ステップS35401で‘はい’)、データコピー取得時間以降の最初の更新データか否かを判定する(ステップS35402)。
ステップS35402において、データコピー取得時間以降の最初の更新データの場合は(ステップS35402で‘はい’)、一度もコピーボリューム131を業務などの区切りのデータコピー133にデータコピーしていないため、コピーボリューム131を業務などの区切りのデータコピー133にコピーする(ステップS35403)。
一方、ステップS35401またはステップS35402において‘いいえ’の場合は、ステップS35403をスキップする。
次に、記憶領域制御プログラムB114bは、図35AのステップS3501で取得した更新データ情報A1137(図27参照)が、空I/Oの更新データ情報2603か否かを判定し(ステップS35404)、空I/Oの場合は(ステップS35404で‘はい’)、そのまま、空I/Oではない場合は(ステップS35404で‘いいえ’)、更新データ2603をコピーボリューム131に反映して(ステップS35405)、端子Kから図35Aの更新データ情報A1137の取得処理(ステップS3501)に戻る。
そして、ステップS3508において、データコピー終了時刻2713よりも前ではない場合は(ステップS3508で‘いいえ’)、端子Jから図35Fに移り、データコピー管理テーブルB1145b(図29参照)のデータコピー取得時刻2712をデータコピー実行時刻2717に設定し(ステップS35501)、データコピー状態2716を「強制完了」に設定してすべての処理を終了する(ステップS35502)。
なお、ステップS3211、ステップS35202、及びステップS35301における業務などの区切り判定の手順を図37のフローチャートに示すが、判定に用いる更新データが更新データ情報A1137であること以外は、図17に示した第1実施形態の業務などの区切り判定処理とほぼ同様であるため、その説明は省略する。
以上、説明したように本実施形態の記憶領域制御システムによると、同一サイト内で指定時刻のデータのデータコピーを取得する際であっても、データコピーの取得時刻を最適化できる。これにより、障害発生時のリカバリが短縮されシステムの信頼性が向上する。
以上、本発明の好適な態様について、2つの実施形態を示したが、本発明は前記の実施形態に限定されることなく、特許請求の範囲に記載された技術的思想により定められるものである。
第1実施形態の記憶領域制御システムの構成ブロック図である。 非同期コピーによるデータコピー及び指定時刻のデータのデータコピーを取得する運用を説明する説明図である。 オペレーティングシステムの機能ブロックを示す図面である。 コピー制御プログラムの機能ブロックを示す図面である。 記憶領域制御プログラムAの機能ブロックを示す図面である。 記憶領域制御プログラムBの機能ブロックを示す図面である。 更新データ情報に格納される情報を示すテーブルである。 データコピー指示情報に格納される情報を示すテーブルである。 データコピー管理テーブルに格納される情報を示すテーブルである。 指定時刻のデータコピー取得処理の概略を示すフローチャートである。 データコピー時刻設定処理を示すフローチャートである。 コピー制御プログラムにおける空I/O発行処理のフローチャートである。 データコピー状態の監視処理を示すフローチャートである。 更新データ又は空I/Oの情報をジャーナルAに蓄積する処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 障害発生有無の判定処理を示すフローチャートである。 業務などの区切り判定の処理を示すフローチャートである。 データコピー開始時刻、データコピー取得時刻及びデータコピー終了時刻の設定値を示すテーブルである。 最適なデータコピー実行時刻の設定例を説明する図面である。 最適なデータコピー実行時刻の設定例を説明する図面である。 最適なデータコピー実行時刻の設定例を説明する図面である。 最適なデータコピー実行時刻の設定例を説明する図面である。 第2実施形態の記憶領域制御システムの構成ブロック図である。 同期コピーによるデータコピー及び指定時刻のデータのデータコピーを取得する運用を説明する説明図である。 オペレーティングシステムの機能ブロックを示す図面である。 更新データ情報に格納される情報を示すテーブルである。 コピー制御プログラムの機能ブロックを示す図面である。 データコピー指示情報に格納される情報を示すテーブルである。 記憶領域制御プログラムAの機能ブロックを示す図面である。 データコピー管理テーブルAに格納される情報を示すテーブルである。 更新データ情報Aに格納される情報を示すテーブルである。 記憶領域制御プログラムBの機能ブロックを示す図面である。 データコピー管理テーブルBに格納される情報を示すテーブルである 指定時刻のデータコピー取得処理の概略を示すフローチャートである。 データコピー時刻設定処理を示すフローチャートである。 記憶領域制御プログラムAの空I/O発行処理を示すフローチャートである。 データコピー状態を問い合わせる手順を示すフローチャートである。 記憶領域制御プログラムAのデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 指定時刻のデータコピー取得処理を示すフローチャートである。 障害発生有無の判定処理を示すフローチャートである。 業務などの区切り判定の処理を示すフローチャートである。
符号の説明
104 ホストA
105 記憶領域サブシステムA
106 記憶領域サブシステムB
110、110b オペレーティングシステム
111、111b データを書き込むプログラム
112、112b コピー制御プログラム
113、113b 記憶領域制御プログラムA
114、114b 記憶領域制御プログラムB
121 データボリューム
122 ジャーナルA
131 コピーボリューム
132 ジャーナルB
133 業務などの区切りのデータコピー

Claims (11)

  1. データを格納した第1の記憶装置と、前記データのコピーを取得する第2の記憶装置と、前記第1の記憶装置に前記データを書き込むホストコンピュータとを含むシステムにおけるコピー制御方法であって、
    前記第2の記憶装置が、
    前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻とを取得し、
    前記第1の記憶装置から取得した前記データの更新内容である更新データを、前記第2の記憶装置のジャーナル領域に格納し、
    前記データコピー開始時刻から前記データコピー取得時刻までの間で、前記ホストコンピュータにおいて前記第1のディスク装置への入出力要求が発生していない場合に所定時間間隔で発行される空入出力要求を所定時間連続して取得した時刻を、仮のデータコピー実行時刻として設定し、前記ジャーナル領域に格納された前記更新データを前記第2の記憶装置のコピーボリュームに反映して、前記仮のデータコピー実行時刻における前記データとして格納し、
    前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻と、前記仮のデータコピー実行時刻とを比較して、前記データコピー取得時刻に近い時刻を前記データのコピーを取得するコピー実行時刻に決定し、
    前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻が、前記データコピー取得時刻に近い場合、当該時刻に前記ジャーナル領域に格納されている前記更新データを前記コピーボリュームに反映して、前記データを更新し、
    決定した前記コピー実行時刻の前記コピーボリュームの前記データを、前記第2の記憶装置の業務などの区切りのデータコピーに格納すること、
    を特徴とするコピー制御方法。
  2. データを格納した第1の記憶装置と、前記データのコピーを取得する第2の記憶装置と、前記第1の記憶装置に前記データを書き込むホストコンピュータとを含むシステムにおけるコピー制御方法であって、
    前記第2の記憶装置が、
    前記第1の記憶装置から取得した前記データの更新内容である更新データを前記第2の記憶装置のコピーボリュームに反映して、前記データとして格納し、
    前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻とを取得し、
    前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記ホストコンピュータにおいて前記第1のディスク装置への入出力要求が発生していない場合に所定時間間隔で発行される空入出力要求を所定時間連続して取得した時刻の前記コピーボリュームの前記データを、前記第2の記憶装置の業務などの区切りのデータコピーに格納すること、
    を特徴とするコピー制御方法。
  3. 前記第2の記憶装置は、前記第1の記憶装置から取得した前記更新データの更新時刻が前記データコピー終了時刻より後である場合、前記ジャーナル領域に格納された前記更新データのうち、前記データコピー取得時刻までの更新データを前記コピーボリュームに反映し、前記データコピー取得時刻を前記コピー実行時刻として設定し、設定した前記コピー実行時刻の前記コピーボリュームの前記データを、前記業務などの区切りのデータコピーに格納すること、
    を特徴とする請求項1に記載のコピー制御方法。
  4. 前記第2の記憶装置は、取得した更新データの更新時刻が前記データコピー取得時刻から前記データコピー終了時刻までの間であり、前記仮のデータコピー実行時刻が未設定である場合であって、前記更新データが前記データコピー取得時刻以後の最初の更新データである場合には、前記コピーボリュームに格納されているデータを前記業務などの区切りのデータコピーに格納すること、
    を特徴とする請求項2に記載のコピー制御方法。
  5. 前記第2の記憶装置が、
    前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記空入出力要求または前記更新データを取得できない場合は、前記データのコピーを前記業務などの区切りのデータコピーに格納しないこと、
    を特徴とする請求項または請求項に記載のコピー制御方法。
  6. データを格納した第1の記憶装置と、前記データのコピーを取得する第2の記憶装置と、前記第1の記憶装置に前記データを書き込むホストコンピュータとを含むシステムにおけるコピー制御方法であって、
    前記第1の記憶装置が、前記ホストコンピュータから取得した前記データの更新内容である更新データを、前記第2の記憶装置に送信し、
    前記第2の記憶装置が、取得した前記更新データを、前記第2の記憶装置のジャーナル領域に格納し、
    前記第2の記憶装置が、前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻とを取得し、
    前記ホストコンピュータまたは前記第1の記憶装置が、前記第1のディスク装置への入出力要求が発生していない場合に、所定時間間隔で発行される空入出力要求を、前記第2の記憶装置に送信し、
    前記第2の記憶装置が、前記データコピー開始時刻から前記データコピー取得時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻を仮のデータコピー実行時刻として設定し、前記ジャーナル領域に格納された前記更新データをコピーボリュームに反映して、前記データとして格納し、
    前記第2の記憶装置が、前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻と、前記仮のデータコピー実行時刻とを比較して、前記データコピー取得時刻に近い時刻を前記データのコピーを取得するコピー実行時刻に決定し、
    前記データコピー取得時刻から前記データコピー終了時刻までの間で前記空入出力要求を所定時間連続して取得した時刻が、前記データコピー取得時刻に近い場合、当該時刻に前記ジャーナル領域に格納されている前記更新データをコピーボリュームに反映して、前記データを更新し、
    前記第2の記憶装置が、決定した前記コピー実行時刻の前記コピーボリュームの前記データを、業務などの区切りのデータコピーに格納すること、
    を特徴とするコピー制御方法。
  7. データを格納した第1の記憶装置と、前記データのコピーを取得する第2の記憶装置と、前記第1の記憶装置に前記データを書き込むホストコンピュータとを含むシステムにおけるコピー制御方法であって、
    前記第1の記憶装置が、前記データの更新内容である更新データを前記第2の記憶装置に送信し、
    前記第2の記憶装置が、取得した前記更新データを、前記第2の記憶装置のコピーボリュームに反映して、前記データとして格納し、
    前記第2の記憶装置が、前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻とを取得し、
    前記ホストコンピュータまたは前記第1の記憶装置が、前記第1のディスク装置への入出力要求が発生していない場合に、所定時間間隔で発行される空入出力要求を、前記第2の記憶装置に送信し、
    前記第2の記憶装置が、前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した場合、この時刻の前記コピーボリュームの前記データを、前記第2の記憶装置の業務などの区切りのデータコピーに格納すること、
    を特徴とするコピー制御方法。
  8. 前記第2の記憶装置が、前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記空入出力要求または前記更新データを取得できない場合は、前記データのコピーを前記業務などの区切りのデータコピーに格納しないこと、
    を特徴とする請求項または請求項に記載のコピー制御方法。
  9. ホストコンピュータのデータを格納した第1の記憶装置のデータのコピーを取得して格納する記憶装置であって、
    前記記憶装置は、
    前記第1の記憶装置から取得した前記データの更新内容である更新データが格納されるジャーナル領域と、前記データが格納されるコピーボリュームと、前記データのコピーを取得するコピー実行時刻の前記データが格納される業務などの区切りのデータコピーとを備える記憶部と、
    前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定されたデータコピー開始時刻及びデータコピー終了時刻と、前記ホストコンピュータにおいて前記第1のディスク装置への入出力要求が発生していない場合に、所定時間間隔で発行される空入出力要求と、前記更新データとを取得する入力部と、
    前記データコピー開始時刻から前記データコピー取得時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻を、仮のデータコピー実行時刻として設定し、前記ジャーナル領域に格納された前記更新データを、前記コピーボリュームに反映して、前記データとして格納し、
    前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻と、前記仮のデータコピー実行時刻とを比較して、前記データコピー取得時間に近い時刻を前記コピー実行時刻に決定し、前記データコピー取得時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した時刻が、前記データコピー取得時刻に近い場合、この時刻に前記ジャーナル領域に格納されている前記更新データを前記コピーボリュームに反映して、前記データを更新し、前記決定した前記コピー実行時刻の前記コピーボリュームの前記データを、前記業務などの区切りのデータコピーに格納する演算部とを備えること、
    を特徴とする記憶装置。
  10. ホストコンピュータのデータを格納した第1の記憶装置のデータのコピーを取得して格納する記憶装置であって、
    前記記憶装置は、
    前記データが格納されるコピーボリュームと、前記データのコピーを取得するコピー実行時刻の前記データが格納される業務などの区切りのデータコピーとを備える記憶部と、
    前記第1の記憶装置から伝送された前記データの更新内容である更新データと、前記データのコピーを取得する指定時刻である所定のデータコピー取得時刻と、このデータコピー取得時刻を挟んで所定の時間幅で設定された、データコピー開始時刻及びデータコピー終了時刻と、前記ホストコンピュータにおいて前記第1のディスク装置への入出力要求が発生していない場合に、所定時間間隔で発行される空入出力要求とを取得する入力部と、
    前記更新データを前記コピーボリュームに反映して前記データとして格納し、前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記空入出力要求を所定時間連続して取得した場合、この時刻の前記コピーボリュームの前記データを、前記業務などの区切りのデータコピーに格納する演算部とを備えること、
    を特徴とする記憶装置。
  11. 前記演算部は、前記データコピー開始時刻から前記データコピー終了時刻までの間で、前記空入出力要求または前記更新データを取得できない場合は、前記データのコピーを前記業務などの区切りのデータコピーに格納しないこと、
    を特徴とする請求項または請求項10に記載の記憶装置。
JP2006313411A 2006-11-20 2006-11-20 コピー制御方法及び記憶装置 Expired - Fee Related JP4909021B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006313411A JP4909021B2 (ja) 2006-11-20 2006-11-20 コピー制御方法及び記憶装置
US11/698,866 US7774567B2 (en) 2006-11-20 2007-01-29 Copy control method and a storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006313411A JP4909021B2 (ja) 2006-11-20 2006-11-20 コピー制御方法及び記憶装置

Publications (2)

Publication Number Publication Date
JP2008129809A JP2008129809A (ja) 2008-06-05
JP4909021B2 true JP4909021B2 (ja) 2012-04-04

Family

ID=39418177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006313411A Expired - Fee Related JP4909021B2 (ja) 2006-11-20 2006-11-20 コピー制御方法及び記憶装置

Country Status (2)

Country Link
US (1) US7774567B2 (ja)
JP (1) JP4909021B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5073348B2 (ja) * 2007-04-04 2012-11-14 株式会社日立製作所 アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法
US10025734B1 (en) * 2010-06-29 2018-07-17 EMC IP Holding Company LLC Managing I/O operations based on application awareness
US9367561B1 (en) 2010-06-30 2016-06-14 Emc Corporation Prioritized backup segmenting
US9697086B2 (en) 2010-06-30 2017-07-04 EMC IP Holding Company LLC Data access during data recovery
US9235585B1 (en) 2010-06-30 2016-01-12 Emc Corporation Dynamic prioritized recovery
CN112486858A (zh) * 2016-03-17 2021-03-12 华为技术有限公司 一种数据预取方法以及装置
US10838767B2 (en) * 2016-09-12 2020-11-17 International Business Machines Corporation Distributed computing utilizing a recovery site

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003140946A (ja) * 2001-11-02 2003-05-16 Hitachi Ltd 記憶装置
TW583538B (en) * 2003-01-17 2004-04-11 Yu-De Wu Method of remote redundancy
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
JP4321705B2 (ja) * 2003-07-29 2009-08-26 株式会社日立製作所 スナップショットの取得を制御するための装置及び記憶システム
JP4662117B2 (ja) * 2004-03-05 2011-03-30 株式会社日立製作所 ストレージシステム
JP2006155676A (ja) 2006-03-17 2006-06-15 Fujitsu Ltd 指定時刻のデータベースバックアップ方法及びデータベースバックアップ装置
JP2007323218A (ja) * 2006-05-31 2007-12-13 Hitachi Ltd バックアップシステム

Also Published As

Publication number Publication date
US7774567B2 (en) 2010-08-10
US20080120352A1 (en) 2008-05-22
JP2008129809A (ja) 2008-06-05

Similar Documents

Publication Publication Date Title
JP4909021B2 (ja) コピー制御方法及び記憶装置
EP1561166B1 (en) File-update apparatus
JP5018133B2 (ja) ジョブ管理装置、クラスタシステム、およびジョブ管理プログラム
US7721055B2 (en) System and method for controlling the updating of storage device
JP4598387B2 (ja) 記憶システム
US7225307B2 (en) Apparatus, system, and method for synchronizing an asynchronous mirror volume using a synchronous mirror volume
JP4489455B2 (ja) ディスク制御装置及びディスク制御装置の制御方法
US6816951B2 (en) Remote mirroring with write ordering sequence generators
US7818522B2 (en) Apparatus, system, and method for incremental resynchronization in a data storage system
JP4484618B2 (ja) ディザスタリカバリシステム、プログラム及びデータの複製方法
EP1394668A2 (en) Print processing apparatus
JP4928466B2 (ja) マルチプロトコルに基づく異種リーダのサポートのためのrfidリーダインターフェースおよびイベント管理デバイスならびにその方法
JPH09244936A (ja) 共用データ・ファイルを管理するための方法及びシステム
KR101265388B1 (ko) 고가용성 데이터베이스 관리 시스템 및 이를 이용한 데이터베이스 관리 방법
US7069400B2 (en) Data processing system
US20060212668A1 (en) Remote copy method and storage system
JP4619399B2 (ja) 情報処理装置及び処理方法、並びにプログラム
JP2009532789A (ja) ストレージ・サブシステム全体にわたる整合的な更新のための方法、システム、およびコンピュータ・プログラム
JPH10285510A (ja) 映像送信方法
JP2009146169A (ja) ストレージシステム、ストレージ装置、データバックアップ方法
JP4429763B2 (ja) 情報処理装置の制御方法、情報処理装置、及びストレージ装置の制御方法
KR100590603B1 (ko) 반도체 제조 설비의 비정형 데이터 수집 시스템 및 방법과그 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
CN111506653B (zh) 一种数据异地同步计划性数据恢复系统及方法
JP2003532219A (ja) 異種の動作環境において複数のホスト機器からもたらされるデータの自動バックアップおよび復元システム
JP2009058998A (ja) 疎結合システム、待機系排他制御装置、疎結合システムのリカバリ方法、プログラムおよび記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111212

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: 20120110

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: 20120113

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

Free format text: PAYMENT UNTIL: 20150120

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