JP2019168797A - ストレージシステム、制御方法、及びプログラム - Google Patents

ストレージシステム、制御方法、及びプログラム Download PDF

Info

Publication number
JP2019168797A
JP2019168797A JP2018054496A JP2018054496A JP2019168797A JP 2019168797 A JP2019168797 A JP 2019168797A JP 2018054496 A JP2018054496 A JP 2018054496A JP 2018054496 A JP2018054496 A JP 2018054496A JP 2019168797 A JP2019168797 A JP 2019168797A
Authority
JP
Japan
Prior art keywords
volume
primary
failure
database
journal
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
JP2018054496A
Other languages
English (en)
Other versions
JP7007017B2 (ja
Inventor
研司 森
Kenji Mori
研司 森
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators 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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Priority to JP2018054496A priority Critical patent/JP7007017B2/ja
Publication of JP2019168797A publication Critical patent/JP2019168797A/ja
Application granted granted Critical
Publication of JP7007017B2 publication Critical patent/JP7007017B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】障害発生時刻の直前までデータベースの整合性を確保できるストレージシステム、制御方法、及びプログラムを提供する。【解決手段】正系ボリューム3aから転送された、データベース7aと基底ジャーナル8aと障害情報9aとを記憶する、複製ボリューム5aと、正系ボリューム3a及び副系ボリューム4aに記憶されている、データベース7bと基底ジャーナル8bとを更新する、主系サーバ2と、複製ボリューム5aに記憶された障害情報9cに含まれる障害発生時刻を用いて、複製ボリューム5aに記憶された基底ジャーナル8cを参照し、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSを検出し、複製ボリューム5aの全てのデータベース7cに対してトランザクション開始TSまでロールバック処理を実行する、従系サーバ6と、を有するストレージシステム。【選択図】図1

Description

本発明は、ストレージシステム、制御方法、及びプログラムに関する。特に、ソフトウェアによるボリューム二重化と、遠隔データリプリケーションとを適用したストレージシステム、制御方法、及びプログラムに関する。
ソフトウェアによるボリューム二重化と、遠隔データリプリケーション(RDR:Remote Data Replication)とを適用したストレージシステムが提案されている。このようなストレージシステムは、主系サイト側に、正系サーバと、正系ボリュームを有する正系ストレージ装置と、副系ボリュームを有する副系ストレージ装置とを有する。従系サイト側に、従系サーバと、複製ボリュームを有する複製ストレージ装置とを有する。また、正系ボリュームと複製ボリュームとはネットワークで接続されている。
ところで、上述したストレージシステムにおいては、正系ボリュームに障害が発生している状況で、主系サイト側が被災した場合、障害が発生した正系ボリュームのデータベースは更新されない。そのため、従系サーバは、複製ボリュームのデータベースと基底ジャーナルとを利用して、ロールバック処理を実行しても、データベースの整合性を確保できない。基底ジャーナルとは、トランザクション開始と、トランザクション終了と、データベースの更新前データとを有するジャーナルである。
従って、複製ボリュームのデータベースを利用して業務を再開するためには、静止点を確保した状態で採取されたバックアップからデータベースをリストアしなければならない。その結果、ストレージシステムは、バックアップを採取した時点から、業務を再開することになる。
また、関連する技術として特許文献1には、正系ボリュームに障害が発生した状況でも、副系ボリュームを利用して、複製ボリュームの更新を継続するストレージシステムが開示されている。このストレージシステムによれば、正系ボリュームに障害が発生しても、複製ボリュームのコピー元が副系ボリュームに切り替わるため、複製ボリュームに対して、バックアップからデータベースをリストアしなくてもよい。
特開2006−285336号公報
しかしながら、特許文献1に開示されているストレージシステムにおいて、正系サーバは、正系ボリューム及び副系ボリュームに対して、同時に更新要求を行うが、正系ボリューム自体の更新と副系ボリューム自体の更新は記録装置毎に非同期に行われる。そのため、正系ボリュームと副系ボリュームのデータベースと基底ジャーナルとはかならずしも一致しない。
従って、正系ボリュームから副系ボリュームに切り替わった直後は、複製ボリュームと正系ボリュームとの間ではデータベースの整合性が確保されているが、複製ボリュームと副系ボリュームとの間ではデータベースの整合性が確保できていない。そのため、従系サーバは、正系ボリュームから副系ボリュームに切り替わったことを検出した後、複製ボリ
ュームと副系ボリュームのデータベースの整合性が確保されるまで(同期状態になるまで)の間に被災した場合は、やはりバックアップからデータベースをリストアしなくてはならない。
本発明の目的の一例は、障害発生時刻の直前までデータベースの整合性を確保できるストレージシステム、制御方法、及びプログラムを提供することにある。
上記目的を達成するため、本発明の一側面におけるストレージシステムは、
データベースと基底ジャーナルと障害情報とを記憶する、正系ボリュームと、
前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する、副系ボリュームと、
前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する、複製ボリュームと、
前記正系ボリューム及び副系ボリュームを更新する、主系サーバと、
前記複製ボリュームに記憶された障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出し、前記複製ボリュームの全てのデータベースに対して前記トランザクション開始までロールバック処理を実行する、従系サーバと、
を有することを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるストレージシステムは、
データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する、正系ボリュームと、
前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する、副系ボリュームと、
前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する、複製ボリュームと、
前記正系ボリューム及び副系ボリュームを更新する、主系サーバと、
前記複製ボリュームに記憶された障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出し、前記正系ボリュームにおいて障害が発生した前記記憶媒体に対応する、前記複製ボリュームに存在するデータベースに対して、検出した前記トランザクションレコードからロールフォワード処理を実行する、従系サーバと、
を有することを特徴とする。
上記目的を達成するため、本発明の一側面におけるストレージシステムの制御方法は、
データベースと基底ジャーナルと障害情報とを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、前記複製ボリュームを制御する従系サーバと、を有するストレージシステムの制御方法であって、
(A)前記複製ボリュームに記憶された前記障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出する、ステップと、
(B)前記複製ボリュームの全てのデータベースに対して前記トランザクション開始まで
ロールバック処理を実行する、ステップと、
を有することを特徴とする。
また、上記目的を達成するため、本発明の一側面におけるストレージシステムの制御方法は、
データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、前記複製ボリュームを制御する従系サーバと、を有するストレージシステムの制御方法であって、
(C)前記複製ボリュームに記憶された前記障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出する、ステップと、
(D)前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する、前記複製ボリュームのデータベースに対して、検出した前記トランザクションレコードからロールフォワード処理を実行する、ステップと、
を有することを特徴とする。
上記目的を達成するため、本発明の一側面における制御プログラムは、
データベースと基底ジャーナルと障害情報とを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、を有するストレージシステムに接続されるコンピュータに実行される制御プログラムであって、
前記コンピュータに、
(A)前記複製ボリュームに記憶された前記障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出する、ステップと、
(B)前記複製ボリュームの全てのデータベースに対して前記トランザクション開始までロールバック処理を実行する、ステップと、
を実行させることを特徴とする。
また、上記目的を達成するため、本発明の一側面における制御プログラムは、
データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、を有するストレージシステムに接続されるコンピュータに実行される制御プログラムであって、
前記コンピュータに、
(C)前記複製ボリュームに記憶された前記障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクシ
ョンに対応するトランザクションレコードを検出する、ステップと、
(D)前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する、前記複製ボリュームのデータベースに対して、検出した前記トランザクションレコードからロールフォワード処理を実行する、ステップと、
を実行させることを特徴とする。
以上のように本発明によれば、障害発生時刻の直前までデータベースの整合性を確保できる。
図1は、第一の実施の形態における、ストレージシステムの一例を示す図である。 図2は、主系サーバを有する主系サイト側の一例を示す図である。 図3は、第一の実施の形態における、従系サイト側の一例を示す図である。 図4は、第一の実施の形態における、ストレージシステムの動作の一例を示す図である。 図5は、第一の実施の形態における、従系サーバの動作の一例を示す図である。 図6は、第一の実施の形態における、ロールバック処理の一例を示す図である。 図7は、第二の実施の形態における、ストレージシステムの一例を示す図である。 図8は、第二の実施の形態における、従系サイト側の一例を示す図である。 図9は、第二の実施の形態における、ストレージシステムの動作の一例を示す図である。 図10は、第二の実施の形態における、従系サーバの動作の一例を示す図である。 図11は、第二の実施の形態における、ロールフォワード処理及びロールバック処理の一例を示す図である。 図12は、従系サーバを実現するコンピュータの一例を示す図である。
(第一の実施の形態)
以下、本発明の第一の実施の形態におけるストレージシステムについて、図1から図6を参照しながら説明する。
[システム構成]
最初に、図1を用いて、第一の実施の形態におけるストレージシステムの構成について説明する。図1は、第一の実施の形態における、ストレージシステムの一例を示す図である。
図1に示す第一の実施の形態におけるストレージシステム1は、ソフトウェアによるボリューム二重化と、遠隔データリプリケーションとを適用したシステムである。ストレージシステム1は、主系サーバ2と、正系ボリューム3aを有する正系ストレージ装置3と、副系ボリューム4aを有する副系ストレージ装置4と、複製ボリューム5aを有する複製ストレージ装置5と、従系サーバ6とを有する。正系ボリューム3a、又は副系ボリューム4a、又は複製ボリューム5aは、それぞれ複数の記憶媒体を有する。
このうち、主系サーバ2は、ソフトウェアにより二重化された、正系ボリューム3aと副系ボリューム4aとを更新する。正系ボリューム3aは、副系ボリューム4aは、正系ボリュームとともに、データベース7aと基底ジャーナル8aと障害情報9aとを記憶する。なお、以降において、副系ボリューム4aに記憶される、データベース7aをデータベース7b、基底ジャーナル8aを基底ジャーナル8b、障害情報9aを障害情報9bと呼ぶ。
複製ボリューム5aは、遠隔データリプリケーションにより、正系ボリューム3aから転送された、データベース7aと基底ジャーナル8aと障害情報9aとを記憶する。なお、以降において、複製ボリューム5aに記憶される、データベース7aをデータベース7c、基底ジャーナル8aを基底ジャーナル8c、障害情報9aを障害情報9cと呼ぶ。
正系ボリューム3aにおいて、データベース7aと、基底ジャーナル8aと、障害情報9aとは、正系ボリューム3aが有する複数の記憶媒体に分散して記憶される。また、副系ボリューム4aにおいて、データベース7bと、基底ジャーナル8bと、障害情報9bとは、副系ボリューム4aが有する複数の記憶媒体に分散して記憶される。更に、複製ボリューム5aにおいて、データベース7cと、基底ジャーナル8cと、障害情報9cとは、複製ボリューム5aが有する複数の記憶媒体に分散して記憶される。
従系サーバ6は、複製ボリューム5aに記憶された障害情報に含まれる障害発生時刻を用いて、複製ボリューム5aに記憶された基底ジャーナル8cを参照し、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSを検出する。その後、従系サーバ6は、複製ボリューム5aの全てのデータベース7cに対して検出したトランザクション開始TSまでロールバック処理を実行する。障害発生時刻は、正系ボリューム3aが有する記憶媒体に障害が発生した時刻を示す情報である。なお、時刻は、日時などを用いてもよい。
このように、第一の実施の形態では、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSまで、複製ボリューム5aの全てのデータベース7cに対して、ロールバック処理が実行できる。そのため、正系ボリューム3aのいずれかの記憶媒体に障害が発生し、障害が発生した記憶媒体のデータが複製ボリューム5aに複製されていない状況において、更に主系サイト側が被災しても、障害発生時刻の直前まで整合性を確保できる。
続いて、図2、図3を用いて、第一の実施の形態におけるストレージシステム1について具体的に説明する。図2は、主系サーバを有する主系サイト側の一例を示す図である。図3は、第一の実施の形態における、従系サイト側の一例を示す図である。
主系サイト側について説明する。主系サイト側は、図2に示すように、主系サーバ2と、正系ストレージ装置3と、副系ストレージ装置4とを有する。
主系サーバ2は、少なくともトランザクション制御部21と、データベース制御部22と、ジャーナル制御部23と、障害管理部24と、二重化ボリューム操作部25とを有する。
トランザクション制御部21は、トランザクションの開始と終了とを制御する。また、トランザクション制御部21は、基底ジャーナル8aを構成する、トランザクションの開始を示すトランザクション開始TSと、トランザクションの終了を示すトランザクション終了TEとを、ジャーナル制御部23に出力する。
データベース制御部22は、トランザクションが実行されると、データベース7aに対して入出力されるデータの入出力を制御する。具体的には、データベース制御部22は、正系ボリューム3a又は副系ボリューム4aから、二重化ボリューム操作部25を介して、読み込むデータの入力を、制御する。また、データベース制御部22は、正系ボリューム3a及び副系ボリューム4aへ書き込むデータを、二重化ボリューム操作部25へ出力する、制御をする。また、データベース制御部22は、トランザクションが実行されると、データベース7aを更新する前のイメージBIを生成し、ジャーナル制御部23へ出力する、制御をする。
ジャーナル制御部23は、トランザクションごとに取得した、トランザクション開始TSとイメージBIとトランザクション終了TEとを、トランザクション開始TS、イメージBI、トランザクション終了TEの順番に、二重化ボリューム操作部25へ出力する、制御をする。
障害管理部24は、正系ボリューム3a又は副系ボリューム4aが有する記憶媒体に障害が発生した場合、正系ストレージ装置3又は副系ストレージ装置4から、二重化ボリューム操作部25を介して、記憶媒体に障害が発生したことを示す障害通知を受信する。続いて、障害管理部24は、障害通知を受信すると、受信した障害通知に基づいて障害情報9aを更新するために更新障害情報を生成して、生成した更新障害情報を二重化ボリューム操作部25へ出力する。
二重化ボリューム操作部25は、データベース制御部22からデータを取得すると、正系ストレージ装置3と副系ストレージ装置4とを操作して、データベース7aとデータベース7bとを更新する。また、二重化ボリューム操作部25は、ジャーナル制御部23からトランザクション開始TSとイメージBIとトランザクション終了TEとを取得すると、正系ストレージ装置3と副系ストレージ装置4とを操作して、基底ジャーナル8aと基底ジャーナル8bとを更新する。更に、二重化ボリューム操作部25は、障害管理部24から更新障害情報を取得すると、正系ストレージ装置3と副系ストレージ装置4とを操作して、障害情報9aと障害情報9bとを更新する。
正系ストレージ装置3及び副系ストレージ装置4は、複数の記憶媒体を有する記憶装置である。正系ストレージ装置3が有する正系ボリューム3a及び副系ストレージ装置4が有する副系ボリューム4aは、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶媒体である。データベース7aと、基底ジャーナル8aと、障害情報9aとは、正系ボリューム3aが有する一つ以上の記憶媒体に記憶される。また、データベース7bと、基底ジャーナル8bと、障害情報9bとは、副系ボリューム4aが有する一つ以上の記憶媒体に記憶される。
正系ストレージ装置3は、副系ストレージ装置4とともに、主系サーバ2により操作され、データベース7aと、基底ジャーナル8aと、障害情報9aとが更新される。また、正系ストレージ装置3は、遠隔データリプリケーションを実行して、正系ボリューム3aに記憶されているデータベース7aと、基底ジャーナル8aと、障害情報9aとを、複製ストレージ装置5が有する複製ボリューム5aに複製する。
副系ストレージ装置4は、正系ストレージ装置3とともに、主系サーバ2により操作され、データベース7bと、基底ジャーナル8bと、障害情報9bとが更新される。
従系サイト側について説明する。第一の実施の形態における、従系サイト側は、図3に示すように、複製ストレージ装置5と、従系サーバ6とを有する。
複製ストレージ装置5は、複数の記憶媒体を有する記憶装置である。複製ストレージ装置5が有する複製ボリューム5aは、例えば、HDD、SSDなどの記憶媒体である。データベース7cと、基底ジャーナル8cと、障害情報9cとは、複製ボリューム5aが有する一つ以上の記憶媒体に記憶される。
通常時、複製ボリューム5aには、正系ボリューム3aが実行する、遠隔データリプリケーションにより、正系ボリューム3aに記憶されているデータベース7aと、基底ジャーナル8aと、障害情報9aとが複製される。複製ボリューム5aは、従系サーバ6により、ロールバック処理が実行される。
従系サーバ6は、複製ボリューム5aに記憶されている、基底ジャーナル8cと障害情報9cとを用いて、複製ボリューム5aに対してロールバック処理を実行する。従系サーバ6は、少なくとも複製ボリューム操作部31と、ロールバック処理部32とを有する。
複製ボリューム操作部31は、複製ストレージ装置5を操作して、基底ジャーナル8cと、障害情報9cとを取得し、障害情報9cをロールバック処理部32へ出力する。また、複製ボリューム操作部31は、ロールバック処理部32からデータベース7cを更新するデータを取得し、複製ストレージ装置5を操作して、取得したデータを用いてデータベース7cを更新する。
ロールバック処理部32は、基底ジャーナル8cと障害情報9cとを参照し、正系ボリューム3aのいずれかの記憶媒体に障害がなく、かつトランザクションが中断したか否かを判定する。すなわち、ロールバック処理部32は、トランザクション終了TEがないか否かを判定する。
続いて、ロールバック処理部32は、正系ボリューム3aのいずれかの記憶媒体に障害がなく、かつトランザクションが中断した場合、中断されたトランザクションに対応するトランザクション開始TSまで、複製ボリューム5aの全てのデータベース7cに対してロールバック処理を実行する。
また、ロールバック処理部32は、障害情報9cを参照し、正系ボリューム3aのいずれかの記憶媒体に障害あるか否かを判定する。
続いて、ロールバック処理部32は、正系ボリューム3aのいずれかの記憶媒体に障害がある場合、障害情報9cに含まれる記憶媒体に障害が発生した障害発生時刻を参照して、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSを検出する。その後、ロールバック処理部32は、当該トランザクション開始TSまで、複製ボリューム5aの全てのデータベースに対してロールバック処理を実行する。
[システム動作]
次に、本発明の第一の実施の形態におけるストレージシステム及び従系サーバの動作について図4、図5、図6を用いて説明する。図4は、第一の実施の形態における、ストレージシステムの動作の一例を示す図である。図5は、第一の実施の形態における、従系サーバの動作の一例を示す図である。図6は、第一の実施の形態における、ロールバック処理の一例を示す図である。以下の説明においては、適宜図1、図2、図3を参酌する。また、第一の実施の形態では、ストレージシステムを動作させることによって、ストレージシステムの制御方法が実施される。よって、第一の実施の形態におけるストレージシステムの制御方法の説明は、以下のストレージシステム及び従系サーバの動作説明に代える。
図4に示す動作の概要を用いて、複製ボリューム5aに基底ジャーナル8cと、障害情
報9cとを複製する方法について説明する。なお、副系ストレージ装置4の動作については、正系ストレージ装置3と同じ動作であるので説明を省略する。
主系サーバ2は、トランザクションを開始すると、トランザクション開始TSを、正系ストレージ装置3へ出力する(ステップA1)。正系ストレージ装置3は、トランザクション開始TSを取得すると、正系ボリューム3aが有する基底ジャーナル8aにトランザクション開始TSを書き込む(ステップA2)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へトランザクション開始TSを出力する(ステップA3)。複製ストレージ装置5は、トランザクション開始TSを取得すると、複製ボリューム5aが有する基底ジャーナル8cにトランザクション開始TSを書き込む(ステップA4)。
続いて、正系ストレージ装置3は、トランザクションの一連の処理に応じて、正系ストレージ装置3が有するデータベース7aからデータを取得して、主系サーバ2に出力する(ステップA5)。主系サーバ2は、当該データを取得すると(ステップA6)、データベース7aを更新する前のイメージBIを、正系ストレージ装置3へ出力する(ステップA7)。正系ストレージ装置3は、イメージBIを取得すると、正系ボリューム3aが有する基底ジャーナル8aにイメージBIを書き込む(ステップA8)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へイメージBIを出力する(ステップA9)。複製ストレージ装置5は、イメージBIを取得すると、複製ボリューム5aが有する基底ジャーナル8cにイメージBIを書き込む(ステップA10)。
続いて、主系サーバ2は、トランザクションの一連の処理に応じて発生した更新データを、正系ストレージ装置3へ出力する(ステップA11)。正系ストレージ装置3は、更新データを取得すると、正系ボリューム3aが有するデータベース7aに更新データを書き込む(ステップA12)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へ更新データを出力する(ステップA13)。複製ストレージ装置5は、更新データを取得すると、複製ボリューム5aが有するデータベース7cに更新データを書き込む(ステップA14)。なお、トランザクションが継続している場合には、上述したステップA5からステップA14の処理を繰り返す。
続いて、主系サーバ2は、トランザクションが終了すると、トランザクション終了TEを、正系ストレージ装置3へ出力する(ステップA15)。正系ストレージ装置3は、トランザクション終了TEを取得すると、正系ボリューム3aが有する基底ジャーナル8aにトランザクション終了TEを書き込む(ステップA16)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へトランザクション終了TEを出力する(ステップA17)。複製ストレージ装置5は、トランザクション終了TEを取得すると、複製ボリューム5aが有する基底ジャーナル8cにトランザクション終了TEを書き込む(ステップA18)。
ところが、正系ボリューム3aが有する記憶媒体のいずれかに障害が発生した場合(図4の太字×を参照)、上述したステップA12において、データベース7aを更新できなくなる。そのため、上述したステップA13において、複製ボリューム5aが有するデータベース7cを更新できなくなる。
そのような場合、主系サーバ2は、正系ボリューム3aにおいて障害が発生した記憶媒体を示す情報と、その障害が発生した時刻を示す障害発生時刻とを関連付けた更新障害情報を、正系ストレージ装置3へ出力する(ステップA19)。正系ストレージ装置3は、更新障害情報を取得すると、正系ボリューム3aが有する障害情報9aに更新障害情報を
書き込む(ステップA20)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へ更新障害情報を出力する(ステップA21)。複製ストレージ装置5は、更新障害情報を取得すると、複製ボリューム5aが有する障害情報9cに更新障害情報を書き込む(ステップA22)。
なお、上述した正系ストレージ装置3が、複製ボリューム5aの更新をするタイミングは、更新する順序を変えなければ、正系ボリューム3aと同期して実行しなくてもよい。
次に、図5を用いて、正系ボリューム3aが有する記憶媒体のいずれかに障害が発生しているときに、更に主系サイト側が被災した場合における、従系サーバ6の動作について説明する。
従系サーバ6が有するロールバック処理部32は、障害情報9cを参照し(ステップB1)、正系ボリューム3aのいずれかの記憶媒体に障害があるか否かを判定する(ステップB2)。続いて、ロールバック処理部32は、記憶媒体に障害がある場合(ステップB2:Yes)、基底ジャーナル8cを参照し、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSを検出する(ステップB3)。そして、ロールバック処理部32は、複製ボリューム5a全てのデータベース7cに対して、検出したトランザクション開始TSまで、ロールバック処理を実行する(ステップB4)。
図6を用いて具体的に説明する。ステップB1、ステップB2において、ロールバック処理部32は、正系ボリューム3aのいずれかの記憶媒体に障害が発生した場合、障害情報9cを参照して、障害発生時刻を検出する。
ステップB3において、ロールバック処理部32は、基底ジャーナル8cを参照し、障害発生時刻に実行されたトランザクションmに対応するトランザクション開始TSmを検出する。又は、ロールバック処理部32は、基底ジャーナル8cを参照し、障害発生時刻後で、最初に出力されたトランザクション終了TEmを検出し、当該トランザクション終了TEmに対応するトランザクション開始TSmを検出してもよい。
ステップB4において、ロールバック処理部32は、複製ボリューム5a全てのデータベース7cに対して、検出したトランザクション開始TSmまで、ロールバック処理を実行する。その結果、障害発生時刻直前のトランザクションmまで、データベース7cを戻すことができる。
なお、ロールバック処理部32は、記憶媒体に障害がない場合(ステップB2:No)、中断されたトランザクションに対応するトランザクション開始TSを検出する(ステップB5)。そして、ロールバック処理部32は、複製ボリューム5a全てのデータベース7cに対して、検出したトランザクション開始TSまで、ロールバック処理を実行する(ステップB6)。
[第一の実施の形態の効果]
以上のように第一の実施の形態によれば、障害発生時刻に実行されたトランザクションに対応するトランザクション開始TSmまで、複製ボリューム5aの全てのデータベース7cに対して、ロールバック処理を実行できる。そのため、正系ボリューム3aのいずれかの記憶媒体に障害が発生し、障害が発生した記憶媒体のデータが複製ボリューム5aに複製されていない状況において、更に主系サイト側が被災しても、障害発生時刻の直前まで整合性を確保できる。
[プログラム]
本発明の第一の実施の形態におけるプログラムは、コンピュータに、図5に示すステップB1からB6を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、第一の実施の形態におけるストレージシステムに含まれる従系サーバとその制御方法とを実現することができる。この場合、コンピュータのプロセッサは、複製ボリューム操作部31と、ロールバック処理部32として機能し、処理を行なう。
また、第一の実施の形態では、複製ボリューム操作部31と、ロールバック処理部32とは、コンピュータに備えられたハードディスクなどの記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
また、第一の実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、複製ボリューム操作部31、ロールバック処理部32のいずれかとして機能してもよい。
(第二の実施の形態)
次に、本発明の第二の実施の形態におけるストレージシステムについて、図7から図11を参照しながら説明する。
[システム構成]
最初に、図7を用いて、第二の実施の形態におけるストレージシステムの構成について説明する。図7は、第二の実施の形態における、ストレージシステムの一例を示す図である。
図7に示す第二の実施の形態におけるストレージシステム1は、ソフトウェアによるボリューム二重化と、遠隔データリプリケーションとを適用したシステムである。ストレージシステム1は、主系サーバ2と、正系ボリューム3aを有する正系ストレージ装置3と、副系ボリューム4aを有する副系ストレージ装置4と、複製ボリューム5aを有する複製ストレージ装置5と、従系サーバ6とを有する。正系ボリューム3a、又は副系ボリューム4a、又は複製ボリューム5aそれぞれは、複数の記憶媒体を有する。
このうち、第二の実施の形態における主系サーバ2は、ソフトウェアにより二重化された、正系ボリューム3aと副系ボリューム4aとを更新する。正系ボリューム3aは、データベース7aと基底ジャーナル8aと障害情報9aと、更に累積ジャーナル10aを記憶する。副系ボリューム4aは、正系ボリュームとともに、データベース7bと基底ジャーナル8bと障害情報9bと、更に累積ジャーナル10aを記憶する。なお、以降において、副系ボリューム4aに記憶される、累積ジャーナル10aを累積ジャーナル10bと呼ぶ。
なお、累積ジャーナル10aは、データベース7aを更新した後のイメージ(トランザクションレコード)を有するジャーナルである。イメージは、トランザクションにおいて実行された操作を記憶した情報である。
複製ボリューム5aは、遠隔データリプリケーションにより、正系ボリューム3aから転送された、データベース7aと基底ジャーナル8aと障害情報9aと、更に累積ジャーナル10aを記憶する。なお、以降において、複製ボリューム5aに記憶される、累積ジャーナル10aを累積ジャーナル10cと呼ぶ。
正系ボリューム3aにおいて、データベース7aと、基底ジャーナル8aと、障害情報9aと、累積ジャーナル10aとは、正系ボリューム3aが有する複数の記憶媒体に分散して記憶される。また、副系ボリューム4aにおいて、データベース7bと、基底ジャーナル8bと、障害情報9bと、累積ジャーナル10bとは、副系ボリューム4aが有する複数の記憶媒体に分散して記憶される。更に、複製ボリューム5aにおいて、データベース7cと、基底ジャーナル8cと、障害情報9cと、累積ジャーナル10cとは、複製ボリューム5aが有する複数の記憶媒体に分散して記憶される。
従系サーバ6は、障害発生時刻と障害記憶媒体特定情報とを用いて、累積ジャーナル10cを参照し、障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出する。障害記憶媒体特定情報は、正系ボリューム3aにおいて障害が発生した記憶媒体を示す情報である。
その後、従系サーバ6は、正系ボリューム3aにおいて障害が発生した記憶媒体に対応する、複製ボリューム5aに存在するデータベース7cに対して、検出したトランザクションレコードからロールフォワード処理を実行する。
更に、従系サーバ6は、基底ジャーナル8cを参照し、複製ボリューム5aの全てのデータベース7cに対してロールバック処理を実行する。
このように、第二の実施の形態では、正系ボリューム3aにおいて障害が発生した記憶媒体に対応する、複製ボリューム5aに存在するデータベース7cに対して、検出したトランザクションレコードからロールフォワード処理を実行し、更にロールバック処理が実行できる。そのため、正系ボリューム3aのいずれかの記憶媒体に障害が発生し、障害が発生した記憶媒体のデータが複製ボリューム5aに複製されていない状況において、更に主系サイト側が被災しても、主系サイト側が被災した時刻直前まで整合性を確保できる。
続いて、図2、図8を用いて、第二の実施の形態におけるストレージシステム1について具体的に説明する。図8は、第二の実施の形態における、従系サイト側の一例を示す図である。
第一の実施の形態における主系サイト側と、第二の実施の形態における主系サイト側の違いについて説明する。
主系サーバ2は、第二の実施の形態において、少なくともトランザクション制御部21と、データベース制御部22と、ジャーナル制御部23と、障害管理部24と、二重化ボリューム操作部25とを有する。
データベース制御部22は、第二の実施の形態において、更に、トランザクションが実行されると、データベース7aを更新した後のイメージAIを生成し、ジャーナル制御部23へ出力する、制御をする。
ジャーナル制御部23は、第二の実施の形態において、更に、イメージAIを順番に、二重化ボリューム操作部25へ出力する、制御をする。
二重化ボリューム操作部25は、第二の実施の形態において、更に、ジャーナル制御部23からイメージAIを取得すると、正系ストレージ装置3と副系ストレージ装置4とを操作して、累積ジャーナル10aと累積ジャーナル10bとを更新する。
正系ストレージ装置3が有する正系ボリューム3aは、第二の実施の形態において、デ
ータベース7aと、基底ジャーナル8aと、障害情報9aと、累積ジャーナル10aとを一つ以上の記憶媒体に記憶する。また、副系ストレージ装置4が有する副系ボリューム4aは、第二の実施の形態において、データベース7bと、基底ジャーナル8bと、障害情報9bと、累積ジャーナル10bとを一つ以上の記憶媒体に記憶する。
正系ストレージ装置3は、副系ストレージ装置4とともに、主系サーバ2により操作され、データベース7aと、基底ジャーナル8aと、障害情報9aと、累積ジャーナル10aとが更新される。また、正系ストレージ装置3は、遠隔データリプリケーションを実行して、正系ボリューム3aに記憶されているデータベース7aと、基底ジャーナル8aと、障害情報9aと、累積ジャーナル10aとを、複製ストレージ装置5が有する複製ボリューム5aに複製する。
副系ストレージ装置4は、第二の実施の形態において、正系ストレージ装置3とともに、主系サーバ2により操作され、データベース7bと、基底ジャーナル8bと、障害情報9bと、累積ジャーナル10bとが更新される。
従系サイト側について説明する。第二の実施の形態における、従系サイト側は、図8に示すように、複製ストレージ装置5と、従系サーバ6とを有する。
複製ストレージ装置5が有する複製ボリューム5aは、第二の実施の形態において、データベース7cと、基底ジャーナル8cと、障害情報9cと、累積ジャーナル10aとを一つ以上の記憶媒体に記憶する。
通常時、複製ボリューム5aには、正系ボリューム3aが実行する、遠隔データリプリケーションにより、正系ボリューム3aに記憶されているデータベース7aと、基底ジャーナル8aと、障害情報9aと、累積ジャーナル10aが複製される。複製ボリューム5aは、従系サーバ6により、ロールフォワード処理とロールバック処理とが実行される。
従系サーバ6は、第二の実施の形態において、複製ボリューム5aに記憶されている、基底ジャーナル8cと障害情報9cと累積ジャーナル10cとを用いて、複製ボリューム5aに対してロールフォワード処理とロールバック処理を実行する。従系サーバ6は、少なくとも複製ボリューム操作部31と、ロールフォワード処理81、ロールバック処理部82とを有する。
複製ボリューム操作部31は、第二の実施の形態において、更に、複製ストレージ装置5を操作して、障害情報9cと、累積ジャーナル10cとを取得し、障害情報9cと、累積ジャーナル10cとをロールフォワード処理部81へ出力する。また、複製ボリューム操作部31は、ロールフォワード処理部81からデータベース7cを更新するデータを取得し、複製ストレージ装置5を操作して、取得したデータを用いてデータベース7cを更新する。
また、複製ボリューム操作部31は、ロールフォワード処理終了後、複製ストレージ装置5を操作して、基底ジャーナル8cと、障害情報9cとを取得し、ロールバック処理部82へ出力する。また、複製ボリューム操作部31は、ロールバック処理部82からデータベース7cを更新するデータを取得し、複製ストレージ装置5を操作して、取得したデータを用いてデータベース7cを更新する。
ロールフォワード処理部81は、障害情報9cを参照し、正系ボリューム3aのいずれかの記憶媒体に障害がないか否かを判定する。続いて、ロールフォワード処理部81は、正系ボリューム3aのいずれかの記憶媒体に障害がある場合、障害発生時刻と、障害記憶
媒体特定情報とを用いて、累積ジャーナル10cを参照し、障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出する。すなわち、複製ボリューム5aに記憶された、正系ボリューム3aにおいて障害が発生した記憶媒体に存在するデータベース(データベース7cに含まれるデータベース)に対応する、累積ジャーナル10cを参照し、トランザクションレコードを検出する。
続いて、ロールフォワード処理部81は、正系ボリューム3aにおいて障害が発生した記憶媒体に対応する、複製ボリューム5aに存在するデータベース(データベース7cに含まれるデータベース)に対して、検出したトランザクションレコードからロールフォワード処理を実行する。
更に、ロールバック処理部82は、障害情報9cと累積ジャーナル10cとを参照し、正系ボリューム3aのいずれかの記憶媒体に障害がなく、かつトランザクションが中断したか否かを判定する。すなわち、ロールバック処理部32は、トランザクション終了TEがないか否かを判定する。
続いて、ロールバック処理部82は、正系ボリューム3aのいずれかの記憶媒体に障害なく、かつトランザクションが中断した場合、中断されたトランザクションに対応するトランザクション開始TSまで、複製ボリューム5aの全てのデータベース7cに対してロールバック処理を実行する。
[システム動作]
次に、本発明の第二の実施の形態におけるストレージシステム及び従系サーバの動作について図9、図10、図11を用いて説明する。図9は、第二の実施の形態における、ストレージシステムの動作の一例を示す図である。図10は、第二の実施の形態における、従系サーバの動作の一例を示す図である。図11は、第二の実施の形態における、ロールフォワード処理及びロールバック処理の一例を示す図である。以下の説明においては、適宜図2、図7、図8を参酌する。また、第二の実施の形態では、ストレージシステムを動作させることによって、ストレージシステムの制御方法が実施される。よって、第二の実施の形態におけるストレージシステムの制御方法の説明は、以下のストレージシステム及び従系サーバの動作説明に代える。
図9に示す動作の概要を用いて、本発明の第二の実施の形態において、複製ボリューム5aに、累積ジャーナル10cを複製する方法を説明する。なお、副系ストレージ装置4の動作については、正系ストレージ装置3と同じ動作であるので説明を省略する。
累積ジャーナル10cを複製する処理を、図9におけるステップA91からA94に示す。主系サーバ2は、データベース7aからデータを取得すると、データベース7aを更新した後のイメージAIを、正系ストレージ装置3へ出力する(ステップA91)。正系ストレージ装置3は、イメージAIを取得すると、正系ボリューム3aが有する累積ジャーナル10aにイメージAIを書き込む(ステップA92)。続いて、正系ストレージ装置3は、遠隔データリプリケーション処理を実行して、複製ストレージ装置5へイメージAIを出力する(ステップA93)。複製ストレージ装置5は、イメージAIを取得すると、複製ボリューム5aが有する累積ジャーナル10cにイメージAIを書き込む(ステップA94)。なお、ステップA91からA94以外の処理については、第一の実施の形態において説明をしたので、説明を省略する。なお、トランザクションが継続している場合には、上述したステップA5からステップA10、ステップA91からステップA94、ステップA11からステップA14の処理を繰り返す。
次に、図10を用いて、正系ボリューム3aが有する記憶媒体のいずれかに障害が発生
しているときに、更に主系サイト側が被災した場合における、従系サーバ6の動作について説明する。
従系サーバ6が有するロールフォワード処理部81は、障害情報9cを参照し(ステップC1)、正系ボリューム3aのいずれかの記憶媒体に障害があるか否かを判定する(ステップC2)。続いて、ロールフォワード処理部81は、記憶媒体に障害がある場合(ステップC2:Yes)、累積ジャーナル10cを参照し、障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出する(ステップC3)。そして、ロールフォワード処理部81は、正系ボリューム3aにおいて障害が発生した、記憶媒体に対応する、複製ボリューム5aに存在するデータベースに対して、検出したトランザクションレコードからロールフォワード処理を実行する(ステップC4)。
続いて、ロールバック処理部82は、基底ジャーナル8cを参照し、中断されたトランザクションに対応するトランザクション開始TSを検出する(ステップC5)。そして、ロールバック処理部82は、複製ボリューム5a全てのデータベース7cに対して、検出したトランザクション開始TSまで、ロールバック処理を実行する(ステップC6)。
図11を用いて具体的に説明する。ステップC1、ステップC2において、ロールバック処理部32は、正系ボリューム3aのいずれかの記憶媒体に障害が発生した場合、障害情報9cを参照して、障害発生時刻と、障害ボリューム記憶媒体特定情報とを検出する。
ステップC3において、ロールフォワード処理部81は、累積ジャーナル10cを参照し、障害発生時刻に実行されたトランザクションkに対応するイメージAIky又はAIkz(トランザクションレコード)を検出する。
ステップC4において、ロールフォワード処理部81は、正系ボリューム3aにおいて障害が発生した記憶媒体に対応する、複製ボリューム5aに存在するデータベースに対して、検出したイメージAIky又はAIkz(トランザクションレコード)からロールフォワード処理を実行する。その結果、障害発生時刻直前のトランザクションkまで、データベース7cを戻すことができる。
ステップC5において、ロールバック処理部82は、基底ジャーナル8cを参照し、中断されたトランザクションnに対応するトランザクション開始TSnを検出する。
ステップC6において、ロールバック処理部82は、複製ボリューム5a全てのデータベース7cに対して、検出したトランザクション開始TSnまで、ロールバック処理を実行する。その結果、主系サイト側が被災した時刻直前のトランザクションnまで、データベース7cを戻すことができる。
[第二の実施の形態の効果]
このように、第二の実施の形態では、正系ボリューム3aにおいて障害が発生した記憶媒体に対応する、複製ボリューム5aに存在するデータベース7cに対して、検出したトランザクションレコードからロールフォワード処理を実行し、更にロールバック処理が実行できる。そのため、正系ボリューム3aのいずれかの記憶媒体に障害が発生し、障害が発生した記憶媒体のデータが複製ボリューム5aに複製されていない状況において、更に主系サイト側が被災しても、主系サイト側が被災した時刻直前まで整合性を確保できる。
[プログラム]
本発明の第二の実施の形態におけるプログラムは、コンピュータに、図10に示すステップC1からC6を実行させるプログラムであればよい。このプログラムをコンピュータ
にインストールし、実行することによって、第二の実施の形態におけるストレージシステムに含まれる従系サーバと制御方法とを実現することができる。この場合、コンピュータのプロセッサは、複製ボリューム操作部31と、ロールフォワード処理部81と、ロールバック処理部82として機能し、処理を行なう。
また、第二の実施の形態では、複製ボリューム操作部31と、ロールフォワード処理部81と、ロールバック処理部82とは、コンピュータに備えられたハードディスクなどの記憶装置に、これらを構成するデータファイルを格納することによって、又はこのデータファイルが格納された記録媒体をコンピュータと接続された読取装置に搭載することによって実現されている。
また、第二の実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、複製ボリューム操作部31、ロールフォワード処理部81、ロールバック処理部82のいずれかとして機能してもよい。
[物理構成]
ここで、第一、第二の実施の形態におけるプログラムを実行することによって、従系サーバを実現するコンピュータについて図12を用いて説明する。図12は、本発明の実施の形態における従系サーバを実現するコンピュータの一例を示す図である。
図12に示すように、コンピュータ110は、CPU111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていてもよい。
CPU111は、記憶装置113に格納された、第一、第二の実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。また、第一、第二の実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、第一、第二の実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)など
の光学記録媒体があげられる。
なお、第一、第二の実施の形態における従系サーバ6は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、従系サーバ6は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
以上のように本発明によれば、障害が発生した記憶媒体のデータが複製ボリュームに複製されていない状況において、更に主系サイト側が被災しても、従系サーバは、データベースの整合性を確保できる。本発明は、データベースの整合性を確保することが必要な分野において有用である。
1 ストレージシステム
2 主系サーバ
3 正系ストレージ装置
3a 正系ボリューム
4 副系ストレージ装置
4a 副系ボリューンム
5 複製ストレージ装置
5a 複製ボリューム
6 従系サーバ
7a、7b、7c データベース
8a、8b、8c 基底ジャーナル
9a、9b、9c 障害情報
10a、10b、10c 累積ジャーナル
21 トランザクション制御部
22 データベース制御部
23 ジャーナル制御部
24 障害管理部
25 二重化ボリューム操作部
31 複製ボリューム操作部
32、82 ロールバック処理部
81 ロールフォワード処理部
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス

Claims (9)

  1. データベースと基底ジャーナルと障害情報とを記憶する、正系ボリュームと、
    前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する、副系ボリュームと、
    前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する、複製ボリュームと、
    前記正系ボリューム及び副系ボリュームを更新する、主系サーバと、
    前記複製ボリュームに記憶された障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出し、前記複製ボリュームの全てのデータベースに対して前記トランザクション開始までロールバック処理を実行する、従系サーバと、
    を有することを特徴とするストレージシステム。
  2. データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する、正系ボリュームと、
    前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する、副系ボリュームと、
    前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する、複製ボリュームと、
    前記正系ボリューム及び副系ボリュームを更新する、主系サーバと、
    前記複製ボリュームに記憶された障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出し、前記正系ボリュームにおいて障害が発生した前記記憶媒体に対応する、前記複製ボリュームに存在するデータベースに対して、検出した前記トランザクションレコードからロールフォワード処理を実行する、従系サーバと、
    を有することを特徴とするストレージシステム。
  3. 請求項2に記載のストレージシステムであって、
    前記従系サーバは、前記ロールフォワード処理が終了後、前記基底ジャーナルを参照し、前記複製ボリュームの全てのデータベースに対してロールバック処理を実行する
    ことを特徴とするストレージシステム。
  4. データベースと基底ジャーナルと障害情報とを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、前記複製ボリュームを制御する従系サーバと、を有するストレージシステムの制御方法であって、
    (A)前記複製ボリュームに記憶された前記障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出する、ステップと、
    (B)前記複製ボリュームの全てのデータベースに対して前記トランザクション開始までロールバック処理を実行する、ステップと、
    を有することを特徴とするストレージシステムの制御方法。
  5. データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する正系ボリュー
    ムと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、前記複製ボリュームを制御する従系サーバと、を有するストレージシステムの制御方法であって、
    (C)前記複製ボリュームに記憶された障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションにおけるトランザクションレコードを検出する、ステップと、
    (D)前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する、前記複製ボリュームのデータベースに対して、検出した前記トランザクションレコードからロールフォワード処理を実行する、ステップと、
    を有することを特徴とするストレージシステムの制御方法。
  6. 請求項5に記載のストレージシステムの制御方法であって、
    (E)前記ロールフォワード処理が終了後、前記基底ジャーナルを参照し、前記複製ボリュームの全てのデータベースに対してロールバック処理を実行する、ステップと、
    を有することを特徴とするストレージシステムの制御方法。
  7. データベースと基底ジャーナルと障害情報とを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報とを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、を有するストレージシステムに接続されるコンピュータに実行される制御プログラムであって、
    前記コンピュータに、
    (A)前記複製ボリュームに記憶された前記障害情報に含まれる障害発生時刻を用いて、前記複製ボリュームに記憶された前記基底ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクション開始を検出する、ステップと、
    (B)前記複製ボリュームの全てのデータベースに対して前記トランザクション開始までロールバック処理を実行する、ステップと、
    を実行させることを特徴とする制御プログラム。
  8. データベースと基底ジャーナルと障害情報と累積ジャーナルとを記憶する正系ボリュームと、前記正系ボリュームとともに、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する副系ボリュームと、前記正系ボリュームから転送された、前記データベースと前記基底ジャーナルと前記障害情報と前記累積ジャーナルとを記憶する複製ボリュームと、前記正系ボリューム及び副系ボリュームを更新する主系サーバと、を有するストレージシステムに接続されるコンピュータに実行される制御プログラムであって、
    前記コンピュータに、
    (C)前記複製ボリュームに記憶された障害情報に含まれる、障害発生時刻と、障害が発生した記憶媒体を示す障害記憶媒体特定情報とを用いて、前記複製ボリュームに記憶された、前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する前記累積ジャーナルを参照し、前記障害発生時刻に実行されたトランザクションに対応するトランザクションレコードを検出する、ステップと、
    (D)前記正系ボリュームにおいて障害が発生した前記記憶媒体に存在するデータベースに対応する、前記複製ボリュームのデータベースに対して、検出した前記トランザクショ
    ンレコードからロールフォワード処理を実行する、ステップと、 を実行させることを特徴とする制御プログラム。
  9. 請求項8に記載の制御プログラムであって、
    前記コンピュータに、
    (E)前記ロールフォワード処理が終了後、前記基底ジャーナルを参照し、前記複製ボリュームの全てのデータベースに対してロールバック処理を実行する、ステップと、
    を実行させることを特徴とする制御プログラム。
JP2018054496A 2018-03-22 2018-03-22 ストレージシステム、制御方法、及びプログラム Active JP7007017B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018054496A JP7007017B2 (ja) 2018-03-22 2018-03-22 ストレージシステム、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018054496A JP7007017B2 (ja) 2018-03-22 2018-03-22 ストレージシステム、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2019168797A true JP2019168797A (ja) 2019-10-03
JP7007017B2 JP7007017B2 (ja) 2022-01-24

Family

ID=68108288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018054496A Active JP7007017B2 (ja) 2018-03-22 2018-03-22 ストレージシステム、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7007017B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6310252A (ja) * 1986-06-30 1988-01-16 インターナショナル ビジネス マシーンズ コーポレーション ログ・デ−タを管理する方法
JP2001184267A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd 記憶サブシステム
US20040193658A1 (en) * 2003-03-31 2004-09-30 Nobuo Kawamura Disaster recovery processing method and apparatus and storage unit for the same
JP2006023889A (ja) * 2004-07-07 2006-01-26 Hitachi Ltd リモートコピーシステム及び記憶装置システム
JP2008250717A (ja) * 2007-03-30 2008-10-16 Nec Corp データベース復旧方法、データベース復旧装置及びデータベース復旧プログラム
JP2016062306A (ja) * 2014-09-18 2016-04-25 日本電気株式会社 ストレージシステム、制御方法および制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6310252A (ja) * 1986-06-30 1988-01-16 インターナショナル ビジネス マシーンズ コーポレーション ログ・デ−タを管理する方法
JP2001184267A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd 記憶サブシステム
US20040193658A1 (en) * 2003-03-31 2004-09-30 Nobuo Kawamura Disaster recovery processing method and apparatus and storage unit for the same
JP2004303025A (ja) * 2003-03-31 2004-10-28 Hitachi Ltd 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
JP2006023889A (ja) * 2004-07-07 2006-01-26 Hitachi Ltd リモートコピーシステム及び記憶装置システム
JP2008250717A (ja) * 2007-03-30 2008-10-16 Nec Corp データベース復旧方法、データベース復旧装置及びデータベース復旧プログラム
JP2016062306A (ja) * 2014-09-18 2016-04-25 日本電気株式会社 ストレージシステム、制御方法および制御プログラム

Also Published As

Publication number Publication date
JP7007017B2 (ja) 2022-01-24

Similar Documents

Publication Publication Date Title
US11599557B2 (en) System and method for persistence and replication of changes to a data store
JP4261800B2 (ja) クライアントサーバー環境における差分バックアップシステムの管理方法
JP4484618B2 (ja) ディザスタリカバリシステム、プログラム及びデータの複製方法
CN101243446B (zh) 从数据库镜像进行在线页还原
JP5337916B1 (ja) 情報処理システム
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
US9165012B2 (en) Periodic file system checkpoint manager
US20080140963A1 (en) Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
US20110099148A1 (en) Verification Of Remote Copies Of Data
JP2007164769A (ja) ミラーリングされたシステム内の障害を管理するための方法、システム、およびプログラム(ミラーリングされたシステム内の障害の管理)
JP4715774B2 (ja) レプリケーション方法、レプリケーションシステム、ストレージ装置、プログラム
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
US7979651B1 (en) Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot
US10613923B2 (en) Recovering log-structured filesystems from physical replicas
JP2006004031A (ja) データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム
US11494271B2 (en) Dynamically updating database archive log dependency and backup copy recoverability
JPWO2008129620A1 (ja) 完全二重化システム、システム制御方法およびシステム制御プログラム
JP5292350B2 (ja) メッセージキュー管理システム及びロックサーバ及びメッセージキュー管理方法及びメッセージキュー管理プログラム
US8677088B1 (en) Systems and methods for recovering primary sites after failovers to remote secondary sites
US20220121524A1 (en) Identifying database archive log dependency and backup copy recoverability
JP7007017B2 (ja) ストレージシステム、制御方法、及びプログラム
JP6251965B2 (ja) 情報システムおよびデータベース復旧方法
JP2008276281A (ja) データ同期システム、方法、及び、プログラム
CN114968656A (zh) 一种数据回滚方法、装置、设备及介质
US10884874B1 (en) Federated restore of availability group database replicas

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211227

R150 Certificate of patent or registration of utility model

Ref document number: 7007017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150