JP4717923B2 - ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機 - Google Patents

ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機 Download PDF

Info

Publication number
JP4717923B2
JP4717923B2 JP2008321323A JP2008321323A JP4717923B2 JP 4717923 B2 JP4717923 B2 JP 4717923B2 JP 2008321323 A JP2008321323 A JP 2008321323A JP 2008321323 A JP2008321323 A JP 2008321323A JP 4717923 B2 JP4717923 B2 JP 4717923B2
Authority
JP
Japan
Prior art keywords
data
time
site
sequence number
storage device
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.)
Active
Application number
JP2008321323A
Other languages
English (en)
Other versions
JP2010146198A5 (ja
JP2010146198A (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 JP2008321323A priority Critical patent/JP4717923B2/ja
Priority to US12/379,032 priority patent/US8108639B2/en
Priority to EP09174232A priority patent/EP2199913B1/en
Priority to AT09174232T priority patent/ATE547757T1/de
Publication of JP2010146198A publication Critical patent/JP2010146198A/ja
Publication of JP2010146198A5 publication Critical patent/JP2010146198A5/ja
Application granted granted Critical
Publication of JP4717923B2 publication Critical patent/JP4717923B2/ja
Active 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
    • 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/2069Management of state, configuration or failover
    • 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/2082Data synchronisation

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)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数のストレージ装置間で非同期リモートコピーを行うストレージシステムにおいて、データ復旧可能時刻を監視する技術に関する。
近年、企業情報システムにおける無停止運用やデータ保護の重要性は、マーケットのグローバル化や、Webによる24時間365日のサービス提供などを背景に、高まる一方である。ところが、テロや自然災害など、企業情報システムの停止やデータ損失に繋がりかねないリスクは数多く存在する。
これらのリスクを軽減する技術の一つが、ストレージシステムにおける非同期リモートコピーである。ここで、リモートコピーとは、ストレージ装置におけるあるボリュームのデータを別のストレージ装置のボリュームにコピーすることにより、データを二重化する技術である。
また、リモートコピーのタイプとしては、大きく、ホストの書き込みの延長でデータのコピーをリアルタイムに行う同期(RCS(Remote Copy Synchronous))と、ホストの書き込みとは別の処理でデータのコピーを行う非同期の2つの型がある。さらに、非同期リモートコピーの場合は、変更したデータ履歴を、メモリに格納する方法(RCA(Remote Copy Asynchronous))と、メモリとボリュームを併用して格納する方法(RCD(Remote Copy asynchronous with Disk):ディスク利用非同期リモートコピー)がある。本発明は、非同期リモートコピー(RCAとRCDの両方)を対象とする。
なお、一般に、通信性能などの都合上、プライマリサイト(本来、業務を行っている場所)とリモートサイト(業務継続支援のための別の場所)の間が近距離(例えば100km未満)であれば同期リモートコピーを無理なく採用できるが、遠距離(例えば100km以上)であれば非同期リモートコピーを採用するのが望ましいとされている。つまり、テロ対策だけならともかく、大地震などの自然災害を想定すると、プライマリサイトとリモートサイトの間を遠距離とする必要があり、その場合、非同期リモートコピーを採用するのが望ましいことになる。
すなわち、非同期リモートコピーを用いることで、プライマリサイトとリモートサイトの間が遠距離の場合でも、プライマリサイトがテロや自然災害などで被災したとき、リモートサイトでの業務継続を支援することができる。このため、非同期リモートコピーでは、いつ発生するか予測できないテロや自然災害に対し、プライマリサイトとリモートサイトの両方にストレージ装置を配置する。その上で、プライマリサイトとリモートサイトに格納されているデータの内容を極力一致させることによって被災時にデータの損失を最小限に抑えつつ、業務継続を実現することができる。
例えば、従来から、プライマリサイトとリモートサイトに配置されたストレージ装置間で、物理ボリュームまたは論理ボリュームの内容を、非同期リモートコピーを用いて二重化し、プライマリサイトが被災した場合に、業務をリモートサイト側のストレージ装置を使用して継続する技術が実用化されている。
非同期リモートコピーを行う場合、プライマリサイトとリモートサイトのストレージ装置へのそれぞれのデータ書き込みにタイムラグがある。そのため、プライマリサイトで障害が発生した場合に備え、リモートサイトのストレージ装置に格納したデータがプライマリサイトのどの時点のデータに相当するかを監視する必要がある。ここで、所定の時刻を基準にして、リモートサイトのストレージ装置に格納されている最新のデータがプライマリサイトのストレージ装置に書き込まれていた時刻をデータ復旧可能時刻と呼ぶ。また、プライマリサイトのストレージ装置と、リモートサイトのストレージ装置に格納されているデータの時刻のずれをデータ損失時間と呼ぶ。
例えば、プライマリサイトのストレージ装置には、21時00分00秒に発行されたライトデータが書き込まれているとする。リモートサイトのストレージ装置には、プライマリサイトで20時59分20秒に発行されたライトデータは書き込まれているが、それ以降のライトデータは書き込まれていないものとする。このとき、データ復旧可能時刻は20時59分20秒であり、データ損失時間は40秒である。
例えば、特許文献1には、メインフレーム環境において、ホストがライトI/O(Input/Output)(ライト要求)に埋め込んだタイムスタンプ(時刻情報)を利用して、データ復旧可能時刻の監視を行う技術が開示されている。
特許文献2には、SAN(Storage Area Network)環境においてデータ復旧可能時刻の監視を行う技術が開示されている。
米国特許出願公開第2002/0103980号明細書 米国特許出願公開第2006/0277384号明細書
しかしながら、特許文献1では、ライトI/Oに時刻情報を付与できるメインフレーム技術を前提としている。SAN環境において用いられているFibre Channel Protocolでは、ライトI/Oに時刻情報が付与されていないため、メインフレーム以外の環境に特許文献1の技術を適用することは難しい。
また、特許文献2には、プライマリサイトとリモートサイトのストレージ装置へのそれぞれのデータ書き込みのタイムラグであるデータ損失時間を表示する技術が開示されている。しかし、データ復旧可能時刻を表示する技術は開示されておらず、また、データ損失時間を監視する場合の精度について開示されていない。
本発明は、前記問題に鑑みてなされたものであり、複数のストレージ装置間で非同期リモートコピーを行うストレージシステムにおいて、メインフレーム技術以外にも適用可能で、監視誤差を所定範囲内に抑えながらデータ復旧可能時刻を監視する技術を提供することを課題とする。
本発明は、1台以上のストレージ装置、および、1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機を有する第1のサイトと、1台以上のストレージ装置、および、1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機からなる第2のサイトと、第1のサイトのホスト計算機を管理する管理計算機と、を含み、第1のサイトのストレージ装置から第2のサイトのストレージ装置に対して非同期リモートコピーを行うストレージシステムである。
管理計算機は、処理部、記憶部、表示部を備えており、処理部は、第1のサイトのストレージ装置のバッファに滞留しているデータに関し、最新のデータの識別情報としてのシーケンス番号を所定の時間間隔で時刻情報とともに記憶部に蓄積し、当該蓄積した情報と、第2のサイトのストレージ装置に記憶されたデータを用いて復旧することのできる最新の時刻であるデータ復旧可能時刻の推定値を算出する基準となる所定時刻における、滞留している最古データのシーケンス番号と、に基づき、蓄積した情報のうち、滞留している最古のデータのシーケンス番号よりも古い中で一番新しいシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、滞留している最古のデータのシーケンス番号よりも新しい中で一番古いシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、を用いて補間処理を行うことで、滞留している最古のデータが第1のサイトのストレージ装置のバッファに格納された時刻を、データ復旧可能時刻の推定値として算出して、表示部に表示することを特徴とする。
その他の手段については後記する。
本発明によれば、複数のストレージ装置間で非同期リモートコピーを行うストレージシステムにおいて、メインフレーム技術以外にも適用可能で、監視誤差を所定範囲内に抑えながらデータ復旧可能時刻を監視する技術を提供することができる。
以下、図面を参照(言及図以外の図も適宜参照)して、本発明を実施するための最良の形態(以下、「実施形態」という。)について説明する。理解を容易にするために、まず、本発明の概要について説明する。
1.本発明の概要
1.1 非同期リモートコピー
本発明が対象とする非同期リモートコピーについて、図1を用いて説明する。図1は、本発明の概要を示す説明図である。本発明に係るストレージシステムSは、管理計算機1100と、この管理計算機1100と接続する一つ以上のホスト計算機1200Aと、この一つ以上のホスト計算機1200Aと接続するストレージ装置1300Aと、このストレージ装置1300Aと接続するストレージ装置1300Bと、このストレージ装置1300Bと接続するホスト計算機1200Bと、を備えて構成される。
プライマリサイト1700(第1のサイト)は、業務が行われているサイトである。リモートサイト1800(第2のサイト)は、プライマリサイト1700が被災した場合に業務を継続するサイトである。各サイトには、業務を行うホスト計算機1200(1200A,1200Bの総称。以下、他の符号についても同様)と、業務データを格納するストレージ装置1300が配置されている。
プライマリサイト1700に配置されたホスト計算機1200A上で実行されている業務は、ストレージ装置1300A上の論理ディスク1315Aを使用している。ホスト計算機1200Aは、業務遂行に伴い、ライトI/O(ライト要求)を発行する。ライトI/Oは、ライトコマンドとライトデータとから構成される。本実施形態において、OS(Operating System)やアプリケーションが発行したライトデータがネットワーク上を転送するための転送単位に分割されたものを、フレーム100(以下、単に「フレーム」ともいう。)と呼ぶ。フレーム100は、例えば、SAN環境においては、FCP(Fibre Channel Protocol)のフレームである。
ここで、プライマリサイト1700に配置されたストレージ装置1300Aはバッファ1318を持つ。ホスト計算機1200Aから発行されたフレーム100は、プライマリサイトのストレージ装置1300A上の論理ディスク1315Aとバッファ1318の両方に書き込まれる。ストレージ装置1300Aは、フレーム100に対応するライトデータが論理ディスク1315Aに書き込まれた時点で、ホスト計算機1200Aに対して書き込み完了の応答を返す。バッファ1318に書き込まれたフレーム100に対応するライトデータは、論理ディスク1315Aへの書き込みとは非同期に(別の処理によって)リモートサイト1800に転送される。そして、リモートサイト1800のストレージ装置1300Bは当該装置が有する論理ディスク1315Bに受信したライトデータを書き込む。
または、ストレージ装置1300Aはホスト計算機1200Aから受信したライトデータをストレージ装置1300Aのキャッシュメモリに格納し、格納完了後にキャッシュメモリに格納したデータをバッファ1318に格納されたものと管理することで、キャッシュメモリ上のライトデータをストレージ装置1300Bに転送してもよい。このとき、キャッシュメモリから論理ディスク1315Aに対応するディスク装置への書き戻しは当該ストレージ装置間の転送とは別なタイミングで行ってもよい。
なお、論理ディスク1315Bを用いてホスト計算機1200Bが業務を再開するためには、ホスト計算機1200Bが読み出しを行う時点の論理ディスク1315Bはコンシステンシ(整合性)が保たれている必要がある。ここで、コンシステンシとは論理ディスク1315に対して書き込まれたデータの順序に関する概念である。
一般に、ホスト計算機が、最初のデータAとその次のデータBを論理ディスク1315へ書き込む場合、ストレージ装置からデータAの書き込み完了通知を受けてからデータBを書き込むようにすれば、コンシステンシがあるとみなすことができる。
当該コンシステンシ確保のための最も簡単な処理は、全てのフレーム100を、ホスト計算機1200Aから発行された順序を保ったまま、論理ディスク1315Bに書き込むことである。しかし、フレームに付与された順序情報を参照しつつライトデータを格納することで、論理ディスク1315Bにアクセスする時点の当該ディスクのデータのコンシステンシが保証されているのであれば、どのような方法でライトデータを論理ディスク1315Bに書き込んでもよい。
このように、プライマリサイト1700への書き込みと、リモートサイト1800への書き込みを非同期に行うことによって、ホスト計算機1200Aに対する応答性能に影響を及ぼさずに、プライマリサイト1700とリモートサイト1800の論理ディスク1315のデータの内容を極力一致させることが可能となる。また、リモートコピーの処理をストレージ装置1300にて行うため、ホスト計算機1200の負荷を軽減可能である。
なお、ホスト計算機1200Aは必ずしも一つである必要はなく、複数存在してもよい。複数のホスト計算機1200Aが連携して所定の処理を実現する場合、ストレージ装置1300がリモートコピーを行うことで、複数のホスト計算機1200Aが用いるデータ全体にわたってコンシステンシが確保されたデータを提供可能となる。
ホスト計算機1200Bの構成についてもホスト計算機1200Aと同様に複数存在してもよい。
1.2 データ復旧可能時刻
本発明によって監視されるデータ復旧可能時刻について説明する。
非同期リモートコピーでは、前記したようにプライマリサイト1700とリモートサイト1800へのフレーム100の書き込みにタイムラグが存在する。プライマリサイト1700が被災した際には、リモートサイト1800においてこのタイムラグの分だけデータを失った状態で回復しなければならない。したがって、どれくらいのタイムラグがあるのか、すなわち、被災時にはいつのデータを使って回復できるかを監視する必要がある。前記したように、データ復旧可能時刻とは、所定の時刻(例えば21時00分00秒)を基準にして(例えば、所定の時刻にプライマリサイト1700で障害が発生したと仮定した場合)、リモートサイト1800のストレージ装置1300Bに格納されている最新のデータがプライマリサイト1700のストレージ装置1300Aに書き込まれた時刻(例えば20時59分20秒)のこと、つまり、データの復旧が可能となる最新の時刻のことである。
1.3 処理概要
プライマリサイト1700からリモートサイト1800へのフレーム100の転送に要する時間は、サイト間のネットワークに大規模なストレージシステムで一般的に用いられるFibre Channelを使用した場合、通常ミリ秒オーダである。また、リモートサイト1800におけるフレーム100の論理ディスク1315Bへの書き込みも、通常ミリ秒オーダである。一方、フレーム100がバッファ1318に滞留している時間は、最長5分程度である。したがって、データ復旧可能時刻の監視精度は秒単位で充分である。つまり、データ復旧可能時刻は、フレーム100がバッファ1318に滞留している時間にほぼ依存すると考えることができる。
そこで、本発明では、下記に示す方法でデータ復旧可能時刻を監視する。その際、下記の二点を前提とする。
一点目は、ホスト計算機1200Aは、発行するフレーム100にシーケンス番号を埋め込んでいることである。この前提は、Fibre Channelを用いる場合に一般的に実現されている。
二点目は、ストレージ装置1300Aが、バッファ1318の入口と出口それぞれに存在している前記フレーム100のシーケンス番号を取得する機能を持つことである。例えば、図1において、バッファ1318の入口でシーケンス番号「3745」のフレーム100(最新あるいはそれに準ずるデータ)を、また、バッファ1318の出口でシーケンス番号「1150」のフレーム100(最古あるいはそれに準ずるデータ)を取得できるものとする。なお、ここで、バッファ1318にはFIFO(First In First Out:先入れ先出し方式)が採用されているものとする。
前記二つの前提が成り立つときに、管理計算機1100は、繰り返し(好適には定期的に)、ホスト計算機1200Aを介して、ストレージ装置1300A内のバッファ1318の入口に存在しているフレーム100のシーケンス番号を取得し、また、合わせて、その取得した時点でのホスト計算機1200Aの時刻を取得し、これらの組を配列として保持しておく。
ある時点において、データ復旧可能時刻を取得したい場合、ホスト計算機1200Aを介して、ストレージ装置1300A内のバッファ1318の出口に存在しているフレーム100(リモートサイト1800のストレージ装置1300Bに格納されている最新のフレームの隣のフレームであり、バッファ1318の入口に存在していた時刻は当該最新のフレームとほぼ同時刻)のシーケンス番号を取得する。このシーケンス番号を持つフレーム100がバッファ1318の入口に存在していた時刻がデータ復旧可能時刻になる。この時刻は、前記配列を用いて近似的に求めることができる(詳細は後記)。
以上により、非同期リモートコピーにおいて、ホスト計算機1200Aが管理している時刻でデータ復旧可能時刻を監視することが可能になる。さらには、図11に示す監視画面10600のように、その結果をGUI(Graphical User Interface)に表示することも可能である。
2.ストレージシステムの構成
2.1 構成の概要
図2〜図5を参照して、ストレージシステムSの構成について説明する。図2は、本実施形態のストレージシステムの構成を示すブロック図である。ストレージシステムSは、管理計算機1100、プライマリサイト1700のホスト計算機1200Aとストレージ装置1300A、リモートサイト1800のホスト計算機1200Bとストレージ装置1300Bを備えて構成される。
ストレージシステムSでは、ストレージ装置1300(1300A,1300B)とホスト計算機1200(1200A,1200B)がデータネットワーク1500(1500A,1500B)で互いに接続される。なお、本実施形態では、データネットワーク1500はSANとするが、IP(Internet Protocol)ネットワークであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。
ホスト計算機1200と管理計算機1100は管理ネットワーク1400を介して接続される。本実施形態では、管理ネットワーク1400はIPネットワークとするが、SANであっても、あるいはこれら以外のデータ通信用ネットワークであってもよい。また、本実施形態では、管理計算機1100はストレージ装置1300と直接接続されず、ホスト計算機1200を介して情報を取得するものとするが、直接接続するような構成でも本発明を実施可能である。さらに、本実施形態では、データネットワーク1500と管理ネットワーク1400は別ネットワークであるとしたが、これらが同一ネットワークであってもよいし、管理計算機1100とホスト計算機1200は同一計算機であっても構わない。
なお、説明の都合上、図2では、ストレージ装置1300を2台、ホスト計算機1200を2台、管理計算機1100を1台としたが、本発明はこれらの数に限定されない。また、本実施形態では、管理計算機1100は、ホスト計算機1200A,1200Bに接続されているものとした。しかし、プライマリサイト1700のホスト計算機1200Aだけに接続されていても、本発明を実施可能である。本実施形態において、管理計算機1100が、ホスト計算機1200Bに接続されている理由は、プライマリサイト1700とリモートサイト1800の役割が入れ替わる場合があるためである。具体的には、後記するように、プライマリサイト1700が被災した場合、正副逆転指示により、データの転送の向きがリモートサイト1800からプライマリサイト1700の方向に変更される。
ホスト計算機1200とストレージ装置1300とこれらを接続するデータネットワーク1500の組を本実施形態ではサイトと呼ぶ。複数のサイトは、一般的にお互い地理的に離れた位置に配置される。あるサイトが被災した場合でも他のサイトで業務を継続できるようにするためである。図2では、業務を行うプライマリサイト1700と、そのバックアップサイトであるリモートサイト1800からなる。このような構成を2データセンタ(以下、2DCとする。)構成と呼称する。
2DC構成では、プライマリサイト1700とリモートサイト1800の間で、リモートネットワーク1600を介してリモートコピーが行われる。リモートコピー技術によれば、一方のサイトのボリュームに障害が発生して動作不可能な状態に陥っても、他方のサイトのボリュームに格納されているデータを用いてシステム動作を続行することが可能である。リモートコピーの関係にあるコピー元とコピー先の2つのボリュームのペアをコピーペアと呼ぶ。
以下、管理計算機1100、ホスト計算機1200、ストレージ装置1300の構成について説明する。
2.2 管理計算機の構成
図3は、管理計算機1100の構成を示す図である。管理計算機1100は、キーボードやマウスなどの入力装置1130、CPU(Central Processing Unit)1140、CRT(Cathode Ray Tube)などの表示装置1150(表示部)、メモリ1120、ローカルディスク1110、システム管理のためにホスト計算機1200とデータや制御命令を送受信する管理I/F(Interface)1160を有している。
ローカルディスク1110は、管理計算機1100に接続された(あるいは、管理計算機1100の内部に搭載された)ハードディスクなどのディスク装置であり、データ復旧可能時刻監視プログラム1112が記憶されている。
データ復旧可能時刻監視プログラム1112は、管理計算機1100のメモリ1120にロードされ、CPU1140によって実行される。データ復旧可能時刻監視プログラム1112は、非同期リモートコピーのデータ復旧可能時刻の監視を行うための機能をキーボードやマウスなどの入力装置1130やグラフィカルユーザインターフェース(GUI:Graphical User Interface)などの表示装置1150を介して提供するプログラムである。
メモリ1120上の流入部I/Oテーブル1124および流出部I/Oテーブル1126については後記する。
管理I/F1160は、管理ネットワーク1400に対するインターフェースであって、ホスト計算機1200とデータや制御命令の送受信を行う。
2.3 ホスト計算機の構成
図4は、ホスト計算機1200の構成を示す図である。ホスト計算機1200は、キーボードやマウスなどの入力装置1240、CPU1220、CRTなどの表示装置1250、メモリ1230、ストレージI/F1260、ローカルディスク1210および時刻生成装置1270を有している。
ストレージI/F1260は、データネットワーク1500に対するインターフェースであって、ストレージ装置1300とデータや制御命令の送受信を行う。ローカルディスク1210は、ホスト計算機1200に接続された(あるいは、ホスト計算機1200の内部に搭載された)ハードディスクなどのディスク装置であり、アプリケーション1212、リモートコピー操作要求プログラム1214、リモートコピー状態取得プログラム1215、シーケンス番号取得要求プログラム1216および時刻取得プログラム1217を格納している。
アプリケーション1212は、ホスト計算機1200のメモリ1230上にロードされ、CPU1220によって実行される。アプリケーション1212は、ストレージ装置1300上のボリュームに対してデータを読み書きすることにより処理を実行するプログラムであり、例えば、DBMS(Data Base Management System)やファイルシステムなどである。なお、説明の都合上、図4ではアプリケーション1212を1つとしたが、本発明はこの数に限定されない。
時刻取得プログラム1217は、ユーザや他プログラムからの指示に基づき、ホストが管理している時刻を取得し、要求元に返すプログラムである。
リモートコピー操作要求プログラム1214、リモートコピー状態取得プログラム1215、シーケンス番号取得要求プログラム1216および時刻取得プログラム1217は、各々ホスト計算機1200のメモリ1230上にロードされ、CPU1220によって実行される。
リモートコピー操作要求プログラム1214は、ユーザや他プログラムからの指示に基づき、ストレージ装置1300上の指定されたリモートコピーの操作を要求するプログラムである。どのような操作を要求することができるかについては後記する。
リモートコピー状態取得プログラム1215は、ユーザや他プログラムからの指示に基づき、ストレージ装置1300からリモートコピーの状態を取得し、要求元に返すプログラムである。どのような状態が取得可能であるかについては後記する。
シーケンス番号取得要求プログラム1216は、ユーザや他プログラムからの指示に基づき、ストレージ装置1300上のシーケンス番号取得プログラム1340(図5参照)を呼び出す。さらに、シーケンス番号取得要求プログラム1216は、時刻取得プログラム1217を呼び出し、現在時刻を取得する。シーケンス番号取得要求プログラム1216は、ストレージ装置1300上のシーケンス番号取得プログラム1340(図5参照)からの返り値と、時刻取得プログラム1217から取得した現在時刻を呼び出し元に返す。
2.4 ストレージ装置の構成
図5は、ストレージ装置1300の構成を示す図である。ストレージ装置1300は、データを格納するディスク装置1310、ストレージ装置1300の制御を行うディスクコントローラ1320を備えて構成されている。
ディスクコントローラ1320には、ホストI/F1328、リモートI/F1326、ディスクI/F1325、メモリ1321、CPU1323、ローカルディスク1327が設けられている。
ホストI/F1328は、データネットワーク1500に対するインターフェースであって、ホスト計算機1200とデータや制御命令の送受信を行う。
リモートI/F1326は、リモートネットワーク1600に対するインターフェースであって、サイト間にまたがって行われるリモートコピーのデータ転送に使用される。
ディスクI/F1325は、ディスク装置1310に対するインターフェースであってデータや制御命令の送受信を行う。
メモリ1321上のリモートコピー定義テーブル1322については後記する。
ローカルディスク1327は、ディスクコントローラ1320に接続されたハードディスクなどのディスク装置であり、I/O処理プログラム1334、リモートコピー制御プログラム1336、ディスクアレイ制御プログラム1338およびシーケンス番号取得プログラム1340が格納されている。
I/O処理プログラム1334は、ディスクコントローラ1320のメモリ1321にロードされ、CPU1323によって実行される。I/O処理プログラム1334は、ホスト計算機1200や他のストレージ装置1300からの書き込み要求、読み出し要求を受け付け、書き込み要求であればディスク装置1310への書き込みを、読み出し要求であればディスク装置1310から要求されたデータの読み出しを行う。
リモートコピー制御プログラム1336は、ディスクコントローラ1320のメモリ1321にロードされ、CPU1323によって実行される。
リモートコピー制御プログラム1336は、ユーザ、ホスト計算機1200もしくは他プログラムからの指示に基づき、リモートコピー定義テーブル1322を参照してリモートコピーの制御およびリモートコピーの状態取得を行う。コピーペアの制御として、コピーペアを新規に作成するコピーペアの形成、同期の関係を中断するコピーペアの一時停止、一時停止状態から副側のボリュームの内容を正側のボリュームの内容と一致させるコピーペアの再同期といった制御がある。コピーペアの状態の取得とは、それぞれのコピーペアが上記のどの制御によりどの状態になっているかを取得することである。コピーペアの状態遷移については後記する。
ディスクアレイ制御プログラム1338は、ディスクコントローラ1320のメモリ1321にロードされ、CPU1323によって実行される。ディスクアレイ制御プログラム1338は、ディスクコントローラ1320に接続されている複数のハードディスクドライブ1312A、1312B、1312Cを制御して、例えば、論理ディスク1315として示すような形で再構成する機能を持つ。ディスクアレイの制御方法は、例えば、RAID(Redundant Array of Independent Disks)のようなものであってもよいが、これに限定されない。
シーケンス番号取得プログラム1340は、ディスクコントローラ1320のメモリ1321にロードされ、CPU1323によって実行される。シーケンス番号取得プログラム1340は、ユーザ、ホスト計算機1200もしくは他プログラムからの指示に基づき、ストレージ装置1300上のバッファ1318に滞留しているフレーム100のうち、入口に滞留しているフレーム100のシーケンス番号と、出口に滞留しているフレーム100のシーケンス番号を取得し、要求元に返すプログラムである。シーケンス番号とは、フレーム100に付与されるIDである。例えば、Fibre Channel Protocolを用いたストレージシステムにおいて、ホスト計算機からフレーム100が発行される際、個々のフレーム100に対してシーケンス番号が付与されている。
なお、本実施形態では、プログラム1334,1336,1338および1340がディスクコントローラ1320上のローカルディスク1327に記憶されているものとしたが、本発明はこれに限定されない。例えば、これらのプログラム1334,1336,1338および1340を、ディスクコントローラ1320上にフラッシュメモリなどを設けて、そのフラッシュメモリに記憶することも、ディスク装置1310内の任意のディスクに記憶することも可能である。
ディスク装置1310は、複数のハードディスクドライブ(HDD)である1312A、1312B、1312Cから構成される。なお、ディスク装置は、ソリッドステートドライブ(SSD)などハードディスクドライブ以外のものから構成されていても構わない。なお、説明の都合上、図5ではボリュームの数を3個としたが、本発明はこれに限定されない。なお、前記したように、ディスク装置1310内には論理ディスク1315が構成される。
ディスク装置1310内の論理ディスク1315には、バッファ1318(1318A、1318B)が構成される。非同期リモートコピーでは、プライマリサイト1700のストレージ装置1300A内のディスク装置1310への書き込みとは非同期に、リモートサイト1800のストレージ装置1300B内のディスク装置1310への書き込みが行われる。バッファ1318は、リモートサイト1800のストレージ装置1300B内のディスク装置1310への書き込みを非同期に行うために、データを一時蓄積する用途で使用される。
なお、図5には図示していないが、ストレージ装置1300Aおよびストレージ装置1300Bは各ホスト計算機1200からのライトデータの一部または全てや、過去に読み出し要求で各ホスト計算機1200に転送したリードデータの一部または全てを一時格納するキャッシュメモリを有する。ストレージ装置1300は、当該ホスト計算機1200からの読み出し要求に応じてキャッシュメモリに格納したデータ(すなわち、過去のライトデータの一部または全てや、過去のリードデータの一部または全て)をホスト計算機1200に転送する。なお、当該キャッシュメモリの役割をメモリ1321が担ってもよい。
なお、バッファ1318は複数の論理ディスク1315にまたがっていても構わない。また、バッファ1318は必ずしもディスク装置1310内に配置されている必要はない。すなわち、バッファ1318は、ディスクコントローラ1320上のローカルディスク1327やメモリ1321上、またはキャッシュメモリに配置されていても構わず、またこれら記憶領域を併用してもよい。特にキャッシュメモリの場合は、当該非同期リモートコピーのバッファとして使用される領域が物理的に区切られている必要もなく、連続したアドレスである必要もなく、単にリモートコピー対象のデータが格納されていればよい。
また、説明の都合上、図5ではバッファ1318の数を2つとしたが、本発明はこれに限定されない。
3.非同期リモートコピー
図6、図7を参照して、本実施形態が対象としている非同期リモートコピーの具体例について説明する。
3.1 リモートコピー定義テーブル
図6は、ストレージ装置1300内のディスクコントローラ1320上のメモリ1321に作成されるリモートコピー定義テーブル1322の一例を示す図である。
リモートコピー定義テーブル1322は、プライマリサイトフィールド6100とリモートサイトフィールド6200に大別される。各々のフィールドには、コピーペアを構成するプライマリサイト1700側の論理ディスク1315とリモートサイト1800側の論理ディスク1315の情報が格納される。
プライマリサイトフィールド6100およびリモートサイトフィールド6200は、ストレージ装置フィールド6110(6110A,6110B)および論理ディスク番号フィールド6120(6120A,6120B)を持つ。ストレージ装置フィールド6110には、論理ディスク1315が格納されているストレージ装置1300のIDが格納される。ストレージ装置1300はIDにより一意に識別できる。IDは、例えばIPアドレスなどである。論理ディスク番号フィールド6120には、論理ディスク1315の番号が格納される。この番号は、そのストレージ装置1300内で一意である。
行6010〜6050は、それぞれ、コピーペアの情報を示す。例えば、行6010は、プライマリサイト1700のストレージ装置1300Aに格納されている論理ディスク1315「LDEV01」と、リモートサイト1800のストレージ装置1300Bに格納されている論理ディスク1315「LDEV01」がコピーペアを構成していることを示している。したがって、リモートコピー定義テーブル1322は、プライマリサイト1700のストレージ装置1300Aに格納されている5つの論理ディスク1315とリモートサイト1800のストレージ装置1300Bに格納されている5つの論理ディスク1315が、5つのコピーペアを構成していることを示している。これら、5つのコピーペアは、グループとして扱われる。これをコピーグループと呼ぶ。
なお、本実施形態では、プライマリサイト1700とリモートサイト1800にそれぞれ1台しかストレージ装置1300がない構成を例に挙げているが、2台以上あっても構わない。この場合、プライマリサイト1700の複数のストレージ装置1300Aにまたがってリモートコピー定義テーブル1322が定義されていても構わないし、リモートサイト1800の複数のストレージ装置1300Bにまたがってリモートコピー定義テーブル1322が定義されていても構わない。また、本実施形態では、ストレージ装置1300が、リモートコピー定義テーブル1322を1つ持つものとした。しかし、ストレージ装置1300は、リモートコピー定義テーブル1322を複数持っていても構わない。すなわち、コピーグループを複数持つことができる。
3.2 コピーペアの状態遷移
図7は、非同期リモートコピーのコピーペアの状態遷移図である。
図7の下方に示した凡例のとおり、四角形がコピーペアの状態を表し、六角形がユーザやプログラムからの操作および前記操作によって発生するコピーペアの動作を表す。
非同期リモートコピーのコピーペアの状態は4つ存在する。
Pair7110は、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の間で非同期リモートコピーが行われている状態である。すなわち、プライマリサイト1700の論理ディスク1315に書き込まれたフレーム100が、非同期に(別の処理によって)リモートサイト1800の論理ディスク1315に書き込まれる。
Simplex7120は、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の間にコピーペアの関係がない状態を表す。すなわち、プライマリサイト1700の論理ディスク1315に書き込まれたフレーム100は、リモートサイト1800には書き込まれない。
Suspend7130は、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の間の非同期リモートコピーを一時中断している状態である。すなわち、プライマリサイト1700の論理ディスク1315に書き込まれたフレーム100は、リモートサイト1800には書き込まずに差分情報として管理される。
正副逆転Pair7140は、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の役割が入れ替わった状態で、非同期リモートコピーが行われている状態である。すなわち、リモートサイト1800の論理ディスク1315に書き込まれたフレーム100が、非同期に(別の処理によって)プライマリサイト1700の論理ディスク1315に書き込まれる。
なお、データ復旧可能時刻を取得できるのは、Pair7110および正副逆転Pair7140の状態のときのみである。すなわち、Simplex7120およびSuspend7130のときには、プライマリサイト1700からリモートサイト1800への非同期リモートコピーが行われないため、データ復旧可能時刻を監視する意味がない。
次に、ユーザやプログラムからの操作および前記操作により発生するコピーペアの状態遷移を説明する。
Simplex7120のときに、コピーペアの形成指示を行うと、Initial Copyが開始される(7210)。Initial Copyとは、非同期リモートコピーを開始する前に、プライマリサイト1700の論理ディスク1315のデータをリモートサイト1800の論理ディスク1315に全てコピーすることである。Initial Copyが終了すると、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の内容が一致してPair7110となる。さらに、この際、バッファ1318が割り当てられる。なお、バッファ1318は前記コピーグループの単位で割り当てられる。
Pair7110のときに、一時停止指示を行うと、Suspendingが開始される(7240)。Suspendingとは、非同期リモートコピーを一時中断するための動作である。具体的には、Suspend7130の間、論理ディスク1315内のどのアドレスに書き込みがあったかを管理する差分管理テーブルをディスクコントローラ1320内のメモリ1321に用意することである。この差分管理テーブルは、フレーム100によって変更されたディスク装置1310内のアドレスを管理する。なお、差分管理テーブルは、ディスク装置1310に作成してもよい。
Suspend7130のときに、再同期指示を行うと、Differential Copyが開始される(7230)。Differential Copyとは、前記差分管理テーブルに基づき、Suspend7130の間に発生した差分をプライマリサイト1700の論理ディスク1315からリモートサイト1800の論理ディスク1315に転送することである。転送が終了すると、プライマリサイト1700の論理ディスク1315とリモートサイト1800の論理ディスク1315の内容が一致してPair7110となる。
Pair7110もしくは正副逆転Pair7140のときに、正副逆転指示を行うと、Swappingが開始される(7250)。Swappingとは、サイト間のデータの転送の向きを逆転させる動作である。Pair7110のときに、正副逆転指示を行うと、データの転送の向きがリモートサイト1800からプライマリサイト1700の方向に変更される。正副逆転Pair7140のときに、正副逆転指示を行うと、データの転送の向きがプライマリサイト1700からリモートサイト1800の方向に変更される。この操作は、例えばプライマリサイト1700で障害が発生したときに使用される。この操作により、業務を行うサイトをプライマリサイト1700から、リモートサイト1800に切り替えることができる。
Pair7110もしくはSuspend7130のときに、解除指示を行うと、Deletingが開始される(7220)。Deletingとは、非同期リモートコピーの関係を解除することである。Deletingが終了すると、Simplex7120となり、プライマリサイト1700の論理ディスク1315に対するフレーム100はリモートサイト1800に転送されなくなる。なお、この際、Initial Copy時に割り当てられたバッファ1318が解放される。
3.3 Pair中のリモートコピーの処理
本実施形態における非同期リモートコピーは、以下の処理によって論理ディスク1315のデータ複製を実現する。なお、これ以外の方法で非同期リモートコピーを実現してもよい。
ホスト計算機1200Aは、プライマリサイト1700のストレージ装置1300Aに対してフレーム100を送信する。この際、フレーム100にシーケンス番号を付与する。
ホスト計算機1200Aからフレーム100を受信したプライマリサイト1700のストレージ装置1300Aは、受信したフレーム100をメモリに格納し、さらにストレージ装置1300A内部のメモリ1321や論理ディスク1315Aに格納し、ホスト計算機1200Aに対してフレーム100の受信完了の応答を送信する。
一方、プライマリサイト1700のストレージ装置1300Aは、メモリ1321または論理ディスク1315に格納したフレーム100を、その付与されたシーケンス番号とともにリモートサイト1800のストレージ装置1300Bへ送信する。
フレーム100を受信したリモートサイト1800のストレージ装置1300Bは、そのフレーム100に付与されたシーケンス番号を参照することで論理ディスク1315へフレーム100を書き込む。これによってプライマリサイト1700のストレージ装置1300Aの論理ディスク1315のデータが消失した場合にリモートサイト1800のストレージ装置1300Bの論理ディスク1315に格納されたデータのコンシステンシを確保することができる。
4.管理計算機
図8〜図14を参照して、本実施形態の管理計算機1100が管理するテーブルおよび処理について説明する。
4.1 テーブル
図8は、データ復旧可能時刻監視プログラム1112が管理計算機1100のメモリ1120上に作成する流入部I/Oテーブル1124の一例を示す図である。流入部I/Oテーブル1124は、時刻フィールド8100およびシーケンス番号フィールド8200からなる。流入部I/Oテーブル1124は、複数の行(8010〜8050)を持ちうる。
時刻フィールド8100には、シーケンス番号取得要求プログラム1216の返り値の1つである、現在時刻が格納される。シーケンス番号フィールド8200には、シーケンス番号取得要求プログラム1216の返り値の1つである、ストレージ装置1300上のバッファ1318に滞留しているフレーム100のうち、入口に滞留しているフレーム100のシーケンス番号が格納される。
図9は、データ復旧可能時刻監視プログラムが管理計算機1100のメモリ1120上に作成する流出部I/Oテーブル1126の一例を示す図である。
流出部I/Oテーブル1126は、時刻フィールド9100およびシーケンス番号フィールド9200からなる。流出部I/Oテーブル1126、単一の行(9010)から構成される。
時刻フィールド9100には、シーケンス番号取得要求プログラム1216の返り値の1つである、現在時刻が格納される。シーケンス番号フィールド9200には、シーケンス番号取得要求プログラム1216の返り値の1つである、ストレージ装置1300上のバッファ1318に滞留しているフレーム100のうち、出口に滞留しているフレーム100のシーケンス番号が格納される。
4.2 GUI
管理計算機1100が、データ復旧可能時刻の監視間隔(時間間隔)をユーザに設定させ、その結果を表示するGUIについて、図10および図11を用いて説明する。
図10は、管理計算機1100がデータ復旧可能時刻の監視間隔をユーザに設定させるために表示装置1150に表示する監視条件設定画面10500を示す図である。監視条件設定画面10500は、メッセージ部10510、監視間隔入力部10520およびボタン10530から構成される。
メッセージ部10510は、監視間隔入力を促すメッセージをユーザに表示する。
監視間隔入力部10520は、ユーザからの監視間隔の入力を受け付けるテキストボックスを表示する。
ボタン10530は、ユーザが監視間隔の入力後にクリックする操作部である。これにより、データ復旧可能時刻監視プログラム1112は、監視間隔入力部10520にユーザが入力した監視間隔を保持する。
図11は、管理計算機1100がデータ復旧可能時刻を表示装置1150に表示する監視画面10600を示す図である。監視画面10600は、現在時刻10610、データ復旧可能時刻10620、データ損失時間10630およびボタン10640から構成される。
現在時刻10610は、データ復旧可能時刻監視プログラム1112が返す時刻を表示する。
データ復旧可能時刻10620は、データ復旧可能時刻監視プログラム1112によって計算されるデータ復旧可能時刻を表示する。
データ損失時間10630は、データ復旧可能時刻監視プログラム1112によって計算されるデータ損失時間を表示する。
ボタン10640は、クリックされることにより、監視画面10600を閉じる。
なお、本実施形態では、監視条件設定画面10500および監視画面10600は、管理計算機1100の表示装置1150に表示されるものとした。しかし、Webサーバなど、一般的に知られている技術を用いて、これらのGUIを別の計算機の表示装置に表示しても構わない。
4.3 フローチャート
管理計算機1100が、データ復旧可能時刻を取得し、表示するために実行するデータ復旧可能時刻監視プログラム1112の処理手順を、図12のフローチャートを用いて説明する。図12は、データ復旧可能時刻監視プログラム1112の処理手順を示すフローチャートである。
管理計算機1100のCPU1140(以下、動作主体を「管理計算機1100」と表記する。)は、ユーザや他プログラムからの指示により、データ復旧可能時刻監視プログラム1112の処理を開始する。
管理計算機1100は、初期化処理として、流入部I/Oテーブル1124と流出部I/Oテーブル1126の領域を、メモリ1120上に確保する(ステップS1)。
次に、管理計算機1100は、ホスト計算機1200A上のシーケンス番号取得要求プログラム1216を呼び出す(ステップS2)。この結果、管理計算機1100は、返り値として、ストレージ装置1300A上のバッファ1318に滞留しているフレーム100のうち、バッファ1318の入口に滞留しているフレーム100のシーケンス番号と、バッファ1318の出口に滞留しているフレーム100のシーケンス番号と、現在時刻の3つの情報を受け取る。
次に、管理計算機1100は、流入部I/Oテーブル1124および、流出部I/Oテーブル1126の更新を行う(ステップS3)。具体的には、管理計算機1100は、流入部I/Oテーブル1124の最後の行に、現在時刻と、ストレージ装置1300A上のバッファ1318に滞留しているフレーム100のうち、バッファ1318の入口に滞留しているフレーム100のシーケンス番号とを追加する。また、管理計算機1100は、流出部I/Oテーブル1126を、現在時刻と、ストレージ装置1300上のバッファ1318に滞留しているフレーム100のうち、バッファ1318の出口に滞留しているフレーム100のシーケンス番号とで更新する。
次に、管理計算機1100は、流入部I/Oテーブル1124および流出部I/Oテーブル1126を利用してデータ復旧可能時刻の計算を行う(ステップS4)。
前記したように、データ復旧可能時刻は、フレーム100がバッファ1318に滞留している時間を計測することにより計算できる。
以下、この計算について、図13を参照して具体的に説明する。図13は、データ復旧可能時刻の計算の説明のためのグラフである。図13のグラフにおいて、横軸は時間、縦軸はフレームのシーケンス番号を表している。また、L1はバッファ1318の入口のフレームのシーケンス番号を表す線であり、L2はバッファ1318の出口のフレームのシーケンス番号を表す線である。なお、L1とL2は、連続的な線で表しているが、実際には離散値をとる。
図13以外の図も参照して説明を続けると、流出部I/Oテーブル1126には、バッファ1318の出口から取得した最新のフレームのシーケンス番号と取得時刻が格納されている。ここで、現在時刻(現在時刻以外の所定時刻でもよい)をTC、この時刻にバッファ1318の出口から取得したシーケンス番号をSCとする。このシーケンス番号SCを持つフレームが、バッファ1318の入口に到着した時刻の推定値をTPとする。つまり、時刻TCにおけるデータ復旧可能時刻がTPである。このとき、TC−TPがデータ損失時間である。
ここで、流入部I/Oテーブル1124は、複数の行を持っている。この行の数をMとし、各行の時刻をT[1]、T[2]、・・・、T[M]、各行のシーケンス番号をS[1]、S[2]、・・・、S[M]と表す。
このとき、流入部I/Oテーブル1124には、S[X]≦SC<S[X+1]を満たすS[X]、S[X+1]が存在する。
したがって、TPの範囲は、T[X]≦TP<T[X+1]に絞り込むことができる。
以上の結果、TPは、例えば次の式(1)を用いて、線形補間により近似的に求めることができる。
TP=T[X]+(T[X+1]−T[X])×(SC−S[X])÷
(S[X+1]−S[X]) ・・・式(1)
なお、本実施形態では線形補間を用いたが、多項式補間やスプライン補間といった、一般的に知られている他の近似法を用いてもよい。
図12に戻って説明を続けると、次に、管理計算機1100は、ステップS4において求めた現在時刻、データ復旧可能時刻、データ損失時間を、監視画面10600に表示する(ステップS5)。
ステップS4の処理により、流入部I/Oテーブル1124において、X未満の行は、次回以降は参照されなくなる(不要となる)。したがって、流入部I/Oテーブル1124におけるX未満の行をメモリ1120から解放する(不要部分を削除する)処理を行う(ステップS6)。
次に、管理計算機1100は、ユーザや他プログラムからの終了指示があるか否かをチェックする(ステップS7)。
終了指示があった場合(ステップS7,Yes)、管理計算機1100は、流入部I/Oテーブル1124と流出部I/Oテーブル1126の領域を、メモリ1120上から解放し(ステップS9)、処理を終了する。
終了指示が無かった場合(ステップS7,No)、管理計算機1100は、一定時間待機する(ステップS8)。なお、この待機の間隔は監視条件設定画面10500でユーザにより指定された時間とする。その後、管理計算機1100は、ステップS2に戻る。
なお、本実施形態では、ユーザに対して、図10に示す監視条件設定画面10500を用い、監視間隔を設定させた。しかし、図14に示す監視条件設定画面10700を用いてもよい。図14は、管理計算機1100がデータ復旧可能時刻の許容誤差をユーザに設定させるために表示装置1150に表示する監視条件設定画面10700を示す図である。図14に示す監視条件設定画面10700について、図10に示す監視条件設定画面10500との相違点を説明する。
メッセージ部10710は、データ復旧可能時刻監視の許容誤差の入力を促すメッセージをユーザに表示する。前記の方法でデータ復旧可能時刻を推定すると、その時間の誤差を監視間隔以下におさえることが可能である。したがって、監視間隔ではなく、許容誤差をユーザに入力させてもよい。この場合、データ復旧可能時刻監視プログラム1112は、ユーザが入力した許容誤差を監視間隔として扱う。許容誤差入力部10720は、ユーザからの許容誤差の入力を受け付けるテキストボックスを表示する。ボタン10730は、ユーザが許容誤差の入力後にクリックする操作部である。処理については図10の場合と同様であるので説明を省略する。
このように、本実施形態のストレージシステムSによれば、管理計算機1100が、所定の監視間隔で、プライマリサイト1700のストレージ装置1300Aのバッファ1318に滞留している入口と出口のデータを保持し、それらのデータに基づいて、データ復旧可能時刻の推定値を算出し、表示装置1150に表示する。これにより、複数のストレージ装置1300間で非同期リモートコピーを行うストレージシステムSにおいて、メインフレーム技術以外にも適用可能で、監視誤差を所定範囲内に抑えながらデータ復旧可能時刻を監視する技術を提供することができる。また、データ復旧可能時刻の推定値だけでなく、データ損失時間の推定値を算出し、表示装置1150に表示することができる。
また、本実施形態のストレージシステムSによれば、管理計算機1100は、リモートサイト1800のホスト計算機1200Bなどが管理する時刻情報を用いることなく、プライマリサイト1700のホスト計算機1200Aが管理する時刻情報のみを用いて前記監視を行うことができるので、運用や管理が容易になる。また、監視誤差を監視間隔以下に抑えることができるので、バッファ1318の空き容量が所定よりも少なくなったときなどに、ユーザは、監視間隔の長さを変更する、バッファ1318の容量を増やすなどの対策を適切に講じることができる。そのために、例えば、バッファ1318の空き容量が所定量よりも少なくなったときに、管理計算機1100などで警告表示などを行うようにしてもよい。
以上で実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。本実施形態は、ハードウェア、プログラム等の具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能であり、以下、そのバリエーションについて説明する。
5.バリエーション
5.1 取得情報
本実施形態では、バッファ1318の入口と出口に存在しているフレームのシーケンス番号を取得できるものとした。しかし、バッファ1318の入口に存在するフレームのシーケンス番号と、バッファ内に滞留しているフレームの数が取得できる場合にも本発明は適用可能である。前記2つの値を用いて計算することにより、バッファ1318の出口に存在しているフレームのシーケンス番号を取得できるためである。同様に、バッファ1318の出口に存在するフレームのシーケンス番号と、バッファ内に滞留しているフレームの数が取得できる場合にも本発明は適用可能である。
5.2 監視間隔の動的変更
本実施形態では、監視間隔をユーザに設定させるものとした。しかし、監視間隔を管理計算機が決定することも可能である。
一般に、データ損失時間が小さい場合、データ復旧可能時刻監視の重要度は低くなる。したがって、例えば、データ損失時間が小さい場合は、監視の間隔を長くし、データ復旧可能時刻が大きくなると、監視の間隔を短くするようにすればよい。これにより、ストレージシステムSの負荷を低減することが可能である。
5.3 管理計算機の配置
本実施形態では、管理計算機1100は、プライマリサイト1700のホスト計算機1200Aおよびリモートサイト1800のホスト計算機1200Bの両方に接続されるものとした。
しかし、前記したように、管理計算機1100を、プライマリサイト1700のホスト計算機1200Aにのみ接続しても本発明を実施可能である。Pair7110の際に、データ復旧可能時刻を監視するためには、プライマリサイト1700のホスト計算機1200Aからのみ情報を取得すればよいためである。この構成は、プライマリサイト1700とリモートサイト1800が別々のユーザ(管理者)によって管理されている場合に特に好適である。例えば、エンタープライズシステムでは、プライマリサイト1700は自社で保有し、リモートサイト1800はSSP(Storage Service Provider)が提供する、といった構成が採られることがある。その際、管理計算機1100は、リモートサイト1800から情報を収集できなくても、データ復旧可能時刻を監視することができる。
しかし、前記の構成では、正副逆転Pair7140の際にはデータ復旧可能時刻が監視できない。そこで、例えば、プライマリサイト1700、リモートサイト1800の各々に管理計算機1100A、1100Bを配置する。これにより、Pair7110のときにはプライマリサイト1700の管理計算機1100Aを使用してデータ復旧可能時刻を監視し、正副逆転Pair7140のときにはリモートサイト1800の管理計算機1100Bを使用してデータ復旧可能時刻を監視することができる。
5.4 ホスト計算機不要
本実施形態では、管理計算機1100は、プライマリサイト1700のホスト計算機1200A上のシーケンス番号取得要求プログラム1216を呼び出すことにより、データ復旧可能時刻を関するために必要な情報を取得する。しかし、ホスト計算機1200Aを介さずに、直接、ストレージ装置1300A上のシーケンス番号取得プログラム1340を呼び出しても、本発明を実施可能である。この際、時刻情報は、ストレージ装置1300Aに時刻生成装置および時刻取得プログラムを設けて、これを利用してもよいし、管理計算機1100に、時刻生成装置および時刻取得プログラムを設けて、これを利用してもよい。
5.5 複数のホスト計算機が存在する場合
なお、ストレージシステムSに複数のホスト計算機1200Aが存在する場合は、個々のホスト計算機1200Aによってデータ復旧可能時刻が異なることが考えられる。そのため、管理計算機1100が複数のホスト計算機に接続される場合は、複数のホスト計算機1200Aからデータ復旧可能時刻を取得し、複数のホスト計算機1200Aのそれぞれについてのデータ復旧可能時刻を表示してもよい。その際、複数のホスト計算機1200Aのそれぞれは、日本国内だけでなく、外国に存在していてもよい。
5.6 その他
データ復旧可能時刻を算出するための基準となる所定時刻は、現在時刻でなくても、過去のある時点での時刻であってもよい。
本発明の概要を示す説明図である。 本実施形態のストレージシステムの構成を示すブロック図である。 管理計算機1100の構成を示す図である。 ホスト計算機1200の構成を示す図である。 ストレージ装置1300の構成を示す図である。 ストレージ装置1300内のディスクコントローラ1320上のメモリ1321に作成されるリモートコピー定義テーブル1322の一例を示す図である。 非同期リモートコピーのコピーペアの状態遷移図である。 データ復旧可能時刻監視プログラム1112が管理計算機1100のメモリ1120上に作成する流入部I/Oテーブル1124の一例を示す図である。 データ復旧可能時刻監視プログラムが管理計算機1100のメモリ1120上に作成する流出部I/Oテーブル1126の一例を示す図である。 管理計算機1100がデータ復旧可能時刻の監視間隔をユーザに設定させるために表示装置1150に表示する監視条件設定画面10500を示す図である。 管理計算機1100がデータ復旧可能時刻を表示装置1150に表示する監視画面10600を示す図である。 データ復旧可能時刻監視プログラム1112の処理手順を示すフローチャートである。 データ復旧可能時刻の計算の説明のためのグラフである。 管理計算機1100がデータ復旧可能時刻の許容誤差をユーザに設定させるために表示装置1150に表示する監視条件設定画面10700を示す図である。
符号の説明
1100 管理計算機
1200,1200A,1200B ホスト計算機
1300,1300A,1300B ストレージ装置
1400 管理ネットワーク
1500,1500A,1500B データネットワーク
1600 リモートネットワーク

Claims (9)

  1. 1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機を有する第1のサイトと、
    1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機からなる第2のサイトと、
    前記第1のサイトのホスト計算機を管理する管理計算機と、を含み、
    前記第1のサイトのストレージ装置から前記第2のサイトのストレージ装置に対して非同期リモートコピーを行うストレージシステムであって、
    前記管理計算機は、処理部、記憶部、表示部を備えており、
    前記処理部は
    前記第1のサイトのストレージ装置のバッファに滞留しているデータに関し、最新のデータの識別情報としてのシーケンス番号を所定の時間間隔で時刻情報とともに前記記憶部に蓄積し、
    当該蓄積した情報と、前記第2のサイトのストレージ装置に記憶されたデータを用いて復旧することのできる最新の時刻であるデータ復旧可能時刻の推定値を算出する基準となる所定時刻における、前記滞留している最古データのシーケンス番号と、に基づき、
    前記蓄積した情報のうち、前記滞留している最古のデータのシーケンス番号よりも古い中で一番新しいシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、前記滞留している最古のデータのシーケンス番号よりも新しい中で一番古いシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、を用いて補間処理を行うことで、前記滞留している最古のデータが前記第1のサイトのストレージ装置のバッファに格納された時刻を、前記データ復旧可能時刻の推定値として算出して、前記表示部に表示する
    ことを特徴とするストレージシステム。
  2. 前記管理計算機の処理部は、
    前記所定時刻と前記データ復旧可能時刻との差分をデータ損失時間の推定値として算出し、前記表示部に表示することを特徴とする請求項1に記載のストレージシステム。
  3. 前記所定の時間間隔は、
    予めユーザによって設定された値であることを特徴とする請求項1または請求項2に記載のストレージシステム。
  4. 1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機を有する第1のサイトと、
    1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機からなる第2のサイトと、
    前記第1のサイトのホスト計算機を管理する管理計算機と、を含み、
    前記第1のサイトのストレージ装置から前記第2のサイトのストレージ装置に対して非同期リモートコピーを行うストレージシステムにおける前記管理計算機によるデータ復旧可能時刻の推定値の算出方法であって、
    前記管理計算機は、処理部、記憶部、表示部を備えており、
    前記処理部は
    前記第1のサイトのストレージ装置のバッファに滞留しているデータに関し、最新のデータの識別情報としてのシーケンス番号を所定の時間間隔で時刻情報とともに前記記憶部に蓄積し、
    当該蓄積した情報と、前記第2のサイトのストレージ装置に記憶されたデータを用いて復旧することのできる最新の時刻であるデータ復旧可能時刻の推定値を算出する基準となる所定時刻における、前記滞留している最古データのシーケンス番号と、に基づき、
    前記蓄積した情報のうち、前記滞留している最古のデータのシーケンス番号よりも古い中で一番新しいシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、前記滞留している最古のデータのシーケンス番号よりも新しい中で一番古いシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、を用いて補間処理を行うことで、前記滞留している最古のデータが前記第1のサイトのストレージ装置のバッファに格納された時刻を、前記データ復旧可能時刻の推定値として算出して、前記表示部に表示する
    ことを特徴とするデータ復旧可能時刻の推定値の算出方法。
  5. 前記管理計算機の処理部は、
    前記所定時刻と前記データ復旧可能時刻との差分をデータ損失時間の推定値として算出し、前記表示部に表示することを特徴とする請求項に記載のデータ復旧可能時刻の推定値の算出方法。
  6. 前記所定の時間間隔は、
    予めユーザによって設定された値であることを特徴とする請求項または請求項に記載のデータ復旧可能時刻の推定値の算出方法。
  7. 1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機を有する第1のサイトと、
    1台以上のストレージ装置、および、前記1台以上のストレージ装置へデータのリード/ライトを行なう1台以上のホスト計算機からなる第2のサイトと、
    前記第1のサイトのホスト計算機を管理する管理計算機と、を含み、前記第1のサイトのストレージ装置から前記第2のサイトのストレージ装置に対して非同期リモートコピーを行うストレージシステムにおける前記管理計算機であって、処理部、記憶部、表示部を備えており、
    前記処理部は
    前記第1のサイトのストレージ装置のバッファに滞留しているデータに関し、最新のデータの識別情報としてのシーケンス番号を所定の時間間隔で時刻情報とともに前記記憶部に蓄積し、
    当該蓄積した情報と、前記第2のサイトのストレージ装置に記憶されたデータを用いて復旧することのできる最新の時刻であるデータ復旧可能時刻の推定値を算出する基準となる所定時刻における、前記滞留している最古データのシーケンス番号と、に基づき、
    前記蓄積した情報のうち、前記滞留している最古のデータのシーケンス番号よりも古い中で一番新しいシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、前記滞留している最古のデータのシーケンス番号よりも新しい中で一番古いシーケンス番号およびそのシーケンス番号のデータに対応する時刻情報と、を用いて補間処理を行うことで、前記滞留している最古のデータが前記第1のサイトのストレージ装置のバッファに格納された時刻を、前記データ復旧可能時刻の推定値として算出して、前記表示部に表示する
    ことを特徴とする管理計算機。
  8. 前記処理部は、
    前記所定時刻と前記データ復旧可能時刻との差分をデータ損失時間の推定値として算出し、前記表示部に表示することを特徴とする請求項に記載の管理計算機。
  9. 前記所定の時間間隔は、
    予めユーザによって設定された値であることを特徴とする請求項または請求項に記載の管理計算機。
JP2008321323A 2008-12-17 2008-12-17 ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機 Active JP4717923B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008321323A JP4717923B2 (ja) 2008-12-17 2008-12-17 ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機
US12/379,032 US8108639B2 (en) 2008-12-17 2009-02-11 Storage system, method for calculating estimated value of data recovery available time and management computer
EP09174232A EP2199913B1 (en) 2008-12-17 2009-10-27 Storage system, method for calculating estimated value of data recovery available time and management computer
AT09174232T ATE547757T1 (de) 2008-12-17 2009-10-27 Speichersystem, verfahren zur berechnung des geschätzten werts der für die datenwiederherstellung verfügbaren zeit und verwaltungscomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008321323A JP4717923B2 (ja) 2008-12-17 2008-12-17 ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機

Publications (3)

Publication Number Publication Date
JP2010146198A JP2010146198A (ja) 2010-07-01
JP2010146198A5 JP2010146198A5 (ja) 2010-12-24
JP4717923B2 true JP4717923B2 (ja) 2011-07-06

Family

ID=42045311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008321323A Active JP4717923B2 (ja) 2008-12-17 2008-12-17 ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機

Country Status (4)

Country Link
US (1) US8108639B2 (ja)
EP (1) EP2199913B1 (ja)
JP (1) JP4717923B2 (ja)
AT (1) ATE547757T1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351146B2 (en) * 2010-03-04 2013-01-08 International Business Machines Corporation Recovery operation status indicator for a tape drive system
WO2013035243A1 (ja) * 2011-09-08 2013-03-14 日本電気株式会社 クラウドサービス復旧時間予測システム、方法およびプログラム
US20130138903A1 (en) * 2011-11-25 2013-05-30 Hitachi, Ltd. Computer system
US9367418B2 (en) * 2012-02-28 2016-06-14 Tata Consultancy Services Limited Application monitoring
US9164929B2 (en) 2013-01-03 2015-10-20 International Business Machines Corporation False power failure alert impact mitigation
WO2015072026A1 (ja) * 2013-11-18 2015-05-21 株式会社日立製作所 計算機システム
US9513839B2 (en) 2014-04-03 2016-12-06 Hitachi, Ltd. Management system and management method for computer system comprising remote copy system for performing asynchronous remote copy

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法
JP2008077264A (ja) * 2006-09-20 2008-04-03 Hitachi Ltd Cdpを用いたリカバリ方法
JP2008242744A (ja) * 2007-03-27 2008-10-09 Hitachi Ltd Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001024010A1 (fr) * 1999-09-29 2001-04-05 Hitachi, Ltd. Procede de partage de fichiers et systeme de stockage
US7240197B1 (en) * 2000-07-18 2007-07-03 Hitachi, Ltd. Method and apparatus for encryption and decryption in remote data storage systems
US6587933B2 (en) 2001-01-26 2003-07-01 International Business Machines Corporation Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
JP4452438B2 (ja) * 2002-11-11 2010-04-21 株式会社日立製作所 記憶システム
JP2005346564A (ja) * 2004-06-04 2005-12-15 Hitachi Global Storage Technologies Netherlands Bv ディスク装置及びディスク装置の制御方法並びに改竄検出方法
US20060277384A1 (en) 2005-06-01 2006-12-07 Hitachi, Ltd. Method and apparatus for auditing remote copy systems
JP5207637B2 (ja) 2007-02-23 2013-06-12 株式会社日立製作所 一以上のセカンダリストレージシステムで複数のバックアップを取得するバックアップ制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006053737A (ja) * 2004-08-11 2006-02-23 Nec Corp レプリケーションシステム及びレプリケーション方法
JP2008077264A (ja) * 2006-09-20 2008-04-03 Hitachi Ltd Cdpを用いたリカバリ方法
JP2008242744A (ja) * 2007-03-27 2008-10-09 Hitachi Ltd Cdpに従うリカバリを実行するストレージ装置の管理装置及び方法

Also Published As

Publication number Publication date
US20100153666A1 (en) 2010-06-17
EP2199913A1 (en) 2010-06-23
US8108639B2 (en) 2012-01-31
JP2010146198A (ja) 2010-07-01
ATE547757T1 (de) 2012-03-15
EP2199913B1 (en) 2012-02-29

Similar Documents

Publication Publication Date Title
JP4717923B2 (ja) ストレージシステム、データ復旧可能時刻の推定値の算出方法、および、管理計算機
US10146472B2 (en) Tertiary storage unit management in bidirectional data copying
US7024528B2 (en) Storage automated replication processing
US6643671B2 (en) System and method for synchronizing a data copy using an accumulation remote copy trio consistency group
US7607037B1 (en) SAR restart and going home procedures
US7330861B2 (en) Remote copying system and method of controlling remote copying
KR101547719B1 (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
JP3958757B2 (ja) カスケード式再同期を利用する障害回復システム
JP4405509B2 (ja) データ管理方法、システム、およびプログラム(リモート記憶位置にフェイルオーバを行うための方法、システム、およびプログラム)
CN100570574C (zh) 用于管理存储***之间的数据拷贝的***和方法
US7472173B2 (en) Remote data copying among storage systems
US7421550B2 (en) Storage system and storage system management method
EP1873645A1 (en) Storage system and data replication method
US20080072000A1 (en) Method and apparatus incorporating virtualization for data storage and protection
JP2005196683A (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
JP2007086972A (ja) ストレージシステム、二重化制御方法、及びプログラム
JP2010113559A (ja) リモートコピー管理システム、方法及び装置
JP2008186142A (ja) リモートバックアップ方法及びストレージシステム
JPWO2010122676A1 (ja) 計算機システム、及び、それを用いたバックアップ方法
US11321005B2 (en) Data backup system, relay site storage, data backup method, and control program for relay site storage
JP5409799B2 (ja) リモートコピーシステム及びリモートコピー制御方法
JP2005309793A (ja) データ処理システム
WO2013076872A1 (ja) 計算機システム
JP5124237B2 (ja) ストレージシステムおよびストレージサブシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110208

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110330

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140408

Year of fee payment: 3