JP4688617B2 - 記憶制御システム及び方法 - Google Patents

記憶制御システム及び方法 Download PDF

Info

Publication number
JP4688617B2
JP4688617B2 JP2005269573A JP2005269573A JP4688617B2 JP 4688617 B2 JP4688617 B2 JP 4688617B2 JP 2005269573 A JP2005269573 A JP 2005269573A JP 2005269573 A JP2005269573 A JP 2005269573A JP 4688617 B2 JP4688617 B2 JP 4688617B2
Authority
JP
Japan
Prior art keywords
backup
journal
logical volume
mode
snapshot
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
JP2005269573A
Other languages
English (en)
Other versions
JP2007080131A (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 JP2005269573A priority Critical patent/JP4688617B2/ja
Priority to US11/283,880 priority patent/US7356657B2/en
Publication of JP2007080131A publication Critical patent/JP2007080131A/ja
Application granted granted Critical
Publication of JP4688617B2 publication Critical patent/JP4688617B2/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/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/1458Management of the backup or restore process
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Description

本発明は、データの記憶技術に関し、具体的には、データのバックアップやリストアの制御に関する。
例えば、論理ボリュームのスナップショットとその論理ボリュームへの書込みの履歴(以下、ジャーナル)とを組み合わせて任意時点のデータを復元する技術がある(例えば、特開2005−18738号公報)。
特開2005−18738号公報。
データのバックアップやリストアのために採られる技術として、例えば、スナップショットを取得しそのスナップショットを使用してデータをリストアする技術(以下、便宜上「スナップショット技術」と言う)と、ジャーナルを取得しそのジャーナルを利用してデータをリストアする技術(以下、便宜上「ジャーナル技術」と言う)とがある。スナップショットとは、論理ボリュームの或る時点でのイメージのことである。ジャーナルとは、論理ボリュームへの書込みの履歴のことである。
スナップショット技術によれば、一般に、スナップショットそれ自体をリストアされたデータとして使用することができるため、リストアを短時間で行うことができる。しかし、多くの時点のどの時点にもリストアできるようにするためには、多数のスナップショットを取得する必要が生じるので、負荷が大きい。
一方、ジャーナル技術によれば、多くの時点のどの時点にもリストアできるようにしたい場合であっても、論理ボリュームへの書込みのジャーナルを記録すれば良いので、スナップショット技術に比べて負荷は小さい。しかし、過去の或る時点のデータをリストアするためには、その時点までの各時点のジャーナルを順次に利用しリストアしていく必要があるため、一般に、スナップショット技術よりもリストアに長い時間がかかってしまう。また、リストア対象とするデータが、アプリケーション及びデータベース等のようにデータ間で関連を持っている場合、リストアされたデータは、アプリケーション、およびデータベースのレベルで整合性が確保されていなくてはならないが、ストレージのジャーナルで任意の時点に回復したデータでは、上記の整合性は必ずしも保証されていない。
このように、スナップショット技術とジャーナル技術には、それぞれ短所があり、単独では、必ずしも効果的なバックアップやリストアを行うことはできない。また、互いの短所を補うため、スナップショット技術とジャーナル技術を常に併用するという方法も考え得るが、常に併用するとなると、負荷やコストの面で問題がある。
本発明の一つの目的は、従来よりも効果的なバックアップ及びリストアを行えるようにすることにある。
本発明の他の目的は、後の説明から明らかになるであろう。
本発明に従う記憶制御方法は、論理ボリュームと論理ボリュームに対するアクセス要求元とを備えたシステムで実現されるものである。この記憶制御方法は、以下の処理、
(A)アクセス要求元から書込み要求が発行される都度に、発行された書込み要求に含まれているデータを第一の論理ボリュームに書くことで、前記第一の論理ボリュームを更新し、
(B)スナップショットモードとなり、
(C)バックアップ実行時間長の確保に関する状態を監視し、アクセス要求元を停止或いは静止化しておくことができる時間長であるバックアップウィンドウが減少することによって、或る状態よりもバックアップのための時間長を確保しづらい状態になった場合には(例えば、バックアップウィンドウよりもバックアップに要する時間長の方が長い場合には)、前記スナップショットモードに変えてジャーナルモードとなり、
(D)前記スナップショットモードとなっている場合、バックアップの実行の際には、定期的に又は不定期的に、その時点の前記第一の論理ボリュームのスナップショットを第二の論理ボリュームに取得し、リストアの実行の際には、前記第二の論理ボリューム内のスナップショットをリストアされたデータとし、
(E)前記ジャーナルモードとなっている場合、前記書込み要求が発行される都度に、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルを第三の論理ボリュームに書き、リストアの実行の際には、前記第三の論理ボリュームに書かれたジャーナル中のデータを適用したものを取得する、
を実行する。
第一の態様では、前記バックアップ実行時間長の確保に関する状態の監視として、前記第一の論理ボリュームに対する書込み要求の発行頻度を求め、求められた発行頻度と或る頻度閾値とを比較することができる。前記或る状態よりもバックアップのための時間長を確保しづらい状態になった場合とは、前記発行頻度が前記或る頻度閾値を超えた場合であるとすることができる。また、前記発行頻度が前記或る頻度閾値以下になった場合に、前記ジャーナルモードに変えて元の前記スナップショットモードとなることもできる。
第二の態様では、前記バックアップ実行時間長の確保に関する状態の監視として、所定の方法により(例えば、バックアップの開始時と終了時のそれぞれの時刻から)バックアップ実行時間長を算出し、算出されたバックアップ実行時間長と或る時間長閾値とを比較することができる。前記或る状態よりもバックアップのための時間長を確保しづらい状態になった場合とは、算出されたバックアップ実行時間長が所定の時間長を超えている場合であるとすることができる。
第三の態様では、前記ジャーナルモードとなった場合、所定のタイミングで、その時点の前記第一の論理ボリュームのスナップショットを第四の論理ボリュームに取得し、定期的に又は不定期的に、前記第三の論理ボリュームにおけるジャーナル内のデータを、前記第四の論理ボリューム内のスナップショットに適用することで、更新後のスナップショットを取得し、更新後のスナップショットを前記第二の論理ボリューム内に生成し、リストアの際には、前記第二の論理ボリューム内に生成されたスナップショットをリストアされたデータとすることができる。また、前記スナップショットモードの場合、前記アクセス要求元から書込み要求が発行されないよう前記アクセス要求元を静止化し、その静止化後に、前記第一の論理ボリュームのスナップショットを前記第二の論理ボリュームに取得することができる。前記ジャーナルモードの場合、前記アクセス要求元の静止化を行うことなく、前記第一の論理ボリュームのスナップショットを前記第四の論理ボリュームに取得することができる。
第四の態様では、前記ジャーナルモードの場合、バックアップの時点、及び、エラーが検知された時点のうちの少なくとも一方の時点において、その時点を表すデータであるチェックポイントを所定の記憶域に書き、リストアの際、前記チェックポイントが表す時点までのジャーナル内のデータを適用したものを取得することができる。なお、このジャーナルモードの場合、アクセス要求元の静止化を行ってから、チェックポイントを書き、その後、アクセス要求元の静止化の解除を行うことができる。
第五の態様では、前記スナップショットモード及び前記バックアップモードのうちの少なくとも一方になっている場合、エラーが検知された時点で、前記第三の論理ボリュームにジャーナルが追記されないように制御することで、前記第三の論理ボリューム内のジャーナルを確保し、その時点から一定時間よりも過去のジャーナル内のデータを適用したものを取得することができる。
第六の態様では、少なくとも複数の第二の論理ボリュームがあってもよい。この場合、前記ジャーナル内のデータを適用したものをどの第二の論理ボリュームに適用するかを記録したテーブルとは別のテーブルに、エラーが検知された時点でジャーナルの確保を行うか否かを記録することができる。
第七の態様では、複数の論理ボリュームの候補の中から論理ボリュームを選択し、選択された論理ボリュームを前記第三の論理ボリュームとすることができる。ここで、前記選択される論理ボリュームの容量又は数を、バックアップ実行時間長の確保に関する状態に応じた容量又は数とすることができる。
本発明に従う計算機は、以下の処理、
(b)第一の論理ボリュームに対する書込み要求をストレージシステムに発行し、
(c)スナップショットモードとなり、
(d)バックアップ実行時間長の確保に関する状態を監視し、アクセス要求元を停止或いは静止化しておくことができる時間長であるバックアップウィンドウが減少することによって、或る状態よりもバックアップのための時間長を確保しづらい状態になった場合には、前記スナップショットモードに変えてジャーナルモードとなり、
(e)前記スナップショットモードとなっている場合、バックアップの実行の際には、定期的に又は不定期的に、その時点の前記第一の論理ボリュームのスナップショットを取得するよう前記ストレージシステムに要求し、リストアの実行の際には、前記第一の論理ボリュームに対応する第二の論理ボリューム内のスナップショットを前記リストアされたデータとし、
(f)前記ジャーナルモードとなった場合、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルの記録を開始するよう前記ストレージシステムに要求する、
を実行することができる。(b)〜(f)の各々の処理は、所定の手段によって実行することもできるし、複数のコンピュータプログラムを読み込んだ一又は複数のプロセッサ(例えばCPU)によって実行することもできる。各コンピュータプログラムは、計算機に備えられる記憶資源(例えばメモリ)から読み込むことができる。その記憶資源には、CD−ROM等の記録媒体を介してインストールすることもできるし、インターネット等の通信ネットワークを介してダウンロードすることもできる。
本発明によれば、従来よりも効果的なバックアップ及びリストアを行うことができる。
図1Aは、本発明の一実施形態に係るシステムのハードウェア構成の概要を示す。
業務サーバ1と、ストレージシステム21と、管理サーバ11とが、第一の通信ネットワーク、例えばLAN(Local Area Network)12に接続されている。業務サーバ1とストレージシステム21とが、第二の通信ネットワーク、例えばSAN(Storage Area Network)2に接続されている。なお、第一及び第二の通信ネットワークは、一つの通信ネットワークであっても良い。また、業務サーバ1もストレージシステム21も、複数台存在しても良いが、説明を分かり易くするため、それぞれ一台のみを図示している。
業務サーバ1は、ユーザの業務(以下、ユーザ業務)を実行するためのサーバである。業務サーバ1は、種々のコンピュータプログラムを記憶することができる記憶資源(例えばメモリやハードディスクドライブ)5や、記憶資源5からコンピュータプログラムを読込んで実行するCPU3や、SAN2を介した通信を制御するためのインターフェース装置(以下、インターフェース装置を「I/F」と略記)9や、LAN12を介した通信を制御するためのLAN I/F7等のハードウェア資源を備えるコンピュータマシンである。
管理サーバ11は、ストレージシステム21を管理及び監視するためのサーバである。管理サーバ11は、種々のコンピュータプログラムを記憶することができる記憶資源15や、記憶資源15からコンピュータプログラムを読込んで実行するCPU13や、LAN12を介した通信を制御するためのLAN I/F17等のハードウェア資源を備えるコンピュータマシンである。なお、この実施形態では、管理サーバ11と業務サーバ1は別々のサーバとなっているが、それに代えて、管理サーバ11は業務サーバ1とは同一のものであっても良い。また、管理サーバ11が有する機能(例えば、後述のストレージ管理プログラム49の実行によって発揮される機能)が、ストレージシステム21に搭載され、管理サーバ11が存在しない形態が採用されても良い。
ストレージシステム21は、例えば、データを記憶することができる記憶メディア(例えばハードディスク)を備えた複数のメディアドライブ(例えばハードディスクドライブ)33を備えたRAID(Redundant Array of Independent Inexpensive Disks)システムとすることができる。ストレージシステム21は、複数のメディアドライブ33の他に、例えば、コントローラ22を備える。
コントローラ22は、ストレージシステム21の動作を制御する装置である。コントローラ22は、SAN2を介した通信を制御するSAN I/F29や、LAN12を介した通信を制御するLAN I/F27や、各メディアドライブ33を介した通信を制御するドライブI/F31を備えることができる。また、コントローラ22は、メディアドライブ33と業務サーバ1との間で授受されるデータを一時的に記憶することができるキャッシュメモリ26や、ストレージシステム21を制御するためのデータやコンピュータプログラムを記憶することができるメモリ(以下、制御メモリ)25や、制御メモリ25からコンピュータプログラムを読み込んで実行するCPU23を備えることができる。
図1Bは、本発明の一実施形態に係るシステムを構成する各サーバやストレージシステムで実行されるコンピュータプログラムの一例を示す。なお、以下、便宜上、コンピュータプログラムを読み込んで実行するCPUが行う動作の主体を、「CPUが」ではなく「プログラムが」と記載することにする。
業務サーバ1のCPU3は、一又は複数のアプリケーションプログラム(以下、「アプリケーション」と略記)47と、バックアップ管理プログラム45と、エラー検知プログラム44とを実行することができる。
アプリケーション47は、ユーザ業務を遂行するためのプログラムである。このプログラム47は、ストレージシステム21のメディアドライブ33に格納されたデータを読み出して使用することができる。なお、図1Bでは、二つのアプリケーションA,Bが例示されているが、実際には動作するアプリケーションの数は幾つでも良い。
バックアップ管理プログラム45は、ストレージシステム21に存在する論理ボリューム(メディアドライブ33上に設定された論理的な記憶デバイス)43のコピーペア制御、アプリケーション47の静止化、アプリケーション47のデータのバックアップ及びリストアを行うことができる(コピーペア制御及び静止化については後述する)。また、バックアップ管理プログラム45は、バックアップ時に後述のジャーナルボリューム43Jを使用している場合、対象となるアプリケーション47の整合性が確保されている時点をチェックポイント(例えばフラグ)としてジャーナルボリューム43Jに記録することができる。また、このプログラム45は、後述する種々のテーブルを保持している。
エラー検知プログラム44は、アプリケーションプラグラム47の実行により出力されたエラー情報を検知するためのプログラムである。本プログラム44は、エラー情報を検知した場合(例えばエラー情報を検知したら即時に)、バックアップ管理プログラム45に、エラーを検知したことを通知することができる。
管理サーバ11のCPU13は、ストレージ管理プログラム49を実行することができる。ストレージ管理プログラム49は、ストレージシステム21の稼動状況を監視することができる。また、ストレージ管理プログラム49は、定期的に(又は不定期的に)、ストレージシステム21内の各論理ボリューム43に対するアクセス頻度を取得し、取得したアクセス頻度を所定のテーブルに記録することができる。
ストレージシステム21のCPU23は、制御プログラム41を実行することができる。制御プログラム41は、業務サーバ1からのアクセス要求(例えば、データの書込み要求或いは読出し要求)を処理したり、論理ボリューム43間のコピーを制御したりすることができる。制御プログラム41は、例えば、業務サーバ1から書き込み要求を受信した場合、その書込み要求で指定されている論理ボリューム43に対して、その書き込み要求に含まれているデータを書き込み、且つ、それと実質的に同時に、ジャーナルボリューム43Jに対して書き込み履歴(つまりジャーナル)を記録することができる。また、制御プログラム41は、バックアップ管理プログラム45からの要求に応じて、所定の処理を行うことにより、後述のセカンダリボリューム43Sにスナップショットを作成することができる。
ストレージシステム21には、複数の論理ボリューム43を設定することができる。そして、複数の論理ボリューム43には、例えば、プライマリボリューム(以下、PVOL)43Pと、セカンダリボリューム(以下、SVOL)43Sと、ジャーナルボリューム(以下、JVOL)43Jと、ジャーナル適用ボリューム43Iとが含まれている。
PVOL43Pは、アプリケーション47で使用されるデータを記憶することができ、且つ、コピー元となる論理ボリュームである。例えば、業務サーバ1から書き込み要求があった場合、制御プログラム41の制御により、その書込み要求に含まれているデータがPVOL43Pに書き込まれる。
SVOL43Sは、PVOL43Pのコピー先となる論理ボリューム、別の言い方をすれば、PVOL43Pのスナップショットイメージを記憶することができる論理ボリュームである。SVOL43Sは、PVOL43Pとコピーペアになることができ、バックアップ管理プログラム45からの要求によって、コピーペアのスプリットが行われた時点のスナップショットイメージをバックアップデータとして保持することができる。
JVOL43Jは、PVOL43Pに対する書き込みの履歴(ジャーナル)を記憶することができる論理ボリュームである。JVOL43Jにジャーナルが記録されていれば、ジャーナルを利用したリストアが可能である。なお、ジャーナルを利用してデータのリストを行うためには、ジャーナルの基点となるスナップショットが別途必要になる。
ジャーナル適用ボリューム43Iは、JVOL43Jに記録されたジャーナルを適用するためのスナップショットを記憶することができる論理ボリュームである。本ボリューム43Iは、リストア用のスナップショットをSVOL43S上に作成するため、内部的に使用されるものである。このため、以下、便宜上、ジャーナル適用ボリュームを「IVOL」と略記する。
ところで、この実施形態では、バックアップ管理プログラム45は、ボリューム管理テーブル、バックアップ設定テーブル、バックアップ管理テーブル及びジャーナル管理テーブルを記憶資源5上に保持することができる。また、ストレージ管理プログラム49は、アクセス頻度履歴テーブル及びジャーナルボリューム管理テーブルを記憶資源15上に保持することができる。以下、各テーブルについて説明する。
図2Aは、ボリューム管理テーブルの構成例を示す。
ボリューム管理テーブル51は、バックアップ管理プログラム45がバックアップ対象のアプリケーションとボリュームの対応関係を把握するために使用するものである。具体的には、例えば、ボリューム管理テーブル51は、バックアップ管理プログラム45と同一の業務サーバ1に存在する各アプリケーション47毎に、「バックアップ対象」、「マウントポイント」及び「ボリュームID」が登録される。「バックアップ対象」とは、バックアップ対象となるデータを使用するアプリケーション47のID(例えば名称)である。「マウントポイント」とは、アプリケーション47に認識される仮想的なドライブのパス名であり、「ボリュームID」とは、そのドライブに割り当てられた論理ボリューム43(典型的にはPVOL43P)のID(例えば番号)である。
図2Bは、バックアップ設定テーブルの構成例を示す。
バックアップ設定テーブル53は、ユーザによって定義されたバックアップの設定に関する情報を記録するためのテーブルである。具体的には、例えば、バックアップ設定テーブル53には、バックアップ管理プログラム45と同一の業務サーバ1に存在する各アプリケーション47毎に、「バックアップ対象」、「バックアップスケジュール」、「許容アクセス頻度」、「許容バックアップ時間長」及び「バックアップモード」が登録される。「バックアップ対象」は、ボリューム管理テーブル51に登録されている「バックアップ対象」と同じ意味である。「バックアップスケジュール」とは、バックアップを実行するタイミングを表す(例えば、"毎日02:00"であれば、毎日02:00にバックアップが実行されることになる)。「許容アクセス頻度」とは、通常状態(これについては後述する)でバックアップすることが許されるアクセス頻度の最大値である。「許容バックアップ時間長」とは、通常状態でバックアップすることが許される、バックアップに要する時間長の最大値である。「バックアップモード」とは、どのような方法でバックアップするかを表しており、本実施形態では、スナップショットをバックアップとして取得する「スナップショットバックアップ」と、ジャーナルを記録する「ジャーナルバックアップ」との2種類がある。
図2Cは、バックアップ管理テーブルの構成例を示す。
バックアップ管理テーブル55は、バックアップ管理プログラム45が実行したバックアップの処理状況を記録するためのものである。具体的には、例えば、バックアップ管理テーブル55には、バックアップ管理プログラム45と同一の業務サーバ1に存在する各アプリケーション47毎に、「バックアップ対象」、「バックアップ開始時刻」、「バックアップ終了時刻」、「リストアボリュームID」、「ジャーナル適用ボリュームID」及び「ジャーナルボリュームID」が登録される。「バックアップ対象」は前述の「バックアップ対象」と同義である。「バックアップ開始時刻」とは、バックアップの実行が開始された時刻であり、「バックアップ終了時刻」とは、そのバックアップの実行が終了した時刻である。「リストアボリュームID」とは、スナップショットが作成されたSVOL43SのIDであり、「ジャーナル適用ボリュームID」とは、バックアップの際に利用されたIVOL43IのIDであり、「ジャーナルボリュームID」とは、バックアップの際にジャーナルの記録先となったJVOL43JのIDである。
図2Dは、ジャーナル管理テーブルの構成例を示す。
ジャーナル管理テーブル57は、ユーザによって定義された情報であって、ジャーナルリストア(ジャーナルを用いたリストア)用の設定に関する情報や、バックアップの処理状況に関する情報を記録するためのものである。具体的には、例えば、ジャーナル管理テーブル57には、バックアップ管理プログラム45と同一の業務サーバ1に存在する各アプリケーション47毎に、「バックアップ対象」、「エラー発生時のジャーナル確保」、「ジャーナル保有期間」、「ジャーナル適用ボリュームID」、「ジャーナルボリュームID」及び「ジャーナル確保時刻」が登録される。「バックアップ対象」は前述の「バックアップ対象」と同義である。「エラー発生時のジャーナル確保」とは、エラー検知プログラム44によってエラー情報が検知されたときに、そのエラー情報を出力したアプリケーション47による書込みについてのジャーナルを確保するか否かを表す。それが、否であれば、「ジャーナル保有期間」、「ジャーナル適用ボリュームID」、「ジャーナルボリュームID」及び「ジャーナル確保時刻」のそれぞれの情報は登録されない。「ジャーナル保有期間」とは、どの時点のジャーナルまでを残しておくかであり、例えば、"発生前1時間"であれば、エラー情報が検知された時点よりも1時間前までのジャーナルを残しておき他を削除することを意味する。「ジャーナル適用ボリュームID」及び「ジャーナルボリュームID」については、前述のものと同義である。「ジャーナル確保時刻」とは、ジャーナルの確保が行われた時刻である。
図3Aは、アクセス頻度履歴テーブルの構成例を示す。
アクセス頻度履歴テーブル59は、バックアップ対象のアプリケーション47によって使用されている論理ボリューム43のアクセス頻度を記録するためのものである。具体的には、例えば、アクセス頻度履歴テーブル59には、「測定時刻」と「アクセス頻度」とが登録される。「測定時刻」とは、アクセス頻度が取得された時刻である。「アクセス頻度」とは、各アプリケーション47が使用する各論理ボリューム43毎のアクセス頻度である。
なお、ここでの「アクセス頻度」とは、単位時間当たりに書かれたデータのサイズとすることができる。例えば、制御プログラム41が、各アプリケーション47別に、PVOL43Pの更新履歴(例えばどの時刻からどれだけの時間をかけて何メガバイトのデータを書いたか)を所定の記憶域に書くことができる。ストレージ管理プログラム49は、定期的に、所定の要求を制御プログラム41に出すことができる。制御プログラム41は、その要求を受けた時点から所定時間前までの更新履歴をストレージ管理プログラム49に送ることができる。ストレージ管理プログラム49は、受けた各更新履歴を基に、直前回の要求発行時(測定時刻)から今回の測定時刻までに書かれたデータの総サイズを、直前回の測定時刻から今回の測定時刻までの時間長(例えば単位は「秒」)で割ることで、図3Aのようなアクセス頻度を求めることができる。
勿論、上記のアクセス頻度は一例にすぎない。例えば、「アクセス頻度」は、単位時間当たりに何回書き込み要求が発行されたかという意味であっても良い。
図3Bは、ジャーナルボリューム管理テーブルの構成例を示す。
ジャーナルボリューム管理テーブル61は、ユーザに定義されたJVOL43Jの候補のうち、どのJVOL43Jの候補がどのアプリケーションに割り当てられているか(つまり、実際にJVOL43Jとして使用されているのはどれか)を管理するためのものである。具体的には、例えば、ジャーナルボリューム管理テーブル61には、各JVOL43J毎に、「ボリュームID」、「ボリューム容量」、「割り当ての有無」及び「対象アプリケーション」が登録される。「ボリュームID」は、JVOL43JのIDを表す。「ボリューム容量」は、JVOL43Jの記憶容量を表す。「割り当ての有無」は、JVOL43Jが割り当てられたか否かを表す。「対象アプリケーション」は、JVOL43Jが割り当てられたアプリケーション47のIDを表す。
以上が、各テーブルについての説明である。
以下、図4を参照して、この実施形態の要部の概要を説明する。
この実施形態では、基本的には、バックアップ管理プログラム45は、定期的に(又は不定期的に)、SVOL43Sにスナップショットを生成することで、バックアップを行う。この状態を、本実施形態において「通常状態」と言う。通常状態では、スナップショットによるリストアが実行される。
通常状態において、アプリケーション47によるアクセス頻度が増大すると、スナップショット取得のためのバックアップウィンドウの確保が困難になり、その結果として、バックアップのための時間長の確保が困難となる。ここで、この実施形態で言う「バックアップウィンドウ」とは、バックアップの取得のためにアクセス要求元(この実施形態ではアプリケーション)を停止或いは静止化させることが可能な時間長を意味する。データのバックアップ実行中は、そのデータが変更されないことが望ましい。このため、バックアップ実行中は、アプリケーション47によって少なくともデータが更新されてしまうことを防ぐことが望ましく、そうすると、バックアップウィンドウは、アプリケーション47によるアクセスができない時間長となる。しかし、アクセス頻度が増大しているときに、アクセスを止めてしまうと、業務のスループットが低下する。
そこで、本実施形態では、通常状態においてアクセス頻度が増大した場合には、バックアップ管理プログラム45が、アプリケーション47の可用性を確保するために、スナップショットによるバックアップからジャーナルによるバックアップに切り替える。なお、バックアップ管理プログラム45は、バックグラウンド的に、チェックポイント(対象となるアプリケーション47の整合性が確保されている時点)までのジャーナルをスナップショットに適用している。そのため、上記切り替え時点では、通常状態と同様に、スナップショットによるリストアを行うことができる。
一方、通常状態において、何らかの原因(例えば、論理的なデータ破壊)によってアプリケーション47でエラー情報が発生しそれが検知された場合、バックアップ管理プログラム45は、エラー情報発生前の一定期間のジャーナルを確保することができる。また、このとき、確保されたジャーナル群のうち、どの時点でアプリケーション(及び/又はデータベース)のレベルでデータの整合性(本実施形態の説明では単に「アプリケーションの整合性」と言うことがある)が確保されているかというチェックポイントを記録しておく。チェックポイントは、ユーザのバックアップ管理プログラム45に対するバックアップ操作によって、明示的にアプリケーションの整合性が確保された時点で記録されても良い。また、チェックポイントは、アプリケーション47が、定期的に又は不定期的に、データの整合性が確保された時点を検知し、ストレージシステム21に通知することにより、制御プログラム41によって記録されても良い。
なお、アプリケーション47のエラー情報発生時にバックアップ管理プログラム45がジャーナルの確保を行う理由は、例えば以下のとおりである。すなわち、アプリケーション47で発生した論理的なデータ破壊が局所的なものであり、そのデータ破壊の発生後も、ストレージシステム21が継続して稼動することが可能な場合、データ破壊が実際のエラーとして発見されるまでにタイムラグが発生し得る。エラー発生とエラー検知にタイムラグがある場合、エラーが検知された時点では、ユーザは、エラーが発生した時刻、換言すれば、データをリストアすべき正確なポイントを特定することができていない。この場合、ユーザは、エラー発生を基点として時間を遡りながらリストアを行ってゆき、リストアすべきポイントを特定するため、ジャーナルによるリストア作業を行う必要がある。このような非効率さを解消するために、上記のようなチェックポイントの記録が行われるのである。この場合には、取得されたスナップショットに、記録されたチェックポイントとそれに直近のチェックポイントとの間のジャーナルが適用されることで、リストアが行われる(このリストアについては、後に説明する)。
以上が、本実施形態における要部の概要の説明である。すなわち、図4において、通常状態において、アプリケーション47のアクセス頻度が増大した場合には、高可用状態に状態が遷移する。また、通常状態において、アプリケーション47のエラー情報の発生が検知された場合には、通常状態から、通常状態のエラー発生時に遷移する。なお、図4において、高可用状態のエラー発生時とは、高可用状態において、アプリケーション47のエラー情報の発生が検知された場合に遷移される状態である。この状態の場合、アプリケーション47の可用性の確保とジャーナルを利用したリストアの両方が可能になるが、JVOL43Jの使用量(換言すればJVOL43Jへのアクセス頻度)は最も多くなる。
以下、本実施形態で行われる処理の流れについて詳細に説明するが、その前に、その処理流れにおける前提事項を述べておく。
第一に、バックアップ管理プログラム45が、同一の業務サーバ1上で動作しているアプリケーション47と論理ボリューム43の関係を表したボリューム管理テーブル51(図2A参照)を保持している。
第二に、ユーザは、アプリケーションA及びBのバックアップスケジュールをバックアップ管理プログラム45に対して独立に定義しており、バックアップ管理プログラム45は、その定義されたバックアップスケジュールを、バックアップ設定テーブル53(図2B参照)の「バックアップスケジュール」に保持している。また、同テーブル53には、各アプリケーション47毎に、バックアップモードをスナップショットバックアップからジャーナルバックアップに切り替えるための閾値情報として「許容アクセス頻度」及び「許容バックアップ時間長」が設定されている。
第三に、アプリケーションB47は、重要度の高い業務を実行するためのプログラムである。このため、ユーザは、バックアップ管理プログラム45に対して、通常のバックアップに加えて、論理的なデータ破壊が発生した場合に備えて、エラー発生前の1時間の範囲でジャーナルリストア(ジャーナルを利用したリストア)をできるように設定が行われている。なお、この設定は、ジャーナル管理テーブル57(図2D参照)に記録されている。
第四に、ストレージ管理プログラム45は、ボリューム管理テーブル51から各アプリケーションが使用している論理ボリューム43のボリュームIDを取得し、取得したボリュームID(つまり、監視対象となる論理ボリュームのID)を、アクセス頻度履歴テーブル59(図3A参照)に登録する。また、ユーザは、JVOL43Jの候補となる論理ボリューム43に関する情報をストレージ管理プログラム49に対して入力し、ストレージ管理プログラム49は、入力された情報をジャーナルボリューム管理テーブル61に登録する。
第五に、制御プログラム41は、スナップショットを取得できるようになっている。以下、具体例を説明する。なお、その際、コピーペアの状態として、「コピー状態」、「同期化状態」及び「非同期化状態」という言葉を用いるが、各言葉の意味は以下の通りである。
すなわち、「コピー状態」とは、コピーペアが「同期化状態」に至る過程で、PVOL43PとSVOL43Sとの差分を管理するための図示しないビットマップ(例えば、PVOLの各場所に対応した各ビットから成るビットマップ、以下、差分ビットマップ)を基に、PVOL43P内のデータとSVOL43S内のデータとの差分(以下、差分データ)が、SVOL43Sに対してコピーされている状態である。差分データがなくなった時に、自動的に、コピーペアの状態が、「コピー状態」から「同期化状態」に遷移する。
「同期化状態」とは、PVOL43PとSVOL43Sのデータが同期している状態である。この状態では、PVOL43Pのデータが更新された場合、その更新(PVOL43Pに新たに書かれたデータ)は、即座に(例えば、PVOL43Pの更新と実質的に同時に)、SVOL43Sに反映される。
「非同期化状態」とは、PVOL43PとSVOL43Sのデータが非同期になっている状態であり、PVOL43Pに対するデータ更新はSVOL43Sのデータに影響を与えない(すなわち、PVOL43Pに新たにデータが書かれてもそれがSVOL43Sに書かれることはない)。この時に、PVOL43Pに新たにデータが書かれた場合、それが、差分データとして所定の記憶域に保存され、且つ、新たにデータが書かれた場所で更新があったことがビットマップに記録される(例えば、すなわち、その場所に対応したビットが0から1に変わる)。
制御プログラム41は、PVOL43PとSVOL43Sのデータを同期させるため、スナップショット取得指示を受けた時点での差分ビットマップに基づいて、PVOL43PからSVOL43Sにコピーする必要がある差分データを特定した上で、同期化の処理を開始する。またこれと同時に、コピーペアの状態を「コピー状態」に変更する。
制御プログラム41は、特定された差分データのコピーをビットマップ単位で実行し、データコピー後に差分ビットマップ上の該当箇所の更新を行う(例えば、差分データのコピーが完了したら、それに対応するビットを1から0に変える)。制御プログラム41は、差分データがなくなるまで、この処理を繰り返す。この時、ビットマップの差分がなくなった時点で、コピーペアの状態が自動的に「同期化状態」に遷移する。
制御プログラム41は、差分データのコピーの完了後、スナップショット作成のために(つまり、PVOL43Pの更新をSVOL43Sに反映させないようにするために)、コピーペアの状態を「非同期化状態」に変更する。
制御プログラム41は、その後、バックアップ管理プログラム45から所定の問い合わせを受けたならば、完了報告を返すことができる。この一連の処理により、バックアップ管理プログラム45からスナップショット取得指示を受けた時点のPVOL43PのスナップショットをSVOL43Sに生成することができる。
第六に、制御プログラム41は、PVOL43Pにデータが書き込まれた場合に、ジャーナルボリューム43Jに対してジャーナルを記録することができる。そのジャーナルには、例えば、PVOL43Pに書かれたデータと同一のデータと、更新情報とが含まれている。「更新情報」とは、PVOL43Pに書かれたデータを管理するための情報であり、例えば、書き込み要求を受信した時刻(或いは受信した順序を表す番号)、書かれたデータのデータサイズ等の情報要素を含んでいる。つまり、制御プログラム41は、ジャーナルから特定される順序に従って、そのジャーナル中のデータをスナップショットに反映していくことで、そのジャーナルが書かれた各時点にデータをリストアしていくことができる。
以下、本実施形態で行われる処理の流れについて説明する。
図5は、通常状態において行われるバックアップ処理の流れの一例を示す。
バックアップ管理プログラム45は、現在の時刻(例えば所定のタイマから取得される時刻)に一致する「バックアップスケジュール」(バックアップ設定テーブル53に設定されている時刻)があれば(ステップS31でYES)、その「バックアップスケジュール」に対応するアプリケーション47の「バックアップ開始時刻」の欄(バックアップ管理テーブル55上の欄)に、バックアップ開始時刻(つまりここでは現在時刻)を記録する(S32)。
次に、バックアップ管理プログラム45は、その「バックアップスケジュール」に対応するアプリケーション47の静止化を行う(S33)。アプリケーション47の静止化とは、そのアプリケーション47に所定のコマンドを発行する等の方法により、そのアプリケーション47に、少なくとも書き込み要求を発行しないようにさせる処理である。この処理を行うのは、書込み要求によってバックアップ対象のデータが更新されてしまうことを防ぐためである。
バックアップ管理プログラム45は、バックアップ設定テーブル53を参照し、静止化されたアプリケーション47に対応する「バックアップモード」を判別する(S34)。
S34の結果、「バックアップモード」が「スナップショットバックアップ」であると判別された場合には(S34でYES)、バックアップ管理プログラム45は、スナップショット取得指示を制御プログラム41に対して送信することにより、スナップショットの取得を行う(S35)。
完了報告を制御プログラム41から受けた場合に、バックアップ管理プログラム45は、スナップショットが生成されたSVOL43SのIDを「リストアボリュームID」としてバックアップ管理テーブル55に書き込むことができる(S36)。なお、ここで書かれるIDは、制御プログラム41から完了報告と共に通知されたIDとすることができる。制御プログラム41は、例えば、各PVOL43PのIDと各SVOL43SのIDとの対応関係が書かれたテーブルを保持していて、そのテーブルに書かれたIDであって、スナップショット取得の際にデータのコピー先となったSVOL43SのIDを、完了報告と共にバックアップ管理プログラム45に通知することができる。
S36の後、バックアップ管理プログラム45は、静止化されているアプリケーション47に対して所定のコマンドを発行することにより、アプリケーション47の静止化を解除することができる(S39)。
バックアップ管理プログラム45は、S39の終了した時点の現在時刻を、静止化が解除されたアプリケーション47に対応する「バックアップ終了時刻」として、バックアップ管理テーブル55に記録することができる(S40)。なお、「バックアップ終了時刻」は、同一のアプリケーション47について、履歴として、複数個記録されても良い。
以上が、通常状態において行われるバックアップ処理の流れの一例である。なお、S34において、「バックアップモード」が「ジャーナルバックアップ」であると判別された場合には、バックアップ管理プログラム45は、静止化されたアプリケーション47に対応する「ジャーナルボリュームID」をバックアップ管理テーブル55から取得し(S37)、そのIDに対応するJVOL43J内の最新のジャーナルに対してチェックポイントを記録することを制御プログラム41に要求する(S38)。これにより、制御プログラム41によって、その要求を受けた時点でデータの整合性がとれていることを意味するチェックポイントをJVOL43Jに記録する。
図6は、リストア処理の流れの一例を示す。
バックアップ管理プログラム45は、ユーザから、リストアの指示を受付けることができる(S41)。具体的には、例えば、バックアップ管理プログラム45は、スナップショットとジャーナルのどちらによるリストアを実行するかということと、アプリケーション47の指定とを受けることができる。
バックアップ管理プログラム45は、スナップショットによるリストアの指定を受けた場合(S41でNO)、指定されたアプリケーション47の「バックアップ終了時刻」に対応する「リストアボリュームID」をバックアップ管理テーブル55から取得する(S42)。次に、バックアップ管理プログラム45は、取得した「リストアボリュームID」に対応するSVOL43S内のスナップショット(つまり全データ)を、指定されたアプリケーション47のPVOL43Pに反映することで、データをリストアする(例えば、そのSVOL43SをPVOL43Pとすることでリストアしても良い)(S43)。この後、バックアップ管理プログラム45は、その指定されたアプリケーション47を起動することができる。
一方、S41で、バックアップ管理プログラム45は、ジャーナルによるリストアの指定を受けた場合(S41でYES)、S45〜S48を実行する。これらについては後で説明する。
図7は、通常状態から高可用状態に遷移する際に行われる処理流れの一例を示す。
バックアップ管理プログラム45は、図5のS40まで終えたら、バックアップ設定テーブル53を参照し、或るアプリケーション47の「バックアップモード」を判別する(S51)。
S51の結果、判別された「バックアップモード」が「スナップショットバックアップ」であれば(S51でNO)、バックアップ管理プログラム45は、そのアプリケーション47の「許容アクセス頻度」と「許容バックアップ時間長」をバックアップ設定テーブル53から取得する(S52)。そして、バックアップ管理プログラム45は、そのアプリケーション47の「バックアップ開始時刻」及び「バックアップ終了時刻」をバックアップ管理テーブル55から取得し、それらの差分であるバックアップ実行時間長を算出する(S53)。
バックアップ管理プログラム45は、バックアップ実行時間長と「許容バックアップ時間長」とを比較する(S54)。
S54の結果、バックアップ実行時間長が「許容バックアップ時間長」以下であれば(S54でNO)、バックアップ管理プログラム45は、ストレージ管理プログラム49に所定の要求(例えば、取得された「バックアップ開始時刻」及び「バックアップ終了時刻」を含んだ要求)を出すことにより、バックアップ実行時間中のアクセス頻度の平均値を取得する(S55)。この平均値は、バックアップ管理プログラム45が、ストレージ管理プログラム49から受けた情報を用いて算出しても良いし、ストレージ管理プログラム49が算出しても良い。具体的には、例えば、ストレージ管理プログラム49が、「バックアップ開始時刻」と「バックアップ終了時刻」との間に測定された一以上のアクセス頻度の平均値を算出することができる。
バックアップ管理プログラム45は、取得されたアクセス頻度の平均値と「許容アクセス頻度」とを比較し、取得されたアクセス頻度の平均値が「許容アクセス頻度」以下の場合(S56でNO)、終了となる。
バックアップ管理プログラム45は、バックアップ実行時間長が「許容バックアップ時間長」よりも長い(S54でYES)、又は、取得されたアクセス頻度の平均値が「許容アクセス頻度」よりも大きい場合(S56でYES)、ストレージ管理プログラム49にJVOL43Jの割り当てを要求する(S57)。この場合、図8の処理が行われる。
すなわち、ストレージ管理プログラム49は、ジャーナルボリューム管理テーブル61上で「未割り当て」の「ボリュームID」を取得し(S71)、その「ボリュームID」を対象となっているアプリケーション47用のJVOL43Jとして設定するよう制御プログラム41に要求する(S72)。そして、ストレージ管理プログラム49は、S71で取得した「ボリュームID」を「割り当て済み」に更新し(S73)、対象となっているアプリケーション47の「対象アプリケーション」の欄にアプリケーション名を書く(S74)。その後、ストレージ管理プログラム49は、割り当てたジャーナルボリュームの「ボリュームID」をバックアップ管理プログラム45に通知することができる(S75)。
再び図7を参照する。「ボリュームID」の通知を受けたバックアップ管理プログラム45は、アプリケーション47の使用する論理ボリューム43に対してジャーナル適用のためのスナップショット(以下、初期スナップショット)を取得することができる(S58)。ここでは、例えば、バックアップ管理プログラム45は、所定の要求を出すことで、制御プログラム41が、その要求を受けた時点のPVOL43Pのスナップショット(つまり初期スナップショット)をIVOL43Iに生成することができる。ここで着目すべきは、図5のS33のように、アプリケーション47の静止化が行われることなく、このS58の処理が実行される点である。
バックアップ管理プログラム45は、割り当てられたJVOL43Jにジャーナルを書いていくよう制御プログラム41に指示すると共に(S59)、バックアップ設定テーブル53の「バックアップモード」を「ジャーナルバックアップ」に設定する(S60)。また、バックアップ管理プログラム45は、割り当てられたJVOL43Jの「ジャーナルボリュームID」や、ジャーナル適用のための新規スナップショットに使用したIVOL43Iの「ジャーナル適用ボリュームID」を、それぞれ、バックアップ管理テーブル55に記録する(S61)。
なお、ここで、IVOL43IをSVOL43Sとは別に用意する理由は、スナップショットを作成するためのジャーナル適用中に障害が発生した場合に備えて、SVOL43Sを、アプリケーションの静止点が確保されたリストア用のデータとして確保しておく必要があるからである。
以上の状態遷移(別の言い方をすればバックアップモードの切り替え)により、バックアップ時にスナップショットを作成する必要がなくなり、JVOL43Jに対してチェックポイントを記録するだけでバックアップの取得できるようになる。このため、バックアップ取得時に必要なアプリケーションの静止化時間を極小(実質的にゼロ)にすることができる。
これ以降、制御プログラム41は、JVOL43Jに記録されたジャーナルを、逐次、バックグラウンドで(別の言い方をすれば、アプリケーション47からのアクセス要求を受付けながら、アプリケーション47に対して認識されない処理として)、IVOL43Iに適用するとともに、適用済みのジャーナルをJVOL43Jから消去する(消去せず残しておいても良い)。なお、この時、JVOL43Jの未使用容量が不足してきた場合、バックアップ管理プログラム45は、ストレージ管理プログラム49に、JVOL43Jの追加割り当ての要求を出すことができる。或いは、JVOL43Jの未使用要領が増えてきた場合、バックアップ管理プログラム45は、ストレージ管理プログラム49に、ジャーナルボリュームの割り当て解除の要求を出すことができる。それらの要求に応じて、ストレージ管理プログラム49は、JVOL43Jの候補を「未割り当て」から「割り当て済み」に更新したり、逆に、「割り当て済み」から「未割り当て」に更新したりすることができる。また、ストレージ管理プログラム49は、その更新に伴い、制御プログラム41に対し、ボリューム管理の更新を要求することもできる。
以下、図9Aを参照して、アプリケーション47によるデータ書き込みからIVOL43Iに対するジャーナル適用までの処理の流れの一例を説明する。
バックアップ管理プログラム45が、制御プログラム41に対してジャーナル適用開始要求を発行する(S1)。これは、例えば、図7のS60のときに行うことができる。
制御プログラム41は、その要求を受けた以後、アプリケーション47から書込み要求を受けたならば(S2)、その書込み要求中のデータを含んだジャーナルをJVOL43Jに書き(S3)、且つ、そのデータをPVOL43Pに書く(S4)。なお、書き込み要求元のアプリケーション47のデータを含んだジャーナルをどの論理ボリューム43に書くべきかは、例えば、図8のS72での要求に応答して行った設定により、判別することができる。また、そのアプリケーション47のデータをどの論理ボリューム43に書くべきかは、例えば、論理ボリューム43のIDとアプリケーションのIDとの対応関係が記録された図示しないテーブルを参照することにより、判別することができる。
制御プログラム41は、S3及びS4を終えたら、データ書込み終了通知を、書込み要求元のアプリケーション47に返す(S5)。
その後、所定のタイミングで、制御プログラム41は、ジャーナル適用を行い(S6)、それが完了したら、ジャーナル適用を行ったことの通知をバックアップ管理プログラム45に行う(S7)。
以上の図9Aの処理では、アプリケーション47によるデータ書き込みとIVOL43Iへのジャーナル適用は非同期で行われているが、これらの処理はストレージシステム21上の制御プログラム41で制御されているため、業務サーバ1でエラーが発生した場合にもジャーナルの適用を保障することができる。
図9Bは、バックアップモードが「ジャーナルバックアップ」の場合にスナップショットが取得されるために行われる処理の流れの一例を示す。また、図13Aは、ジャーナルのIVOL43Iへの適用と、IVOL43IからSVOL43Sへのコピーの概要を示す図である。図13Aにおいて、JVOLに対応したブロックは、ジャーナルを示し、IVOLに対応したブロックは、初期スナップショットを示す。
バックアップ管理プログラム45が、アプリケーション47の静止化を行い(S11)、制御プログラム41にチェックポイント記録要求を出す(S12)。制御プログラム41は、その要求に応答して、静止化されたアプリケーション47に対応するJVOL43J内のジャーナル群のうちその要求を受けた時刻までのジャーナルについて整合性がとれていることを意味するチェックポイントを記録し(S13)、その記録が終了したことをバックアップ管理プログラム45に通知する(S14)。バックアップ管理プログラム45は、その通知を受けたことに応答して、アプリケーション47の静止化を解除する(S15)。
その後、制御プログラム41は、図13Aにも示す通り、静止化の解除されたアプリケーション47に対応するJVOL43J内の未適用のジャーナル群のうち、チェックポイントが記録されたジャーナルまでをIVOL43Iに適用する(S16)。具体的には、例えば、制御プログラム41は、適用するジャーナル群のうち、より過去のジャーナル内のデータをIVOL43Iに書くことで、IVOL43I内のスナップショットを更新していく。これにより、或る時点のジャーナル内のデータがIVOL43I内のスナップショットに反映された後のスナップショットは、その時点のPVOL43Pのスナップショットになる。
S16が完了したら、制御プログラム41は、ジャーナル適用を一旦停止し(S17)、IVOL43IとSVOL43Sとを同期化状態にし、図13Aに示す要に、IVOL43I内のスナップショットをSVOL43Sにコピーする(S18)。そのコピーが完了したら、制御プログラム41は、IVOL43IとSVOL43Sとを非同期化状態にした上で、ジャーナル適用を再開し(S19)、スナップショットの更新が終了したことをバックアップ管理プログラム45に通知する(S20)。なお、S19のジャーナル適用の再開とは、具体的には、制御プログラム41がJVOL43Jに記録されたジャーナルをIVOL43Iに適用する処理(図9AのS6及びS7)を再開することである。より具体的には、図9Aにおいて、S2〜S5は、アプリケーション47による業務の遂行に伴って常に行われているが、S6及びS7の停止及び再開は、S17及びS19により行われる。
以上の図9Bの処理では、バックアップ取得時のチェックポイント記録とSVOL43S上のスナップショット更新は非同期で行われる。しかし、これらの処理は、ストレージシステム21上の制御プログラム45で制御されているため、業務サーバ1にエラーが発生した場合にもスナップショットの更新を保障することができる。
また、上記の図9A及び図9Bのいずれも、高可用状態において行われる処理である。
また、図9AのS6は、アプリケーション47からの書き込み要求によって、JVOL43Jに記録されたジャーナルをIVOL43Iに適用する処理であり、アプリケーションの書き込み要求が原因となって発生する処理である。一方、図9BのS16は、バックアップ管理プログラム45(又はアプリケーション47)によって、JVOL43Jに記録されたチェックポイントをIVOL43Iに適用する処理で、アプリケーション47の静止化が原因で発生する処理である。なお、上記のS6とS16は独立したタイミングで行われるため、図9AのS6ではチェックポイントを利用する必要は無い。
ところで、通常状態から高可用状態への遷移は、アクセス頻度の増大を契機に行われるが、逆に、アクセス頻度が減少したことを契機に、高可用状態から通常状態に戻ることもできる。以下、図10及び図11を参照して、その際に行われる処理の流れの一例を説明する。
バックアップ管理プログラム45は、図5のS40まで終えたら、バックアップ設定テーブル53を参照し、或るアプリケーション47の「バックアップモード」を判別する(S81)。
S81の結果、判別された「バックアップモード」が「ジャーナルバックアップ」であれば(S81でNO)、バックアップ管理プログラム45は、そのアプリケーション47の「許容アクセス頻度」をバックアップ設定テーブル53から取得する(S82)。また、バックアップ管理プログラム45は、そのアプリケーション47の「バックアップ開始時刻」及び「バックアップ終了時刻」をバックアップ管理テーブル55から取得し、それらの差分であるバックアップ実行時間長を算出する(S83)。そして、バックアップ管理プログラム45は、図7のS55と同様の方法で、バックアップ実行時間中のアクセス頻度の平均値を取得する(S84)。
バックアップ管理プログラム45は、取得されたアクセス頻度の平均値と「許容アクセス頻度」とを比較し(S85)、取得されたアクセス頻度の平均値が「許容アクセス頻度」以上の場合(S85でNO)、終了となる。
一方、バックアップ管理プログラム45は、取得されたアクセス頻度の平均値が「許容アクセス頻度」よりも小さい場合(S85でYES)、ストレージ管理プログラム49にJVOL43Jの割り当て解除を要求する(S86)。この場合、図11の処理が行われる。
すなわち、ストレージ管理プログラム49は、対象のアプリケーション47に対応した「割り当て済み」の「ボリュームID」を取得し(S91)、その「ボリュームID」を対象となっているアプリケーション47用のJVOL43Jとして設定しないよう制御プログラム41に要求する(S92)。これにより、そのJVOL43Jがストレージシステム21においてJVOL43Jでなくなる。ストレージ管理プログラム49は、S91で取得した「ボリュームID」を「未割り当て」に更新し(S93)、対象となっているアプリケーション47の「対象アプリケーション」の欄を「−」に設定する(つまり、書かれていたアプリケーション名を消す)(S94)。その後、ストレージ管理プログラム49は、ジャーナルボリュームの割り当てを解除したことをバックアップ管理プログラム45に通知することができる(S95)。
再び図10を参照する。ジャーナルボリュームの解除通知を受けたバックアップ管理プログラム45は、バックアップ設定テーブル53の「バックアップモード」を「スナップショットバックアップ」に設定する(S87)。また、バックアップ管理プログラム45は、割り当て解除された論理ボリューム43にジャーナルを書かないよう制御プログラム41に要求する(S88)。また、バックアップ管理プログラム45は、割り当て解除されたJVOL43Jの「ジャーナルボリュームID」やそれに対応する「ジャーナル適用ボリュームID」を、それぞれ、バックアップ管理テーブル55から削除する(S89)。
以上の図10及び図11に記載の処理流れが行われることにより、高可用状態から通常状態へと遷移する。
ところで、この実施形態では、図2Dに記載した通り、例えばアプリケーションBについては、論理的なデータ破壊に備えてジャーナルによるリストアができるように設定されている。これは、例えば、図1A及び図1Bに記載のシステム全体の稼動開始前に、予め、ストレージ管理プログラム49が、特定のJVOL43JのID及びIVOL43IのIDをアプリケーションB用に割り当てている。なお、ここで述べているJVOL43JのID及びIVOL43IのIDは、バックアップ管理テーブル55に記録されているものと同じ種類であるが、バックアップ管理プログラム45は、これらのIDを、バックアップ管理テーブル55とは別のテーブルであるジャーナル管理テーブル57上で管理している。IVOL43Iには、ジャーナル適用のためのスナップショットが書かれ、JVOL43Jには、PVOL43Pが更新される都度に、ジャーナルが記録される。
このような状況において、アプリケーションBでエラーが発生した場合、ジャーナルを確保するために行われる処理が行われる。以下、図12及び図13Bを参照して、その処理の流れの一例を説明する(図13Bは、エラー発生時のバックアップの概要を示す図である)。
バックアップ管理プログラム45は、ジャーナル管理テーブル57の「エラー発生時のジャーナル確保」が「あり」であって(S101でYES)、エラー検知プログラム44からエラーが検知されたことの通知を受けた場合(S102でYES)、上記「あり」に対応したアプリケーションBに対応するJVOL43Jにジャーナルを書くこと及びジャーナルをIVOL43Iに適用することを停止するよう制御プログラム41に要求する(S103)。具体的には、例えば、バックアップ管理プログラム45は、アプリケーションBに対応した「ジャーナルボリュームID」及び「ジャーナル適用ボリュームID」を含んだジャーナル記録停止要求を制御プログラム41に発行する。制御プログラム41は、その要求を応答して、以後、停止解除の指令を受けるまで、PVOL43Pが更新されてもジャーナルを記録したり、ジャーナルを適用したりしない。バックアップ管理プログラム45は、例えば、この図12の処理流れを終えたときに、上記の停止解除の指令を制御プログラム41に出すことにより、ジャーナルの書込み及び適用を再開させることができる。
このS103の処理により、バックアップ管理プログラム45は、エラー検知時点から「ジャーナル保有期間」(ジャーナル管理テーブル57に記録されている期間)だけ前のスナップショットと、エラー検知時点までのジャーナルとを、リストア用のデータとして確保することができる。
また、このとき、バックアップ管理プログラム45は、ジャーナル管理テーブルの「ジャーナル確保時刻」に、S103を行った時刻(つまり、リストア用のデータを確保した時刻)を記録し、且つ、その時刻を表すチェックポイントを記録するよう制御プログラム41に指示する(S104)。これにより、制御プログラム41によって、エラー発生時にジャーナルの確保された時点を表すチェックポイントがJVOL43Jに記録される。
S102でNO又はS104の後、バックアップ管理プログラム45は、ジャーナル管理テーブル57から「ジャーナル保有期間」、「ジャーナル適用ボリュームID」及び「ジャーナルボリュームIDを取得する(S105、S106)。そして、バックアップ管理プログラム45は、「ジャーナルボリュームID」に対応したJVOL43J内に、上記確保された時刻から「ジャーナル保有期間」より過去のジャーナルが存在するか否かを判断する(S107)。その結果、存在すれば(S107でNO)、バックアップ管理プログラム45は、「ジャーナル保有期間」より過去のジャーナルを「ジャーナル適用ボリュームID」に対応したIVOL43Iに適用するよう制御プログラム41に要求する(S108)。このS108により、図13Bに示す様に、制御プログラム41によって、「ジャーナル保有期間」より過去のジャーナルがIVOL43Iに適用される。つまり、上記確保された時刻から「ジャーナル保有期間」前までのスナップショットがIVOL43Iに生成される。
なお、ここで、制御プログラム41は、ジャーナルをIVOL43Iに適用していく都度に、その適用したジャーナルをJVOL43Jから削除することができる(適用後直ちに削除せず、JVOL43Jの未使用容量が僅かになったときに削除するようにしても良い)。
ジャーナルを利用したリストアは、例えば、図6に記載の処理流れで行うことができる。以下、それについて、図6を参照して説明する。
例えば、バックアップ管理プログラム45が、制御プログラム41にチェックポイントを問い合わせ、制御プログラム41が、それに応答して、JVOL43J内の最近のチェックポイント(現在時刻に最も近いチェックポイント)を特定し、特定されたチェックポイント以内の各ジャーナルに対応した各時刻をバックアップ管理プログラム45に回答する。バックアップ管理プログラム45は、回答された全ての時刻を、ユーザが選択可能な態様で、図示しない表示装置に表示する。つまり、ここでは、ユーザが選択することができるリカバリポイント目標(RPO(Recovery Point Objective))が表示される。
バックアップ管理プログラム45は、ジャーナルによるリストア、RPO、及びリストアの対象とされるアプリケーション47とが指定された場合(S41でYES)、指定されたアプリケーション47の「ジャーナル適用ボリュームID」をジャーナル管理テーブル57から取得し、取得したIDを含んだジャーナルリストア指示を制御プログラム41に出す(S45)。それにより、制御プログラム41は、通知されたIDに対応するIVOL43Iからスナップショットを取得することができる(S46)
また、バックアップ管理プログラム45は、指定されたアプリケーション47の「ジャーナルボリュームID」をジャーナル管理テーブル57から取得し、そのIDと、指定されたRPOとを制御プログラム41に通知することができる(S47)。
これにより、制御プログラム41は、S46で取得されたスナップショットに対し、指定されたRPOまでの各ジャーナル内のデータを順次に適用していく(S48)。この結果、ユーザから指定されたRPOにおけるPVOL43Pのスナップショットがリストアされる。なお、S48において、制御プログラム41は、各ジャーナル内のデータを上記スナップショットに適用することでスナップショットを更新する都度に、更新後のスナップショットで良いか否かを、バックアップ管理プログラム45を介してユーザに問い合わせても良い。
以上、上述した実施形態によれば、基本的には、スナップショットバックアップが行われているが、データの書き込みアクセス頻度の増大を契機に、ジャーナルバックアップに切り替わる。ジャーナルバックアップでは、PVOL43Pの更新の都度にジャーナルがJVOL43Jに書かれ、バックアップの際には、その時点でのチェックポイントがJVOL43Jに書かれるだけであり、バックアップウィンドウは実質的にゼロとすることができる。また、ジャーナルバックアップでは、所定のタイミングで(例えば、スナップショットバックアップからジャーナルバックアップにモードが切り替わったときに)、その時点のPVOL43Pのスナップショット(初期スナップショット)がIVOL43Iに書かれ、バックグラウンドで、JVOL43J内のジャーナル内のデータが、IVOL43I内のスナップショットに反映される。これにより、アプリケーションの可用性を維持することができる。適用されたジャーナルを所定のタイミングでJVOL43Jから削除すれば、JVOL43Jにおける使用量を抑えることもできる。
また、上述した実施形態によれば、アプリケーション47のエラー発生を検知したことを契機に、その検知された時点のチェックポイントがJVOL43Jに記録される。すなわち、エラー検知時には、アプリケーション47で整合性のとれたジャーナルが確保される。確保されたジャーナルとIVOL43I内のスナップショットとを利用することにより、エラーが検知された時点のデータをリストアすることができる。
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
例えば、図8のS71では、アクセス頻度に応じた容量又は数のJVOL43JのIDが取得されてもよい。つまり、アクセス頻度が高ければ高いほど、大容量の或いは多くの数の論理ボリューム43をJVOL43Jとして割り当てることができる。
また、例えば、検知されるエラー情報は、必ずしもアプリケーション47から出力されたものに限らない。具体的には、例えば、エラー検知プログラム43が、自分を備える業務サーバ1内の図示しないOS(オペレーティングシステム)が管理している情報を参照することで、アプリケーション47でエラーが発生したか否かを検知してもよい。
また、例えば、図6のS41で、JVOL43J内の全てのチェックポイントが選択可能に表示され、或るチェックポイントが選択された場合には、その選択されたチェックポイントの時点のデータをリストアするための処理が行われてもよい。
また、例えば、制御プログラム41は、図5のS38で書くチェックポイント(以下、第一のチェックポイント)と図12のS104で書くチェックポイント(以下、第二のチェックポイント)とを区別できるような態様で書くことができる。この場合、バックアップ管理プログラム51は、第一のチェックポイントと第二のチェックポイントとをユーザが区別できるように選択可能に表示しても良いし、第一及び第二のチェックポイントのいずれか一方を選択可能に表示し他方を表示しないようにしても良い。
また、例えば、一又は複数のIVOL43Iで、同一のアプリケーション47について複数世代のスナップショットが管理されていてもよい。この場合、例えば、リストアの際、RPOの指定を受けたら、そのRPOに最も近い時点のスナップショットを取得し、そのスナップショットに対しジャーナルを適用していくことができる。つまり、リストアに要する時間の短縮化が図れる。
また、例えば、バックアップ管理プログラム45は、スナップショットとジャーナルのどちらを利用したリストアを行うかをユーザに選択させなくても良い。具体的には、例えば、バックアップ管理プログラム45は、リストア指示をユーザから受けた場合には、上述した4種類の状態(すなわち、通常状態、高可用状態など)のうち現在どの状態かに応じて、図6のS42〜S44を行うか或いはS45〜S48を行うかを決定してもよい。
また、例えば、JVOL43Jに代えて又は加えて、IVOL43Iも、JVOL43Jと同様に、複数の候補の中から選択されて割り当てられても良い。なお、JVOL43Jは、ジャーナルが追加或いは削除されたりすることに応じて(つまり、ジャーナル群の総量の増減に応じて)、未割り当てのVOLを新たにJVOL43としたり或いはJVOLとして割り当て済みのVOLを未割り当てとしたりすることができるが、IVOL43Iについては、そうしなくても良い。IVOL43Iに取得されたスナップショットには、適宜データが上書きされていくので、そのスナップショットのサイズそれ自体が変動することはないからである。
また、例えば、各アプリケーション47毎の管理に代えて又は加えて、業務サーバ1毎に管理されても良い。具体的には、例えば、図2A〜図2Dや図3A及び図3Bのテーブルにおいて、「バックアップ対象」や「対象アプリケーション」が、業務サーバ1のIDであってもよい。
図1Aは、本発明の一実施形態に係るシステムのハードウェア構成の概要を示す。図1Bは、本発明の一実施形態に係るシステムを構成する各サーバやストレージシステムで実行されるコンピュータプログラムの一例を示す。 図2Aは、ボリューム管理テーブルの構成例を示す。図2Bは、バックアップ設定テーブルの構成例を示す。図2Cは、バックアップ管理テーブルの構成例を示す。図2Dは、ジャーナル管理テーブルの構成例を示す。 図3Aは、アクセス頻度履歴テーブルの構成例を示す。図3Bは、ジャーナルボリューム管理テーブルの構成例を示す。 図4は、本発明の一実施形態の要部の概要の説明図。 図5は、通常状態において行われるバックアップ処理の流れの一例を示す。 図6は、リストア処理の流れの一例を示す。 図7は、通常状態から高可用状態に遷移する際に行われる処理流れの一例を示す。 図8は、ジャーナルボリュームの割り当て処理の流れの一例を示す。 図9Aは、アプリケーション47によるデータ書き込みからIVOL43Iに対するジャーナル適用までの処理の流れの一例を示す。図9Bは、バックアップモードが「ジャーナルバックアップ」の場合にスナップショットが取得されるために行われる処理の流れの一例を示す。 図10は、高可用状態から通常状態に遷移する際に行われる処理流れの一例を示す。 図11は、ジャーナルボリュームの割り当て解除処理の流れの一例を示す。 図12は、アプリケーションでエラーが発生した場合にジャーナルを確保するために行われる処理の流れの一例を示す。 図13Aは、ジャーナルのIVOL43Iへの適用と、IVOL43IからSVOL43Sへのコピーとの概要を例示した図。図13Bは、エラー発生時のバックアップの概要を例示した図。
符号の説明
1…業務サーバ 2…SAN 3…CPU 5…記憶資源 11…管理サーバ 12…LAN 13…CPU 15…記憶資源 21…ストレージシステム 22…コントローラ 23…CPU 25…制御メモリ 26…キャッシュメモリ 33…メディアドライブ 41…制御プログラム 43…論理ボリューム 43P…プライマリボリューム 43S…セカンダリボリューム 43J…ジャーナルボリューム 43I…ジャーナル適用ボリューム 44…エラー検知プログラム 45…バックアップ管理プログラム 47…アプリケーション 49…ストレージ管理プログラム

Claims (11)

  1. 論理ボリュームと論理ボリュームに対するアクセス要求元とを備えたシステムで実現される記憶制御方法において、
    アクセス要求元から書込み要求が発行される都度に、発行された書込み要求に含まれているデータを第一の論理ボリュームに書くことで、前記第一の論理ボリュームを更新し、
    前記第一の論理ボリュームに対する書込み要求の発行頻度と、バックアップにかかる時間であるバックアップ実行時間長を算出し、
    バックアップモードがスナップショットモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも高いとき又は前記バックアップ実行時間長が所定の時間長よりも長いときは前記バックアップモードをジャーナルモードに変更し、
    前記バックアップモードが前記ジャーナルモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも低いとき及び前記バックアップ実行時間長が所定の時間長よりも短いときは前記バックアップモードをスナップショットモードに変更し、
    前記バックアップモードが前記スナップショットモード場合、バックアップの実行の際には、定期的に又は不定期的に、その時点の前記第一の論理ボリュームのスナップショットを第二の論理ボリュームに書込み、リストアの実行の際には、前記第二の論理ボリュームに書込まれたスナップショットをリストアされたデータとし、
    前記バックアップモードが前記ジャーナルモード場合、前記書込み要求が発行される都度に、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルを第三の論理ボリュームに書込み、リストアの実行の際には、前記第三の論理ボリュームに書込まれたジャーナル中のデータが適用されたデータリストアされたデータとする、
    記憶制御方法。
  2. 前記バックアップモードが前記ジャーナルモード場合、所定のタイミングで、その時点の前記第一の論理ボリュームのスナップショットを第四の論理ボリュームに取得し、定期的に又は不定期的に、前記第三の論理ボリュームにおけるジャーナル内のデータを、前記第四の論理ボリューム内のスナップショットに適用することで、更新後のスナップショットを取得し、更新後のスナップショットを前記第二の論理ボリューム内に生成し、リストアの際には、前記第二の論理ボリューム内に生成されたスナップショットをリストアされたデータとする、
    請求項1記載の記憶制御方法。
  3. 前記バックアップモードが前記スナップショットモードの場合、前記アクセス要求元から書込み要求が発行されないよう前記アクセス要求元を静止化し、その静止化後に、前記第一の論理ボリュームのスナップショットを前記第二の論理ボリュームに取得し、
    前記バックアップモードが前記ジャーナルモードの場合、前記アクセス要求元の静止化を行うことなく、前記第一の論理ボリュームのスナップショットを前記第四の論理ボリュームに取得する、
    請求項2記載の記憶制御方法。
  4. 前記バックアップモードが前記ジャーナルモードの場合、バックアップの時点、及び、エラーが検知された時点のうちの少なくとも一方の時点において、その時点を表すデータであるチェックポイントを所定の記憶域に書き、リストアの際、前記チェックポイントが表す時点までのジャーナル内のデータ適用されデータリストアされたデータとする、
    請求項1記載の記憶制御方法。
  5. 前記バックアップモードが前記スナップショットモード及び前記ジャーナルモードのうちの少なくとも一方場合、エラーが検知された時点で、前記第三の論理ボリュームにジャーナルが追記されないように制御することで、前記第三の論理ボリューム内のジャーナルを確保し、その時点から一定時間よりも過去のジャーナル内のデータを適用したものを取得する、
    請求項1記載の記憶制御方法。
  6. 少なくとも複数の第二の論理ボリュームがあり、
    前記ジャーナル内のデータを適用したものをどの第二の論理ボリュームに適用するかを記録したテーブルとは別のテーブルに、エラーが検知された時点でジャーナルの確保を行うか否かを記録する、
    請求項1記載の記憶制御方法。
  7. 複数の論理ボリュームの候補の中から論理ボリュームを選択し、選択された論理ボリュームを前記第三の論理ボリュームとする、
    請求項1記載の記憶制御方法。
  8. 前記選択される論理ボリュームの容量又は数を、バックアップ実行時間長の確保に関する状態に応じた容量又は数とする、
    請求項7記載の記憶制御方法。
  9. 論理ボリュームを備えるストレージシステムと通信可能な計算機において、
    第一の論理ボリュームに対する書込み要求を前記ストレージシステムに発行し、
    前記第一の論理ボリュームに対する書込み要求の発行頻度と、バックアップにかかる時間であるバックアップ実行時間長を算出し、
    バックアップモードがスナップショットモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも高いとき又は前記バックアップ実行時間長が所定の時間長よりも長いときは前記バックアップモードをジャーナルモードに変更し
    前記バックアップモードが前記ジャーナルモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも低いとき及び前記バックアップ実行時間長が所定の時間長よりも短いときは前記バックアップモードをスナップショットモードに変更し、
    前記バックアップモードが前記スナップショットモード場合、バックアップの実行の際には、定期的に又は不定期的に、その時点の前記第一の論理ボリュームのスナップショットを取得するよう前記ストレージシステムに要求し、リストアの実行の際には、前記第一の論理ボリュームに対応する第二の論理ボリューム内のスナップショットを前記リストアされたデータとし、
    前記バックアップモードが前記ジャーナルモード場合、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルの記録を開始するよう前記ストレージシステムに要求する、
    計算機。
  10. 論理ボリュームを備えるストレージシステムと通信可能な計算機が備えるプロセッサが読み込んで実行することができるコンピュータプログラムにおいて、
    前記第一の論理ボリュームに対する書込み要求の発行頻度と、バックアップにかかる時間であるバックアップ実行時間長を算出し、
    バックアップモードがスナップショットモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも高いとき又は前記バックアップ実行時間長が所定の時間長よりも長いときは前記バックアップモードをジャーナルモードに変更し
    前記バックアップモードが前記ジャーナルモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも低いとき及び前記バックアップ実行時間長が所定の時間長よりも短いときは前記バックアップモードをスナップショットモードに変更し、
    前記バックアップモードが前記スナップショットモード場合、バックアップの実行の際には、定期的に又は不定期的に、その時点の前記第一の論理ボリュームのスナップショットを取得するよう前記ストレージシステムに要求し、リストアの実行の際には、前記第一の論理ボリュームに対応する第二の論理ボリューム内のスナップショットを前記リストアされたデータとし、
    前記バックアップモードが前記ジャーナルモード場合、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルの記録を開始するよう前記ストレージシステムに要求する、
    コンピュータプログラム。
  11. 論理ボリュームと論理ボリュームに対するアクセス要求元とを備えたシステムで実現される記憶制御方法において、
    アクセス要求元から書込み要求が発行される都度に、発行された書込み要求に含まれているデータを第一の論理ボリュームに書くことで、前記第一の論理ボリュームを更新し、
    前記第一の論理ボリュームに対する書込み要求の発行頻度と、バックアップにかかる時間であるバックアップ実行時間長を算出し、
    バックアップモードがスナップショットモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも高いとき又は前記バックアップ実行時間長が所定の時間長よりも長いときは前記バックアップモードをジャーナルモードに変更し
    前記バックアップモードが前記ジャーナルモードの場合であって、前記書込み要求の発行頻度が或る頻度閾値よりも低いとき及び前記バックアップ実行時間長が所定の時間長よりも短いときは前記バックアップモードをスナップショットモードに変更し、
    前記バックアップモードが前記スナップショットモード場合、バックアップの実行の際には、定期的に又は不定期的に、前記アクセス要求元から書込み要求が発行されないよう前記アクセス要求元を静止化し、その静止化後に、その時点の前記第一の論理ボリュームのスナップショットを第二の論理ボリュームに取得し、リストアの実行の際には、前記第二の論理ボリューム内のスナップショットをリストアされたデータとし、
    前記バックアップモードが前記ジャーナルモード場合、所定のタイミングで、前記アクセス要求元の静止化を行うことなく、その時点の前記第一の論理ボリュームのスナップショットを第四の論理ボリュームに取得し、そのスナップショットを基準として、前記書込み要求が発行される都度に、前記書込み要求中のデータを含んだ書込み履歴であるジャーナルを第三の論理ボリュームに書き、バックアップの時点、及び、エラーが検知された時点のうちの少なくとも一方の時点において、その時点を表すデータであるチェックポイントを所定の記憶域に書き、定期的に又は不定期的に、前記チェックポイントが表す時点までのジャーナル内のデータを、前記第四の論理ボリューム内のスナップショットに適用することで、更新後のスナップショットを取得できるようにする
    記憶制御方法。
JP2005269573A 2005-09-16 2005-09-16 記憶制御システム及び方法 Expired - Fee Related JP4688617B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005269573A JP4688617B2 (ja) 2005-09-16 2005-09-16 記憶制御システム及び方法
US11/283,880 US7356657B2 (en) 2005-09-16 2005-11-22 System and method for controlling storage devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005269573A JP4688617B2 (ja) 2005-09-16 2005-09-16 記憶制御システム及び方法

Publications (2)

Publication Number Publication Date
JP2007080131A JP2007080131A (ja) 2007-03-29
JP4688617B2 true JP4688617B2 (ja) 2011-05-25

Family

ID=37885593

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005269573A Expired - Fee Related JP4688617B2 (ja) 2005-09-16 2005-09-16 記憶制御システム及び方法

Country Status (2)

Country Link
US (1) US7356657B2 (ja)
JP (1) JP4688617B2 (ja)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7389311B1 (en) 1999-07-15 2008-06-17 Commvault Systems, Inc. Modular backup and retrieval system
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
CA2548542C (en) 2003-11-13 2011-08-09 Commvault Systems, Inc. System and method for performing a snapshot and for restoring data
US7546324B2 (en) 2003-11-13 2009-06-09 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US7343459B2 (en) 2004-04-30 2008-03-11 Commvault Systems, Inc. Systems and methods for detecting & mitigating storage risks
GB0424488D0 (en) * 2004-11-05 2004-12-08 Ibm A method apparatus computer program and computer program product for adjusting the frequency at which data is backed up
JP2007140746A (ja) * 2005-11-16 2007-06-07 Hitachi Ltd 計算機システム及び管理計算機並びにリカバリ管理方法
US7801864B2 (en) 2005-11-28 2010-09-21 Commvault Systems, Inc. Systems and methods for using metadata to enhance data identification operations
US8661216B2 (en) 2005-12-19 2014-02-25 Commvault Systems, Inc. Systems and methods for migrating components in a hierarchical storage network
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US7636743B2 (en) 2005-12-19 2009-12-22 Commvault Systems, Inc. Pathname translation in a data replication system
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
CA2632935C (en) 2005-12-19 2014-02-04 Commvault Systems, Inc. Systems and methods for performing data replication
US7962709B2 (en) 2005-12-19 2011-06-14 Commvault Systems, Inc. Network redirector systems and methods for performing data replication
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7617262B2 (en) 2005-12-19 2009-11-10 Commvault Systems, Inc. Systems and methods for monitoring application data in a data replication system
US7571292B2 (en) * 2006-03-21 2009-08-04 International Business Machines Corporation Producing tertiary instant virtual copies without volume suspension
US7853821B2 (en) * 2006-04-17 2010-12-14 Hewlett-Packard Development Company, L.P. Identifying one or more storage devices causing a failure condition during discovery of storage devices
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US7882077B2 (en) * 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US20080154979A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Apparatus, system, and method for creating a backup schedule in a san environment based on a recovery plan
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
JP5207637B2 (ja) * 2007-02-23 2013-06-12 株式会社日立製作所 一以上のセカンダリストレージシステムで複数のバックアップを取得するバックアップ制御方法
US8290808B2 (en) 2007-03-09 2012-10-16 Commvault Systems, Inc. System and method for automating customer-validated statement of work for a data storage environment
JP5073348B2 (ja) * 2007-04-04 2012-11-14 株式会社日立製作所 アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法
JP2008305223A (ja) * 2007-06-08 2008-12-18 Fujitsu Ltd リストア制御プログラム、リストア制御方法、リストア制御装置、およびリストア制御システム
US8495315B1 (en) * 2007-09-29 2013-07-23 Symantec Corporation Method and apparatus for supporting compound disposition for data images
US20090125692A1 (en) * 2007-10-24 2009-05-14 Masayuki Yamamoto Backup system and method
US8285953B2 (en) 2007-10-24 2012-10-09 Hitachi, Ltd. Storage system group
US9164941B2 (en) 2007-10-24 2015-10-20 Hitachi, Ltd. Storage system group
JP2009123175A (ja) 2007-11-19 2009-06-04 Hitachi Ltd ストレージシステム並びにストレージ装置及びデータ更新方法
US7836174B2 (en) * 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
JP5159356B2 (ja) * 2008-02-13 2013-03-06 株式会社日立製作所 リモートコピーシステム及び計算機システム
US8458419B2 (en) * 2008-02-27 2013-06-04 International Business Machines Corporation Method for application backup in the VMware consolidated backup framework
US8782471B2 (en) * 2008-05-09 2014-07-15 Dell Products L.P. Storage device procurement system
WO2009138121A1 (en) * 2008-05-14 2009-11-19 Real Enterprise Solutions Development B.V. System and method of tracking and communicating computing states
JP5366480B2 (ja) 2008-08-27 2013-12-11 株式会社日立製作所 計算機システム及びそのバックアップ方法
JP5257672B2 (ja) 2008-09-25 2013-08-07 株式会社日立製作所 ジャーナルの階層を管理する計算機システム及び方法
JP2010092177A (ja) * 2008-10-06 2010-04-22 Hitachi Ltd 情報処理装置、及びストレージシステムの運用方法
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US20110246731A1 (en) * 2009-03-18 2011-10-06 Hitachi, Ltd. Backup system and backup method
US8396835B2 (en) 2009-05-25 2013-03-12 Hitachi, Ltd. Computer system and its data control method
JP5620661B2 (ja) * 2009-09-10 2014-11-05 株式会社Nttドコモ 情報処理装置及び情報処理方法
US8171257B2 (en) * 2009-09-25 2012-05-01 International Business Machines Corporation Determining an end of valid log in a log of write records using a next pointer and a far ahead pointer
US8583885B1 (en) * 2009-12-01 2013-11-12 Emc Corporation Energy efficient sync and async replication
WO2011082113A1 (en) * 2009-12-31 2011-07-07 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8352422B2 (en) 2010-03-30 2013-01-08 Commvault Systems, Inc. Data restore systems and methods in a replication environment
US8572038B2 (en) 2010-05-28 2013-10-29 Commvault Systems, Inc. Systems and methods for performing data replication
US20130138915A1 (en) * 2010-08-11 2013-05-30 Nec Corporation Data processing system, data processing method, and program
US8650165B2 (en) 2010-11-03 2014-02-11 Netapp, Inc. System and method for managing data policies on application objects
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
JP5250644B2 (ja) * 2011-01-25 2013-07-31 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
JP5648918B2 (ja) * 2011-03-31 2015-01-07 日本電気株式会社 ストレージシステム、ストレージ装置及びスナップショット処理方法
JP5612634B2 (ja) * 2012-02-27 2014-10-22 株式会社コナミデジタルエンタテインメント ゲーム管理装置、ゲームシステム及びプログラム
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
JP5970984B2 (ja) * 2012-07-03 2016-08-17 富士通株式会社 復元プログラムおよび復元装置
US9021303B1 (en) 2012-09-24 2015-04-28 Emc Corporation Multi-threaded in-memory processing of a transaction log for concurrent access to data during log replay
US8977898B1 (en) 2012-09-24 2015-03-10 Emc Corporation Concurrent access to data during replay of a transaction log
US10379988B2 (en) * 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9569310B2 (en) 2013-02-27 2017-02-14 Netapp, Inc. System and method for a scalable crash-consistent snapshot operation
WO2015008377A1 (ja) * 2013-07-19 2015-01-22 富士通株式会社 状態復元プログラム、装置、及び支援方法
JP2015052844A (ja) 2013-09-05 2015-03-19 富士通株式会社 コピー制御装置,コピー制御方法及びコピー制御プログラム
KR101548222B1 (ko) * 2013-10-18 2015-08-31 ㈜윈웨이시스템 데이터 백업 방법 및 이를 지원하는 시스템
US9367260B1 (en) * 2013-12-13 2016-06-14 Emc Corporation Dynamic replication system
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
US10956299B2 (en) 2015-02-27 2021-03-23 Commvault Systems, Inc. Diagnosing errors in data storage and archiving in a cloud or networking environment
WO2016195714A1 (en) * 2015-06-05 2016-12-08 Hitachi, Ltd. Method and apparatus of shared storage between multiple cloud environments
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10339101B1 (en) * 2015-09-11 2019-07-02 Cohesity, Inc. Distributed write journals that support fast snapshotting for a distributed file system
US10255141B2 (en) 2015-10-22 2019-04-09 Oracle International Corporation Event batching, output sequencing, and log based state storage in continuous query processing
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
US20170336991A1 (en) * 2016-04-28 2017-11-23 Knight Point Systems, Inc. System and methodology for automatic classification and separation of storage resources based on optimizing i/o requirements
US10324803B1 (en) * 2016-09-27 2019-06-18 Amazon Technologies, Inc. Storage snapshot management
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US11032350B2 (en) 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
CN109428912B (zh) * 2017-08-24 2020-07-10 阿里巴巴集团控股有限公司 一种分布式系统资源分配方法、装置及系统
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US10732885B2 (en) 2018-02-14 2020-08-04 Commvault Systems, Inc. Block-level live browsing and private writable snapshots using an ISCSI server
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
US11561999B2 (en) * 2019-01-31 2023-01-24 Rubrik, Inc. Database recovery time objective optimization with synthetic snapshots
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
JP7093799B2 (ja) * 2020-01-27 2022-06-30 株式会社日立製作所 ストレージシステムおよびリストア制御方法
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
CN112685232B (zh) * 2021-01-11 2022-03-01 河南大学 一种计算机备份数据监测方法及系统
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182988A (ja) * 2001-10-05 2002-06-28 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2002278819A (ja) * 2001-03-21 2002-09-27 Toshiba Corp スナップショットイメージの世代管理方法、記憶媒体、及び世代管理装置
JP2004171249A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データベースのバックアップ実行判断方法
JP2005250676A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0962555A (ja) * 1995-08-21 1997-03-07 Toshiba Corp ファイル復旧方法
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US7111136B2 (en) 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278819A (ja) * 2001-03-21 2002-09-27 Toshiba Corp スナップショットイメージの世代管理方法、記憶媒体、及び世代管理装置
JP2002182988A (ja) * 2001-10-05 2002-06-28 Fujitsu Ltd データ処理システムのバックアップ制御装置及び方法
JP2004171249A (ja) * 2002-11-20 2004-06-17 Hitachi Ltd データベースのバックアップ実行判断方法
JP2005250676A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd ストレージシステム及びストレージシステムの制御方法

Also Published As

Publication number Publication date
US20070067586A1 (en) 2007-03-22
US7356657B2 (en) 2008-04-08
JP2007080131A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
JP4688617B2 (ja) 記憶制御システム及び方法
US7827367B2 (en) Backup control method for acquiring plurality of backups in one or more secondary storage systems
JP4321705B2 (ja) スナップショットの取得を制御するための装置及び記憶システム
US7546484B2 (en) Managing backup solutions with light-weight storage nodes
JP5156682B2 (ja) ストレージシステムにおけるバックアップ方法
US7650533B1 (en) Method and system for performing a restoration in a continuous data protection system
US8046632B2 (en) Backup management method based on mode of failure
US8255647B2 (en) Journal volume backup to a storage device
US8914671B2 (en) Multiple hyperswap replication sessions
US8627028B2 (en) Method of constructing replication environment and storage system
US9189346B2 (en) Management computer used to construct backup configuration of application data
JP3938475B2 (ja) バックアップ処理方法及びその実施システム並びにその処理プログラム
KR950014175B1 (ko) 데이타의 타임제로 백업 복사 방법과 수단
EP1605356B1 (en) Storage system and method for acquisition and utilisation of snapshots
WO2012117515A1 (ja) 計算機システム、管理システム及びデータ管理方法
TW200422827A (en) Distributed storage system capable of restoring data in case of a storage failure
JPH0823841B2 (ja) データ処理システム及びその方法
US7584339B1 (en) Remote backup and restore operations for ISB protocol systems
US7725669B1 (en) Backup and restore operations using coherency groups for ISB protocol systems
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
US7487310B1 (en) Rotation policy for SAN copy sessions of ISB protocol systems
JP2004164046A (ja) 階層型バックアップシステムにおけるバックアップ方法
US7587565B1 (en) Generating automated and scheduled SAN copy sessions for ISB protocol systems
US20090132615A1 (en) Storage system, storage device and data updating method
US10891205B1 (en) Geographically dispersed disaster restart multitenancy systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101207

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees