説明

データ管理方法及びデータ管理システム

【課題】ソフトウェア資源のバックアップ処理の迅速化を図ること。
【解決手段】情報管理方法は、第一のコンピュータが、バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている構成情報に基づいて、前記記憶媒体のデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定し、前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信し、前記第二のコンピュータが、前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶部に記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理方法及びデータ管理システムに関する。
【背景技術】
【0002】
従来、コンピュータにおいて管理されているソフトウェア資源(プログラムやデータ等)に関しては、システム障害等の発生に備えてバックアップが行われる。例えば、業務サーバにインストールされているプログラムのファイルや、当該プログラムが使用又は生成するファイル等は、所定のタイミングでバックアップが行われる。バックアップの実行により、バックアップ対象のコンピュータのソフトウェア資源は、所定の記憶装置に記憶される。
【0003】
バックアップされているソフトウェア資源は、バックアップ対象とされたコンピュータにおける障害の発生、又は当該コンピュータの負荷の増加等に応じて、当該コンピュータ又は他のコンピュータにリストア(復元)される。
【0004】
従来、このような、ソフトウェア資源のバックアップ及びリストアは、ファイル単位で行われるのが主流であった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−353118号公報
【特許文献2】特開平10−55298号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
バックアップやリストアの性能は、コンピュータシステムの運用に大きく影響する。したがって、バックアップ処理やリストア処理の高速化が求められる。
【0007】
しかしながら、ファイル単位でバックアップ及びリストアが行われる場合、ファイルの読み書きの際にOS(Operating System)のファイルシステムの介在によるオーバーヘッドが生じ、性能を劣化させるという問題がある。
【0008】
そこで、一側面では、ソフトウェア資源のバックアップ処理の迅速化を図ることを目的とする。
【課題を解決するための手段】
【0009】
一つの案では、データ管理方法は、第一のコンピュータが、バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている当該記憶媒体の記憶内容の構成情報に基づいて、前記記憶媒体においてファイル又はディレクトリが記憶されるデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定し、前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信し、前記第二のコンピュータが、前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶部に記憶する。
【発明の効果】
【0010】
一態様によれば、ソフトウェア資源のバックアップ処理の迅速化を図ることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施の形態における情報管理システムの構成例を示す図である。
【図2】本発明の実施の形態における情報管理サーバのハードウェア構成例を示す図である。
【図3】本発明の実施の形態における情報管理システムの機能構成例を示す図である。
【図4】バックアップ処理の処理手順の一例を説明するためのシーケンス図である。
【図5】ネットワークブートの様子の一例を示す図である。
【図6】ハードディスクの論理構造の一例を示す図である。
【図7】MBRの構成例を示す図である。
【図8】PBRの構成例を示す図である。
【図9】ディレクトリエントリの構成例を示す図である。
【図10】ハードディスクの構成情報の解析の様子の一例を示す図である。
【図11】データインデックスの例を示す図である。
【図12】セクタ情報の転送の様子の一例を示す図である。
【図13】セクタ情報のバックアップファイルへの保存の様子の一例を示す図である。
【図14】バックアップファイルの例を示す図である。
【図15】バックアップデータのデータ構造の一例を示す図である。
【図16】リストア処理の処理手順の一例を説明するためのシーケンス図である。
【図17】欠番のセクタ番号の検出の様子の一例を示す図である。
【図18】情報管理サーバ及び対象サーバにおけるプロセスの起動の様子の一例を示す図である。
【図19】4つのプロセス間でセクタ情報が並列的に転送される様子の一例を示す図である。
【図20】欠番のセクタ番号の検出及びセクタ番号の変更処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における情報管理システムの構成例を示す図である。
【0013】
図1の情報管理システム1において、情報管理サーバ10と対象サーバ20とは、LAN(Local Area Network)又はインターネット等のネットワークを介して接続されている。当該ネットワークの一部又は全部において、無線通信が行われてもよい。
【0014】
対象サーバ20は、そのソフトウェア資源がバックアップ及びリストア対象とされるコンピュータである。対象サーバ20の一例として、各種の業務サーバ、Webサーバ、又はデータベースサーバ等が挙げられる。また、ソフトウェア資源は、例えば、プログラム、プログラムが使用又は生成するデータ等、対象サーバ20の記憶媒体(ハードディスク)に記憶されているあらゆるデータを含む。
【0015】
情報管理サーバ10は、対象サーバ20のソフトウェア資源に関して、バックアップ及びリストア等に関する処理を制御するコンピュータである。情報管理サーバ10は、また、対象サーバ20のソフトウェア資源のバックアップ先及びリストア元としても機能する。但し、対象サーバ20のソフトウェア資源のバックアップ先は、情報管理サーバ10とは異なるコンピュータ又は記憶装置とされてもよい。
【0016】
なお、対象サーバ20と情報管理サーバ10との関係は、必ずしも一対一でなくてもよい。一対多、多対一、又は多対多であってもよい。
【0017】
図2は、本発明の実施の形態における情報管理サーバのハードウェア構成例を示す図である。図2の情報管理サーバ10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
【0018】
情報管理サーバ10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0019】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報管理サーバ10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【0020】
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【0021】
なお、対象サーバ20も、図2と同様のハードウェア構成を有していてもよい。但し、入力装置107及び表示装置106等は、対象サーバ20において必ずしも必要ではない。
【0022】
図3は、本発明の実施の形態における情報管理システムの機能構成例を示す図である。図3において、情報管理サーバ10は、命令受付部11、ブート指示部12、バックアップ受信部13、欠番検出部14、セクタ番号変更部15、及びリストア送信部16等を有する。これら各部は、情報管理サーバ10にインストールされたプログラムが、CPU104に実行させる処理により実現される。
【0023】
命令受付部11は、バックアップの実施命令又はリストアの実施命令等をユーザより受け付ける。ブート指示部12は、バックアップ時及びリストア時において、対象サーバ20をネットワークブートさせる。バックアップ受信部13は、バックアップ時において、対象サーバ20のハードディスクのセクタごとに、当該セクタのセクタ番号と、当該セクタに記憶されているデータとを含む情報(以下、「セクタ情報」という。)等を受信し、補助記憶装置102に保存する。欠番検出部14は、補助記憶装置102に保存されたセクタ情報等に基づいて、欠番のセクタ番号を検出する。セクタ番号変更部15は、補助記憶装置102に保存されたセクタ情報に関して、欠番のセクタ番号を埋めるためのセクタ番号の変更処理を実行する。リストア送信部16は、リストア時において、補助記憶装置102に保存されているセクタ情報を対象サーバ20に送信する。
【0024】
一方、対象サーバ20は、解析部21、データインデックス送信部22、有効性判定部23、バックアップ送信部24、リストア受信部25、及び無効化部26等を有する。
【0025】
解析部21は、バックアップ時において、対象サーバ20のハードディスクの記憶内容を解析し、当該記憶内容の構成情報を示すテキストデータを生成する。当該デキストデータを、以下、「データインデックス」という。データインデックス送信部22は、バックアップ時において、データインデックスを情報管理サーバ10に送信する。有効性判定部23は、対象サーバ20のハードディスクに記憶されているファイル又はディレクトリに関して、有効性を判定する。バックアップ送信部24は、バックアップ時において、対象サーバ20のハードディスクのセクタごとにセクタ情報を情報管理サーバ10に送信する。リストア受信部25は、リストア時において、情報管理サーバ10に保存されているセクタ情報を情報管理サーバ10より受信する。無効化部26は、リストア後において、対象サーバ20のバードディスクにおいて使用されていないセクタを無効化する。
【0026】
以下、情報管理システムにおいて実行される処理手順について説明する。図4は、バックアップ処理の処理手順の一例を説明するためのシーケンス図である。
【0027】
ステップS101において、情報管理サーバ10の命令受付部11は、例えば、入力装置107を介して、バックアップ実施命令の入力をユーザより受け付ける。バックアップ実施命令は、ネットワークを介して受信されてもよい。バックアップ実施命令には、例えば、バックアップ対象の対象サーバ20の識別情報等を含む。
【0028】
続いて、ブート指示部12は、例えば、補助記憶装置102に記憶されているブートイメージを対象サーバ20に送信し、対象サーバ20をネットワークブートによって起動させる(S102)。
【0029】
図5は、ネットワークブートの様子の一例を示す図である。図5では、情報管理サーバ10から対象サーバ20に対してブートイメージが転送され、当該ブートイメージに含まれている小規模OS(Operating System)が起動されている様子が示されている。すなわち、対象サーバ20は、ネットワークブートによる起動の過程において、受信されたブートイメージに含まれており、対象サーバ20のメモリ装置に展開される小規模なOSを起動する。当該小規模OSは、バックアップ対象となるデータが記憶されているハードディスクの内容を書き換えることはないため、安全にバックアップを実行することができるからである。したがって、対象サーバ20を、図3において説明した各部として機能させるプログラムも、当該小規模OS上において実行される。
【0030】
対象サーバ20は、ネットワークブートによる起動が完了すると、その完了を示す応答を情報管理サーバ10に返信する(S103)。
【0031】
当該応答の受信に応じ、情報管理サーバ10のバックアップ受信部13は、バックアップ時におけるデータ受信用のプロセスを一つ起動させる(S104)。当該プロセスは、起動に応じ、データの受信を待機する。以下、バックアップ受信部13というとき、当該プロセスのことをいう。
【0032】
一方、対象サーバ20の解析部21は、起動の完了の応答が送信された後に、対象サーバ20のハードディスクにおける所定のセクタに記憶されている、ハードディスクの記憶内容の構成情報を示すデータを読み込む(S105)。続いて、解析部21は、読み込んだセクタに記憶されているデータを解析することにより、ハードディスクの記憶内容の構成情報を把握する(S106)。
【0033】
セクタとは、ハードディスクに対する最小の記録単位をいい、通常は512バイトのサイズを有する。なお、OSによるファイルの記録は、セクタの所定数の集合である、クラスタと呼ばれる単位で行われる。
【0034】
図6は、ハードディスクの論理構造の一例を示す図である。なお、図6に示される論理構造は、便宜上適宜省略されており、必ずしも、論理構造を厳密に示すものではない。また、本実施の形態では、FATファイルシステムを例とするが、他のファイルシステムに関しては、FATファイルシステムと異なる点を、当該他のファイルシステムに対応するように置換させて、本実施の形態が適用されればよい。
【0035】
図6に示されるように、ハードディスクの先頭のセクタは、MBR(Master Boot Record:マスタブートレコード)と呼ばれる。MBRは、図7に示されるような構成を有する。
【0036】
図7は、MBRの構成例を示す図である。MBRの構成は、公知の仕様であるため、本実施の形態において必要となる部分について説明する。
【0037】
図7に示されるように、MBRは、パーティションごとにパーティションテーブルを含む。各パーティションテーブルには、対応するパーティションに関する情報として、パーティション開始位置又は開始セクタ番号等が記憶されている。したがって、MBRを参照することで、ハードディスク上における各パーティションの開始位置を把握することができる。なお、パーティションとは、一つのハードディスクが論理的に分割された単位をいう。また、本実施の形態では、4つのパーティションが形成された例が示されているが、本実施の形態の適用範囲は、パーティションの数には依存しない。
【0038】
図6に戻る。各パーティションは、PBR、FAT領域、ルートディレクトリエントリ、及びデータ領域等を含む。PBR(Partition Boot Record:パーティションブートレコード)は、パーティションの先頭セクタであり、パーティションの構造を示す情報が記憶される。
【0039】
図8は、PBRの構成例を示す図である。PBRの構成は、公知の仕様であるため、本実施の形態において必要となる部分について説明する。
【0040】
図8において、ディスクパラメータが、パーティションの構造を示す情報に相当する。ディスクパラメータは、BPB(BIOS Parameter Block)とも呼ばれ、例えば、1クラスタ当たりのセクタ数、1つのFAT(File Allocation Table)が占有するセクタ数、及びFATの数等を記憶する。
【0041】
したがって、ディスクパラメータを参照することで、FATに続くルートディレクトリエントリの開始位置が把握すされる。また、ルートディレクトリエントリのサイズは固定であるため、ルートディレクトリエントリに続くデータ領域の開始位置等も把握される。
【0042】
図6に戻る。FAT領域は、FATが記憶された領域である。ここでいうFATは、ファイルシステム全体のことではなく、二つのクラスタ番号の対応表をいう。例えば、或るファイルが4、7、10の三つのクラスタに跨って記憶されているとする。ここで、4、7、10は、クラスタ番号である。このように、一つのファイルに割り当てられるクラスタは、必ずしも連続しているとは限らない。FATにおいて、当該ファイルの先頭のクラスタ番号である4には、次のクラスタのクラスタ番号である7が対応付けられる。クラスタ番号7には、更に次のクラスタであるクラスタ番号10が対応付けられる。クラスタ番号10には、ファイルの終端であることを示す情報が対応付けられる。なお、当該ファイルの先頭のクラスタ番号は、ルートディレクトリエントリ及びデータ領域に記憶されている、ファイルシステムにおけるファイル及びディレクトリのツリー構造等を示す情報(ディレクトリエントリの集合)に基づいて特定することが可能である。ディレクトリエントリとは、ファイル又はディレクトリの属性情報を含むデータをいい、ファイル毎又はディレクトリ毎に存在する。
【0043】
図9は、ディレクトリエントリの構成例を示す図である。ディレクトリエントリの構成は、公知の仕様であるため、本実施の形態において必要となる部分について説明する。
【0044】
図9に示されるように、ディレクトリエントリには先頭クラスタ番号が含まれる。先頭クラスタ番号は、上記したように、ディレクトリエントリに対応するファイル又はディレクトリが記憶されている先頭のクラスタのクラスタ番号である。
【0045】
図6に戻る。ルートディレクトリエントリは、パーティションのルートディレクトリの直下のファイル又はディレクトリのディレクトリエントリ等を記憶する領域である。
【0046】
データ領域は、ファイルに格納されるデータ本体や、各サブディレクトリ及び各ファイルのディレクトリエントリ等を記憶する領域である。データ領域において、各サブディレクトリが記憶される領域には、当該サブディレクトリの直下のファイル又はディレクトリのディレクトリエントリ等が記憶される。
【0047】
上記したステップS105及びS106では、MBR及び各パーティションのPBRが所定のセクタとして読み込まれ、解析される。解析部21は、解析結果としての、ハードディスクの記憶内容の構成情報をデキスト化したデータインデックスを、例えば、対象サーバ20のメモリ装置に記憶する。
【0048】
図10は、ハードディスクの構成情報の解析の様子の一例を示す図である。図10では、対象サーバ20のハードディスクの所定のセクタ(MBR及びPBR等)が読み込まれ、当該セクタの解析結果が、データインデックスとして生成される様子が示されている。
【0049】
図11は、データインデックスの例を示す図である。データインデックスは、MBR情報d1、PBR情報d2、及びData情報d3等を含む。
【0050】
MBR情報d1は、MBRに記憶されているパーティションテーブルごとに、当該パーティションテーブルのアドレス(セクタ番号)を含む。図11において、各パーティションテーブルのアドレスは、「partitiontableN::<セクタ番号>」の形式で示されている。
【0051】
PBR情報d2は、パーティションごとに、当該パーティションの開始アドレス(セクタ番号)を含む。図11において、各パーティションのアドレスは、「partitionN::<セクタ番号>」の形式で示されている。なお、各パーティションのアドレスは、パーティションテーブルより取得可能である。
【0052】
Data情報d3は、パーティションごとに、当該パーティションのFAT領域の開始アドレス(セクタ番号)、ルートディレクトリエントリの開始アドレス(セクタ番号)、及びデータ領域の開始アドレス(セクタ番号)等を含む。図11において、FAT領域の開始アドレスは、「FAT::<セクタ番号>」の形式で示されている。ルートディレクトリエントリの開始アドレスは、「rootdirectory::<セクタ番号>」の形式で示されている。データ領域の開始アドレスは、「dataarea::<セクタ番号>」の形式で示されている。なお、各開始アドレスは、各パーティションのPBRを解析することにより取得可能である。
【0053】
続いて、バックアップ送信部24は、データインデックスを情報管理サーバ10に送信する(S107)。情報管理サーバ10のバックアップ受信部13は、データインデックスを受信すると、当該データインデックスを、メモリ装置103又は補助記憶装置102に記憶する。続いて、バックアップ受信部13は、データインデックスの受信の完了を示す応答を、対象サーバ20に返信する(S108)。
【0054】
続いて、対象サーバ20の有効性判定部23は、ハードディスクに記憶されている各ファイル又は各ディレクトリの有効性を判定して、有効なファイル又は有効なディレクトリを特定する(S109)。各ファイル又は各ディレクトリの有効性とは、OSから見た場合に、ファイル又はディレクトリが有効であること、すなわち、削除されていないことをいう。
【0055】
通常、ファイル又はディレクトリの削除が行われた場合、当該ファイル又は当該ディレクトリの本体又は実体は、完全には削除されず、無効であることを示す情報、すなわち、削除されたことを示す情報が、削除されたファイル又はディレクトリに関連付けられて記録される。したがって、ステップS109では、各ファイル又は各ディレクトリに関して、無効であることを示す情報が記録されているか否かに基づいて、各ファイル又は各ディレクトリの有効性が判定される。
【0056】
例えば、無効であるファイル又はディレクトリには、当該ファイル又は当該ディレクトリに対応するディレクトリエントリ(図9)の先頭の1バイトに0xE5が記録される。したがって、有効性判定部23は、各ファイル又は各ディレクトリに対応するディレクトリエントリの先頭の1バイトを参照することにより、それぞれの有効性を判定する。なお、各ファイル又は各ディレクトリのディレクトリエントリは、ルートディレクトリエントリに記憶されているディレクトリエントリに基づいて、ディレクトリ構造を辿ることにより、取得することができる。このような、各ファイル又は各ディレクトリのディレクトリエントリを取得するための処理は、OSによって行われている公知の手順であるため、その詳細については省略する。
【0057】
続いて、バックアップ送信部24は、対象サーバ20のバードディスクの記憶内容をセクタ単位で示すセクタ情報を、情報管理サーバ10に送信する(S110)。上記したように、セクタ情報には、当該セクタのセクタ番号と、当該セクタ内に記憶されているデータとが含まれる。
【0058】
図12は、セクタ情報の転送の様子の一例を示す図である。図12では、セクタ番号と、セクタ内に記憶されているデータとを含むセクタ情報が、セクタ単位で(セクタごとに)転送される様子が示されている。
【0059】
セクタ情報の送信に際し、バックアップ送信部24は、各パーティションのデータ領域に属するセクタに関しては、送信対象を、有効なファイル又は有効なディレクトリに割り当てられているセクタに限定する。有効なファイル又は有効なディレクトリに割り当てられているセクタは、次のように特定することができる。すなわち、有効なファイル又は有効なディレクトリのディレクトリエントリ(図9)の先頭クラスタ番号を参照することにより、当該ファイル又はディレクトリの先頭のクラスタ番号を特定する。続いて、先頭のクラスタ番号に対してFATに対応付けられているクラスタ番号を芋づる式に取得することにより、当該ファイル又はディレクトリに割り当てられている全てのクラスタ番号を特定する。続いて、当該クラスタ番号に係るクラスタに含まれるセクタのセクタ番号を、公知の方法によって特定することにより、有効なファイル又は有効なディレクトリに割り当てられているセクタを特定することができる。
【0060】
送信対象のセクタ情報を、有効なファイル又は有効なディレクトリに割り当てられているセクタに係るセクタ情報に限定することにより、ハードディスクからのデータの読み込み時間の短縮や、バックアップのためのデータの転送時間の短縮等を期待することができる。
【0061】
情報管理サーバ10のバックアップ受信部13は、受信されたセクタ情報を格納したファイルを補助記憶装置102に保存する(S111)。当該ファイルを、以下、「バックアップファイル」という。一つのセクタ情報の受信及び保存が完了すると、バックアップ受信部13は、保存の完了を示す応答をバックアップ送信部24に送信する(S112)。
【0062】
ステップS110〜S112は、送信対象となる全てのセクタに関して転送が完了するまで繰り返し実行される。ステップS110〜S112の繰り返しの過程において、情報管理サーバ10のバックアップ受信部13は、受信されたセクタ情報を、その受信順に4つのバックファイルに分散して保存する。
【0063】
図13は、セクタ情報のバックアップファイルへの保存の様子の一例を示す図である。本実施の形態では、4つのバックファイルのファイル名を、backupfile0〜3とする。backupfile0には、受信された順番の4の剰余が0であるセクタ情報が格納される。backupfile1には、受信された順番の4の剰余が1であるセクタ情報が格納される。backupfile2には、受信された順番の4の剰余が2であるセクタ情報が格納される。backupfile3には、受信された順番の4の剰余が3であるセクタ情報が格納される。
【0064】
図14は、バックアップファイルの例を示す図である。図14には、backupfile0〜3の4つのバックファイルについて、格納されている情報の一例が示されている。各バックアップファイルには、セクタ単位に、セクタ番号とデータとを含むセクタ情報が格納されている。
【0065】
なお、バックアップファイルの数は、必ずしも4つでなくてもよい。
【0066】
送信対象となる全てのセクタに関してセクタ情報の転送が完了すると、情報管理サーバ10の補助記憶装置102には、例えば、図15に示されるようなデータ構造によって、対象サーバ20のバックアップデータが記憶される。
【0067】
図15は、バックアップデータのデータ構造の一例を示す図である。図15では、バックアップデータ格納領域ルートディレクトリの下に、バックアップ処理ごとに、backupXXXという名前のディレクトリが生成されることが示されている。backupXXXの「XXX」には、例えば、対象サーバ20の識別情報や、バックアップ処理が実行された日時等が含まれる。
【0068】
backupXXXディレクトリの下には、当該バックアップ処理に係るバックアップファイル及びデータインデックス(dataindex.txt)が保存される。
【0069】
なお、送信対象となる全てのセクタに関してセクタ情報の保存が完了すると、命令受付部11は、バックアップ処理の完了を示すメッセージ等を、表示装置106に表示させる(S113)。
【0070】
続いて、情報管理サーバ10にバックアップされたバックアップデータのリストア処理について説明する。図16は、リストア処理の処理手順の一例を説明するためのシーケンス図である。
【0071】
ステップS201において、情報管理サーバ10の命令受付部11は、例えば、入力装置107を介して、リストア実施命令の入力をユーザより受け付ける。リストア実施命令は、ネットワークを介して受信されてもよい。リストア実施命令には、例えば、リストア先の対象サーバ20の識別情報等を含む。
【0072】
続いて、欠番検出部14は、リストア実施命令に指定された対象サーバ20の識別情報に対応するbackupXXXディレクトリに格納されている、バックアップファイル及びデータインデックス等を解析して、欠番のセクタ番号を検出又は特定する(S202)。欠番のセクタ番号とは、バックアップデータにおいて、当該セクタ番号が欠けていることにより、セクタ番号に不連続を発生させているセクタ番号をいう。例えば、4つのバックアップファイルに格納されているセクタ番号を昇順に並べた場合に、1、2、4、5・・・である場合、3が欠番のセクタ番号である。すなわち、欠番のセクタ番号は、例えば、4つのバックアップファイルに格納されているセクタ番号を昇順又は降順に整列する(ソートする)ことにより、検出することができる。
【0073】
図17は、欠番のセクタ番号の検出の様子の一例を示す図である。図17では、4つのバックアップファイル及びデータインデックス等を解析することにより、欠番が検出されている例が示されている。すなわち、図17のセクタ番号の分布において、網掛けが施されていない部分が、欠番を示す。なお、本実施の形態では、対象サーバ20の各パーティションのデータ領域に関して、有効なファイル又は有効なディレクトリに割り当てられているセクタにバックアップの対象が限定されているため、セクタ番号の欠番が発生する可能性が高い。
【0074】
続いて、セクタ番号変更部15は、有効なセクタ番号を欠番となっているセクタ番号に変更することにより、セクタ番号の不連続を解消する(S203)。具体的には、バックアップファイルにおける一部のセクタ番号が欠番のセクタ番号に変更される。例えば、変更前のセクタ番号が、「1、2、4、5」である場合、5が3に変更されて「1、2、3,4」とされる。
【0075】
続いて、ブート指示部12は、例えば、補助記憶装置102に記憶されているブートイメージを対象サーバ20に送信し、対象サーバ20をネットワークブートによって起動させる(S204)。対象サーバ20は、ネットワークブートによる起動が完了すると、その完了を示す応答を情報管理サーバ10に返信する(S205)。
【0076】
続いて、対象サーバ20のリストア受信部25は、バックアップデータの受信用の4つのプロセスa、b、c、及びdを起動し、情報管理サーバ10からのバックアップデータの受信を待機する(S207)。
【0077】
一方、情報管理サーバ10のリストア送信部16は、ネットワークブートによる起動の完了を示す応答が受信されると、バックアップデータの送信用の4つのプロセスA、B、C、及びDを起動する(S208)。
【0078】
図18は、情報管理サーバ及び対象サーバにおけるプロセスの起動の様子の一例を示す図である。
【0079】
図18では、対象サーバ20において、プロセスa、b、c、及びdの4つのプロセスが起動された状態が示されている。また、情報管理サーバ10において、プロセスA、B、C、及びDの4つのプロセスが起動された状態が示されている。すなわち、対象サーバ20と情報管理サーバ10とでは、同数のプロセスが起動される。
【0080】
なお、対象サーバ20及び情報管理サーバ10において起動されるプロセスの数は、例えば、バックアップファイルの数に一致する。すなわち、本実施の形態では、バックアップファイルが4つ生成されるため、それぞれに対応する4つのプロセスが起動される。したがって、バックアップファイルの数が4つ以外である場合、ステップS207及びS208では、当該バックアップファイルの数に応じた数のプロセスが起動されればよい。
【0081】
但し、対象サーバ20及び情報管理サーバ10において起動されるプロセスの数は、必ずしも、バックアップファイルの数に一致していなくてもよい。例えば、対象サーバ20及び情報管理サーバ10において、2つのプロセスが起動され、各プロセスは、相互に異なる2つのバックアップファイルに関する転送を担当してもよい。
【0082】
続いて、情報管理サーバ10のプロセスA〜Dは、並列的に、各プロセスに対応するバックアップファイルに格納されているセクタ情報を、対象サーバ20におけるプロセスa〜dに送信する(S208)。
【0083】
図19は、4つのプロセス間でセクタ情報が並列的に転送される様子の一例を示す図である。
【0084】
例えば、プロセスAは、backupfile0に格納されているセクタ情報を、プロセスaが開設しているポート宛に送信する。また、プロセスBは、backupfile1に格納されているセクタ情報を、プロセスbが開設しているポート宛に送信する。プロセスCは、backupfile2に格納されているセクタ情報を、プロセスcが開設しているポート宛に送信する。プロセスDは、backupfile3に格納されているセクタ情報を、プロセスdが開設しているポート宛に送信する。
【0085】
対象サーバ20のプロセスa、b、c、及びdは、情報管理サーバ10から送信されたセクタ情報を受信すると、受信したセクタ情報に含まれているセクタ番号に係る、対象サーバ20のハードディスクのセクタに、受信したセクタ情報に含まれているデータを書き込む(S209)。続いて、プロセスa、b、c、及びdは、データの書き込みの完了を示す応答をプロセスA、B、C、又はDに返信する。(S210)。
【0086】
ステップS208〜S210は、リストア対象のパックアップファイルに格納されている全てのセクタ情報に関して転送が完了するまで繰り返し実行される。全てのセクタ情報に関して転送が完了すると、対象サーバ20の無効化部26は、書き込み対象とされなかったセクタのデータを無効化する。
【0087】
一方、情報管理サーバ10の、命令受付部11は、全てのセクタ情報に関して転送が完了すると、リストア処理の完了を示すメッセージ等を、表示装置106に表示させる(S211)。
【0088】
続いて、図16のステップS202及びS203の詳細について説明する。図20は、欠番のセクタ番号の検出及びセクタ番号の変更処理の処理手順の一例を説明するためのフローチャートである。
【0089】
ステップS301において、欠番検出部14は、リストア対象に係るデータインデックス(図11)を読み込む。続いて、欠番検出部14は、読み込んだデータインデックスのData情報d3を解析する(S302)。Data情報d3の解析により、パーティションの数、各パーティションのFAT領域の開始アドレス、ルートディレクトリエントリの開始アドレス、及びデータ領域の開始アドレスが特定される。
【0090】
続く、ステップS304以降は、パーティションごとに実行される(S303)。処理対象とされているパーティションを、以下、「対象パーティション」という。
【0091】
ステップS304において、欠番検出部14は、対象パーティションに関して、欠番のセクタ番号を検出し、欠番のリストを生成する。対象パーティションに関する欠番のセクタ番号の検出は、例えば、次のように実行することができる。
【0092】
まず、対象パーティションに属するセクタ番号を特定すべく、対象パーティションのルートディレクトリエントリの開始アドレスとしてのセクタ番号に係るセクタ情報が、バックアップファイルから取得され、当該セクタ情報に含まれているデータが解析される。その結果、対象パーティションのルートディレクトリの直下のディレクトリエントリ(図9)が取得される。当該ディレクトリエントリに基づいて、当該ルートディレクトリ下に存在するディレクトリ及びファイルのディレクトリエントリが芋づる式に取得される。続いて、取得された各ディレクトリエントリの先頭クラスタ番号と、対象パーティションのFATとに基づいて、対象パーティションの各ファイル又はディレクトリに割り当てられているクラスタが特定される。特定されたクラスタに属するセクタ番号が、対象パーティションに属するセクタである。なお、クラスタに属するセクタ番号は、公知の方法によって特定可能である。特定されたセクタ番号を、降順又は昇順に整列することにより、欠番のセクタ番号が検出される。
【0093】
続いて、セクタ番号変更部15は、ステップS306以降を、欠番のセクタ番号の数だけ繰り返す(S305)。以下、処理対象とされた欠番を「対象欠番」という。
【0094】
ステップS306において、セクタ番号変更部15は、対象欠番の直前のセクタ番号のセクタ(以下、「直前セクタ」という。)のデータを、バックアップファイルより取得する。例えば、対象欠番が4であれば、セクタ番号が3であるセクタのデータが、当該セクタ番号を含むバックアップファイルより取得される。
【0095】
続いて、セクタ番号変更部15は、取得されたデータを参照して、直前セクタが、ファイル又はディレクトリの終端であるか否かを判定する(S307)。すなわち、当該データに、ファイル又はディレクトリの終端を示す情報が含まれていれば、直前セクタは、ファイル又はディレクトリの終端であると判定される。
【0096】
直前セクタがファイル又はディレクトリの終端でない場合(S307でNo)、セクタ番号変更部15は、対象パーティションのFATに基づいて、直前セクタが属するクラスタの次のクラスタを特定し、特定されたクラスタの先頭のセクタのセクタ番号を特定する(S308)。直前セクタが属するクラスタの次のクラスタとは、直前セクタが属するクラスタと同一ファイルに割り当てられており、その割り当て順が、直前セクタが属するクラスタの次であるクラスタをいう。上記したように、2以上のクラスタに跨るファイルに関して、FATには、前のクラスタのクラスタ番号に対して、次のクラスタのクラスタ番号が対応付けられている。
【0097】
続いて、セクタ番号変更部15は、ステップS308において特定されたセクタ番号を含むバックアップファイルにおいて、当該セクタ番号を、欠番の値に書き換える(S309)。続いて、セクタ番号変更部15は、対象パーティションのFATにおいて、欠番に書き換えられたセクタ番号に対応するクラスタ番号を、欠番に変更後のクラスタ番号に書き換える(S310)。すなわち、FATに記録されている、クラスタ番号の対応関係が、ステップS309におけるセクタ番号の変更に整合するように変更される。なお、対象パーティションのFATは、バックアップファイルに格納されているセクタ情報のうち、対象パーティションのFAT領域の開始アドレスとしてのセクタ番号に係るセクタ情報のデータに含まれている。
【0098】
続いて、セクタ番号変更部15は、ステップS304において生成された欠番のリストを更新する(S311)。すなわち、欠番に書き換えられたセクタ番号が、新たな欠番として、当該リストに追加される。
【0099】
一方、直前セクタがファイル又はディレクトリの終端である場合(S307でYes)、セクタ番号の変更は行われない。この場合、当該ファイル又はディレクトリとは別のファイル又はディレクトリの先頭に割り当てられているセクタのセクタ番号が変更されることになる。そうすると、先頭のセクタ番号が変更されたファイル又はディレクトリに対するディレクトリエントリの先頭クラスタ番号の書き換え等も必要とされ、処理負荷が高くなるからである。但し、斯かる処理負荷が許容される場合、直前セクタがファイルの終端であるか否かを問わず、ステップS308〜S311が実行されてもよい。
【0100】
なお、図20の処理は、リストアの実行時に行われなくてもよい。例えば、情報管理サーバ10へのバックアップデータの保存後、任意のタイミングでバッチ的に行われてもよい。
【0101】
上述したように、本実施の形態によれば、バックアップ時及びリストア時におけるデータの転送は、セクタ単位で行われるため、ファイルシステムをデータへのアクセスに関してファイルシステムを経由する必要はない。したがって、ファイルシステムを経由することによるオーバーヘッドを抑制することができる。また、データ領域に属するセクタに関して、バックアップ対象は、有効なファイル又は有効なディレクトリに割り当てられているセクタに限定されるため、バックアップ時及びリストア時におけるデータの転送量等を削減することができる。上記の結果、バックアップ処理及びリストア処理の性能の向上(
処理の迅速化)を期待することができる。
【0102】
また、リストア時においては、欠番のセクタ番号が埋められた後にセクタ情報が転送される。したがって、対象サーバ20においては、連続したセクタに対して書き込める可能性を高めることができ、その結果として、リストア処理の性能の向上を期待することができる。また、リストア後におけるファイルへのアクセス速度の向上も期待することができる。
【0103】
また、セクタのサイズは、ファイルと異なり一定であるため、複数のプロセス間で並列的にリストアを行う場合、各プロセスの負荷を略均一化することができる。換言すれば、当該負荷の差を小さくすることができる。
【0104】
なお、リストア時においてバックアップデータの転送用に情報管理サーバ10及び対象サーバ20において起動されるプロセスは、複数でなくてもよい。この場合、バックアップ時において、バックアップファイルは、一つだけ生成されてもよい。但し、リストア時において、情報管理サーバ10及び対象サーバ20において複数のプロセスが起動され、複数のプロセス間において並列的にバックアップデータが転送されることにより、リストア処理の処理性能の向上を期待することができる。
【0105】
また、データインデックスは、必ずしも対象サーバ20において生成され、情報管理サーバ10に転送されなくてもよい。すなわち、データインデックスに含まれる情報は、情報管理サーバ10において、バックアップファイルより抽出されてもよい。バックアップファイルには、対象サーバ20のハードディスクに記憶されていたデータが記憶されている。したがって、情報管理サーバ10は、バックアップファイルに記憶されているデータを解析することにより、データインデックスに相当する情報を得ることができる。
【0106】
なお、本実施の形態において、情報管理サーバ10は、第二のコンピュータの一例である。対象サーバ20は、第一のコンピュータの一例である。有効性判定部21は、判定部の一例である。バックアップ送信部24は、第一の送信部の一例である。補助記憶装置102は、記憶部の一例である。
【0107】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0108】
以上の説明に関し、更に以下の項を開示する。
(付記1)
第一のコンピュータが、
バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている当該記憶媒体の記憶内容の構成情報に基づいて、前記記憶媒体においてファイル又はディレクトリが記憶されるデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定し、
前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信し、
前記第二のコンピュータが、
前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶部に記憶するデータ管理方法。
(付記2)
前記第二のコンピュータが、
前記記憶部に記憶されているセクタ番号のうち、欠番のセクタ番号を検出し、
前記記憶部に記憶されているセクタ番号のうち、前記欠番の直前のセクタ番号に係るセクタが割り当てられているファイルと同一のファイルに割り当てられているセクタのセクタ番号を、前記欠番のセクタ番号に変更し、
リストアの開始指示に応じ、前記第一のコンピュータに、前記記憶部に記憶されているセクタ番号と当該セクタ番号に関連付けられている前記データとを送信し、
前記第一のコンピュータが、
前記記憶媒体において、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを記録する付記1記載のデータ管理方法。
(付記3)
前記第二のコンピュータが前記記憶部に記憶する処理は、前記第一のコンピュータより送信された複数のセクタ番号と複数の前記データとを、複数のファイルに分散して保存し、
前記第二のコンピュータがセクタ番号と前記データとを送信する処理は、複数のプロセスを用いて、前記プロセス間で相互に異なる前記ファイルに保存されているセクタ番号と前記データとを並列的に前記第一のコンピュータに送信し、
前記第一のコンピュータが前記データを記録する処理は、前記第二のコンピュータと同数のプロセを用いて、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを並列的に記録する付記2記載のデータ管理方法。
(付記4)
バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている当該記憶媒体の記憶内容の構成情報に基づいて、前記記憶媒体においてファイル又はディレクトリが記憶されるデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定する判定部と、
前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信する第一の送信部とを有する第一のコンピュータと、
前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶する記憶部を有する第二のコンピュータとを含むデータ管理システム。
(付記5)
前記第二のコンピュータは、
前記記憶部に記憶されているセクタ番号のうち、欠番のセクタ番号を検出する検出部と、
前記記憶部に記憶されているセクタ番号のうち、前記欠番の直前のセクタ番号に係るセクタが割り当てられているファイルと同一のファイルに割り当てられているセクタのセクタ番号を、前記欠番のセクタ番号に変更する変更部と、
リストアの開始指示に応じ、前記第一のコンピュータに、前記記憶部に記憶されているセクタ番号と当該セクタ番号に関連付けられている前記データとを送信する第二の送信部とを有し、
前記第一のコンピュータは、
前記記憶媒体において、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを記録する記録部を有する付記4記載のデータ管理システム。
(付記6)
前記記憶部は、前記第一のコンピュータより送信された複数のセクタ番号と複数の前記データとを、複数のファイルに分散して保存し、
前記第二の送信部は、複数のプロセスを用いて、前記複数のプロセス間で相互に異なる前記ファイルに保存されているセクタ番号と前記データとを並列的に前記第一のコンピュータに送信し、
前記記録部は、前記第二の送信部と同数のプロセを用いて、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを並列的に記録する付記5記載のデータ管理システム。
【符号の説明】
【0109】
1 情報管理システム
10 情報管理サーバ
11 命令受付部
12 ブート指示部
13 バックアップ受信部
14 欠番検出部
15 セクタ番号変更部
16 リストア送信部
20 対象サーバ
21 解析部
22 データインデックス送信部
23 有効性判定部
24 バックアップ送信部
25 リストア受信部
26 無効化部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス

【特許請求の範囲】
【請求項1】
第一のコンピュータが、
バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている当該記憶媒体の記憶内容の構成情報に基づいて、前記記憶媒体においてファイル又はディレクトリが記憶されるデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定し、
前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信し、
前記第二のコンピュータが、
前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶部に記憶するデータ管理方法。
【請求項2】
前記第二のコンピュータが、
前記記憶部に記憶されているセクタ番号のうち、欠番のセクタ番号を検出し、
前記記憶部に記憶されているセクタ番号のうち、前記欠番の直前のセクタ番号に係るセクタが割り当てられているファイルと同一のファイルに割り当てられているセクタのセクタ番号を、前記欠番のセクタ番号に変更し、
リストアの開始指示に応じ、前記第一のコンピュータに、前記記憶部に記憶されているセクタ番号と当該セクタ番号に関連付けられている前記データとを送信し、
前記第一のコンピュータが、
前記記憶媒体において、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを記録する請求項1記載のデータ管理方法。
【請求項3】
前記第二のコンピュータが前記記憶部に記憶する処理は、前記第一のコンピュータより送信された複数のセクタ番号と複数の前記データとを、複数のファイルに分散して保存し、
前記第二のコンピュータがセクタ番号と前記データとを送信する処理は、複数のプロセスを用いて、前記プロセス間で相互に異なる前記ファイルに保存されているセクタ番号と前記データとを並列的に前記第一のコンピュータに送信し、
前記第一のコンピュータが前記データを記録する処理は、前記第二のコンピュータと同数のプロセを用いて、前記第二のコンピュータより送信されたセクタ番号に係るセクタに、当該セクタ番号と共に前記第二のコンピュータより送信された前記データを並列的に記録する請求項2記載のデータ管理方法。
【請求項4】
バックアップの開始指示に応じ、記憶媒体の所定のセクタに記憶されている当該記憶媒体の記憶内容の構成情報に基づいて、前記記憶媒体においてファイル又はディレクトリが記憶されるデータ領域に属するセクタのうち、有効なファイル又は有効なディレクトリに割り当てられているセクタを判定する判定部と、
前記記憶媒体のセクタごとに、セクタ番号と当該セクタに記憶されているデータとをネットワークを介して接続される第二のコンピュータに送信する際に、前記データ領域に属するセクタに関しては、有効なファイル又は有効なディレクトリに割り当てられているセクタのセクタ番号と当該セクタに記憶されているデータとを前記第二のコンピュータに送信する第一の送信部とを有する第一のコンピュータと、
前記第一のコンピュータより送信されたセクタ番号と前記データとを関連付けて記憶する記憶部を有する第二のコンピュータとを含むデータ管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−105342(P2013−105342A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−249160(P2011−249160)
【出願日】平成23年11月14日(2011.11.14)
【出願人】(000005223)富士通株式会社 (25,993)