JP3882467B2 - Snapshot management method for storage system - Google Patents

Snapshot management method for storage system Download PDF

Info

Publication number
JP3882467B2
JP3882467B2 JP2000154367A JP2000154367A JP3882467B2 JP 3882467 B2 JP3882467 B2 JP 3882467B2 JP 2000154367 A JP2000154367 A JP 2000154367A JP 2000154367 A JP2000154367 A JP 2000154367A JP 3882467 B2 JP3882467 B2 JP 3882467B2
Authority
JP
Japan
Prior art keywords
snapshot
data
logical unit
update
management table
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
JP2000154367A
Other languages
Japanese (ja)
Other versions
JP2001331378A (en
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 JP2000154367A priority Critical patent/JP3882467B2/en
Publication of JP2001331378A publication Critical patent/JP2001331378A/en
Application granted granted Critical
Publication of JP3882467B2 publication Critical patent/JP3882467B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は主として、コンピュータの外部記憶装置システムにおけるスナップショット管理方法に関するものである。
【0002】
【従来の技術】
一般にハードディスクなどのコンピュータの外部記憶装置に記録されたデータは、装置の障害、ソフトウェアの欠陥、誤操作などによりデータを喪失した場合に、喪失したデータを回復できるように定期的にテープなどにコピーして保存しておくこと(バックアップ)が必要である。その際、コピー作業中にデータが更新され、データに不整合が生じるとバックアップとして意味をなさないため、コピー作業中はデータの整合性を保証する必要がある。
【0003】
バックアップされるデータの整合性を保証するためには、データにアクセスするバックアッププログラム以外のプログラムを停止すればよいが、高可用性が要求されるシステムではプログラムを長時間停止させることができない。そのため、バックアップ中にプログラムがデータを更新することを妨げず、なおかつバックアップ開始時点でのデータの記憶イメージを作成する仕組みを提供する必要がある。ここで、ある時点でのデータの記憶イメージをスナップショットと呼び、指定された時点のスナップショットを作成しつつデータの更新が可能な状態を提供する仕組みをスナップショット管理方法と呼ぶ。また、スナップショット管理方法によりスナップショットを作成することをスナップショットの取得と呼び、スナップショット取得の対象となったデータをオリジナルデータと呼ぶ。また、スナップショットを作成した状態をやめることをスナップショットの削除と呼ぶ。
【0004】
従来のスナップショット管理方法の一つとして、データの二重化による方法が挙げられる。
【0005】
この方法では、スナップショットを取得していない通常の状態において、コンピュータ上のプログラムがすべてのデータを2つの記憶領域に二重化(ミラー)する。スナップショットを取得する時は二重化を停止して2つの記憶領域を独立な領域に分離し、1つの領域をオリジナルデータ、もう1つの領域をスナップショットとして提供する。
【0006】
スナップショットを取得し二重化を停止している間は、オリジナルデータの記憶領域に対するデータの更新を許可するとともに、データ更新が発生した場合は更新した位置を記録しておく。スナップショット削除時には、データの二重化を再開するとともに、2つの記憶領域の間で内容が一致していない更新データを更新位置の記録をもとにオリジナルデータの記憶領域からスナップショットとして提供していた記憶領域にコピーする(ミラー再同期化)。
【0007】
コンピュータ上のプログラムでデータを二重化する方法は、例えば米国特許5,051,887に示されている。
【0008】
【発明が解決しようとする課題】
データの二重化によるスナップショット管理方法では、ミラー再同期化時において、更新/参照をする通常アクセスと更新データのコピーアクセスがオリジナルデータの記憶領域に集中し、通常アクセスの性能が低下する。ミラー再同期化にかかる時間は、スナップショットを取得して二重化を停止している間に更新されたデータ量に比例するので、更新アクセスが単位時間あたり同じ回数発生すると仮定した場合、ミラー再同期化にかかる時間は二重化の停止時間に比例して大きくなる。スナップショットからバックアップをとる場合、コンピュータが介在して比較的低速なテープなどにコピーを行うため、スナップショットを取得して二重化を停止している時間が長く、通常アクセスの性能が低下するミラー再同期化時間が長くなるという課題がある。
【0009】
また、スナップショットの利用後にスナップショット削除を指示する必要があるため、バックアップの終了を契機としてスナップショット削除プログラムを起動するようなタイミングを管理するプログラムが必要となり、バックアッププログラムが複雑化する。複雑化に対応してプログラムの開発期間が長くなるため価格も上昇し、構成するシステムが高価になるという課題がある。
【0010】
本発明の第1の目的は、スナップショットを取得して二重化を停止している時間を短縮することで、ミラー再同期化中の更新データのコピー量を削減し、性能が低下するミラー再同期化時間を短縮したスナップショット管理方法を提供することである。
【0011】
本発明の第2の目的は、スナップショット利用後のスナップショット削除指示を省略することでバックアッププログラムを簡略化し、安価なシステムでスナップショット管理方法を提供することである。
【0012】
【課題を解決するための手段】
前記第1の目的を達成するために本発明は、データの二重化によるスナップショット管理方法において、一時的なテンポラリ領域としてディスクアレイ内にテンポラリLUを設ける。テンポラリLUは高速なディスクであり、スナップショットを取得して二重化を停止している時間を短縮することができる。
【0013】
また、前記第2の目的を達成するために本発明は、データの二重化によるスナップショット管理方法において、一時的なテンポラリ領域としてディスクアレイ内にテンポラリLUを設ける。テンポラリLUにスナップショットを保存することにより、スナップショット削除処理を不要とする。
【0014】
【発明の実施の形態】
〔第1の実施形態〕
本発明の第1の実施形態は、データの二重化によるスナップショット管理方法において、二重化を停止している時間を短縮することにより、ミラー再同期化をする際のオリジナルデータのコピー量を削減し、データベースプログラムからのデータアクセス性能が低下するミラー再同期化時間を短縮するためのものである。
【0015】
また、スナップショット利用後のスナップショット削除指示を省略することでバックアッププログラムを簡略化するためのものである。
【0016】
なお、本発明ではスナップショットの利用例として、バックアップをとりあげるが、OLAP(OnLine Analytical Processing)やシステムテスト等の他の目的においても利用が可能である。
【0017】
(1)構成の説明
本発明の第1の実施形態のシステム構成を図1を用いて説明する。図1において、コンピュータ100とディスクアレイ200が、SCSIインタフェース140、240を介してSCSIバス300で接続されている。コンピュータ100のメモリ120には、データベースプログラム126、バックアッププログラム127があり、コンピュータ100を制御するCPU110によって実行される。ディスクアレイ200には、ディスクコントローラ250によって制御されるディスク251〜253があり、またメモリ220内にはスナップショット管理プログラム221があり、CPU210によって実行される。なお、ディスク251〜253は仮想的なディスクであってもよく、おのおのが2つ以上のディスクから構成されたアレイであってもよい。
【0018】
各ディスク251〜253内の記憶領域は、SCSIの論理ユニットであるLU(Logical Unit)としてコンピュータからアクセスされる。各ディスク251〜253に対応する各記憶領域をそれぞれLU261〜263とする。本実施形態では、ディスクアレイ220内のスナップショット管理プログラム221が、LU261とLU262を二重化して管理し、LU261をオリジナルデータを持ったミラー元LUとし、LU262をオリジナルデータのミラーであるミラー先LUとする。また、LU263は、スナップショットを取得する際に一時的なコピー先となるテンポラリLUとし、コピー元はLU262である。
【0019】
次に、コンピュータ100内のプログラムについて説明する。
【0020】
データベースプログラム126は、実行中にミラー元LUであるLU261にアクセスし、また、データ更新を制御してLU261内のデータの整合性を保証するバックアップモードに切替える機能を持つ。バックアップモードへはユーザまたはバックアッププログラム127からの指示により遷移する。バックアッププログラム127は、ユーザからの指示によってスナップショットを保存したテンポラリLUであるLU263からテープ等にバックアップするためのデータを読み出す機能と、ディスクアレイ200にSCSIのModeSelectコマンドを発行する機能と、データベースプログラム126にバックアップモードの有効化、無効化を指示する機能を持つ。
【0021】
次に、ディスクアレイ200内のプログラム、および、管理表について説明する。
【0022】
ディスクアレイ200のスナップショット管理プログラム221は、コンピュータ100からの要求に応じてディスクコントローラ250にディスクアクセスを指示するディスクアクセスサブプログラム230と、1つのLUに対する更新を二重化してあらかじめ指定された別のLUにも適用し、2つのLUに同じ内容を書き込むLUミラーサブプログラム231を持つ。例えば本実施形態では、LU261に対するアクセスをLU262に二重化する。また、スナップショット管理プログラム221は、スナップショットを取得する際にミラー先LUからテンポラリLUにオリジナルデータを一時的にコピー(テンポラリコピー)し、コピーが完了した位置を後述するコピー位置管理表223に記録するするテンポラリコピーサブプログラム233と、二重化を停止しているとき(非ミラー時)にミラー元LUに対する更新を検出する非ミラー時更新監視サブプログラム234と、その更新位置を後述する非ミラー時更新位置管理表222に記録する非ミラー時更新位置管理サブプログラム235と、ミラー再同期化を行う際にミラー元LUの更新部分をミラー先LUにコピーするミラー再同期サブプログラム232を持つ。
【0023】
非ミラー時更新位置管理表222は、非ミラー時に更新されたミラー元LUの更新位置を記録するもので、ミラー元LUにつき一つ設置する。非ミラー時更新位置管理表222は、図2に示すようなビットマップとし、ミラー元LU内のすべてのLBAセット番号、更新状態から成る。LBAセットは、LUの全領域に対して、1個以上の同数のLBA(Logical Block Address)を単位として先頭から分割していったときの個々の集合であり、LBAセット番号は、LBAの先頭側から各LBAセットに通し番号をつけたものである。更新状態は、LBAセットが更新されたかどうかを示し、「更新」、「非更新」に応じてそれぞれ1、0を指定する。更新状態の初期設定値は0である。図2の例では、LBAセット番号1の領域のみが非ミラー時に更新されている状態を示す。
【0024】
コピー位置管理表223は、テンポラリコピー時にミラー先LUからテンポラリLUへのコピーが済んだ更新位置を記録するもので、ミラー先LUにつき一つ設置する。コピー位置管理表223は、図3に示すようなビットマップとし、ミラー先LU内のすべてのLBAセット番号、コピー状態から成る。LBAセット番号の定義は、非ミラー時更新位置管理表222と同様である。コピー状態は、LBAセットがコピーされたかどうかを示し、「コピー未完」、「コピー完」に応じてそれぞれ1、0を指定する。コピー状態の初期設定値は1である。図3の例では、LBAセット番号0、1の領域がコピー完であることを示す。なお、非ミラー時更新位置管理表222の更新状態と、コピー位置管理表223のコピー状態の指定値は、比較しているLU間でデータが一致している場合を0、一致していない場合を1と言い換えることもできる。
【0025】
(2)スナップショットの取得
ミラー元LUであるLU261のスナップショットをテンポラリLUであるLU263として提供する場合を例にとり、スナップショット取得時におけるバックアッププログラム127とスナップショット管理プログラム221の動作を図4のフローチャートを用いて説明する。
【0026】
まず、コンピュータ100のバックアッププログラム127がデータベースプログラム126に指示を与え、バックアップモードを有効化してスナップショットを取得するデータの整合性を保証する(ステップ2000)。次に、バックアッププログラム127は、ディスクアレイ200にスナップショットを取得するためのModeSelectコマンドを発行する(ステップ2001)。ディスクアレイ200のスナップショット管理プログラム221は、ModeSelectコマンドを受信すると(ステップ3000)、非ミラー時更新監視サブプログラム234と非ミラー時更新位置管理サブプログラム235を有効化し、LU261の更新位置記録を開始する(ステップ3001)。以降、LU261が更新されると、非ミラー時更新位置管理表222における更新されたLBAを含むLBAセットの更新状態に1を設定し、更新があったことを記録する。次に、スナップショット管理プログラム221は、LUミラーサブプログラム231を無効化し、LU261とLU262の二重化を停止する(ステップ3002)。これにより、ミラー元LUであるLU261に対する更新がミラー先LUであるLU262に反映されなくなる。次に、スナップショット管理プログラム221は、ModeSelectコマンドの終了ステータスをコンピュータ100のバックアッププログラム127に送信する(ステップ3003)。バックアッププログラム127は、ModeSelectコマンドの終了ステータスを受信すると(ステップ2002)、データベースプログラム126に指示を与え、バックアップモードを無効化する(ステップ2003)。
【0027】
次に、バックアッププログラム127は、ディスクアレイ200に対し、LU263にスナップショットを保存するためのテンポラリコピー開始を指示するModeSelectコマンドを発行する(ステップ2004)。ディスクアレイ200のスナップショット管理プログラム221は、ModeSelectコマンドを受信すると(ステップ3004)、テンポラリコピーサブプログラム233を有効化し、ミラー先LUであるLU262からテンポラリLUであるLU263にデータのコピーを行うとともに、コピーが完了したLBAセットについて、コピー位置管理表223におけるコピー状態を0に設定し、コピーが済んだことを記録する(ステップ3005)。データのコピーは、LU262を含むディスク252にREADコマンドを発行して指定したLBAのデータを読み出し、LU263を含むディスク253にWRITEコマンドを発行してLU262に指定したLBAと同じLBAに読み出したデータを書きこむことで実施する。これをLU262とLU263の全領域に対して行う。データのコピーは、COPYコマンドを用いてもよい。データコピーが完了すると、スナップショット管理プログラム221は、LUミラーサブプログラム231を有効化し、LU261とLU262の二重化を再開する(ステップ3006)。これにより、LU261に対する更新がLU262にも反映される。次に、スナップショット管理プログラム221は、非ミラー時更新監視サブプログラム234と非ミラー時更新位置管理サブプログラム235を無効化し、LU261の更新位置記録を停止する(ステップ3007)。以降、非ミラー時更新位置管理表222は変更されなくなる。次に、スナップショット管理プログラム221は、ミラー再同期サブプログラムを有効化し、非ミラー時更新位置管理表222を参照して、LU261とLU262で内容が一致しない部分をLU261からLU262にコピーする(ステップ3008)。次に、スナップショット管理プログラム221は、ModeSelectコマンドの終了ステータスをコンピュータ100のバックアッププログラム127に送信する(ステップ3009)。バックアッププログラム127は、ModeSelectコマンドの終了ステータスを受信し動作を終了する(ステップ2005)。
【0028】
ここで、ステップ3008でLU261からLU262へのデータコピーを行うミラー再同期サブプログラム232の動作を図5のフローチャートを用いて説明する。まず、ミラー再同期サブプログラム232が、非ミラー時更新位置管理表222に更新記録として1があるかどうかを調べる(ステップ1001)。もし、更新記録である1がなければミラー再同期化が完了したので処理を終了する(ステップ1002)。更新記録があれば、該当記録位置の更新を抑止し(ステップ1003)、該当記録位置のデータをミラー元LUであるLU261からミラー先LUであるLU262にコピーする(ステップ1004)。データのコピーは、LU261を含むディスク251にREADコマンドを発行して指定したLBAのデータを読み出し、LU262を含むディスク252にWRITEコマンドを発行してLU261に指定したLBAと同じLBAに読み出したデータを書きこむことで実施する。データのコピーは、COPYコマンドを用いてもよい。次に、ミラー再同期サブプログラム232は、該当記録位置の更新抑止を解除し(ステップ1005)、非ミラー時更新位置管理表222の該当する更新記録に0を設定して更新記録を削除し(ステップ1006)、ステップ1001に戻る。
【0029】
以上が、スナップショット取得時におけるバックアッププログラム127とスナップショット管理プログラム221の動作である。
【0030】
(3)データ読み出しと書きこみ、および、スナップショット読み出しの際のコンピュータ動作
まず、コンピュータ100が、ディスクアレイ200にあるLU261のデータにアクセスする場合のデータベースプログラム126の動作を説明する。データベースプログラム126は、スナップショット取得の有無に関係なく、同じ動作を行う。
【0031】
データベースプログラム126がLU261のデータを読み出す場合、データベースプログラム126はディスクアレイ200に対し、LU261のデータを読み出すREADコマンドを発行する。最後に、データベースプログラム126は、ディスクアレイ200からデータとステータスを受信し動作を終了する。また、データベースプログラム126がLU261にデータを書きこむ場合、データベースプログラム126はディスクアレイ200に対し、LU261にデータを書きこむWRITEコマンドを発行し、データを送信する。最後に、データベースプログラム126は、ディスクアレイ200からステータスを受信し動作を終了する。
【0032】
次に、コンピュータ100が、ディスクアレイ200にあるLU261のスナップショットを読み出す場合のバックアッププログラム127の動作を説明する。
【0033】
バックアッププログラム127がLU261のスナップショットを読み出す場合、バックアッププログラム127はディスクアレイ200に対し、LU261のテンポラリLUであるLU263のデータを読み出すREADコマンドを発行する。最後に、バックアッププログラム127は、ディスクアレイ200からデータとステータスを受信し動作を終了する。なお、スナップショットのデータをディスクアレイ200が送信できない場合、ディスクアレイ200からエラーステータスのみを受信する。
【0034】
(4)データ読み出しと書きこみ、および、スナップショット読み出しの際のディスクアレイ動作
まず、コンピュータ100が、ディスクアレイ200にあるLU261のデータにアクセスする場合のスナップショット管理プログラム221の動作を説明する。
【0035】
コンピュータ100がLU261のデータを読み出す場合、スナップショット管理プログラム221がLU261に対するREADコマンドを受信する。次に、LUミラーサブプログラム231が有効で、かつ、ミラー再同期サブプログラム232による更新部分のコピーが終了していれば、LU261、もしくは、ミラー先LUであるLU262からデータを読み出す。そうでなければ、LU261からデータを読み出す。最後に、読み出し
たデータとステータスをコンピュータ100に送信する。LU261とミラー先LUであるLU262の内容が一致している場合は、両者のいずれかからデータを読み出すことにより負荷を分散させることができる。
【0036】
コンピュータ100がLU261にデータを書きこみ記憶内容を更新する場合、スナップショット管理プログラム221がLU261に対するWRITEコマンドとデータを受信する。次に、LUミラーサブプログラム231が有効であればLU261とミラー先LUであるLU262にデータを書きこみ、無効であればLU261にデータを書きこむ。次に、非ミラー時更新監視サブプログラム234と非ミラー時更新位置管理サブプログラム235が有効であれば、LU261の非ミラー時更新位置管理表222に対して更新したLBAを含むLBAセットの更新状態を1に設定し、無効であれば何もしない。最後に、ステータスをコンピュータ100に送信する。
【0037】
次に、コンピュータ100が、ディスクアレイ200にあるLU261のスナップショットを読み出す場合のスナップショット管理プログラム221の動作を説明する。
【0038】
コンピュータ100がLU261のスナップショットを読み出す場合、スナップショット管理プログラム221がLU261のテンポラリLUであるLU263に対するREADコマンドを受信する。次に、スナップショット管理プログラム221はコピー位置管理表223を参照し、READコマンドで指定されたLBAを含むLBAセットのコピー状態を調べる。コピー状態が0、すなわち、テンポラリLUであるLU263にLU261のスナップショットが保存されている場合は、LU263からデータを読み出す。コピー状態が1、すなわち、テンポラリLUであるLU263にLU261のスナップショットが保存されていない場合は、ミラー先LUであるLU262からデータを読み出す。最後に、読み出したデータとステータスをコンピュータ100に送信する。スナップショットのデータを送信できない場合、ディスクアレイ200にエラーステータスのみを送信する。
【0039】
なお、ミラー再同期サブプログラム232による更新部分のコピー中は、コピー処理とコンピュータ100によるLU261へのデータアクセス処理が同じLU261に集中するため、データアクセス性能が低下する。
【0040】
(5)効果
本実施形態によれば、スナップショット取得時に二重化を停止して片方の記憶領域をスナップショットとして提供するスナップショット管理方法において、スナップショットを保存するのための一時的なテンポラリ領域としてテンポラリLUであるLU263を設けることにより、ミラー元LUであるLU261とミラー先LUであるLU262の二重化停止時間を短縮することができ、非ミラー時更新位置管理表222に記録される更新位置の量を削減することができる。したがって、ミラー再同期化をする際に、更新されたオリジナルデータをミラー元LUからミラー先LUにコピーする量を削減することができ、コンピュータ100からのデータアクセス性能が低下するミラー再同期化時間を短縮できるという効果がある。
【0041】
スナップショットのデータ量が同じ場合、二重化停止時間はミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度に反比例する。ミラー再同期化時間は、二重化停止中に更新されたデータ量に比例するので、更新アクセスが単位時間あたり同じ回数発生すると仮定した場合、ミラー再同期化時間は二重化停止時間に比例する。したがって、ミラー再同期化時間は、ミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度に反比例する。
【0042】
たとえば、試算として、本実施形態におけるディスクコントローラ250の転送能力に十分に余裕があるとした場合、LU261〜263の読み出し・書き込み性能をともに80メガバイト/秒とすると、80メガバイト/秒でミラー先LUからテンポラリLUにスナップショットをコピーすることができる。したがって、本実施形態では、ミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度は、80メガバイト/秒となる。ここで、バイト/秒とは、1秒あたりに転送できるデータのバイト数である。
【0043】
一方、従来の方法でバックアップをテープにとる場合、ミラー先LUからスナップショットを読み出して、コンピュータに転送し、さらに、そこからテープに書き込む。全体の転送性能は、ミラー先LUの読み出し性能、ディスクアレイからコンピュータへの転送性能、コンピュータ内部の転送性能、コンピュータからテープへの転送性能、テープの書き込み性能のうち一番低い値になる。ミラー先LUの読み出し性能は同様に80メガバイト/秒であるが、巻き取り性能の観点から見てもテープの書き込み性能は低く、たとえば40メガバイト/秒の性能であるならば、全体の転送性能は40メガバイト/秒となる。よって、従来の方法では、ミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度は、40メガバイト/秒となる。また、他の部位の転送性能が低いことも考えられる。
【0044】
したがって、LU261〜263の読み出し・書き込み性能をともに80メガバイト/秒、テープの書き込み性能を40メガバイト/秒とする試算では、本実施形態は従来の方法に対して、ミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度が2倍となる。ミラー再同期化時間は、ミラー先LUからスナップショットを送り、受け手側に取込むときの転送速度に反比例することから、本実施形態は従来の方法に対してミラー再同期化時間を半分にすることができる。
【0045】
また、本実施形態によれば、スナップショットを保存するのための一時的なテンポラリ領域としてテンポラリLUであるLU263を設けることにより、スナップショットの利用後にスナップショット削除を指示する必要がないため、バックアップを実施するプログラムを簡素化できる。したがって、プログラムの開発期間を短縮できるので、安価なシステムを構成できるという効果がある。
【0046】
なお、本発明ではコンピュータ100とディスクアレイ200を接続するインターフェースをSCSIバス300としたが、FibreChannel等の他のインターフェースであってもよい。
【0047】
また、スナップショット取得時点のLU261のオリジナルデータをリストアしたい場合は、テンポラリLUであるLU263にスナップショットを保存しているので、LU263をミラー元LUに切り替えればよい。
【0048】
また、スナップショット取得時において、図4のステップ2004のテンポラリコピー開始を指示するModeSelectコマンド発行を省略することもできる。この場合、ステップ3005からステップ3008は、スナップショット管理プログラム221がステップ3003の終了後に実施すればよい。ステップ3005からステップ3008の実行した結果のステータスがエラーとなった場合は、以降にコンピュータ100から発行された任意のコマンドに対するステータスをCheckConditionとし、それを受けてコンピュータ100が発行したRequestSenseコマンドに対して、エラーを伝えるセンスデータを送信すればよい。
【0049】
〔第2の実施形態〕
本発明の第2の実施形態は、第1の実施形態と同様に、データの二重化によるスナップショット管理方法において、二重化を停止している時間を短縮することにより、ミラー再同期化をする際のオリジナルデータのコピー量を削減し、データベースプログラムからのデータアクセス性能が低下するミラー再同期化時間を短縮するためのものである。
【0050】
また、第1の実施形態と同様に、スナップショット利用後のスナップショット削除指示を省略することでバックアッププログラムを簡略化するためのものである。
【0051】
第1の実施形態との違いは、テンポラリLUにスナップショットを保存する際に、ミラー先LU全体のコピーではなく、前回のテンポラリLUに保存したスナップショットとの差分をテンポラリLUにコピーすることである。
【0052】
なお、本発明ではスナップショットの利用例として、バックアップをとりあげるが、OLAP(OnLine Analytical Processing)やシステムテスト等の他の目的においても利用が可能である。
【0053】
(1)構成の説明
本発明の第2の実施形態のシステム構成を図6を用いて説明する。簡略化のため、第1の実施形態との違いについてのみ説明する。
【0054】
図6において、LU263は、第1の実施形態と同様に一時的なスナップショットを保存するテンポラリLUであると同時に、前回のスナップショットが保存してあるテンポラリLUである。
【0055】
ディスクアレイ200のスナップショット管理プログラム221は、第1の実施形態に加え、スナップショット取得時点から次回のスナップショット取得時点まで、ミラー元LUに対する更新を検出する常時更新監視サブプログラム237と、その更新位置を後述する常時更新位置管理表224に記録する常時更新位置管理サブプログラム238を持つ。
【0056】
また、テンポラリコピーサブプログラム233は、スナップショットを取得する際にミラー先LUからテンポラリLUにオリジナルデータを一時的にコピー(テンポラリコピー)するという第1の実施形態の機能に加え、スナップショットを取得する際にミラー先LUから前回のスナップショットが保存してあるテンポラリLUに対して前回のスナップショットとの差分をコピーする機能を持つ。また、テンポラリコピーサブプログラム233は、コピーが完了した位置をスナップショット取得時点で確定した常時更新位置管理表224に記録する機能を持つ。テンポラリコピー時において、スナップショット取得時点で確定した常時更新位置管理表224は第1の実施形態のコピー位置管理表223に代わりをするものであり、コンピュータ100がディスクアレイ200にあるLU261のスナップショットを読み出す場合、スナップショット管理プログラム221は第1の実施形態のコピー位置管理表223に代わりスナップショット取得時点で確定した常時更新位置管理表224を参照する。
【0057】
また、常時更新位置管理表224は、スナップショット取得時点から次回のスナップショット取得時点までに更新されたミラー元LUの更新位置を記録するものであり、更新状況の記録を停止し確定させた後も次回のスナップショット取得に備えて更新位置の監視を続けて行う必要があるため、常時更新位置管理表224は、ミラー元LUにつき2つ以上設置する。常時更新位置管理表224は、図7に示すようなビットマップとし、ミラー元LU内のすべてのLBAセット番号、更新状態から成る。LBAセット番号、更新状態の定義は、非ミラー時更新位置管理表222と同様である。更新状態の初期設定値は、1回目のスナップショット取得では1、2回目以降のスナップショットでは0である。図7の例では、LBAセット番号1の領域のみがスナップショット取得時点から次回のスナップショット取得時点までの間に更新されている状態を示す。なお、常時更新位置管理表224の更新状態の指定値は、ミラー元LUであるLU261と前回のスナップショットを保存してあるテンポラリLUのLU263の間でデータが一致している場合を0、一致していない場合を1と言い換えることもできる。
【0058】
(2)スナップショットの取得
第2の実施形態では、第1の実施形態と異なり、スナップショットの取得時において、前回スナップショットを保存したテンポラリLUに対してスナップショット取得以降の差分データをコピーすることで、新たなスナップショットをテンポラリLUに保存する。1回目のスナップショット取得では、前回のスナップショットを保存したテンポラリLUが存在しないため、第1の実施形態と同様の手順となる。ただし、次回のスナップショット保存の際に差分コピーを実施するため、スナップショット管理プログラム221は図4のステップ3001の次のステップにおいて、常時更新位置管理表224を作成するための常時更新監視サブプログラム237および常時更新位置管理サブプログラム238を有効化する。以降、データベースプログラム126からのデータの書き込み要求があった場合は、常時更新位置管理表224における更新されたLBAを含むLBAセットの更新状態に1を設定し、更新があったことを記録する。
【0059】
次に、2回目以降のスナップショット取得とテンポラリLUへのスナップショット保存手順について説明する。
【0060】
2回目以降のスナップショット取得の際も、常時更新位置管理表224には、スナップショット取得から次のスナップショット取得までの間の更新状況を記録する。スナップショット管理プログラム221は図4のステップ3001の次のステップにおいて、前回のスナップショットから今回のスナップショットまでの更新を記録した常時更新位置管理表224を確定させ、今回のスナップショットから次回のスナップショットまでの常時更新位置管理表224の記録を開始する。以降、スナップショット管理プログラム221は図4のステップ3001の次のステップにおいて、常時更新位置管理表224を確定し、次の常時更新位置管理表224の記録を開始する。
【0061】
また、テンポラリLUであるLU263には前回のスナップショットが保存されたままとなっている。
【0062】
テンポラリコピーの際は、スナップショット管理プログラム221が、テンポラリコピーサブプログラム233により、スナップショット取得時点で確定した常時更新位置管理表224を参照し、ミラー先LUであるLU262からテンポラリLUであるLU263に前回のスナップショットとの差分コピーを行う。それ以外の動作は、第1の実施形態と同様である。
【0063】
ここで、差分をコピーするテンポラリコピー時のテンポラリコピーサブプログラム動作を図8のフローチャートを用いて説明する。まず、スナップショット管理プログラム221は、常時更新位置管理表224に更新記録として更新状態に1があるかどうかを調べる(ステップ1201)。もし、更新記録である1がなければ処理完了として終了する(ステップ1202)。そうでなければ、該当記録位置のデータをミラー先LUである262からテンポラリLUであるLU263にコピーする(ステップ1203)。データのコピーは、LU262を含むディスク252にREADコマンドを発行して指定したLBAのデータを読み出し、LU263を含むディスク253にWRITEコマンドを発行してLU262に指定したLBAと同じLBAに読み出したデータを書きこむことで実施する。データのコピーは、COPYコマンドを用いてもよい。最後に、常時更新位置管理表224の該当する更新記録に0を設定して更新記録を削除し(ステップ1204)、ステップ1201に戻る。
【0064】
(3)データ読み出しと書きこみ、および、スナップショット読み出しの際のコンピュータ動作
コンピュータ100が、ディスクアレイ200にあるLU261のデータにアクセスする場合のデータベースプログラム126の動作、および、コンピュータ100が、ディスクアレイ200にあるLU261のスナップショットを読み出す場合のバックアッププログラム127の動作は、第1の実施形態と同様である。
【0065】
(4)データ読み出しと書きこみ、および、スナップショット読み出しの際のディスクアレイ動作
まず、コンピュータ100が、ディスクアレイ200にあるLU261のデータにアクセスする場合のスナップショット管理プログラム221の動作を説明する。
【0066】
コンピュータ100がLU261のデータを読み出す場合のスナップショット管理プログラム221の動作は、第1の実施形態と同様である。
【0067】
コンピュータ100がLU261にデータを書きこみ記憶内容を更新する場合、スナップショット管理プログラム221がLU261に対するWRITEコマンドとデータを受信する。次に、LUミラーサブプログラム231が有効であればLU261とミラー先LUであるLU262にデータを書きこみ、無効であればLU261にデータを書きこむ。次に、更新記録をとっているミラー元LUの常時更新位置管理表224に対して、更新したLBAを含むLBAセットの更新状態を1に設定する。次に、非ミラー時更新監視サブプログラム234と非ミラー時更新位置管理サブプログラム235が有効であれば、LU261の非ミラー時更新位置管理表222に対して更新したLBAを含むLBAセットの更新状態を1に設定し、無効であれば何もしない。最後に、ステータスをコンピュータ100に送信する。
【0068】
次に、コンピュータ100が、ディスクアレイ200にあるLU261のスナップショットを読み出す場合のスナップショット管理プログラム221の動作を説明する。
【0069】
コンピュータ100がLU261のスナップショットを読み出す場合、スナップショット管理プログラム221がLU261のテンポラリLUであるLU263に対するREADコマンドを受信する。次に、スナップショット管理プログラム221は、スナップショット取得時に確定し、かつ、テンポラリコピー時に第1の実施形態におけるコピー位置管理表223の代わりとして用いられる常時更新位置管理表224を参照し、READコマンドで指定されたLBAを含むLBAセットの更新状態を調べる。更新状態が0、すなわち、テンポラリLUであるLU263にLU261のスナップショットが保存されている場合は、LU263からデータを読み出す。コピー状態が1、すなわち、テンポラリLUであるLU263にLU261のスナップショットが保存されていない場合は、ミラー先LUであるLU262からデータを読み出す。最後に、読み出したデータとステータスをコンピュータ100に送信する。スナップショットのデータを送信できない場合、ディスクアレイ200にエラーステータスのみを送信する。
【0070】
(5)効果
第2の実施形態では、第1の実施形態と同様に、スナップショットを保存するのための一時的なテンポラリ領域としてテンポラリLUであるLU263を設けることにより、ミラー元LUであるLU261とミラー先LUであるLU262の二重化停止時間を短縮することができ、非ミラー時更新位置管理表222に記録される更新位置の量を削減することができる。さらに第2の実施形態では、テンポラリLUに前回のスナップショットを保存しておき、テンポラリコピー時に前回のスナップショットとの差分のみをコピーするので、さらにLU261とLU262の二重化停止時間を短縮することができる。したがって、ミラー再同期化をする際に、更新されたオリジナルデータをミラー元LUからミラー先LUにコピーする量を削減することができ、コンピュータ100からのデータアクセス性能が低下するミラー再同期化時間を短縮できるという効果がある。
【0071】
また、第2の実施形態では、第1の実施形態と同様に、スナップショットを保存するのための一時的なテンポラリ領域としてテンポラリLUであるLU263を設けることにより、スナップショットの利用後にスナップショット削除を指示する必要がないため、バックアップを実施するプログラムを簡素化できる。したがって、プログラムの開発期間を短縮できるので、安価なシステムを構成できるという効果がある。
【0072】
また、テンポラリコピー時のコピー方法として、第1の実施形態におけるLU262全体をコピーする方法と、第2の実施形態のLU262とLU263の差分のみをコピーする方法とを選択できるコピー方法選択サブプログラムをスナップショット管理プログラム221に追加することも考えられる。これは、前回のスナップショットからの更新がLU261内のほぼ全領域に実施されたときに、LU262全体をLBAセットの先頭から連続的にコピーする方がコピー時間を短縮できる場合があることを想定してのものである。これにより、前回のスナップショットからの更新データの量に応じて、テンポラリコピーの方法をユーザが選択することができテンポラリコピーを効率よく行える。したがって、LU261とLU262の二重化停止時間を短縮することができることから、ミラー再同期化をする際に、更新されたオリジナルデータをミラー元LUからミラー先LUにコピーする量を削減することができ、コンピュータ100からのデータアクセス性能が低下するミラー再同期化時間を短縮できるという効果がある。
【0073】
なお、本発明ではコンピュータ100とディスクアレイ200を接続するインターフェースをSCSIバス300としたが、FibreChannel等の他のインターフェースであってもよい。
【0074】
また、スナップショット取得時点のLU261のオリジナルデータをリストアしたい場合は、テンポラリLUであるLU263にスナップショットを保存しているので、LU263をミラー元LUに切り替えればよい。
【0075】
また、スナップショット取得時において、図4のステップ2004のテンポラリコピー開始を指示するModeSelectコマンド発行を省略することもできる。この場合、ステップ3005からステップ3008は、スナップショット管理プログラム221がステップ3003の終了後に実施すればよい。ステップ3005からステップ3008の実行した結果のステータスがエラーとなった場合は、以降にコンピュータ100から発行された任意のコマンドに対するステータスをCheckConditionとし、それを受けてコンピュータ100が発行したRequestSenseコマンドに対して、エラーを伝えるセンスデータを送信すればよい。
【0076】
【発明の効果】
以上述べたように、本発明によれば、データを2つの記憶領域に二重化し、スナップショット取得時に二重化を停止して片方の記憶領域をスナップショットとして提供するスナップショット管理方法において、スナップショットを保存するのための一時的なテンポラリ領域として、ディスクアレイ内に高速なディスクからなるテンポラリLUを設けることにより、スナップショット取得のために二重化を停止している時間を短縮することができる。したがって、ミラー再同期化をする際に、更新されたオリジナルデータをミラー先LUにコピーする量を削減することができ、データベースプログラムからのデータアクセス性能が低下するミラー再同期化時間を短縮できるという効果がある。
【0077】
また、本実施形態によれば、スナップショットを保存するのための一時的なテンポラリ領域としてテンポラリLUを設けることにより、スナップショットの利用後にスナップショット削除を指示する必要がないため、バックアップを実施するプログラムを簡素化できる。したがって、プログラムの開発期間を短縮できるので、安価なシステムを構成できる
という効果がある。
【図面の簡単な説明】
【図1】第1の実施形態におけるシステム構成図である。
【図2】第1の実施形態における非ミラー時更新位置管理表の説明図である。
【図3】第1の実施形態におけるコピー位置管理表の説明図である。
【図4】第1の実施形態におけるスナップショット取得フローである。
【図5】第1の実施形態におけるミラー再同期サブプログラムの動作フローである。
【図6】第2の実施形態におけるシステム構成図である。
【図7】第2の実施形態における常時更新位置管理表の説明図である。
【図8】第2の実施形態におけるテンポラリコピーサブプログラムの動作フローである。
【符号の説明】
100…コンピュータ、126…データベースプログラム、127…バックアッププログラム、200…ディスクアレイ、221…スナップショット管理プログラム、222…非ミラー時更新位置管理表。
[0001]
BACKGROUND OF THE INVENTION
The present invention mainly relates to a snapshot management method in an external storage system of a computer.
[0002]
[Prior art]
In general, data recorded on an external storage device of a computer such as a hard disk is regularly copied to tape so that the lost data can be recovered if the data is lost due to a device failure, software defect or incorrect operation. Must be saved (backup). At this time, if the data is updated during the copying operation and the data is inconsistent, it does not make sense as a backup. Therefore, it is necessary to guarantee the data consistency during the copying operation.
[0003]
In order to guarantee the consistency of the data to be backed up, a program other than the backup program that accesses the data may be stopped. However, in a system that requires high availability, the program cannot be stopped for a long time. Therefore, it is necessary to provide a mechanism for creating a storage image of data at the start of backup without preventing the program from updating data during backup. Here, a storage image of data at a certain time point is called a snapshot, and a mechanism that provides a state in which data can be updated while creating a snapshot at a specified time point is called a snapshot management method. In addition, creating a snapshot by the snapshot management method is called snapshot acquisition, and the data for which the snapshot is acquired is called original data. Also, quitting the state in which the snapshot has been created is called snapshot deletion.
[0004]
One conventional snapshot management method is a data duplication method.
[0005]
In this method, in a normal state where a snapshot is not acquired, a program on a computer duplexes (mirrors) all data in two storage areas. When a snapshot is acquired, duplication is stopped, the two storage areas are separated into independent areas, one area is provided as original data, and the other area is provided as a snapshot.
[0006]
While the snapshot is acquired and duplication is stopped, updating of the data in the storage area of the original data is permitted, and when the data update occurs, the updated position is recorded. When the snapshot was deleted, data duplication was resumed, and update data whose contents did not match between the two storage areas were provided as a snapshot from the storage area of the original data based on the record of the update position Copy to storage area (mirror resynchronization).
[0007]
A method of duplicating data by a program on a computer is shown in US Pat. No. 5,051,887, for example.
[0008]
[Problems to be solved by the invention]
In the snapshot management method based on data duplication, during mirror resynchronization, normal access for updating / referencing and copy access for updated data are concentrated in the storage area of the original data, and the performance of normal access deteriorates. Since the time required for mirror resynchronization is proportional to the amount of data updated while taking a snapshot and stopping duplexing, assuming that update access occurs the same number of times per unit time, mirror resynchronization The time required for conversion increases in proportion to the stoppage time of duplexing. When taking a backup from a snapshot, a copy is made to a relatively low-speed tape or the like through a computer. There is a problem that the synchronization time becomes long.
[0009]
Further, since it is necessary to instruct deletion of the snapshot after using the snapshot, a program for managing the timing for starting the snapshot deletion program upon completion of the backup is required, which complicates the backup program. There is a problem that the development period of the program becomes longer corresponding to the complexity, the price increases, and the system to be configured becomes expensive.
[0010]
The first object of the present invention is to reduce the amount of copy of update data during mirror resynchronization and reduce performance by shortening the time during which snapshots are acquired and duplexing is stopped. It is to provide a snapshot management method that shortens the conversion time.
[0011]
A second object of the present invention is to simplify a backup program by omitting a snapshot deletion instruction after using a snapshot, and to provide a snapshot management method with an inexpensive system.
[0012]
[Means for Solving the Problems]
In order to achieve the first object, the present invention provides a temporary LU in a disk array as a temporary temporary area in a snapshot management method using data duplication. The temporary LU is a high-speed disk and can reduce the time during which duplication is stopped by taking a snapshot.
[0013]
In order to achieve the second object, the present invention provides a temporary LU in a disk array as a temporary temporary area in a snapshot management method using data duplication. By saving the snapshot in the temporary LU, the snapshot deletion process is unnecessary.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
[First Embodiment]
The first embodiment of the present invention reduces the copy amount of original data when performing mirror resynchronization by shortening the time during which duplication is stopped in the snapshot management method using data duplication. This is to shorten the mirror resynchronization time in which the data access performance from the database program is lowered.
[0015]
In addition, the backup program is simplified by omitting a snapshot deletion instruction after using the snapshot.
[0016]
In the present invention, a backup is taken as an example of using a snapshot, but it can also be used for other purposes such as OLAP (OnLine Analytical Processing) and system testing.
[0017]
(1) Description of configuration
The system configuration of the first embodiment of the present invention will be described with reference to FIG. In FIG. 1, a computer 100 and a disk array 200 are connected by a SCSI bus 300 via SCSI interfaces 140 and 240. The memory 120 of the computer 100 includes a database program 126 and a backup program 127 that are executed by the CPU 110 that controls the computer 100. The disk array 200 includes disks 251 to 253 controlled by the disk controller 250, and a snapshot management program 221 is stored in the memory 220 and is executed by the CPU 210. Note that the disks 251 to 253 may be virtual disks, or each may be an array composed of two or more disks.
[0018]
The storage area in each of the disks 251 to 253 is accessed from a computer as an LU (Logical Unit) which is a SCSI logical unit. The storage areas corresponding to the disks 251 to 253 are LU 261 to 263, respectively. In this embodiment, the snapshot management program 221 in the disk array 220 manages the LU 261 and LU 262 in a duplex manner, the LU 261 is used as a mirror source LU having original data, and the LU 262 is a mirror destination LU that is a mirror of the original data. And The LU 263 is a temporary LU that is a temporary copy destination when a snapshot is acquired, and the copy source is the LU 262.
[0019]
Next, a program in the computer 100 will be described.
[0020]
The database program 126 has a function of accessing the LU 261 that is the mirror source LU during execution and switching to a backup mode that controls data update and ensures data consistency in the LU 261. Transition to the backup mode is made in accordance with an instruction from the user or the backup program 127. The backup program 127 has a function of reading data for backing up to a tape or the like from the LU 263, which is a temporary LU storing a snapshot in accordance with an instruction from the user, a function of issuing a SCSI ModeSelect command to the disk array 200, and a database program. 126 has a function of instructing validation / invalidation of the backup mode.
[0021]
Next, programs and management tables in the disk array 200 will be described.
[0022]
The snapshot management program 221 of the disk array 200 has a disk access subprogram 230 for instructing disk access to the disk controller 250 in response to a request from the computer 100 and another update designated in advance by duplicating updates to one LU. This also applies to LUs, and has an LU mirror subprogram 231 that writes the same contents to two LUs. For example, in this embodiment, access to the LU 261 is duplicated in the LU 262. Further, the snapshot management program 221 temporarily copies original data from the mirror destination LU to the temporary LU (temporary copy) when acquiring the snapshot, and the copy completion position is stored in a copy position management table 223 described later. Temporary copy subprogram 233 to be recorded, non-mirror update monitoring subprogram 234 for detecting an update to the mirror source LU when duplexing is stopped (during non-mirroring), and the update position to be described later in non-mirroring It has a non-mirrored update position management subprogram 235 that is recorded in the update position management table 222, and a mirror resynchronization subprogram 232 that copies the updated part of the mirror source LU to the mirror destination LU when performing mirror resynchronization.
[0023]
The non-mirror update position management table 222 records the update position of the mirror source LU updated at the time of non-mirror, and one update position management table is provided for each mirror source LU. The non-mirror update position management table 222 is a bitmap as shown in FIG. 2, and includes all LBA set numbers and update states in the mirror source LU. An LBA set is an individual set when the entire area of an LU is divided from the top in units of one or more equal numbers of LBAs (Logical Block Address), and the LBA set number is the top of the LBA. A serial number is assigned to each LBA set from the side. The update state indicates whether or not the LBA set has been updated, and designates 1 and 0 respectively according to “update” and “non-update”. The initial setting value of the update state is 0. The example of FIG. 2 shows a state in which only the area of LBA set number 1 is updated at the time of non-mirroring.
[0024]
The copy position management table 223 records the update position where copying from the mirror destination LU to the temporary LU has been completed at the time of temporary copy, and one copy position management table 223 is provided for each mirror destination LU. The copy position management table 223 is a bitmap as shown in FIG. 3 and includes all LBA set numbers and copy states in the mirror destination LU. The definition of the LBA set number is the same as that of the non-mirror update position management table 222. The copy status indicates whether or not the LBA set has been copied, and designates 1 and 0 according to “copy incomplete” and “copy complete”, respectively. The initial setting value for the copy status is 1. In the example of FIG. 3, it is shown that the area of LBA set numbers 0 and 1 has been copied. Note that the update state of the non-mirror update position management table 222 and the specified value of the copy state of the copy position management table 223 are 0 when the data matches between the LUs being compared, and they do not match. Can be paraphrased as 1.
[0025]
(2) Acquisition of snapshot
The operation of the backup program 127 and the snapshot management program 221 at the time of acquiring a snapshot will be described with reference to the flowchart of FIG. 4, taking as an example the case where a snapshot of the mirror source LU 261 is provided as the temporary LU 263.
[0026]
First, the backup program 127 of the computer 100 gives an instruction to the database program 126, and validates the backup mode to guarantee the consistency of the data for acquiring the snapshot (step 2000). Next, the backup program 127 issues a ModeSelect command for acquiring a snapshot to the disk array 200 (step 2001). Upon receipt of the ModeSelect command (step 3000), the snapshot management program 221 of the disk array 200 enables the non-mirror update monitoring subprogram 234 and the non-mirror update location management subprogram 235, and starts recording the update location of the LU 261. (Step 3001). Thereafter, when the LU 261 is updated, 1 is set in the update state of the LBA set including the updated LBA in the non-mirror update position management table 222, and the fact that there has been an update is recorded. Next, the snapshot management program 221 invalidates the LU mirror subprogram 231 and stops duplication of the LU 261 and LU 262 (step 3002). As a result, the update to the LU 261 that is the mirror source LU is not reflected in the LU 262 that is the mirror destination LU. Next, the snapshot management program 221 transmits the completion status of the ModeSelect command to the backup program 127 of the computer 100 (step 3003). When the backup program 127 receives the completion status of the ModeSelect command (step 2002), it gives an instruction to the database program 126 and invalidates the backup mode (step 2003).
[0027]
Next, the backup program 127 issues a ModeSelect command for instructing the disk array 200 to start temporary copy for saving a snapshot in the LU 263 (step 2004). When receiving the ModeSelect command (step 3004), the snapshot management program 221 of the disk array 200 validates the temporary copy subprogram 233, and copies data from the LU 262 that is the mirror destination LU to the LU 263 that is the temporary LU. For the LBA set for which copying has been completed, the copy status in the copy position management table 223 is set to 0, and it is recorded that copying has been completed (step 3005). For data copying, the READ command is issued to the disk 252 including the LU 262 to read the specified LBA data, the WRITE command is issued to the disk 253 including the LU 263, and the data read to the same LBA as the LBA specified to the LU 262 is read. Implement by writing. This is performed for all areas of the LU 262 and LU 263. The COPY command may be used to copy the data. When the data copy is completed, the snapshot management program 221 validates the LU mirror subprogram 231 and resumes the duplication of the LU 261 and LU 262 (step 3006). Thereby, the update to the LU 261 is reflected in the LU 262. Next, the snapshot management program 221 invalidates the non-mirror time update monitoring subprogram 234 and the non-mirror time update position management subprogram 235, and stops the LU 261 update position recording (step 3007). Thereafter, the non-mirrored update position management table 222 is not changed. Next, the snapshot management program 221 validates the mirror resynchronization subprogram, refers to the non-mirror update position management table 222, and copies the portion where the contents do not match between the LU 261 and LU 262 from the LU 261 to the LU 262 (step). 3008). Next, the snapshot management program 221 transmits the completion status of the ModeSelect command to the backup program 127 of the computer 100 (step 3009). The backup program 127 receives the end status of the ModeSelect command and ends the operation (step 2005).
[0028]
Here, the operation of the mirror resynchronization subprogram 232 for copying data from the LU 261 to the LU 262 in step 3008 will be described with reference to the flowchart of FIG. First, the mirror resynchronization subprogram 232 checks whether there is 1 as an update record in the non-mirror update position management table 222 (step 1001). If there is no update record 1, mirror resynchronization is complete and the process ends (step 1002). If there is an update record, the update of the corresponding recording position is suppressed (step 1003), and the data at the corresponding recording position is copied from the LU 261 which is the mirror source LU to the LU 262 which is the mirror destination LU (step 1004). For data copying, the READ command is issued to the disk 251 including the LU 261 to read the specified LBA data, the WRITE command is issued to the disk 252 including the LU 262, and the data read to the same LBA as the LBA specified to the LU 261 is read. Implement by writing. The COPY command may be used to copy the data. Next, the mirror resynchronization subprogram 232 releases the update suppression of the corresponding recording position (step 1005), sets the corresponding update record in the non-mirror update position management table 222 to 0, and deletes the update record ( Step 1006) and return to Step 1001.
[0029]
The above is the operation of the backup program 127 and the snapshot management program 221 when acquiring a snapshot.
[0030]
(3) Computer operation when reading and writing data and reading snapshots
First, the operation of the database program 126 when the computer 100 accesses the data of the LU 261 in the disk array 200 will be described. The database program 126 performs the same operation regardless of whether or not a snapshot is acquired.
[0031]
When the database program 126 reads LU 261 data, the database program 126 issues a READ command for reading the LU 261 data to the disk array 200. Finally, the database program 126 receives data and status from the disk array 200 and ends the operation. When the database program 126 writes data to the LU 261, the database program 126 issues a WRITE command for writing data to the LU 261 to the disk array 200, and transmits the data. Finally, the database program 126 receives the status from the disk array 200 and ends the operation.
[0032]
Next, the operation of the backup program 127 when the computer 100 reads a snapshot of the LU 261 in the disk array 200 will be described.
[0033]
When the backup program 127 reads the snapshot of the LU 261, the backup program 127 issues a READ command for reading the data of the LU 263, which is the temporary LU of the LU 261, to the disk array 200. Finally, the backup program 127 receives data and status from the disk array 200 and ends the operation. When the disk array 200 cannot transmit the snapshot data, only the error status is received from the disk array 200.
[0034]
(4) Disk array operation when reading and writing data and reading snapshots
First, the operation of the snapshot management program 221 when the computer 100 accesses the data of the LU 261 in the disk array 200 will be described.
[0035]
When the computer 100 reads data from the LU 261, the snapshot management program 221 receives a READ command for the LU 261. Next, if the LU mirror subprogram 231 is valid and the copy of the updated portion by the mirror resynchronization subprogram 232 has been completed, data is read from the LU 261 or the LU 262 that is the mirror destination LU. Otherwise, data is read from the LU 261. Finally, read
The received data and status are transmitted to the computer 100. If the contents of the LU 261 and the LU 262 that is the mirror destination LU match, the load can be distributed by reading data from either of them.
[0036]
When the computer 100 writes data to the LU 261 and updates the stored contents, the snapshot management program 221 receives a WRITE command and data for the LU 261. Next, if the LU mirror subprogram 231 is valid, data is written to the LU 261 and the mirror destination LU 262, and if invalid, data is written to the LU 261. Next, if the non-mirror time update monitoring subprogram 234 and the non-mirror time update position management subprogram 235 are valid, the update state of the LBA set including the LBA updated to the non-mirror time update position management table 222 of the LU 261 Set to 1 and do nothing if disabled. Finally, the status is transmitted to the computer 100.
[0037]
Next, the operation of the snapshot management program 221 when the computer 100 reads a snapshot of the LU 261 in the disk array 200 will be described.
[0038]
When the computer 100 reads a snapshot of the LU 261, the snapshot management program 221 receives a READ command for the LU 263 that is a temporary LU of the LU 261. Next, the snapshot management program 221 refers to the copy position management table 223 and checks the copy status of the LBA set including the LBA specified by the READ command. When the copy state is 0, that is, when a snapshot of the LU 261 is stored in the LU 263 that is a temporary LU, data is read from the LU 263. When the copy state is 1, that is, when the snapshot of the LU 261 is not stored in the LU 263 that is a temporary LU, data is read from the LU 262 that is a mirror destination LU. Finally, the read data and status are transmitted to the computer 100. When the snapshot data cannot be transmitted, only the error status is transmitted to the disk array 200.
[0039]
Note that during the copying of the updated portion by the mirror resynchronization subprogram 232, the copy processing and the data access processing to the LU 261 by the computer 100 are concentrated on the same LU 261, so the data access performance is degraded.
[0040]
(5) Effect
According to the present embodiment, in a snapshot management method for providing a storage area as a snapshot by stopping duplication when a snapshot is acquired, a temporary LU is used as a temporary temporary area for storing a snapshot. By providing the LU 263, the duplication stop time of the LU 261 that is the mirror source LU and the LU 262 that is the mirror destination LU can be shortened, and the amount of update positions recorded in the non-mirror update position management table 222 can be reduced. Can do. Therefore, when mirror resynchronization is performed, the amount of copy of the updated original data from the mirror source LU to the mirror destination LU can be reduced, and the mirror resynchronization time during which the data access performance from the computer 100 decreases. There is an effect that can be shortened.
[0041]
When the amount of snapshot data is the same, the duplexing stop time is inversely proportional to the transfer rate when the snapshot is sent from the mirror destination LU and taken into the receiver side. Since the mirror resynchronization time is proportional to the amount of data updated during duplexing stop, assuming that update access occurs the same number of times per unit time, the mirror resynchronization time is proportional to the duplexing stop time. Therefore, the mirror resynchronization time is inversely proportional to the transfer rate when the snapshot is sent from the mirror destination LU and taken into the receiver side.
[0042]
For example, assuming that the transfer capacity of the disk controller 250 in this embodiment has a sufficient margin, if the read / write performances of the LUs 261 to 263 are both 80 megabytes / second, the mirror destination LU is 80 megabytes / second. Snapshots can be copied from a temporary LU to a temporary LU. Therefore, in this embodiment, the transfer rate when a snapshot is sent from the mirror destination LU and taken into the receiver side is 80 megabytes / second. Here, the bytes / second is the number of bytes of data that can be transferred per second.
[0043]
On the other hand, when a backup is taken to a tape by a conventional method, a snapshot is read from the mirror destination LU, transferred to a computer, and further written to the tape from there. The overall transfer performance is the lowest value among the read performance of the mirror destination LU, the transfer performance from the disk array to the computer, the internal transfer performance of the computer, the transfer performance from the computer to the tape, and the write performance of the tape. Similarly, the read performance of the mirror destination LU is 80 megabytes / second, but the tape write performance is low from the viewpoint of winding performance. For example, if the performance is 40 megabytes / second, the overall transfer performance is 40 megabytes / second. Therefore, in the conventional method, the transfer rate when the snapshot is sent from the mirror destination LU and taken into the receiver side is 40 megabytes / second. In addition, the transfer performance of other parts may be low.
[0044]
Therefore, in a trial calculation in which both the read / write performance of the LUs 261 to 263 is 80 megabytes / second and the write performance of the tape is 40 megabytes / second, this embodiment sends a snapshot from the mirror destination LU to the conventional method. The transfer speed when taking in the receiver side is doubled. Since the mirror resynchronization time is inversely proportional to the transfer speed when the snapshot is sent from the mirror destination LU and taken into the receiver side, this embodiment halves the mirror resynchronization time compared to the conventional method. be able to.
[0045]
Further, according to the present embodiment, by providing the LU 263, which is a temporary LU, as a temporary temporary area for storing a snapshot, there is no need to instruct deletion of the snapshot after using the snapshot. Can simplify the program to implement. Therefore, since the program development period can be shortened, there is an effect that an inexpensive system can be configured.
[0046]
In the present invention, the SCSI bus 300 is used as an interface for connecting the computer 100 and the disk array 200, but another interface such as Fiber Channel may be used.
[0047]
If the original data of the LU 261 at the time of snapshot acquisition is to be restored, the snapshot is stored in the LU 263, which is a temporary LU, so the LU 263 may be switched to the mirror source LU.
[0048]
In addition, when the snapshot is acquired, the issue of the ModeSelect command instructing the start of temporary copy in step 2004 of FIG. 4 can be omitted. In this case, steps 3005 to 3008 may be performed after the snapshot management program 221 ends step 3003. If the status resulting from the execution of steps 3005 to 3008 results in an error, the status for any command issued from the computer 100 is set to Check Condition, and in response to the RequestSense command issued by the computer 100 in response thereto. Sense data that conveys an error may be transmitted.
[0049]
[Second Embodiment]
The second embodiment of the present invention is similar to the first embodiment in the snapshot management method based on data duplication in which the resynchronization time is reduced by shortening the time during which the duplication is stopped. This is to reduce the copy amount of the original data and shorten the mirror resynchronization time in which the data access performance from the database program is lowered.
[0050]
Further, as in the first embodiment, the backup program is simplified by omitting the snapshot deletion instruction after using the snapshot.
[0051]
The difference from the first embodiment is that when a snapshot is saved in a temporary LU, the difference from the snapshot saved in the previous temporary LU is copied to the temporary LU, not the entire mirror destination LU. is there.
[0052]
In the present invention, a backup is taken as an example of using a snapshot, but it can also be used for other purposes such as OLAP (OnLine Analytical Processing) and system testing.
[0053]
(1) Description of configuration
The system configuration of the second embodiment of the present invention will be described with reference to FIG. For the sake of simplicity, only differences from the first embodiment will be described.
[0054]
In FIG. 6, an LU 263 is a temporary LU that stores a temporary snapshot as in the first embodiment, and at the same time is a temporary LU that stores a previous snapshot.
[0055]
In addition to the first embodiment, the snapshot management program 221 of the disk array 200 includes a constant update monitoring subprogram 237 that detects updates to the mirror source LU from the snapshot acquisition time to the next snapshot acquisition time, and the update thereof. It has a constantly updated position management subprogram 238 that records positions in a constantly updated position management table 224 to be described later.
[0056]
The temporary copy subprogram 233 acquires a snapshot in addition to the function of the first embodiment in which original data is temporarily copied (temporary copy) from a mirror destination LU to a temporary LU when a snapshot is acquired. A function of copying the difference from the previous snapshot from the mirror destination LU to the temporary LU in which the previous snapshot is stored. The temporary copy subprogram 233 has a function of recording the position where the copy is completed in the constantly updated position management table 224 determined at the time of snapshot acquisition. The temporary update position management table 224 determined at the time of snapshot acquisition at the time of temporary copy replaces the copy position management table 223 of the first embodiment, and the computer 100 snapshots the LU 261 in the disk array 200. , The snapshot management program 221 refers to the constantly updated location management table 224 determined at the time of snapshot acquisition instead of the copy location management table 223 of the first embodiment.
[0057]
The constantly updated position management table 224 records the update position of the mirror source LU updated from the snapshot acquisition time to the next snapshot acquisition time, and after the recording of the update status is stopped and confirmed. In addition, since it is necessary to continuously monitor the update position in preparation for the next snapshot acquisition, at least two update position management tables 224 are provided for each mirror source LU. The constantly updated position management table 224 is a bitmap as shown in FIG. 7 and includes all LBA set numbers and update states in the mirror source LU. The definition of the LBA set number and the update state is the same as that in the non-mirror update position management table 222. The initial setting value of the update state is 0 for the first and second snapshots after the first snapshot acquisition. In the example of FIG. 7, only the area of LBA set number 1 is updated between the snapshot acquisition time and the next snapshot acquisition time. Note that the designated value of the update state in the constantly updated location management table 224 is 0 when the data matches between the LU 261 that is the mirror source LU and the LU 263 of the temporary LU that stores the previous snapshot. The case where it is not done can be rephrased as 1.
[0058]
(2) Acquisition of snapshot
In the second embodiment, unlike the first embodiment, when a snapshot is acquired, a new snapshot is obtained by copying the difference data after the snapshot acquisition to the temporary LU that saved the previous snapshot. Is stored in the temporary LU. In the first snapshot acquisition, there is no temporary LU storing the previous snapshot, so the procedure is the same as in the first embodiment. However, since the differential copy is performed at the time of the next snapshot saving, the snapshot management program 221 performs a constant update monitoring subprogram for creating the constant update position management table 224 in the step following step 3001 in FIG. 237 and the constantly updated location management subprogram 238 are activated. Thereafter, when there is a data write request from the database program 126, 1 is set in the update state of the LBA set including the updated LBA in the constantly updated location management table 224, and the fact that there has been an update is recorded.
[0059]
Next, a procedure for acquiring the snapshot after the second time and saving the snapshot to the temporary LU will be described.
[0060]
Also in the second and subsequent snapshot acquisition, the constantly updated position management table 224 records the update status from the snapshot acquisition to the next snapshot acquisition. In the step following step 3001 in FIG. 4, the snapshot management program 221 determines the constantly updated position management table 224 that records the updates from the previous snapshot to the current snapshot, and from the current snapshot to the next snapshot. Recording of the constantly updated position management table 224 until the shot is started. Thereafter, the snapshot management program 221 determines the constantly updated position management table 224 in the next step after step 3001 in FIG. 4 and starts recording the next constantly updated position management table 224.
[0061]
In addition, the previous snapshot is still stored in the temporary LU LU 263.
[0062]
At the time of temporary copy, the snapshot management program 221 refers to the constantly updated position management table 224 determined at the time of snapshot acquisition by the temporary copy subprogram 233, and changes from the LU 262 that is the mirror destination LU to the LU 263 that is the temporary LU. Make a differential copy of the previous snapshot. Other operations are the same as those in the first embodiment.
[0063]
Here, the temporary copy subprogram operation at the time of the temporary copy for copying the difference will be described with reference to the flowchart of FIG. First, the snapshot management program 221 checks whether there is 1 in the update state as an update record in the constantly updated location management table 224 (step 1201). If there is no update record 1, the process is completed (step 1202). Otherwise, the data at the corresponding recording position is copied from the mirror destination LU 262 to the temporary LU 263 (step 1203). For data copying, the READ command is issued to the disk 252 including the LU 262 to read the specified LBA data, the WRITE command is issued to the disk 253 including the LU 263, and the data read to the same LBA as the LBA specified to the LU 262 is read. Implement by writing. The COPY command may be used to copy the data. Finally, 0 is set in the corresponding update record in the constantly updated position management table 224 to delete the update record (step 1204), and the process returns to step 1201.
[0064]
(3) Computer operation when reading and writing data and reading snapshots
The operation of the database program 126 when the computer 100 accesses the data of the LU 261 in the disk array 200 and the operation of the backup program 127 when the computer 100 reads the snapshot of the LU 261 in the disk array 200 are as follows. This is the same as the first embodiment.
[0065]
(4) Disk array operation when reading and writing data and reading snapshots
First, the operation of the snapshot management program 221 when the computer 100 accesses the data of the LU 261 in the disk array 200 will be described.
[0066]
The operation of the snapshot management program 221 when the computer 100 reads data from the LU 261 is the same as that in the first embodiment.
[0067]
When the computer 100 writes data to the LU 261 and updates the stored contents, the snapshot management program 221 receives a WRITE command and data for the LU 261. Next, if the LU mirror subprogram 231 is valid, data is written to the LU 261 and the mirror destination LU 262, and if invalid, data is written to the LU 261. Next, the update state of the LBA set including the updated LBA is set to 1 in the constantly updated position management table 224 of the mirror source LU that is recording the update. Next, if the non-mirror time update monitoring subprogram 234 and the non-mirror time update position management subprogram 235 are valid, the update state of the LBA set including the LBA updated to the non-mirror time update position management table 222 of the LU 261 Set to 1 and do nothing if disabled. Finally, the status is transmitted to the computer 100.
[0068]
Next, the operation of the snapshot management program 221 when the computer 100 reads a snapshot of the LU 261 in the disk array 200 will be described.
[0069]
When the computer 100 reads a snapshot of the LU 261, the snapshot management program 221 receives a READ command for the LU 263 that is a temporary LU of the LU 261. Next, the snapshot management program 221 refers to the constantly updated location management table 224 that is determined at the time of snapshot acquisition and is used instead of the copy location management table 223 in the first embodiment at the time of temporary copy, The update state of the LBA set including the LBA specified in (1) is checked. When the update state is 0, that is, when a snapshot of the LU 261 is stored in the LU 263 that is a temporary LU, data is read from the LU 263. When the copy state is 1, that is, when the snapshot of the LU 261 is not stored in the LU 263 that is a temporary LU, data is read from the LU 262 that is a mirror destination LU. Finally, the read data and status are transmitted to the computer 100. When the snapshot data cannot be transmitted, only the error status is transmitted to the disk array 200.
[0070]
(5) Effect
In the second embodiment, as in the first embodiment, by providing an LU 263 that is a temporary LU as a temporary temporary area for storing a snapshot, an LU 261 that is a mirror source LU and a mirror destination LU. It is possible to reduce the duplication stop time of the LU 262, and the amount of update positions recorded in the non-mirror update position management table 222 can be reduced. Furthermore, in the second embodiment, since the previous snapshot is stored in the temporary LU and only the difference from the previous snapshot is copied during the temporary copy, the duplication stop time of the LU 261 and LU 262 can be further shortened. it can. Therefore, when mirror resynchronization is performed, the amount of copy of the updated original data from the mirror source LU to the mirror destination LU can be reduced, and the mirror resynchronization time during which the data access performance from the computer 100 decreases. There is an effect that can be shortened.
[0071]
Further, in the second embodiment, as in the first embodiment, by providing the LU 263, which is a temporary LU, as a temporary temporary area for storing a snapshot, the snapshot is deleted after using the snapshot. Therefore, it is possible to simplify the program for performing backup. Therefore, since the program development period can be shortened, there is an effect that an inexpensive system can be configured.
[0072]
Further, as a copy method at the time of temporary copy, a copy method selection subprogram capable of selecting the method of copying the entire LU 262 in the first embodiment and the method of copying only the difference between the LU 262 and the LU 263 of the second embodiment Adding to the snapshot management program 221 is also conceivable. This is based on the assumption that when the update from the previous snapshot is performed in almost all areas in the LU 261, copying the entire LU 262 continuously from the beginning of the LBA set may shorten the copy time. It is a thing. Thus, the user can select a temporary copy method according to the amount of update data from the previous snapshot, and the temporary copy can be efficiently performed. Therefore, since the duplication stop time of the LU 261 and the LU 262 can be shortened, the amount of copying the updated original data from the mirror source LU to the mirror destination LU can be reduced when performing mirror resynchronization. The mirror resynchronization time during which the data access performance from the computer 100 is reduced can be shortened.
[0073]
In the present invention, the SCSI bus 300 is used as an interface for connecting the computer 100 and the disk array 200, but another interface such as Fiber Channel may be used.
[0074]
If the original data of the LU 261 at the time of snapshot acquisition is to be restored, the snapshot is stored in the LU 263, which is a temporary LU, so the LU 263 may be switched to the mirror source LU.
[0075]
In addition, when the snapshot is acquired, the issue of the ModeSelect command instructing the start of temporary copy in step 2004 of FIG. 4 can be omitted. In this case, steps 3005 to 3008 may be performed after the snapshot management program 221 ends step 3003. If the status resulting from the execution of steps 3005 to 3008 results in an error, the status for any command issued from the computer 100 is set to Check Condition, and in response to the RequestSense command issued by the computer 100 in response thereto. Sense data that conveys an error may be transmitted.
[0076]
【The invention's effect】
As described above, according to the present invention, in the snapshot management method for duplicating data into two storage areas, stopping the duplication at the time of snapshot acquisition and providing one storage area as a snapshot, By providing a temporary LU consisting of a high-speed disk in the disk array as a temporary temporary area for saving, the time during which duplication is stopped for snapshot acquisition can be shortened. Therefore, when mirror resynchronization is performed, the amount of copied original data copied to the mirror destination LU can be reduced, and the mirror resynchronization time during which data access performance from the database program is reduced can be shortened. effective.
[0077]
Further, according to the present embodiment, by providing a temporary LU as a temporary temporary area for saving a snapshot, it is not necessary to instruct deletion of the snapshot after using the snapshot. The program can be simplified. Therefore, since the program development period can be shortened, an inexpensive system can be configured.
There is an effect.
[Brief description of the drawings]
FIG. 1 is a system configuration diagram according to a first embodiment.
FIG. 2 is an explanatory diagram of a non-mirrored update position management table in the first embodiment.
FIG. 3 is an explanatory diagram of a copy position management table according to the first embodiment.
FIG. 4 is a snapshot acquisition flow in the first embodiment.
FIG. 5 is an operation flow of a mirror resynchronization subprogram in the first embodiment.
FIG. 6 is a system configuration diagram according to the second embodiment.
FIG. 7 is an explanatory diagram of a constantly updated position management table according to the second embodiment.
FIG. 8 is an operation flow of a temporary copy subprogram in the second embodiment.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Computer, 126 ... Database program, 127 ... Backup program, 200 ... Disk array, 221 ... Snapshot management program, 222 ... Non-mirror update position management table.

Claims (5)

上位装置からの要求を処理するプロセッサと、
前記プロセッサに接続され、情報を格納するメモリと、
前記上位装置からアクセスの対象となる第1の論理ユニットと、
前記第1の論理ユニットのデータが格納される第2の論理ユニットと、
データが一時的に格納される第3の論理ユニットと、
を有し、
前記メモリは、前記第1の論理ユニットに書き込まれたデータの更新された位置が格納される第1の更新位置管理表と、
前記第2の論理ユニットから前記第3の論理ユニットに書き込まれたデータの更新された位置が格納される第2の更新位置管理表と、
前記上位装置からスナップショットを取得する要求から次のスナップショットを取得する要求までの間に、前記第1の論理ユニットに書き込まれたデータの更新された位置が格納される第3の更新位置管理表と、を備え、
前記プロセッサは、前記上位装置から送信された書き込みデータを前記第1の論理ユニットに書き込むとともに、前記書き込みデータを前記第2の論理ユニットに書き込み、
前記上位装置からスナップショットを取得する第1の要求を受領した際、前記プロセッサは、前記第1の論理ユニットに更新された位置を前記第1の更新位置管理表と前記第3の更新位置管理表に記録するとともに、前記第2の論理ユニットにデータを書き込むことを停止し、
前記プロセッサは、前記第2の論理ユニットのデータを前記第3の論理ユニットに書き込むとともに、前記第2の更新位置管理表に前記書き込んだ位置を記録し、
前記第3の論理ユニットにデータの書き込みが終了した後、前記プロセッサは、前記第1の更新位置管理表に基づいて、前記第1の論理ユニットから前記第2の論理ユニットに対して、更新されたデータを書き込み、
さらに、前記上位装置からスナップショットを取得する第2の要求を受領した場合に前記第2の論理ユニットから前記第3の論理ユニットにデータを書き込む際、前記プロセッサは、前記第2の更新管理表を利用してデータを書き込むか、または、前記第3の更新管理表に基づいてデータを書き込むか、を選択する記憶システム。
A processor that processes requests from the host device;
A memory connected to the processor for storing information;
A first logical unit to be accessed from the host device;
A second logical unit in which data of the first logical unit is stored;
A third logical unit in which data is temporarily stored;
Have
The memory includes a first update location management table storing updated locations of data written to the first logical unit;
A second updated location management table storing updated locations of data written from the second logical unit to the third logical unit;
Third update location management in which an updated location of data written in the first logical unit is stored between a request to obtain a snapshot from the host device and a request to obtain the next snapshot A table, and
The processor writes the write data transmitted from the host device to the first logical unit, and writes the write data to the second logical unit,
When receiving a first request for acquiring a snapshot from the higher-level device, the processor updates the location updated in the first logical unit with the first update location management table and the third update location management. Recording in a table and stopping writing data to the second logical unit;
The processor writes the data of the second logical unit to the third logical unit and records the written position in the second update position management table,
After the writing of data to the third logical unit is completed, the processor is updated from the first logical unit to the second logical unit based on the first update location management table. Write data,
Further, when writing a data from the second logical unit to the third logical unit when a second request for acquiring a snapshot is received from the host device, the processor updates the second update management table. A storage system for selecting whether to write data using the data or to write data based on the third update management table.
請求項1記載の記憶システムにおいて、
前記上位装置が前記第1の要求に対するスナップショットのデータを読み込む場合、前記プロセッサは、前記第2の更新位置管理表又は前記第3の更新位置管理表により、前記第2の論理ユニット又は前記第3の論理ユニットから前記スナップショットのデータを読み出す記憶システム。
The storage system of claim 1, wherein
When the host device reads snapshot data corresponding to the first request, the processor uses the second update location management table or the third update location management table to determine whether the second logical unit or the second A storage system for reading the snapshot data from three logical units.
請求項1記載の記憶システムにおいて、
前記プロセッサと前記第1乃至3の論理ユニットと、に接続され、前記プロセッサの指示によって、前記第1乃至3の論理ユニットにアクセスするディスクコントローラを有する記憶システム。
The storage system of claim 1, wherein
A storage system having a disk controller connected to the processor and the first to third logical units and accessing the first to third logical units according to instructions from the processor.
請求項3記載の記憶システムにおいて、
前記コンピュータからの要求に応じて、前記プロセッサが前記ディスクコントローラに前記第1乃至3の論理ユニットにアクセスする指示するディスクアクセスプログラムと、
前記プロセッサが前記第1の論理ユニットに更新されたデータを前記第2の論理ユニットに書き込むLUミラーサブプログラムと、
前記プロセッサが前記第2の論理ユニットから前記第3の論理ユニットにデータを書き込むスナップショット管理プログラムと、
前記プロセッサが前記第1の論理ユニットから前記第2の論理ユニットに更新されたデータを書き込むことを停止している際、前記第1の論理ユニットに対する更新を検出する非ミラー時更新監視プログラムと、
前記第1の論理ユニットに対する更新された位置を前記メモリに格納する非ミラー時更新位置管理プログラムと、
前記プロセッサが前記第1の論理ユニットから前記第2の論理ユニットに対して、再度、同期化を行うミラー再同期プログラムと、
を前記メモリに有する記憶システム。
The storage system of claim 3.
A disk access program that instructs the disk controller to access the first to third logical units in response to a request from the computer;
An LU mirror subprogram in which the processor writes data updated in the first logical unit to the second logical unit;
A snapshot management program in which the processor writes data from the second logical unit to the third logical unit;
A non-mirrored update monitoring program for detecting an update to the first logical unit when the processor stops writing updated data from the first logical unit to the second logical unit;
A non-mirrored update location management program for storing the updated location for the first logical unit in the memory;
A mirror resynchronization program in which the processor synchronizes again from the first logical unit to the second logical unit;
A storage system having the memory.
請求項1記載の記憶システムにおいて、
前記メモリは、前記第1の論理ユニットに対する前記第3の更新管理表を複数有し、
前記上位装置からスナップショットを取得する第3の要求を受領した場合、
前記プロセッサは、前記第3の更新管理表を確定した後、前記第3の要求からの更新の位置を記録する新たな第3の更新管理表を作成する記憶システム。
The storage system of claim 1, wherein
The memory has a plurality of the third update management tables for the first logical unit,
When a third request for acquiring a snapshot is received from the host device,
The storage system, after confirming the third update management table, creates a new third update management table for recording the position of the update from the third request.
JP2000154367A 2000-05-22 2000-05-22 Snapshot management method for storage system Expired - Fee Related JP3882467B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000154367A JP3882467B2 (en) 2000-05-22 2000-05-22 Snapshot management method for storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000154367A JP3882467B2 (en) 2000-05-22 2000-05-22 Snapshot management method for storage system

Publications (2)

Publication Number Publication Date
JP2001331378A JP2001331378A (en) 2001-11-30
JP3882467B2 true JP3882467B2 (en) 2007-02-14

Family

ID=18659471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000154367A Expired - Fee Related JP3882467B2 (en) 2000-05-22 2000-05-22 Snapshot management method for storage system

Country Status (1)

Country Link
JP (1) JP3882467B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100349139C (en) * 2004-02-19 2007-11-14 华为技术有限公司 Method for writing data on source film in pistolgraph process
US7487386B2 (en) * 2005-03-30 2009-02-03 International Business Machines Corporation Method for increasing file system availability via block replication
JP4800031B2 (en) 2005-12-28 2011-10-26 株式会社日立製作所 Storage system and snapshot management method
JP2007188267A (en) 2006-01-12 2007-07-26 Hitachi Ltd Storage controller and control method therefor
JP5194962B2 (en) * 2008-04-03 2013-05-08 富士通株式会社 Data processing method, storage apparatus, and storage system
JP5488952B2 (en) 2008-09-04 2014-05-14 株式会社日立製作所 Computer system and data management method
GB2480599A (en) * 2010-05-17 2011-11-30 Tech Universit T Muenchen Hybrid OLTP and OLAP database
CN109783274B (en) * 2017-11-15 2023-03-14 阿里巴巴集团控股有限公司 Disk snapshot management method and device and readable storage medium

Also Published As

Publication number Publication date
JP2001331378A (en) 2001-11-30

Similar Documents

Publication Publication Date Title
JP3868708B2 (en) Snapshot management method and computer system
JP3714184B2 (en) Copying method between data areas of storage device and storage system
JP3726559B2 (en) Direct backup method and storage system
JP3316500B2 (en) Increase the number of drives in a RAID set while maintaining the integrity of the moved data
US7072915B2 (en) Copy method supplementing outboard data copy with previously instituted copy-on-write logical snapshot to create duplicate consistent with source data as of designated time
JP3974538B2 (en) Information processing system
JP4108973B2 (en) Backup system
US6981115B2 (en) Method of data backup in a computer system and a storage system therefor
JP4199993B2 (en) How to get a snapshot
JP4486348B2 (en) Disk array that suppresses drive operating time
US7461176B2 (en) Method for initialization of storage systems
US6886075B2 (en) Memory device system and method for copying data in memory device system
JPH08305500A (en) Storage controller,data storage system containing it and double-pair suppression method
JP3606797B2 (en) Copy processing method between data areas of storage device, storage system, and storage medium thereof
JP3832223B2 (en) Disk array disk failure recovery method
JPH07191811A (en) Moving system for magnetic disk device
JP2002132554A (en) Access method for database
JP2023055998A (en) Storage system and storage system control method
JP3882467B2 (en) Snapshot management method for storage system
JP3490266B2 (en) Backup system and backup method using disk system and magnetic tape library device
JPH11120057A (en) File backup method
JP4394467B2 (en) Storage system, server apparatus, and preceding copy data generation method
JP4187778B2 (en) Backup system and backup method
JP4122724B2 (en) Data replication method and information processing system
JP2001290713A (en) Storage device system and method for acquiring its backup

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060314

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060425

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061106

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101124

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111124

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121124

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131124

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees