JP2013156873A - Prediction program, prediction apparatus, and prediction method - Google Patents
Prediction program, prediction apparatus, and prediction method Download PDFInfo
- Publication number
- JP2013156873A JP2013156873A JP2012017519A JP2012017519A JP2013156873A JP 2013156873 A JP2013156873 A JP 2013156873A JP 2012017519 A JP2012017519 A JP 2012017519A JP 2012017519 A JP2012017519 A JP 2012017519A JP 2013156873 A JP2013156873 A JP 2013156873A
- Authority
- JP
- Japan
- Prior art keywords
- backup
- data
- virtual machine
- updated
- time
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は,データの差分バックアップに要する時間を予測する予測プログラム,予測装置および予測方法に関するものである。 The present invention relates to a prediction program, a prediction device, and a prediction method for predicting the time required for differential backup of data.
コンピュータシステムの運用において,データのバックアップが行われている。例えば,複数のバックアップ対象データがあるバックアップでは,ユーザが指定した順に,バックアップ対象データのバックアップが行われる。 Data backup is performed during the operation of a computer system. For example, in a backup having a plurality of backup target data, the backup target data is backed up in the order specified by the user.
データのバックアップは,システムの業務負荷が低くなる,またはシステムの稼動停止が可能となる夜間や休日などの限られた時間内に,実施されることも多い。このとき,バックアップ中に実行可能な時刻が過ぎてしまうと,バックアップが途中で終了して,不完全な状態のバックアップファイルが生成されてしまうことがある。 Data backup is often performed within a limited time, such as at night or on holidays, when the workload on the system is low or when the system can be shut down. At this time, if the executable time has passed during the backup, the backup may end in the middle and an incomplete backup file may be generated.
バックアップ対象データのすべてをバックアップするのではなく,前回のバックアップから今回のバックアップまでに更新されたデータ部分のみをバックアップする,差分バックアップの技術がある。限られた時間内でバックアップを行うためには,バックアップ対象データのすべてをバックアップするフルバックアップを行うよりも,比較的に短時間でバックアップを完了できる差分バックアップを行う方がよい。 There is a differential backup technology that does not back up all the data to be backed up, but backs up only the data portion updated from the previous backup to the current backup. In order to perform a backup within a limited time, it is better to perform a differential backup that can complete the backup in a relatively short time than to perform a full backup that backs up all of the data to be backed up.
なお,対象機器から,該対象機器のバックアップ履歴の情報と,該対象機器におけるファイルの更新履歴情報とを取得し,それらの情報に基づいて,該対象機器のファイルに対する緊急バックアップの優先順位を決定する技術が知られている。この技術におけるファイルの更新履歴情報は,ファイルの容量変化量や更新回数などである。また,パーソナルコンピュータにおける使用時間と更新データ量などの統計情報を元にバックアップ処理の設定値を自動更新することで,パーソナルコンピュータを使用中にデータのバックアップを実行する技術が知られている。また,ホストサーバにおいて,仮想マシンの稼動中でも,整合性が保たれた状態で仮想マシンをバックアップすることを可能とする技術が知られている。 The backup history information of the target device and the file update history information of the target device are acquired from the target device, and the priority order of the emergency backup for the file of the target device is determined based on the information. The technology to do is known. The file update history information in this technology includes the amount of change in the file capacity and the number of updates. There is also known a technique for performing data backup while using a personal computer by automatically updating backup processing setting values based on statistical information such as usage time and update data amount in the personal computer. In addition, a technology is known that enables a virtual machine to be backed up in a state in which consistency is maintained even when the virtual machine is running in the host server.
だだし,差分バックアップであっても,限られた時間内にすべてのバックアップ対象データのバックアップが終わらないケースもある。バックアップが途中で終了して不完全なバックアップファイルが生成されることを避けるためには,限られた時間内でバックアップを完了できるように,バックアップ対象データを選定する必要がある。そのためには,バックアップ対象データごとのバックアップの処理時間の見積りが可能となる技術が望まれる。 However, even with differential backup, there are cases where backup of all data to be backed up is not completed within a limited time. In order to avoid incomplete backup files being generated due to backup being completed, it is necessary to select data to be backed up so that the backup can be completed within a limited time. For this purpose, a technology that can estimate the backup processing time for each backup target data is desired.
一側面では,本発明は,差分バックアップ処理において,バックアップ対象データのバックアップ処理時間を見積ることが可能となる技術を提供することを目的とする。 In one aspect, an object of the present invention is to provide a technique capable of estimating the backup processing time of backup target data in differential backup processing.
1態様では,開示するプログラムは,コンピュータを,次のように機能させる。すなわち,前記プログラムは,前記プログラムがインストールされて実行されるコンピュータに,記憶装置に記憶されたバックアップ対象データについて,そのバックアップ対象データが所定のデータ単位に分割された分割データごとに更新が行われたか否かを示す更新情報を生成し,更新情報で更新が行われた旨が示された分割データの数に基づいて,バックアップ対象データについて,更新が行われた分割データの差分バックアップ処理に要する時間の予測値を算出する処理を実行させる。 In one aspect, the disclosed program causes a computer to function as follows. That is, the program is updated for each piece of divided data obtained by dividing the backup target data into predetermined data units for the backup target data stored in the storage device on the computer on which the program is installed and executed. Update information is generated to indicate whether or not the update has been performed, and based on the number of pieces of divided data indicated that the update information has been updated, it is necessary for differential backup processing of the divided data that has been updated for the backup target data A process for calculating a predicted value of time is executed.
1態様では,差分バックアップ処理において,バックアップ対象データのバックアップ処理時間を見積ることが可能となる。 In one mode, it is possible to estimate the backup processing time of the backup target data in the differential backup processing.
以下,本実施の形態について,図を用いて説明する。ここでは,仮想マシンシステムにおける仮想マシンのバックアップを例として,本実施の形態によるデータの差分バックアップを説明する。 Hereinafter, the present embodiment will be described with reference to the drawings. Here, a differential backup of data according to the present embodiment will be described by taking a backup of a virtual machine in a virtual machine system as an example.
図1は,本実施の形態による仮想マシンシステムの構成例を示す図である。 FIG. 1 is a diagram illustrating a configuration example of a virtual machine system according to the present embodiment.
仮想マシンシステムは,例えば,1台の物理マシン上で1または複数台の仮想マシンが動作するシステムである。図1に示す仮想マシンシステム1の例では,CPU(Central Processing Unit )11やメモリ12などの,コンピュータのハードウェア10の資源を利用して,#a,#b,#cの3台の仮想マシン40が動作している。
For example, the virtual machine system is a system in which one or a plurality of virtual machines operate on one physical machine. In the example of the
仮想マシンシステム1において,ハイパーバイザ20は,コンピュータのハードウェア10を利用した仮想化環境を実現するソフトウェアである。仮想マシン40は,ハイパーバイザ20上に構築可能である。
In the
ホストOS(Operating System)30は,仮想マシン40を管理するOSである。仮想マシンシステム1の管理者であるユーザは,ホストOS30から,仮想マシン40の新規作成,構成変更,削除等を行うことが可能である。
A host OS (Operating System) 30 is an OS that manages the
ホストOS30は,バックアップ機能部300を備える。バックアップ機能部300は,仮想マシンシステム1で動作する仮想マシン40のバックアップを行う。バックアップ機能部300は,例えば,ホストOS30上で動作するバックアップツールやフィルタドライバ等により実現される。
The host OS 30 includes a
図1に示す仮想マシンシステム1を実現するコンピュータは,例えば,CPU11,主記憶となるメモリ12,記憶装置13,通信装置14,媒体読取・書込装置15,入力装置16,出力装置17等のハードウェア10を備える。記憶装置13は,例えばHDD(Hard Disk Drive )等の外部記憶装置や,補助記憶装置などである。媒体読取・書込装置15は,例えばCD−R(Compact Disc Recordable )ドライブやDVD−R(Digital Versatile Disc Recordable )ドライブなどである。入力装置16は,例えばキーボード・マウスなどである。出力装置17は,例えばディスプレイ等の表示装置などである。
A computer that implements the
図1に示すハイパーバイザ20,各仮想マシン40,ホストOS30およびホストOS30が備えるバックアップ機能部300は,コンピュータが備えるCPU11,メモリ12等のハードウェア10と,ソフトウェアプログラムとによって実現することが可能である。コンピュータが実行可能なプログラムは,例えば,記憶装置13に記憶され,その実行時にメモリ12に読み出され,CPU11により実行される。
The
コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータは,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。 The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program. Furthermore, this program can be recorded on a computer-readable recording medium.
図2は,本実施の形態による仮想マシンのバックアップの例を説明する図である。 FIG. 2 is a diagram for explaining an example of backup of a virtual machine according to the present embodiment.
本実施の形態では,仮想マシン40は,ハードディスク等の記憶装置13に記憶されたVHD(Virtual Hard Disk )ファイル130を含む複数のファイルによって実現されるものとする。図2に示す例では,#aの仮想マシン40は,VHD#1のVHDファイル130と,VHD#2のVHDファイル130とを含む複数のファイルにより実現されている。また,#bの仮想マシン40は,VHD#3のVHDファイル130と,VHD#4のVHDファイル130とを含む複数のファイルにより実現されている。また,#cの仮想マシン40は,VHD#5のVHDファイル130を含む複数のファイルにより実現されている。
In this embodiment, the
VHDファイル130は,仮想的なハードディスクイメージのファイルである。記憶装置13に記憶されたVHDファイル130は,仮想マシン40における仮想ハードディスク41となる。仮想マシン40上での仮想ハードディスク41のデータ更新は,物理マシン上でのVHDファイル130のデータ更新となる。例えば,図2に示す例において,#aの仮想マシン40上で,VHD#1の仮想ハードディスク41のデータ更新が行われると,物理マシン上では,記憶装置13に記憶されたVHD#1のVHDファイル130のデータ更新が行われる。
The
仮想マシンシステム1において,ホストOS30からは,仮想マシン40はVHDファイル130を含むファイルの集まりに見える。ホストOS30のバックアップ機能部300は,仮想マシン40を実現するファイルをバックアップすることにより,仮想マシン40のバックアップを行う。すなわち,仮想マシン40のバックアップは,実際には仮想マシン40を構成するデータのバックアップとなる。
In the
データのバックアップには,フルバックアップと差分バックアップがある。フルバックアップでは,バックアップ対象データについて,すべてのデータのバックアップが行われる。例えば,仮想マシン40のフルバックアップでは,仮想マシン40を構成するすべてのデータのバックアップが行われる。差分バックアップでは,バックアップ対象データについて,前回のバックアップから今回のバックアップまでに更新されたデータ部分のみのバックアップが行われる。例えば,仮想マシン40の差分バックアップでは,該仮想マシン40に対応するVHDファイル130において,一部更新されたデータ部分のみのバックアップが行われる。
Data backup includes full backup and differential backup. In a full backup, all data is backed up for the backup target data. For example, in the full backup of the
仮想マシン40のバックアップにより得られたバックアップファイルは,例えば,障害発生時における仮想マシン40の復旧などに利用される。なお,差分バックアップは,データの一部のみのバックアップであるため,差分バックアップによるバックアップファイルのみでは,仮想マシン40の復旧は行えない。そのため,差分バックアップを行う場合には,それ以前に1度はフルバックアップが行われていることが前提となる。
The backup file obtained by backing up the
なお,図2に示す例では,バックアップファイルの格納先がVHDファイル130と同じ記憶装置13となっているが,バックアップファイルの格納先には,任意のストレージが設定可能である。例えば,ネットワークを介して外部のストレージにバックアップファイルを格納することも可能である。
In the example shown in FIG. 2, the backup file storage destination is the
一般に,バックアップ処理は,仮想マシンシステム1の業務負荷が低くなる,または仮想マシンシステム1の稼動停止が可能となる夜間や休日などの限られた時間内に実施される。バックアップ処理中に実行可能な時刻が過ぎてしまうと,バックアップ処理が途中で終了して,不完全な状態のバックアップファイルが生成されてしまう。限られた時間内でバックアップ処理を行うためには,フルバックアップを行うよりも短時間でバックアップ処理を完了できる差分バックアップを行う方がよい。
In general, the backup process is performed within a limited time such as a night or holiday when the work load of the
しかし,差分バックアップであっても,限られた時間内にすべてのバックアップ対象の仮想マシン40に対するバックアップ処理が終わらないケースもある。バックアップ処理が途中で終了して不完全なバックアップファイルが生成されることを避けるためには,限られた時間内でバックアップ処理を完了できるように,バックアップを行う仮想マシン40を選定する必要がある。そのためには,バックアップ対象の仮想マシン40ごとのバックアップの処理時間を見積もる必要がある。
However, even with differential backup, there are cases where backup processing for all
本実施の形態では,ホストOS30のバックアップ機能部300が,バックアップ対象の仮想マシン40ごとに差分バックアップ処理に要する時間を見積り,指定された時間内に処理が終わるように,バックアップを行う仮想マシン40を選定する。
In this embodiment, the
より具体的には,本実施の形態では,ホストOS30のバックアップ機能部300が,記憶装置13に記憶されたVHDファイル130へのアクセスを監視する。本実施の形態の例では,仮想マシン40の差分バックアップにおいて,特に,VHDファイル130の更新された一部データについての差分バックアップが行われ,差分バックアップのバックアップファイルが生成されるものとする。VHDファイル130のデータが更新された場合には,バックアップ機能部300は,データが更新されたVHDファイル130について,データ更新が行われたセクタの情報を取得し,取得されたセクタの情報を仮想マシン40ごとの更新情報に記録しておく。
More specifically, in the present embodiment, the
差分バックアップの実行時には,バックアップ機能部300は,更新情報に基づいて,バックアップ対象の仮想マシン40ごとに,前回のバックアップ処理以降にデータ更新が行われたセクタの数から,差分バックアップの処理に要する時間を見積る。バックアップ機能部300は,バックアップ対象の仮想マシン40ごとの差分バックアップの処理に要する時間の見積り結果から,指定された時間内に処理が終わるように,バックアップを行う仮想マシン40を選定する。バックアップ機能部300は,選定された仮想マシン40の差分バックアップを実行する。
At the time of executing differential backup, the
図3は,本実施の形態によるバックアップ機能部の機能構成例を示す図である。 FIG. 3 is a diagram illustrating a functional configuration example of the backup function unit according to the present embodiment.
バックアップ機能部300は,生成部310,算出部320,判断部330,実行部340,対応情報記憶部350,バックアップ速度情報記憶部360,時間指定情報記憶部370,更新情報記憶部380を備える。
The
生成部310は,記憶装置13に記憶されたバックアップ対象データについて,そのバックアップ対象データが所定のデータ単位に分割された分割データごとに更新が行われたか否かを示す更新情報を生成する。
The
本実施の形態の例において,記憶装置13に記憶されたバックアップ対象データは,バックアップ対象の仮想マシン40を構成するデータである。本実施の形態の例では,仮想マシン40の差分バックアップにおいて,特にVHDファイル130の差分バックアップを行うので,VHDファイル130がバックアップ対象データとなる。また,本実施の形態の例において,差分バックアップは1セクタ単位で行われるものとし,所定のデータ単位は1セクタであるものとする。本実施の形態の例では,所定のデータ単位に分割された分割データは,1セクタ分のデータとなる。なお所定のデータ単位は,必ずしもセクタ単位である必要はなく,例えば所定の複数セクタのブロック単位で差分バックアップが行われる場合にブロック単位を所定のデータ単位とするなどの設計は,任意である。
In the example of this embodiment, the backup target data stored in the
本実施の形態の例において,生成部310は,記憶装置13に記憶されたVHDファイル130へのアクセスを監視する。VHDファイル130の更新があった場合に,生成部310は,VHDファイル130におけるデータ更新が行われたセクタの情報を取得する。生成部310は,データ更新が行われたセクタの情報を更新情報記憶部380の更新情報に記録する。本実施の形態による生成部310は,例えば,ホストOS30にインストールされるフィルタドライバ等により実現可能である。
In the example of the present embodiment, the
更新情報記憶部380は,更新情報を記憶する記憶部である。更新情報記憶部380は,例えばホストOS30に割り当てられるメモリ12の領域などにより,実現可能である。
The update
本実施の形態の例では,更新情報は,仮想マシン40ごとに分けて用意される。VHDファイル130の更新があった場合には,生成部310は,対応情報記憶部350に記憶された対応情報を参照し,更新が行われたVHDファイル130に対応する仮想マシン40を特定する。生成部310は,更新が行われたVHDファイル130に対応する仮想マシン40の更新情報に,データの更新が行われたセクタの情報を記録する。
In the example of the present embodiment, the update information is prepared separately for each
対応情報記憶部350は,対応情報を記憶する記憶部である。対応情報は,仮想マシン40とVHDファイル130との対応が記録された情報である。対応情報記憶部350は,例えばホストOS30のレジストリなどにより実現可能である。
The correspondence
算出部320は,更新情報記憶部380に記憶された更新情報で更新が行われた旨が示された分割データの数に基づいて,バックアップ対象データについて,更新が行われた分割データの差分バックアップ処理に要する時間の予測値を算出する。
Based on the number of pieces of divided data indicated that the update has been performed with the update information stored in the update
本実施の形態の例において,算出部320は,更新情報記憶部380に記憶された更新情報で更新が行われた旨が示されたセクタの数に基づいて,仮想マシン40ごとに,更新が行われたセクタの差分バックアップ処理に要する時間の予測値を算出する。より具体的には,算出部320は,仮想マシン40ごとに,更新が行われたセクタの数から,更新されたデータ量を算出する。算出部320は,バックアップ速度情報記憶部360に記憶されたバックアップ速度情報を参照し,仮想マシン40ごとに,更新されたデータ量とバックアップ速度とから,差分バックアップ処理に要する時間の予測値を算出する。
In the example of the present embodiment, the
バックアップ速度情報記憶部360は,バックアップ速度情報を記憶する記憶部である。バックアップ速度情報は,データのバックアップ速度が記録された情報である。バックアップ速度情報記憶部360は,例えばホストOS30のレジストリなどにより実現可能である。
The backup speed
判断部330は,算出された差分バックアップ処理に要する時間の予測値を用いて,1または複数のバックアップ対象データについての差分バックアップの処理時間が,特定の時間内に収まるかどうかを判断する。
The
本実施の形態の例において,判断部330は,各仮想マシン40の差分バックアップ処理時間の予測値を用いて,時間指定情報記憶部370に記憶された時間指定情報で指定された時間内に処理が終了するように,差分バックアップを行う仮想マシン40を選定する。このとき,判断部330は,例えば,所定の優先順に1または複数の仮想マシン40を選択し,選択された仮想マシン40についての差分バックアップの処理時間が,指定された時間内に収まるかどうかを判断する。
In the example of the present embodiment, the
時間指定情報記憶部370は,時間指定情報を記憶する記憶部である。時間指定情報は,ユーザにより指定された時間が記録された情報である。時間指定情報記憶部370は,例えばホストOS30のレジストリなどにより実現可能である。
The time designation
本実施の形態によるバックアップ機能部300において,生成部310,算出部320,判断部330は,バックアップ対象データに対する差分バックアップ処理に要する時間を予測し,その処理時間が特定の時間内に収まるかを判断する予測部301となる。
In the
実行部340は,予測部301によって,差分バックアップ処理に要する時間が特定の時間内に収まると判断された,1または複数のバックアップ対象データの差分バックアップ処理を実行する。
The
本実施の形態の例において,実行部340は,仮想マシン40の差分バックアップを実行する。差分バックアップが実行される仮想マシン40は,予測部301によって,指定され時間内に処理が終了すると判断されて選定された1または複数の仮想マシン40である。本実施の形態による算出部320,判断部330,実行部340は,例えば,ホストOS30にインストールされるバックアップツール等により実現可能である。
In the example of this embodiment, the
以下,本実施の形態による仮想マシン40の差分バックアップについて,より具体的な例を挙げて説明する。
Hereinafter, the differential backup of the
図2に示す仮想マシンシステム1において,各仮想マシン40の動作中には,ホストOS30のバックアップ機能部300の生成部310が,記憶装置13に記憶された各VHDファイル130に対するアクセスを監視する。なお,生成部310を実現するプログラムは,ホストOS30の起動時に稼動状態となり,各仮想マシン40の起動より前に動作しているものとする。
In the
いずれかのVHDファイル130のデータが更新された場合,生成部310は,記憶装置13におけるデータが更新されたセクタの情報を取得する。ここでは,データが更新されたセクタの情報として,更新されたデータの開始位置のセクタ番号と,終了位置のセクタ番号とが取得されるものとする。生成部310は,取得されたセクタの情報を,更新情報記憶部380の更新情報に記録する。
When the data of any
図4は,本実施の形態による更新データの例を示す図である。 FIG. 4 is a diagram illustrating an example of update data according to the present embodiment.
図4に示す各更新データ385は,更新情報記憶部380に記憶される更新情報の一例である。図4(A)に示す更新データ385aは,図2に示す#aの仮想マシン40についての更新データ385の例である。図4(B)に示す更新データ385bは,図2に示す#bの仮想マシン40についての更新データ385の例である。図4(C)に示す更新データ385cは,図2に示す#cの仮想マシン40についての更新データ385の例である。
Each update data 385 illustrated in FIG. 4 is an example of update information stored in the update
図4に示す各更新データ385は,セクタ開始位置,セクタ終了位置,VHD名の情報を持つ。セクタ開始位置,セクタ終了位置は,それぞれ更新されたデータの記憶装置13上での開始位置のセクタ番号,終了位置のセクタ番号を示す。VHD名は,データが更新されたVHDファイル130の名称を示す。
Each update data 385 shown in FIG. 4 has information of a sector start position, a sector end position, and a VHD name. The sector start position and sector end position indicate the sector number of the start position and the sector number of the end position on the
図4に示す各更新データ385のレコードでは,セクタ開始位置からセクタ終了位置までのセクタのデータが更新されたことが示されている。例えば,図4(A)に示す#aの仮想マシン40の更新データ385aの最初のレコードでは,VHD#1のVHDファイル130のデータであって,セクタ番号001からセクタ番号008までのデータが更新されたことが示されている。
The record of each update data 385 shown in FIG. 4 indicates that the sector data from the sector start position to the sector end position has been updated. For example, in the first record of the
図4に示す更新データ385の例では,仮想マシン40ごとに,更新データ385が管理されている。生成部310は,対応情報記憶部350に記憶された対応情報を参照して,データが更新されたVHDファイル130に対応する仮想マシン40を特定し,特定された仮想マシン40の更新データ385に対するセクタ情報の記録を行う。
In the example of the update data 385 illustrated in FIG. 4, the update data 385 is managed for each
図5は,本実施の形態による対応データの例を示す図である。 FIG. 5 is a diagram showing an example of correspondence data according to the present embodiment.
図5に示す対応データ355は,対応情報記憶部350に記憶される対応情報の一例である。図5に示す対応データ355には,図2に示す各仮想マシン40と,各VHDファイル130との対応が記録されている。
The
図5に示す対応データ355は,仮想マシン名,VHD名(#1,#2)の情報を持つ。仮想マシン名は,仮想マシン40の識別情報である。VHD名は,VHDファイル130の識別情報である。
The
なお,ここでは,生成部310は,データ更新があったVHDファイル130から対応する仮想マシン40を特定して,仮想マシン40ごとに分けて更新データ385への記録を行っているが,仮想マシン40ごとに分けずにまとめて1つの更新データ385への記録を行うようにしてもよい。このとき,例えば,後に算出部320が仮想マシン40ごとに更新セクタ数を求める際に,図5に示す対応データ355を参照して,更新データ385に記録されたセクタの情報を仮想マシン40ごとに分けて,それぞれの仮想マシン40の更新セクタ数を求めるようにすればよい。
Here, the
ここで,ホストOS30において,バックアップ処理が開始されるものとする。バックアップ処理は,例えば,夜間などの特定の時間に自動的に起動されてもよいし,ホストOS30を操作するユーザの指示により起動されてもよい。
Here, it is assumed that backup processing is started in the
バックアップ処理が開始されると,バックアップ機能部300の算出部320は,各仮想マシン40の更新データ385から,仮想マシン40ごとに,過去の最後のバックアップ処理以降にデータの更新があったセクタの数を求める。
When the backup process is started, the
図6は,本実施の形態による更新セクタ数の算出を説明する図である。 FIG. 6 is a diagram for explaining the calculation of the number of update sectors according to the present embodiment.
図6において,各マスは1セクタを表す。マスの上に記載された数値は,セクタ番号を示す。図6に示すセクタの近辺において,更新データ385には,(1)に示すデータ更新と(2)に示すデータ更新の記録があったものとする。図6において,塗り潰しがあるマスは,過去の最後のバックアップ以降にデータ更新が行われたセクタを示している。 In FIG. 6, each square represents one sector. The numerical value written on the square indicates the sector number. In the vicinity of the sector shown in FIG. 6, it is assumed that the update data 385 includes the data update shown in (1) and the data update shown in (2). In FIG. 6, the filled cells indicate sectors in which data has been updated since the last backup in the past.
図6に示すように,(1)に示すデータ更新と(2)に示すデータ更新とでは,セクタ番号025〜027のデータ更新が重複している。(1)に示すデータ更新と(2)に示すデータ更新とでセクタ数を別々にカウントすると,セクタ番号025〜027のセクタが2回ずつカウントされ,正確な差分バックアップ処理時間の予測ができない。算出部320は,同一セクタに対する複数回の更新があっても,更新があったセクタ数は1とカウントする。
As shown in FIG. 6, in the data update shown in (1) and the data update shown in (2), the data updates of
算出部320は,仮想マシン40ごとに,求めたセクタの数から,差分バックアップ処理に要する時間の予測値を算出する。ここでは,差分バックアップ処理に要する時間の予測値を,見積もり時間と呼ぶものとする。
The
図7は,本実施の形態による見積もり時間の算出を説明する図である。 FIG. 7 is a diagram illustrating calculation of estimated time according to the present embodiment.
図7において,Na ,Nb ,Nc は,仮想マシン40ごとに求められた,データが更新されたセクタの数である。1セクタあたりのデータ量をDs 〔GB〕とすると,各仮想マシン40について更新されたデータ量Da 〔GB〕,Db 〔GB〕,Dc 〔GB〕は,それぞれ,
Da =Na ×Ds
Db =Nb ×Ds
Dc =Nc ×Ds
と求められる。各仮想マシン40についてのバックアップ速度をそれぞれVa 〔GB/分〕,Vb 〔GB/分〕,Vc 〔GB/分〕とすると,各仮想マシン40についての見積もり時間Ta 〔分〕,Tb 〔分〕,Tc 〔分〕は,それぞれ,
Ta =Da /Va
Tb =Db /Vb
Tc =Dc /Vc
と求められる。なお,各仮想マシン40についてのバックアップ速度Va ,Vb ,Vc は,バックアップ速度情報記憶部360のバックアップ速度情報から得られる。
In FIG. 7, N a , N b , and N c are the numbers of sectors in which data is updated, which are obtained for each
D a = N a × D s
D b = N b × D s
D c = N c × D s
Is required. Assuming that the backup speed for each
T a = D a / V a
T b = D b / V b
T c = D c / V c
Is required. Note that the backup speeds V a , V b , and V c for each
図8は,本実施の形態によるバックアップ速度データの例を示す図である。 FIG. 8 is a diagram showing an example of backup speed data according to the present embodiment.
図8に示すバックアップ速度データ365は,バックアップ速度情報記憶部360に記憶されたバックアップ速度情報の一例である。図8に示すバックアップ速度データ365には,図2に示す各仮想マシン40について,過去のフルバックアップ時のバックアップ速度が記録されている。
The
図8に示すバックアップ速度データ365は,仮想マシン名,バックアップ時間,データ量,バックアップ速度の情報を持つ。仮想マシン名は,仮想マシン40の識別情報である。バックアップ時間は,該当仮想マシン40を構成するデータのフルバックアップに要した時間である。データ量は,フルバックアップ実行時における該当仮想マシン40を構成する全データのデータ量である。バックアップ速度は,バックアップ時間とデータ量とから求められたデータをバックアップする速度である。
The
例えば,図8に示すように,過去のフルバックアップ実行時において,#aの仮想マシン40のデータ量がDaFULL 〔GB〕で,バックアップ時間がTaFULL 〔分〕であったものとする。このときの#aの仮想マシン40のバックアップ速度Va 〔GB/分〕は,
Va =DaFULL /TaFULL
で求められる。#b,#cの仮想マシン40のバックアップ速度Vb ,Vc についても同様に求めることができる。このように,過去のフルバックアップ時のバックアップ時間とデータ量とから,バックアップ速度を得ることができる。
For example, as shown in FIG. 8, it is assumed that the data amount of the
V a = D aFULL / T aFULL
Is required. The backup speeds V b and V c of the
なお,図8に示すバックアップ速度データ365の例では,過去のフルバックアップ時のバックアップ速度が記録されているが,記録されるバックアップ速度が,過去の差分バックアップ時のバックアップ速度であってもよい。また,図8に示すバックアップ速度データ365の例では,仮想マシン40ごとのバックアップ速度が記録されているが,記録されるバックアップ速度が,全仮想マシン40のバックアップ速度であってもよい。全仮想マシン40のバックアップ速度Vは,例えば,
V=(DaFULL +DbFULL +DcFULL )/(TaFULL +TbFULL +TcFULL )
で求められる。このとき,各仮想マシン40についての見積もり時間Ta ,Tb ,Tc は,それぞれ,
Ta =Da /V
Tb =Db /V
Tc =Dc /V
と求められる。
In the example of the
V = (D aFULL + D bFULL + D cFULL ) / (T aFULL + T bFULL + T cFULL )
Is required. At this time, the estimated times T a , T b , and T c for each
T a = D a / V
T b = D b / V
T c = D c / V
Is required.
判断部330は,算出した見積もり時間をもとに,指定された時間内に収まるように,差分バックアップを実行する仮想マシン40を選定する。このとき,判断部330は,時間指定情報記憶部370に記憶された時間指定情報から,差分バックアップ処理に費やすことが可能な時間として指定された時間を取得する。なお,バックアップ処理の実行時に,ホストOS30を操作するユーザが,差分バックアップ処理に費やすことが可能な時間を入力して指定するようにしてもよい。
Based on the calculated estimated time, the
図9は,本実施の形態による時間指定データの例を示す図である。 FIG. 9 is a diagram showing an example of time designation data according to the present embodiment.
図9に示す時間指定データ375は,時間指定情報記憶部370に記憶された時間指定情報の一例である。図9に示す時間指定データ375は,指定バックアップ時間の情報を持つ。指定バックアップ時間は,差分バックアップ処理に費やす時間の制限値を示す。例えば,図9に示す時間指定データ375では,Tth分以内に処理が終了するように,差分バックアップ処理に費やすことが可能な時間が指定されている。
The
なお,時間指定情報で指定される時間が,差分バックアップ処理に費やす時間の制限値ではなく,差分バックアップ処理の終了時刻の制限値であってもよい。このとき,差分バックアップ処理に費やすことが可能な時間は,差分バックアップ開始時の時刻と,指定された差分バックアップ処理の終了時刻とから求めることができる。 Note that the time specified in the time specification information may be the limit value of the end time of the differential backup process instead of the limit value of the time spent for the differential backup process. At this time, the time that can be spent for the differential backup process can be obtained from the time when the differential backup is started and the end time of the specified differential backup process.
図10は,本実施の形態による差分バックアップ処理を実行する仮想マシンの選定を説明する図である。 FIG. 10 is a diagram for explaining selection of a virtual machine that executes differential backup processing according to the present embodiment.
判断部330は,仮想マシン40に,差分バックアップ実行の優先順位をつける。優先順は,例えば,見積もり時間が多い順や,過去の最後のバックアップが古い順,ユーザに指定された順など,任意の設計が可能である。ここでは,差分バックアップ実行の優先順を見積もり時間が多い順とする。図10に示す例では,見積もり時間が多い順が,#aの仮想マシン40の見積もり時間Ta ,#cの仮想マシン40の見積もり時間Tc ,#bの仮想マシン40の見積もり時間Tb となっている。
The
ここで,見積もり時間Ta ,Tc ,Tb と,時間指定データ375で指定された時間Tthとの関係が図10に示す通りであるものとする。このとき,判断部330は,例えば,#a,#c,#bの全仮想マシン40の差分バックアップの処理時間Ta +Tc +Tb が,指定された時間Tth内に収まらないと判断する。また,判断部330は,例えば,#aの仮想マシン40と#cの仮想マシン40との差分バックアップの処理時間Ta +Tc が,指定された時間Tth内に収まると判断する。これらの判断から,判断部330は,差分バックアップを実行する仮想マシン40として,#aの仮想マシン40と#cの仮想マシン40とを選定する。
Here, it is assumed that the relationship between the estimated times T a , T c and T b and the time T th specified by the
実行部340は,選定された仮想マシン40の差分バックアップを,優先順に従って実行する。実行部340は,選定された仮想マシン40をシャットダウンし,シャットダウンした仮想マシン40のVHDファイル130をマウントする。実行部340は,選定された仮想マシン40の更新データ385を参照して,データ更新されたセクタのデータをバックアップしたバックアップファイルを生成する。実行部340は,バックアップ終了後,VHDファイル130をアンマウントする。また,実行部340は,バックアップが終了した仮想マシン40の更新データ385をクリアする。
The
ここでは,仮想マシン40をシャットダウンしてバックアップを実行しているが,仮想マシン40をシャットダウンせずにバックアップを実行するようにしてもよい。仮想マシン40をシャットダウンせずにバックアップを実行する技術は,周知である。
Here, the
なお,更新データ385が揮発性のメモリ12に記憶されている場合,障害等によりホストOS30がダウンした際には,その更新データ385が消えてしまう。このとき,ホストOS30の再起動後に,全仮想マシン40のフルバックアップを実行する。また,メンテナンス等によりホストOS30を停止する際には,ホストOS30の停止前に,揮発性のメモリ12上の更新データ385を,ハードディスク等の記憶装置13に退避する。このとき,ホストOS30の再起動後に,記憶装置13に退避した更新データ385をメモリ12に読み込む。
When the update data 385 is stored in the
以下,本実施の形態のバックアップ機能部300による更新監視処理やバックアップ処理の流れを,フローチャートを用いて説明する。
Hereinafter, the flow of update monitoring processing and backup processing by the
図11は,本実施の形態のバックアップ機能部による更新監視処理フローチャートである。 FIG. 11 is a flowchart of the update monitoring process performed by the backup function unit according to this embodiment.
ホストOS30のバックアップ機能部300において,生成部310は,記憶装置13に記憶された各VHDファイル130に対するアクセスを監視する(ステップS10)。生成部310は,VHDファイル130のデータが更新されたかを判定する(ステップS11)。
In the
VHDファイル130のデータが更新されれば(ステップS11のYES),生成部310は,データが更新されたセクタの情報を取得する(ステップS12)。生成部310は,対応データ355を参照し,データが更新されたVHDファイル130に対応する仮想マシン40の更新データ385に,取得されたセクタの情報を記録する(ステップS13)。生成部310は,ステップS10の処理に戻って,VHDファイル130へのアクセスの監視を続ける。
If the data in the
図12は,本実施の形態のバックアップ機能部によるバックアップ処理フローチャートである。 FIG. 12 is a flowchart of backup processing by the backup function unit of this embodiment.
ホストOS30のバックアップ機能部300において,算出部320は,バックアップ対象の仮想マシン40ごとに,更新データ385を参照して,データが更新されたセクタの数を求める(ステップS20)。算出部320は,仮想マシン40ごとに,データが更新されたセクタの数から更新されたデータ量を求め,バックアップ速度データ365を参照して,更新されたデータ量とバックアップ速度とから見積もり時間を算出する(ステップS21)。
In the
判断部330は,各仮想マシン40の見積もり時間から,時間指定データ375で指定された時間内に差分バックアップ処理が実行可能と判断される仮想マシン40を選定する(ステップS22)。
Based on the estimated time of each
実行部340は,選定された仮想マシン40を,優先順に1つ選択する(ステップS23)。実行部340は,選択された仮想マシン40の差分バックアップを実行する(ステップS24)。実行部340は,選択された仮想マシン40の差分バックアップが成功したかを判定する(ステップS25)。例えば,バックアップ先のストレージの容量が不足している場合や,見積もり時間以上に時間がかかってしまい指定された時間内にバックアップ処理が終了しなかった場合,バックアップ処理中に障害が発生した場合などに,バックアップ失敗となる。バックアップが成功した場合には(ステップS25のYES),実行部340は,バックアップが終了した仮想マシン40の更新データ385をクリアする(ステップS26)。
The
実行部340は,選定されたすべての仮想マシン40についてバックアップが終了したかを判定する(ステップS27)。まだ,選定されたすべての仮想マシン40についてバックアップが終了していなければ(ステップS27のNO),実行部340は,ステップS23の処理に戻って,次の仮想マシン40の差分バックアップ処理に移る。選定されたすべての仮想マシン40についてバックアップが終了していれば(ステップS27のYES),バックアップ機能部300は,処理を終了する。
The
以上説明したように,本実施の形態によるバックアップ機能部300では,予測部301によって,バックアップ対象データごとに,差分バックアップ処理に要する時間を予測することが可能となる。また,予測された時間を用いて,特定の時間内に差分バックアップの処理が終了可能な1または複数のバックアップ対象データを自動で選定することが可能となる。これにより,時間オーバーによるバックアップ処理の中断や,バックアップ処理の中断による不完全なバックアップファイルの生成を防止することが可能となる。
As described above, in the
また,本実施の形態において,仮想マシン40を構成するデータをバックアップ対象データとするバックアップ機能部300は,ホストOS30のみに備えられる。このように,本実施の形態によるバックアップ機能部300は,ホストOS30にインストールしたコンポーネントだけで実現可能であり,各仮想マシン40へのコンポーネントの追加が不要となる。
Further, in the present embodiment, the
以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。 Although the present embodiment has been described above, the present invention can naturally be modified in various ways within the scope of the gist thereof.
例えば,本実施の形態では,バックアップ対象データが仮想マシン40を構成するデータである場合の例を説明したが,バックアップ対象データは,仮想マシン40を構成するデータに限らず,任意である。
For example, in the present embodiment, an example in which the backup target data is data configuring the
1 仮想マシンシステム
10 ハードウェア
11 CPU
12 メモリ
13 記憶装置
130 VHDファイル
14 通信装置
15 媒体読取・書込装置
16 入力装置
17 出力装置
20 ハイパーバイザ
30 ホストOS
300 バックアップ機能部
301 予測部
310 生成部
320 算出部
330 判断部
340 実行部
350 対応情報記憶部
360 バックアップ速度情報記憶部
370 時間指定情報記憶部
380 更新情報記憶部
40 仮想マシン
41 仮想ハードディスク
1
12
DESCRIPTION OF
Claims (5)
記憶装置に記憶されたバックアップ対象データについて,そのバックアップ対象データが所定のデータ単位に分割された分割データごとに更新が行われたか否かを示す更新情報を生成し,
前記更新情報で更新が行われた旨が示された分割データの数に基づいて,前記バックアップ対象データについて,更新が行われた分割データの差分バックアップ処理に要する時間の予測値を算出する
処理を実行させるための予測プログラム。 Computer
Generating update information indicating whether or not the backup target data stored in the storage device has been updated for each divided data obtained by dividing the backup target data into predetermined data units;
A process of calculating a predicted value of the time required for the differential backup processing of the updated divided data for the backup target data based on the number of the divided data indicated that the update information is updated. Prediction program to be executed.
算出された差分バックアップ処理に要する時間の予測値を用いて,1または複数の前記バックアップ対象データについての差分バックアップの処理時間が,特定の時間内に収まるかどうかを判断する
処理を実行させるための請求項1に記載の予測プログラム。 In addition to the computer,
For executing a process for determining whether or not the differential backup processing time for one or a plurality of the backup target data falls within a specific time by using the calculated estimated value of the time required for the differential backup process The prediction program according to claim 1.
前記更新情報を生成する処理と,前記予測値を算出する処理とが,前記コンピュータで動作するホストOSで実行される
ことを特徴とする請求項1または請求項2に記載の予測プログラム。 The backup target data is data constituting a virtual machine operating on the computer,
The prediction program according to claim 1, wherein the process of generating the update information and the process of calculating the prediction value are executed by a host OS that operates on the computer.
前記更新情報で更新が行われた旨が示された分割データの数に基づいて,前記バックアップ対象データについて,更新が行われた分割データの差分バックアップ処理に要する時間の予測値を算出する算出部とを備える
ことを特徴とする予測装置。 A generation unit that generates update information indicating whether or not the backup target data stored in the storage device has been updated for each divided data obtained by dividing the backup target data into predetermined data units;
A calculation unit that calculates a predicted value of the time required for differential backup processing of the updated divided data for the backup target data based on the number of the divided data indicated that the update information is updated. The prediction apparatus characterized by comprising.
記憶装置に記憶されたバックアップ対象データについて,そのバックアップ対象データが所定のデータ単位に分割された分割データごとに更新が行われたか否かを示す更新情報を生成し,
前記更新情報で更新が行われた旨が示された分割データの数に基づいて,前記バックアップ対象データについて,更新が行われた分割データの差分バックアップ処理に要する時間の予測値を算出する処理を実行する
ことを特徴とする予測方法。 Computer
Generating update information indicating whether or not the backup target data stored in the storage device has been updated for each divided data obtained by dividing the backup target data into predetermined data units;
A process for calculating a predicted value of the time required for the differential backup process of the updated divided data for the backup target data based on the number of the divided data indicated that the update information is updated. A prediction method characterized by being executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012017519A JP2013156873A (en) | 2012-01-31 | 2012-01-31 | Prediction program, prediction apparatus, and prediction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012017519A JP2013156873A (en) | 2012-01-31 | 2012-01-31 | Prediction program, prediction apparatus, and prediction method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013156873A true JP2013156873A (en) | 2013-08-15 |
Family
ID=49051980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012017519A Pending JP2013156873A (en) | 2012-01-31 | 2012-01-31 | Prediction program, prediction apparatus, and prediction method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013156873A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11281395B2 (en) | 2019-02-01 | 2022-03-22 | Mitsubishi Electric Corporation | Information processing device, backup method, restore method, and program |
-
2012
- 2012-01-31 JP JP2012017519A patent/JP2013156873A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11281395B2 (en) | 2019-02-01 | 2022-03-22 | Mitsubishi Electric Corporation | Information processing device, backup method, restore method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5756240B2 (en) | Management system and management method | |
US8832029B2 (en) | Incremental virtual machine backup supporting migration | |
JP5140633B2 (en) | Method for analyzing failure occurring in virtual environment, management server, and program | |
JP5967215B2 (en) | Information processing apparatus, program, and virtual machine migration method | |
WO2015181937A1 (en) | Method for adjusting backup schedule for virtual computer | |
JP6064608B2 (en) | Storage device, backup program, and backup method | |
US10949238B2 (en) | Decoupling compute and storage resources in cloud-based HCI (hyper-converged infrastructure) | |
JP4903244B2 (en) | Computer system and failure recovery method | |
US20140297597A1 (en) | Computer system and management method for the same | |
US20130239108A1 (en) | Hypervisor management system and method | |
KR20070073290A (en) | Storage medium for managing master boot record and method for booting of computer system using the storage medium | |
JP7035858B2 (en) | Migration management program, migration method and migration system | |
US20230086666A1 (en) | System and method for backup scheduling | |
US10545788B2 (en) | Physical to virtual scheduling system and method | |
US20160259578A1 (en) | Apparatus and method for detecting performance deterioration in a virtualization system | |
RU2697961C1 (en) | System and method of assessing deterioration of data storage device and ensuring preservation of critical data | |
JP2013156873A (en) | Prediction program, prediction apparatus, and prediction method | |
US20150201013A1 (en) | Information processing apparatus, data copy processing management method, and non-transitory computer-readable recording medium having stored therein data copy processing management program | |
JP5737087B2 (en) | Virtual machine control device, virtual machine control program, and virtual machine control method | |
JP2014006845A (en) | Management method, management device and management program | |
WO2011099141A1 (en) | Management system, method for managing system, and program | |
JP5970984B2 (en) | Restoration program and restoration device | |
JP2014164434A (en) | Information processing device, information processing method and program | |
KR101460452B1 (en) | Apparatus of generating snapshot image based on hibernation and method of the same | |
JP6540356B2 (en) | System replication control device and system replication control method |