JP4756992B2 - ストレージシステム及び記憶制御方法 - Google Patents

ストレージシステム及び記憶制御方法 Download PDF

Info

Publication number
JP4756992B2
JP4756992B2 JP2005309286A JP2005309286A JP4756992B2 JP 4756992 B2 JP4756992 B2 JP 4756992B2 JP 2005309286 A JP2005309286 A JP 2005309286A JP 2005309286 A JP2005309286 A JP 2005309286A JP 4756992 B2 JP4756992 B2 JP 4756992B2
Authority
JP
Japan
Prior art keywords
storage device
storage
data
journal
restore
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
JP2005309286A
Other languages
English (en)
Other versions
JP2007122117A (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 JP2005309286A priority Critical patent/JP4756992B2/ja
Priority to US11/301,023 priority patent/US20070094456A1/en
Publication of JP2007122117A publication Critical patent/JP2007122117A/ja
Application granted granted Critical
Publication of JP4756992B2 publication Critical patent/JP4756992B2/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/2058Error 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 more than 2 mirrored copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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

本発明は、記憶制御技術に関し、具体的には、リモートコピーを利用したデータのリストアに関する。
複数台のストレージサブシステムを含んだストレージシステムが知られている。そのようなストレージステムとして、例えば、特開2003−122509号公報に開示のシステムがある。特開2003−122509号公報には、例えば、以下のことが開示されている。
(1)第一のストレージサブシステムに第二のストレージサブシステムが接続されており、第二のストレージシステムに第三のストレージシステムが接続されている。第一のストレージサブシステムと第二のストレージシステムとの間では、同期型リモートコピーが行われ、第二のストレージシステムと第三のストレージサブシステムとの間では、非同期型リモートコピーが行われる。非同期型リモートコピーでは、第二のストレージサブシステムでデータが更新された順序で、第二のストレージサブシステムから第三のストレージサブシステムにデータが転送される。
(2)また、ストレージサブシステム間で記憶されているデータの差分を管理し、その差分のデータを用いることで、データをリストアすることができることが開示されている。
特開2003−122509号公報
ところで、例えば、第一のストレージサブシステムが、第一の記憶装置を備えるとする。第二のストレージサブシステムが、第二の記憶装置を備えるとする。第三のストレージサブシステムが、第三の記憶装置を備えるとする。第一の記憶装置に書かれるデータが、リモートコピーにより、第二の記憶装置にも書かれるとする。第二の記憶装置に書かれるデータが、リモートコピーにより、第三の記憶装置に書かれるとする。ストレージシステムの外部に存在する装置(以下、外部装置)が、第一の記憶装置や第三の記憶装置にアクセスできるようになっているとする。
つまり、その環境では、第一の記憶装置でデータの更新が発生する場合には、そのタイミングと同期或いは非同期で、第二の記憶装置及び第三の記憶装置で順次にデータの更新が発生する。外部装置が第三の記憶装置にアクセスしたときには、第一の記憶装置でのデータの更新順序通りに第三の記憶装置のデータが更新されていることが保証されていると望ましい。しかし、そうするために、人間による面倒な操作が必要になると、誤った操作が行われる可能性が高く、問題である。
従って、本発明の目的は、第一の記憶装置に書かれるデータが第一のストレージサブシステムから第二のストレージサブシステムに転送されて第二の記憶装置に書かれ、第二の記憶装置に書かれるデータが第二のストレージサブシステムから第三のストレージサブシステムに転送されて第三の記憶装置に書かれるようになっている環境において、人間による面倒な操作を必要とすることなく、外部装置が第三の記憶装置にアクセスしたときに、第一の記憶装置でのデータの更新順序通りに第三の記憶装置のデータが更新されている可能性を高めることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明の第一の側面に従う記憶制御方法は、第一のストレージサブシステム、前記第一のストレージサブシステムに通信可能に接続された第二のストレージサブシステム、及び前記第二のストレージサブシステムに通信可能に接続された第三のストレージサブシステムを備えるストレージシステムで行われる記憶制御方法である。この記憶制御方法は、保持されている差分データ群が送信される場合に、第一のストレージサブシステムが、差分データ群を挟むように第一の情報と第二の情報を送信することで、第三のストレージシステムの第三の記憶装置への差分データ群の反映を制御する。具体的には、以下の通りである。
前記第一のストレージサブシステムが、第一の記憶装置を備え、前記ストレージシステムの外部に存在する外部装置に通信可能に接続される。前記第二のストレージサブシステムが、第二の記憶装置と、ジャーナル群を記憶することができる第一のジャーナル記憶装置とを備える。前記第三のストレージサブシステムが、第三の記憶装置と、第二のジャーナル記憶装置とを備える。第一の記憶装置に書かれるデータが第一のストレージサブシステムから第二のストレージサブシステムに転送されて第二の記憶装置に書かれ、第二の記憶装置に書かれるデータが第二のストレージサブシステムから第三のストレージサブシステムに転送されて第三の記憶装置に書かれるような環境になっている。
前記第一のストレージサブシステムが、前記第一の記憶装置に書かれるデータを前記第二のストレーサブシステムに送信しない場合に、前記第一の記憶装置に新たにデータが書かれるならば、その新たに書かれるデータを、前記第一の記憶装置内のデータ群と前記第二の記憶装置内のデータ群との差分である差分データとして保持し、一以上の差分データを含んだ差分データ群を前記第二のストレージサブシステムに送信する場合、前記差分データ群を挟むように第一の情報と第二の情報とを前記第二のストレージサブシステムに送信する。
前記第二のストレージサブシステムは、前記第一の情報、前記差分データ群及び前記第二の情報を受信し、前記受信した差分データ群を前記第二の記憶装置に書き、前記差分データ群を含んだ一以上のジャーナルである差分ジャーナル群を前記第一のジャーナル記憶装置に書き、前記第一の情報、前記差分ジャーナル群及び前記第二の情報を、前記第三のストレージサブシステムに送信する。
前記第三のストレージサブシステムは、前記第一の情報、前記差分ジャーナル群及び前記第二の情報を受信し、前記差分ジャーナル群を前記第二のジャーナル記憶装置に書き、前記第一の情報及び前記第二の情報に基づいて、前記第二のジャーナル記憶装置内の前記差分ジャーナル群に含まれている前記差分データ群を前記第三の記憶装置に書く。
本発明の第一の態様では、前記第三のストレージサブシステムは、少なくとも前記差分ジャーナル群内の差分データ群を前記第三の記憶装置に書いている間、前記第三の記憶装置が前記外部装置又は前記別の外部装置からアクセスされないよう排他制御を行うことができる。
外部装置は、例えば、計算機或いはストレージサブシステムとすることができる。計算機としては、例えば、ホスト装置、ストレージサブシステムの保守を行うための保守端末など、種々の計算機を採用することができる。
本発明に第二の態様では、前記第一のストレージサブシステムは、前記第一の情報、前記差分データ群及び前記第二の情報の順に、それらを前記第二のストレージサブシステムに送信することができる。前記第二のストレージサブシステムは、前記第一の情報、前記差分ジャーナル群及び前記第二の情報の順を表したジャーナル群を作成することができる。前記第三のストレージサブシステムは、前記ジャーナル群を基に、前記差分ジャーナル群及び前記第二の情報を認識する前に前記第一の情報を認識することができる。この場合、前記第三のストレージサブシステムは、前記第一の情報を認識した場合、差分ジャーナル群を隔てて存在する前記第二の情報を探し、前記第二の情報を見つけた場合に、前記差分ジャーナル群内の前記差分データ群を、実質的に時間を隔てることなく連続的に前記第三の記憶装置に書くことができる。
本発明の第三の態様では、前記第一のストレージサブシステムは、前記第一の記憶装置の複数の記憶領域にそれぞれ対応した複数のビットを持った差分ビットマップを備え、前記第一の記憶装置の或る記憶領域にデータが書かれた場合に、前記或る記憶領域に対応するビットを更新し、再び前記或る記憶領域に新たにデータが書かれた場合には、前記或る記憶領域の更新済みのビットを更新しないようにすることができる。
本発明の第四の態様では、前記第一の記憶装置に書かれるデータを前記第二のストレーサブシステムに送信しない場合とは、前記第一のストレージサブシステムと前記第二のストレージサブシステムとが通信不可能になった場合、又は、前記第一の記憶装置と前記第二の記憶装置とを含んだコピーグループの状態が所定の状態に変更された場合であるとすることができる。
本発明の第五の態様では、前記環境では、前記第一のストレージサブシステムが、前記外部装置からデータを受信し、受信したデータを前記第一の記憶装置に書き、前記第一の記憶装置に書かれる前記データを、前記第二のストレージサブシステムに送信することができる。また、前記第二のストレージサブシステムが、前記第一のストレージサブシステムからデータを受信し、前記受信したデータを前記第二の記憶装置に書き、前記受信したデータと前記受信したデータが前記第二の記憶装置に書かれた順序とを含んだジャーナルを前記第一のジャーナル記憶装置に書き、前記第一のジャーナル記憶装置内のジャーナル群の各ジャーナルを前記第三のストレージサブシステムに送信することができる。また、前記第三のストレージサブシステムが、前記第二のストレージサブシステムから各ジャーナルを受信し、前記受信した各ジャーナルを前記第二のジャーナル記憶装置に書き、前記第二のジャーナル記憶装置内のジャーナル群の中から、前記順序が若い順にジャーナルを取得し、前記取得されたジャーナル内のデータを、前記第三の記憶装置に書くことができる。
上述した各サブストレージシステムが行う各処理は、各手段により実現することができる。各手段は、ハードウェア回路、コンピュータプログラム又はそれらの組み合わせにより実現することができる。
本発明によれば、第一の記憶装置に書かれるデータが第一のストレージサブシステムから第二のストレージサブシステムに転送されて第二の記憶装置に書かれ、第二の記憶装置に書かれるデータが第二のストレージサブシステムから第三のストレージサブシステムに転送されて第三の記憶装置に書かれるようになっている環境において、人間による面倒な操作を必要とすることなく、外部装置が第三の記憶装置にアクセスしたときに、第一の記憶装置でのデータの更新順序通りに第三の記憶装置のデータが更新されている可能性を高めることができる。
以下、本発明の一実施形態に係るストレージシステムについて図面を用いて説明する。
図1は、本発明の一実施形態に係るストレージシステムの概要を示す図である。
本実施形態に係るストレージシステムには、第一のストレージサブシステム5と、第二のストレージサブシステム6と、第三のストレージサブシステム7とが含まれている。第一のストレージシステム3には、パス3を介して計算機1が通信可能に接続されており、且つ、パス8を介して第二のストレージサブシステム6が通信可能に接続されている。第二のストレージサブシステム6には、パス9を介して第三のストレージサブシステム7が通信可能に接続されている。第三のストレージサブシステム7には、パス4を介して計算機2が通信可能に接続されている。パス3,8,9及び4は、専用線或いは通信ネットワークにより設けることができる。また、各計算機1,2は、全てのストレージサブシステム5〜7に通信可能に接続されていても良い。
各ストレージサブシステム5〜7は、少なくとも一つの記憶装置を備えている。具体的には、例えば、第一〜第三のストレージサブシステム5〜7は、それぞれ、第一〜第三の記憶装置を備えている。そして、第一の記憶装置と第二の記憶装置を含んだ第一のコピーグループと、第二の記憶装置と第三の記憶装置を含んだ第二のコピーグループが、それぞれ形成されている。第一のコピーグループでは、第一の記憶装置に書かれるデータが、リモートコピーにより、第二の記憶装置に書かれる。第二のコピーグループでは、第二の記憶装置に書かれるデータが、リモートコピーにより、第三の記憶装置に書かれる。以下、コピーグループにおいて、コピー元になる記憶装置を、プライマリの記憶装置を略して「P−記憶装置」と呼び、コピー先になる記憶装置を、セカンダリの記憶装置を略して「S−記憶装置」と呼ぶ。それ故、以下、第一の記憶装置を、「P−記憶装置10P」と記載し、第三の記憶装置を、「S−記憶装置12S」と記載することにする。また、第二の記憶装置は、コピー先にもコピー元にもなるので、「SP−記憶装置11SP」と記載することにする。各記憶装置10P、11SP、12Sは、それぞれ、同一の記憶容量であるとすることができる。また、本実施形態では、計算機1がP−記憶装置10Pにアクセスすることができるようになっており、計算機2がS−記憶装置12Sにアクセスすることができるようになっている。
第一のコピーグループでは、同期型リモートコピーが行われる。同期型リモートコピーとは、P−記憶装置10Pにデータが書かれることと同じタイミング(実質的に同じタイミング)で、そのデータを含んだ書込み要求が、第一のストレージサブシステム5から第二のストレージサブシステム6に送信され、SP−記憶装置11SPに書かれることを言う。具体的には、例えば、第一のストレージサブシステムは、P−記憶装置10Pへのデータの書込み要求を受信した場合、その書込み要求中のデータを、図示しないキャッシュメモリ或いはP−記憶装置10Pに書くと共に、そのデータをSP−記憶装置11SPに書くことのリモートコピー要求を第二のストレージサブシステム6に送信し、その後、第二のストレージサブシステム6から、所定の応答(例えば、データを受信したことを意味する応答、或いは、データをSP−記憶装置10SPに書いたことを意味する応答)を受けたとき、或いは、その所定の応答を受けることなく、所定の完了報告(例えば、書込み完了報告)を、計算機1に返すことができる。
一方、第二のコピーグループでは、非同期型リモートコピーが行われる。非同期型リモートコピーとは、SP−記憶装置11SPにデータが書かれることと異なるタイミングで、そのデータが、第二のストレージサブシステム6から第三のストレージサブシステム7に転送され、S−記憶装置12Sに書かれることを言う。非同期型リモートコピーでは、SP−記憶装置11SPにデータが書かれるタイミングと非同期で、そのデータの第三のストレージサブシステムに対する転送が行われるため、SP−記憶装置10SPで、どのような順序でデータが更新されていったかを管理する必要が生じる。そのために、第二及び第三のストレージサブシステム6及び7に、それぞれ、ジャーナル記憶装置14,15が備えられる。第二のストレージサブシステム6は、SP−記憶装置11SPに対するリモートコピー要求を受けた場合、その要求中のデータを、SP−記憶装置11SPに書くと共に、そのデータを含んだ更新履歴情報(以下、それを「ジャーナル」と言う)を生成し、そのジャーナルを、ジャーナル記憶装置14に書くことができる。ジャーナルには、例えば、データの他に、そのデータが書かれた場所を表す情報要素(例えば、論理ブロックアドレス(LBA)と、そのデータが何番目に更新されたかを判別するための情報要素(例えば、SP−記憶装置11SPにデータが書かれた時刻或いは順番)とが含まれている。第二のストレージサブシステム6は、SP−記憶装置11Sにデータを書込むタイミングと非同期で、ジャーナル記憶装置14内のジャーナルを、第三のストレージサブシステム7に送信することができる。第二のストレージサブシステム6は、能動的に、ジャーナルを送信しても良いし、第三のストレージサブシステム7からの要求(例えば読出し要求)に応答して、ジャーナルを送信しても良い。
第三のストレージサブシステム7は、第二のストレージサブシステム6からジャーナルを受信した場合、受信したジャーナルを、ジャーナル記憶装置15に書込む。そして、第三のストレージサブシステム7は、所定のタイミングで、ジャーナル記憶装置15内の複数のジャーナルのうちの更新順序が最も若いジャーナルから順に、ジャーナル内のデータを、そのジャーナルから特定されるS−記憶装置12Sにおける場所に書込む。これにより、S−記憶装置12Sにデータがリストアされることになる。
以上のような構成により、P−記憶装置10Pでデータが更新された順序でS−記憶装置12Sのデータを更新することができる。
さて、この実施形態では、SP−記憶装置11SP内のデータ群を、P−記憶装置10P内のデータ群と同じにしたくても、P−記憶装置10Pに書かれるデータが第二のストレージサブシステム6へ転送されないが故に、それができないような状況(以下、同期コピー不能状況)が生じる可能性がある。同期コピー不能状況が生じる原因としては、例えば、パス8に障害が発生した、第一のコピーグループの状態が後述するサスペンド状態にされた等が考えられる。このような状況において、P−記憶装置10Pのデータが更新されると、P−記憶装置10P内のデータ群と、SP−記憶装置11SP内のデータ群との間に差分が生じる。
第一のストレージサブシステム5は、少なくとも同期コピー不能状況になった場合、換言すれば、上記のような差分が生じる状況になった場合には、その差分の管理を行うことができる。
具体的には、例えば、第一のストレージサブシステム5は、P−記憶装置10Pの複数の記憶領域にそれぞれ対応した複数のビットを含んだビットマップ(以下、差分ビットマップ)を備え、その差分ビットマップを用いて、データの差分を管理することができる。より具体的には、例えば、第一のストレージサブシステム5は、P−記憶装置10Pの各場所に新たにデータが書かれた場合に、その各場所に対応するビットを更新することができる(その際、第一のストレージサブシステム5は、例えば、更新済みのビットに対応する場所と同じ場所に更に新たにデータが書かれた場合には、そのビットを更新しない)。この結果、更新されている各ビットに対応した各場所に存在する各データが、P−記憶装置10P内のデータ群とSP−記憶装置11SP内のデータ群との差分(以下、差分データ)ということになる。なお、各差分データは、P−記憶装置10Pとは別の記憶資源(例えば、第一のストレージサブシステム5内のメモリ)に記憶されても良い。この実施形態では、差分ビットマップと各差分データを含んだ情報を、差分情報13とする。第一のストレージサブシステム5は、差分情報13では、どのビットにどの差分データが対応しているかを表す情報も含まれていても良い。
ところで、差分ビットマップを用いて複数の差分データを管理する場合、どのような順番で差分データが発生したかが管理されない。換言すれば、差分データの発生した順序は、保証されていない。
複数の差分データが第一のストレージサブシステム5に存在する状態で、同期コピー不能状況が解除になった場合、例えば、P−記憶装置10P内のデータ群とSP−記憶装置11SP内のデータ群とを同じにするための再同期(以下、リシンク)操作が第一のコピーグループに対して行われた場合、第一のストレージサブシステム5は、複数の差分データを第二のストレージサブシステム6に転送することができる。このため、複数の差分データをそれぞれ含んだ複数のジャーナルがジャーナル記憶装置14に記憶される。
しかし、それら複数の差分データは、発生順序が保証されておらず、且つ、第2のストレージサブシステムと第3のストレージサブシステム間は、通信可能に接続されている状態である。このため、順序性が保証されていない複数の差分データをそれぞれ含んだ複数のジャーナルが、第三のストレージサブシステム7へとそれぞれ送信されて、その保証されていない順序(つまり、P−記憶装置10Pで発生した順序と異なる順序)で、ジャーナルを用いたリストアが行われる。その結果、S−記憶装置12Sで、データの更新順序が保証されていない状態が発生する。その状態中に、計算機2からS−記憶装置12Sがアクセスされてしまう可能性がある。
それを防ぐための方法として、計算機1或いは2のユーザに複数の操作を所定の順序で実行してもらう方法、具体的には、例えば、第二のコピーグループの状態を後述のサスペンド状態にするためのサスペンド操作を実行してから、第一のコピーグループに対してリシンク操作を実行し、更に、所望時点の順序性が保証されたデータをS−記憶装置12Sに確定するための操作を行ってもらう方法が考えられる。
しかし、この方法では、誤った操作が行われる可能性があり、故に、S−記憶装置12Sで、データの更新順序が保証されていない状態のS−記憶装置12に計算機2からアクセスされてしまうことを防ぐことは難しい。
そこで、本実施形態では、以下の工夫により、人間に面倒な操作を行わせることなく上記のことを防ぐことができるようになっている。以下、その工夫について説明する。
第一のストレージサブシステム5は、リストアの実行を制御するためのコマンド(以下、リストア制御コマンド)16を送信することができるようになっている。具体的には、例えば、第一のストレージサブシステム5は、複数の差分データを第二のストレージサブシステム6に送信する場合に(例えば、第一のコピーグループに対するリシンク命令を受けた場合に)、リストア中断コマンド(リストアの中断を意味するリストア制御コマンド16)を第二のストレージサブシステム6に送信し、その後に、複数の差分データを送信する。第一のストレージサブシステム5は、複数の差分データの送信を終えた後、リストア再開コマンド(リストアの再開を意味するリストア制御コマンド16)を第二のストレージサブシステム6に送信することができる。
これにより、第二のストレージサブシステム6は、リストア中断コマンドを受けてから、複数の差分データを受け、更にその後に、リストア再開コマンドを受けることができる。第二のストレージサブシステム6は、複数の差分データをSP−記憶装置11SPに書き、且つ、複数の差分データをそれぞれ含んだ複数のジャーナル(以下、差分ジャーナル)をジャーナル記憶装置14に書き込むことができる。第二のストレージサブシステム6は、リストア中断コマンド、複数の差分ジャーナル、リストア再開コマンドの順に、第三のストレージシステム7に送信する。
第三のストレージサブシステム7は、リストア中断コマンドとリストア再開コマンドに基づいて、複数の差分ジャーナルにそれぞれ含まれている複数の差分データをS−記憶装置12Sにリストアすることができる。具体的には、例えば、第三のストレージサブシステム7は、リストア中断コマンド、複数の差分ジャーナル及びリストア再開コマンドを第二のジャーナル記憶装置15に書き、第二のジャーナル記憶装置15からリストア中断コマンドを参照した場合、リストア再開コマンドを探し、リストア再開コマンドを見つけた場合、リストア中断コマンドとリストア再開コマンドとの間に存在する複数の差分ジャーナルに基づくリストアを、実質的に時間を隔てることなく連続的に(換言すれば一気に)実行することができる。また、第三のストレージサブシステム7は、少なくとも複数の差分ジャーナルに基づくリストアを実行している間は、計算機2からS−記憶装置12Sにアクセスされないような排他制御を実行することができる。排他制御は、種々の方法(例えば、外部装置からのアクセスを受けた場合にはそのアクセスを拒否する)で行うことができる。第三のストレージサブシステム7は、複数の差分ジャーナルに基づくリストアを完了した後、排他制御を止めることができる(つまり、計算機2からS−記憶装置12Sへのアクセスを許可するようにすることができる)。
この実施形態によれば、複数の差分データが送信される前に、リストア中断コマンドが発行され、複数の差分データが送信され終えた後に、リストア再開コマンドが発行される。その結果、第三のストレージサブシステム7では、例外リストアが実行される前に、リストア中断コマンドが認識されて、計算機2からS−記憶装置12Sへのアクセスの排他制御が開始され、例外リストアが完了した後に、リストア再開コマンドが認識されて、上記の排他制御が中止される。これにより、人間に面倒な操作を行わせることなく、データの更新順序が保証されていない状態のS−記憶装置12Sに計算機2からアクセスされてしまうことを防ぐことができる。
なお、上記の実施形態では、第一のストレージサブシステム5は、差分情報13を送信しても良い。その場合、第二のストレージサブシステム6は、差分ビットマップを用いて、複数の差分データをSP−記憶装置11SPに書くことができる。
以下、本実施形態の具体例について説明する。
図2は、本発明の一実施形態に係る計算機1の構成例を示す。計算機1の構成例は計算機2にも適用することができるため、以下、計算機1を代表的に例に採り説明する。
計算機1は、CPU202と、タイマ203と、メモリ204と、外部記憶装置205と、I/Oアダプタ206と、これらを接続する内部パス201とを備える。
CPU202は、計算機1を制御するプロセッサである。CPU202は、メモリ204に記憶されている各プログラムを読み込んで実行することができる。
タイマ203は、計算機1の時刻を管理する装置である。
メモリ204には、例えば、コピーグループ操作プログラム211と、オペレーティングシステム(OS)212と、アプリケーションプログラム(以下、アプリケーション)213とが記憶されている。
コピーグループ操作プログラム211は、OS212上で動作するアプリケーションの一種であって、OS212の機能を利用して第一のストレージサブシステム5へI/O要求を発行することができる。ここで発行されるI/O要求としては、例えば、コピーグループを操作するための操作コマンドがある。コピーグループの操作により、コピーグループの状態を変更することができる。コピーグループの状態には、例えば、結合状態、非結合状態、サスペンド状態、遷移中状態がある。
結合状態とは、コピーグループのプライマリの記憶装置と、セカンダリの記憶装置とが二重化形成されている状態のことである。ここで、プライマリの記憶装置とは、コピー元の記憶装置のことである。セカンダリの記憶装置とは、コピー先の記憶装置のことである。コピーグループが結合状態の場合には、プライマリの記憶装置にデータが書き込まれる場合に、それとほぼ同じタイミングで、セカンダリの記憶装置へもそのデータが書かれる。
非結合状態とは、コピーグループのプライマリの記憶装置と、セカンダリの記憶装置とが二重化形成されていない状態のことである。コピーグループが非結合状態の場合には、プライマリの記憶装置にデータが書かれても、セカンダリの記憶装置にはそのデータが書かれない。
サスペンド状態とは、コピーグループのプライマリの記憶装置と、セカンダリの記憶装置との二重化結合を一時的に中断している状態のことである。コピーグループがサスペンド状態の場合、第一のストレージサブシステム5は、プライマリの記憶装置にデータの書き込みが行なわれると、そのデータを差分データとして所定の記憶域(例えばメモリ或いは別の記憶装置)に記録しておくことができる。後に、サスペンド状態のコピーグループに対してリシンク操作が行われた場合、第一のストレージサブシステム5は、差分情報13(或いはその情報13中の差分データ)を、リモートコピーにより、セカンダリの記憶装置へ反映させることができる。
OS212は、コピーグループ操作プログラム211やアプリケーション213等の要求に従って、第一のストレージサブシステム5にI/O要求を発行することができる。
アプリケーション213は、OS212上で動作するプログラムである。また、コピーグループ操作プログラム211が動作中であっても、別のアプリケーション213が動作することもある。
外部記憶装置205は、計算機1を動作させるために必要なプログラムを記憶することができる記憶装置(例えばハードディスクドライブ)である。外部記憶装置205は、OS212から認識できれば何でもよい。
I/Oアダプタ206は、第一のストレージサブシステム5との通信を制御することができる一種のインターフェース装置である。OS213が発行したI/O要求は、内部パス201、I/Oアダプタ206を経由し、パス3を通じて、第一のストレージサブシステム5へ送られる。
図3は、第一のストレージサブシステム5及び第二のストレージサブシステム6のそれぞれの構成例を示す図である。なお、第一のストレージサブシステム5の構成例は、第二及び第三のストレージサブシステム6及び7に適用することができるので、以下、第一のストレージサブシステム5の構成例を例に採り説明する。
第一のストレージサブシステム5は、記憶制御装置301と、複数の記憶装置10と、これらを接続する内部パス340とを備えている。
記憶制御装置301は、計算機1や他のストレージサブシステムからのI/O要求に従う制御等を行う部位である。記憶制御装置301は、例えば、ホストアダプタ312と、リモートI/Oアダプタ313と、リモートI/Oアダプタ314と、CPU315と、タイマ316と、キャッシュメモリ317と、制御メモリ318と、記憶装置アダプタ319と、それらを接続する内部パス311とを備えることができる。
ホストアダプタ312は、計算機1から第一のストレージサブシステム5へのI/O要求を受け付ける部位である。各ストレージサブシステム5,6,7が受け得るI/O要求としては、例えば、記憶装置にデータを書き込むことの書込み要求、記憶装置からデータを読み出すことの読出し要求、コピーグループを操作することの操作コマンド、又は、リストア制御コマンド16がある。
リモートI/Oアダプタ313、リモートI/Oアダプタ314は、他のストレージサブシステムとの通信を行なうための装置である。このうち、リモートI/Oアダプタ313をデータの送信用とし、リモートI/Oアダプタ314をデータの受信用とすることができる。送信用リモートI/Oアダプタ313は、パス8を介して他のストレージサブシステムが有する受信用のリモートI/Oアダプタ314へ接続される。第二のストレージサブシステム6の送信用リモートI/Oアダプタ313と第一のストレージサブシステム5の受信用リモートI/Oアダプタ314を接続することにより、逆方向の通信、つまり、第二のストレージサブシステム6から第一のストレージサブシステム5へデータを送信することが可能となる。また、送信用と受信用のリモートI/Oアダプタは一体となっていても構わない。
CPU315は、記憶制御装置301全体を制御するプロセッサである。
タイマ316は、記憶制御装置301の時刻を管理する装置である。
キャッシュメモリ317は、記憶装置10に書き込まれる、又は記憶装置10から読み出されたデータを一時的に記憶することができる記憶領域である。
制御メモリ318とは、記憶制御装置301が第一のストレージサブシステム5を制御する時に使用する記憶領域のことである。詳細は後述するが、制御メモリ318は、例えば、データの読み書きを制御するプログラム、コピーグループの操作を実施するプログラム、リストア制御コマンド16に従ってリストアを制御するプログラム、及びそれらのプログラムが参照する情報等を記憶することができる。
記憶装置アダプタ319は、記憶装置10との通信を行なうための装置である。記憶装置10内のデータは、内部パス340、記憶装置アダプタ319、及び、ホストアダプタ312又は送信用リモートI/Oアダプタ313を介して、計算機1又は他のストレージサブシステム(図2では第二のストレージサブシステム6)へ送信される。計算機1や、他のストレージサブシステムから同様の経路を介してデータを受信することができる。
以上が、第一のストレージサブシステム5の構成例についての説明である。なお、第一のストレージサブシステム5には不要であるが、第二のストレージサブシステム6には、ジャーナル記憶装置14が備えられる(第三のストレージサブシステム7についても同様)。のジャーナル記憶装置14は、ジャーナル320を記憶することができる。
なお、上述した説明において、記憶装置は、物理的な記憶装置であっても良いし、論理的な記憶装置であっても良い。物理的な記憶装置としては、例えば、ディスク型記憶装置(例えばハードディスクドライブ)を採用することができる。論理的な記憶装置としては、例えば、一以上の物理的な記憶装置上に設けられる論理ユニット(論理ボリューム或いは論理デバイスと呼ばれることもある)を採用することができる。
図4は、第一のストレージサブシステム5に備えられている制御メモリ318に記憶されている情報の一例を示す図である。第二のストレージサブシステム6や第三のストレージサブシステム7に備えられている制御メモリ318にも、図4に示す制御メモリ318に記憶される情報と実質的に同じ情報を記憶させることができる。
制御メモリ318には、制御プログラム401と管理情報402が記憶されている。
制御プログラム401は、第一のストレージサブシステム5を制御するための各種プログラムである。制御プログラム401には、例えば、計算機1からの記憶装置10に対する書込み要求及び読出し要求を制御する入出力制御プログラム411や、コピーグループを制御するコピーグループ制御プログラム412が含まれる。
管理情報402には、種々のプログラムによって参照される情報が含まれる。管理情報402には、例えば、コピーグループ情報421と、ジャーナル管理情報422と、差分情報13とが含まれる。ジャーナル管理情報422は、第二のストレージサブシステム6及び第三のストレージサブシステム7には存在し、第一のストレージサブシステム5では存在しなくても構わない。差分情報13は、第一のストレージサブシステム5及び第二のストレージサブシステム6に存在し、第三のストレージシステム7には存在しなくても構わない。
図5は、コピーグループ情報421に含まれている情報の一例を示す図である。
コピーグループ情報421には、各コピーグループに対応した各エントリが含まれる。各エントリは、例えば、グループ識別番号501と、モード502と、プライマリの記憶装置の識別番号503と、セカンダリの記憶装置の識別番号504と、ジャーナル識別番号505と、ペア状態506とを含んでいる。
グループ識別番号501は、コピーグループを一意に識別する番号である。
モード502は、コピー方法を示す情報である。このコピー方法を示す情報として、例えば、プライマリの記憶装置とセカンダリの記憶装置は、同期しているのか非同期なのか、ジャーナルを用いたコピーであるのか、同一記憶装置内のコピーであるのか、又は、別の記憶装置からのコピーであるのか等がある。この実施形態の具体例では、P−記憶装置10PとSP−記憶装置11SPを含んだコピーグループのモード502は、"同期"であり、SP−記憶装置11SPとS−記憶装置12Sを含んだコピーグループのモード502は、"非同期"である。
プライマリの記憶装置の識別番号503は、コピーグループのプライマリの記憶装置を一意に識別する情報である。
セカンダリの記憶装置の識別番号504は、プライマリの記憶装置の識別番号503に対応するセカンダリの記憶装置を一意に識別する情報である。
ジャーナル管理番号505は、後述のジャーナル管理情報422に関連付けられる情報(例えば、ジャーナル管理情報422の識別番号601)であり、ジャーナルを用いたコピー(換言すれば、非同期型リモートコピー)の場合に設定される。
プライマリの記憶装置の識別番号503と、セカンダリの記憶装置の識別番号504には、それぞれ、サブシステム識別番号511と装置アドレス512とが対応付けられている。サブシステム識別番号511は、記憶装置を備えるストレージサブシステムを一意に識別するための番号で、例えば、シリアル番号や製造番号が該当する。装置アドレス512は、ストレージサブシステム内で記憶装置を一意に識別するためのアドレス(例えば、Logical Unit Number(LUN))が該当する。
ペア状態506は、コピーグループの状態を表し、例えば、結合状態と、非結合状態と、サスペンド状態と、遷移中状態とがある。
図6は、ジャーナル管理情報422に含まれている情報の一例を示す図である。
ジャーナル管理情報422には、複数のエントリが含まれ、各エントリが、識別番号601と、コピーグループ識別番号602と、装置アドレス603と、状態604とを含んでいる。
識別番号601は、エントリを識別する情報である。コピーグループ識別番号602には、グループ識別番号501が設定され、それにより、ジャーナル管理情報422とコピーグループ情報421とが関連付けられる。装置アドレス603は、ジャーナル記憶装置14又は15のアドレスを示す情報である。状態604は、記憶装置11又は12に対して、ジャーナルのリストアが行なわれているか中断しているかを示す情報である。
図7は、ジャーナル320に含まれている情報の一例を示す図である。
ジャーナル320には、ジャーナル識別番号701と、フラグ702と、時刻703と、データ704とが記録されている。
ジャーナル識別番号701は、ジャーナル320を一意に識別する情報である。フラグ702は、ジャーナル320に含まれているデータ704が、記憶装置に書かれたデータなのか(以下、"データ更新")、リストア制御コマンドなのか(以下、"リストア制御")を判別するための情報である。時刻703は、I/O要求が発行された時刻(例えば計算機1或いは第一のストレージサブシステム5から発行された時刻)を示す。データ704は、フラグ702が示す情報によって情報が異なる。フラグ702が"データ更新"である場合、データ704には、装置アドレス711(例えば、S−記憶装置12Sの識別番号)と更新データ712(例えばSP−記憶装置11SPに書かれたデータ)が含まれる。フラグ702が"リストア制御"である場合、データ704には、制御コード721が含まれる。この制御コード721には、例えば、"中断"を意味するコードと、"再開"を意味するコードとがある。
以下、本実施形態の具体例において行われる種々の処理の流れの一例を説明する。
図8は、計算機1からリシンク操作を受けた場合に第一のストレージサブシステム5が行う処理のフローチャートの一例である。
第一のストレージサブシステム5(特に記憶制御装置301)は、コピーグループ情報421から、リシンク操作の対象となっているコピーグループのエントリを検索し、そのエントリにおいて、ペア状態506が、サスペンド状態であるか否かの判定を行う(ステップ801)。ステップ801で、肯定的な判定結果が得られた場合は(ステップ801でYES)、第一のストレージサブシステム5は、上記検索されたエントリのモード502を参照し、リシンク操作の対象となっているコピーグループが、ジャーナルを使用したコピー方法を採っているのか否かの判定を行う(ステップ802)。
ステップ802で、否定的な判定結果が得られた場合には(ステップ802でNO)、第一のストレージサブシステム5は、リシンク操作の対象となっているコピーグループのセカンダリの記憶装置が、別のコピーグループではプライマリの記憶装置であり、且つ、その別のコピーグループではジャーナルを使用したコピー方法が採られているか否かの判定を行う(ステップ803)。この判定は、例えば、第二のストレージサブシステム6に存在するコピーグループ情報421を第二のストレージサブシステム6から参照させてもらうことで、行うことができる。
ステップ803で、肯定的な判定結果を得られた場合には(ステップ803でYES)、第一のストレージサブシステム5は、リストア中断コマンドを第二のストレージサブシステム6へ送信する(ステップ804)。次に、第一のストレージサブシステム5は、リシンク操作の対象となっているコピーグループの差分情報13を、第二のストレージサブシステム6に送信する(ステップ805)。そして、差分情報13の送信を終えた後に、第一のストレージサブシステム5は、リストア再開コマンドを第二のストレージサブシステム6に送信する(ステップ806)。
なお、ステップ801で、否定的な判定結果が得られた場合は(ステップ801でNO)、第一のストレージサブシステム5は、計算機1に、エラーを報告して終了することができる(ステップ807)。また、ステップ802で、肯定的な判定結果が得られた場合(ステップ802でYES)、及び、ステップ803で、否定的な判定結果が得られた場合(S803でNO)、第一のストレージサブシステム5は、差分情報13を第二のストレージシステム6に送信して終了することができる(ステップ808)。
図9は、第一のストレージサブシステム5から情報を受信した場合に第二のストレージサブシステム6が行う処理のフローチャートの一例を示す。
第二のストレージサブシステム6は、第一のストレージサブシステム5から受信した情報が、リストア制御コマンド16であるのか、そうでなければ書き込み要求であるのかの判定を行う(ステップ901、ステップ902)。
受信した情報がリストア制御コマンド16であるならば、第二のストレージサブシステム6は、ジャーナル320のフラグ702を"リストア制御"に設定し、制御コード721に、そのコマンド16で指定されているコード("再開"または"中断")を設定して、ジャーナル管理情報422の状態604を更新し、ジャーナル320をジャーナル記憶装置14に追記する(ステップ903)。
第一のストレージサブシステム5から受信した情報が書き込み要求ならば、第二のストレージサブシステム6は、SP−記憶装置11SPに、その書込み要求内のデータを書く(ステップ904)。また、第二のストレージサブシステム6は、SP−記憶装置11SPに書いたデータのジャーナル320を作成し、ジャーナル記憶装置14に追記する(ステップ905)。
なお、第二のストレージサブシステム6は、第一のストレージサブシステム5から受信した情報がリストア制御コマンド及び書き込み要求でなければ、エラーを第一のストレージサブシステム5に報告することができる(ステップ906)。
このように、リストア制御コマンド或いは書込み要求を受ける都度に、第一のジャーナル記憶装置14には、ジャーナル320が増えていく。書込み要求中には、差分データが含まれているものもある。すなわち、第一のストレージサブシステム5から複数の差分データ(差分情報13に含まれているデータ群)を受信した場合には、各差分データの受信順序に従う各差分ジャーナルが生成されて、第一のジャーナル記憶装置14に記憶される。第一のジャーナル記憶装置14内の各ジャーナルは、第三のストレージサブシステム7に転送されて、第二のジャーナル記憶装置15に記憶される。第三のストレージサブシステム7は、第二のジャーナル記憶装置15からジャーナルを取得し、そのジャーナル内のデータをS−記憶装置12Sにリストアすることができる。
図10は、第三のストレージサブシステム7が行うリストアのフローチャートの一例を示す。
第三のストレージサブシステム7は、第二のジャーナル記憶装置15に存在するジャーナル群のうち、時刻の最も若いジャーナル320を参照する(ステップ1001)。
第三のストレージサブシステム7は、ジャーナル320におけるフラグ702とデータ704を参照して、参照したジャーナル320がリストア中断コマンドに関するものであると判別された場合(ステップ1002でNO、ステップ1003でYES)、そのジャーナル320の位置(例えば論理ブロックアドレス)を記憶して、リストアの実施を中断する(ステップ1007)。リストアの実施を中断する場合、第三のストレージサブシステム7は、S−記憶装置12Sに計算機2からアクセスすることの排他制御を開始する。
次に、第三のストレージサブシステム7は、次に時刻が若いジャーナル320を参照する(ステップ1006)。第三のストレージサブシステム7は、そのジャーナル320が書込み要求に関するものであると判別された場合(ステップ1002でNO、ステップ1003でNO、ステップ1008でYES)、リストア実施の中断中であれば(ステップ1009でNO)、さらに次に時刻が若いジャーナル320を参照する(ステップ1006)。なお、第三のストレージサブシステム7は、リストア実施の中断中でなければ、ジャーナル320内のデータをS−記憶装置12Sに書く。
第三のストレージサブシステム7は、参照したジャーナル320がリストア再開コマンドに関するものであると判別された場合(ステップ1002でYES)、そのジャーナル320とステップ1007で記憶した位置との間に存在するジャーナル群、つまり差分ジャーナル群内の差分データ群を、連続的に、S−記憶装置12Sにリストアする(ステップ1003でYES、ステップ1004)。差分データ群をリストアすることが終わった場合、リストア実施の中断を解除することができる。また、排他制御を止めることができる。なお、ステップ1007で記憶した位置が見つからない場合には、エラーが報告されても良い。
第三のストレージサブシステム7は、未参照のジャーナルが存在すれば(ステップ1005でNO)、ステップ1006を行い、未参照のジャーナルが存在しなければ、終了することができる。
上述した実施形態によれば、第一のストレージサブシステム5が、差分データ群の送信の前後にリストア中断コマンド及びリストア再開コマンドを送信し、それらのコマンドに基づいて、リストアが制御される。これにより、人間による面倒な操作を必要とすることなく、P−記憶装置10Pでのデータの更新順序通りにS−記憶装置12Sのデータが更新されている可能性を高めることができる。
また、上述した実施形態では、複数のジャーナル内のデータは、連続的にリストアされなくても良いが、複数の差分ジャーナルにそれぞれ対応した複数の差分データは、連続的にリストアされる。これにより、S−記憶装置12Sで順序性が保証されていない時間長を短く抑えることが期待できる。
また、上述した実施形態では、複数の差分データがリストアされている間、S−記憶装置12Sにアクセスされないよう排他制御が行われる。S−記憶装置12Sで順序性が保証されていない間にS−記憶装置12Sにアクセスされてしまうことを防ぐことができる。
以上、本発明の一実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
図1は、本発明の一実施形態に係るストレージシステムの概要を示す図である。 図2は、本発明の一実施形態に係る計算機1の構成例を示す。 図3は、第一のストレージサブシステム5及び第二のストレージサブシステム6のそれぞれの構成例を示す図である。 図4は、第一のストレージサブシステム5に備えられている制御メモリ318に記憶されている情報の一例を示す図である。 図5は、コピーグループ情報421に含まれている情報の一例を示す図である。 図6は、ジャーナル管理情報422に含まれている情報の一例を示す図である。 図7は、ジャーナル320に含まれている情報の一例を示す図である。 図8は、計算機1からリシンク操作を受けた場合に第一のストレージサブシステム5が行う処理のフローチャートの一例である。 図9は、第一のストレージサブシステム5から情報を受信した場合に第二のストレージサブシステム6が行う処理のフローチャートの一例を示す。 図10は、第三のストレージサブシステム7が行うリストアのフローチャートの一例を示す。
符号の説明
1,2…計算機、3,4…パス、5,6,7…ストレージサブシステム、8,9…パス、10,11,12…記憶装置、10P…P−記憶装置、11SP…SP記憶装置、12S…S−記憶装置、13…差分情報、14,15…ジャーナル記憶装置、16…リストア制御コマンド、201…内部パス、202…CPU、203…タイマ、204…メモリ、205…外部記憶装置、206…I/Oアダプタ、211…コピー操作プログラム、212…OS、213…アプリケーション、301…記憶制御装置、311,311A,311B…内部パス、312…ホストアダプタ、313,314…リモートI/Oアダプタ、315…CPU、316…タイマ、317…キャッシュメモリ、318…制御メモリ、319…記憶装置アダプタ、320…ジャーナル、401…制御プログラム、402…管理情報、411…入出力制御プログラム、412…コピーグループ制御プログラム、421…コピーグループ情報、422…ジャーナル管理情報、501…グループ識別番号、502…モード、503…プライマリの記憶装置の識別番号、504…セカンダリの記憶装置の識別番号、505…ジャーナル識別番号、506…ペア状態、511…記憶装置識別番号、512…装置アドレス、601…識別番号、602…コピーグループ識別番号、603…装置アドレス、604…状態、701…ジャーナル識別番号、702…フラグ、703…時刻、704…データ、711…装置アドレス、712…更新データ、721…制御コード

Claims (2)

  1. 第一の計算機が通信可能に接続され第一の計算機からアクセスされる第一の記憶装置を有する第一のストレージサブシステム、前記第一のストレージサブシステムに通信可能に接続され第二の記憶装置と第一のジャーナル記憶装置とを有する第二のストレージサブシステム、及び前記第二のストレージサブシステムに通信可能に接続され第二のジャーナル記憶装置と第二の計算機からアクセスされる第三の記憶装置とを有する第三のストレージサブシステムを備えるストレージシステムで行われる記憶制御方法であり、
    前記第一の記憶装置と前記第二の記憶装置を含んだ第一のコピーグループと、前記第二の記憶装置と前記第三の記憶装置を含んだ第二のコピーグループが、それぞれ形成されており、
    前記第一のコピーグループでは、同期型リモートコピーが行われ、前記同期型リモートコピーでは、前記第一のストレージサブシステムが、前記第一の記憶装置へのデータの書込み要求を前記第一の計算機から受信した場合、その書込み要求中のデータを、前記第一の記憶装置に書くと共に、そのデータを前記第二の記憶装置に書くことのリモートコピー要求を前記第二のストレージサブシステムに送信し、その後、前記第二のストレージサブシステムから、所定の応答を受けたとき、書込み完了報告を、前記第一の計算機に返し、
    前記第二のコピーグループでは、非同期型リモートコピーが行われ、前記非同期型リモートコピーでは、前記第二のストレージサブシステムが、前記第二の記憶装置に対するリモートコピー要求を受けた場合、その要求中のデータを、前記第二の記憶装置に書くと共に、そのデータとそのデータが前記第二の記憶装置に書かれた順序とを含んだジャーナルを生成し、そのジャーナルを、第一のジャーナル記憶装置に書き込み、前記第二の記憶装置にデータを書込むタイミングと非同期で、前記第一のジャーナル記憶装置内のジャーナルを、前記第三のストレージサブシステム送信し、前記第三のストレージサブシステム7は、前記第二のストレージサブシステムからジャーナルを受信した場合、受信したジャーナルを、前記第二のジャーナル記憶装置に書込み、前記ジャーナル記憶装置内の複数のジャーナルのうちの更新順序が最も若いジャーナルから順に、ジャーナル内のデータを、そのジャーナルから特定される前記第三の記憶装置における場所にリストアし、
    前記第一のストレージサブシステムが、前記第一のコピーグループについて、前記第二の記憶装置内のデータ群を前記第一の記憶装置内のデータ群と同じにしたくても前記第一の記憶装置に書かれるデータが前記第二のストレージサブシステムへ転送されないが故にそれができないような状況である同期コピー不能状況が生じた場合、その後、前記第一の計算機からのライト要求に従い前記第一の記憶装置に新たにデータが書き込まれることにより、前記第一の記憶装置と前記第二の記憶装置とに差分が生じたならば、前記第一の記憶装置の複数の記憶領域にそれぞれ対応した複数のビットを含んだ差分ビットマップにおける、前記第一の記憶装置内の新たにデータが書かれた場所に対応するビットを、更新することで、前記第一の記憶装置内のどこに前記第一の記憶装置と前記第二の記憶装置との差分のデータがあるかを管理し、
    複数の差分データが前記第一のストレージサブシステムに存在する状態で前記同期コピー不能状況が解除になった場合、前記第一のストレージサブシステムは、リストアの中断を意味するコマンドであるリストア中断コマンドを前記第二のストレージサブシステムに送信し、その後に、前記複数の差分データを前記第二のストレージサブシステムに送信し、その後、リストアの再開を意味するコマンドであるリストア再開コマンドを前記第二のストレージサブシステムに送信し、前記第二のストレージサブシステムが、前記リストア中断コマンドを受けてから、前記複数の差分データを受け、前記複数の差分データを前記第二の記憶装置に書き込み、前記複数の差分データをそれぞれ含んだ複数のジャーナルである複数の差分ジャーナルを前記第一のジャーナル記憶装置に書き込み、前記リストア再開コマンドを受け、前記リストア中断コマンド、前記複数の差分ジャーナル及び前記リストア再開コマンドの順に、それらを前記第三のストレージシステムに送信し、前記第三のストレージサブシステムが、前記リストア中断コマンド、前記複数の差分ジャーナル及び前記リストア再開コマンドを受けてそれらを前記第二のジャーナル記憶装置に書き、前記第二のジャーナル記憶装置から前記リストア中断コマンドを参照した場合、前記リストア再開コマンドを探し、前記リストア再開コマンドを見つけた場合、前記リストア中断コマンドと前記リストア再開コマンドとの間に存在する前記複数の差分ジャーナルに従う前記複数の差分データを前記第三の記憶装置にリストアすることを、実質的に時間を隔てることなく連続的に実行し、少なくとも前記複数の差分データを前記第三の記憶装置にリストアしている間は、前記第二の計算機から前記第三の記憶装置にアクセスされないよう排他制御を実行し、前記複数の差分データを前記第三の記憶装置にリストアした後、前記排他制御を止めることで前記第二の計算機から前記第三の記憶装置へのアクセスが可能となる、
    記憶制御方法。
  2. 第一の計算機が通信可能に接続され前記第一の計算機からアクセスされる第一の記憶装置を有する第一のストレージサブシステムと、
    前記第一のストレージサブシステムに通信可能に接続され前記第二の記憶装置と第一のジャーナル記憶装置とを有する第二のストレージサブシステムと、
    前記第二のストレージサブシステムに通信可能に接続され第二のジャーナル記憶装置と第二の計算機からアクセスされる第三の記憶装置とを有する第三のストレージサブシステムと
    を備え、
    前記第一の記憶装置と前記第二の記憶装置を含んだ第一のコピーグループと、前記第二の記憶装置と前記第三の記憶装置を含んだ第二のコピーグループが、それぞれ形成されており、
    前記第一のコピーグループでは、同期型リモートコピーが行われ、前記同期型リモートコピーでは、前記第一のストレージサブシステムが、前記第一の記憶装置へのデータの書込み要求を前記第一の計算機から受信した場合、その書込み要求中のデータを、前記第一の記憶装置に書くと共に、そのデータを前記第二の記憶装置に書くことのリモートコピー要求を前記第二のストレージサブシステムに送信し、その後、前記第二のストレージサブシステムから、所定の応答を受けたとき、書込み完了報告を、前記第一の計算機に返し、
    前記第二のコピーグループでは、非同期型リモートコピーが行われ、前記非同期型リモートコピーでは、前記第二のストレージサブシステムが、前記第二の記憶装置に対するリモートコピー要求を受けた場合、その要求中のデータを、前記第二の記憶装置に書くと共に、そのデータとそのデータが前記第二の記憶装置に書かれた順序とを含んだジャーナルを生成し、そのジャーナルを、第一のジャーナル記憶装置に書き込み、前記第二の記憶装置にデータを書込むタイミングと非同期で、前記第一のジャーナル記憶装置内のジャーナルを、前記第三のストレージサブシステム送信し、前記第三のストレージサブシステム7は、前記第二のストレージサブシステムからジャーナルを受信した場合、受信したジャーナルを、前記第二のジャーナル記憶装置に書込み、前記ジャーナル記憶装置内の複数のジャーナルのうちの更新順序が最も若いジャーナルから順に、ジャーナル内のデータを、そのジャーナルから特定される前記第三の記憶装置における場所にリストアし、
    前記第一のストレージサブシステムが、前記第一のコピーグループについて、前記第二の記憶装置内のデータ群を前記第一の記憶装置内のデータ群と同じにしたくても前記第一の記憶装置に書かれるデータが前記第二のストレージサブシステムへ転送されないが故にそれができないような状況である同期コピー不能状況が生じた場合、その後、前記第一の計算機からのライト要求に従い前記第一の記憶装置に新たにデータが書き込まれることにより、前記第一の記憶装置と前記第二の記憶装置とに差分が生じたならば、前記第一の記憶装置の複数の記憶領域にそれぞれ対応した複数のビットを含んだ差分ビットマップにおける、前記第一の記憶装置内の新たにデータが書かれた場所に対応するビットを、更新することで、前記第一の記憶装置内のどこに前記第一の記憶装置と前記第二の記憶装置との差分のデータがあるかを管理し、
    複数の差分データが前記第一のストレージサブシステムに存在する状態で前記同期コピー不能状況が解除になった場合、前記第一のストレージサブシステムは、リストアの中断を意味するコマンドであるリストア中断コマンドを前記第二のストレージサブシステムに送信し、その後に、前記複数の差分データを前記第二のストレージサブシステムに送信し、その後、リストアの再開を意味するコマンドであるリストア再開コマンドを前記第二のストレージサブシステムに送信し、前記第二のストレージサブシステムが、前記リストア中断コマンドを受けてから、前記複数の差分データを受け、前記複数の差分データを前記第二の記憶装置に書き込み、前記複数の差分データをそれぞれ含んだ複数のジャーナルである複数の差分ジャーナルを前記第一のジャーナル記憶装置に書き込み、前記リストア再開コマンドを受け、前記リストア中断コマンド、前記複数の差分ジャーナル及び前記リストア再開コマンドの順に、それらを前記第三のストレージシステムに送信し、前記第三のストレージサブシステムが、前記リストア中断コマンド、前記複数の差分ジャーナル及び前記リストア再開コマンドを受けてそれらを前記第二のジャーナル記憶装置に書き、前記第二のジャーナル記憶装置から前記リストア中断コマンドを参照した場合、前記リストア再開コマンドを探し、前記リストア再開コマンドを見つけた場合、前記リストア中断コマンドと前記リストア再開コマンドとの間に存在する前記複数の差分ジャーナルに従う前記複数の差分データを前記第三の記憶装置にリストアすることを、実質的に時間を隔てることなく連続的に実行し、少なくとも前記複数の差分データを前記第三の記憶装置にリストアしている間は、前記第二の計算機から前記第三の記憶装置にアクセスされないよう排他制御を実行し、前記複数の差分データを前記第三の記憶装置にリストアした後、前記排他制御を止めることで前記第二の計算機から前記第三の記憶装置へのアクセスが可能となる、
    ストレージシステム。
JP2005309286A 2005-10-25 2005-10-25 ストレージシステム及び記憶制御方法 Expired - Fee Related JP4756992B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005309286A JP4756992B2 (ja) 2005-10-25 2005-10-25 ストレージシステム及び記憶制御方法
US11/301,023 US20070094456A1 (en) 2005-10-25 2005-12-13 Storage system and storage control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005309286A JP4756992B2 (ja) 2005-10-25 2005-10-25 ストレージシステム及び記憶制御方法

Publications (2)

Publication Number Publication Date
JP2007122117A JP2007122117A (ja) 2007-05-17
JP4756992B2 true JP4756992B2 (ja) 2011-08-24

Family

ID=37986619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005309286A Expired - Fee Related JP4756992B2 (ja) 2005-10-25 2005-10-25 ストレージシステム及び記憶制御方法

Country Status (2)

Country Link
US (1) US20070094456A1 (ja)
JP (1) JP4756992B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4884885B2 (ja) * 2006-08-25 2012-02-29 株式会社日立製作所 記憶制御装置及び記憶制御装置の障害回復方法
US8019723B2 (en) * 2006-12-20 2011-09-13 International Business Machines Corporation Deferred copy target pull of volume data
US7925626B2 (en) * 2006-12-20 2011-04-12 International Business Machines Corporation Immediate copy target pull of volume data
US20110196825A1 (en) * 2009-09-29 2011-08-11 Hitachi, Ltd. Storage system and data duplication method in the same
US9058243B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Releasing blocks of storage class memory
US9323668B2 (en) 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9021179B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Store storage class memory information command
US9058275B2 (en) * 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US9116789B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Chaining move specification blocks
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
US9116788B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Using extended asynchronous data mover indirect data address words
JP5808854B2 (ja) * 2011-10-05 2015-11-10 株式会社日立製作所 ストレージシステム及びストレージ方法
US20140164323A1 (en) * 2012-12-10 2014-06-12 Transparent Io, Inc. Synchronous/Asynchronous Storage System
JP6287308B2 (ja) * 2014-02-18 2018-03-07 日本電気株式会社 レプリケーション制御システム、レプリケーション制御方法、及び、レプリケーション制御プログラム
CN108388524A (zh) * 2016-12-21 2018-08-10 伊姆西Ip控股有限责任公司 用于缓存数据的方法和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2004272884A (ja) * 2003-03-11 2004-09-30 Hitachi Ltd 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
JP2005055948A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd リモートコピーシステム
JP2005165619A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd データ転送装置の制御方法、データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法、及びチャネルアダプタ。

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5720029A (en) * 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
JPH1185594A (ja) * 1997-09-01 1999-03-30 Hitachi Ltd リモートコピー用情報処理システム
US7171538B2 (en) * 2003-10-22 2007-01-30 International Business Machines Corporation Incremental data storage method, apparatus, interface, and system
US7149858B1 (en) * 2003-10-31 2006-12-12 Veritas Operating Corporation Synchronous replication for system and data security
JP4783076B2 (ja) * 2005-07-08 2011-09-28 株式会社日立製作所 ディスクアレイ装置及びその制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
JP2004013367A (ja) * 2002-06-05 2004-01-15 Hitachi Ltd データ記憶サブシステム
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
JP2004272884A (ja) * 2003-03-11 2004-09-30 Hitachi Ltd 複数リモートストレージでのリモートコピー停止後のデータ同期化方式
JP2005055948A (ja) * 2003-08-04 2005-03-03 Hitachi Ltd リモートコピーシステム
JP2005165619A (ja) * 2003-12-02 2005-06-23 Hitachi Ltd データ転送装置の制御方法、データ転送装置、記憶デバイス制御装置、記憶デバイス制御装置の制御方法、及びチャネルアダプタ。

Also Published As

Publication number Publication date
JP2007122117A (ja) 2007-05-17
US20070094456A1 (en) 2007-04-26

Similar Documents

Publication Publication Date Title
JP4756992B2 (ja) ストレージシステム及び記憶制御方法
JP4727437B2 (ja) データベースを有するストレージシステムの記憶制御方法
US6950915B2 (en) Data storage subsystem
EP1313017B1 (en) Reversing a communication path between storage devices
JP4728031B2 (ja) リモートコピーペアの移行を行うシステム
JP4800056B2 (ja) ストレージシステム及びその制御方法
JP4920291B2 (ja) 計算機システム、アクセス制御方法及び管理計算機
JP5111754B2 (ja) 記憶制御システム
US8024537B2 (en) Storage system, remote copy and management method therefor
JP4382602B2 (ja) リモートコピーシステム
US20070050573A1 (en) Storage system for copying data and storing in a plurality of storage devices
JP5159356B2 (ja) リモートコピーシステム及び計算機システム
JP5286212B2 (ja) ストレージクラスタ環境でのリモートコピー制御方法及びシステム
US8555012B2 (en) Data storage apparatus
JP4508798B2 (ja) ストレージリモートコピー方式
US20110251993A1 (en) Asynchronous remote copy system and storage control method
US20170017433A1 (en) Storage system, storage device, and data transfer method
JP4629413B2 (ja) 優先順位を割り当てるための方法、システム、およびプログラム
EP1855187A2 (en) Computer system for managing number of writes for storage medium and control method therefor
JP2007310448A (ja) 計算機システム、管理計算機、および、ストレージシステム管理方法
US7694090B2 (en) Storage system with journal reflecting area control function
JP4531643B2 (ja) 記憶制御方法、システム及びプログラム
US10656867B2 (en) Computer system, data management method, and data management program
WO2016084156A1 (ja) ストレージシステム
JP7050707B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法、及び、ストレージ制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110418

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees