JP2013156873A - Prediction program, prediction apparatus, and prediction method - Google Patents

Prediction program, prediction apparatus, and prediction method Download PDF

Info

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
Application number
JP2012017519A
Other languages
Japanese (ja)
Inventor
Yu Kumanomido
悠 熊埜御堂
Satoshi Mikota
聡 三小田
Yukio Osada
有木郎 長田
Masa Kamijo
雅 上条
Hironobu Awazu
裕亘 粟津
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 JP2012017519A priority Critical patent/JP2013156873A/en
Publication of JP2013156873A publication Critical patent/JP2013156873A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a technology capable of estimating a backup processing time of backup object data in difference backup processing.SOLUTION: For instance, backup object data represents a VHD file for attaining a virtual machine, and the VHD file is stored in a storage device of a computer. In a backup function part 300 included in a host OS of the computer, a generation part 310 monitors data update of the VHD file, and when data is updated, records information of a sector where the data has been updated, into update data stored in an update information storage part 380. When performing difference backup processing, a calculation part 320 calculates a prediction value of a time required for the difference backup processing for each virtual machine, on the basis of the number of sectors where the data has been updated that is acquired from recording to the update data.

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.

特開2010−225021号公報JP 2010-225021 A 特開2009−205548号公報JP 2009-205548 A 特表2009−533777号公報Special table 2009-533777 gazette

だだし,差分バックアップであっても,限られた時間内にすべてのバックアップ対象データのバックアップが終わらないケースもある。バックアップが途中で終了して不完全なバックアップファイルが生成されることを避けるためには,限られた時間内でバックアップを完了できるように,バックアップ対象データを選定する必要がある。そのためには,バックアップ対象データごとのバックアップの処理時間の見積りが可能となる技術が望まれる。   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.

本実施の形態による仮想マシンシステムの構成例を示す図である。It is a figure which shows the structural example of the virtual machine system by this Embodiment. 本実施の形態による仮想マシンのバックアップの例を説明する図である。It is a figure explaining the example of the backup of the virtual machine by this Embodiment. 本実施の形態によるバックアップ機能部の機能構成例を示す図である。It is a figure which shows the function structural example of the backup function part by this Embodiment. 本実施の形態による更新データの例を示す図である。It is a figure which shows the example of the update data by this Embodiment. 本実施の形態による対応データの例を示す図である。It is a figure which shows the example of the corresponding data by this Embodiment. 本実施の形態による更新セクタ数の算出を説明する図である。It is a figure explaining calculation of the update sector number by this Embodiment. 本実施の形態による見積もり時間の算出を説明する図である。It is a figure explaining calculation of the estimated time by this Embodiment. 本実施の形態によるバックアップ速度データの例を示す図である。It is a figure which shows the example of the backup speed data by this Embodiment. 本実施の形態による時間指定データの例を示す図である。It is a figure which shows the example of the time designation data by this Embodiment. 本実施の形態による差分バックアップ処理を実行する仮想マシンの選定を説明する図である。It is a figure explaining selection of the virtual machine which performs differential backup processing by this embodiment. 本実施の形態のバックアップ機能部による更新監視処理フローチャートである。It is an update monitoring process flowchart by the backup function part of this Embodiment. 本実施の形態のバックアップ機能部によるバックアップ処理フローチャートである。It is a backup processing flowchart by the backup function part of this Embodiment.

以下,本実施の形態について,図を用いて説明する。ここでは,仮想マシンシステムにおける仮想マシンのバックアップを例として,本実施の形態によるデータの差分バックアップを説明する。   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 virtual machine system 1 shown in FIG. 1, three virtual machines #a, #b, and #c are utilized by using resources of computer hardware 10 such as a CPU (Central Processing Unit) 11 and a memory 12. Machine 40 is operating.

仮想マシンシステム1において,ハイパーバイザ20は,コンピュータのハードウェア10を利用した仮想化環境を実現するソフトウェアである。仮想マシン40は,ハイパーバイザ20上に構築可能である。   In the virtual machine system 1, the hypervisor 20 is software that implements a virtual environment using the computer hardware 10. The virtual machine 40 can be constructed on the hypervisor 20.

ホストOS(Operating System)30は,仮想マシン40を管理するOSである。仮想マシンシステム1の管理者であるユーザは,ホストOS30から,仮想マシン40の新規作成,構成変更,削除等を行うことが可能である。   A host OS (Operating System) 30 is an OS that manages the virtual machine 40. A user who is an administrator of the virtual machine system 1 can create a new virtual machine 40, change its configuration, delete it, and the like from the host OS 30.

ホストOS30は,バックアップ機能部300を備える。バックアップ機能部300は,仮想マシンシステム1で動作する仮想マシン40のバックアップを行う。バックアップ機能部300は,例えば,ホストOS30上で動作するバックアップツールやフィルタドライバ等により実現される。   The host OS 30 includes a backup function unit 300. The backup function unit 300 backs up the virtual machine 40 operating in the virtual machine system 1. The backup function unit 300 is realized by, for example, a backup tool or a filter driver that operates on the host OS 30.

図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 virtual machine system 1 shown in FIG. 1 includes, for example, a CPU 11, a memory 12 as a main memory, a storage device 13, a communication device 14, a medium reading / writing device 15, an input device 16, an output device 17, and the like Hardware 10 is provided. The storage device 13 is an external storage device such as an HDD (Hard Disk Drive), an auxiliary storage device, or the like. The medium reading / writing device 15 is, for example, a CD-R (Compact Disc Recordable) drive or a DVD-R (Digital Versatile Disc Recordable) drive. The input device 16 is, for example, a keyboard / mouse. The output device 17 is a display device such as a display.

図1に示すハイパーバイザ20,各仮想マシン40,ホストOS30およびホストOS30が備えるバックアップ機能部300は,コンピュータが備えるCPU11,メモリ12等のハードウェア10と,ソフトウェアプログラムとによって実現することが可能である。コンピュータが実行可能なプログラムは,例えば,記憶装置13に記憶され,その実行時にメモリ12に読み出され,CPU11により実行される。   The hypervisor 20, each virtual machine 40, the host OS 30, and the backup function unit 300 provided in the host OS 30 shown in FIG. 1 can be realized by the CPU 10, the hardware 10 such as the memory 12 provided in the computer, and a software program. is there. The program executable by the computer is stored in the storage device 13, for example, read into the memory 12 at the time of execution, and executed by the CPU 11.

コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,コンピュータは,サーバコンピュータからプログラムが転送されるごとに,逐次,受け取ったプログラムに従った処理を実行することもできる。さらに,このプログラムは,コンピュータで読み取り可能な記録媒体に記録しておくことができる。   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 virtual machine 40 is assumed to be realized by a plurality of files including a VHD (Virtual Hard Disk) file 130 stored in the storage device 13 such as a hard disk. In the example illustrated in FIG. 2, the virtual machine 40 of #a is realized by a plurality of files including a VHD file 130 of VHD # 1 and a VHD file 130 of VHD # 2. The #b virtual machine 40 is realized by a plurality of files including a VHD file 130 of VHD # 3 and a VHD file 130 of VHD # 4. The #c virtual machine 40 is realized by a plurality of files including the VHD file 130 of VHD # 5.

VHDファイル130は,仮想的なハードディスクイメージのファイルである。記憶装置13に記憶されたVHDファイル130は,仮想マシン40における仮想ハードディスク41となる。仮想マシン40上での仮想ハードディスク41のデータ更新は,物理マシン上でのVHDファイル130のデータ更新となる。例えば,図2に示す例において,#aの仮想マシン40上で,VHD#1の仮想ハードディスク41のデータ更新が行われると,物理マシン上では,記憶装置13に記憶されたVHD#1のVHDファイル130のデータ更新が行われる。   The VHD file 130 is a virtual hard disk image file. The VHD file 130 stored in the storage device 13 becomes a virtual hard disk 41 in the virtual machine 40. The data update of the virtual hard disk 41 on the virtual machine 40 is the data update of the VHD file 130 on the physical machine. For example, in the example illustrated in FIG. 2, when data update of the virtual hard disk 41 of VHD # 1 is performed on the virtual machine 40 of #a, the VHD of VHD # 1 stored in the storage device 13 is performed on the physical machine. Data update of the file 130 is performed.

仮想マシンシステム1において,ホストOS30からは,仮想マシン40はVHDファイル130を含むファイルの集まりに見える。ホストOS30のバックアップ機能部300は,仮想マシン40を実現するファイルをバックアップすることにより,仮想マシン40のバックアップを行う。すなわち,仮想マシン40のバックアップは,実際には仮想マシン40を構成するデータのバックアップとなる。   In the virtual machine system 1, the virtual machine 40 appears to the host OS 30 as a collection of files including the VHD file 130. The backup function unit 300 of the host OS 30 backs up the virtual machine 40 by backing up files that realize the virtual machine 40. That is, the backup of the virtual machine 40 is actually a backup of data constituting the virtual machine 40.

データのバックアップには,フルバックアップと差分バックアップがある。フルバックアップでは,バックアップ対象データについて,すべてのデータのバックアップが行われる。例えば,仮想マシン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 virtual machine 40, all data constituting the virtual machine 40 is backed up. In differential backup, only the data portion updated between the previous backup and the current backup is backed up for the backup target data. For example, in the differential backup of the virtual machine 40, only the partially updated data portion is backed up in the VHD file 130 corresponding to the virtual machine 40.

仮想マシン40のバックアップにより得られたバックアップファイルは,例えば,障害発生時における仮想マシン40の復旧などに利用される。なお,差分バックアップは,データの一部のみのバックアップであるため,差分バックアップによるバックアップファイルのみでは,仮想マシン40の復旧は行えない。そのため,差分バックアップを行う場合には,それ以前に1度はフルバックアップが行われていることが前提となる。   The backup file obtained by backing up the virtual machine 40 is used, for example, for recovery of the virtual machine 40 when a failure occurs. Since the differential backup is a backup of only a part of the data, the virtual machine 40 cannot be restored only with the backup file by the differential backup. Therefore, when performing differential backup, it is assumed that a full backup has been performed once before that.

なお,図2に示す例では,バックアップファイルの格納先がVHDファイル130と同じ記憶装置13となっているが,バックアップファイルの格納先には,任意のストレージが設定可能である。例えば,ネットワークを介して外部のストレージにバックアップファイルを格納することも可能である。   In the example shown in FIG. 2, the backup file storage destination is the same storage device 13 as the VHD file 130, but any storage can be set as the backup file storage destination. For example, a backup file can be stored in an external storage via a network.

一般に,バックアップ処理は,仮想マシンシステム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 virtual machine system 1 is reduced or the operation of the virtual machine system 1 can be stopped. If the executable time expires during the backup process, the backup process ends in the middle and an incomplete backup file is generated. In order to perform backup processing within a limited time, it is better to perform differential backup that can complete backup processing in a shorter time than full backup.

しかし,差分バックアップであっても,限られた時間内にすべてのバックアップ対象の仮想マシン40に対するバックアップ処理が終わらないケースもある。バックアップ処理が途中で終了して不完全なバックアップファイルが生成されることを避けるためには,限られた時間内でバックアップ処理を完了できるように,バックアップを行う仮想マシン40を選定する必要がある。そのためには,バックアップ対象の仮想マシン40ごとのバックアップの処理時間を見積もる必要がある。   However, even with differential backup, there are cases where backup processing for all virtual machines 40 to be backed up is not completed within a limited time. In order to avoid the incomplete backup file being generated due to the end of the backup process, it is necessary to select the virtual machine 40 that performs the backup so that the backup process can be completed within a limited time. . For this purpose, it is necessary to estimate the backup processing time for each virtual machine 40 to be backed up.

本実施の形態では,ホストOS30のバックアップ機能部300が,バックアップ対象の仮想マシン40ごとに差分バックアップ処理に要する時間を見積り,指定された時間内に処理が終わるように,バックアップを行う仮想マシン40を選定する。   In this embodiment, the backup function unit 300 of the host OS 30 estimates the time required for differential backup processing for each virtual machine 40 to be backed up, and the virtual machine 40 that performs backup so that the processing is completed within the specified time. Is selected.

より具体的には,本実施の形態では,ホストOS30のバックアップ機能部300が,記憶装置13に記憶されたVHDファイル130へのアクセスを監視する。本実施の形態の例では,仮想マシン40の差分バックアップにおいて,特に,VHDファイル130の更新された一部データについての差分バックアップが行われ,差分バックアップのバックアップファイルが生成されるものとする。VHDファイル130のデータが更新された場合には,バックアップ機能部300は,データが更新されたVHDファイル130について,データ更新が行われたセクタの情報を取得し,取得されたセクタの情報を仮想マシン40ごとの更新情報に記録しておく。   More specifically, in the present embodiment, the backup function unit 300 of the host OS 30 monitors access to the VHD file 130 stored in the storage device 13. In the example of the present embodiment, in the differential backup of the virtual machine 40, in particular, it is assumed that a differential backup for a part of the updated data of the VHD file 130 is performed and a backup file for the differential backup is generated. When the data of the VHD file 130 is updated, the backup function unit 300 acquires information on the sector in which the data has been updated for the VHD file 130 whose data has been updated, and the acquired sector information is virtually Recorded in the update information for each machine 40.

差分バックアップの実行時には,バックアップ機能部300は,更新情報に基づいて,バックアップ対象の仮想マシン40ごとに,前回のバックアップ処理以降にデータ更新が行われたセクタの数から,差分バックアップの処理に要する時間を見積る。バックアップ機能部300は,バックアップ対象の仮想マシン40ごとの差分バックアップの処理に要する時間の見積り結果から,指定された時間内に処理が終わるように,バックアップを行う仮想マシン40を選定する。バックアップ機能部300は,選定された仮想マシン40の差分バックアップを実行する。   At the time of executing differential backup, the backup function unit 300 requires differential backup processing based on the update information from the number of sectors for which data has been updated since the previous backup processing for each virtual machine 40 to be backed up. Estimate time. The backup function unit 300 selects the virtual machine 40 to be backed up so that the processing is completed within the specified time from the estimation result of the time required for differential backup processing for each virtual machine 40 to be backed up. The backup function unit 300 executes differential backup of the selected virtual machine 40.

図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 backup function unit 300 includes a generation unit 310, a calculation unit 320, a determination unit 330, an execution unit 340, a correspondence information storage unit 350, a backup speed information storage unit 360, a time designation information storage unit 370, and an update information storage unit 380.

生成部310は,記憶装置13に記憶されたバックアップ対象データについて,そのバックアップ対象データが所定のデータ単位に分割された分割データごとに更新が行われたか否かを示す更新情報を生成する。   The generation unit 310 generates update information indicating whether or not the backup target data stored in the storage device 13 has been updated for each divided data obtained by dividing the backup target data into predetermined data units.

本実施の形態の例において,記憶装置13に記憶されたバックアップ対象データは,バックアップ対象の仮想マシン40を構成するデータである。本実施の形態の例では,仮想マシン40の差分バックアップにおいて,特にVHDファイル130の差分バックアップを行うので,VHDファイル130がバックアップ対象データとなる。また,本実施の形態の例において,差分バックアップは1セクタ単位で行われるものとし,所定のデータ単位は1セクタであるものとする。本実施の形態の例では,所定のデータ単位に分割された分割データは,1セクタ分のデータとなる。なお所定のデータ単位は,必ずしもセクタ単位である必要はなく,例えば所定の複数セクタのブロック単位で差分バックアップが行われる場合にブロック単位を所定のデータ単位とするなどの設計は,任意である。   In the example of this embodiment, the backup target data stored in the storage device 13 is data constituting the backup target virtual machine 40. In the example of the present embodiment, in the differential backup of the virtual machine 40, the differential backup of the VHD file 130 is particularly performed, so the VHD file 130 becomes the backup target data. In the example of the present embodiment, it is assumed that the differential backup is performed in units of one sector, and the predetermined data unit is one sector. In the example of the present embodiment, the divided data divided into predetermined data units is data for one sector. The predetermined data unit is not necessarily a sector unit. For example, when differential backup is performed in a block unit of a plurality of predetermined sectors, a design such that the block unit is a predetermined data unit is arbitrary.

本実施の形態の例において,生成部310は,記憶装置13に記憶されたVHDファイル130へのアクセスを監視する。VHDファイル130の更新があった場合に,生成部310は,VHDファイル130におけるデータ更新が行われたセクタの情報を取得する。生成部310は,データ更新が行われたセクタの情報を更新情報記憶部380の更新情報に記録する。本実施の形態による生成部310は,例えば,ホストOS30にインストールされるフィルタドライバ等により実現可能である。   In the example of the present embodiment, the generation unit 310 monitors access to the VHD file 130 stored in the storage device 13. When the VHD file 130 is updated, the generation unit 310 acquires information on the sector in the VHD file 130 where the data update has been performed. The generation unit 310 records the information of the sector where the data has been updated in the update information of the update information storage unit 380. The generation unit 310 according to the present embodiment can be realized by, for example, a filter driver installed in the host OS 30.

更新情報記憶部380は,更新情報を記憶する記憶部である。更新情報記憶部380は,例えばホストOS30に割り当てられるメモリ12の領域などにより,実現可能である。   The update information storage unit 380 is a storage unit that stores update information. The update information storage unit 380 can be realized by, for example, an area of the memory 12 allocated to the host OS 30.

本実施の形態の例では,更新情報は,仮想マシン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 virtual machine 40. When the VHD file 130 is updated, the generation unit 310 refers to the correspondence information stored in the correspondence information storage unit 350 and identifies the virtual machine 40 corresponding to the updated VHD file 130. The generation unit 310 records the information of the sector in which the data is updated in the update information of the virtual machine 40 corresponding to the updated VHD file 130.

対応情報記憶部350は,対応情報を記憶する記憶部である。対応情報は,仮想マシン40とVHDファイル130との対応が記録された情報である。対応情報記憶部350は,例えばホストOS30のレジストリなどにより実現可能である。   The correspondence information storage unit 350 is a storage unit that stores correspondence information. The correspondence information is information in which the correspondence between the virtual machine 40 and the VHD file 130 is recorded. The correspondence information storage unit 350 can be realized by a registry of the host OS 30, for example.

算出部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 information storage unit 380, the calculation unit 320 performs differential backup of the divided data that has been updated for the backup target data. A predicted value of the time required for processing is calculated.

本実施の形態の例において,算出部320は,更新情報記憶部380に記憶された更新情報で更新が行われた旨が示されたセクタの数に基づいて,仮想マシン40ごとに,更新が行われたセクタの差分バックアップ処理に要する時間の予測値を算出する。より具体的には,算出部320は,仮想マシン40ごとに,更新が行われたセクタの数から,更新されたデータ量を算出する。算出部320は,バックアップ速度情報記憶部360に記憶されたバックアップ速度情報を参照し,仮想マシン40ごとに,更新されたデータ量とバックアップ速度とから,差分バックアップ処理に要する時間の予測値を算出する。   In the example of the present embodiment, the calculation unit 320 updates each virtual machine 40 based on the number of sectors indicated that the update information stored in the update information storage unit 380 has been updated. A predicted value of the time required for the differential sector backup process is calculated. More specifically, the calculation unit 320 calculates the updated data amount from the number of updated sectors for each virtual machine 40. The calculation unit 320 refers to the backup speed information stored in the backup speed information storage unit 360, and calculates a predicted value of the time required for the differential backup process from the updated data amount and the backup speed for each virtual machine 40. To do.

バックアップ速度情報記憶部360は,バックアップ速度情報を記憶する記憶部である。バックアップ速度情報は,データのバックアップ速度が記録された情報である。バックアップ速度情報記憶部360は,例えばホストOS30のレジストリなどにより実現可能である。   The backup speed information storage unit 360 is a storage unit that stores backup speed information. The backup speed information is information in which the data backup speed is recorded. The backup speed information storage unit 360 can be realized by a registry of the host OS 30, for example.

判断部330は,算出された差分バックアップ処理に要する時間の予測値を用いて,1または複数のバックアップ対象データについての差分バックアップの処理時間が,特定の時間内に収まるかどうかを判断する。   The determination unit 330 determines whether the differential backup processing time for one or a plurality of backup target data falls within a specific time by using the calculated predicted value of the time required for the differential backup processing.

本実施の形態の例において,判断部330は,各仮想マシン40の差分バックアップ処理時間の予測値を用いて,時間指定情報記憶部370に記憶された時間指定情報で指定された時間内に処理が終了するように,差分バックアップを行う仮想マシン40を選定する。このとき,判断部330は,例えば,所定の優先順に1または複数の仮想マシン40を選択し,選択された仮想マシン40についての差分バックアップの処理時間が,指定された時間内に収まるかどうかを判断する。   In the example of the present embodiment, the determination unit 330 uses the predicted value of the differential backup processing time of each virtual machine 40 to perform processing within the time designated by the time designation information stored in the time designation information storage unit 370. The virtual machine 40 that performs differential backup is selected so that the process ends. At this time, for example, the determination unit 330 selects one or a plurality of virtual machines 40 in a predetermined priority order, and determines whether or not the differential backup processing time for the selected virtual machines 40 falls within the specified time. to decide.

時間指定情報記憶部370は,時間指定情報を記憶する記憶部である。時間指定情報は,ユーザにより指定された時間が記録された情報である。時間指定情報記憶部370は,例えばホストOS30のレジストリなどにより実現可能である。   The time designation information storage unit 370 is a storage unit that stores time designation information. The time designation information is information in which the time designated by the user is recorded. The time designation information storage unit 370 can be realized by a registry of the host OS 30, for example.

本実施の形態によるバックアップ機能部300において,生成部310,算出部320,判断部330は,バックアップ対象データに対する差分バックアップ処理に要する時間を予測し,その処理時間が特定の時間内に収まるかを判断する予測部301となる。   In the backup function unit 300 according to the present embodiment, the generation unit 310, the calculation unit 320, and the determination unit 330 predict the time required for the differential backup processing for the backup target data, and determine whether the processing time falls within a specific time. It becomes the prediction part 301 to judge.

実行部340は,予測部301によって,差分バックアップ処理に要する時間が特定の時間内に収まると判断された,1または複数のバックアップ対象データの差分バックアップ処理を実行する。   The execution unit 340 executes the differential backup processing of one or a plurality of backup target data, which is determined by the prediction unit 301 that the time required for the differential backup processing falls within a specific time.

本実施の形態の例において,実行部340は,仮想マシン40の差分バックアップを実行する。差分バックアップが実行される仮想マシン40は,予測部301によって,指定され時間内に処理が終了すると判断されて選定された1または複数の仮想マシン40である。本実施の形態による算出部320,判断部330,実行部340は,例えば,ホストOS30にインストールされるバックアップツール等により実現可能である。   In the example of this embodiment, the execution unit 340 executes a differential backup of the virtual machine 40. The virtual machine 40 on which the differential backup is executed is one or a plurality of virtual machines 40 selected by the prediction unit 301 when it is determined that the process is completed within a specified time. The calculation unit 320, the determination unit 330, and the execution unit 340 according to the present embodiment can be realized by, for example, a backup tool installed in the host OS 30.

以下,本実施の形態による仮想マシン40の差分バックアップについて,より具体的な例を挙げて説明する。   Hereinafter, the differential backup of the virtual machine 40 according to the present embodiment will be described with a more specific example.

図2に示す仮想マシンシステム1において,各仮想マシン40の動作中には,ホストOS30のバックアップ機能部300の生成部310が,記憶装置13に記憶された各VHDファイル130に対するアクセスを監視する。なお,生成部310を実現するプログラムは,ホストOS30の起動時に稼動状態となり,各仮想マシン40の起動より前に動作しているものとする。   In the virtual machine system 1 shown in FIG. 2, during operation of each virtual machine 40, the generation unit 310 of the backup function unit 300 of the host OS 30 monitors access to each VHD file 130 stored in the storage device 13. It is assumed that the program that realizes the generation unit 310 is in an operating state when the host OS 30 is activated and is operating before each virtual machine 40 is activated.

いずれかのVHDファイル130のデータが更新された場合,生成部310は,記憶装置13におけるデータが更新されたセクタの情報を取得する。ここでは,データが更新されたセクタの情報として,更新されたデータの開始位置のセクタ番号と,終了位置のセクタ番号とが取得されるものとする。生成部310は,取得されたセクタの情報を,更新情報記憶部380の更新情報に記録する。   When the data of any VHD file 130 is updated, the generation unit 310 acquires information on the sector in which the data in the storage device 13 is updated. Here, it is assumed that the sector number at the start position and the sector number at the end position of the updated data are acquired as information on the sector where the data has been updated. The generation unit 310 records the acquired sector information in the update information of the update information storage unit 380.

図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 information storage unit 380. The update data 385a shown in FIG. 4A is an example of the update data 385 for the virtual machine 40 of #a shown in FIG. Update data 385b shown in FIG. 4B is an example of update data 385 for the virtual machine 40 of #b shown in FIG. The update data 385c shown in FIG. 4C is an example of the update data 385 for the virtual machine 40 of #c shown in FIG.

図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 storage device 13 of the updated data, respectively. The VHD name indicates the name of the VHD file 130 whose data has been updated.

図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 update data 385a of the virtual machine 40 of #a shown in FIG. 4A, the data of the VHD file 130 of VHD # 1 and the data from sector number 001 to sector number 008 are updated. It has been shown.

図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 virtual machine 40. The generation unit 310 refers to the correspondence information stored in the correspondence information storage unit 350, identifies the virtual machine 40 corresponding to the VHD file 130 whose data has been updated, and determines the update data 385 for the identified virtual machine 40. Record sector information.

図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 correspondence data 355 illustrated in FIG. 5 is an example of correspondence information stored in the correspondence information storage unit 350. Correspondence between each virtual machine 40 shown in FIG. 2 and each VHD file 130 is recorded in the correspondence data 355 shown in FIG.

図5に示す対応データ355は,仮想マシン名,VHD名(#1,#2)の情報を持つ。仮想マシン名は,仮想マシン40の識別情報である。VHD名は,VHDファイル130の識別情報である。   The correspondence data 355 shown in FIG. 5 has information on a virtual machine name and a VHD name (# 1, # 2). The virtual machine name is identification information of the virtual machine 40. The VHD name is identification information of the VHD file 130.

なお,ここでは,生成部310は,データ更新があったVHDファイル130から対応する仮想マシン40を特定して,仮想マシン40ごとに分けて更新データ385への記録を行っているが,仮想マシン40ごとに分けずにまとめて1つの更新データ385への記録を行うようにしてもよい。このとき,例えば,後に算出部320が仮想マシン40ごとに更新セクタ数を求める際に,図5に示す対応データ355を参照して,更新データ385に記録されたセクタの情報を仮想マシン40ごとに分けて,それぞれの仮想マシン40の更新セクタ数を求めるようにすればよい。   Here, the generation unit 310 identifies the corresponding virtual machine 40 from the VHD file 130 that has been updated, and records it in the update data 385 separately for each virtual machine 40. Recording into one update data 385 may be performed collectively without dividing every 40. At this time, for example, when the calculation unit 320 later obtains the number of update sectors for each virtual machine 40, the information on the sectors recorded in the update data 385 is obtained for each virtual machine 40 with reference to the corresponding data 355 shown in FIG. In other words, the number of updated sectors of each virtual machine 40 may be obtained.

ここで,ホストOS30において,バックアップ処理が開始されるものとする。バックアップ処理は,例えば,夜間などの特定の時間に自動的に起動されてもよいし,ホストOS30を操作するユーザの指示により起動されてもよい。   Here, it is assumed that backup processing is started in the host OS 30. For example, the backup process may be automatically started at a specific time such as at night, or may be started by an instruction of a user who operates the host OS 30.

バックアップ処理が開始されると,バックアップ機能部300の算出部320は,各仮想マシン40の更新データ385から,仮想マシン40ごとに,過去の最後のバックアップ処理以降にデータの更新があったセクタの数を求める。   When the backup process is started, the calculation unit 320 of the backup function unit 300 calculates, from the update data 385 of each virtual machine 40, for each virtual machine 40, the sector whose data has been updated since the last backup process in the past. Find a number.

図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 sector numbers 025 to 027 are duplicated. If the number of sectors is counted separately in the data update shown in (1) and the data update shown in (2), sectors with sector numbers 025 to 027 are counted twice, and the accurate differential backup processing time cannot be predicted. The calculation unit 320 counts 1 as the number of sectors that have been updated even if there are multiple updates to the same sector.

算出部320は,仮想マシン40ごとに,求めたセクタの数から,差分バックアップ処理に要する時間の予測値を算出する。ここでは,差分バックアップ処理に要する時間の予測値を,見積もり時間と呼ぶものとする。   The calculation unit 320 calculates the predicted value of the time required for the differential backup process from the obtained number of sectors for each virtual machine 40. Here, the estimated value of the time required for the differential backup process is called an estimated time.

図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〕は,それぞれ,
a =Na ×Ds
b =Nb ×Ds
c =Nc ×Ds
と求められる。各仮想マシン40についてのバックアップ速度をそれぞれVa 〔GB/分〕,Vb 〔GB/分〕,Vc 〔GB/分〕とすると,各仮想マシン40についての見積もり時間Ta 〔分〕,Tb 〔分〕,Tc 〔分〕は,それぞれ,
a =Da /Va
b =Db /Vb
c =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 virtual machine 40. Assuming that the data amount per sector is D s [GB], the updated data amounts D a [GB], D b [GB], D c [GB] for each virtual machine 40 are respectively
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 virtual machine 40 is V a [GB / min], V b [GB / min], and V c [GB / min], respectively, the estimated time T a [min] for each virtual machine 40, T b [min] and T c [min] are respectively
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 virtual machine 40 are obtained from the backup speed information in the backup speed information storage unit 360.

図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 backup speed data 365 shown in FIG. 8 is an example of backup speed information stored in the backup speed information storage unit 360. The backup speed data 365 shown in FIG. 8 records the backup speed at the time of the past full backup for each virtual machine 40 shown in FIG.

図8に示すバックアップ速度データ365は,仮想マシン名,バックアップ時間,データ量,バックアップ速度の情報を持つ。仮想マシン名は,仮想マシン40の識別情報である。バックアップ時間は,該当仮想マシン40を構成するデータのフルバックアップに要した時間である。データ量は,フルバックアップ実行時における該当仮想マシン40を構成する全データのデータ量である。バックアップ速度は,バックアップ時間とデータ量とから求められたデータをバックアップする速度である。   The backup speed data 365 shown in FIG. 8 has information on the virtual machine name, backup time, data amount, and backup speed. The virtual machine name is identification information of the virtual machine 40. The backup time is the time required for full backup of the data constituting the virtual machine 40. The data amount is the data amount of all data constituting the virtual machine 40 at the time of executing the full backup. The backup speed is a speed at which the data obtained from the backup time and the amount of data is backed up.

例えば,図8に示すように,過去のフルバックアップ実行時において,#aの仮想マシン40のデータ量がDaFULL 〔GB〕で,バックアップ時間がTaFULL 〔分〕であったものとする。このときの#aの仮想マシン40のバックアップ速度Va 〔GB/分〕は,
a =DaFULL /TaFULL
で求められる。#b,#cの仮想マシン40のバックアップ速度Vb ,Vc についても同様に求めることができる。このように,過去のフルバックアップ時のバックアップ時間とデータ量とから,バックアップ速度を得ることができる。
For example, as shown in FIG. 8, it is assumed that the data amount of the virtual machine 40 of #a is D aFULL [GB] and the backup time is T aFULL [min] at the past full backup execution time. At this time, the backup speed V a [GB / min] of the virtual machine 40 of #a is
V a = D aFULL / T aFULL
Is required. The backup speeds V b and V c of the virtual machines 40 of #b and #c can be similarly obtained. In this way, the backup speed can be obtained from the backup time and data amount in the past full backup.

なお,図8に示すバックアップ速度データ365の例では,過去のフルバックアップ時のバックアップ速度が記録されているが,記録されるバックアップ速度が,過去の差分バックアップ時のバックアップ速度であってもよい。また,図8に示すバックアップ速度データ365の例では,仮想マシン40ごとのバックアップ速度が記録されているが,記録されるバックアップ速度が,全仮想マシン40のバックアップ速度であってもよい。全仮想マシン40のバックアップ速度Vは,例えば,
V=(DaFULL +DbFULL +DcFULL )/(TaFULL +TbFULL +TcFULL
で求められる。このとき,各仮想マシン40についての見積もり時間Ta ,Tb ,Tc は,それぞれ,
a =Da /V
b =Db /V
c =Dc /V
と求められる。
In the example of the backup speed data 365 shown in FIG. 8, the backup speed at the past full backup is recorded, but the recorded backup speed may be the backup speed at the past differential backup. Further, in the example of the backup speed data 365 illustrated in FIG. 8, the backup speed for each virtual machine 40 is recorded, but the recorded backup speed may be the backup speed of all the virtual machines 40. The backup speed V of all virtual machines 40 is, for example,
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 virtual machine 40 are respectively
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 determination unit 330 selects the virtual machine 40 that executes the differential backup so that it falls within the specified time. At this time, the determination unit 330 acquires the time designated as the time that can be spent in the differential backup process from the time designation information stored in the time designation information storage unit 370. When executing the backup process, the user operating the host OS 30 may input and specify the time that can be spent in the differential backup process.

図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 time designation data 375 illustrated in FIG. 9 is an example of time designation information stored in the time designation information storage unit 370. The time designation data 375 shown in FIG. 9 has information on the designated backup time. The specified backup time indicates the limit value of the time spent for differential backup processing. For example, in the time designation data 375 shown in FIG. 9, a time that can be spent in the differential backup process is designated so that the process is completed within T th minutes.

なお,時間指定情報で指定される時間が,差分バックアップ処理に費やす時間の制限値ではなく,差分バックアップ処理の終了時刻の制限値であってもよい。このとき,差分バックアップ処理に費やすことが可能な時間は,差分バックアップ開始時の時刻と,指定された差分バックアップ処理の終了時刻とから求めることができる。   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 determination unit 330 gives the virtual machine 40 a priority order for executing differential backup. The priority order can be arbitrarily designed, for example, the order in which the estimated time is long, the order in which the last backup in the past is the oldest, or the order specified by the user. Here, the priority order of the differential backup execution is the order of the estimated time. In the example shown in FIG. 10, the descending order of estimated time is the estimated time T a of the #a virtual machine 40, the estimated time T c of the #c virtual machine 40, and the estimated time T b of the #b virtual machine 40. It has become.

ここで,見積もり時間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 time specifying data 375 is as shown in FIG. At this time, for example, the determination unit 330 determines that the differential backup processing time T a + T c + T b of all the virtual machines 40 #a , #c , and #b does not fall within the specified time T th . . Further, the determination unit 330 determines that the differential backup processing time T a + T c between the #a virtual machine 40 and the #c virtual machine 40 falls within the specified time T th , for example. Based on these determinations, the determination unit 330 selects the #a virtual machine 40 and the #c virtual machine 40 as the virtual machines 40 to execute the differential backup.

実行部340は,選定された仮想マシン40の差分バックアップを,優先順に従って実行する。実行部340は,選定された仮想マシン40をシャットダウンし,シャットダウンした仮想マシン40のVHDファイル130をマウントする。実行部340は,選定された仮想マシン40の更新データ385を参照して,データ更新されたセクタのデータをバックアップしたバックアップファイルを生成する。実行部340は,バックアップ終了後,VHDファイル130をアンマウントする。また,実行部340は,バックアップが終了した仮想マシン40の更新データ385をクリアする。   The execution unit 340 executes the differential backup of the selected virtual machine 40 according to the priority order. The execution unit 340 shuts down the selected virtual machine 40 and mounts the VHD file 130 of the shut down virtual machine 40. The execution unit 340 refers to the update data 385 of the selected virtual machine 40 and generates a backup file that backs up the data of the updated sector. The execution unit 340 unmounts the VHD file 130 after the backup is completed. Further, the execution unit 340 clears the update data 385 of the virtual machine 40 that has been backed up.

ここでは,仮想マシン40をシャットダウンしてバックアップを実行しているが,仮想マシン40をシャットダウンせずにバックアップを実行するようにしてもよい。仮想マシン40をシャットダウンせずにバックアップを実行する技術は,周知である。   Here, the virtual machine 40 is shut down and the backup is executed, but the backup may be executed without shutting down the virtual machine 40. A technique for performing backup without shutting down the virtual machine 40 is well known.

なお,更新データ385が揮発性のメモリ12に記憶されている場合,障害等によりホストOS30がダウンした際には,その更新データ385が消えてしまう。このとき,ホストOS30の再起動後に,全仮想マシン40のフルバックアップを実行する。また,メンテナンス等によりホストOS30を停止する際には,ホストOS30の停止前に,揮発性のメモリ12上の更新データ385を,ハードディスク等の記憶装置13に退避する。このとき,ホストOS30の再起動後に,記憶装置13に退避した更新データ385をメモリ12に読み込む。   When the update data 385 is stored in the volatile memory 12, when the host OS 30 is down due to a failure or the like, the update data 385 is lost. At this time, after the host OS 30 is restarted, a full backup of all virtual machines 40 is executed. When the host OS 30 is stopped due to maintenance or the like, the update data 385 on the volatile memory 12 is saved in the storage device 13 such as a hard disk before the host OS 30 is stopped. At this time, after the host OS 30 is restarted, the update data 385 saved in the storage device 13 is read into the memory 12.

以下,本実施の形態のバックアップ機能部300による更新監視処理やバックアップ処理の流れを,フローチャートを用いて説明する。   Hereinafter, the flow of update monitoring processing and backup processing by the backup function unit 300 according to the present embodiment will be described with reference to flowcharts.

図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 backup function unit 300 of the host OS 30, the generation unit 310 monitors access to each VHD file 130 stored in the storage device 13 (step S10). The generation unit 310 determines whether the data of the VHD file 130 has been updated (step S11).

VHDファイル130のデータが更新されれば(ステップS11のYES),生成部310は,データが更新されたセクタの情報を取得する(ステップS12)。生成部310は,対応データ355を参照し,データが更新されたVHDファイル130に対応する仮想マシン40の更新データ385に,取得されたセクタの情報を記録する(ステップS13)。生成部310は,ステップS10の処理に戻って,VHDファイル130へのアクセスの監視を続ける。   If the data in the VHD file 130 is updated (YES in step S11), the generation unit 310 acquires information on the sector in which the data has been updated (step S12). The generation unit 310 refers to the correspondence data 355 and records the acquired sector information in the update data 385 of the virtual machine 40 corresponding to the VHD file 130 whose data has been updated (step S13). The generation unit 310 returns to the process of step S10 and continues to monitor access to the VHD file 130.

図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 backup function unit 300 of the host OS 30, the calculation unit 320 refers to the update data 385 for each virtual machine 40 to be backed up and obtains the number of sectors in which the data has been updated (step S20). The calculation unit 320 obtains an updated data amount from the number of sectors in which data has been updated for each virtual machine 40, refers to the backup speed data 365, and calculates an estimated time from the updated data amount and the backup speed. Calculate (step S21).

判断部330は,各仮想マシン40の見積もり時間から,時間指定データ375で指定された時間内に差分バックアップ処理が実行可能と判断される仮想マシン40を選定する(ステップS22)。   Based on the estimated time of each virtual machine 40, the determination unit 330 selects the virtual machine 40 that is determined to be able to execute the differential backup process within the time specified by the time specification data 375 (step S22).

実行部340は,選定された仮想マシン40を,優先順に1つ選択する(ステップS23)。実行部340は,選択された仮想マシン40の差分バックアップを実行する(ステップS24)。実行部340は,選択された仮想マシン40の差分バックアップが成功したかを判定する(ステップS25)。例えば,バックアップ先のストレージの容量が不足している場合や,見積もり時間以上に時間がかかってしまい指定された時間内にバックアップ処理が終了しなかった場合,バックアップ処理中に障害が発生した場合などに,バックアップ失敗となる。バックアップが成功した場合には(ステップS25のYES),実行部340は,バックアップが終了した仮想マシン40の更新データ385をクリアする(ステップS26)。   The execution unit 340 selects one selected virtual machine 40 in the priority order (step S23). The execution unit 340 executes differential backup of the selected virtual machine 40 (step S24). The execution unit 340 determines whether the differential backup of the selected virtual machine 40 has succeeded (step S25). For example, when the storage capacity of the backup destination is insufficient, when it takes longer than the estimated time and backup processing does not end within the specified time, or when a failure occurs during backup processing The backup fails. If the backup is successful (YES in step S25), the execution unit 340 clears the update data 385 of the virtual machine 40 that has been backed up (step S26).

実行部340は,選定されたすべての仮想マシン40についてバックアップが終了したかを判定する(ステップS27)。まだ,選定されたすべての仮想マシン40についてバックアップが終了していなければ(ステップS27のNO),実行部340は,ステップS23の処理に戻って,次の仮想マシン40の差分バックアップ処理に移る。選定されたすべての仮想マシン40についてバックアップが終了していれば(ステップS27のYES),バックアップ機能部300は,処理を終了する。   The execution unit 340 determines whether backup has been completed for all the selected virtual machines 40 (step S27). If the backup has not been completed for all selected virtual machines 40 (NO in step S27), the execution unit 340 returns to the process in step S23 and proceeds to the differential backup process for the next virtual machine 40. If the backup has been completed for all the selected virtual machines 40 (YES in step S27), the backup function unit 300 ends the process.

以上説明したように,本実施の形態によるバックアップ機能部300では,予測部301によって,バックアップ対象データごとに,差分バックアップ処理に要する時間を予測することが可能となる。また,予測された時間を用いて,特定の時間内に差分バックアップの処理が終了可能な1または複数のバックアップ対象データを自動で選定することが可能となる。これにより,時間オーバーによるバックアップ処理の中断や,バックアップ処理の中断による不完全なバックアップファイルの生成を防止することが可能となる。   As described above, in the backup function unit 300 according to the present embodiment, the prediction unit 301 can predict the time required for differential backup processing for each backup target data. In addition, using the predicted time, it is possible to automatically select one or a plurality of backup target data that can finish the differential backup process within a specific time. As a result, it is possible to prevent interruption of backup processing due to overtime and generation of an incomplete backup file due to interruption of backup processing.

また,本実施の形態において,仮想マシン40を構成するデータをバックアップ対象データとするバックアップ機能部300は,ホストOS30のみに備えられる。このように,本実施の形態によるバックアップ機能部300は,ホストOS30にインストールしたコンポーネントだけで実現可能であり,各仮想マシン40へのコンポーネントの追加が不要となる。   Further, in the present embodiment, the backup function unit 300 that uses the data constituting the virtual machine 40 as the backup target data is provided only in the host OS 30. As described above, the backup function unit 300 according to the present embodiment can be realized only by the components installed in the host OS 30, and the addition of the components to each virtual machine 40 becomes unnecessary.

以上,本実施の形態について説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。   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 virtual machine 40 has been described, but the backup target data is not limited to data configuring the virtual machine 40 and is arbitrary.

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 Virtual Machine System 10 Hardware 11 CPU
12 Memory 13 Storage Device 130 VHD File 14 Communication Device 15 Medium Reading / Writing Device 16 Input Device 17 Output Device 20 Hypervisor 30 Host OS
DESCRIPTION OF SYMBOLS 300 Backup function part 301 Prediction part 310 Generation part 320 Calculation part 330 Judgment part 340 Execution part 350 Corresponding information storage part 360 Backup speed information storage part 370 Time designation information storage part 380 Update information storage part 40 Virtual machine 41 Virtual hard disk

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.
JP2012017519A 2012-01-31 2012-01-31 Prediction program, prediction apparatus, and prediction method Pending JP2013156873A (en)

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)

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

Cited By (1)

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