JP4127461B2 - Backup system and method in disk shared file system - Google Patents
Backup system and method in disk shared file system Download PDFInfo
- Publication number
- JP4127461B2 JP4127461B2 JP2001025748A JP2001025748A JP4127461B2 JP 4127461 B2 JP4127461 B2 JP 4127461B2 JP 2001025748 A JP2001025748 A JP 2001025748A JP 2001025748 A JP2001025748 A JP 2001025748A JP 4127461 B2 JP4127461 B2 JP 4127461B2
- Authority
- JP
- Japan
- Prior art keywords
- log
- backup
- data
- medium
- block
- 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
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、計算機(コンピュータ)システムのディスク等の記録媒体に格納されたデータをバックアップし、必要なときにリストアするシステムおよびその方法に関する。
【0002】
【従来の技術】
従来の計算機システムでは、ファイルシステムがバックアップを行う際に、まず、ファイル単位で、使用されているブロックのアドレス等のブロック情報を調べる。そして、該当するブロックのデータをディスクから読み出すことにより、ファイルを読み、読んだデータをテープにコピーする。このような動作をファイル毎に繰り返すことで、ファイルのバックアップが行われていた。
【0003】
しかし、この方法では、多数のファイルのバックアップを行う場合、ディスクへのアクセスがランダムアクセスに近くなるため、システムの性能を損ねる原因となっていた。
【0004】
そこで、バックアップを効率化するために、ファイルが占めている複数のブロックを直接コピーするイメージバックアップが用いられるようになった。この方法では、計算機システムは、ファイルを選択的にコピーする代わりに、ディスク内でファイルが占めているブロックの領域を一括してコピーする。このため、1回のディスクアクセスでバックアップが行われ、処理が効率化される。
【0005】
【発明が解決しようとする課題】
しかしながら、上述した従来のバックアップ方法には、以下のような問題がある。
【0006】
従来のイメージバックアップでは、ディスクを単位としてデータをコピーすることはできたが、ファイルやディレクトリを単位としてコピーすることはできなかった。このため、必要のないデータまでコピーしなければならないという問題があった。また、バックアップされたデータをリストアするには、すべてのデータをディスク上にコピーして展開する必要があった。
【0007】
さらに、複数の計算機がディスクを共有して処理を行うクラスタシステムにおいてバックアップを行おうとすると、次のような問題が発生する。
クラスタシステムは、複数の計算機が共有ディスクに同時にアクセスするためのファイルシステム(ディスク共用ファイルシステム)を備えており、各計算機は、書き込みデータをキャッシュする領域を備えている。このため、単に共有ディスクをコピーするだけでは、キャッシュされた書き込みデータ(ライトキャッシュ)の内容がコピーに反映されないので、通常のイメージバックアップを行うことは不可能である。
【0008】
また、従来の計算機システムでは、イメージバックアップを業務の稼動中に(オンラインで)行うために、ファイルシステムが、データの変更を契機として、変更前の元データを別の領域に退避させ、ディスクをコピーした後に、退避されていた元データをコピーに上書きしていた。これにより、バックアップデータ上で、バックアップ開始時点の内容を確定することができた。
【0009】
しかし、クラスタシステムにおいては、同一のファイル領域に対して、複数の計算機による変更がほとんど同時に発生する場合があり、元データを用いてバックアップ開始時点の内容を確定する方法を、直接適用できないという問題がある。
【0010】
このように、従来のバックアップ方法では、クラスタシステムにおける大量のデータを効率的にバックアップすることができない。このため、クラスタシステムにおける有効なバックアップ方法は開発されておらず、バックアップされたデータを効率的に閲覧する方法もない。
【0011】
本発明の課題は、ディスク共用ファイルシステムを有する計算機システムにおいて、データを効率的にバックアップするシステムおよびその方法を提供することである。
【0012】
【課題を解決するための手段】
図1は、本発明のバックアップシステムの原理図である。
本発明の第1の局面において、バックアップシステムは、コピー手段1と制御手段2を備え、複数の計算機3により共有される共有媒体4のバックアップを行う。
【0013】
コピー手段1は、共有媒体4の複数の単位領域を一括してバックアップ媒体5にコピーする。制御手段2は、各計算機3が共有媒体4に書き込む書き込みデータを管理し、バックアップ時に、各計算機3の書き込みデータを共有媒体4に反映させる。
【0014】
各計算機3は、共有媒体4のデータを変更するとき、書き込みデータをライトキャッシュとして保持し、共有媒体4へのアクセスが可能になったとき、その内容を共有媒体4に書き込む。制御手段2は、各計算機3が保持する書き込みデータの有無を管理し、バックアップ時に、計算機3が保持する書き込みデータを共有媒体4に書き込む制御を行う。
【0015】
共有媒体4の格納領域は、例えば、ブロックのような単位領域毎に分割されている。コピー手段1は、すべての書き込みデータが書き込まれた後に、例えば、イメージバックアップのような方法により、共有媒体4の複数の単位領域を一括してバックアップ媒体5にコピーする。
【0016】
このようなバックアップシステムによれば、ディスク共用ファイルシステムにおいて、各計算機3が保持する書き込みデータを含めて、共有媒体4のバックアップを効率よく行うことができる。
【0017】
また、本発明の第2の局面において、バックアップシステムは、ログ管理手段6と生成手段7を備え、複数の計算機3により共有される共有媒体4のイメージバックアップを行う。
【0018】
ログ管理手段6は、複数の計算機3のうちのいずれかの計算機3が共有媒体4のある領域に書き込む際に、その領域の書き込み前のイメージデータをログとして書き込みを行った計算機3で管理し、複数の計算機3が管理するログをまとめて全体のログを生成する。そして、同一領域に対するログが複数ある場合は、イメージバックアップ開始時点以降、最も古いログを用いる。生成手段7は、リストア時に、全体のログを用いて、イメージバックアップ開始時点のデータを生成する。
【0019】
計算機3が共有媒体4のデータを変更するとき、変更前の元データがログとして保存される。ログ管理手段6は、各計算機3のログを管理し、2つ以上の計算機3のログをまとめて、システム全体のログを生成する。そして、生成手段7は、例えば、共有媒体4のバックアップデータに全体のログを上書きすることで、バックアップ開始時点の内容を確定する。
【0020】
このようなバックアップシステムによれば、複数の計算機3によるデータの変更を契機として保存された元データが編集され、全体のログが生成される。したがって、ディスク共用ファイルシステムにおいても、システムの稼動中にバックアップを効率よく行うことができる。
【0021】
また、本発明の第3の局面において、バックアップシステムは、コピー手段1とグループ管理手段8を備え、複数の計算機3により共有される共有媒体4のバックアップを行う。
【0022】
グループ管理手段8は、共有媒体4に格納されたファイルのグループを設定し、そのグループに含まれるファイルが占める単位領域をリストアップする。コピー手段1は、リストアップされた複数の単位領域を一括してバックアップ媒体5にコピーする。
【0023】
グループ管理手段8は、1つ以上のファイルを含むグループを設定し、そのグループに含まれる各ファイルが占める単位領域をリストアップする。そして、コピー手段1は、例えば、イメージバックアップのような方法により、各ファイルを区別することなく、リストアップされた複数の単位領域を一括してバックアップ媒体5にコピーする。
【0024】
このようなバックアップシステムによれば、ディスク共用ファイルシステムにおいて、バックアップするファイルを指定することが可能になり、不要なファイルのコピーを行う必要がなくなる。したがって、バックアップが効率化される。
【0025】
また、本発明の第4の局面において、バックアップシステムは、コピー手段1と領域管理手段9を備え、計算機3からアクセスされるファイルを格納する格納媒体4のバックアップを行う。
【0026】
領域管理手段9は、格納媒体4の単位領域毎に使用されているか否かを判定し、使用されている単位領域をリストアップする。コピー手段1は、リストアップされた複数の単位領域を一括してバックアップ媒体5にコピーする。
【0027】
領域管理手段9は、格納媒体4の各単位領域を管理し、各単位領域がファイルとして使用されているか否かを判定して、ファイルが占める単位領域をリストアップする。そして、コピー手段1は、例えば、イメージバックアップのような方法により、各ファイルを区別することなく、リストアップされた複数の単位領域を一括してバックアップ媒体5にコピーする。
【0028】
このようなバックアップシステムによれば、ファイルとして使用されていない単位領域のコピーを行う必要がなくなる。したがって、ファイルシステムにおけるバックアップが効率化される。
【0029】
また、本発明の第5の局面において、バックアップシステムは、コピー手段1と領域管理手段9を備え、計算機3からアクセスされるファイルを格納する格納媒体4のバックアップを行う。
【0030】
領域管理手段9は、格納媒体4の単位領域のうち、前回のバックアップの後で変更があった単位領域を差分としてリストアップする。コピー手段1は、リストアップされた複数の単位領域を一括して、差分バックアップデータとしてバックアップ媒体5にコピーする。
【0031】
バックアップシステムは、適当なタイミングで格納媒体4のバックアップを時系列に行う。領域管理手段9は、格納媒体4の各単位領域を管理し、前回のバックアップの後で変更された単位領域や、ファイルとして新たに使用された単位領域をリストアップする。そして、コピー手段1は、例えば、イメージバックアップのような方法により、各ファイルを区別することなく、リストアップされた複数の単位領域を一括してバックアップ媒体5にコピーする。これにより、変更のあった単位領域のみが、差分として保存される。
【0032】
このようなバックアップシステムによれば、前回のバックアップの後でデータに変更がなかった単位領域のコピーを行う必要がなくなる。したがって、ファイルシステムにおけるバックアップが効率化される。
【0033】
例えば、図1の共有媒体4は、後述する図2の共有ディスク13に対応し、図1のバックアップ媒体5は、図2のバックアップ媒体15またはテープ16に対応する。また、例えば、図1のコピー手段1は、図2のコピー管理部25に対応し、図1の制御手段2は、図2のキャッシュ制御部21に対応し、図1のログ管理手段6は、図2のログ管理部26に対応し、図1の生成手段7および領域管理手段9は、図2のブロック管理部22に対応し、図1のグループ管理手段8は、図2のグループ管理部23に対応する。
【0034】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態の計算機システムは、複数の計算機と、それらの計算機が共有する共有ディスクと、複数の計算機が共有ディスクに同時にアクセスするためのファイルシステムとを備える。
【0035】
この計算機システムは、データのバックアップの際に、改良されたイメージバックアップにより、ディスクのすべての内容をバックアップ用の媒体に直接コピーする。また、計算機のディスクに対するアクセスを検出し、アクセスの発生する以前の元データをログ媒体に保存する。そして、ログ媒体に保存されたデータを用いて、バックアップ開始時点のイメージ(データの内容)を確定する。以下では、この元データを、Before Image Log(BIログ)、または、単にログと呼ぶことにする。
【0036】
本実施形態のイメージバックアップにおいて、バックアップ動作に関する主な特徴は以下の通りである。
(a.1)各計算機のメモリ上のライトキャッシュの内容を管理し、バックアップ時に、各計算機のライトキャッシュの内容をディスクに反映させる。これにより、クラスタ内のデータの矛盾が生じることがなくなる。
(a.2)ディスクに書き込みを行おうとする各計算機がBIログを残し、バックアップ時に複数の計算機のBIログをマージする。これにより、バックアップ終了後にすべてのログをまとめたシステム全体のログが編集され、このログを用いてデータを確定することで、バックアップ(コピー)中のライトによるデータの破壊が防止される。
(a.3)ディスクに書き込みを行おうとする各計算機が、BIログの責任を持つ特定の計算機に書き込みを通知し、その計算機がBIログを管理する。これにより、複数の計算機のログが特定の計算機に送られ、マージされてログ媒体に保存される。このログを用いてデータを確定することにより、バックアップ中のライトによるデータの破壊が防止される。
(a.4)BIログを保存する媒体として、バックアップデータと同一の媒体を選択する。これにより、バックアップと同時にログを保存することができる。
(a.5)BIログを保存する媒体として、バックアップデータと別の媒体を選択する。これにより、バックアップデータを保存する媒体が上書き不可能な場合でも、ログを残すことができる。
(a.6)BIログをバックアップデータに上書きしてから、バックアップ媒体に保存する。これにより、リストア時に複数の媒体を参照する必要がなくなる。
(a.7)BIログの中に、上書きの対象となるバックアップデータのアドレス情報を書き込んでおく。これにより、ログの管理情報にアクセスしなくても、ログを読むだけで、ログをバックアップデータに上書きすることが可能になる。
(a.8)ディスク上のブロックのうち、使用済みのものをリストアップして、必要な部分のみをコピーする。これにより、コピーするデータの量を削減されるため、コピー時間の短縮と必要な媒体容量の削減が可能になる。
(a.9)ディスク上の使用済みのブロックのうち、前回のバックアップ以後に変更があったもの(差分)をリストアップして、変更部分のみをコピーする。このような差分バックアップにより、コピーするデータの量を削減されるため、コピー時間の短縮と必要な媒体容量の削減が可能になる。
(a.10)バックアップが完了した後、リストアの前に、差分バックアップデータ同士、または差分バックアップデータと全体バックアップデータの内容を、ブロック単位でマージする。差分バックアップデータをまとめておくことで、リストアが効率化される。
(a.11)差分バックアップデータの記録開始時点を選択できるようにする。リストア時に、選択された時点以後の差分バックアップデータのみを用いることで、その時点より前に行われた変更を無視することができ、柔軟なリストアが可能になる。
(a.12)ディスクのコピー処理をクラスタ内の複数の計算機に分散する。これにより、負荷が分散され、コピー時間が短縮される。
【0037】
また、本実施形態のイメージバックアップにおいて、ファイルのグループ化に関する主な特徴は以下の通りである。
(b.1)ファイルをグループ化し、グループに含まれているファイルの占めるブロックを管理して、バックアップ時には、それらのファイルが使用するブロックのみをコピーする。これにより、ファイルのグループの設定と、グループ単位のファイルのバックアップが可能になる。
(b.2)ディレクトリを単位としてファイルをグループ化し、ディレクトリに含まれるすべてのファイルをグループとして設定する。これにより、ファイルのグループの設定と、グループ単位のファイルのバックアップが可能になる。
(b.3)グループとして設定されたディレクトリの下の特定のファイルまたはディレクトリを、グループから除外する。これにより、あるグループとして設定されたディレクトリに含まれる特定のファイルを、グループから除外することができ、柔軟なグループ設定が可能になる。
(b.4)複数のグループを設定し、それぞれ別のスケジュールでバックアップを行う。これにより、柔軟なグループ設定とバックアップが可能になる。
(b.5)1つのファイルが複数のグループに属することを認める。これにより、柔軟なグループ設定とバックアップが可能になる。
【0038】
また、本実施形態のイメージバックアップにおいて、リストア動作に関する主な特徴は以下の通りである。
(c.1)ファイルシステムが、バックアップデータを保存する媒体を、ディスクの代わりにそのままマウントする。これにより、バックアップデータを保存する媒体をディスクの代わりにアクセスすることができ、リストアのための特別な操作が不要になる。
(c.2)上述した差分バックアップが行われた場合、必要に応じて、全体バックアップデータまで、各世代のバックアップデータを探索して遡る。これにより、ファイルのブロックが最新の差分バックアップデータに含まれていないときに、それより前のバックアップにより保存されたブロックを参照して利用することができる。したがって、リストア時に、ユーザにはすべてのデータが存在しているように見せることが可能になる。
(c.3)バックアップテープから必要なブロックのみを、バッファとして用いるディスクにロードし、それらのブロックをキャッシュとして利用する。これにより、必要なブロックのみをバッファ上に配置することが可能になり、頻繁にアクセスされるブロックへのアクセス効率が向上する。
(c.4)バックアップテープから必要なブロックのみをディスクにロードし、テープに繋がっていない計算機に対してデータを見せる。これにより、クラスタ内のテープを持たない計算機でも、テープに保存されたバックアップデータを読むことが可能になる。
(c.5)BIログがバックアップデータに上書きされていない場合、BIログを先に参照し、必要に応じて、バックアップデータを後で参照する。ログとバックアップデータが別々に媒体に保存されている場合、ログの存在と内容を確認して、ログがあればログを参照し、ログがなければバックアップデータを参照する。これにより、リストア後のデータに矛盾が生じることがなくなる。
【0039】
図2は、上述したようなイメージバックアップを行うクラスタシステムの構成図である。図2のクラスタシステムは、複数の計算機11、12、共有ディスク13、ログ媒体14、バックアップ媒体15、およびテープ16を備える。
【0040】
複数の計算機11は、共有ディスク13を共有し、ディスク13に格納されたファイルにアクセスしながらデータ処理を行う。計算機11、12および共有ディスク13はクラスタを構成し、クラスタ内には、一般に、1つ以上の共有ディスク13が設けられる。ログ媒体14は、計算機11のBIログを格納し、バックアップ媒体15およびテープ16は、ディスク13内のファイルのバックアップデータを格納する。
【0041】
計算機12は、クラスタを管理する計算機であり、キャッシュ制御部21、ブロック管理部22、グループ管理部23、媒体制御部24、コピー管理部25、ログ管理部26、およびテープ制御部27を含む。これらの管理部および制御部は、例えば、プログラムにより記述されたソフトウェアに対応し、ブロック管理部22は、ファイルシステムの主要部に対応する。
【0042】
キャッシュ制御部21は、各計算機11のメモリ上に設けられたキャッシュ28を制御する。キャッシュ28には、ディスク13に格納されたクラスタのファイルに対して計算機11が書き込むデータが一時的に保存される。
【0043】
また、ブロック管理部22は、ファイルへのブロック割当てを行い、ファイルの各ブロックがどのディスク13のどのアドレスに割り当てられているかを管理する。グループ管理部23は、ユーザが定義したグループと、グループに含まれているファイルを管理する。
【0044】
また、媒体制御部24は、バックアップ媒体15へのアクセスを制御し、コピー管理部25は、ディスク13からバックアップ媒体15へのデータのコピー動作を管理する。ログ管理部26は、各計算機11のBIログとログ媒体14を管理し、テープ制御部27は、テープ16へのアクセスを制御する。
【0045】
このようなクラスタシステムによれば、ブロック管理部22がディスク13上のバックアップ対象ファイルのブロックを管理し、コピー管理部25がそれらのブロックをバックアップ媒体15にコピーすることにより、バックアップが行われる。コピー中に発生したクラスタ内の各計算機11の書き込みに基づくBIログは、ログ管理部26によりログ媒体にコピーされる。ログ媒体に格納されたBIログは、後でバックアップ媒体15に反映されるか、または、そのままログの形式で保持される。
【0046】
ログ媒体14およびバックアップ媒体15は、ディスクやテープのような不揮発な媒体である。バックアップ媒体15がディスクである場合、それはテープ16に対するバッファとしても利用され、テープ制御部27がバックアップ媒体15からテープ16へバックアップデータをコピーする。
【0047】
まず、図3から図16までを参照しながら、上述した特徴(a.1)〜(a.7)に関する動作を詳細に説明する。
キャッシュ制御部21は、(a.1)のキャッシュ管理を行い、バックアップ時に、キャッシュ28内の書き込みデータ(ライトキャッシュ)をディスク13に反映させる。キャッシュ制御部21は、クラスタ内のすべてのキャッシュ28について以下のような情報を登録したキャッシュテーブルを管理する。
・計算機名
・ファイル名
・ファイル内の領域(オフセット、サイズ)
・キャッシュがダーティか否か(書き込みデータがディスク13に反映されずに残っているか否か)
ある計算機11がダーティキャッシュを生成するとき、キャッシュ制御部21は、対応するファイルの対応する領域内について他の計算機11が持っているライトキャッシュを破棄するように、各計算機11に指示する。そして、バックアップ時には、すべてのダーティキャッシュをディスク13に書き出すように、各計算機11に指示する。書き出しを指示された計算機11は、キャッシュ28内のライトキャッシュをディスク13に書き込む。
【0048】
こうして、クラスタ内のすべてのライトキャッシュがディスク13に反映されると、コピー管理部25によりイメージバックアップが実行され、ディスク13内のデータがバックアップ媒体15にコピーされる。これにより、クラスタ内のデータの矛盾が生じることなく、バックアップが行われる。
【0049】
図3は、キャッシュ制御部21がライトキャッシュをディスク13に反映させる処理のフローチャートである。バックアップが開始されると、キャッシュ制御部21は、まず、キャッシュテーブルを探索して、クラスタ内にダーティキャッシュが残っているか否かをチェックする(ステップS1)。
【0050】
ダーティキャッシュが残っていれば、その計算機名と、書き込み先のファイル名および領域の情報を取得する(ステップS2)。次に、その計算機に対して、ディスク13の対応するファイルの対応する領域にダーティキャッシュを反映させるように指示し(ステップS3)、ステップS1以降の処理を繰り返す。そして、ステップS1においてダーティキャッシュがなくなると、処理を終了する。
【0051】
また、ログ管理部26は、BIログに関して、(a.2)または(a.3)のログ管理を行う。
図4は、(a.2)のログ管理を示している。図4において、各計算機11は、各自の一時ログ媒体31とログ管理ファイル32を持ち、ログ管理部26は、バックアップ終了後に、すべての計算機11のログをまとめてシステム全体のログを編集し、ログ媒体14に格納する。ログ管理ファイル32には、各ログについて以下のような情報を記録したログリストが含まれる。
・ディスク13のデバイス名
・領域(オフセット、サイズ)
・時刻
このうち、時刻は、ログが生成された時刻を表し、他のログとの前後関係を決定するために用いられる。ここでは、実際の時刻の代わりに、計算機12に備えられたクロック部33が生成する論理時刻(logical time)を用いている。クロック部33は、例えば、最初のログが生成されたときに論理時刻“1”を生成し、以後、ログが生成される度に論理時刻を1ずつインクリメントする。
【0052】
各計算機11は、一時ログ媒体31のログとログ管理ファイル32のログリストをログ管理部26に送り、ログ管理部26は、受け取ったログの中に同一領域のログが複数あれば、最も古いものを優先的に残してログを編集する。こうして編集されたログをバックアップ媒体15に上書きすることで、バックアップ開始時点のイメージが確定され、バックアップ中のディスク13への書き込みによる変更をキャンセルすることができる。
【0053】
図5は、ログ管理部26によるログ編集処理のフローチャートである。ログ管理部26は、まず、クラスタ内のすべての計算機11からログとログリストを受け取り(ステップS11)、受け取ったログを時刻の古い順にソートして、作業用ログリストを用意する(ステップS12)。
【0054】
次に、最も古いログを選択し(ステップS13)、それと同一領域のログが作業用ログリストにあるか否かをチェックする(ステップS14)。同一領域のログがなければ、選択されたログを作業用ログリストに追加し(ステップS15)、同一領域のログがあれば、選択されたログを破棄する(ステップS16)。
【0055】
次に、未選択のログがあるか否かをチェックし(ステップS17)、そのようなログが残っていれば、ステップS13以降の処理を繰り返す。そして、すべてのログを選択すると、作業用ログリストに含まれるログをログ媒体14に記録して(ステップS18)、処理を終了する。
【0056】
図6は、(a.3)のログ管理を示している。図6において、各計算機11は、ログをログ管理部26に送り、ログ管理部26は、受け取ったログをログ媒体14に記録し、対応するデバイス名および領域(オフセット、サイズ)をログ管理ファイル34に記録する。このように、図6のログ管理では、ログが初めからログ媒体14に置かれることになる。こうして記録されたログをバックアップ媒体15に上書きすることで、バックアップ開始時点のイメージが確定される。
【0057】
図7は、ログ管理部26によるログ記録処理のフローチャートである。ログ管理部26は、まず、クラスタ内の計算機11からログを受け取り(ステップS21)、それと同一領域のログが既にログ媒体14に保存されているか否かをチェックする(ステップS22)。同一領域のログが保存されていなければ、受け取ったログをログ媒体14に記録し(ステップS23)、同一領域のログが保存されていれば、受け取ったログを記録しない。
【0058】
次に、クラスタ内のすべての計算機11からログを受け取ったか否かをチェックし(ステップS24)、ログを送っていない計算機11があれば、ステップS21以降の処理を繰り返す。そして、すべての計算機11からログを受け取ると、処理を終了する。
【0059】
図4のログ管理では、バックアップ終了後に各計算機11のログがまとめてログ管理部26に送られるので、通信コストが小さいという利点がある。しかし、一時ログ媒体31を必要とするため、ハードウェアコストが増大し、バックアップ終了後にログを編集しなければならないため、後処理が必要となる。
【0060】
これに対して、図6のログ管理では、一時ログ媒体31と後処理が不要であるという利点がある。しかし、各計算機11でログが発生する度にログ管理部26に送られるので、図4の場合より通信コストが増大する。
【0061】
図6のログ管理は、さらに(a.4)または(a.5)のログ管理に分類することができる。(a.4)のログ管理では、ログ媒体14の代わりにバックアップ媒体15にログを保存し、(a.5)のログ管理では、ログ媒体14にログを保存する。
【0062】
図8は、(a.4)のログ管理を示している。ディスク13のコピー先であるバックアップ媒体15がテープではなく、テープ16に対するバッファとして用いられるディスクである場合、バックアップ媒体15への部分的上書きが可能である。そこで、コピー管理部25とログ管理部26が連携することにより、バックアップ対象となるディスク13のコピーが行われているとき、コピーと同時にログをバックアップ媒体15に記録することができる。
【0063】
このとき、まず、ログ管理部26がログをバックアップ媒体15に記録した後に、ログが存在しない領域に関して、コピー管理部25がディスク13のデータをバックアップ媒体15にコピーする。
【0064】
図9は、ログ管理部26によるログ記録処理のフローチャートである。ログ管理部26は、まず、保存すべきログの管理情報を、図10に示すようなログ管理ファイル34に記録し(ステップS31)、ログをバックアップ媒体15にコピーする(ステップS32)。次に、コピーしていない他のログがあるか否かをチェックし(ステップS33)、そのようなログがあれば、ステップS31以降の処理を繰り返す。そして、すべてのログをコピーし終えると、処理を終了する。
【0065】
図10のログ管理ファイルには、ログ毎に、デバイス名、元アドレス、および長さが記録されている。デバイス名は、対応するディスク13の識別情報を表し、元アドレスと長さは、それぞれ、対応する領域のオフセットとサイズを表す。
【0066】
図11は、コピー管理部25によるコピー処理のフローチャートである。コピー管理部25は、まず、バックアップ対象のディスク13の開始アドレスを現在のアドレスとしてコピーを開始し(ステップS41)、現在のアドレスが終了アドレスか否かをチェックする(ステップS42)。
【0067】
現在のアドレスが終了アドレスでなければ、次に、そのアドレスがログ管理ファイル34に存在するか否かをチェックする(ステップS43)。現在のアドレスがログ管理ファイル34に存在しなければ、そのアドレスのブロックをバックアップ媒体15にコピーし(ステップS44)、ログ管理ファイル34に存在すれば、そのアドレスのブロックのコピーを行わない。
【0068】
次に、次のアドレスを現在のアドレスとして(ステップS45)、ステップS42以降の処理を繰り返す。そして、ステップS42において現在のアドレスが終了アドレスに一致すると、処理を終了する。
【0069】
図12は、(a.5)のログ管理を示している。バックアップ媒体15が、テープのように、部分的上書きが不可能な媒体の場合、バックアップ媒体15とは別のログ媒体14を用意して、ログだけをその媒体上に置く。これにより、バックアップ媒体15とは別の媒体にログを残すことができる。このとき、ログ管理部26とコピー管理部25は、それぞれ、ログの記録とディスク13のコピーを独立に行う。
【0070】
図13は、ログ管理部26によるログ記録処理のフローチャートである。図13のステップS51およびS53の処理は、それぞれ、図9のステップS31およびS33の処理と同様である。ステップS51の処理の後、ログ管理部26は、ログをログ媒体14にコピーし(ステップS52)、ステップS53の処理を行う。
【0071】
図14は、コピー管理部25によるコピー処理のフローチャートである。図14のステップS61、S62、S63、およびS64の処理は、それぞれ、図11のステップS41、S42、S44、およびS45の処理と同様である。この場合、バックアップ対象のディスク13のすべてのブロックがバックアップ媒体15にコピーされる。
【0072】
また、(a.6)のログ管理では、ログ管理部26は、バックアップ時に、BIログをバックアップ媒体15に上書きしてから保存する。このようにログとバックアップデータをあらかじめマージして保存しておけば、リストア時に、バックアップ媒体15のみを参照すればよく、複数の媒体を参照する必要がなくなる。したがって、リストアが効率化される。
【0073】
図15は、(a.6)のログ管理を示している。図15において、ログ管理部26は、ログ管理ファイル34を参照しながら、ログ媒体14の複数のログを、それぞれ、バックアップ媒体15の対応する領域に上書きして、ログとバックアップデータをマージする。その後、テープ制御部27により、バックアップ媒体15のデータがテープ16に保存される。
【0074】
また、(a.7)のログ管理では、ログ管理部26は、バックアップ時に、BIログのデータとともに、ログの上書き先のバックアップデータのアドレス情報を記録しておく。本来、ログの管理情報であるログ管理ファイルを参照しないとログにはアクセスできないが、ログの中に管理情報を書いておけば、ログを読むだけでログをバックアップデータに上書きすることができる。したがって、ログの管理情報を参照しなくても、ログを解消することが可能になり、ログ管理が効率化される。
【0075】
図16は、このようなログ媒体のデータ形式を示している。図16において、元アドレスと長さは、それぞれ、対応する上書き先の領域のオフセットとサイズを表し、これらはログの管理情報に相当する。
【0076】
次に、図17から図27までを参照しながら、上述した特徴(a.8)〜(a.12)および(b.1)〜(b.5)に関する動作を詳細に説明する。
図17は、(a.8)および(a.9)のブロック管理と、(b.1)〜(b.5)のグループ管理を示している。使用済みブロックリスト41は、(a.8)のブロック管理で用いられ、変更ブロックリスト42は、(a.9)のブロック管理で用いられる。また、グループブロックリスト43およびグループ変更ブロックリスト44は、(b.1)〜(b.5)のグループ管理で用いられる。
【0077】
(a.8)のブロック管理では、ブロック管理部22は、ディスク13上のファイルに割当て済みのブロックを、使用済みブロックリスト41に記録して管理する。そして、ブロック管理部22は、使用済みブロックリスト41に記録されたブロックをコピー管理部25に通知し、コピー管理部25は、通知されたブロックのみをコピーする。このように、バックアップデータとして必要なブロックのみをコピーすることで、コピー時間が短縮され、必要な媒体容量が削減される。
【0078】
使用済みブロックリスト41は、例えば、図18に示すような空き領域管理表から生成される。図18の空き領域管理表は、ブロック管理部22により管理され、ディスク13のすべてのブロックのブロック識別情報(ブロック番号)と、各ブロックが使用中か否かを示すフラグ情報を有する。ここでは、フラグ“○”が空きブロックを表し、フラグ“×”が使用中のブロックを表す。
【0079】
ブロック管理部22は、バックアップ時に、空き領域管理表から使用中のブロックのブロック番号をリストアップし、使用済みブロックリスト41を生成する。例えば、図18の空き領域管理表からは、図19に示すような使用済みブロックリストが生成される。
【0080】
また、(a.9)のブロック管理では、ブロック管理部22は、ディスク13上のブロックのうち前回のバックアップの後で変更のあったブロックを、変更ブロックリスト42に記録して管理する。そして、ブロック管理部22は、変更ブロックリスト42に記録されたブロックを差分としてコピー管理部25に通知し、コピー管理部25は、通知されたブロックのみをコピーする。これにより、差分バックアップ(インクリメンタルバックアップ)が行われる。
【0081】
例えば、ファイルfがブロックx、y、およびzを使用しているとき、前回のバックアップの後で、ブロックxに上書きが行われ、新たにブロックuが追加されたとする。この場合、ブロックxおよびuが変更ブロックリスト42に記録され、バックアップ時には、これらのブロックの内容がコピーされる。
【0082】
ディスク13上のすべてのブロックのバックアップ(全体バックアップ)を行う代わりに、このような差分バックアップを行うことで、コピー時間が短縮され、必要な媒体容量が削減される。
【0083】
図20は、ブロック管理部22による変更ブロックリスト更新処理のフローチャートである。この処理では、ファイルへの書き込み要求から変更のあったブロックが判定され、そのブロックが変更ブロックリスト42に追加される。
【0084】
まず、ブロック管理部22は、計算機11からファイルへの書き込み要求を受け取る(ステップS71)。書き込み要求には、ファイル名と書き込み領域のオフセットaおよびサイズSが含まれている。次に、対応するファイルのa〜a+Sの範囲に割当てられているブロックのブロック番号を求め(ステップS72)、そのブロック番号を変更ブロックリスト42に追加する(ステップS73)。そして、要求されたブロックにアクセスして、書き込みのための処理を行い(ステップS74)、処理を終了する。
【0085】
また、(b.1)のグループ管理では、グループ管理部23は、ブロック管理部22と連携しながらファイルをグループ毎に管理し、各グループに属するファイルが使用しているブロックを、グループブロックリスト43に記録して管理する。そして、グループ管理部23は、特定のグループのグループブロックリスト43に記録されたブロックをコピー管理部25に通知し、コピー管理部25は、通知されたブロックのみをコピーする。これにより、特定のグループに関するバックアップが行われる。
【0086】
また、(b.2)のグループ管理では、グループ管理部23は、ディレクトリを単位としてファイルをグループ化し、ディレクトリに含まれるすべてのファイルをグループとして設定する。
【0087】
また、(b.3)のグループ管理では、グループ管理部23は、グループとして設定されたディレクトリの下の特定のファイルまたはディレクトリを、グループから除外する。これにより、あるグループとして設定されたディレクトリに含まれる特定のファイルを、グループから除外することができる。
【0088】
以上説明した(b.1)〜(b.3)のグループ管理により、ユーザが任意のファイルをグループ化し、グループ単位でファイルのバックアップを行うことが可能になる。
【0089】
このようなグループ管理の例として、ファイルシステム上に、図21に示すようなディレクトリツリーが存在する場合を考える。図21において、A、B、C、およびDはディレクトリ名を表し、a、b、c、d、e、およびfはファイル名を表す。ユーザは、任意のディレクトリ名およびファイル名を用いて、ファイルのグループを設定することができる。
【0090】
ここで、ユーザが、図22に示すようなグループリストを入力して、グループの設定を指示したとする。図2の“dir_A/*”および“dir_C/*”は、ディレクトリAおよびCのすべてのファイルをグループに含めることを表し、“X dir_D/file_d”は、ディレクトリDのファイルdをグループから除くことを表す。
【0091】
このとき、グループ管理部23は、ディレクトリAおよびCに属するすべてのファイルのうち、ファイルdを除いた残りのファイルa、b、c、e、およびfをグループとして選択する。そして、各ファイルに割当てられたブロックのブロック番号をブロック管理部22から取得し、グループブロックリスト43に記録する。
【0092】
図23は、別のディレクトリツリーに関するグループリストの例を示している。このグループリストは、ディレクトリXのファイルa、ディレクトリYのファイルb、およびディレクトリZのすべてのファイルをグループに含め、ディレクトリZのファイルcをグループから除くことを表している。
【0093】
このブロックリストからは、例えば、図24に示すようなグループブロックリストが生成される。図24において、“blockno”はブロック番号を表し、複数の連続するブロック番号は1まとまりにして記録されている。
【0094】
バックアップ時には、ファイルに関するメタ情報と、グループブロックリスト43に記録されたブロック番号と、対応するブロックのデータがバックアップ媒体にコピーされる。メタ情報としては、ディレクトリツリーに含まれるすべてのファイルのファイル名と属性か、または、グループに属するファイルのファイル名と属性が用いられる。
【0095】
また、リストア時にファイルが参照されると、ブロック管理部22は、そのファイル名から対応するブロック番号を求め、そのブロックのバックアップデータにアクセスする。
【0096】
このとき、メタ情報としてすべてのファイルの情報が記録されていると、計算機11には、図21のファイルdのように、グループに属さないファイルのファイル名も見えることになる。しかし、ファイルdのブロックのバックアップデータは存在しないため、このファイルを参照するとエラーが返される。これに対して、メタ情報としてグループに属するファイルの情報のみを記録しておけば、計算機11には、グループに属さないファイルのファイル名は見えないので、見えているすべてのファイルの参照が可能になる。
【0097】
さらに、グループ管理部23は、前回のバックアップの後で変更のあったブロックを、グループ単位でグループ変更ブロックリスト44に記録して管理する。そして、グループ管理部23は、グループ変更ブロックリスト44に記録されたブロックを差分としてコピー管理部25に通知し、コピー管理部25は、通知されたブロックのみをコピーする。これにより、グループ単位で差分バックアップが行われる。
【0098】
図19および図24のブロックリストでは、ブロック番号が明示的に記録されているが、代わりに元アドレスと長さを用いて連続する複数のブロックの集合を記録してもよい。他のブロックリストについても同様である。
【0099】
また、(b.4)のグループ管理では、グループ管理部23は、複数のグループを設定し、それぞれ別のスケジュールでバックアップを行う。また、(b.5)のグループ管理では、グループ管理部23は、1つのファイルが複数のグループに属することを認めるようなグループ化を行う。これにより、柔軟なグループ設定とバックアップが可能になる。
【0100】
図17のディスク13の斜線部分は、上述した様々なブロックリストのうちの1つに記録されたブロックの集合を表しており、これらのブロックのデータは、コピー管理部25により、バックアップ媒体15の斜線部分にコピーされる。
【0101】
このような方法によれば、あらかじめ生成されたブロックリストに基づいてバックアップが行われるため、異なるファイルのブロックを含む複数のブロックを一括してコピーすることができる。したがって、ファイル単位でコピーする場合に比べて、ディスク13へのアクセス回数が大幅に削減され、ランダムアクセスに近い状況は発生しにくくなる。
【0102】
また、(a.10)のブロック管理では、差分バックアップを行った後、リストアの前に、差分バックアップデータ同士、または差分バックアップデータと全体バックアップデータの内容を、ブロック単位でマージする。さらに、全体バックアップデータと差分バックアップデータを含む2つ以上のバックアップデータをマージしておいてもよい。差分バックアップデータをあらかじめまとめておくことで、リストアが効率化される。
【0103】
図25は、このようなマージ処理の例を示している。図25において、全体バックアップデータ51は、最初の世代G3のバックアップデータを表し、差分バックアップデータ52、53は、それぞれ、世代G2、G1における差分を表す。この場合、世代G3が最も古く、世代G1が最も新しい。斜線部分は、バックアップデータが存在する領域を表している。
【0104】
ここで、全体バックアップデータ51と差分バックアップデータ52をマージすると、バックアップデータ54が生成される。ただし、同一領域においては、より新しいデータが優先的に保存される。この場合、リストア時には、バックアップデータ54と差分バックアップデータ53のみを用いて、データが参照される。
【0105】
また、差分バックアップデータ52と差分バックアップデータ53をマージすると、バックアップデータ55が生成される。この場合、リストア時には、バックアップデータ55と全体バックアップデータ51のみを用いて、データが参照される。
【0106】
また、(a.11)のブロック管理では、差分バックアップを行う際に、ユーザが差分の基準となる時点を選択し、ブロック管理部22は、指定された時点以後に変更のあったブロックのみを、変更ブロックリスト42に記録する。そして、コピー管理部25は、それらのブロックのみをコピーする。
【0107】
これにより、必要に応じて差分バックアップの開始時点を変更することができ、前回のバックアップが行われた時点と選択された時点の間に発生した変更は、バックアップ媒体15には保存されない。したがって、リストアに反映させる変更を取捨選択することが可能になる。
【0108】
図26は、差分バックアップの開始時点を変更する例を示している。ここでは、時刻t0において前回の差分バックアップが行われ、時刻t0とt1の間にブロックxおよびyが変更ブロックリスト42に追加され、時刻t1とt2の間にブロックzが変更ブロックリスト42に追加されるものとする。ユーザが差分バックアップの開始時点を変更しなければ、時刻t2において、変更ブロックリスト42には、ブロックx、y、およびzが時刻t0からの差分として記録されている。
【0109】
しかし、ユーザが時刻t1を差分バックアップの開始時点として指定すると、ブロック管理部22は、時刻t1において、変更ブロックリスト42を一旦クリアして、ブロックxおよびyのブロック番号を消去する。その後、ブロックzが変更ブロックリスト42に追加され、時刻t2においては、ブロックzのみが時刻t1からの差分として記録される。そして、次のバックアップ時には、時刻t1からの差分に基づいて、差分バックアップが行われる。
【0110】
また、(a.12)のコピー管理では、クラスタ内に複数のディスク13が存在する場合、コピー管理部25は、各計算機11にいずれかのディスク13のコピーを指示し、クラスタ内でコピーを行う計算機11を分散させる。そして、各計算機11は、コピー管理部25から指示されたディスク13のコピーを行う。このように、複数の計算機11がコピーを行うことで、バックアップの負荷が分散され、コピー時間が短縮される。
【0111】
図27は、このようなコピー管理の例を示している。図27のクラスタ内には、複数のバックアップ媒体15が設けられている。コピー管理部25は、コピー対象のディスク13とコピー先のバックアップ媒体15のデバイス名を各計算機11に通知し、コピー作業を依頼する。コピー作業を依頼された計算機11は、通知されたデバイス名のディスク13のデータを、通知されたデバイス名のバックアップ媒体15にコピーする。このとき、複数の計算機11により、コピー作業が並列に行われる。
【0112】
次に、図28から図35までを参照しながら、上述した特徴(c.1)〜(c.5)に関するリストア時の動作を詳細に説明する。
(c.1)の動作では、ファイルシステムが、ディスク13の代わりにバックアップ媒体15をそのままマウントすることで、データをリストアする。これにより、各計算機11は、バックアップ媒体15に保存されたバックアップデータに直接アクセスできるようになり、リストアのための特別な操作が不要になる。
【0113】
図28は、ブロック管理部22がバックアップ媒体15をファイルシステム上にマウントする処理を示している。図28において、ディスク13のデータ(斜線部分)がバックアップ媒体15にコピーされた後、計算機11からディスク13の参照要求を受け取ると、ブロック管理部22は、バックアップ媒体15上の対応するデータを計算機11に返す。
【0114】
図29は、このような参照処理のフローチャートである。ブロック管理部22は、まず、計算機11からファイルの読み込み要求を受け取る(ステップS81)。読み込み要求には、ファイル名と読み込み領域のオフセットaおよびサイズSが含まれている。次に、バックアップ媒体15のメタ情報を参照し(ステップS82)、対応するファイルのa〜a+Sの範囲に割当てられているブロックの番号#xを求める(ステップS83)。
【0115】
次に、そのブロック番号#xのデータが保存されているバックアップ媒体15上のブロックの番号#yを求め(ステップS84)、そのブロックのデータを読んで(ステップS85)、読み込み要求に応答し(ステップS86)、処理を終了する。
【0116】
また、(c.2)の動作では、差分バックアップのリストア時に、必要に応じて、複数の差分バックアップデータを最新のものから順に探索しながら遡る。差分バックアップの場合、複数の世代のバックアップデータのうちのいずれかに必要なデータが保存されているため、それらのバックアップデータを探索することで、すべてのデータを計算機11に提示することができる。
【0117】
図30は、このような世代管理を示している。図30において、各世代のバックアップデータは、それぞれ異なるバックアップ媒体15に保存されている。ブロック管理情報61は、ファイル名と、ディスク13のデバイス名およびブロック番号とをマッピングしている。また、ブロック管理情報62は、バックアップデータの世代毎に設けられ、ディスク13のデバイス名およびブロック番号と、バックアップ媒体15の識別情報およびブロック番号とをマッピングしている。
【0118】
計算機11からファイルのアクセス要求を受け取ると、ブロック管理部22は、ブロック管理情報61を参照して、ファイル名に対応するデバイス名とブロック番号を取得し、それらを媒体制御部24に渡す。
【0119】
媒体制御部24は、各世代のバックアップデータを生成順に管理し、最も新しい世代G1のブロック管理情報62を参照して、与えられたデバイス名とブロック番号(ブロック情報)があるか否かをチェックする。与えられたブロック情報がある場合は、それに対応するバックアップ媒体15のブロック番号を取得し、世代G1のバックアップ媒体15を参照する。与えられたブロック情報がない場合は、それより1つ前の世代G2のブロック管理情報62を参照し、そのブロック情報があるか否かをチェックする。
【0120】
このような処理を繰り返しながら、世代を1つずつ遡っていけば、いずれかの世代のバックアップ媒体15において、与えられたブロック情報に対応するデータを参照することができる。このように、差分バックアップが行われた場合でも、過去のバックアップデータを利用して、すべてのデータをユーザに見せることが可能になる。
【0121】
図31は、差分バックアップのリストアの例を示している。図31において、全体バックアップデータ71は、最初の世代G3のバックアップデータを表し、差分バックアップデータ72、73は、それぞれ、世代G2、G1における差分を表す。斜線部分は、バックアップデータが存在するブロックを表している。例えば、差分バックアップデータ72においては、ブロック81、82が変更されたデータに対応し、ブロック83が新たに追加されたデータに対応する。
【0122】
リストア時に、ブロック93、94のデータが要求されると、世代G1の差分バックアップデータ73の対応するブロックが参照され、ブロック92、97のデータが要求されると、世代G2まで遡って、差分バックアップデータ72の対応するブロックが参照される。また、ブロック91、95、96のデータが要求されると、世代G3まで遡って、全体バックアップデータ71の対応するブロックが参照される。
【0123】
さらに、図25に示したようなマージ処理が行われた場合は、マージされた2つのバックアップデータの代わりに、マージにより生成されたバックアップデータを用いて、同様のリストア動作が行われる。
【0124】
また、(c.3)および(c.4)の動作では、バックアップデータがテープ16に保存されている場合、バックアップ媒体15を、クラスタ内のすべての計算機11からアクセス可能なバッファとして用いる。そして、計算機11がバックアップデータを参照したとき、必要なブロックのみをバックアップ媒体15にロードし、それらのブロックをキャッシュとして利用する。これにより、必要なデータのみをバックアップ媒体15上に配置することができ、頻繁にアクセスされるデータへのアクセス効率が向上する。
【0125】
図32は、バックアップ媒体15をバッファとして利用する処理を示している。ここでは、図2の構成では計算機12のみがテープ16に接続されているので、この計算機12のテープ制御部27が、テープ16から必要なブロックのデータを読み出して、バックアップ媒体15上に配置する。バックアップ媒体15としては、例えば、ディスクが用いられる。こうしてバックアップ媒体15にロードされたデータを参照することで、テープ16に接続されていない計算機11でも、テープ16に保存されたバックアップデータを読むことが可能になる。
【0126】
図33は、バックアップデータの参照処理のフローチャートである。図32のステップS91〜S93の処理は、図29のステップS81〜S83の処理と同様である。次に、ブロック管理部22は、ステップS93で得られたブロック番号#xのデータが保存されているテープ16上のブロックの番号#yを求め(ステップS94)、そのブロックのキャッシュがバックアップ媒体15上にあるか否かをチェックする(ステップS95)。
【0127】
キャッシュがバックアップ媒体15上になければ、テープ制御部27が、そのブロックのデータをテープ16から読んで、バックアップ媒体15上の空いているブロック#zに書き込む(ステップS96)。そして、ブロック管理部22は、書き込まれたデータを用いて読み込み要求に応答し(ステップS97)、処理を終了する。また、キャッシュがバックアップ媒体15上にあれば、ブロック管理部22は、そのデータを用いて読み込み要求に応答し(ステップS97)、処理を終了する。
【0128】
また、(c.5)の動作では、ログ媒体14のBIログがバックアップ媒体15のバックアップデータに上書きされておらず、ログとバックアップデータが別々に保存されている場合、ログを先に参照し、必要に応じて、バックアップデータを後で参照する。リストア時にログを参照することで、バックアップ開始時点のイメージが再現され、データの矛盾が生じることがなくなる。
【0129】
図34は、ログ媒体14のログを参照する処理を示している。計算機11からアクセス要求を受け取ると、ブロック管理部22は、ログ管理部26にログの存在と内容を確認して、要求されたデータのログがあれば、ログ媒体14を参照し、ログがなければ、バックアップ媒体15を参照する。
【0130】
図35は、このような参照処理のフローチャートである。図35のステップS101〜S103の処理は、図29のステップS81〜S83の処理と同様である。次に、ブロック管理部22は、ステップS103で得られたブロック番号#xのログがあるか否かをログ管理部26に問い合わせ(ステップS104)、回答をチェックする(ステップS105)。
【0131】
問い合せたブロックのログがあれば、ログ媒体14上のそのログを読み、そのようなログがなければ、対応するバックアップ媒体15上のブロックの番号#yを求めて、そのブロックのバックアップデータを読む(ステップS107)。そして、読み込み要求に応答し(ステップS108)、処理を終了する。
【0132】
ところで、図2のクラスタシステムでは、キャッシュ制御部21、ブロック管理部22、グループ管理部23、媒体制御部24、コピー管理部25、ログ管理部26、およびテープ制御部27を、管理用の計算機12に設けているが、これらの制御部および管理部の一部または全部を、複数の計算機11に分散して設けてもよい。
【0133】
図36は、このようなクラスタシステムにおけるバックアップ動作を示している。図36においては、コピー管理部25、ログ管理部26、およびテープ制御部27が計算機11に分散して設けられ、コピー管理部25を有する計算機11が、ディスク13の内容をバックアップ媒体15にコピーする。
【0134】
各計算機11は、このコピーの最中に発生するBIログを、ログ管理部26を有する計算機11に転送し、この計算機11がログを編集してログ媒体14に書く。そして、バックアップデータとログは、それぞれ、テープ制御部27を有する計算機11により、テープ16に書かれる。
【0135】
図37は、図36のクラスタシステムにおけるリストア動作を示している。図37においては、テープ制御部27を有する計算機11が、他の計算機11からの読み込み要求を受け取り、必要なバックアップデータとログを別々にテープ16から読んで、それぞれ、バックアップ媒体15とログ媒体14上に展開する。
【0136】
展開が済むと、読み込みを要求した計算機11は、ログがあれば、ログ媒体14からログを読む。ログがなければ、ブロック管理部22からファイル名に対応するブロック番号を受け取り、バックアップ媒体15からバックアップデータを読む。
【0137】
ただし、テープ制御部27を有する計算機11自身が読み込みを要求する場合は、バックアップデータとログをバックアップ媒体15とログ媒体14上に展開する必要はない。
【0138】
図38は、図36のクラスタシステムにおいて、バックアップデータをテープ16に書く前にログの上書きを行う場合を示している。図38においては、バックアップデータとログが確定した段階で、ログ管理部26は、ログ媒体14のログを、バックアップ媒体15のバックアップデータに上書きする。上書きが済むと、テープ制御部27は、上書きされたバックアップデータをテープ16に書く。
【0139】
図39は、図38のクラスタシステムにおけるリストア動作を示している。図39においては、テープ制御部27は、ログが上書きされたバックアップデータをテープ16から読んで、バックアップ媒体15上に展開する。そして、読み込みを要求した計算機11は、バックアップ媒体15から必要なデータを読む。ただし、テープ制御部27を有する計算機11自身が読み込みを要求する場合は、データをバックアップ媒体15上に展開する必要はない。
【0140】
図2の計算機11、12は、例えば、図40に示すような情報処理装置を用いて構成することができる。図40の情報処理装置は、CPU(中央処理装置)111、メモリ112、入力装置113、出力装置114、外部記憶装置115、媒体駆動装置116、およびネットワーク接続装置117を備え、それらはバス118により互いに接続されている。
【0141】
メモリ112は、例えば、ROM(read only memory)、RAM(random access memory)等を含み、処理に用いられるプログラムとデータを格納する。CPU111は、メモリ112を利用してプログラムを実行することにより、必要な処理を行う。
【0142】
図2のキャッシュ制御部21、ブロック管理部22、グループ管理部23、媒体制御部24、コピー管理部25、ログ管理部26、およびテープ制御部27は、例えば、プログラムにより記述されたソフトウェアコンポーネントとしてメモリ112に格納される。
【0143】
入力装置113は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置114は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果の出力に用いられる。
【0144】
外部記憶装置115は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク(magneto-optical disk)装置、テープ装置等である。情報処理装置は、この外部記憶装置115に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ112にロードして使用する。また、外部記憶装置115は、共有ディスク13、ログ媒体14、バックアップ媒体15、テープ16等として用いられる。
【0145】
媒体駆動装置116は、可搬記録媒体119を駆動し、その記録内容にアクセスする。可搬記録媒体119としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体119に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ112にロードして使用する。
【0146】
ネットワーク接続装置117は、計算機間を結ぶ通信ネットワークへの接続に用いられ、通信に伴うデータ変換を行う。情報処理装置は、上述のプログラムとデータをネットワーク接続装置117を介して他の装置から受け取り、必要に応じて、それらをメモリ112にロードして使用する。
【0147】
図41は、図40の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体119や外部のデータベース120に保存されたプログラムとデータは、メモリ112にロードされる。そして、CPU111は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【0148】
【発明の効果】
本発明によれば、クラスタシステムのような、ディスク共用ファイルシステムを有する計算機システムにおいて、システムの稼働中にデータを効率的にバックアップすることができる。また、リストア時に、バックアップデータを効率的に参照することができる。
【図面の簡単な説明】
【図1】本発明のバックアップシステムの原理図である。
【図2】クラスタシステムの構成図である。
【図3】キャッシュ制御処理のフローチャートである。
【図4】第1のログ管理を示す図である。
【図5】ログ編集処理のフローチャートである。
【図6】第2のログ管理を示す図である。
【図7】第1のログ記録処理のフローチャートである。
【図8】第3のログ管理を示す図である。
【図9】第2のログ記録処理のフローチャートである。
【図10】ログ管理ファイルを示す図である。
【図11】第1のコピー処理のフローチャートである。
【図12】第4のログ管理を示す図である。
【図13】第3のログ記録処理のフローチャートである。
【図14】第2のコピー処理のフローチャートである。
【図15】第5のログ管理を示す図である。
【図16】ログ媒体のデータ形式を示す図である。
【図17】ブロック管理とグループ管理を示す図である。
【図18】空き領域管理表を示す図である。
【図19】使用済みブロックリストを示す図である。
【図20】変更ブロックリスト更新処理のフローチャートである。
【図21】ディレクトリツリーを示す図である。
【図22】第1のグループリストを示す図である。
【図23】第2のグループリストを示す図である。
【図24】グループブロックリストを示す図である。
【図25】差分バックアップデータのマージを示す図である。
【図26】差分バックアップ開始時点の変更を示す図である。
【図27】コピー管理を示す図である。
【図28】バックアップ媒体のマウントを示す図である。
【図29】第1の参照処理のフローチャートである。
【図30】世代管理を示す図である。
【図31】差分バックアップのリストアを示す図である。
【図32】バッファとしてのバックアップ媒体を示す図である。
【図33】第2の参照処理のフローチャートである。
【図34】ログの参照を示す図である。
【図35】第3の参照処理のフローチャートである。
【図36】第1のバックアップを示す図である。
【図37】第1のリストアを示す図である。
【図38】第2のバックアップを示す図である。
【図39】第2のリストアを示す図である。
【図40】情報処理装置の構成図である。
【図41】記録媒体を示す図である。
【符号の説明】
1 コピー手段
2 制御手段
3、11、12 計算機
4 共有媒体
5、15 バックアップ媒体
6 ログ管理手段
7 生成手段
8 グループ管理手段
9 領域管理手段
13 共有ディスク
14 ログ媒体
16 テープ
21 キャッシュ制御部
22 ブロック管理部
23 グループ管理部
24 媒体制御部
25 コピー管理部
26 ログ管理部
27 テープ制御部
28 キャッシュ
31 一時ログ媒体
32、34 ログ管理ファイル
33 クロック部
41 使用済みブロックリスト
42 変更ブロックリスト
43 グループブロックリスト
44 グループ変更ブロックリスト
51、71 全体バックアップデータ
52、53、72、73 差分バックアップデータ
54、55 バックアップデータ
61、62 ブロック管理情報
81、82、83、91、92、93、94、95、96、97 ブロック
101 アクセス要求
111 CPU
112 メモリ
113 入力装置
114 出力装置
115 外部記憶装置
116 媒体駆動装置
117 ネットワーク接続装置
118 バス
119 可搬記録媒体
120 データベース[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system and method for backing up data stored in a recording medium such as a disk of a computer (computer) system and restoring it when necessary.
[0002]
[Prior art]
In a conventional computer system, when a file system performs a backup, first, block information such as an address of a used block is checked for each file. Then, by reading the data of the corresponding block from the disk, the file is read and the read data is copied to the tape. By repeating such an operation for each file, the file is backed up.
[0003]
However, with this method, when a large number of files are backed up, access to the disk is close to random access, which is a cause of deteriorating system performance.
[0004]
Therefore, in order to improve the efficiency of backup, image backup that directly copies a plurality of blocks occupied by a file has been used. In this method, the computer system copies the block area occupied by the file in the disk at once instead of selectively copying the file. For this reason, the backup is performed by one disk access, and the processing becomes efficient.
[0005]
[Problems to be solved by the invention]
However, the conventional backup method described above has the following problems.
[0006]
In the conventional image backup, data can be copied in units of disks, but files and directories cannot be copied in units. For this reason, there was a problem that even unnecessary data had to be copied. In addition, in order to restore the backed up data, it was necessary to copy and expand all the data on the disk.
[0007]
Further, when a backup is performed in a cluster system in which a plurality of computers share a disk and perform processing, the following problem occurs.
The cluster system includes a file system (disk shared file system) for a plurality of computers to simultaneously access a shared disk, and each computer includes an area for caching write data. For this reason, simply copying the shared disk does not reflect the contents of the cached write data (write cache) in the copy, so it is impossible to perform normal image backup.
[0008]
In addition, in a conventional computer system, in order to perform image backup while the business is running (online), the file system saves the original data before the change to another area when the data is changed, and the disk is saved. After copying, the saved original data was overwritten on the copy. As a result, the contents at the start of the backup can be determined on the backup data.
[0009]
However, in a cluster system, changes by multiple computers may occur almost simultaneously in the same file area, and the method of determining the contents at the start of backup using the original data cannot be applied directly. There is.
[0010]
Thus, the conventional backup method cannot efficiently back up a large amount of data in the cluster system. For this reason, an effective backup method in the cluster system has not been developed, and there is no method for efficiently browsing the backed up data.
[0011]
An object of the present invention is to provide a system and method for efficiently backing up data in a computer system having a disk shared file system.
[0012]
[Means for Solving the Problems]
FIG. 1 is a principle diagram of a backup system according to the present invention.
In the first aspect of the present invention, the backup system includes a
[0013]
The
[0014]
Each
[0015]
The storage area of the shared
[0016]
According to such a backup system, it is possible to efficiently back up the shared
[0017]
In the second aspect of the present invention, the backup system includes a
[0018]
The log management means 6 is one of a plurality of
[0019]
When the
[0020]
According to such a backup system, the original data stored in response to the data change by the plurality of
[0021]
In the third aspect of the present invention, the backup system includes a
[0022]
The group management means 8 sets a group of files stored in the shared
[0023]
The group management means 8 sets a group including one or more files, and lists unit areas occupied by each file included in the group. Then, the
[0024]
According to such a backup system, it is possible to specify a file to be backed up in the disk shared file system, and there is no need to copy an unnecessary file. Therefore, the backup is made efficient.
[0025]
In the fourth aspect of the present invention, the backup system includes a
[0026]
The area management unit 9 determines whether each unit area of the
[0027]
The area management unit 9 manages each unit area of the
[0028]
According to such a backup system, it is not necessary to copy a unit area that is not used as a file. Therefore, the backup in the file system is made efficient.
[0029]
In the fifth aspect of the present invention, the backup system includes a
[0030]
The area management unit 9 lists unit areas of the
[0031]
The backup system backs up the
[0032]
According to such a backup system, it is not necessary to copy a unit area whose data has not changed since the previous backup. Therefore, the backup in the file system is made efficient.
[0033]
For example, the shared
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
The computer system of this embodiment includes a plurality of computers, a shared disk shared by these computers, and a file system for allowing the plurality of computers to simultaneously access the shared disk.
[0035]
This computer system directly copies the entire contents of a disk to a backup medium by means of an improved image backup at the time of data backup. Further, the computer access to the disk is detected, and the original data before the access occurs is stored in the log medium. Then, using the data stored in the log medium, an image (data content) at the time of starting backup is determined. Hereinafter, this original data will be referred to as a Before Image Log (BI log) or simply a log.
[0036]
In the image backup of the present embodiment, the main features regarding the backup operation are as follows.
(A.1) The contents of the write cache on the memory of each computer are managed, and the contents of the write cache of each computer are reflected on the disk at the time of backup. This prevents data inconsistencies in the cluster from occurring.
(A.2) Each computer that attempts to write to the disk leaves a BI log, and merges the BI logs of multiple computers at the time of backup. As a result, the log of the entire system in which all the logs are collected after the backup is completed is determined, and the data is determined using this log, so that the destruction of the data due to the write during the backup (copying) is prevented.
(A.3) Each computer that intends to write to the disk notifies the specific computer responsible for the BI log of the write, and the computer manages the BI log. As a result, logs of a plurality of computers are sent to a specific computer, merged, and stored in a log medium. By confirming data using this log, destruction of data due to writing during backup is prevented.
(A.4) The same medium as the backup data is selected as the medium for storing the BI log. Thereby, a log can be preserve | saved simultaneously with backup.
(A.5) A medium different from backup data is selected as a medium for storing the BI log. As a result, even when the medium for storing backup data cannot be overwritten, a log can be left.
(A.6) The BI log is overwritten on the backup data and then stored in the backup medium. This eliminates the need to refer to a plurality of media during restoration.
(A.7) The address information of the backup data to be overwritten is written in the BI log. As a result, it is possible to overwrite the backup data by simply reading the log without accessing the log management information.
(A.8) List used blocks among the blocks on the disk, and copy only necessary parts. Thereby, since the amount of data to be copied is reduced, it is possible to shorten the copy time and the required medium capacity.
(A.9) Of the used blocks on the disk, those that have changed since the previous backup (difference) are listed, and only the changed part is copied. Since such differential backup reduces the amount of data to be copied, it is possible to shorten the copy time and the required medium capacity.
(A.10) After backup is completed and before restoration, the differential backup data or the contents of the differential backup data and the entire backup data are merged in units of blocks. Restoration is made more efficient by collecting differential backup data.
(A.11) The recording start time of differential backup data can be selected. By using only differential backup data after the selected point in time of restoration, changes made before that point can be ignored, and flexible restoration becomes possible.
(A.12) The disk copy process is distributed to a plurality of computers in the cluster. This distributes the load and shortens the copy time.
[0037]
In the image backup according to the present embodiment, main characteristics regarding file grouping are as follows.
(B.1) Files are grouped, the blocks occupied by the files included in the group are managed, and only the blocks used by those files are copied during backup. This makes it possible to set file groups and back up files in groups.
(B.2) Files are grouped in units of directories, and all files included in the directory are set as a group. This makes it possible to set file groups and back up files in groups.
(B.3) A specific file or directory under a directory set as a group is excluded from the group. Thereby, a specific file included in a directory set as a certain group can be excluded from the group, and a flexible group setting becomes possible.
(B.4) Set up a plurality of groups and perform backups according to different schedules. This enables flexible group setting and backup.
(B.5) Recognize that one file belongs to a plurality of groups. This enables flexible group setting and backup.
[0038]
In the image backup according to the present embodiment, main features regarding the restore operation are as follows.
(C.1) The file system mounts the medium for storing the backup data as it is instead of the disk. As a result, a medium for storing backup data can be accessed instead of a disk, and a special operation for restoration is not required.
(C.2) When the above-described differential backup is performed, the backup data of each generation is searched and traced back to the entire backup data as necessary. Thereby, when the block of the file is not included in the latest differential backup data, the block stored by the previous backup can be referred to and used. Therefore, at the time of restoration, it becomes possible for the user to appear as if all the data exists.
(C.3) Load only the necessary blocks from the backup tape into the disk used as a buffer, and use those blocks as a cache. As a result, only necessary blocks can be arranged on the buffer, and the access efficiency to frequently accessed blocks is improved.
(C.4) Load only the necessary blocks from the backup tape onto the disk and show the data to a computer not connected to the tape. This makes it possible for a computer that does not have a tape in the cluster to read backup data stored on the tape.
(C.5) When the BI log is not overwritten on the backup data, the BI log is referred to first, and the backup data is referred to later if necessary. If the log and backup data are stored separately on the medium, the existence and contents of the log are confirmed, and if there is a log, the log is referenced, and if there is no log, the backup data is referenced. As a result, no contradiction occurs in the restored data.
[0039]
FIG. 2 is a configuration diagram of a cluster system that performs image backup as described above. The cluster system in FIG. 2 includes a plurality of
[0040]
The plurality of
[0041]
The
[0042]
The
[0043]
In addition, the
[0044]
The
[0045]
According to such a cluster system, the
[0046]
The
[0047]
First, the operations relating to the above-described features (a.1) to (a.7) will be described in detail with reference to FIGS.
The
・ Computer name
·file name
-Area in the file (offset, size)
Whether the cache is dirty (whether write data remains without being reflected on the disk 13)
When a
[0048]
In this way, when all the write caches in the cluster are reflected on the
[0049]
FIG. 3 is a flowchart of processing in which the
[0050]
If the dirty cache remains, the computer name, the write destination file name, and the area information are acquired (step S2). Next, the computer is instructed to reflect the dirty cache in the corresponding area of the corresponding file on the disk 13 (step S3), and the processing after step S1 is repeated. When there is no dirty cache in step S1, the process is terminated.
[0051]
Further, the
FIG. 4 shows the log management of (a.2). In FIG. 4, each
-Device name of
-Area (offset, size)
·Times of Day
Among these, the time represents the time when the log is generated and is used to determine the context with other logs. Here, instead of the actual time, the logical time generated by the
[0052]
Each
[0053]
FIG. 5 is a flowchart of log editing processing by the
[0054]
Next, the oldest log is selected (step S13), and it is checked whether or not the log in the same area is in the work log list (step S14). If there is no log in the same area, the selected log is added to the work log list (step S15), and if there is a log in the same area, the selected log is discarded (step S16).
[0055]
Next, it is checked whether or not there is an unselected log (step S17). If such a log remains, the processes in and after step S13 are repeated. When all the logs are selected, the logs included in the work log list are recorded on the log medium 14 (step S18), and the process ends.
[0056]
FIG. 6 shows the log management of (a.3). In FIG. 6, each
[0057]
FIG. 7 is a flowchart of log recording processing by the
[0058]
Next, it is checked whether or not logs have been received from all the
[0059]
The log management of FIG. 4 has an advantage that the communication cost is low because the logs of the
[0060]
On the other hand, the log management of FIG. 6 has an advantage that the
[0061]
The log management in FIG. 6 can be further classified into (a.4) or (a.5) log management. In the log management (a.4), a log is stored in the backup medium 15 instead of the
[0062]
FIG. 8 shows the log management of (a.4). When the backup medium 15 that is the copy destination of the
[0063]
At this time, first, after the
[0064]
FIG. 9 is a flowchart of log recording processing by the
[0065]
In the log management file of FIG. 10, the device name, the original address, and the length are recorded for each log. The device name represents identification information of the
[0066]
FIG. 11 is a flowchart of copy processing by the
[0067]
If the current address is not the end address, it is next checked whether or not the address exists in the log management file 34 (step S43). If the current address does not exist in the
[0068]
Next, the next address is set as the current address (step S45), and the processes after step S42 are repeated. Then, when the current address matches the end address in step S42, the process ends.
[0069]
FIG. 12 shows the log management of (a.5). When the
[0070]
FIG. 13 is a flowchart of log recording processing by the
[0071]
FIG. 14 is a flowchart of copy processing by the
[0072]
In the log management of (a.6), the
[0073]
FIG. 15 shows log management of (a.6). In FIG. 15, the
[0074]
In the log management of (a.7), the
[0075]
FIG. 16 shows the data format of such a log medium. In FIG. 16, the original address and length represent the offset and size of the corresponding overwrite destination area, respectively, and these correspond to log management information.
[0076]
Next, the operations relating to the features (a.8) to (a.12) and (b.1) to (b.5) described above will be described in detail with reference to FIGS.
FIG. 17 illustrates block management (a.8) and (a.9) and group management (b.1) to (b.5). The used
[0077]
In the block management (a.8), the
[0078]
The used
[0079]
The
[0080]
In block management (a.9), the
[0081]
For example, when the file f uses blocks x, y, and z, after the previous backup, the block x is overwritten and a new block u is added. In this case, the blocks x and u are recorded in the changed
[0082]
By performing such differential backup instead of performing backup (entire backup) of all blocks on the
[0083]
FIG. 20 is a flowchart of changed block list update processing by the
[0084]
First, the
[0085]
Further, in the group management of (b.1), the
[0086]
In the group management of (b.2), the
[0087]
In the group management (b.3), the
[0088]
By the group management of (b.1) to (b.3) described above, it becomes possible for the user to group arbitrary files and perform file backup in units of groups.
[0089]
As an example of such group management, consider a case where a directory tree as shown in FIG. 21 exists on the file system. In FIG. 21, A, B, C, and D represent directory names, and a, b, c, d, e, and f represent file names. The user can set a group of files using an arbitrary directory name and file name.
[0090]
Here, it is assumed that the user inputs a group list as shown in FIG. 22 and instructs group setting. In FIG. 2, “dir_A / *” and “dir_C / *” indicate that all files in directories A and C are included in the group, and “X dir_D / file_d” excludes file d in directory D from the group. Represents.
[0091]
At this time, the
[0092]
FIG. 23 shows an example of a group list relating to another directory tree. This group list indicates that the file a in the directory X, the file b in the directory Y, and all the files in the directory Z are included in the group, and the file c in the directory Z is excluded from the group.
[0093]
From this block list, for example, a group block list as shown in FIG. 24 is generated. In FIG. 24, “blockno” represents a block number, and a plurality of consecutive block numbers are recorded as one unit.
[0094]
At the time of backup, the meta information about the file, the block number recorded in the
[0095]
When a file is referred to at the time of restoration, the
[0096]
At this time, if the information of all the files is recorded as meta information, the
[0097]
Further, the
[0098]
In the block lists of FIGS. 19 and 24, block numbers are explicitly recorded, but instead, a set of a plurality of consecutive blocks may be recorded using the original address and length. The same applies to other block lists.
[0099]
In (b.4) group management, the
[0100]
The hatched portion of the
[0101]
According to such a method, since backup is performed based on a block list generated in advance, a plurality of blocks including blocks of different files can be copied together. Therefore, the number of accesses to the
[0102]
In the block management of (a.10), after performing differential backup and before restoration, the differential backup data or the contents of the differential backup data and the entire backup data are merged in units of blocks. Further, two or more backup data including the whole backup data and the differential backup data may be merged. Restoration is made more efficient by collecting differential backup data in advance.
[0103]
FIG. 25 shows an example of such a merge process. In FIG. 25, the
[0104]
Here, when the whole
[0105]
Further, when the
[0106]
In the block management of (a.11), when performing differential backup, the user selects a time point that is a reference for the difference, and the
[0107]
As a result, the starting point of the differential backup can be changed as necessary, and changes that occur between the time when the previous backup was performed and the selected time are not stored in the
[0108]
FIG. 26 shows an example of changing the starting point of differential backup. Here, the previous differential backup is performed at time t0, blocks x and y are added to the changed
[0109]
However, when the user designates the time t1 as the starting point of the differential backup, the
[0110]
Further, in the copy management of (a.12), when a plurality of
[0111]
FIG. 27 shows an example of such copy management. In the cluster of FIG. 27, a plurality of
[0112]
Next, with reference to FIG. 28 to FIG. 35, the operation at the time of restoration related to the above-described features (c.1) to (c.5) will be described in detail.
In the operation of (c.1), the file system restores data by mounting the backup medium 15 as it is instead of the
[0113]
FIG. 28 shows a process in which the
[0114]
FIG. 29 is a flowchart of such a reference process. The
[0115]
Next, the block number #y on the backup medium 15 in which the data of the block number #x is stored is obtained (step S84), the block data is read (step S85), and the read request is responded ( Step S86), the process is terminated.
[0116]
In the operation of (c.2), when restoring the differential backup, the plurality of differential backup data are searched in order from the latest one as necessary. In the case of differential backup, since necessary data is stored in any of a plurality of generations of backup data, all data can be presented to the
[0117]
FIG. 30 shows such generation management. In FIG. 30, backup data for each generation is stored in
[0118]
When receiving a file access request from the
[0119]
The
[0120]
If the generations are traced back one by one while repeating such processing, the data corresponding to the given block information can be referred to in the
[0121]
FIG. 31 shows an example of differential backup restoration. In FIG. 31,
[0122]
When data of
[0123]
Further, when the merge process as shown in FIG. 25 is performed, a similar restore operation is performed using the backup data generated by the merge instead of the merged two backup data.
[0124]
In the operations (c.3) and (c.4), when backup data is stored on the
[0125]
FIG. 32 shows processing for using the
[0126]
FIG. 33 is a flowchart of backup data reference processing. The processes in steps S91 to S93 in FIG. 32 are the same as the processes in steps S81 to S83 in FIG. Next, the
[0127]
If the cache is not on the
[0128]
In the operation of (c.5), when the BI log of the
[0129]
FIG. 34 shows processing for referring to the log of the
[0130]
FIG. 35 is a flowchart of such a reference process. The processing in steps S101 to S103 in FIG. 35 is the same as the processing in steps S81 to S83 in FIG. Next, the
[0131]
If there is a log of the inquired block, the log on the
[0132]
In the cluster system of FIG. 2, the
[0133]
FIG. 36 shows a backup operation in such a cluster system. In FIG. 36, the
[0134]
Each
[0135]
FIG. 37 shows the restore operation in the cluster system of FIG. In FIG. 37, the
[0136]
When the expansion is completed, the
[0137]
However, when the
[0138]
FIG. 38 shows a case where the log is overwritten before the backup data is written on the
[0139]
FIG. 39 shows a restore operation in the cluster system of FIG. In FIG. 39, the
[0140]
The
[0141]
The
[0142]
The
[0143]
The
[0144]
The
[0145]
The
[0146]
The
[0147]
FIG. 41 shows a computer-readable recording medium that can supply a program and data to the information processing apparatus of FIG. Programs and data stored in the
[0148]
【The invention's effect】
According to the present invention, in a computer system having a disk shared file system such as a cluster system, data can be efficiently backed up while the system is operating. In addition, backup data can be referred to efficiently at the time of restoration.
[Brief description of the drawings]
FIG. 1 is a principle diagram of a backup system according to the present invention.
FIG. 2 is a configuration diagram of a cluster system.
FIG. 3 is a flowchart of cache control processing.
FIG. 4 is a diagram illustrating first log management;
FIG. 5 is a flowchart of log editing processing.
FIG. 6 is a diagram illustrating second log management.
FIG. 7 is a flowchart of first log recording processing;
FIG. 8 is a diagram illustrating third log management;
FIG. 9 is a flowchart of second log recording processing;
FIG. 10 is a diagram showing a log management file.
FIG. 11 is a flowchart of first copy processing.
FIG. 12 is a diagram illustrating fourth log management.
FIG. 13 is a flowchart of third log recording processing;
FIG. 14 is a flowchart of second copy processing;
FIG. 15 is a diagram illustrating fifth log management;
FIG. 16 is a diagram illustrating a data format of a log medium.
FIG. 17 is a diagram illustrating block management and group management.
FIG. 18 is a diagram showing a free space management table.
FIG. 19 is a diagram illustrating a used block list.
FIG. 20 is a flowchart of changed block list update processing;
FIG. 21 is a diagram showing a directory tree.
FIG. 22 is a diagram showing a first group list.
FIG. 23 is a diagram illustrating a second group list.
FIG. 24 is a diagram showing a group block list.
FIG. 25 is a diagram illustrating merging of differential backup data.
FIG. 26 is a diagram showing a change at the start point of differential backup.
FIG. 27 is a diagram showing copy management.
FIG. 28 is a diagram illustrating mounting of a backup medium.
FIG. 29 is a flowchart of first reference processing;
FIG. 30 is a diagram illustrating generation management.
FIG. 31 is a diagram showing differential backup restoration;
FIG. 32 is a diagram showing a backup medium as a buffer.
FIG. 33 is a flowchart of second reference processing.
FIG. 34 is a diagram illustrating log reference.
FIG. 35 is a flowchart of third reference processing.
FIG. 36 is a diagram showing a first backup.
FIG. 37 is a diagram illustrating first restoration.
FIG. 38 is a diagram showing a second backup.
FIG. 39 is a diagram showing a second restoration.
FIG. 40 is a configuration diagram of an information processing apparatus.
FIG. 41 is a diagram illustrating a recording medium.
[Explanation of symbols]
1 Copying means
2 Control means
3, 11, 12 Calculator
4 Shared media
5, 15 Backup media
6 Log management means
7 Generation means
8 Group management means
9 Area management means
13 Shared disk
14 Log media
16 tapes
21 Cache control unit
22 Block management department
23 Group Management Department
24 Medium control unit
25 Copy Management Department
26 Log management department
27 Tape controller
28 cash
31 Temporary log media
32, 34 Log management file
33 Clock part
41 Used Block List
42 Changed block list
43 Group Block List
44 Group change block list
51, 71 Whole backup data
52, 53, 72, 73 Differential backup data
54, 55 Backup data
61, 62 Block management information
81, 82, 83, 91, 92, 93, 94, 95, 96, 97 blocks
101 Access request
111 CPU
112 memory
113 Input device
114 output device
115 External storage device
116 Medium drive device
117 Network connection device
118 bus
119 Portable recording media
120 database
Claims (9)
前記複数の計算機のうちのいずれかの計算機が前記共有媒体のある領域に書き込む際に、該領域の書き込み前のイメージデータをログとして前記書き込みを行った計算機で管理し、
前記複数の計算機が管理するログをまとめて全体のログを生成するログ管理手段であって、同一領域に対するログが複数ある場合は、イメージバックアップ開始時点以降、最も古いログを用いるログ管理手段と、
リストア時に、前記全体のログを用いて前記イメージバックアップ開始時点のデータを生成する生成手段と
を備えることを特徴とするバックアップシステム。A backup system for performing image backup of a shared medium shared by a plurality of computers,
When any one of the plurality of computers writes in a certain area of the shared medium , the image data before writing in the area is managed by the computer that performed the writing as a log,
Log management means for generating logs as a whole by collecting logs managed by the plurality of computers, and when there are a plurality of logs for the same area, log management means using the oldest log after the image backup start time ,
During the restore, the backup system comprising: a generating means for generating data of the image backup start time using the whole log.
イメージバックアップ開始時点以降、
前記複数の計算機のうちのいずれかの計算機が前記共有媒体のある領域に書き込む際に、該領域の書き込み前のイメージデータをログとして前記書き込みを行った計算機で管理し、
イメージバックアップを行うコンピュータが、前記複数の計算機が管理するログをまとめて全体のログを生成し、前記全体のログを生成する際に、同一領域に対するログが複数ある場合は、イメージバックアップ開始時点以降、最も古いログを用い、
リストア時に、前記全体のログを用いて前記イメージバックアップ開始時点のデータを生成する、
ことを特徴とするバックアップ方法。 A backup method for performing an image backup of a shared medium shared by a plurality of computers,
After the start of image backup,
When any one of the plurality of computers writes in a certain area of the shared medium , the image data before writing in the area is managed by the computer that performed the writing as a log,
When the computer that performs the image backup generates a whole log by collecting logs managed by the plurality of computers, and there are a plurality of logs for the same area when the whole log is generated, the image backup start time or later Use the oldest log,
During the restore, to generate data of the image backup start time using the whole log,
A backup method characterized by that .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001025748A JP4127461B2 (en) | 2000-02-04 | 2001-02-01 | Backup system and method in disk shared file system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000027132 | 2000-02-04 | ||
JP2000-27132 | 2000-02-04 | ||
JP2001025748A JP4127461B2 (en) | 2000-02-04 | 2001-02-01 | Backup system and method in disk shared file system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001290686A JP2001290686A (en) | 2001-10-19 |
JP4127461B2 true JP4127461B2 (en) | 2008-07-30 |
Family
ID=26584844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001025748A Expired - Fee Related JP4127461B2 (en) | 2000-02-04 | 2001-02-01 | Backup system and method in disk shared file system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4127461B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005301497A (en) | 2004-04-08 | 2005-10-27 | Hitachi Ltd | Storage management system, restoration method and its program |
JP2008033585A (en) * | 2006-07-28 | 2008-02-14 | Nec Corp | System, method, apparatus and program for differential backup |
JP4890160B2 (en) * | 2006-09-06 | 2012-03-07 | 株式会社日立製作所 | Storage system and backup / recovery method |
JP4930031B2 (en) * | 2006-12-13 | 2012-05-09 | 富士通株式会社 | Control device and control system |
JP5257672B2 (en) * | 2008-09-25 | 2013-08-07 | 株式会社日立製作所 | Computer system and method for managing journal hierarchy |
JP2011154503A (en) * | 2010-01-27 | 2011-08-11 | Fujitsu Telecom Networks Ltd | Method and device for managing generation of shared file |
JP5974620B2 (en) | 2012-05-10 | 2016-08-23 | 富士通株式会社 | Backup method, program, and backup device |
CN111625397B (en) * | 2020-04-14 | 2023-09-12 | 北京捷通华声科技股份有限公司 | Service log backup method, cluster, device, electronic equipment and storage medium |
-
2001
- 2001-02-01 JP JP2001025748A patent/JP4127461B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001290686A (en) | 2001-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7051173B2 (en) | Backup system and method thereof in disk shared file system | |
US5729743A (en) | Computer apparatus and method for merging system deltas | |
US7472139B2 (en) | Database recovery method applying update journal and database log | |
US6510552B1 (en) | Apparatus for keeping several versions of a file | |
US7774565B2 (en) | Methods and apparatus for point in time data access and recovery | |
US7890720B2 (en) | Snapshot system | |
US6557073B1 (en) | Storage apparatus having a virtual storage area | |
JP4292882B2 (en) | Plural snapshot maintaining method, server apparatus and storage apparatus | |
JP2003280964A (en) | Method for acquiring snapshot, storage system and disk device | |
JP2002123421A (en) | Remapping control method for flash memory and structure for flash memory therefor | |
EP1698977B1 (en) | Storage system and method for acquisition and utilisation of snapshots | |
JP2002149454A (en) | Transaction support on logical disk | |
JP4127461B2 (en) | Backup system and method in disk shared file system | |
JP2008090378A (en) | Hybrid file system, operating system, cache control method, and recording medium | |
JP4394467B2 (en) | Storage system, server apparatus, and preceding copy data generation method | |
JP2553751B2 (en) | Disk sector replacement method | |
JP2007128448A (en) | File system and file information processing method | |
JP2002318717A (en) | Database system | |
JP4390618B2 (en) | Database reorganization program, database reorganization method, and database reorganization apparatus | |
US20060143423A1 (en) | Storage device, data processing method thereof, data processing program thereof, and data processing system | |
JP2006040065A (en) | Device and method for storing data | |
JP2008123104A (en) | Data-access device | |
JPH01140353A (en) | System for maintaining data in data base | |
JP3497053B2 (en) | Processing method in online database management system and online database management system | |
JPH06231012A (en) | Log data managing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080311 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080403 |
|
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: 20080507 |
|
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: 20080508 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110523 Year of fee payment: 3 |
|
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: 20120523 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130523 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140523 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |