JP4127461B2 - Backup system and method in disk shared file system - Google Patents

Backup system and method in disk shared file system Download PDF

Info

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
Application number
JP2001025748A
Other languages
Japanese (ja)
Other versions
JP2001290686A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001025748A priority Critical patent/JP4127461B2/en
Publication of JP2001290686A publication Critical patent/JP2001290686A/en
Application granted granted Critical
Publication of JP4127461B2 publication Critical patent/JP4127461B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 copy unit 1 and a control unit 2 and backs up a shared medium 4 shared by a plurality of computers 3.
[0013]
The copy unit 1 copies a plurality of unit areas of the shared medium 4 to the backup medium 5 at once. The control means 2 manages the write data that each computer 3 writes to the shared medium 4 and reflects the write data of each computer 3 to the shared medium 4 at the time of backup.
[0014]
Each computer 3 holds the write data as a write cache when the data in the shared medium 4 is changed, and writes the contents in the shared medium 4 when the shared medium 4 becomes accessible. The control means 2 manages the presence or absence of write data held by each computer 3 and performs control to write the write data held by the computer 3 into the shared medium 4 at the time of backup.
[0015]
The storage area of the shared medium 4 is divided into unit areas such as blocks, for example. After all the write data is written, the copy unit 1 copies a plurality of unit areas of the shared medium 4 to the backup medium 5 by a method such as an image backup, for example.
[0016]
According to such a backup system, it is possible to efficiently back up the shared medium 4 including the write data held by each computer 3 in the disk shared file system.
[0017]
In the second aspect of the present invention, the backup system includes a log management unit 6 and a generation unit 7, and includes a shared medium 4 shared by a plurality of computers 3. image Make a backup.
[0018]
The log management means 6 is one of a plurality of computers 3 Calculator 3 Shared media 4 When writing to a certain area , Image of the area before writing Log data as On the computer 3 that wrote Manage, Managed by multiple computers 3 Collect the logs and generate the whole log. When there are a plurality of logs for the same area, the oldest log is used after the image backup start time. The generation means 7 When restoring, Data at the start of image backup is generated using the entire log.
[0019]
When the computer 3 changes the data of the shared medium 4, the original data before the change is saved as a log. The log management means 6 manages the logs of each computer 3 and collects the logs of two or more computers 3 to generate the entire system log. And the production | generation means 7 determines the content at the time of a backup start by overwriting the whole log on the backup data of the shared medium 4, for example.
[0020]
According to such a backup system, the original data stored in response to the data change by the plurality of computers 3 is edited, and the entire log is generated. Therefore, even in the disk shared file system, backup can be performed efficiently while the system is operating.
[0021]
In the third aspect of the present invention, the backup system includes a copy unit 1 and a group management unit 8 and backs up a shared medium 4 shared by a plurality of computers 3.
[0022]
The group management means 8 sets a group of files stored in the shared medium 4 and lists unit areas occupied by files included in the group. The copy unit 1 copies a plurality of listed unit areas to the backup medium 5 at once.
[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 copy unit 1 copies a plurality of listed unit areas to the backup medium 5 by a method such as image backup without distinguishing each file.
[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 copy unit 1 and an area management unit 9 and backs up a storage medium 4 that stores a file accessed from the computer 3.
[0026]
The area management unit 9 determines whether each unit area of the storage medium 4 is used and lists the used unit areas. The copy unit 1 copies a plurality of listed unit areas to the backup medium 5 at once.
[0027]
The area management unit 9 manages each unit area of the storage medium 4, determines whether each unit area is used as a file, and lists the unit areas occupied by the file. Then, the copy unit 1 copies a plurality of listed unit areas to the backup medium 5 by a method such as image backup without distinguishing each file.
[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 copy unit 1 and an area management unit 9 and backs up a storage medium 4 that stores a file accessed from the computer 3.
[0030]
The area management unit 9 lists unit areas of the storage medium 4 that have been changed after the previous backup as differences. The copying unit 1 copies a plurality of listed unit areas collectively to the backup medium 5 as differential backup data.
[0031]
The backup system backs up the storage medium 4 in time series at an appropriate timing. The area management unit 9 manages each unit area of the storage medium 4 and lists a unit area changed after the previous backup or a unit area newly used as a file. Then, the copy unit 1 copies a plurality of listed unit areas to the backup medium 5 by a method such as image backup without distinguishing each file. Thereby, only the changed unit area is stored as a difference.
[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 medium 4 in FIG. 1 corresponds to a shared disk 13 in FIG. 2 described later, and the backup medium 5 in FIG. 1 corresponds to the backup medium 15 or the tape 16 in FIG. 1 corresponds to the copy management unit 25 in FIG. 2, the control unit 2 in FIG. 1 corresponds to the cache control unit 21 in FIG. 2, and the log management unit 6 in FIG. 2 corresponds to the log management unit 26 in FIG. 2, the generation unit 7 and the area management unit 9 in FIG. 1 correspond to the block management unit 22 in FIG. 2, and the group management unit 8 in FIG. This corresponds to unit 23.
[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 computers 11 and 12, a shared disk 13, a log medium 14, a backup medium 15, and a tape 16.
[0040]
The plurality of computers 11 share the shared disk 13 and perform data processing while accessing files stored on the disk 13. The computers 11 and 12 and the shared disk 13 constitute a cluster, and generally one or more shared disks 13 are provided in the cluster. The log medium 14 stores the BI log of the computer 11, and the backup medium 15 and the tape 16 store backup data of files in the disk 13.
[0041]
The computer 12 is a computer that manages a cluster, and includes a cache control unit 21, a block management unit 22, a group management unit 23, a medium control unit 24, a copy management unit 25, a log management unit 26, and a tape control unit 27. These management unit and control unit correspond to, for example, software described by a program, and the block management unit 22 corresponds to a main part of the file system.
[0042]
The cache control unit 21 controls a cache 28 provided on the memory of each computer 11. In the cache 28, data to be written by the computer 11 with respect to the cluster file stored on the disk 13 is temporarily stored.
[0043]
In addition, the block management unit 22 performs block allocation to the file, and manages to which address of which disk 13 each block of the file is allocated. The group management unit 23 manages a user-defined group and files included in the group.
[0044]
The medium control unit 24 controls access to the backup medium 15, and the copy management unit 25 manages the data copy operation from the disk 13 to the backup medium 15. The log management unit 26 manages the BI log and the log medium 14 of each computer 11, and the tape control unit 27 controls access to the tape 16.
[0045]
According to such a cluster system, the block management unit 22 manages the blocks of the backup target file on the disk 13, and the copy management unit 25 copies these blocks to the backup medium 15, thereby performing backup. The BI log based on the writing of each computer 11 in the cluster generated during copying is copied to the log medium by the log management unit 26. The BI log stored in the log medium is later reflected in the backup medium 15 or is retained in the log format as it is.
[0046]
The log medium 14 and the backup medium 15 are non-volatile media such as disks and tapes. When the backup medium 15 is a disk, it is also used as a buffer for the tape 16, and the tape control unit 27 copies backup data from the backup medium 15 to the tape 16.
[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 cache control unit 21 performs cache management of (a.1), and reflects the write data (write cache) in the cache 28 on the disk 13 at the time of backup. The cache control unit 21 manages a cache table in which the following information is registered for all the caches 28 in the cluster.
・ 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 certain computer 11 generates a dirty cache, the cache control unit 21 instructs each computer 11 to discard the write cache owned by the other computer 11 in the corresponding area of the corresponding file. At the time of backup, each computer 11 is instructed to write all dirty caches to the disk 13. The computer 11 instructed to write writes the write cache in the cache 28 to the disk 13.
[0048]
In this way, when all the write caches in the cluster are reflected on the disk 13, an image backup is executed by the copy management unit 25, and the data in the disk 13 is copied to the backup medium 15. As a result, backup is performed without inconsistency of data in the cluster.
[0049]
FIG. 3 is a flowchart of processing in which the cache control unit 21 reflects the write cache on the disk 13. When backup is started, the cache control unit 21 first searches the cache table and checks whether or not there is a dirty cache remaining in the cluster (step S1).
[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 log management unit 26 performs log management of (a.2) or (a.3) regarding the BI log.
FIG. 4 shows the log management of (a.2). In FIG. 4, each computer 11 has its own temporary log medium 31 and log management file 32, and the log management unit 26 edits the log of the entire system by collecting the logs of all the computers 11 after the backup is completed. Store in the log medium 14. The log management file 32 includes a log list in which the following information is recorded for each log.
-Device name of disk 13
-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 clock unit 33 provided in the computer 12 is used. For example, the clock unit 33 generates a logical time “1” when the first log is generated, and thereafter increments the logical time by one each time a log is generated.
[0052]
Each computer 11 sends the log of the temporary log medium 31 and the log list of the log management file 32 to the log management unit 26. The log management unit 26 is the oldest if there are multiple logs in the same area in the received logs. Edit the log, leaving things preferentially. By overwriting the edited log on the backup medium 15, the image at the time of starting backup is confirmed, and the change caused by writing to the disk 13 being backed up can be canceled.
[0053]
FIG. 5 is a flowchart of log editing processing by the log management unit 26. First, the log management unit 26 receives logs and a log list from all the computers 11 in the cluster (step S11), sorts the received logs in chronological order, and prepares a work log list (step S12). .
[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 computer 11 sends a log to the log management unit 26, and the log management unit 26 records the received log in the log medium 14, and stores the corresponding device name and area (offset, size) in the log management file. 34. As described above, in the log management of FIG. 6, the log is placed on the log medium 14 from the beginning. By overwriting the log thus recorded on the backup medium 15, the image at the time of starting the backup is determined.
[0057]
FIG. 7 is a flowchart of log recording processing by the log management unit 26. The log management unit 26 first receives a log from the computers 11 in the cluster (step S21), and checks whether a log in the same area is already stored in the log medium 14 (step S22). If the log of the same area is not saved, the received log is recorded in the log medium 14 (step S23), and if the log of the same area is saved, the received log is not recorded.
[0058]
Next, it is checked whether or not logs have been received from all the computers 11 in the cluster (step S24). If there is a computer 11 that has not sent logs, the processing from step S21 is repeated. Then, when logs are received from all the computers 11, the processing is terminated.
[0059]
The log management of FIG. 4 has an advantage that the communication cost is low because the logs of the computers 11 are collectively sent to the log management unit 26 after the backup is completed. However, since the temporary log medium 31 is required, the hardware cost increases, and the log must be edited after the backup is completed, so that post-processing is required.
[0060]
On the other hand, the log management of FIG. 6 has an advantage that the temporary log medium 31 and post-processing are unnecessary. However, each time a log is generated in each computer 11, the log is sent to the log management unit 26, so the communication cost increases compared to the case of FIG.
[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 log medium 14, and in the log management (a.5), the log is stored in the log medium 14.
[0062]
FIG. 8 shows the log management of (a.4). When the backup medium 15 that is the copy destination of the disk 13 is not a tape but a disk used as a buffer for the tape 16, partial overwrite on the backup medium 15 is possible. Therefore, the copy management unit 25 and the log management unit 26 cooperate to record a log on the backup medium 15 at the same time as copying when the disk 13 to be backed up is being copied.
[0063]
At this time, first, after the log management unit 26 records the log on the backup medium 15, the copy management unit 25 copies the data on the disk 13 to the backup medium 15 for an area where no log exists.
[0064]
FIG. 9 is a flowchart of log recording processing by the log management unit 26. First, the log management unit 26 records the management information of the log to be stored in the log management file 34 as shown in FIG. 10 (step S31), and copies the log to the backup medium 15 (step S32). Next, it is checked whether there is another log that has not been copied (step S33). If there is such a log, the processing from step S31 onward is repeated. Then, when all the logs have been copied, the process is terminated.
[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 corresponding disk 13, and the original address and length represent the offset and size of the corresponding area, respectively.
[0066]
FIG. 11 is a flowchart of copy processing by the copy management unit 25. First, the copy management unit 25 starts copying using the start address of the disk 13 to be backed up as the current address (step S41), and checks whether the current address is the end address (step S42).
[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 log management file 34, the block at that address is copied to the backup medium 15 (step S44), and if it exists in the log management file 34, the block at that address is not copied.
[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 backup medium 15 is a medium that cannot be partially overwritten, such as a tape, a log medium 14 different from the backup medium 15 is prepared, and only the log is placed on the medium. Thereby, a log can be left on a medium different from the backup medium 15. At this time, the log management unit 26 and the copy management unit 25 respectively perform log recording and disk copy independently.
[0070]
FIG. 13 is a flowchart of log recording processing by the log management unit 26. The processes in steps S51 and S53 in FIG. 13 are the same as the processes in steps S31 and S33 in FIG. 9, respectively. After the process of step S51, the log management unit 26 copies the log to the log medium 14 (step S52), and performs the process of step S53.
[0071]
FIG. 14 is a flowchart of copy processing by the copy management unit 25. The processes in steps S61, S62, S63, and S64 in FIG. 14 are the same as the processes in steps S41, S42, S44, and S45 in FIG. 11, respectively. In this case, all blocks of the disk 13 to be backed up are copied to the backup medium 15.
[0072]
In the log management of (a.6), the log management unit 26 overwrites the BI log on the backup medium 15 and saves it at the time of backup. If the log and the backup data are merged and stored in advance as described above, only the backup medium 15 needs to be referred to at the time of restoration, and there is no need to refer to a plurality of media. Therefore, restoration is made efficient.
[0073]
FIG. 15 shows log management of (a.6). In FIG. 15, the log management unit 26 merges the log and the backup data by overwriting the plurality of logs of the log medium 14 with the corresponding areas of the backup medium 15 while referring to the log management file 34. Thereafter, the tape control unit 27 stores the data of the backup medium 15 on the tape 16.
[0074]
In the log management of (a.7), the log management unit 26 records the address information of the log overwrite destination backup data together with the BI log data at the time of backup. Originally, the log cannot be accessed without referring to the log management file that is the management information of the log, but if the management information is written in the log, the log can be overwritten with the backup data only by reading the log. Therefore, the log can be eliminated without referring to the log management information, and the log management is made efficient.
[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 block list 41 is used in block management (a.8), and the changed block list 42 is used in block management (a.9). The group block list 43 and the group change block list 44 are used in group management (b.1) to (b.5).
[0077]
In the block management (a.8), the block management unit 22 records and manages the blocks allocated to the files on the disk 13 in the used block list 41. The block management unit 22 notifies the copy management unit 25 of the blocks recorded in the used block list 41, and the copy management unit 25 copies only the notified block. Thus, by copying only the necessary blocks as backup data, the copy time is shortened and the required medium capacity is reduced.
[0078]
The used block list 41 is generated from, for example, a free space management table as shown in FIG. The free space management table in FIG. 18 is managed by the block management unit 22 and includes block identification information (block numbers) of all blocks on the disk 13 and flag information indicating whether each block is in use. Here, the flag “◯” represents an empty block, and the flag “×” represents a block in use.
[0079]
The block management unit 22 creates a used block list 41 by listing the block numbers of blocks in use from the free space management table at the time of backup. For example, a used block list as shown in FIG. 19 is generated from the free space management table of FIG.
[0080]
In block management (a.9), the block management unit 22 manages the blocks on the disk 13 that have been changed after the previous backup by recording them in the changed block list 42. The block management unit 22 notifies the copy management unit 25 of the blocks recorded in the changed block list 42 as differences, and the copy management unit 25 copies only the notified block. Thereby, differential backup (incremental backup) is performed.
[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 block list 42, and the contents of these blocks are copied at the time of backup.
[0082]
By performing such differential backup instead of performing backup (entire backup) of all blocks on the disk 13, the copy time is shortened and the required medium capacity is reduced.
[0083]
FIG. 20 is a flowchart of changed block list update processing by the block management unit 22. In this process, the changed block is determined from the write request to the file, and the block is added to the changed block list 42.
[0084]
First, the block management unit 22 receives a file write request from the computer 11 (step S71). The write request includes the file name, the write area offset a, and the size S. Next, the block number of the block assigned to the range of a to a + S of the corresponding file is obtained (step S72), and the block number is added to the changed block list 42 (step S73). Then, the requested block is accessed, a process for writing is performed (step S74), and the process ends.
[0085]
Further, in the group management of (b.1), the group management unit 23 manages files for each group in cooperation with the block management unit 22, and blocks used by files belonging to each group are displayed in the group block list. It records in 43 and manages. The group management unit 23 notifies the copy management unit 25 of the blocks recorded in the group block list 43 of the specific group, and the copy management unit 25 copies only the notified block. Thereby, the backup regarding a specific group is performed.
[0086]
In the group management of (b.2), the group management unit 23 groups files in units of directories, and sets all files included in the directories as groups.
[0087]
In the group management (b.3), the group management unit 23 excludes a specific file or directory under the directory set as a group from the group. Thereby, a specific file included in a directory set as a certain group can be excluded from the group.
[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 group management unit 23 selects the remaining files a, b, c, e, and f excluding the file d among all the files belonging to the directories A and C as a group. Then, the block number of the block allocated to each file is acquired from the block management unit 22 and recorded in the group block list 43.
[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 group block list 43, and the data of the corresponding block are copied to the backup medium. As the meta information, the file names and attributes of all files included in the directory tree or the file names and attributes of files belonging to the group are used.
[0095]
When a file is referred to at the time of restoration, the block management unit 22 obtains a corresponding block number from the file name and accesses the backup data of the block.
[0096]
At this time, if the information of all the files is recorded as meta information, the computer 11 can also see the file names of files that do not belong to the group, such as the file d in FIG. However, since there is no backup data for the block of file d, an error is returned when this file is referenced. On the other hand, if only the information of the files belonging to the group is recorded as meta information, the computer 11 cannot see the file names of the files that do not belong to the group, so that all the visible files can be referred to. become.
[0097]
Further, the group management unit 23 records and manages the blocks changed after the previous backup in the group change block list 44 in units of groups. The group management unit 23 notifies the copy management unit 25 of the blocks recorded in the group change block list 44 as differences, and the copy management unit 25 copies only the notified blocks. Thereby, differential backup is performed in units of groups.
[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 group management unit 23 sets a plurality of groups, and performs backup according to different schedules. In the group management (b.5), the group management unit 23 performs grouping that recognizes that one file belongs to a plurality of groups. This enables flexible group setting and backup.
[0100]
The hatched portion of the disk 13 in FIG. 17 represents a set of blocks recorded in one of the various block lists described above, and the data of these blocks is stored in the backup medium 15 by the copy management unit 25. Copied to the shaded area.
[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 disk 13 is greatly reduced as compared with the case of copying in units of files, and a situation close to random access hardly occurs.
[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 entire backup data 51 represents the first generation G3 backup data, and the differential backup data 52 and 53 represent the differences in the generations G2 and G1, respectively. In this case, the generation G3 is the oldest and the generation G1 is the newest. The hatched portion represents an area where backup data exists.
[0104]
Here, when the whole backup data 51 and the differential backup data 52 are merged, backup data 54 is generated. However, newer data is preferentially stored in the same area. In this case, at the time of restoration, data is referred to using only the backup data 54 and the differential backup data 53.
[0105]
Further, when the differential backup data 52 and the differential backup data 53 are merged, backup data 55 is generated. In this case, at the time of restoration, data is referred to using only the backup data 55 and the entire backup data 51.
[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 block management unit 22 selects only blocks that have changed since the specified time point. The change block list 42 is recorded. Then, the copy management unit 25 copies only those blocks.
[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 backup medium 15. Therefore, it is possible to select changes to be reflected in the restoration.
[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 block list 42 between times t0 and t1, and block z is added to the changed block list 42 between times t1 and t2. Shall be. If the user does not change the starting point of the differential backup, the blocks x, y, and z are recorded as differences from the time t0 in the changed block list 42 at time t2.
[0109]
However, when the user designates the time t1 as the starting point of the differential backup, the block management unit 22 once clears the changed block list 42 and erases the block numbers of the blocks x and y at the time t1. Thereafter, the block z is added to the changed block list 42, and at time t2, only the block z is recorded as a difference from the time t1. Then, at the time of the next backup, differential backup is performed based on the difference from time t1.
[0110]
Further, in the copy management of (a.12), when a plurality of disks 13 exist in the cluster, the copy management unit 25 instructs each computer 11 to copy any one of the disks 13 and performs the copy within the cluster. The computers 11 to be distributed are distributed. Then, each computer 11 performs copying of the disk 13 instructed from the copy management unit 25. As described above, when a plurality of computers 11 perform copying, the backup load is distributed and the copying time is shortened.
[0111]
FIG. 27 shows an example of such copy management. In the cluster of FIG. 27, a plurality of backup media 15 are provided. The copy management unit 25 notifies each computer 11 of the device names of the copy target disk 13 and the copy destination backup medium 15 and requests a copy operation. The computer 11 requested to copy the data copies the data of the notified disk 13 having the device name to the backup medium 15 having the notified device name. At this time, the copy work is performed in parallel by the plurality of computers 11.
[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 disk 13. As a result, each computer 11 can directly access the backup data stored in the backup medium 15, and a special operation for restoration is not required.
[0113]
FIG. 28 shows a process in which the block management unit 22 mounts the backup medium 15 on the file system. In FIG. 28, after data on the disk 13 (shaded portion) is copied to the backup medium 15 and a reference request for the disk 13 is received from the computer 11, the block management unit 22 transfers the corresponding data on the backup medium 15 to the computer. Return to 11.
[0114]
FIG. 29 is a flowchart of such a reference process. The block management unit 22 first receives a file read request from the computer 11 (step S81). The read request includes the file name, the read area offset a, and the size S. Next, the meta information of the backup medium 15 is referred to (step S82), and the block number #x assigned to the range a to a + S of the corresponding file is obtained (step S83).
[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 computer 11 by searching for the backup data.
[0117]
FIG. 30 shows such generation management. In FIG. 30, backup data for each generation is stored in different backup media 15. The block management information 61 maps the file name to the device name and block number of the disk 13. The block management information 62 is provided for each generation of backup data, and maps the device name and block number of the disk 13 to the identification information and block number of the backup medium 15.
[0118]
When receiving a file access request from the computer 11, the block management unit 22 refers to the block management information 61 to acquire a device name and a block number corresponding to the file name, and passes them to the medium control unit 24.
[0119]
The medium control unit 24 manages the backup data of each generation in the order of generation, refers to the block management information 62 of the newest generation G1, and checks whether there is a given device name and block number (block information) To do. If there is the given block information, the block number of the backup medium 15 corresponding to the block information is obtained, and the backup medium 15 of the generation G1 is referred to. If there is no given block information, the block management information 62 of the previous generation G2 is referred to and it is checked whether or not the block information exists.
[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 backup medium 15 of any generation. Thus, even when differential backup is performed, it is possible to show all data to the user using past backup data.
[0121]
FIG. 31 shows an example of differential backup restoration. In FIG. 31, overall backup data 71 represents the first generation G3 backup data, and differential backup data 72 and 73 represent the differences in generations G2 and G1, respectively. The hatched portion represents a block in which backup data exists. For example, in the differential backup data 72, the blocks 81 and 82 correspond to the changed data, and the block 83 corresponds to the newly added data.
[0122]
When data of blocks 93 and 94 is requested at the time of restoration, the corresponding block of the differential backup data 73 of generation G1 is referred to, and when data of blocks 92 and 97 is requested, the differential backup is traced back to generation G2. A corresponding block of data 72 is referenced. Further, when the data of the blocks 91, 95, 96 are requested, the corresponding block of the whole backup data 71 is referred back to the generation G3.
[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 tape 16, the backup medium 15 is used as a buffer accessible from all the computers 11 in the cluster. When the computer 11 refers to the backup data, only necessary blocks are loaded onto the backup medium 15 and those blocks are used as a cache. As a result, only necessary data can be arranged on the backup medium 15, and access efficiency to frequently accessed data is improved.
[0125]
FIG. 32 shows processing for using the backup medium 15 as a buffer. Here, since only the computer 12 is connected to the tape 16 in the configuration of FIG. 2, the tape control unit 27 of the computer 12 reads out necessary block data from the tape 16 and arranges it on the backup medium 15. . For example, a disk is used as the backup medium 15. By referring to the data loaded on the backup medium 15 in this way, the computer 11 not connected to the tape 16 can read the backup data stored on the tape 16.
[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 block management unit 22 obtains the block number #y on the tape 16 where the data of the block number #x obtained in step S93 is stored (step S94), and the cache of the block is stored in the backup medium 15. It is checked whether it is above (step S95).
[0127]
If the cache is not on the backup medium 15, the tape control unit 27 reads the data of the block from the tape 16 and writes it in an empty block #z on the backup medium 15 (step S96). Then, the block management unit 22 responds to the read request using the written data (step S97), and ends the process. If the cache is on the backup medium 15, the block management unit 22 responds to the read request using the data (step S97) and ends the process.
[0128]
In the operation of (c.5), when the BI log of the log medium 14 is not overwritten with the backup data of the backup medium 15 and the log and the backup data are stored separately, the log is referred to first. Refer back to the backup data later if necessary. By referring to the log at the time of restoration, the image at the start of the backup is reproduced, and data inconsistency does not occur.
[0129]
FIG. 34 shows processing for referring to the log of the log medium 14. When receiving an access request from the computer 11, the block management unit 22 confirms the existence and contents of the log in the log management unit 26. For example, the backup medium 15 is referred to.
[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 block management unit 22 inquires of the log management unit 26 whether there is a log of the block number #x obtained in step S103 (step S104), and checks the answer (step S105).
[0131]
If there is a log of the inquired block, the log on the log medium 14 is read. If there is no such log, the block number #y on the corresponding backup medium 15 is obtained and the backup data of the block is read. (Step S107). Then, in response to the read request (step S108), the process ends.
[0132]
In the cluster system of FIG. 2, the cache control unit 21, the block management unit 22, the group management unit 23, the medium control unit 24, the copy management unit 25, the log management unit 26, and the tape control unit 27 are managed by a management computer. However, some or all of these control units and management units may be distributed among a plurality of computers 11.
[0133]
FIG. 36 shows a backup operation in such a cluster system. In FIG. 36, the copy management unit 25, the log management unit 26, and the tape control unit 27 are provided in a distributed manner in the computer 11, and the computer 11 having the copy management unit 25 copies the contents of the disk 13 to the backup medium 15. To do.
[0134]
Each computer 11 transfers the BI log generated during the copying to the computer 11 having the log management unit 26, and the computer 11 edits the log and writes it in the log medium 14. Then, the backup data and the log are written on the tape 16 by the computer 11 having the tape control unit 27, respectively.
[0135]
FIG. 37 shows the restore operation in the cluster system of FIG. In FIG. 37, the computer 11 having the tape control unit 27 receives a read request from another computer 11 and separately reads the necessary backup data and log from the tape 16, and the backup medium 15 and the log medium 14 respectively. Expand on top.
[0136]
When the expansion is completed, the computer 11 that has requested reading reads the log from the log medium 14 if there is a log. If there is no log, the block number corresponding to the file name is received from the block management unit 22 and the backup data is read from the backup medium 15.
[0137]
However, when the computer 11 having the tape control unit 27 requests reading, it is not necessary to expand the backup data and log on the backup medium 15 and the log medium 14.
[0138]
FIG. 38 shows a case where the log is overwritten before the backup data is written on the tape 16 in the cluster system of FIG. In FIG. 38, the log management unit 26 overwrites the backup data of the backup medium 15 with the log of the log medium 14 when the backup data and the log are finalized. When overwriting is completed, the tape control unit 27 writes the overwritten backup data on the tape 16.
[0139]
FIG. 39 shows a restore operation in the cluster system of FIG. In FIG. 39, the tape control unit 27 reads the backup data with the log overwritten from the tape 16 and develops it on the backup medium 15. Then, the computer 11 that has requested reading reads the necessary data from the backup medium 15. However, when the computer 11 itself having the tape control unit 27 requests reading, it is not necessary to expand the data on the backup medium 15.
[0140]
The computers 11 and 12 in FIG. 2 can be configured using, for example, an information processing apparatus as shown in FIG. 40 includes a CPU (central processing unit) 111, a memory 112, an input device 113, an output device 114, an external storage device 115, a medium driving device 116, and a network connection device 117, which are connected via a bus 118. Are connected to each other.
[0141]
The memory 112 includes, for example, a ROM (read only memory), a RAM (random access memory), and the like, and stores programs and data used for processing. The CPU 111 performs necessary processing by executing a program using the memory 112.
[0142]
The cache control unit 21, block management unit 22, group management unit 23, medium control unit 24, copy management unit 25, log management unit 26, and tape control unit 27 in FIG. 2 are, for example, software components described by a program. Stored in the memory 112.
[0143]
The input device 113 is, for example, a keyboard, a pointing device, a touch panel, and the like, and is used for inputting instructions and information from the user. The output device 114 is, for example, a display, a printer, a speaker, or the like, and is used for outputting an inquiry to a user and a processing result.
[0144]
The external storage device 115 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a tape device, or the like. The information processing apparatus stores the above-described program and data in the external storage device 115, and loads them into the memory 112 for use as necessary. The external storage device 115 is used as the shared disk 13, the log medium 14, the backup medium 15, the tape 16, and the like.
[0145]
The medium driving device 116 drives the portable recording medium 119 and accesses the recorded contents. As the portable recording medium 119, an arbitrary computer-readable recording medium such as a memory card, a floppy disk, a CD-ROM (compact disk read only memory), an optical disk, or a magneto-optical disk is used. The user stores the above-described program and data in the portable recording medium 119 and loads them into the memory 112 and uses them as necessary.
[0146]
The network connection device 117 is used for connection to a communication network that connects computers, and performs data conversion accompanying communication. The information processing apparatus receives the above-described program and data from another apparatus via the network connection apparatus 117, and loads them into the memory 112 and uses them as necessary.
[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 portable recording medium 119 or the external database 120 are loaded into the memory 112. Then, the CPU 111 executes the program using the data and performs necessary processing.
[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.
前記複数の計算機の各々のログを一時的に保存する一時ログ格納手段をさらに備え、前記ログ管理手段は、該一時ログ格納手段に保存された各ログを編集して、前記全体のログを生成することを特徴とする請求項1記載のバックアップシステム。  Temporary log storage means for temporarily saving each log of the plurality of computers is further provided, and the log management means edits each log saved in the temporary log storage means to generate the entire log The backup system according to claim 1, wherein: 前記ログ管理手段は、前記複数の計算機のうちのいずれかが前記共有媒体にアクセスしたとき、アクセスした計算機からアクセス通知を受け取り、該アクセスした計算機のログを保存することで、前記全体のログを生成することを特徴とする請求項1記載のバックアップシステム。  When one of the plurality of computers accesses the shared medium, the log management means receives an access notification from the accessed computer and stores the log of the accessed computer, thereby saving the entire log. The backup system according to claim 1, wherein the backup system is generated. 前記共有媒体のバックアップデータを格納するバックアップ格納手段をさらに備え、前記ログ管理手段は、前記全体のログを該バックアップ格納手段に保存することを特徴とする請求項1記載のバックアップシステム。  2. The backup system according to claim 1, further comprising backup storage means for storing backup data of the shared medium, wherein the log management means stores the entire log in the backup storage means. 前記共有媒体のバックアップデータを格納するバックアップ格納手段と、前記全体のログを格納するログ格納手段とをさらに備えることを特徴とする請求項1記載のバックアップシステム。  The backup system according to claim 1, further comprising backup storage means for storing backup data of the shared medium, and log storage means for storing the entire log. 前記共有媒体のバックアップデータを格納するバックアップ格納手段をさらに備え、前記ログ管理手段は、前記全体のログを該バックアップデータに上書きすることを特徴とする請求項1記載のバックアップシステム。  The backup system according to claim 1, further comprising backup storage means for storing backup data of the shared medium, wherein the log management means overwrites the entire log on the backup data. 前記ログ管理手段が管理するログと、ログが上書きされるバックアップデータのアドレス情報とを格納するログ格納手段をさらに備え、前記生成手段は、該アドレス情報に基づいて、ログを対応するバックアップデータに上書きすることを特徴とする請求項1記載のバックアップシステム。  Log storage means for storing a log managed by the log management means and address information of backup data overwritten by the log, and the generation means converts the log into corresponding backup data based on the address information; 2. The backup system according to claim 1, wherein overwriting is performed. 前記生成手段は、前記全体のログが前記共有媒体のバックアップデータに上書きされていない場合、該全体のログを先に参照し、必要に応じて、該バックアップデータを後で参照することを特徴とする請求項1記載のバックアップシステム。  The generation unit refers to the entire log first when the entire log is not overwritten on the backup data of the shared medium, and refers to the backup data later if necessary. The backup system according to claim 1. 複数の計算機により共有される共有媒体のイメージバックアップを行うバックアップ方法であって、
イメージバックアップ開始時点以降、
前記複数の計算機のうちのいずれかの計算機が前記共有媒体のある領域に書き込む際に該領域の書き込み前のイメージデータをログとして前記書き込みを行った計算機で管理し、
イメージバックアップを行うコンピュータが、前記複数の計算機が管理するログをまとめて全体のログを生成し、前記全体のログを生成する際に、同一領域に対するログが複数ある場合は、イメージバックアップ開始時点以降、最も古いログを用い、
リストア時に、前記全体のログを用いて前記イメージバックアップ開始時点のデータを生成する
ことを特徴とするバックアップ方法。
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 .
JP2001025748A 2000-02-04 2001-02-01 Backup system and method in disk shared file system Expired - Fee Related JP4127461B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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