(57)【特許請求の範囲】
【請求項１】
バックアップ対象ディスクに格納されているデータのリストアをコンピュータに実行させるリストア管理プログラムにおいて、
前記コンピュータを、
前記データのリストアを実行し、前記バックアップ対象ディスクとは別個のリストアディスクに格納するリストア実行手段、
前記リストア実行手段による前記リストアの進捗を管理する管理手段、
前記管理手段による前記リストアの進捗を参照し、前記リストアが完了していない領域へのデータアクセス要求に応じて前記領域を含むデータの前記リストアを優先して前記リストア実行手段に実行させ、前記リストアディスクの前記リストア完了後の前記領域に対しアクセスを行うアクセス制御手段、
として機能させることを特徴とするリストア管理プログラム。
【請求項２】
前記リストア実行手段は、所定のデータブロック単位で前記リストアを実行し、
前記管理手段は、前記データブロック単位で前記リストアの進捗を管理し、
前記アクセス制御手段は、前記データブロック単位で、前記リストアが完了したか否かを判断することを特徴とする請求項１記載のリストア管理プログラム。
【請求項３】
バックアップ対象ディスクに格納されているデータのリストアをコンピュータに実行させるリストア管理方法において、
前記コンピュータが、
前記データのリストアを実行し、前記バックアップ対象ディスクとは別個のリストアディスクに格納し、
前記リストアの実行の進捗を管理し、
前記リストアの進捗を参照し、前記リストアが完了していない領域へのデータアクセス要求に応じて前記領域を含むデータの前記リストアを優先して実行させ、前記リストアディスクの前記リストア完了後の前記領域に対しアクセスを行う、
ことを特徴とするリストア管理方法。
【請求項４】
バックアップ対象ディスクに格納されているデータのリストアをコンピュータに実行させるリストア管理装置において、
前記データのリストアを実行し、前記バックアップ対象ディスクとは別個のリストアディスクに格納するリストア実行部と、
前記リストア実行部による前記リストアの進捗を管理する管理部と、
前記管理部による前記リストアの進捗を参照し、前記リストアが完了していない領域へのデータアクセス要求に応じて前記領域を含むデータの前記リストアを優先して前記リストア実行部に実行させ、前記リストアディスクの前記リストア完了後の前記領域に対しアクセスを行うアクセス制御部と、
を有することを特徴とするリストア管理装置。
【請求項５】
前記リストア実行手段は、前記データブロック単位のアドレス番号の小さい方から順番に前記リストアを実行し、
前記アクセス制御手段は、前記リストアを完了していない領域へのデータアクセス要求があった場合に、前記データアクセス要求があった領域を含むデータブロック単位のリストアを、前記リストア実行手段が実行する前記順番に従ったリストアに割り込ませることを特徴とする請求項２記載のリストア管理プログラム。
【請求項６】
前記リストアを実行する際には、所定のデータブロック単位で前記リストアを実行し、
前記リストアの実行の進捗の管理は、前記データブロック単位で前記リストアの進捗を管理し、
前記データブロック単位で、前記リストアが完了したか否かを判断することを特徴とする請求項３記載のリストア管理方法。
【請求項７】
前記リストアを実行する際には、前記データブロック単位のアドレス番号の小さい方から順番にリストアを実行し、
前記リストアを完了していない領域へのデータアクセス要求があった場合に、前記データアクセス要求があった領域を含むデータブロック単位のリストアを、前記順番に従ったリストアに割り込ませることを特徴とする請求項６記載のリストア管理方法。
【請求項８】
前記リストア実行部は、所定のデータブロック単位で前記リストアを実行し、
前記管理部は、前記データブロック単位で前記リストアの進捗を管理し、
前記アクセス制御部は、前記データブロック単位で、前記リストアが完了したか否かを判断することを特徴とする請求項４記載のリストア管理装置。
【請求項９】
前記リストア実行部は、前記データブロック単位のアドレス番号の小さい方から順番に前記リストアを実行し、
前記アクセス制御部は、前記リストアを完了していない領域へのデータアクセス要求があった場合に、前記データアクセス要求があった領域を含むデータブロック単位のリストアを、前記リストア実行部が実行する前記順番に従ったリストアに割り込ませることを特徴とする請求項８記載のリストア管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリストア管理プログラム、リストア管理方法およびリストア管理装置に関し、特に、バックアップ対象ディスクに格納されているデータのリストアをコンピュータに実行させるリストア管理プログラム、リストア管理方法およびリストア管理装置に関する。
【背景技術】
【０００２】
障害が発生したシステムやディスク、データベース等を復旧するリストア方法が知られている。
ネットワーク経由でリストアする場合、リストアに時間がかかり、また、リストアが終了しないと業務が回復しない。
【０００３】
このため、システムを停止させずに、そのデータ内容を予備のディスクに対し修正／復元する方法が知られている（例えば、特許文献１参照）。
また、コピー状況をテーブルで管理し、システムを停止させずにデータアクセスする方法が知られている（例えば、特許文献２参照）。
【特許文献１】特許第２８８００００号公報
【特許文献２】特開２００５−３１６６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば特許文献１に示す方法では、データの格納が完了した記憶領域の終了位置を示す境界情報を参照してアクセス方法を変更しているため、予備のディスクのリストアの完了していない領域に対して直接データを更新したりデータを参照したりすることができない。このため、同じ領域を後で再度リストアしなければならないという問題があった。
【０００５】
本発明はこのような点に鑑みてなされたものであり、処理の効率化を図ることができるリストア管理プログラム、リストア管理方法およびリストア管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、バックアップ対象ディスクに格納されているデータのリストアをコンピュータに実行させるリストア管理プログラムが提供される。このプログラムは、コンピュータを、リストア実行手段、管理手段およびアクセス制御手段として機能させる。
【０００７】
リストア実行手段は、バックアップ対象ディスクに格納されているデータのリストアを実行し、バックアップ対象ディスクとは別個のリストアディスクに格納する。
管理手段は、リストア実行手段によるリストアの進捗を管理する。
【０００８】
アクセス制御手段は、管理手段が管理するリストアの進捗を参照し、リストアが完了していない領域へのデータアクセス要求に応じて、この領域を含むデータのリストアを優先してリストア実行手段に実行させ、リストアディスクのリストア完了後の当該領域に対しアクセスを行う。
【０００９】
このようなリストア管理プログラムによれば、リストア実行手段により、データのリストアが実行され、そのデータがリストアディスクに格納される。管理手段により、リストア実行手段によるリストアの進捗が管理される。リストアが完了していない領域へのデータアクセス要求がアクセス制御手段にあると、リストア実行手段により、この領域を含むデータのリストアが、他のデータに優先して実行されリストアディスクに格納される。その後、アクセス制御手段により、リストアディスクのリストア完了後の当該領域に対しアクセスが行われる。
【発明の効果】
【００１０】
開示のリストア管理プログラム、リストア管理方法およびリストア管理装置によれば、データアクセス要求のあったデータのリストアが優先して実行されてリストアディスクに格納されるため、リストア中であってもこのデータに迅速にアクセスすることができ、処理の効率化を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図１は、本発明の概要を示す図である。
【００１２】
コンピュータ１は、リストア実行手段２、管理手段３およびアクセス制御手段４として機能する。
リストア実行手段２は、バックアップ対象ディスク５に格納されているデータのリストアを実行し、バックアップ対象ディスク５とは別個のリストアディスク６に格納する。
【００１３】
管理手段３は、リストア実行手段２によるリストアの進捗を管理する。この進捗は、例えばリストア実行手段２がリストアを行う処理の単位で管理される。
アクセス制御手段４は、管理手段３が管理するリストアの進捗を参照し、リストアが完了していない領域へのデータアクセス要求に応じて、この領域を含むデータのリストアを優先してリストア実行手段２に実行させ、リストアディスク６のリストア完了後の当該領域に対しアクセスを行う。
【００１４】
このようなリストア管理プログラムによれば、リストアが完了していない領域へのデータアクセス要求がアクセス制御手段４にあると、リストア実行手段２により、この領域を含むデータのリストアが、他のデータに優先して実行される。アクセス制御手段４は、リストアが終了した領域に対しアクセスを行うことで、リストア実行手段２によってリストアが継続して行われている途中であっても、データアクセス要求に応えることができる。
【００１５】
以下、本発明の実施の形態を説明する。
図２は、システムの構成を示す図である。
システム５００は、ネットワーク１０を介してリストアディスク管理装置１００とバックアップディスク管理装置２００とが接続されている。
【００１６】
リストアディスク管理装置１００には、ストレージデバイス３００（以下、「リストアディスク３００」と言う）が接続されている。
また、バックアップディスク管理装置２００には、ストレージデバイス４００（以下、「バックアップ対象ディスク４００」と言う）が接続されている。
【００１７】
バックアップ対象ディスク４００には、データがスライス単位（所定のデータブロック単位）で格納されている。１スライスは、例えば１ＧＢ（gigabyte）程度である。
リストアディスク管理装置１００は、バックアップディスク管理装置２００からの要求に応じて、バックアップ対象ディスク４００内のスライスのリストアを実行する。
【００１８】
リストアディスク管理装置１００は、リストアを行うために、以下のようなハードウェア構成を有している。
図３は、リストアディスク管理装置のハードウェア構成例を示す図である。
【００１９】
リストアディスク管理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０１ａを介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、リストアディスクインタフェース１０６および通信インタフェース１０７が接続されている。
【００２０】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２１】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０１ａを介してＣＰＵ１０１に送信する。
【００２２】
リストアディスクインタフェース１０６は、リストアディスク３００に接続されている。リストアディスクインタフェース１０６は、ＣＰＵ１０１からの指示に従って、リストアディスク３００に対するデータの入出力を行う。
【００２３】
通信インタフェース１０７は、ネットワーク１０に接続されている。通信インタフェース１０７は、ネットワーク１０を介して、バックアップディスク管理装置２００との間でデータの送受信を行う。
【００２４】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、リストアディスク管理装置の機能を示すブロック図である。
【００２５】
リストアディスク管理装置１００は、リストア実行部１１１と、テーブル管理部１１２と、アクセス制御部１１３とを備えるリストアアプリケーション１１０を有している。
リストア実行部１１１は、リストア時に、バックアップ対象ディスク４００の先頭側のスライスからリストア対象のデータ（以下、「未リストアデータ」と言う）を逐次取得し、リストアディスク３００に格納する。
【００２６】
また、リストア実行部１１１は、アクセス制御部１１３からリストアが完了していない領域に対する（データ）アクセス（リードアクセス、ライトアクセス）要求があったことを示すリストア要求を受け取ると、要求されたデータが存在するスライスのリストアを他のスライスのリストアに優先して行う。なお、この処理については後に詳述する。
【００２７】
テーブル管理部１１２は、リストア時に、リストアの進捗に関する情報をスライス単位で管理するテーブルを有している。
アクセス制御部１１３は、リストアディスク管理装置１００の外部（または内部）（以下、「アクセス要求先」と言う）から指定されたアドレス（指定アドレス）へのアクセス要求に応じて指定アドレスのデータがリストアディスク３００に存在するか否かを判断する。
【００２８】
そして、指定アドレスのデータがリストアディスク３００に存在する場合は、アクセス要求の内容に応じた処理を行う。具体的には、リードアクセス要求であれば、リストアディスク３００から指定アドレスのデータを取り出しアクセス要求先にそのデータを転送する。また、ライトアクセス要求であれば、書き込み対象のデータをリストアディスク３００の指定アドレスに書き込む。
【００２９】
また、必要に応じて図示しないログディスクにも当該データを書き込むようにしてもよい。
一方、当該データがリストアディスク３００に存在しない場合は、リストア実行部１１１にリストア要求を出力し、リストア実行部１１１に、当該データを含むスライスをリストアディスク３００にリストアさせた後に、上述した処理を行う。
【００３０】
次に、テーブル管理部１１２に格納されたテーブルを説明する。
図５は、テーブル管理部に格納されたテーブルのデータ構造を示す図である。
テーブル１１２ａには、アドレスおよびリストア済みの欄が設けられており、各欄の横方向に並べられた情報同士が互いに関連づけられている。
【００３１】
アドレスの欄には、各スライスの先頭のアドレスが格納される。
リストア済みの欄には、当該スライスのリストアが終了したか否かを示す情報が格納される。「ｙｅｓ」はリストア完了を示し、「ｎｏ」はリストア未完了を示す。
【００３２】
次に、リストア実行部１１１のリストア時の処理を説明する。
図６は、リストア実行部の処理を示すフローチャートである。
まず、テーブル１１２ａを参照し、バックアップ対象ディスク４００に未リストアデータが存在するか否かを判断する（ステップＳ１）。
【００３３】
存在しない場合、すなわち、バックアップ対象ディスク４００の全てのデータがリストア済みの場合（ステップＳ１のＮｏ）、処理を終了する。
存在する場合（ステップＳ１のＹｅｓ）、テーブル１１２ａのリストア済みの欄が「ｎｏ」のスライスのうち、アドレス番号の最も小さい（バックアップ対象ディスク４００の先頭側に最も近い）スライスのリストアを実行する（ステップＳ２）。
【００３４】
次に、テーブル１１２ａの、ステップＳ２にてリストアを実行したスライスのリストア済みの欄を「ｎｏ」から「ｙｅｓ」に更新する（ステップＳ３）。
その後、アクセス制御部１１３からのリストア要求の有無を判断する（ステップＳ４）。
【００３５】
リストア要求が存在しなければ（ステップＳ４のＮｏ）、ステップＳ１に移行し、ステップＳ１以降の処理を継続して行う。これにより、先頭側のスライスから順にリストアが実行される。
【００３６】
一方、リストア要求が存在する場合（ステップＳ４のＹｅｓ）、アクセス制御部１１３からリストア要求があったデータのアドレスを含むスライスをバックアップ対象ディスク４００から取得する（ステップＳ５）。
【００３７】
次に、取得したスライスのリストアを実行する（ステップＳ６）。
次に、ステップＳ６にてリストアを実行したスライスのリストア済みの欄を「ｎｏ」から「ｙｅｓ」に更新する（ステップＳ７）。その後、ステップＳ１に移行し、ステップＳ１以降の処理を継続して行う。
【００３８】
以上でリストア実行部１１１の処理の説明を終了する。
次に、アクセス制御部１１３の処理を説明する。
図７は、アクセス制御部の処理を示すフローチャートである。
【００３９】
まず、アクセス要求先からのアクセス要求が存在するか否かを判断する（ステップＳ１１）。
アクセス要求が存在しない場合（ステップＳ１１のＮｏ）、アクセス要求を待機する。
【００４０】
アクセス要求が存在する場合（ステップＳ１１のＹｅｓ）、テーブル１１２ａを参照し、当該アクセス要求のデータの指定アドレスを含むスライスがリストア済みか否かを判断する（ステップＳ１２）。
【００４１】
全てのスライスがリストア済みではない場合（ステップＳ１２のＮｏ）、指定アドレスを含むスライスのリストア要求をリストア実行部１１１に出力する（ステップＳ１３）。
なお、指定アドレスが複数に亘っている場合、これらを含む全てのスライスのリストア要求を出力する。
【００４２】
その後、必要に応じてリストア実行部１１１によるリストアの終了を所定時間待機し、ステップＳ１２に移行し、ステップＳ１２以降の処理を継続して行う。
一方、ステップＳ１２において、最初の判断によりアクセス要求のデータの指定アドレスを含むスライスがリストア済みであった場合、または、リストア実行部１１１によってリストアが終了してリストア済みとなった場合（ステップＳ１２のＹｅｓ）、当該アクセス要求がリードアクセス要求かライトアクセス要求かを判断する（ステップＳ１４）。
【００４３】
リードアクセス要求の場合（ステップＳ１４のリード）、指定アドレスのデータをリストアディスク３００から読み込む（ステップＳ１５）。
次に、読み込んだデータをアクセス要求先に転送する（ステップＳ１６）。その後、ステップＳ１１に移行し、ステップＳ１１以降の処理を継続して行う。
【００４４】
一方、ライトアクセスの場合（ステップＳ１４のライト）、データをリストアディスク３００の指定アドレスに書き込む（ステップＳ１７）。
その後、アクセス要求先に書き込み完了通知を応答する（ステップＳ１８）。その後、ステップＳ１１に移行し、ステップＳ１１以降の処理を継続して行う。
【００４５】
以上でアクセス制御部１１３の処理の説明を終了する。
図８は、テーブルの遷移を示す図である。
リストア開始時点では、図８（ａ）に示すように、全ての「リストア済み」の欄は「ｎｏ」である。
【００４６】
その後、リストアを開始すると、リストア実行部１１１は、図８（ｂ）に示すように、アドレス番号の小さいアドレスから逐次リストアを実行し、リストア済みの欄を「ｙｅｓ」に書き換えていく。
【００４７】
ここで、先頭のアドレスがＡＤＲ（ｉ）のスライスに存在するデータに対するアクセス要求があれば、リストア実行部１１１は、先頭のアドレスがＡＤＲ（ｉ）のスライスのリストアを、先頭のアドレスがＡＤＲ３のスライスのリストアに優先して実行し、図８（ｃ）に示すように、先頭のアドレスがＡＤＲ３のスライスの「リストア済み」の欄に優先して、先頭のアドレスがＡＤＲ（ｉ）のスライスの「リストア済み」の欄を「ｙｅｓ」に書き換える。
【００４８】
その後、リストア実行部１１１は、他のリストア要求が存在しなければ、引き続き先頭のアドレスがＡＤＲ３のスライスのリストアを実行し、他のリストア要求が存在すれば、当該要求があったデータを含むスライスのリストアを実行する。
【００４９】
以上述べたように、システム５００によれば、アクセス制御部１１３のリストア要求により、リストア実行部１１１が他のスライスに優先してリストアを実行し、そのデータをリストアディスク３００に格納するようにしたので、アクセス制御部１１３は、リストア中においてもリストアディスク３００にアクセスすることができ、処理の効率化を図ることができる。
【００５０】
なお、本実施の形態では、リードアクセス要求の場合、アクセス制御部１１３は、テーブル１１２ａの更新を待機してリストア済みの欄が「ｎｏ」から「ｙｅｓ」に更新された後に、リストアディスク３００にアクセスしてデータを読み出したが、本発明はこれに限らず、リストア実行部１１１がリストアを完了したデータをアクセス制御部１１３に直接送るようにしてもよい。
【００５１】
また、本実施の形態では、リードアクセス要求の場合、データを読み出す場合にもアクセス制御部１１３は、テーブル１１２ａの更新を待機してリストア済みの欄が「ｎｏ」から「ｙｅｓ」に更新された後に、リストアディスク３００にアクセスしてデータを読み出したが、本発明はこれに限らず、リストア済みの欄が「ｎｏ」の場合、バックアップ対象ディスク４００にアクセスしてデータを取得するようにしてもよい。
【００５２】
以上、本発明のリストア管理プログラム、リストア管理方法およびリストア管理装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
【００５３】
また、本発明は、前述した実施の形態のうちの、任意の２以上の構成（特徴）を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、リストアディスク管理装置１００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等が挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等が挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）等が挙げられる。
【００５４】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００５５】
リストア管理プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【図面の簡単な説明】
【００５６】
【図１】本発明の概要を示す図である。
【図２】システムの構成を示す図である。
【図３】リストアディスク管理装置のハードウェア構成例を示す図である。
【図４】リストアディスク管理装置の機能を示すブロック図である。
【図５】テーブル管理部に格納されたテーブルのデータ構造を示す図である。
【図６】リストア実行部の処理を示すフローチャートである。
【図７】アクセス制御部の処理を示すフローチャートである。
【図８】テーブルの遷移を示す図である。
【符号の説明】
【００５７】
１  コンピュータ
２  リストア実行手段
３  管理手段
４  アクセス制御手段
５、４００  バックアップ対象ディスク（ストレージデバイス）
６、３００  リストアディスク（ストレージデバイス）
１００  リストアディスク管理装置
１１０  リストアアプリケーション
１１１  リストア実行部
１１２  テーブル管理部
１１２ａ  テーブル
１１３  アクセス制御部
２００  バックアップディスク管理装置
５００  システム
【図１】
0004579998.tif 000002
【図２】
0004579998.tif 000003
【図３】
0004579998.tif 000004
【図４】
0004579998.tif 000005
【図５】
0004579998.tif 000006
【図６】
0004579998.tif 000007
【図７】
0004579998.tif 000008
【図８】
0004579998.tif 000009