JP2007128412A - ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法 - Google Patents

ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法 Download PDF

Info

Publication number
JP2007128412A
JP2007128412A JP2005322184A JP2005322184A JP2007128412A JP 2007128412 A JP2007128412 A JP 2007128412A JP 2005322184 A JP2005322184 A JP 2005322184A JP 2005322184 A JP2005322184 A JP 2005322184A JP 2007128412 A JP2007128412 A JP 2007128412A
Authority
JP
Japan
Prior art keywords
data
area
marker
stored
processing unit
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.)
Granted
Application number
JP2005322184A
Other languages
English (en)
Other versions
JP4828917B2 (ja
Inventor
Masaaki Hosouchi
昌明 細内
Kenichi Oyamada
健一 小山田
Yuri Hiraiwa
友理 平岩
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 JP2005322184A priority Critical patent/JP4828917B2/ja
Priority to US11/335,150 priority patent/US7694090B2/en
Publication of JP2007128412A publication Critical patent/JP2007128412A/ja
Application granted granted Critical
Publication of JP4828917B2 publication Critical patent/JP4828917B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Abstract

【課題】本発明は計算機システムにおけるデータのバックアップ及びデータのリカバリに関する。
【解決手段】出力処理部は、ホスト計算機からのデータの更新要求に基づいて、第1の領域に格納されたデータを更新し、生成処理部は、更新要求に係る更新データを第2の領域に格納し、マーカ処理部は、ホスト計算機からのマーカの生成要求に基づいて、データが格納されている範囲の情報及び当該データを第3の領域に格納することの許否の情報を含むマーカを生成して、生成されたマーカを第2の領域に格納し、反映処理部は、マーカを参照して、当該マーカよりも前に格納された、データ格納範囲に対応する更新データを取得して、取得した更新データを第3の領域に反映する。
【選択図】図1

Description

本発明は計算機システムにおけるデータのバックアップ及びデータのリカバリに関する。
ストレージシステムに格納するデータに関し、災害や障害によってデータが消失するリスクを低減するために、ストレージシステムに格納されたデータの複製作成し、これを格納する方法が知られている。この複製を作成する技術の一つに、ジャーナルを用いたバックアップ・リストア及びリモートコピー技術がある。
例えば、ジャーナルを使ったバックアップ・リストア技術には次のようなものが知られている。すなわち、ストレージシステムは、複数のジャーナルエントリと一つ以上のデータボリュームの少なくとも一つのスナップショットのジャーナルを維持する。ジャーナルとスナップショットの各々に発生順に固有な順序番号を割り当てることにより、スナップショットに適用すべきジャーナルを見つけることが容易になる。ジャーナルスペースが枯渇するオーバーフロー条件を検出し、ジャーナルスペースを回復する(特許文献1、参照。)。
また、ジャーナルを使ったリモートコピー技術には、次のようなものが知られている。すなわち、上位装置に接続された正記憶システムに、2台以上の副記憶システムが接続される。副記憶システムは、それぞれ、独自のタイミングで正記憶システムからデータ更新のジャーナルを読み所定の論理ボリュームに保存し、そして、独自のタイミングで論理ボリューム内のジャーナルに基づき、正記憶システム内のデータの複製を生成して、副論理ボリュームに保存する。正記憶システムは、副記憶システムの双方がジャーナルを読んでリストアするまで、そのジャーナルを保持する。ジャーナルリードのタイミングはジャーナル量、処理負担などに応じて制御される(特許文献2、参照。)。
特開2005−18738号公報 特開2005−174196号公報
前述の特許文献1に記載の技術では、ジャーナルデータからスナップショットを回復するときに、ジャーナル内に存在する指定された時点以前のデータすべてを副ボリュームに書き込む。しかし、ジャーナル内に複数のプログラムのデータが混在する場合は、あるプログラムにおいてチェックポイントであっても、他のプログラムからはその時点でファイルを更新中のため、整合性がとれてない状態となる可能性が生じる問題がある。プログラムはそれぞれ個別に稼働するので、複数のプログラムのチェックポイントを一致させることは困難である。プログラム毎に使用するファイルを格納するボリュームとジャーナルを分離すればこの問題を回避できるが、ボリュームやジャーナルの利用効率が低下してしまう。
本発明の目的は、複数のプログラムでボリュームやジャーナルを共有しつつ、各プログラムが使用するデータに関して、それぞれのプログラムのチェックポイント時点におけるデータを副ボリュームに保持することができる手段を提供することである。
本発明による実施形態の一例は、ディスク装置は、ホスト計算機によってアクセスされるデータを格納する第1の領域と、第1の領域に格納されたデータの更新データを格納する第2の領域と、第1の領域に格納されたデータの複製を格納する第3の領域とを備え、制御装置は、ディスク装置にデータを出力する出力処理部と、更新データからエントリを生成する生成処理部と、更新データを第3の領域に反映する反映処理部と、更新データを第3の領域に格納することの許否の情報を含むマーカを生成して第2の領域に格納するマーカ処理部、を備え、出力処理部は、ホスト計算機からのデータの更新要求に基づいて、第1の領域に格納されたデータを更新し、生成処理部は、更新要求に係る更新データを第2の領域に格納し、マーカ処理部は、ホスト計算機からのマーカの生成要求に基づいて、データが格納されている範囲の情報及び当該データを第3の領域に格納することの許否の情報を含むマーカを生成して、生成されたマーカを第2の領域に格納し、反映処理部は、マーカを参照して、当該マーカよりも前に格納された、データ格納範囲に対応する更新データを取得して、取得した更新データを第3の領域に反映することを特徴とする。
本発明によれば、ジャーナルデータに、複数のプログラムのデータが混在していても、各々のプログラムのチェックポイント時点のデータを副ボリュームに保持することができる。これによって、複数のプログラムでボリュームやジャーナルを共有しつつ、正ボリュームのデータの複製を、共有しているそれぞれのプログラムから整合性がとれた状態で保存することができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
本発明の実施の形態は、ホスト1とストレージシステム2とが通信路を介して接続されて構成された計算機システムにおいて、実行される処理として実現される。
以下に、本発明による実施の形態を説明する。
(第1実施形態)
図1は、本発明の第1の実施の形態の計算機システムの構成ブロック図である。
この計算機システムは、ホスト1と、ホスト1に接続されたストレージシステム2と、ホスト1とストレージシステム2とを接続するための通信路3とを含む。
ホスト1は、ストレージシステム2に要求を発行し、ストレージシステム2からその要求の結果を受け取る。具体的には、ホスト1は、ストレージシステム2のディスクドライブ25に格納されているデータの読み書き等を要求する。
ホスト1は、メモリ11、プロセッサ12及び入出力インターフェース(I/F)13を備える。これらメモリ11プロセッサ12及び入出力I/F13は、バス14によって互いに接続されている。
メモリ11は、プログラム及びプログラムが使用する情報を格納する。なお、メモリ11は、RAM等の揮発性の記憶装置でもよいし、ハードディスク等の不揮発性の記憶装置でもよいし両者を組み合わせた構成であってもよい。
プロセッサ12は、メモリ11に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。
入出力I/F13は、通信路3に接続され、通信路3を介してストレージシステム2とでデータを送受信する。入出力I/F13は、例えばホストチャネルアダプタによって構成される。
メモリ11は、オペレーティングシステム及びアプリケーションプログラム(OS/AP)100と、ジャーナル反映領域登録要求処理部1100、チェックポイント要求処理部1200、反映領域識別子管理テーブル110及びジョブ管理テーブル120等のプログラムを格納している。これらのプログラムがプロセッサ12に読み込まれて実行されることによって、それぞれの機能が実行される。
OS/AP100は、ストレージシステム2のファイルにアクセスを要求するアプリケーションプログラムと、当該アプリケーションプログラムからのアクセス要求に従って、ストレージシステム2にファイルの入出力を要求するオペレーションシステムとを含んでいる。
ジャーナル反映領域登録要求処理部1100は、ストレージシステム2に格納されているデータに関し、どのデータがどの領域に格納されているかの情報を管理する。
チェックポイント要求処理部1200は、ストレージシステム2に対してチェックポイントの生成を要求する。
反映領域識別子管理テーブル110は、ストレージシステム2に格納されているデータに関し、どのデータがどの領域に格納されているかという情報を格納するテーブルである。
ジョブ管理テーブル120は、ストレージシステム2に格納されているデータに関し、どのデータがどのアプリケーションプログラムによって使用されているかという情報を格納するテーブルである。
通信路3は、ホスト1とストレージシステム2とでデータを送受信可能に接続する通信経路である。通信路3は、例えば光ファイバケーブルやスイッチ等を備える。
ストレージシステム2は、ホスト1からの要求に従って、ディスクドライブ25に格納されているデータを読み書きする。
ストレージシステム2は、制御装置20とディスクドライブ25と、共有メモリ27とを備える。
制御装置20は、ホスト1から通信路3を介して送信された要求を受け取り、当該要求に従った処理を実行する。
制御装置20は、メモリ21と、プロセッサ22と、チャネルアダプタ23と、ディスクアダプタ24と、共有メモリ27とを備える。
メモリ21は、プログラム及びプログラムが使用する情報を格納する。なお、メモリ21は、RAM等の揮発性の記憶装置でもよいし、ハードディスク等の不揮発性の記憶装置でもよいし両者を組み合わせた構成であってもよい。
プロセッサ22は、メモリ21に格納されているプログラムを読み込んで、そのプログラムに規定された処理を実行する。
チャネルアダプタ23は、通信路3に接続され、通信路3を介してホスト1とでデータを送受信する。
ディスクアダプタ24は、プロセッサ22によって実行される処理の要求に従って、ディスクドライブ25とでデータを送受信する。
ディスクドライブ25は、物理的な記憶領域である一以上のハードディスクドライブからなる記憶装置である。
共有メモリ27は、ストレージシステム2の構成や制御に関する情報が格納されている。
なお、制御装置20やディスクドライブ25は、一つのストレージシステム2に複数備えられていてもよい。また、チャネルアダプタ23は、一つのストレージシステム20に複数備えられていてもよい。また、共有メモリ27は、複数のストレージシステム20間で共有するデータを格納してもよい。
次に、これら各部の詳細を説明する。
メモリ21は、反映領域登録処理部2100、入出力処理部2200と、ジャーナル生成処理部2300、マーカ記録処理部2400及びジャーナル反映処理部2500等のプログラムを格納している。これらのプログラムがプロセッサ22に読み込まれて実行されることによって、それぞれの機能が実行される。
反映領域登録処理部2100は、ディスクドライブ25の論理ボリューム26に格納されているデータに関し、どのデータがどの領域に格納されているかの情報を管理する。
入出力処理部2200は、他のプログラムからの要求又はホスト1からの要求に従って、ディスクアダプタ24を介して、ディスクドライブ25の論理ボリューム26に格納されているデータを入出力する。
ジャーナル生成処理部2300は、ジャーナルデータ200を生成する。
マーカ記録処理部2400は、チェックポイント及びマーカをジャーナルデータ200に記録する。
ジャーナル反映処理部2500は、後述する差分反映処理を実行する。
ディスクドライブ25は、物理的な記憶領域を論理的に分割した一以上の論理ボリュームを備える。本実施の形態では、主ボリューム26p、ジャーナルボリューム26j及び副ボリューム26sの三つの論理ボリューム26が構成されている。
なお、ディスクドライブ25一つに一つの論理ボリュームを設定してもよいし、ディスクドライブ25を論理的に分割した複数の領域それぞれを論理ボリュームに設定してもよい。また、ディスクドライブ25をRAID(Redundant Arrays of Inexpensive Disks)型ディスクアレイとして設定し、複数のディスクドライブ25に跨った領域を論理ボリューム26としてもよい。なお、ホスト1は、論理ボリューム26を、あたかも単一の物理的なボリュームとしてアクセスする。
論理ボリューム26は、ホスト1のアプリケーションプログラムがアクセスするファイル230を格納している。なお、一つの論理ボリューム26に複数のファイル230を格納できる。
ホスト1のアプリケーションプログラムがアクセスするファイル230を格納する論理ボリューム26を、正ボリューム26pと呼ぶ。
また、この正ボリューム26pに格納されているファイル230への更新の処理要求があった場合は、制御装置20は、そのファイル230の更新履歴であるジャーナルデータ200を、正ボリューム26pとは異なる論理ボリューム26に格納する。この論理ボリュームをジャーナルボリューム26jと呼ぶ。
また、制御装置20は、正ボリューム26pの内容の複製を、正ボリュームとは異なる論理ボリューム26にコピーして正ボリューム26sのバックアップを作成する。この論理ボリューム26を副ボリューム26sと呼ぶ。また、この正ボリューム26pと副ボリューム26sとの関係を、コピーペアと呼ぶ。
共有メモリ27は、反映領域管理テーブル220と、ペア管理テーブル240とを格納している。
反映領域管理テーブル220は、反映領域登録処理部2100によって管理される情報、すなわち、どのデータがどの領域に格納されているかの情報が格納される。
ペア管理テーブル240は、正ボリューム26pと副ボリューム26sとがコピーペアである場合に、その正ボリューム26p及び副ボリューム26sの情報が格納される。
次に、正ボリューム26s及び副ボリューム26pの複製の処理を説明する。
制御装置20は、正ボリューム26pに関し、ある時点での正ボリューム26pに格納されているデータすべての複製を副ボリューム26sにバックアップする。この時点で、正ボリューム26pと副ボリューム26sとの内容が等しくなる。
その後、ホスト1から正ボリューム26pのファイル230に対する更新要求があった場合は、制御装置20は、当該ファイル230に対する更新履歴をジャーナルボリューム26jに格納する。ジャーナルボリュームに格納される更新履歴データをジャーナルデータ200と呼ぶ。ジャーナルデータ200には、更新要求の度に更新履歴が蓄積される。
その後、制御装置20は、このジャーナルデータ200を利用して差分反映処理を実行する。差分反映処理は、ジャーナルデータ200に格納された更新履歴を、副ボリューム26sに反映させる。これによって、副ボリューム26sの内容が、差分反映処理時点での正ボリューム26sの内容と等しくなる。
図2は、ペア管理テーブル240の説明図である。
前述のように、正ボリューム26pと副ボリューム26sとでコピーペアが設定されている。ペア管理テーブル240は、このコピーペアの対応関係を格納する。このペア管理テーブル240は、共有メモリ27又はメインメモリ21に格納されている。
ペア管理テーブル240は、ストレージシステム2内において論理ボリュームを一意に識別できる識別子を含むエントリ241を含む。エントリ241は、ペア管理テーブル240は、コピーペアとなっている正ボリューム26pを含むストレージシステムの識別子と、正ボリューム26pとなっている論理ボリュームの識別子と、副ボリューム26sを含むストレージシステムの識別子と、副ボリューム26sとなっている論理ボリュームの識別子とを含む。
次に、本実施形態の動作について説明する。
前述のように構成されたストレージシステム2において、ジャーナルデータ200に格納されたデータを用いて、前回の差分反映処理以降に格納された差分履歴データを用いて副ボリューム26sに差分反映処理をする。この差分反映処理によって、差分反映処理時点での最新のデータが副ボリューム26sに格納に反映される。この副ボリューム26sに反映されたデータをスナップショットと呼ぶ。
一般的に、差分反映処理は、主ボリューム26pに対する出力処理とは非同期に行われる。従って、副ボリューム26sに反映されたスナップショットの内容は、データの出力処理が完了していないものや、業務アプリケーションによって作業途中であるものが含まれる。具体的には、ファイルの終わりを示すマークがないために余分なデータを読み込んでしまったり、ファイルの一部が消失されていたり、ファイル内に含まれている自己ファイル内の他の位置へのポインタが正しい位置を示していない等の問題が生ずる。
副ボリューム26sに反映されたスナップショットにあるファイル等のデータを正しく格納するためには、ファイルにアクセスしていたアプリケーションプログラムがファイルのアクセスを終了した状態にするファイルのクローズ処理や、ホスト1のバッファに残っている出力データをすべてストレージシステム2に出力して、アプリケーションが扱っていたファイルの内容と論理ボリューム26内のファイルの内容とを一致させるフラッシュ処理等がされたファイルとする必要がある。
しかし、ジャーナルデータの取得対象である正ボリューム26pに、複数のファイル230が格納されており、それぞれのファイル230を異なるアプリケーションソフトウェアがアクセスする場合がある、このような場合は、すべてのファイル230を同じタイミングでアクセスを終了して、同じチェックポイントを設定することができない場合が多い。
複数のファイル230を同じチェックポイントで扱うことができなければ、ファイルのアクセスを終了するタイミングがファイル230によって異なるので、チェックポイント以前のジャーナルデータをすべて副ボリューム26sに反映すると、未完了のファイルデータが存在することとなり、内容を正しく読むことができないファイル230が生じてしまう。
このため、本実施の形態は、以下のような処理を実行する。
図3は、本実施形態の計算機システムにおける処理の説明図である。
本実施形態の計算機システムでは、ホスト1から主ボリューム26pに対する出力要求があったときに、更新データをジャーナルデータ200として格納する。そして、このジャーナルデータ200に格納されたデータを、副ボリューム26sに反映させる。
この前段階の処理として、ホスト1は、主ボリューム26pに格納されているファイル230はどの領域に属しているかを取得して、これを反映領域識別子管理テーブル110に格納する。
この後、ホスト1は、ストレージシステム2の正ボリューム26pに対して出力処理を実行し、更新履歴データをジャーナルデータ201としてジャーナルボリューム26jに格納させる。このとき、ジャーナルデータ201には、設定された反映領域識別子が更新データと共に格納される。またさらに、所定のタイミングで、ジャーナルデータ201にチェックポイントを設定する。
この後、ジャーナルデータ201を用いて副ボリューム26sにスナップショットを作成するときは、ジャーナルデータ201に格納されたデータのうち、反映領域識別子222が設定されているデータのみを反映させる。
以下に、この処理を説明する。
まず、ジャーナル反映領域登録要求処理部1100は、ジャーナルデータ200の取得対象となっている正ボリューム26pに格納されているカタログ250から、ファイル230のアロケーション情報を取得する(処理S01)。そして、取得したアロケーション情報を、当該正ボリューム26pを備えるストレージシステム2の反映領域登録処理部2100に転送する(処理S02)。
なお、アロケーション情報とは、ファイル230が割り当てられている一又は複数の正ボリューム26pの論理ボリューム識別子と、ファイル230が割り当てられている正ボリューム26p内の一又は複数の領域のデータアドレスと、ファイル230のデータ長と、を含む情報である。
反映領域登録処理部2100は、ジャーナル反映領域登録要求処理部1100から転送されたアロケーション情報を受け取ると、転送されたアロケーション情報に対して反映領域識別子222とエントリを割り当てる。そして、アロケーション情報と割り当てられた反映領域識別子222とを、共有メモリ27の反映領域管理テーブル220に格納する(処理S03)。そして、割り当てられた反映領域識別子222を、ジャーナル反映領域登録要求処理部1100に送信する(処理S04)。
なお、反映領域識別子222とは、アロケーション情報をストレージシステム2内で一意に識別する識別子である。
ジャーナル反映領域登録処理部1100は、ファイル識別子112と反映領域登録処理部2100から送信された反映領域識別子222とを、メモリ11の反映領域識別子管理テーブル110に格納する(処理S05)。なお、ファイル識別子112とは、ファイル230をホスト1内で一意に識別するファイル名称などの識別子である。
次に、ホスト1のOS/AP100からの出力要求があった場合は(処理S06)、出力処理部2200は、更新データを主ボリューム26pに書き込む(処理S07)。このとき、ジャーナル生成処理部2300は、ジャーナルデータ200のエントリ201を生成して更新データを格納する(処理S08)。なお、出力要求がファイル230に対する出力要求である場合は、ジャーナルデータ201に、ファイル230に対応する反映領域識別子222を反映領域管理テーブル220から取得して、ジャーナルデータ200のエントリ201に格納する。
次に、チェックポイント要求に基づいて、チェックポイントをジャーナルデータ200に挿入する処理を実行する。
OS/AP100は、ストレージシステム2の主ボリューム26pに対してアクセスしている。ここで、OS/AP100は、ファイルをクローズするタイミング、又は、アプリケーションプログラムの実行単位であるジョブが終了するタイミングで、チェックポイント要求を発行する(処理S09)。このチェックポイント要求は、チェックポイント要求処理部1200が受け取る。
チェックポイント要求処理部1200は、クローズするファイル230又は終了するジョブのファイル230に対応する反映領域識別子222を反映領域識別子管理テーブル110から取得する(処理S10)。そして、取得した反映領域識別子222を、ストレージシステム2のマーカ記録処理部2400に転送する(処理S11)。
マーカ記録処理部2400は、転送された反映領域識別子222を受け取ると、チェックポイントを示すジャーナルデータ200のエントリ201を生成して、ジャーナルデータ200に格納する(処理S12)。このエントリ201は、反映領域識別子222を含み、チェックポイント識別フラグ208が「ON」に設定される。
このように、反映領域識別子222を含み、かつ、チェックポイント識別フラグ208が「ON」であるチェックポイントを、本実施の形態では「マーカ」と呼ぶ。このマーカは、マーカに含まれる反映領域識別子222で示されるすべてのデータ、すなわち、ホスト1によって処理される単位であるファイルが、クローズされていることを示す。従って、このマーカが記録された以前の更新データのうち、マーカに含まれる反映領域識別子222で示されるすべてのデータは、処理が完了したデータとして副ボリューム26sに反映させることができる。
図3の例では、ホスト1からのデータAに対する更新要求が、ジャーナルデータ200のエントリ(A1)及びエントリ(A2)として格納されている。また、ホスト1からのデータBに対する更新要求が、ジャーナルデータ200のエントリ(B1)及びエントリ(B2)として格納されている。また、ホスト1からのデータAに対するチェックポイント要求が、ジャーナルデータ200のチェックポイント(A)として格納されている。すなわち、このチェックポイント(A)が、データAのチェックポイントを示す識別子となる。
一方、データBに対するチェックポイント要求はまだなされていないため、データBのチェックポイント対応するジャーナルデータは格納されていない。
この結果、ストレージシステム2において、チェックポイント(A)以前に格納されたデータAのエントリ(エントリ(A1)及びエントリ(A2))は、ホスト1において完了しているデータであることがわかる。一方、データBについてはチェックポイントがまだ格納されていないので、ホスト1において完了しているデータではないことがわかる。
その後、ジャーナルデータ200から、反映領域識別子222を設定した領域のデータを副ボリューム26sに反映する処理を実行する。
ジャーナル反映処理部2500は、ジャーナルデータ200から、チェックポイント識別フラグ208がONであるエントリ201を検索する。チェックポイント識別フラグ208がONであるエントリ201があると、そのエントリ201に格納されている反映領域識別子222を取得する。そして、そのエントリ201より以前に格納されたエントリ201から、取得した反映領域識別子222と同じ反映領域識別子222を持つエントリ201を検索する。そして、検索されたエントリ201に含まれる更新データを、副ボリューム26sに反映する。
以上のように、本実施の形態の計算機システムは、正ボリューム26pの一部の領域に対して、領域を識別するための反映領域識別子222を設定する。そして、当該領域に含まれるデータに対するチェックポイントを設定するときに、反映領域識別子222を付加したジャーナルエントリをマーカとして追加する。その後、ジャーナルデータを副ボリュームに反映するときに、マーカエントリに付加された識別子222が示す領域のみをスナップショットデータとして反映する。このようにすることによって、ホスト1側で完了したファイルのみを副ボリューム2sに反映させることができる。
図4は、ジャーナルデータ200の一例の説明図である。
ジャーナルデータ200は、エントリ201が順次格納されている。
ストレージシステム2において、正ボリューム26pに対する出力要求、すなわち、データの書き込み要求や更新要求があったとき、制御部20は、この要求を処理する毎に、ジャーナルデータ200に新たなエントリ201を追加して格納する。
ジャーナルデータ200は、更新データ202、論理ボリューム識別子203、データアドレス204、データ長205、順序番号206、反映領域識別子207及びチェックポイント識別子208を含むエントリ201を含む。
更新データ202は、出力要求によって正ボリューム26pに書き込まれる更新履歴データの内容である。
論理ボリューム識別子は、更新データが書き込まれる正ボリューム26pの論理ボリュームをストレージシステム2内で一意に識別する識別子である。
データアドレス204は、正ボリューム26pにおける更新データが格納されている位置であるブロックアドレスである。
データ長205は、更新データのデータ長である。
順序番号206は、ジャーナルデータの格納された順序を保証するための通し番号である。なお、この順序番号206は、共有メモリ27又はメモリ21に格納され、ジャーナルデータ200毎に管理されている。
反映領域識別子207は、更新データが属するファイル等の領域を識別するための識別子である。
チェックポイント識別フラグ20は当該エントリがチェックポイントであるかを示す識別子である。具体的には、チェックポイント識別フラグ208が「ON」に設定されている場合は、そのエントリはチェックポイントであることを示す。また、チェックポイント識別フラグ208が「OFF」に設定されている場合は、そのエントリはチェックポイントではないエントリ、例えば、更新データであることを示す。
なお、図4の例では、エントリ201A乃至201Eが格納されている。例えば、エントリ201Aは、論理ボリューム識別子203に「1111」が、データアドレス204に「A1」が、データ長205に「4096」が、順序番号206に「1」が、反映識別子207に「IDA」が、チェックポイント識別フラグ208に「OFF」が、それぞれ格納されている。
図5は、反映領域識別子管理テーブル110の一例の説明図である。
反映領域識別子管理テーブル110は、ホスト1のジャーナル反映領域登録要求処理部1100によって管理される。
反映領域識別子管理テーブル110は、ファイル識別子112と反映領域識別子113とを含むエントリ111を含む。
ファイル識別子112は、ファイル230をホスト1内で一意に識別するファイル名称などの識別子である。
反映領域識別子113は、ファイル識別子が示すファイルのアロケーション情報である。この反映領域識別子113は、反映領域登録処理部2100によって、決定された反映領域識別子222が格納される。
図の例では、二つのエントリ111A及び111Bが示されている。エントリ111Aは、ファイル識別子112が「ファイルA」のファイルに対して、反映領域識別子113に「IDA」が設定されている。
図6は、反映領域管理テーブル220の一例の説明図である。
反映領域管理テーブル220は、ストレージシステム2の反映領域登録処理部2100によって管理される。
反映領域管理テーブル220は、反映領域識別子222と、論理ボリューム識別子223と、先頭アドレス224と、データ長225とを含むエントリ221を含む。
反映領域識別子222は、正ボリューム26pである論理ボリュームに格納されている一つ又は複数のデータに対応する識別子である。
論理ボリューム識別子223と、先頭アドレス224と、データ長225とは、反映領域識別子222によって示されるデータのアロケーション情報である。論理ボリューム識別子223は、当該領域が属する論理ボリュームの識別子である。先頭アドレス224は、当該領域の当該論理ボリュームにおける先頭のアドレスである。データ長225は、当該領域に含まれるデータの長さである。
なお、アロケーション情報が、複数の論理ボリューム又は複数の領域から構成されている場合は、一つのエントリ221に、当該反映領域識別子に対応するアロケーション情報(論理ボリューム識別子223、先頭アドレス224及びデータ長225)が複数含まれる。
図6の例では、二つのエントリ221A及び221Bが示されている。エントリ221Aは、反映領域識別子222の「IDA」に対して、二つのアロケーション情報が格納されている。一方のアロケーション情報は、論理ボリューム識別子223が「A1」、先頭アドレス224が「1111」、データ長225が「4096」が設定されている。もう一方は、論理ボリューム識別子223が「A2」、先頭アドレス224が「1111」、データ長225が「4096」が設定されている。
図7は、カタログ250の説明図である。
カタログ250は、正ボリューム26pに格納され、ストレージシステム2に格納されているファイル230が、ストレージシステム内のどの論理ボリュームであるかを示すテーブルである。
カタログ250は、ホスト1から参照されるファイル230を識別するファイル名称等のファイル識別子251と、ファイル230が格納されている論理ボリュームの識別子251とを含無エントリ253を含む。
なお。ファイル識別子251は、ホスト1から識別される論理ボリューム識別子であり、ストレージシステム2において管理されている論理ボリューム識別子と異なる場合がある。その場合には、ホスト1は、ファイル識別子251を指定してストレージシステム2にアクセスする。ストレージシステム2は、この識別子に対応する論理ボリューム識別子を取得する。
図8は、ジョブ管理テーブル120の説明図である。
ジョブ管理テーブル120は、ホスト1のOS/AP100において稼働するアプリケーションプログラムのジョブが使用するファイルを示すテーブルである。
ジョブ管理テーブル1200は、ホスト1内のジョブを一意に識別するジョブ識別子121と、ファイル230をホスト1内で一意に識別するファイル識別子122とを含むエントリ123を含む。
図9は、ジャーナル反映領域登録要求処理部1100の処理フローチャートを示す。
この処理は、OS/AP100がストレージシステム2の正ボリューム26pのファイル230にアクセスする前段階の処理として実行される。
具体的には、OS/AP100が、ファイル230をオープンする直前、すなわち、アプリケーションプログラムからファイル230をアクセス可能な状態にする直前に実行する。なお、アプリケーションプログラムがファイル230に対応するジョブを開始する時点で実行してもよい(ステップS1100)。
まず、ジャーナル反映領域登録要求処理部1100は、ストレージシステム2の主ボリューム26pに格納されているカタログ250を参照する。そして、ファイル230が格納されている正ボリューム26pの論理ボリューム識別子を求める(ステップS1101)。
次に、ジャーナル反映領域登録要求部1100は、求めた正ボリューム26pに格納されているファイル230のアロケーション情報を参照する。そして、ファイル230が格納されている領域の、正ボリューム26pのアドレスとデータ長を求める(ステップ1102)。
次に、ジャーナル反映領域登録要求処理部1100は、反映領域登録要求の識別コードを付加したデータ(反映領域登録要求)を反映領域登録処理部2100に転送する。この反映領域登録要求には、求めた正ボリューム26pの論理ボリューム識別子とアドレスの先頭アドレスとデータ長とを組としたアロケーション情報が含まれる(ステップS1103)。そして、反映領域登録処理部2100から、反映領域識別子222が返却されるのを待つ(ステップ1104)。
反映登録要求処理部2100は、転送されたアロケーション情報に対応する領域に対する一意の識別子である反映領域識別子222を生成する。そして、生成した反映領域識別子を転送元のジャーナル反映領域登録要求処理部1100に返却する。
ジャーナル反映領域登録要求処理部1100は、反映領域登録処理部2100から、反映領域識別子222が返却されると、反映領域識別子管理テーブル110に新たなエントリ111を生成する。そして、生成したエントリに、ファイル230のファイル識別子112と、返却された反映領域識別子222とを格納する。(ステップ1105)。
以上のような処理によって、ホスト1の扱うファイル230のストレージシステム2の主ボリューム26pでの領域に対応する反映領域識別子222が生成される。
なお、ホスト1において、ジョブを開始する時点で本フローチャートの処理を実行する場合は、そのジョブが使用するすべてのファイル230に対応するすべての領域に対応する反映領域識別子を生成してもよい。
この場は、ジャーナル反映領域登録要求処理部1100は、カタログ250を参照する前に、ジョブ管理テーブル120を参照して、該当ジョブの識別子112に一致するすべてのエントリに対応するファイル識別子を求める。そして、求めたすべてのファイルに対して、ファイル230が格納されている正ボリューム26pに対する論理ボリューム識別子を求める(ステップ1101)。次に、求めたすべての正ボリューム26p内に記憶されているファイルアロケーション情報を参照して、ファイルが格納されている領域の、アドレスとデータ長を求める(ステップ1102)。そして、ジョブが使用するすべてのファイルのアロケーション情報を、反映領域登録処理部2100に転送する(ステップ1103)。これを受けて、反映領域登録処理部2100は、すべてのファイル230に対応する反映領域識別子を生成して、ジャーナル反映領域登録要求処理部1100に返却する(S1104)。これを受けて、ジャーナル反映領域登録要求処理部1100は、反映領域識別子管理テーブル110に、それぞれのファイル230に対応するエントリ111を生成して、対応するファイル識別子112及び反映領域識別子222を格納する(S1105)。
図10は、反映領域登録処理のフローチャートである。
反映領域登録処理部2100は、ホスト1からストレージシステム2に、反映領域登録要求の識別コードを付加したデータ(反映領域登録要求)が送信されたときに(図9のステップS1103)、本フローチャートの処理を実行する(ステップS2100)。
反映領域登録処理部2100は、まず、反映領域管理テーブル220に新たなエントリ221を生成する(ステップS2101)。
次に、反映領域登録処理部2100は、反映領域管理テーブル内の既存のエントリ221を参照して、既存のエントリ221の反映領域識別子222の何れにも一致しない反映領域識別子222を生成する。そして、生成した反映領域識別子222を生成したエントリ221に格納する(ステップS2102)。
次に、反映領域登録処理部2100は、生成したエントリ221に、ホスト1のジャーナル反映領域登録要求処理部1100から転送されたアロケーション情報に含まれる論理ボリューム識別子、先頭アドレス及びデータ長を、それぞれ、論理ボリューム識別子223、先頭アドレス224及びデータ長225に格納する(ステップS2103)。
この反映領域管理テーブル220のエントリへの格納が完了したら、反映領域登録処理部2100は、新たに生成した反映領域識別子222をホスト1に送信する(ステップS2104)。
以上の処理によって、ホストの要求に係るファイル230に対応する反映領域識別子222が生成され、ホスト1に送信される。
図11は、出力処理のフローチャートである。
ホスト1のOS/AP100のアプリケーションプログラムは、ストレージシステム2のファイル230に出力要求を発行する。この出力要求は、出力要求の識別コードを付加した更新データをストレージシステム2に転送することによって行われる。
ストレージシステム2において、出力処理部2200は、出力要求の識別コードが付加された更新データが転送された場合に、本フローチャートの処理を実行する(ステップS2200)。
まず、出力処理部220は、ホスト1から転送された更新データを、正ボリューム26pの要求に係る領域に書き込む(ステップ2201)。
このとき、更新データの書き込み先の正ボリューム26pがジャーナル取得対象となっていれば、ジャーナル生成処理部2300に処理を渡し、ジャーナル生成処理(図12)を実行する(ステップ2202)。
図12は、ジャーナル生成処理のフローチャートである。
ジャーナル生成処理部2300は、ジャーナル取得対象となっている正ボリューム26pにデータが書き込まれたときに(図11のステップS2202)、本フローチャートの処理を実行する(ステップS2300)。
ジャーナル生成処理部2300は、まず、ジャーナルデータ200に新たなエントリ201を生成する(ステップS2301)。
次に、ジャーナル生成処理部2300は、生成されたエントリ201に、更新データの内容、正ボリューム26pの論理ボリューム識別子、データアドレス及びデータ長を、それぞれ、更新データ202、論理ボリューム識別子203、データアドレス204及びデータ長205に格納する(ステップ2302)。
次に、ジャーナル生成処理部は、共有メモリ27に格納されている順序番号に1を加算して、新たな順序番号206に格納する(ステップ2303)。
次に、ジャーナル生成処理部2300は、反映領域管理テーブル220を参照して、更新データのデータアドレスが含まれるエントリ221を検索する(ステップS2304)。そして、更新データのデータアドレスが含まれるエントリ221が存在するか否かを判定する(ステップS2305)。
更新データのデータアドレスが含まれるエントリ221が存在すると判定した場合は、ジャーナル生成処理部2300は、検索された反映領域識別子222を、ステップS2301で生成したエントリ201の反映領域識別子207に格納する(ステップ2306)。
以上の処理によって、ホスト1からの出力要求に係る更新データが、主ボリューム26pに書き込まれると共に、ジャーナルデータ200に格納される。
図13は、チェックポイント要求処理のフローチャートである。
OS/AP100は、ファイルクローズやジョブ終了など、ファイル230に対する入出力がなく、ホスト1上に未出力のデータが存在しない状態となったときに、チェックポイント要求を発行する。チェックポイント要求処理部1200は、このチェックポイント要求を受けて、本フローチャートの処理を実行する(ステップS2400)。
まず、チェックポイント要求処理部1200は、OS/AP100からのチェックポイント要求によって指定されたチェックポイント対象のファイル名に対応するエントリ111を、反映領域識別子管理テーブル110から検索する(ステップS1201)。
次に、チェックポイント要求処理部1200は、検索されたエントリ111から、反映領域識別子113を取得する。そして、マーカ記録要求の識別コードを付加したデータをストレージシステム2に送信する(ステップS1202)。
ストレージシステム2のマーカ記録処理部2400は、このデータを受信すると、マーカ記録処理を実行する(ステップ1203)。
図14は、マーカ記録処理のフローチャートである。
マーカ記録処理部2400は、マーカ記録要求の識別コードが付加されたデータが転送されると、本フローチャートの処理を実行する(ステップS2400)。
マーカ記録処理部2400は、まず、ジャーナルデータ200に新しくエントリ201を生成する(ステップS2401)。
次に、マーカ記録処理部2400は、新しく生成したエントリ201のチェックポイント識別フラグ208に「ON」を格納する(ステップS2402)。また、共有メモリ27に格納されている順序番号に1を加算して、新たな順序番号206に格納する(ステップS2403)。また、新しく生成したエントリ201の反映領域識別子207に、ホストから転送された反映領域識別子222を格納する(ステップS2404)。この新しく生成したエントリ201がチェックポイントを示し、かつ、マーカとなる。
以上の処理によって、ジャーナルデータ200のエントリにマーカが格納される。
図15は、ジャーナル反映処理のフローチャートである。
ジャーナル反映処理部2500は、ジャーナルデータ200が格納されているジャーナルボリューム26jの容量が不足したと判定した場合に、本フローチャートの処理を実行する(ステップS2500)。なお、ホスト1からジャーナル反映の要求があったとき、又は、マーカのエントリ201がジャーナルデータ200に格納されたことをジャーナル反映処理部2500が確認したときに、本フローチャートの処理を実行してもよい。
まず、ジャーナル反映処理部2500は、ジャーナルデータ200から、チェックポイント識別フラグ208がONに設定されているエントリ201のうち、最も新しいエントリ201を検索する(ステップS2501)。なお、以降はこのエントリ201をエントリ201aと呼ぶ。
ジャーナル反映処理部250は、このエントリ201aが存在するか否かを判定する(ステップS2502)。エントリ201aが存在すると判定した場合は、そのエントリ201aの格納よりも以前に格納されたエントリ201のうち、チェックポイント識別フラグ208がOFFであるすべてのエントリ201に対して、以降の処理を実行する。なお、エントリ201aの格納よりも以前に格納されたエントリ201のうち、チェックポイント識別フラグ208がOFFであるエントリ201を、以降は、エントリ201bと呼ぶ。
なお、エントリ201aが存在しないと判定した場合は、処理を終了する。
まず、ジャーナル反映処理部250は、すべてのエントリ201bに対してステップS2504乃至S2506の処理が終了したか否かを判定する(ステップS2503)。
すべてのエントリ201bに対して処理が完了したと判定した場合は、処理を終了する。
処理が未実行のエントリ201bがあると判定した場合は、まず、当該エントリ201bに反映領域識別子207が設定されているか否かを判定する(ステップ2504)。反映領域識別子207が設定されていると判定した場合は、ステップS2505に移行し、設定されていないと判定した場合は、ステップS2507に移行する。
ステップS2505では、ジャーナル反映処理部2500は、エントリ201aの反映領域識別子207とエントリ201bとの反映領域識別子207とを比較して、反映領域識別子207が等しいか否かを判定する(ステップS2505)。
双方の反映領域識別子207が等しいと判定した場合は、ジャーナル反映処理部2500は、当該エントリ201bの論理ボリューム識別子203が示す正ボリューム26pに対応する副ボリューム26sをペア管理テーブル240から取得する。そして、副ボリューム26s内の、当該エントリ201bのデータアドレス204に対応する領域に、エントリ201bの更新データ202を格納する(ステップ2506)。
一方、双方の反映領域識別子207が異なると判定した場合は、ステップS2503に戻り、次のエントリ201bについての処理を実行する。
ステップS2507では、ジャーナル反映処理部2500は、エントリ201bに反映領域識別子207が設定されているか否かを判定する。反映領域識別子207が設定されていないと判定した場合は、ステップS2506に移行し、当該エントリ201bの更新データを副ボリューム26sに格納する。反映領域識別子207が設定されていないと判定した場合は、処理を終了する。
以上の処理によって、ジャーナルデータ200に格納されている更新データのうち、マーカのエントリ201aと、反映領域識別子が等しい更新データのみが副ボリューム26sに格納される。このようにすることによって、ホスト1からのチェックポイント要求時点、すなわち、入出力が完了した状態のファイル230のみが、スナップショットデータとして取得できる。
なお、本実施の形態では、ジャーナル生成処理部2500が、反映領域管理テーブル220を参照して、更新データが反映領域に含まれているか否かを判定する(図12のステップS2304)。これに対して、ジャーナル反映処理部2500が、更新データが反映領域に含まれているか否かを判定してもよい。この場合は、ジャーナル生成処理(図12)のステップS2304乃至S2306は実行しない。そして、ジャーナル反映処理(図14)のステップS2505において、反映領域管理テーブル220を参照して、次のような関係を満たすエントリ201を検索する。
データアドレス224<エントリ201bデータアドレス204<データアドレス224+データ長225
このようにすることによって、ホスト1からのデータ出力要求の処理速度を高めることができる。さらに、ジャーナル反映処理は、ストレージシステム2のアイドル地頭を利用して行うことでより処理効率が高まる。
(第2実施形態)
次に、本発明の第2の実施の形態の計算機システムについて説明する。
図16は、本発明の第2の実施形態の計算機システムの構成ブロック図である。
なお、第1の実施の形態と同一の作用をする構成には同一の符号を付し、その説明は省略する。
第2の実施の形態の計算機システムは、ホスト1と、ストレージシステム2pと、ストレージシステム2sとを含む。そして、副ボリューム26sが、正ボリューム26pが属するストレージシステム2pとは異なるストレージシステム2sに存在する点が第1の実施の形態と異なる。
また、反映領域登録処理部2100、入出力処理部2200、ジャーナル生成処理部2300、マーカ記録処理部2400は、正ボリューム26pが属するストレージシステム2pに備える。また、ジャーナル反映処理部2500は、副ボリューム26sが属するストレージシステム2sに備える。さらに、ストレージシステム2sの論理ボリュームには、服ジャーナルボリューム26k含む。この副ジャーナルボリューム26kは、ストレージシステム2pのジャーナルボリューム26jのジャーナルデータ200の転送先である
さらに、ストレージシステム2pには、ジャーナルデータ200を吹くボリューム26sのあるストレージシステム2sに送信するジャーナル送信処理部2600を含む。また、ストレージシステム2sは、ストレージシステム2pから送信されたジャーナルデータを受信するジャーナル受信処理部2700を含む。
次に、第2の実施の形態の計算機システムの処理を説明する。
ホスト1から出力要求によって、ジャーナルデータ200に新たなエントリ201が追加されると、ジャーナル送信処理部2600は、追加されたエントリ201を、通信路3sを介して転送し、ストレージシステム2pから副ジャーナルボリューム26k内のジャーナルデータ200に格納する。
その後、ジャーナル反映処理部2500は、ジャーナルボリューム26j内のジャーナルデータ200ではなく、副ジャーナルボリューム26k内のジャーナルデータ200に格納された更新データを、副ボリューム26sに反映する。
反映領域登録処理部2100の処理は、前述した図10の処理とほぼ同じである。なお、前述のように、更新データが反映領域に含まれているか否かの判定を、ストレージシステム2sのジャーナル反映処理部2500が行う場合は、反映領域管理テーブル220を、ストレージシステム2sにも設ける必要がある。この場合は、ストレージシステム2pの反映領域管理テーブル220とストレージシステム2sの反映領域管理テーブル220とを等しくする処理が必要となる。具体的には、反映領域登録処理(図10)のステップS2104において、生成した反映領域識別子222を、ホスト1に送信すると共に、ストレージシステム2sの反映意領域管理テーブルにも送信する。
なお、生成した反映領域識別子222をストレージシステム2pのジャーナルデータ200に格納し、以降に述べる処理によって、反映領域識別子222を含むジャーナルデータをストレージシステム2sに送信してもよい。
図17は、ジャーナル送信処理のフローチャートである。
ストレージシステム2pにおいて、ジャーナル送信処理部2600は、ジャーナルデータ200が格納されているジャーナルボリューム26jの容量が不足したと判定した場合、ホスト1からジャーナル送信の要求があったとき、又は、マーカのエントリ201がジャーナルデータ200に格納されたことをジャーナル送信処理部2500が確認したときに、本フローチャートの処理を実行する(ステップS2600)。なお、本実施の形態では、共有メモリ27又はメモリ21内に、すでに送信済みのジャーナルデータエントリ201の主ボリューム26pでの位置を格納する。
まず、ジャーナル送信処理部2600は、格納された主ボリューム26pの位置にあるエントリ201よりも新しく格納されたエントリが存在するか否かを判定する(ステップS2601)エントリが存在すれば、そのエントリ201を、ストレージシステム2sに送信する(ステップS2602)。
図18は、ジャーナル受信処理のフローチャートである。
ジャーナル受信処理部2700は、ジャーナル送信処理部2600からエントリ201が送信されるのを常に待機している(ステップS2700)。
そして、ジャーナル送信処理部2600から、エントリ201が送信されたか否かを判定する(ステップS2701)、エントリが送信されたと判定した場合は、送信されたエントリ201を、副ジャーナルボリューム26k内のジャーナルデータ200に、新たなエントリを追加して、送信されたエントリ201を格納する(ステップS27021)。
以上の処理によって、主ボリューム26pを格納するストレージシステム2pと、副ボリューム26sを格納するストレージシステム2sとを備える計算機システムにおいても、前述の第1の実施の形態において説明した処理を実行することが可能となる。
本発明の第1の実施の形態の計算機システムの構成ブロック図である。 本発明の第1の実施の形態のペア管理テーブルの説明図である 本発明の第1の実施の形態の計算機システムの処理の説明図である。 本発明の第1の実施の形態のジャーナルデータの説明図である 本発明の第1の実施の形態の反映領域識別子管理テーブルの説明図である。 本発明の第1の実施の形態の反映領域管理テーブルの説明図である。 本発明の第1の実施の形態のカタログの説明図である。 本発明の第1の実施の形態のジョブ管理テーブルの説明図である。 本発明の第1の実施の形態のジャーナル反映領域登録要求処理のフローチャートである。 本発明の第1の実施の形態の反映領域登録処理のフローチャートである。 本発明の第1の実施の形態の出力処理のフローチャートである。 本発明の第1の実施の形態のジャーナル生成処理のフローチャートである。 本発明の第1の実施の形態のチェックポイント要求処理のフローチャートである。 本発明の第1の実施の形態のマーカ記録処理のフローチャートである。 本発明の第1の実施の形態のジャーナル反映処理のフローチャートである。 本発明の第2の実施の形態の計算機システムの構成ブロック図である。 本発明の第2の実施の形態のジャーナル送信処理のフローチャートである。 本発明の第2の実施の形態のジャーナル受信処理のフローチャートである。
符号の説明
1 ホスト
11 メモリ
12 プロセッサ
13 入出力インターフェース
100 オペレーティングシステム又はアプリケーションプログラム(OS/AP)
110 反映領域識別子管理テーブル
2 ストレージシステム
20 制御装置
22 プロセッサ
21 メモリ
23 チャネルアダプタ
25 ディスクドライブ
26 論理ボリューム
27 共有メモリ
220 反映領域管理テーブル
3 通信路

Claims (16)

  1. ストレージシステムにネットワークを介して接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備えるホスト計算機と、
    前記ホスト計算機に通信路を介して接続されるインターフェースと、データを格納するディスク装置と、前記ディスク装置へのデータの入出力を制御する制御装置と、情報を格納するメモリと、を備えるストレージシステムと、
    を備える計算機システムにおいて、
    前記ディスク装置は、前記ホスト計算機によってアクセスされるデータを格納する第1の領域と、前記第1の領域に格納されたデータの更新データを格納する第2の領域と、前記第1の領域に格納されたデータの複製を格納する第3の領域とを備え、
    前記制御装置は、前記ディスク装置にデータを出力する出力処理部と、前記更新データからエントリを生成する生成処理部と、前記更新データを前記第3の領域に反映する反映処理部と、前記更新データを前記第3の領域に格納することの許否の情報を含むマーカを生成して前記第2の領域に格納するマーカ処理部、を備え、
    前記出力処理部は、前記ホスト計算機からの前記データの更新要求に基づいて、前記第1の領域に格納されたデータを更新し、
    前記生成処理部は、前記更新要求に係る更新データを前記第2の領域に格納し、
    前記マーカ処理部は、前記ホスト計算機からの前記マーカの生成要求に基づいて、前記データが格納されている範囲の情報及び当該データを前記第3の領域に格納することの許否の情報を含むマーカを生成して、前記生成されたマーカを前記第2の領域に格納し、
    前記反映処理部は、前記マーカを参照して、当該マーカよりも前に格納された、データ格納範囲に対応する前記更新データを取得して、前記取得した更新データを前記第3の領域に反映することを特徴とする計算機システム。
  2. 前記制御装置は、前記第1の領域に前記データが格納されている範囲を示す第1の識別子を、前記メモリに格納する領域登録処理部を備え、
    前記出力処理部は、前記ホスト計算機からの前記データの更新要求に基づいて、前記第1の領域に格納されたデータを更新し、
    前記生成処理部は、前記領域登録処理部を参照して、当該データに対応する第1の識別子を取得し、当該第1の識別子と関連させて、更新データ及び取得した前記第1の識別子を前記第2の領域に格納し、
    前記マーカ処理部は、前記ホスト計算機からの前記マーカの生成要求に基づいて、当該データに対応する第1の識別子、及び当該データを前記第3の領域に格納することの許否を示す第2の識別子を含むマーカを、前記第2の領域に格納し、
    前記反映処理部は、前記マーカを参照して、当該マーカよりも前に格納された、前記第1の識別子を取得して、前記取得した第1の識別子に関係する更新データを前記第3の領域に反映することを特徴とする請求項1に記載の計算機システム。
  3. 前記反映処理部は、前記マーカを参照して、当該マーカに前記第1の識別子が格納されていない場合に、当該マーカよりも前に格納された、前記第1の識別子と関連付けられていない前記更新データを前記第3の領域に反映することを特徴とする請求項2に記載の計算機システム。
  4. 前記制御装置は、前記第1の領域に前記データが格納されている範囲を示す第1の識別子を含む管理テーブルを、前記メモリに格納する領域登録処理部を備え、
    前記生成処理部は、前記ホスト計算機からの前記データの更新要求に基づいて、前記第1の領域の前記データを更新し、
    前記生成処理部は、前記更新データを前記第2の領域に格納し、
    前記マーカ処理部は、前記ホスト計算機からの前記マーカの生成要求に基づいて、当該データに対応する第1の識別子、及び当該データを前記第3の領域に格納することの許否の第2の識別子を含むマーカを、前記第2の領域に格納し、
    前記反映処理部は、前記マーカを参照して、当該マーカよりも前に格納された、前記更新データを取得し、前記取得した更新データが前記マーカに格納された第1の識別子に対応するデータ格納範囲である場合に、当該更新データを前記第3の領域に反映することを特徴とする請求項1に記載の計算機システム。
  5. 前記ディスク装置は、前記ホスト計算機によって処理されるファイルを構成するデータ格納し、
    前記ホスト計算機は、前記ファイルをクローズするときに、当該ファイルを構成するデータに対応する前記マーカ生成要求を前記ストレージシステムに送信することを特徴とする請求項1に記載の計算機システム。
  6. 前記ディスク装置は、前記ホスト計算機で稼動するアプリケーションソフトウェアによって生成されたファイルを構成するデータを、前記第1の領域のうち、前記アプリケーションソフトウェアに関係する領域に格納し、
    前記ホスト計算機は、前記アプリケーションソフトウェアが前記ファイルを用いた処理を終了するときに、当該ファイルを構成するデータに対応する前記マーカ生成要求を前記ストレージシステムに送信することを特徴とする請求項1に記載の計算機システム。
  7. ストレージシステムにネットワークを介して接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備えるホスト計算機と、
    前記ホスト計算機にネットワークを介して接続されるインターフェースと、データを格納する第1のディスク装置と、前記第1のディスク装置へのデータの入出力を制御する第1の制御装置と、情報を格納するメモリと、を備える第1のストレージシステムと、
    前記第1のストレージシステムにネットワークを介して接続されるインターフェースと、データを格納する第2のディスク装置と、前記第2のディスク装置へのデータの入出力を制御する第2の制御装置と、情報を格納するメモリとを備えた第2のストレージシステムと、
    を備える計算機システムにおいて、
    前記第1のディスク装置は、前記ホスト計算機によってアクセスされるデータを格納する第1の領域と、前記第1の領域に格納されたデータの更新データを格納する第2の領域と、を備え、
    前記第2のディスク装置は、前記更新データの複製を格納する第4の領域と、前記第1の領域に格納されたデータの複製を格納する第5の領域と、を備え、
    前記第1の制御装置は、前記ディスク装置にデータを出力する出力処理部と、前記更新データからエントリを生成する生成処理部と、前記更新データを前記第3の領域に格納することの許否の情報を含むマーカを生成して前記第2の領域に格納するマーカ処理部と、前記生成されたエントリ及び前記生成されたマーカを前記第2のストレージシステムに送信する送信処理部と、を備え、
    前記第2の制御装置は、前記第1のストレージシステムから送信された前記エントリ及び前記マーカを受信する受信処理部と、前記更新データを前記第5の領域に反映する反映処理部と、を備え、
    前記出力処理部は、前記ホスト計算機からの前記データの更新要求に基づいて、前記第1の領域の前記データを更新し、
    前記生成処理部は、前記更新要求に係る更新データを前記第2の領域に格納し、
    前記マーカ処理部は、前記ホスト計算機からの前記マーカの生成要求に基づいて、前記データが格納されている範囲の情報及び当該データを前記第5の領域に格納することの許否の情報を含むマーカを生成して、前記生成されたマーカを前記第2の領域に格納し、
    前記送信処理部は、前記エントリ及び前記マーカを、前記第2のストレージシステムに送信し、
    前記受信処理部は、前記第1のストレージシステムから送信された前記エントリ及び前記マーカを前記第4の領域に格納し、
    前記反映処理部は、前記第1のストレージシステムから送信されたマーカを参照して、当該マーカよりも前に格納された、データ格納範囲に対応する前記更新データを取得し、前記取得した更新データを前記第5の領域に反映することを特徴とする計算機システム。
  8. 前記ホスト計算機のプロセッサは、
    前記ディスク装置に格納されたデータの格納されている領域の情報を管理し、
    データが格納されている前記ディスク装置の領域の情報を、前記ストレージシステムに要求し、
    前記ストレージシステムから送信された前記領域の情報を、対応するデータの識別子に対応付けて、前記メモリに格納することを特徴とする請求項1に記載の計算機システム。
  9. 前記ホスト計算機のプロセッサは、前記ホスト計算機によって処理されるファイルをクローズするときに、当該ファイルを構成するデータが格納されている領域の情報を指示して、当該データの複製の格納を許可する情報を含むマーカの生成要求を送信することを特徴とする請求項8に記載の計算機システム。
  10. 前記ホスト計算機のプロセッサは、
    ファイルを処理するアプリケーションソフトウェアを実行し、
    前記アプリケーションソフトウェアが前記ファイルを用いた処理を終了するときに、前記ファイルを構成するデータが格納されている領域の情報を指示して、当該データの複製の格納を許可する情報を含むマーカの生成要求を送信することを特徴とする請求項8に記載の計算機システム。
  11. ストレージシステムにネットワークを介して接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備えるホスト計算機と、前記ホスト計算機に通信路を介して接続されるインターフェースと、データを格納するディスク装置と、前記ディスク装置へのデータの入出力を制御する制御装置と、情報を格納するメモリと、を備えるストレージシステムと、を備える計算機システムで実行されるデータ複製方法において、
    前記ホスト計算機からの前記データの更新要求に基づいて、前記第1の領域に格納されたデータを更新する第1のステップと、
    前記前記更新要求に係る更新データを前記第2の領域に格納する第2のステップと、
    前記ホスト計算機からの前記更新データを前記第3の領域に格納することの許否の情報を含むマーカの生成要求に基づいて、前記データが格納されている範囲の情報及び当該データを前記第3の領域に格納することの許否の情報を含むマーカを、前記第2の領域に格納する第3のステップと、
    前記マーカを参照して、当該マーカよりも前に格納された、データ格納範囲に対応する前記更新データを取得し、前記取得した更新データを前記第3の領域に反映する第4のステップと、を備えることを特徴とするデータ複製方法。
  12. 前記第1の領域に前記データが格納されている範囲を示す第1の識別子を含む管理テーブルを、前記メモリに格納する第4のステップを備え、
    前記第2のステップは、前記管理テーブルを参照して当該データに対応する前記第1の識別子を取得し、前記取得した更新データ及び前記取得した前記第1の識別子を含めたエントリを前記第2の領域に格納し、
    前記第3のステップは、前記ホスト計算機からの前記更新データを前記第3の領域に格納することの許否の情報を含むマーカの生成要求に基づいて、前記データに対応する前記第1の識別子及び当該データを前記第3の領域に格納することの許否を示す第2の識別子を含むマーカを、前記第2の領域に格納し、
    前記第4のステップは、前記マーカを参照して、当該マーカよりも前に格納された、前記第1の識別子を含む前記エントリを取得し、前記取得したエントリに含まれる更新データを前記第3の領域に反映することを特徴とする請求項11に記載のデータ複製方法。
  13. 前記第4のステップは、前記マーカを参照して、当該マーカに前記第1の識別子が格納されていない場合に、当該マーカよりも前に格納された、前記第1の識別子を含まない前記エントリを取得し、前記取得したエントリに含まれる更新データを前記第3の領域に反映することを特徴とする請求項11に記載のデータ複製方法。
  14. 前記第1の領域に前記データが格納されている範囲を示す第1の識別子を含む管理テーブルを、前記メモリに格納する第5のステップを備え、
    前記第2のステップは、前記エントリに更新データを格納して、当該エントリを前記第2の領域に格納し、
    前記第3のステップは、前記ホスト計算機からの前記更新データを前記第3の領域に格納することの許否の情報を含むマーカの生成要求に基づいて、前記第2の領域に、前記データに対応する前記第1の識別子及び当該データを前記第3の領域に格納することを許可する第2の識別子を含むマーカを格納し、
    前記第5のステップは、前記マーカを参照して、当該マーカよりも前に格納された、前記エントリを取得し、前記取得したエントリに含まれる更新データが前記マーカに格納された第1の識別子に対応するデータ格納範囲である場合に、当該エントリに含まれる更新データを前記第3の領域に反映することを特徴とする請求項11に記載のデータ複製方法。
  15. 前記ディスク装置は、前記ホスト計算機によって処理されるファイルを構成するデータを格納し、
    前記ホスト計算機は、前記ファイルをクローズするときに、当該ファイルを構成するデータに対応する前記マーカ生成要求を前記ストレージシステムに送信することを特徴とする請求項11に記載のデータ複製方法。
  16. 前記ディスク装置は、前記ホスト計算機で稼動するアプリケーションソフトウェアによって生成されたファイルを構成するデータを、前記第1の領域のうち、前記アプリケーションソフトウェアに関係する領域に格納し、
    前記ホスト計算機は、前記アプリケーションソフトウェアが前記ファイルを用いた処理を終了するときに、前記マーカ生成要求を前記ストレージシステムに送信することを特徴とする請求項11に記載のデータ複製方法。
JP2005322184A 2005-11-07 2005-11-07 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法 Expired - Fee Related JP4828917B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005322184A JP4828917B2 (ja) 2005-11-07 2005-11-07 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
US11/335,150 US7694090B2 (en) 2005-11-07 2006-01-18 Storage system with journal reflecting area control function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005322184A JP4828917B2 (ja) 2005-11-07 2005-11-07 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法

Publications (2)

Publication Number Publication Date
JP2007128412A true JP2007128412A (ja) 2007-05-24
JP4828917B2 JP4828917B2 (ja) 2011-11-30

Family

ID=38005156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005322184A Expired - Fee Related JP4828917B2 (ja) 2005-11-07 2005-11-07 ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法

Country Status (2)

Country Link
US (1) US7694090B2 (ja)
JP (1) JP4828917B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037262B2 (en) * 2007-01-16 2011-10-11 Lsi Corporation Hierarchy of a structure of a volume
CN101997902B (zh) * 2009-08-28 2015-07-22 云端容灾有限公司 基于驿站分段传输的远程在线备份系统和方法
WO2017064770A1 (ja) * 2015-10-14 2017-04-20 株式会社日立製作所 ストレージシステムおよびストレージシステムの制御方法
US10019193B2 (en) * 2015-11-04 2018-07-10 Hewlett Packard Enterprise Development Lp Checkpointing a journal by virtualization of non-volatile random access memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124743A (ja) * 1990-09-17 1992-04-24 Toshiba Corp データ2重化方式
JP2002175286A (ja) * 2000-12-05 2002-06-21 Hitachi Ltd 記憶装置、情報処理システムおよび排他制御方法
JP2003167684A (ja) * 2001-12-04 2003-06-13 Nec Corp ディスクアレイ装置間の遠隔データコピー方式
JP2004348193A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0290330A (ja) * 1988-09-28 1990-03-29 Hitachi Ltd プログラム構成方式
US6397307B2 (en) * 1999-02-23 2002-05-28 Legato Systems, Inc. Method and system for mirroring and archiving mass storage
US6487645B1 (en) * 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
JP4175789B2 (ja) 2001-07-05 2008-11-05 株式会社日立製作所 記憶装置のファイルレベルリモートコピー方法
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US7949836B2 (en) * 2004-06-10 2011-05-24 International Business Machines Corporation Memory controller and method for copying mirrored memory that allows processor accesses to memory during a mirror copy operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04124743A (ja) * 1990-09-17 1992-04-24 Toshiba Corp データ2重化方式
JP2002175286A (ja) * 2000-12-05 2002-06-21 Hitachi Ltd 記憶装置、情報処理システムおよび排他制御方法
JP2003167684A (ja) * 2001-12-04 2003-06-13 Nec Corp ディスクアレイ装置間の遠隔データコピー方式
JP2004348193A (ja) * 2003-05-20 2004-12-09 Hitachi Ltd 情報処理システムおよびそのバックアップ方法

Also Published As

Publication number Publication date
US20070106855A1 (en) 2007-05-10
US7694090B2 (en) 2010-04-06
JP4828917B2 (ja) 2011-11-30

Similar Documents

Publication Publication Date Title
EP1942414B1 (en) Snapshot system and method
CN1307580C (zh) 大文件的有效管理
US8250033B1 (en) Replication of a data set using differential snapshots
US6311193B1 (en) Computer system
US9396198B2 (en) Computer system, file management method and metadata server
US7698319B2 (en) Database system management method, database system, database device, and backup program
JP4615344B2 (ja) データ処理システム及びデータベースの管理方法
US20060224639A1 (en) Backup system, program and backup method
CN109144416B (zh) 查询数据的方法和装置
JPH1063555A (ja) ファイル管理方法
JP6156517B2 (ja) 書き込み情報記憶装置、方法、及び、プログラム
CN105988895B (zh) 快照处理方法及装置
JP4828917B2 (ja) ストレージシステム、計算機システム、ホスト計算機及びデータ複製方法
JPWO2007099636A1 (ja) ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置
CN108431784A (zh) 访问请求处理方法、装置及计算机系统
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP6194784B2 (ja) ストレージ制御装置、制御方法および制御プログラム
US10073874B1 (en) Updating inverted indices
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
JP2007172365A (ja) データ複製システム、複製データ処理プログラムおよび複製データ処理方法
CN109254870B (zh) 数据备份的方法和装置
US20100094804A1 (en) Method and Device for Updating a Database, and Computer Program Product
CN116401313A (zh) 一种共享存储数据库集群信息同步方法
JP2006189976A (ja) 記憶装置、そのデータ処理方法、そのデータ処理プログラム及びデータ処理システム
CN113885804A (zh) 一种数据更新方法、装置及计算机设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101228

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

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

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

Free format text: PAYMENT UNTIL: 20140922

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