WO2013030967A1 - バックアップ方法、およびバックアッププログラム - Google Patents
バックアップ方法、およびバックアッププログラム Download PDFInfo
- Publication number
- WO2013030967A1 WO2013030967A1 PCT/JP2011/069674 JP2011069674W WO2013030967A1 WO 2013030967 A1 WO2013030967 A1 WO 2013030967A1 JP 2011069674 W JP2011069674 W JP 2011069674W WO 2013030967 A1 WO2013030967 A1 WO 2013030967A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- backup
- information
- storage area
- guest
- configuration file
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 85
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 9
- 239000003795 chemical substances by application Substances 0.000 description 60
- 230000010365 information processing Effects 0.000 description 44
- 230000006870 function Effects 0.000 description 29
- 230000003287 optical effect Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 238000001514 detection method Methods 0.000 description 11
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Definitions
- the present invention relates to a backup method and a backup program.
- the disk image of the computer includes OS (Operating System) program code and data.
- the disk image of the computer may include program code and data of application software (hereinafter referred to as “application”) that is executed using an OS library.
- an OS deployment method a disk image of an acquisition source computer and information about resources such as hardware are stored, and a deployment destination and information about acquisition source resources are compared and deployed. There is something that determines whether or not.
- VMM Virtual Machine Monitor
- When backing up a virtual machine information related to the resources of the virtual machine is backed up as in the physical environment.
- a technique is disclosed in which an image file of a guest OS and an application operating in a virtual machine is encrypted or distributed with a message digest value attached.
- the host OS that manages the virtual machine has information on resources such as hardware of the virtual machine, and it is difficult for a guest OS that does not have access authority to the information on resources to perform backup. .
- an object of the present invention is to provide a backup method and backup program for efficiently backing up information about resources.
- the specific OS has access authority. Then, information related to the resources used by the backup target OS among the computer resources is extracted from the first storage area to which the backup target OS does not have access authority, and the resource information is extracted from the first storage area to the specific OS and A backup method and a backup program are proposed for copying information about resources to a second storage area to which the backup target OS has access authority, copying information about resources to the second storage area, and then backing up information about resources.
- FIG. 1 is an explanatory diagram illustrating an operation example of the backup method according to the present embodiment.
- FIG. 2 is a block diagram of an example of hardware of the information processing apparatus according to the embodiment.
- FIG. 3 is a block diagram illustrating a software example of the information processing apparatus.
- FIG. 4 is a block diagram illustrating an example of functions of the information processing apparatus.
- FIG. 5 is an explanatory diagram showing an example of the contents stored in the backup image file.
- FIG. 6 is an explanatory diagram showing an example of the contents stored in the guest machine management table.
- FIG. 7 is an explanatory diagram (part 1) of an operation example during backup.
- FIG. 8 is an explanatory diagram (part 2) of an operation example during backup.
- FIG. 9 is an explanatory diagram (part 3) of an operation example during backup.
- FIG. 1 is an explanatory diagram illustrating an operation example of the backup method according to the present embodiment.
- FIG. 2 is a block diagram of an example of hardware of the information processing apparatus according to
- FIG. 10 is a flowchart (part 1) illustrating an example of backup processing.
- FIG. 11 is a flowchart (part 2) illustrating an example of the backup process.
- FIG. 12 is a flowchart illustrating an example of configuration file backup processing by the agent.
- FIG. 13 is a flowchart illustrating an example of image backup processing by the backup tool.
- FIG. 1 is an explanatory diagram showing an operation example of the backup method according to the present embodiment.
- FIG. 1 illustrates an operation example of the information processing apparatus 100 that executes the backup method according to the present embodiment.
- the information processing apparatus 100 executes, on the VMM 101, a host machine 102 that manages a guest machine of the information processing apparatus 100, a guest machine 103, and a guest machine 104.
- the VMM 101 is software that controls a computer to virtualize and execute a plurality of OSs.
- the host machine 102 to guest machine 104 are virtual machines and are virtual computers that operate on the information processing apparatus 100.
- the host machine 102 to the guest machine 104 are software that virtualizes a CPU, memory, and the like, which are hardware resources of the information processing apparatus 100, and provides a virtualized execution environment to software executed on the virtual machine.
- the host machine 102 executes the host OS 110
- the guest machine 103 executes the guest OS 111.
- the hardware of the information processing apparatus 100 will be described later with reference to FIG.
- the host machine 102 manages the guest machine 103 and the guest machine 104. Specifically, the host machine 102 allocates hardware resources of the information processing apparatus 100 to the guest machine 103 and the guest machine 104. Specifically, information related to resources used by the virtual machine (hereinafter referred to as “configuration information”) is described in the configuration file 112. A specific example of the configuration file 112 is shown in FIG. The configuration file 112 is stored in the management area 114 of the host OS, which is a first storage area where the host OS 110 has access authority and the guest OS 111 does not have access authority.
- the host OS 110 executes an agent component (hereinafter referred to as “agent”) 113.
- agent monitors the start of the backup process on either the guest machine 103 or the guest machine 104.
- the backup process is a process for backing up the guest OS 111 when the backup target OS is the guest OS 111.
- the backup when the configuration information exists in the VHD (Virtual Hard Disk) file 115 serving as the second storage area to which the guest OS 111 has access authority, the backup is performed including the configuration information. Further, the backup processing may include backup of the application program code and data when the application executed using the OS library is in the second storage area.
- the VHD file 115 is a file according to a file format structurally similar to that of a hard disk.
- a recording medium 122 storing a backup tool 121 for executing a backup process is inserted into the information processing apparatus 100 by a virtual machine administrator or the like.
- the recording medium 122 is, for example, an optical disc such as a CD (Compact Disc), or a portable flash ROM (Read-Only Memory).
- the agent 113 detects the guest OS 111 as the backup target OS as the (1) -th process. For example, when the recording medium 122 is inserted, the agent 113 may detect the OS that is the operation target as the backup target OS. Further, the agent 113 may detect the restarted guest OS as the backup target OS when the host OS 110 can detect the restart of the guest OS 111.
- the agent 113 extracts the configuration file 112 corresponding to the guest OS 111 from the management area 114 of the host OS serving as the first storage area as the (2) -th process. Subsequently, as a third process, the agent 113 copies the configuration file 112 to the VHD file 115 while the VHD file 115 serving as the second storage area is not mounted on the guest OS 111 or the backup tool 121. . At this time, the agent 113 may copy the configuration file 112 when the configuration file storage folder 123 exists in the VHD file 115. After copying, the backup tool 121 mounts and reads the VHD file 115 and backs up the guest OS 111 and the like.
- the agent 113 can backup the configuration file 112 without giving the authority of the host OS 110 to the guest OS 111 by copying the configuration file 112 to an area to which the guest OS 111 has access authority.
- the information processing apparatus 100 that performs the operation of FIG. 1 will be described with reference to FIGS.
- FIG. 2 is a block diagram of an example of hardware of the information processing apparatus according to the embodiment.
- the information processing apparatus 100 includes a CPU (Central Processing Unit) 201, a ROM 202, and a RAM (Random Access Memory) 203.
- the information processing apparatus 100 as a storage device includes a magnetic disk drive 204, a magnetic disk 205, an optical disk drive 206, and an optical disk 207.
- the information processing apparatus 100 as an input / output device for a user or other devices includes a display 208, an I / F (Interface) 209, a keyboard 210, and a mouse 211. Each unit is connected by a bus 213.
- I / F Interface
- the CPU 201 controls the entire information processing apparatus 100.
- the ROM 202 stores a program such as a boot program.
- the RAM 203 is used as a work area for the CPU 201.
- the magnetic disk drive 204 controls reading / writing of data with respect to the magnetic disk 205 according to the control of the CPU 201.
- the magnetic disk 205 stores data written under the control of the magnetic disk drive 204.
- the optical disc drive 206 controls reading / writing of data with respect to the optical disc 207 according to the control of the CPU 201.
- the optical disk 207 stores data written under the control of the optical disk drive 206, or causes the computer to read data stored on the optical disk 207.
- the backup program according to the present embodiment may be stored in any one of the ROM 202, the magnetic disk 205, and the optical disk 207.
- the display 208 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box.
- the display 208 can employ a CRT, a TFT liquid crystal display, a plasma display, or the like.
- the I / F 209 is connected to a network 212 such as a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet through a communication line, and is connected to other devices via the network 212.
- the I / F 209 controls an internal interface with the network 212 and controls data input / output from an external device.
- a modem or a LAN adapter may be employed as the I / F 209.
- the keyboard 210 has keys for inputting characters, numbers, various instructions, etc., and inputs data.
- the keyboard 210 may be a touch panel type input pad or a numeric keypad.
- the mouse 211 performs cursor movement, range selection, window movement, size change, and the like.
- the information processing apparatus 100 may be a trackball or a joystick as long as it has the same function as a pointing device instead of the mouse 211.
- FIG. 3 is a block diagram illustrating an example of software of the information processing apparatus.
- FIG. 3 illustrates an example of software in the case where the information processing apparatus 100 constructs a hypervisor type virtual environment in an explanatory diagram indicated by reference numeral 301.
- the explanatory diagram indicated by reference numeral 302 shows an example of software when the information processing apparatus 100 constructs a host OS type virtual environment.
- the hypervisor type VMM 101 directly controls the hardware 303 and executes the host machine 102 to the guest machine 104.
- the agent 113 operating on the host OS 110 of the host machine 102 detects the insertion of the recording medium 122 and copies the configuration file 112.
- the backup tool 121 stored in the recording medium 122 writes the guest OS 111 and the copy destination configuration file 112 to the backup image file 305 in the disk 304.
- the information processing apparatus 100 constructs a hypervisor type virtual environment, but the information processing apparatus 100 may construct a host OS type virtual environment.
- the information processing apparatus 100 executes a host OS 110 that controls the information processing apparatus 100.
- the host OS 110 executes the agent 113 and the VMM 101 as one application of the host OS 110.
- the agent 113 detects the insertion of the recording medium 122 and copies the configuration file 112.
- the backup tool 121 stored in the recording medium 122 writes the guest OS 111 and the copy destination configuration file 112 to the backup image file 305 in the disk 304.
- the disk 304 is the magnetic disk 205, the optical disk 207, or the like shown in FIG.
- the backup image file 305 is copy information that backs up software as an image file. Next, functions of the agent 113 and the backup tool 121 will be described.
- FIG. 4 is a block diagram illustrating an example of functions of the information processing apparatus.
- the information processing apparatus 100 includes a detection unit 401, a stop unit 402, a determination unit 403, an extraction unit 404, an encryption unit 405, a generation unit 406, a copy unit 407, and a resume unit 408.
- the information processing apparatus 100 includes a backup unit 411, a decryption unit 412, a generation unit 413, a determination unit 414, and a writing unit 415.
- control unit 401 to writing unit 415) are realized by the CPU 201 executing the program stored in the storage device.
- the storage device is, for example, the ROM 202, the RAM 203, the magnetic disk 205, the optical disk 207, etc. shown in FIG.
- the function may be realized by another CPU executing via the I / F 209.
- the detection unit 401 to the restart unit 408 are functions of the agent 113 executed on the host machine 102, and the backup unit 411 to the write unit 415 are functions of the backup tool 121 executed on the guest machine 103. is there.
- the backup unit 411 to the writing unit 415 are functions of the backup tool 121 executed by the guest machine 103 booted by the OS in the recording medium 122, but are also functions of the backup tool 121 executed by the host OS 110. Good.
- the information processing apparatus 100 can access a guest machine management table 421 that stores guest machine management information. Details of the guest machine management table 421 will be described later with reference to FIG.
- the detecting unit 401 has a function of detecting a backup target OS different from a specific OS among a plurality of OSs operating on the computer. Specifically, the detection unit 401 detects a guest OS 111 different from the host OS 110 serving as a specific OS among the host OS 110 and the guest OS 111 operating on the information processing apparatus 100 as a backup target OS. Further, when the restart of the guest machine can be detected, the detection unit 401 may detect the OS that has been restarted as the backup target OS. The detection unit 401 may be executed by a host OS that is a specific OS, or may be executed by another OS that is different from the host OS and the backup target OS. Note that the OS operating on the information processing apparatus 100 is one host OS 110 and one or more guest OSs.
- the detection unit 401 detects the recording medium 122 that is in a computer-readable state. When the recording medium 122 is detected, the detection unit 401 detects an OS to be operated from among a plurality of OSs as a backup target OS. Also good.
- the OS to be operated is an OS that accepts user input such as a keyboard 210 and a mouse 211.
- the recording medium 122 becomes readable is the case where the optical disk 207 is inserted into the information processing apparatus 100 and the optical disk 207 can be read if the recording medium 122 is the optical disk 207.
- the recording medium 122 is a portable flash ROM, the recording medium 122 can be read when the flash ROM is connected to the information processing apparatus 100 and the flash ROM can be read.
- the recording medium 122 is an ISO (International Organization for Standardization) image file stored in the magnetic disk 205 or a server or the like connected via the network 212
- the recording medium 122 is in a readable state
- the ISO is used. This is when the image file is mounted.
- the detected backup target OS identification information is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the stopping unit 402 has a function of stopping the process of backing up the backup target OS before the second storage area is recognized by the backup target OS.
- the recognition of the second storage area indicates a state in which the VHD file 115 serving as the second storage area is mounted.
- the stop unit 402 sets a breakpoint before the VHD file 115 is mounted, and stops the backup unit 411 before the guest machine 103 on which the guest OS 111 has been executed mounts the VHD file 115.
- the stop unit 402 may be executed by a host OS as a specific OS, or may be executed by another OS.
- the result of the stop is stored in a storage area such as the RAM 203, the magnetic disk 205, or the optical disk 207.
- the determination unit 403 has a function of determining whether or not a second storage area that is a copy destination of information related to resources exists by a specific OS.
- the second storage area may be, for example, the VHD file 115 or the configuration file storage folder 123 inside the VHD file 115.
- the configuration file storage folder 123 is created by the backup tool 121 before the guest OS 111 that is the backup target OS shuts down.
- the path of the configuration file storage folder 123 corresponding to the backup target OS is stored in the guest machine management table 421.
- the determination unit 403 determines whether the configuration file storage folder 123 exists in the VHD file 115 by the host OS 110.
- the determination unit 403 may be executed by a host OS that is a specific OS, or may be executed by another OS that is different from the host OS and the backup target OS.
- the determination result is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the extraction unit 404 When the backup target OS is detected, the extraction unit 404 has a function of extracting information related to resources used by the backup target OS from among the computer resources from the first storage area.
- the first storage area is a storage area in which a specific OS has access authority and the backup target OS does not have access authority.
- the extraction unit 404 detects the guest OS 111 as a backup target OS, the host OS 110 extracts configuration information used by the guest OS 111 from the host OS management area 114 serving as the first storage area.
- the extraction unit 404 may be executed by a host OS that is a specific OS, or may be executed by an OS other than the backup target OS that has an access right to the first storage area.
- the host OS may temporarily transfer access authority to another OS.
- the other OS may be different from or different from the other OS that has executed the detection unit 401.
- the extraction unit 404 may extract information on the resource from the first storage area. Note that a pointer to the extracted configuration information is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the encryption unit 405 has a function of encrypting information on resources extracted by the extraction unit 404 with a secret key based on identification information of a virtual machine corresponding to the backup target OS. For example, the encryption unit 405 encrypts the configuration information with a secret key generated using the virtual machine identification information as an initialization vector.
- the encryption method is, for example, a block cipher in which configuration information is divided into blocks each having a certain length and encryption is performed in units of blocks. Specific encryption algorithms include 3DES (Data Encryption Standard), RC5 (Rivest's Cipher 5), and the like.
- the encrypted configuration information is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the generation unit 406 has a function of generating a hash value of information related to the resource extracted by the extraction unit 404 using a predetermined hash function.
- the predetermined hash function is, for example, MD5 (Message Digest Algorithm 5), SHA (Secure Hash Algorithm) -1, or the like.
- MD5 Message Digest Algorithm 5
- SHA Secure Hash Algorithm -1
- the generation unit 406 generates a hash value of configuration information according to MD5.
- the generated hash value is stored in a storage area such as the RAM 203, the magnetic disk 205, or the optical disk 207.
- the copying unit 407 has a function of copying information about resources from the first storage area to the second storage area where the specific OS and the backup target OS have access authority. For example, the copying unit 407 copies the configuration information from the first storage area to the second storage area. Further, the copying unit 407 may copy the resource information from the first storage area to the second storage area while the second storage area is not recognized by the backup target OS. For example, the copying unit 407 copies the configuration information from the first storage area to the second storage area while the second storage area is not mounted.
- the copying unit 407 may be executed by a host OS that is a specific OS, or may be executed by an OS other than the backup target OS that has the authority to access the first storage area.
- the host OS may temporarily transfer access authority to another OS.
- the copying unit 407 may copy the information on the resource encrypted by the encryption unit 405. Further, the copying unit 407 may copy the information regarding the resource and the hash value generated by the generating unit 406.
- the copying unit 407 may periodically attempt to copy to the second storage area after detecting the backup target OS and extracting the configuration information. Good. For example, when the backup target OS has just been detected, since the second storage area is mounted by the backup target OS, even if the copy unit 407 attempts to copy, the copy unit 407 is not set as a shared area. ,Fail. However, by periodically attempting copying, the backup target OS restarts the guest machine, so that the OS to be backed up is also copied once the second storage area is unmounted, and the copying unit 407 performs copying. It can be carried out.
- the copy unit 407 determines that the copy destination storage area exists, the copy unit 407 transfers information about the resource from the first storage area while the second storage area is not recognized by the backup target OS. You may copy to the storage area of a copy destination. For example, the copying unit 407 may perform copying when the configuration file storage folder 123 exists.
- the resuming unit 408 has a function of resuming the process of backing up the backup target OS after the stop unit 402 has copied the information about the resource. For example, the resuming unit 408 cancels the suspension of the guest machine 103 stopped by the breakpoint and restarts the backup unit 411.
- the resuming unit 408 may be executed by a host OS that is a specific OS, or may be executed by another OS.
- the backup unit 411 has a function of backing up information about resources after copying information about resources to the second storage area. For example, the backup unit 411 writes the configuration file 112 to the backup image file 305 in the disk 304. Further, the backup unit 411 may write the backup target OS into the backup image file 305. For example, when the backup target OS has already been written in the backup image file 305, the backup unit 411 may back up only the configuration file 112 without backing up the backup target OS. In this case, the guest machine 103 may be restarted with the guest OS 111 as the backup target OS.
- the backup unit 411 may back up the backup target OS and information on the resources by software recorded on the recording medium 122 detected by the detection unit 401. For example, the backup unit 411 writes the guest OS 111 and the configuration file 112 to the backup image file 305 in the disk 304 by using the backup tool 121 recorded on the recording medium 122.
- the decryption unit 412 has a function of decrypting information on resources encrypted using the same secret key as the secret key used by the host OS 110.
- the decryption unit 412 determines, for example, the encryption algorithm to be used in advance in the same way as the host OS 110, and identifies the guest machine 103 as an initialization vector. Use information.
- the decryption unit 412 decrypts the configuration information encrypted using the secret key.
- the decoded configuration information is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the generation unit 413 has a function of generating a hash value of information related to a copy destination resource by using the same hash function as a predetermined hash function. For example, the generation unit 413 generates a hash value of the configuration file 112 copied in the configuration file storage folder 123.
- the generated hash value is stored in a storage area such as the RAM 203, the magnetic disk 205, or the optical disk 207.
- the determination unit 414 has a function of determining the legitimacy of information related to the copy destination resource using the hash value generated by the generation unit 413 and the hash value of the copy destination. For example, when the generated hash value matches the hash value of the copy destination, the determination unit 414 determines that the information on the copy destination resource has not been tampered with.
- the determination result is stored in a storage area such as the RAM 203, the magnetic disk 205, and the optical disk 207.
- the writing unit 415 writes information on the backup target OS and resources in the backup image file 305.
- the writing unit 415 writes the guest OS 111 and configuration information in the backup image file 305.
- the writing unit 415 may write the information related to the resource in the backup image file 305 when it is determined that the information related to the copy destination resource has not been tampered with.
- FIG. 5 is an explanatory diagram showing an example of the contents stored in the backup image file.
- the configuration file 112 exists on the host machine 102 as a file such as “xxx.xml”, for example.
- the agent 113 copies “xxx.xml” to the configuration file storage folder 123.
- the backup tool 121 writes the copy destination configuration file 112 and the disk image of the guest machine 103 to the backup image file 305.
- the disk image of the guest machine 103 is an image file obtained by converting the entire disk device from which the system has been backed up into a file.
- the configuration file 112 includes BIOS (Basic Input / Output System) information, virtual NIC (Network Interface Card) MAC (Media Access Control) address, CPU information, memory information, and hardware information.
- BIOS information includes, for example, time information, time until BIOS startup, and the like.
- the virtual NIC MAC address the MAC address of the virtual NIC assigned to the virtual machine is set.
- the information on the CPU includes, for example, the number of CPUs used by the virtual machine.
- the information on the memory includes, for example, the amount of memory allocated to the virtual machine.
- Information about hardware includes, for example, I / O settings, display settings, and the like.
- FIG. 6 is an explanatory diagram showing an example of the contents stored in the guest machine management table.
- the guest machine management table 421 stores guest machine management information for each guest machine.
- the guest machine management table 421 shown in FIG. 6 stores a record 421-1.
- the guest machine management table 421 includes six fields: virtual machine ID, process ID, debugger attach flag, VHD file path, configuration file path, and configuration file storage folder path.
- the virtual machine ID field stores an ID that uniquely identifies the virtual machine on the host machine.
- the process ID field stores the process ID of the virtual machine on the host machine. A virtual machine is handled as one process on the host machine.
- the debugger attach flag field stores a flag indicating whether or not the debugger process is attached to the virtual machine. For example, when the debugger process is attached, the debugger attach flag field stores “0b1”, and when the debugger process is detached, the debugger attach flag field stores “0b0”. '0b' is a prefix indicating a binary number.
- the physical path on the host OS of the VHD file 115 is stored in the VHD file path field.
- the configuration file path field stores the physical path of the configuration file 112 on the host OS.
- the configuration file storage folder path field stores the path of the folder storing the configuration file 112 in the virtual hard disk on which the VHD file 115 is mounted.
- the record 421-1 indicates that the virtual machine with the virtual machine ID “103” and the process ID “0xAAAAAAAA” is not connected to the debugger process.
- the VHD file 115 exists in “D: ⁇ VM ⁇ aa.vhd” on the host machine, and the configuration file 112 is “D: ⁇ VM”. ⁇ Aa.xml ".
- the record 421-1 indicates that the path of the configuration file storage folder 123 is “C: ⁇ DcW”, assuming that the drive letter when the host machine mounts the VHD file 115 is “C”.
- the agent 113 executes backup processing with reference to the guest machine management table 421 shown in FIG. Next, an example of operation during backup will be described with reference to FIGS.
- FIG. 7 is an explanatory diagram (part 1) illustrating an operation example during backup.
- the agent 113 is installed on the host machine 102 by the administrator of the host machine 102 or the like.
- the host machine 102 detects the recording medium 122 and executes the program recorded on the recording medium 122.
- the host machine 102 installs the agent 113 when installation of the agent 113 is selected by the administrator of the host machine 102 or the like from the menu of the backup tool 121 displayed by the recorded program.
- the installed agent 113 generates a secret key from the virtual machine ID of the guest machine managed by the host machine 102.
- the installed agent 113 monitors the state of the guest machine 103 and the guest machine 104 and periodically checks whether or not the recording medium 122 has been inserted. The operation after the agent 113 detects the insertion will be described later with reference to FIG.
- the administrator of the guest machine 103 or the like inserts the recording medium 122 and activates the backup tool 121.
- the backup tool 121 creates the configuration file storage folder 123 in a specific path. After creating the configuration file storage folder 123, the backup tool 121 shuts down the guest machine 103 to stop the execution of the guest OS 111, and restarts the guest machine 103 by booting the recording medium 122.
- FIG. 8 is an explanatory diagram (part 2) of an operation example during backup.
- the information processing apparatus 100 shown in FIG. 8 is in a state where a state where the recording medium 122 is ready to be read is detected.
- a breakpoint is set before the VHD file mounting process in the program code 801 of the guest machine 103.
- the program code 801 is an OS program recorded in the recording medium 122.
- a debugger process started from the agent 113 sets a breakpoint.
- the breakpoint may be either a software breakpoint or a hardware breakpoint.
- the agent 113 restarts the guest machine 103 and stops the operation of the guest machine 103 at a breakpoint before attempting to mount the VHD file 115 in which the guest OS 111 is stored.
- the agent 113 can copy the configuration file 112 into the VHD file 115 while no other VHD file 115 is mounted. The operation after the operation of the guest machine 103 is stopped by the breakpoint will be described later with reference to FIG.
- FIG. 9 is an explanatory diagram (part 3) illustrating an operation example during backup.
- the information processing apparatus 100 shown in FIG. 9 is in a state where the operation of the guest machine 103 is stopped by a breakpoint.
- the agent 113 mounts the VHD file 115 that is to be mounted by the guest machine 103 and determines whether or not the configuration file storage folder 123 exists in a specific path.
- the agent 113 copies the configuration file 112 to the configuration file storage folder 123 to indicate that the backup tool 121 was executed before the shutdown. If the configuration file storage folder 123 does not exist in a specific path, the agent 113 does nothing to indicate a normal guest machine shutdown. If the configuration file storage folder 123 exists and the copied configuration file 112 already exists, the agent 113 determines that restoration is in progress.
- the agent 113 When copying the configuration file 112 to the configuration file storage folder 123, the agent 113 encrypts the configuration file 112 with a secret key generated based on the virtual machine ID, and the encrypted configuration file 112 is stored in the configuration file storage folder 123. You may copy it. Further, the agent 113 may generate a hash value of the configuration file 112 and copy the configuration file 112 and the generated hash value to the configuration file storage folder 123. Further, the agent 113 may generate a hash value of the encrypted configuration file 112, or may encrypt the hash value of the configuration file 112.
- the agent 113 and the backup tool 121 determine in advance which process to execute.
- the agent 113 will be described assuming that processing for generating a hash value of the encrypted configuration file 112 is employed.
- the agent 113 cancels the stop of the stopped operation of the guest machine 103.
- the guest machine 103 that has been released from the stop and booted from the recording medium 122 activates the backup tool 121 again.
- the backup tool 121 mounts the VHD file 115 in which the guest OS 111 is stored.
- the backup tool 121 uses the secret based on the virtual machine ID of the guest machine 103. Generate a key.
- the backup tool 121 After mounting the VHD file 115, the backup tool 121 writes the copy destination configuration file 112 to the backup image file 305 and deletes the configuration file storage folder 123. By deleting the configuration file storage folder 123, it is possible to prevent the agent 113 from erroneously recognizing that the backup process is being performed when the guest machine 103 performs a normal reboot next time. Finally, the backup tool 121 writes the disk image of the guest machine 103 into the backup image file 305.
- FIGS. 10 and 11 show backup processing performed by the information processing apparatus 100 as a whole
- FIG. 12 shows configuration file backup processing performed by the agent 113
- FIG. 13 shows image backup processing by the backup tool 121. 10 to 13, it is assumed that the information processing apparatus 100 has inserted the recording medium 122 in which the backup tool 121 is stored.
- FIG. 10 is a flowchart (part 1) illustrating an example of backup processing.
- the guest machine 103 reads the recording medium 122 in which the backup tool 121 is stored (step S1001).
- the guest machine 103 determines whether or not the guest machine 103 is a virtual machine using the backup tool 121 of the recording medium 122 (step S1002).
- the backup tool 121 refers to the setting information, registry information, and the like of the guest OS 111 to determine whether or not the virtual machine is a virtual machine.
- step S1002 When the guest machine 103 is a virtual machine (step S1002: Yes), the guest machine 103 creates the configuration file storage folder 123 in a specific path (step S1003). After creating the configuration file storage folder 123 in a specific path, or when the guest machine 103 is not a virtual machine (step S1002: No), the guest machine 103 proceeds to the process of step S1101 shown in FIG.
- the agent 113 determines whether the recording medium 122 has detected a readable state (step S1004). When the readable state is not detected (step S1004: No), the agent 113 executes the process of step S1004 again after a predetermined time has elapsed. When the readable state is detected (step S1004: Yes), the agent 113 detects the guest OS 111 to be operated as a backup target OS (step S1005). Subsequently, the agent 113 generates a secret key from the detected virtual machine ID of the backup target OS (step S1006).
- the agent 113 activates the debugger process (step S1007), and attaches the debugger process to the guest machine 103 (step S1008). Since the debugger process is generated for each guest machine, the agent 113 can cope with backups performed simultaneously on a plurality of guest machines. After attaching to the guest machine 103, the agent 113 sets the debugger attach flag of the attached guest machine 103 to '0b1' (step S1009), and sets a breakpoint before the VHD file mounting process (step S1010). After setting the breakpoint, the agent 113 proceeds to the process of step S1102 shown in FIG.
- FIG. 11 is a flowchart (part 2) illustrating an example of the backup process.
- the guest machine 103 shuts down the guest OS by the backup tool 121 of the recording medium 122 and restarts by booting from the recording medium 122 (step S1101).
- the guest machine 103 stops operation when a breakpoint is set before the VHD file 115 is mounted.
- the agent 113 determines whether or not a break interrupt has been detected (step S1102). When the break interrupt is not detected (step S1102: No), the agent 113 executes the process of step S1102 again after a predetermined time has elapsed. When a break interrupt is detected (step S1102: Yes), the agent 113 executes a configuration file backup process (step S1103). Details of the configuration file backup process will be described later with reference to FIG. Next, the agent 113 cancels the breakpoint (step S1104), and sets the debugger attach flag to “0b0” (step S1105). After the setting, the agent 113 detaches the debugger process from the guest machine 103 (step S1106), releases the stop due to the breakpoint of the guest machine (step S1107), and ends the backup process.
- the guest machine 103 whose suspension is canceled in the process of step S1107 executes the image backup process (step S1108), and ends the backup process. Details of the image backup processing will be described later with reference to FIG.
- FIG. 12 is a flowchart showing an example of configuration file backup processing by the agent.
- the agent 113 mounts the VHD file 115 (step S1201), and determines whether or not the configuration file storage folder 123 exists in a specific path in the VHD file 115 (step S1202).
- step S1202 Yes
- step S1203 the agent 113 determines whether the configuration file 112 exists in the configuration file storage folder 123 (step S1203).
- the agent 113 extracts the configuration file 112 from the management area 114 of the host OS (step S1204).
- the agent 113 After extracting the configuration file 112, the agent 113 copies the configuration file 112 to the configuration file storage folder 123 (step S1205). Subsequently, the agent 113 encrypts the configuration file 112 using the secret key (step S1206), generates a hash value of the encrypted configuration file 112 (step S1207), and stores the hash value in the configuration file storage folder 123. (Step S1208).
- step S1203 If the configuration file 112 exists (step S1203: Yes), the agent 113 restores using the configuration file 112 (step S1209) and deletes the configuration file storage folder 123 (step S1210).
- step S1208 the step S1210, or the configuration file storage folder 123 does not exist (step S1202: No)
- the agent 113 unmounts the VHD file 115 (step S1211), and ends the configuration file backup process.
- FIG. 13 is a flowchart showing an example of image backup processing by the backup tool.
- the backup tool 121 determines whether or not the configuration file storage folder 123 exists in a specific path (step S1301). When the configuration file storage folder 123 does not exist (step S1301: No), the backup tool 121 outputs a restoration completion (step S1302) and ends the image backup process.
- the output destination may be, for example, in the console of the backup tool 121 or may be stored in the storage area of the information processing apparatus 100 as a text file.
- step S1301 If the configuration file storage folder 123 exists (step S1301: Yes), the backup tool 121 determines whether the configuration file 112 exists in the configuration file storage folder 123 (step S1303). When the configuration file 112 exists (step S1303: Yes), the backup tool 121 generates a hash value of the encrypted configuration file 112 (step S1304).
- the backup tool 121 determines whether or not the hash value stored in the configuration file storage folder 123 is the same as the generated hash value (step S1305). If they are the same (step S1305: Yes), the backup tool 121 decrypts the encrypted configuration file 112 using the secret key (step S1306) and writes the configuration file 112 to the backup image file 305 (step S1307). ).
- step S1303: No the configuration file storage folder 123 is deleted (step S1308).
- step S1314 the configuration file storage folder 123 is deleted (step S1308).
- step S1314 the backup tool 121 writes the guest OS to the backup image file 305 (step S1309).
- the backup tool 121 ends the image backup process.
- the guest has access authority to the configuration information of the virtual machine in the first storage area that becomes the management area of the host OS before the storage area of the virtual machine is mounted. Is copied to a second storage area having
- the backup method can efficiently back up the configuration information in the virtual machine without giving the authority of the host OS to the virtual machine.
- the virtual machine can operate the other virtual machine, and for example, a risk due to an erroneous operation on the other virtual machine has occurred.
- a password is provided as an access right to the administrator of the virtual machine, a new password must be set after copying is completed, resulting in unnecessary processing.
- the host authority is not given, the virtual machine administrator manually sets the configuration information notified by the host administrator, etc. There were cases where it could not be recovered.
- the backup method may extract the configuration information from the first storage area when the storage area that is the copy destination of the configuration information exists in the second storage area. Thereby, the backup method can determine that the backup process by the backup tool has been started, and can narrow down the backup target OS.
- the backup method may copy the information about the resource by stopping the backup process before the second storage area is recognized by the backup target OS or the OS of the recording medium.
- the backup method stops before the backup target is recognized, so that it is possible to ensure that the configuration information is copied before the backup process.
- the backup method may detect the OS to be operated as the backup target OS when a recording medium that is readable by the computer is detected. Thereby, the backup method detects the possibility of being backed up by the recording medium, and can narrow down the backup target OS.
- the configuration information may be encrypted with a secret key based on the virtual machine.
- the configuration information includes, for example, a virtual NIC MAC address.
- the backup method can prevent spoofing by encrypting the configuration information.
- the backup method may generate a hash value of the configuration information and determine the validity of the configuration information from the hash value.
- the configuration information includes, for example, information on the amount of memory allocated to the virtual machine, and may be altered by a third party so as to reduce the amount of allocated memory. Therefore, the backup method can back up configuration information that has not been tampered with by generating a hash value.
- the backup method can back up a virtual machine including configuration files with almost the same operation as a backup of a conventional physical environment.
- this backup method has an effect that even a virtual machine administrator with little knowledge does not have to learn complicated operations for backup including configuration files.
- the administrator when the physical server that executes the host OS is damaged, the administrator can restore the system including the configuration information more quickly and accurately than manually inputting the configuration information.
- the backup method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation.
- the backup program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer.
- the backup program may be distributed via a network such as the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
仮想マシンにホストの権限を与えずにハードウェアリソースの情報をバックアップする。ホストOS(110)上で動作するエージェント(113)は、バックアップ対象OSとなるゲストOS(111)を検出する。次に、エージェント(113)は、エージェント(113)は、第1の記憶領域となるホストOSの管理領域(114)からゲストOS(111)に対応する構成ファイル(112)を抽出する。続けて、エージェント(113)は、第2の記憶領域となるVHDファイル(115)がバックアップツール(121)にマウントされていない間に、VHDファイル(115)内に構成ファイル(112)を複写する。複写後、バックアップツール(121)は、VHDファイル(115)をマウントして読出し、構成ファイル(112)をバックアップする。
Description
本発明は、バックアップ方法、およびバックアッププログラムに関する。
従来から、コンピュータの物理的破損に備えたり、または、コンピュータの環境を移行したりするために、コンピュータのディスクイメージをバックアップすることが行われている。コンピュータのディスクイメージには、OS(Operating System)のプログラムコードとデータが含まれる。また、コンピュータのディスクイメージは、OSのライブラリを利用して実行されるアプリケーションソフトウェア(以下、「アプリ」と称する)のプログラムコードとデータを含んでいてもよい。
関連する先行技術としては、たとえば、OSのデプロイ方法として、取得元のコンピュータのディスクイメージとハードウェア等のリソースに関する情報とを記憶し、デプロイ先と取得元のリソースに関する情報を比較してデプロイするか否かを決定するものがある。また、仮想マシンモニタ(VMM:Virtual Machine Monitor)によって実行される仮想マシン(仮想計算機)のイメージをバックアップする技術が存在する。仮想マシンのバックアップを行う場合、物理環境と同様に仮想マシンのリソースに関する情報をバックアップすることになる。仮想マシンに関連する先行技術としては、たとえば、仮想マシンで動作するゲストOSおよびアプリのイメージファイルを暗号化、またはメッセージダイジェスト値を添付して配布する技術が開示されている。
しかしながら、上述した従来技術において、仮想マシンのハードウェア等のリソースに関する情報は仮想マシンを管理するホストOSが有しており、リソースに関する情報へのアクセス権限がないゲストOSがバックアップを行うことは難しい。
1つの側面では、本発明は、リソースに関する情報のバックアップを効率的に行うバックアップ方法、およびバックアッププログラムを提供することを目的とする。
本発明の一側面によれば、コンピュータ上で動作している複数のOSのうち特定のOSとは異なるバックアップ対象OSを検出し、バックアップ対象OSを検出した場合、特定のOSがアクセス権限を有しバックアップ対象OSがアクセス権限を有さない第1の記憶領域から、コンピュータのリソースのうちバックアップ対象OSが使用するリソースに関する情報を抽出し、リソースに関する情報を第1の記憶領域から特定のOSおよびバックアップ対象OSがアクセス権限を有する第2の記憶領域に複写し、第2の記憶領域にリソースに関する情報を複写した後、リソースに関する情報をバックアップするバックアップ方法、およびバックアッププログラムが提案される。
本発明の一様態によれば、リソースに関する情報のバックアップを効率的に行うことができる。
以下に添付図面を参照して、開示のバックアップ方法、およびバックアッププログラムの実施の形態を詳細に説明する。
図1は、本実施の形態にかかるバックアップ方法の動作例を示す説明図である。図1では、本実施の形態にかかるバックアップ方法を実行する情報処理装置100の動作例を説明する。情報処理装置100は、VMM101上に、情報処理装置100のゲストマシンを管理するホストマシン102と、ゲストマシン103と、ゲストマシン104と、を実行する。
VMM101は、コンピュータを仮想化し、複数のOSを実行できるように制御するソフトウェアである。ホストマシン102~ゲストマシン104は、仮想マシンであり、情報処理装置100で動作する仮想的なコンピュータである。たとえば、ホストマシン102~ゲストマシン104は、情報処理装置100のハードウェアリソースとなるCPU、メモリ等を仮想化し、仮想化された実行環境を仮想マシン上で実行されるソフトウェアに提供するソフトウェアである。具体的に、ホストマシン102は、ホストOS110を実行し、ゲストマシン103は、ゲストOS111を実行する。なお、情報処理装置100のハードウェアについては、図2にて後述する。
また、ホストマシン102は、ゲストマシン103、ゲストマシン104を管理する。具体的に、ホストマシン102は、ゲストマシン103、ゲストマシン104に、情報処理装置100のハードウェアリソースを割り当てる。具体的に、仮想マシンが使用するリソースに関する情報(以下、「構成情報」と称する)は、構成ファイル112に記載されている。構成ファイル112の具体例は、図5にて示す。また、構成ファイル112は、ホストOS110がアクセス権限を有しゲストOS111がアクセス権限を有さない第1の記憶領域となるホストOSの管理領域114に記憶されている。
また、ホストOS110は、エージェントコンポーネント(以下、「エージェント」と称する)113を実行する。エージェント113は、ゲストマシン103、ゲストマシン104のいずれかにてバックアップ処理が開始することを監視する。
バックアップ処理とは、バックアップ対象OSがゲストOS111である場合、ゲストOS111をバックアップする処理である。なお、バックアップ処理は、ゲストOS111がアクセス権限を有する第2の記憶領域となるVHD(Virtual Hard Disk)ファイル115内に構成情報が存在する場合、構成情報を含めてバックアップする。さらに、バックアップ処理は、OSのライブラリを利用して実行されるアプリが第2の記憶領域内にある場合、アプリのプログラムコードとデータを含めてバックアップしてもよい。なお、VHDファイル115とは、ハードディスクと構造的に似せたファイル形式に従ったファイルである。
このような状態で、仮想マシンの管理者等により、情報処理装置100にバックアップ処理を実行するバックアップツール121が格納された記録媒体122が挿入された場合を想定する。記録媒体122は、たとえば、CD(Compact Disc)等の光ディスク等であったり、または、可搬できるフラッシュROM(Read‐Only Memory)であったりする。
エージェント113は、(1)番目の処理として、バックアップ対象OSとなるゲストOS111を検出する。たとえば、エージェント113は、記録媒体122が挿入された場合に、操作対象となっているOSをバックアップ対象OSとして検出してもよい。さらに、エージェント113は、ホストOS110がゲストOS111の再起動を検出できる場合、再起動したゲストOSをバックアップ対象OSとして検出してもよい。
バックアップ対象OSが検出された場合、エージェント113は、(2)番目の処理として、第1の記憶領域となるホストOSの管理領域114からゲストOS111に対応する構成ファイル112を抽出する。続けて、エージェント113は、(3)番目の処理として、第2の記憶領域となるVHDファイル115がゲストOS111またはバックアップツール121にマウントされていない間に、VHDファイル115に構成ファイル112を複写する。このとき、エージェント113は、VHDファイル115内に構成ファイル格納フォルダ123が存在する場合、構成ファイル112を複写してもよい。複写後、バックアップツール121は、VHDファイル115をマウントして読出し、ゲストOS111を含めてバックアップする。
このように、エージェント113は、構成ファイル112をゲストOS111がアクセス権限を有する領域に複写することで、ゲストOS111にホストOS110の権限を与えずに構成ファイル112のバックアップを行うことができる。図2~図13にて、図1の動作を行う情報処理装置100の説明を行う。
(情報処理装置100のハードウェア)
図2は、実施の形態にかかる情報処理装置のハードウェアの一例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM202と、RAM(Random Access Memory)203と、を含む。また、記憶装置として情報処理装置100は、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、を含む。また、ユーザやその他の機器との入出力装置として情報処理装置100は、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、を含む。また、各部はバス213によってそれぞれ接続されている。
図2は、実施の形態にかかる情報処理装置のハードウェアの一例を示すブロック図である。図2において、情報処理装置100は、CPU(Central Processing Unit)201と、ROM202と、RAM(Random Access Memory)203と、を含む。また、記憶装置として情報処理装置100は、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、を含む。また、ユーザやその他の機器との入出力装置として情報処理装置100は、ディスプレイ208と、I/F(Interface)209と、キーボード210と、マウス211と、を含む。また、各部はバス213によってそれぞれ接続されている。
ここで、CPU201は、情報処理装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。なお、ROM202、磁気ディスク205、光ディスク207のいずれかの記憶装置に、本実施の形態にかかるバックアッププログラムが格納されていてもよい。
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。たとえば、ディスプレイ208は、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F209は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク212に接続され、このネットワーク212を介して他の装置に接続される。そして、I/F209は、ネットワーク212と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F209には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード210は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード210は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。また、情報処理装置100は、マウス211の代わりとして、ポインティングデバイスとして同様に機能を有するものであれば、トラックボールやジョイスティックなどであってもよい。
図3は、情報処理装置のソフトウェア例を示すブロック図である。図3では、符号301が示す説明図にて、情報処理装置100がハイパーバイザ型による仮想化環境を構築している場合のソフトウェア例を示している。また、符号302が示す説明図では、情報処理装置100がホストOS型による仮想化環境を構築している場合のソフトウェア例を示している。
符号301が示す説明図にて、ハイパーバイザ型のVMM101は、ハードウェア303を直接制御し、ホストマシン102~ゲストマシン104を実行する。ホストマシン102のホストOS110で動作するエージェント113は、記録媒体122の挿入を検出し、構成ファイル112を複写する。記録媒体122に格納されたバックアップツール121は、ゲストOS111と複写先の構成ファイル112とをディスク304内のバックアップイメージファイル305に書き込む。このように、本実施の形態にかかる情報処理装置100は、ハイパーバイザ型による仮想化環境を構築しているが、情報処理装置100はホストOS型による仮想化環境を構築してもよい。
符号302が示す説明図にて、情報処理装置100は、情報処理装置100を制御するホストOS110を実行する。ホストOS110は、ホストOS110の1アプリとしてエージェント113とVMM101を実行する。エージェント113は、記録媒体122の挿入を検出し、構成ファイル112を複写する。記録媒体122に格納されたバックアップツール121は、ゲストOS111と複写先の構成ファイル112とをディスク304内のバックアップイメージファイル305に書き込む。
なお、ディスク304は、図2で示した磁気ディスク205、光ディスク207等である。また、バックアップイメージファイル305は、ソフトウェアをイメージファイルとしてバックアップした複製情報である。次に、エージェント113およびバックアップツール121の機能について説明する。
(情報処理装置100の機能)
次に、情報処理装置100の機能について説明する。図4は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、検出部401と、停止部402と、判定部403と、抽出部404と、暗号化部405と、生成部406と、複写部407と、再開部408と、を含む。また、情報処理装置100は、バックアップ部411と、復号部412と、生成部413と、判定部414と、書込部415と、を含む。
次に、情報処理装置100の機能について説明する。図4は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、検出部401と、停止部402と、判定部403と、抽出部404と、暗号化部405と、生成部406と、複写部407と、再開部408と、を含む。また、情報処理装置100は、バックアップ部411と、復号部412と、生成部413と、判定部414と、書込部415と、を含む。
この制御部となる機能(検出部401~書込部415)は、記憶装置に記憶されたプログラムをCPU201が実行することにより、その機能を実現する。記憶装置とは、具体的には、たとえば、図2に示したROM202、RAM203、磁気ディスク205、光ディスク207などである。または、I/F209を経由して他のCPUが実行することにより、その機能を実現してもよい。
また、検出部401~再開部408は、ホストマシン102にて実行されるエージェント113の機能であり、バックアップ部411~書込部415は、ゲストマシン103にて実行されるバックアップツール121の機能である。なお、バックアップ部411~書込部415は、記録媒体122内のOSによってブートされたゲストマシン103で実行されるバックアップツール121の機能であるが、ホストOS110によって実行されるバックアップツール121の機能でもよい。
また、情報処理装置100は、ゲストマシンの管理情報を記憶するゲストマシン管理テーブル421にアクセス可能である。ゲストマシン管理テーブル421の詳細は、図6にて後述する。
検出部401は、コンピュータ上で動作している複数のOSのうち特定のOSとは異なるバックアップ対象OSを検出する機能を有する。具体的には、検出部401は、情報処理装置100上で動作しているホストOS110、ゲストOS111のうち、特定のOSとなるホストOS110とは異なるゲストOS111をバックアップ対象OSとして検出する。また、検出部401は、ゲストマシンの再起動の検出が可能である場合、再起動が行われたOSをバックアップ対象OSとして検出してもよい。また、検出部401は、特定のOSとなるホストOSが実行してもよいし、ホストOS、バックアップ対象OSとは異なる他のOSが実行してもよい。なお、情報処理装置100上で動作しているOSは、1つのホストOS110と、1以上のゲストOSとなる。
また、検出部401は、コンピュータで読出可能な状態になった記録媒体122を検出し、記録媒体122が検出された場合、複数のOSのうち操作対象となるOSをバックアップ対象OSとして検出してもよい。操作対象となるOSとは、キーボード210、マウス211といったユーザ入力を受け付けているOSである。
なお、記録媒体122が読出可能な状態になる場合とは、記録媒体122が光ディスク207であれば、情報処理装置100に光ディスク207が挿入され、光ディスク207が読出可能となる場合である。また、記録媒体122が可搬できるフラッシュROMであれば、記録媒体122が読出可能な状態になる場合は、情報処理装置100にフラッシュROMが接続され、フラッシュROMが読出可能となる場合である。
また、記録媒体122が磁気ディスク205、またはネットワーク212で接続されたサーバ等に格納されたISO(International Organization for Standardization)イメージファイルであれば、記録媒体122が読出可能な状態になる場合は、ISOイメージファイルをマウントしたときである。なお、検出したバックアップ対象OSの識別情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
停止部402は、第2の記憶領域がバックアップ対象OSに認識される前に、バックアップ対象OSをバックアップする処理を停止させる機能を有する。なお、第2の記憶領域が認識されるとは、第2の記憶領域となるVHDファイル115がマウントされた状態を示している。たとえば、停止部402は、VHDファイル115がマウントされる前にブレークポイントを設定しておき、ゲストOS111が実行されていたゲストマシン103がVHDファイル115をマウントする前にバックアップ部411を停止させる。
また、停止部402は、特定のOSとなるホストOSが実行してもよいし、他のOSが実行してもよい。なお、停止したという結果が、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
判定部403は、バックアップ対象OSが検出された場合、特定のOSにより、リソースに関する情報の複写先である第2の記憶領域が存在しているか否かを判定する機能を有する。第2の記憶領域は、たとえば、VHDファイル115でもよいし、VHDファイル115の内部にある構成ファイル格納フォルダ123でもよい。また、構成ファイル格納フォルダ123は、バックアップ対象OSであるゲストOS111がシャットダウンする前に、バックアップツール121によって作成されている。なお、バックアップ対象OSに対応する構成ファイル格納フォルダ123のパスは、ゲストマシン管理テーブル421に記憶されている。
たとえば、判定部403は、ホストOS110により、構成ファイル格納フォルダ123がVHDファイル115内に存在するか否かを判定する。また、判定部403は、特定のOSとなるホストOSが実行してもよいし、ホストOS、バックアップ対象OSとは異なる他のOSが実行してもよい。なお、判定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
抽出部404は、バックアップ対象OSを検出した場合、第1の記憶領域から、コンピュータのリソースのうちバックアップ対象OSが使用するリソースに関する情報を抽出する機能を有する。なお、第1の記憶領域は、特定のOSがアクセス権限を有しバックアップ対象OSがアクセス権限を有さない記憶領域である。たとえば、抽出部404は、バックアップ対象OSとしてゲストOS111を検出した場合、ホストOS110により、第1の記憶領域となるホストOSの管理領域114から、ゲストOS111が使用する構成情報を抽出する。
また、抽出部404は、特定のOSとなるホストOSにて実行されてもよいし、第1の記憶領域へのアクセス権限を有するバックアップ対象OS以外の他のOSで実行されてもよい。たとえば、ホストOSが、他のOSに一時的にアクセス権限を譲渡してもよい。さらに他のOSは、検出部401を実行した他のOSと異なってもよいし、同じであってもよい。
また、抽出部404は、判定部403によって、複写先の記憶領域が存在していると判定された場合、第1の記憶領域からリソースに関する情報を抽出してもよい。なお、抽出された構成情報へのポインタ等が、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
暗号化部405は、抽出部404によって抽出されたリソースに関する情報を、バックアップ対象OSに対応する仮想マシンの識別情報に基づく秘密鍵で暗号化する機能を有する。なお、仮想マシンの識別情報は、たとえば、暗号化部405は、仮想マシンの識別情報を初期化ベクトルとして生成された秘密鍵で構成情報を暗号化する。なお、暗号化の方法としては、たとえば、構成情報を一定の長さのブロックごとに区切り、ブロック単位で暗号化を行うブロック暗号等である。具体的な暗号化アルゴリズムとしては、3DES(Data Encryption Standard)、RC5(Rivest’s Cipher 5)等である。なお、暗号化された構成情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
生成部406は、所定のハッシュ関数によって、抽出部404によって抽出されたリソースに関する情報のハッシュ値を生成する機能を有する。なお、所定のハッシュ関数とは、たとえば、MD5(Message Digest Algorithm 5)、SHA(Secure Hash Algorithm)-1等である。たとえば、生成部406は、MD5にしたがって、構成情報のハッシュ値を生成する。なお、生成されたハッシュ値は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
複写部407は、リソースに関する情報を第1の記憶領域から特定のOSおよびバックアップ対象OSがアクセス権限を有する第2の記憶領域に複写する機能を有する。たとえば、複写部407は、構成情報を第1の記憶領域から第2の記憶領域に複写する。また、複写部407は、第2の記憶領域がバックアップ対象OSに認識されていない間に、リソースに関する情報を第1の記憶領域から第2の記憶領域に複写してもよい。たとえば、複写部407は、第2の記憶領域がマウントされていない間に、構成情報を第1の記憶領域から第2の記憶領域に複写する。
また、複写部407は、特定のOSとなるホストOSにて実行されてもよいし、第1の記憶領域へのアクセス権限を有するバックアップ対象OS以外の他のOSで実行されてもよい。たとえば、ホストOSが、他のOSに一時的にアクセス権限を譲渡してもよい。
また、複写部407は、暗号化部405によって暗号化されたリソースに関する情報を複写してもよい。また、複写部407は、リソースに関する情報と生成部406によって生成されたハッシュ値を複写してもよい。
なお、第2の記憶領域がマウントされていない間として、複写部407は、バックアップ対象OSを検出して構成情報を抽出した後、第2の記憶領域に複写することを定期的に試みてもよい。たとえば、バックアップ対象OSの検出直後である場合、第2の記憶領域がバックアップ対象OSによりマウントされているため、複写部407が複写を試みても、複写部407が共有領域に設定されていない限り、失敗する。しかし、定期的に複写を試みることで、バックアップツール121によるゲストマシンの再起動により、バックアップ対象OSは第2の記憶領域を一旦アンマウントしたときにも複写が試みられ、複写部407は、複写を行うことができる。
また、複写部407は、複写先の記憶領域が存在していると判定された場合、第2の記憶領域がバックアップ対象OSに認識されていない間に、リソースに関する情報を第1の記憶領域から複写先の記憶領域に複写してもよい。たとえば、複写部407は、構成ファイル格納フォルダ123が存在している場合に複写してもよい。
再開部408は、停止部402によって、リソースに関する情報を複写した後、バックアップ対象OSをバックアップする処理を再開させる機能を有する。たとえば、再開部408は、ブレークポイントによって停止したゲストマシン103について、停止を解除して、バックアップ部411を再開させる。なお、再開部408は、特定のOSとなるホストOSが実行してもよいし、他のOSが実行してもよい。
バックアップ部411は、第2の記憶領域にリソースに関する情報を複写した後、リソースに関する情報をバックアップする機能を有する。たとえば、バックアップ部411は、構成ファイル112をディスク304内のバックアップイメージファイル305に書き込む。また、バックアップ部411は、バックアップ対象OSをバックアップイメージファイル305に書き込んでもよい。たとえば、バックアップ部411は、バックアップ対象OSが既にバックアップイメージファイル305に書き込まれている場合、バックアップ対象OSをバックアップせず、構成ファイル112のみをバックアップしてもよい。なお、この場合、ゲストマシン103は、バックアップ対象OSとなるゲストOS111で再起動してもよい。
また、バックアップ部411は、検出部401によって検出された記録媒体122に記録されたソフトウェアにより、バックアップ対象OSとリソースに関する情報とをバックアップしてもよい。たとえば、バックアップ部411は、記録媒体122に記録されたバックアップツール121により、ゲストOS111と構成ファイル112をディスク304内のバックアップイメージファイル305に書き込む。
復号部412は、ホストOS110が使用した秘密鍵と同一の秘密鍵を用いて暗号化されたリソースに関する情報を復号する機能を有する。ホストOS110が使用した秘密鍵と同一の秘密鍵を用いるために、復号部412は、たとえば、採用する暗号化アルゴリズムを予めホストOS110と同一に決定しておき、初期化ベクトルとしてゲストマシン103の識別情報を使用する。たとえば、復号部412は、秘密鍵を用いて暗号化された構成情報を復号する。なお、復号された構成情報は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
生成部413は、所定のハッシュ関数と同一のハッシュ関数によって、複写先のリソースに関する情報のハッシュ値を生成する機能を有する。たとえば、生成部413は、構成ファイル格納フォルダ123内に複写された構成ファイル112のハッシュ値を生成する。なお、生成されたハッシュ値は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
判定部414は、生成部413によって生成されたハッシュ値と複写先のハッシュ値とを用いて複写先のリソースに関する情報の正当性を判定する機能を有する。たとえば、判定部414は、生成されたハッシュ値と複写先のハッシュ値が一致した場合、複写先のリソースに関する情報の正当性について、改ざんされていないことを判定する。なお、判定結果は、RAM203、磁気ディスク205、光ディスク207などの記憶領域に記憶される。
書込部415は、バックアップ対象OSとリソースに関する情報をバックアップイメージファイル305に書き込む。たとえば、書込部415は、ゲストOS111と構成情報をバックアップイメージファイル305に書き込む。また、書込部415は、複写先のリソースに関する情報の正当性について、改ざんされていないことが判定できた場合、リソースに関する情報をバックアップイメージファイル305に書き込んでもよい。
図5は、バックアップイメージファイルの記憶内容の一例を示す説明図である。構成ファイル112は、ホストマシン102上に、たとえば、“xxx.xml”といったファイルで存在している。エージェント113は、“xxx.xml”を構成ファイル格納フォルダ123に複写する。バックアップツール121は、複写先の構成ファイル112とゲストマシン103のディスクイメージをバックアップイメージファイル305に書き込む。ゲストマシン103のディスクイメージとは、システムがバックアップされたディスク装置全体をファイル化したイメージファイルである。
また、構成ファイル112は、BIOS(Basic Input/Output System)情報、仮想NIC(Network Interface Card)MAC(Media Access Control)アドレス、CPUに関する情報、メモリに関する情報、ハードウェアに関する情報が含まれる。BIOS情報としては、たとえば、時刻情報、BIOS起動までの時間等が含まれる。仮想NICMACアドレスは、仮想マシンに割り当てられた仮想NICのMACアドレスが設定される。CPUに関する情報は、たとえば、仮想マシンが使用するCPU数等が含まれる。メモリに関する情報は、たとえば、仮想マシンに割り当てられたメモリ量等が含まれる。ハードウェアに関する情報は、たとえば、I/O設定、ディスプレイ設定等が含まれる。
図6は、ゲストマシン管理テーブルの記憶内容の一例を示す説明図である。ゲストマシン管理テーブル421は、ゲストマシンの管理情報をゲストマシンごとに記憶する。図6で示すゲストマシン管理テーブル421は、レコード421-1を記憶している。ゲストマシン管理テーブル421は、仮想マシンID、プロセスID、デバッガアタッチフラグ、VHDファイルパス、構成ファイルパス、構成ファイル格納フォルダパスという6つのフィールドを含む。仮想マシンIDフィールドには、ホストマシン上の仮想マシンを一意に特定するIDが格納される。プロセスIDフィールドには、ホストマシン上の仮想マシンのプロセスIDが格納される。なお、仮想マシンは、ホストマシン上では1つのプロセスとして扱われる。
デバッガアタッチフラグフィールドには、デバッガ用プロセスが仮想マシンにアタッチしたか否かを示すフラグが格納される。たとえば、デバッガ用プロセスがアタッチした場合、デバッガアタッチフラグフィールドは‘0b1’を格納し、デバッガ用プロセスがデタッチした場合、デバッガアタッチフラグフィールドは‘0b0’を格納する。なお、‘0b’は、2進数を示す接頭語である。
VHDファイルパスフィールドには、VHDファイル115のホストOS上の物理パスが格納される。構成ファイルパスフィールドには、構成ファイル112のホストOS上の物理パスが格納される。構成ファイル格納フォルダパスフィールドには、VHDファイル115をマウントした仮想ハードディスク内の、構成ファイル112を格納するフォルダのパスが格納される。
たとえば、レコード421-1では、仮想マシンID“103”となり、プロセスIDが“0xAAAAAAAA”となる仮想マシンが、デバッガ用プロセスに未接続であることを示している。また、レコード421-1では、仮想マシンID“103”の仮想マシンが、VHDファイル115がホストマシン上の“D:¥VM¥aa.vhd”に存在し、構成ファイル112が“D:¥VM¥aa.xml”に存在することを示している。また、レコード421-1では、ホストマシンがVHDファイル115をマウントした際のドライブレターを“C”と想定すると、構成ファイル格納フォルダ123のパスが、“C:¥DcW”であることを示す。
エージェント113は、図6で示したゲストマシン管理テーブル421を参照してバックアップ処理を実行する。続けて、図7~図9にて、バックアップ中の動作例を説明する。
図7は、バックアップ中の動作例を示す説明図(その1)である。初めに、情報処理装置100の運用開始時、ホストマシン102の管理者等によって、エージェント113がホストマシン102にインストールされる。たとえば、ホストマシン102が情報処理装置100での操作対象の仮想マシンとなっている状態で、ホストマシン102は、記録媒体122を検出し、記録媒体122の記録されたプログラムを実行する。続けて、ホストマシン102は、記録されたプログラムにより表示されたバックアップツール121のメニューから、エージェント113のインストールがホストマシン102の管理者等によって選択された場合に、エージェント113をインストールする。
インストールされたエージェント113は、ホストマシン102が管理するゲストマシンの仮想マシンIDから、秘密鍵を生成する。次に、インストールされたエージェント113は、ゲストマシン103、ゲストマシン104の状態を監視し、記録媒体122が挿入されたか否かを定期的に確認する。エージェント113が挿入を検出した後の動作については、図8にて後述する。
続けて、ゲストマシン103は、ゲストマシン103の管理者等によって記録媒体122が挿入され、バックアップツール121を起動する。バックアップツール121は、特定のパスに構成ファイル格納フォルダ123を作成する。構成ファイル格納フォルダ123の作成後、バックアップツール121は、ゲストOS111の実行を停止すべく、ゲストマシン103のシャットダウンを行い、記録媒体122のブートによりゲストマシン103を再起動する。
図8は、バックアップ中の動作例を示す説明図(その2)である。図8で示す情報処理装置100は、記録媒体122が読出可能になった状態を検出した状態である。記録媒体122の検出後、ゲストマシン103のプログラムコード801のうち、VHDファイルマウント処理の前にブレークポイントを設定する。なお、プログラムコード801は、記録媒体122に記録されたOSのプログラムである。具体的には、エージェント113から起動されたデバッガ用プロセスがブレークポイントを設定する。なお、ブレークポイントは、ソフトウェアブレークポイントとハードウェアブレークポイントとのいずれであってもよい。
これにより、エージェント113は、ゲストマシン103が再起動し、ゲストOS111が格納されたVHDファイル115をマウントしようとする前のブレークポイントによってゲストマシン103の動作を停止させる。したがって、エージェント113は、VHDファイル115が他にマウントされていない間にVHDファイル115内に構成ファイル112を複写することができる。ブレークポイントによってゲストマシン103の動作が停止した後の動作については、図9にて後述する。
図9は、バックアップ中の動作例を示す説明図(その3)である。図9で示す情報処理装置100は、ゲストマシン103の動作がブレークポイントによって停止した状態である。エージェント113は、ゲストマシン103がマウントする予定であるVHDファイル115をマウントし、特定のパスに構成ファイル格納フォルダ123が存在する否かを判断する。
特定のパスに構成ファイル格納フォルダ123がある場合、シャットダウン前にバックアップツール121が実行していたことを示すため、エージェント113は、構成ファイル112を構成ファイル格納フォルダ123に複写する。特定のパスに構成ファイル格納フォルダ123がない場合、通常のゲストマシンシャットダウンであることを示すため、エージェント113は何も行わない。また、構成ファイル格納フォルダ123があり、既に複写後の構成ファイル112がある場合、エージェント113は、リストア中であると判断する。
構成ファイル112を構成ファイル格納フォルダ123に複写する場合、エージェント113は、構成ファイル112を仮想マシンIDに基づいて生成された秘密鍵で暗号し、暗号化後の構成ファイル112を構成ファイル格納フォルダ123に複写してもよい。また、エージェント113は、構成ファイル112のハッシュ値を生成して、構成ファイル112と生成したハッシュ値を構成ファイル格納フォルダ123に複写してもよい。また、エージェント113は、暗号化後の構成ファイル112のハッシュ値を生成してもよいし、構成ファイル112のハッシュ値を暗号化してもよい。
上記4つのいずれかの処理について、エージェント113とバックアップツール121は、どの処理を実行するかを予め決定しておく。なお、後述する図12、図13のフローチャートでは、エージェント113は、暗号化後の構成ファイル112のハッシュ値を生成する処理が採用された場合を想定して説明を行う。
構成ファイル格納フォルダ123に複写後、エージェント113は、停止させていたゲストマシン103の動作の停止を解除する。停止が解除し、記録媒体122からブートしたゲストマシン103は、再びバックアップツール121を起動する。バックアップツール121は、ゲストOS111が格納されているVHDファイル115をマウントする。また、構成ファイル格納フォルダ123に複写される構成ファイル112、または、ハッシュ値のいずれかが暗号化されると決定されている場合、バックアップツール121は、ゲストマシン103の仮想マシンIDに基づいた秘密鍵を生成する。
VHDファイル115のマウント後、バックアップツール121は、バックアップイメージファイル305に複写先の構成ファイル112を書き込み、構成ファイル格納フォルダ123を消去する。構成ファイル格納フォルダ123を消去することにより、次にゲストマシン103が通常の再起動を行った場合に、エージェント113が、バックアップ処理が行われていると誤認識することを防ぐことができる。最後に、バックアップツール121は、バックアップイメージファイル305にゲストマシン103のディスクイメージを書き込む。
続けて、図7~図9にて示した動作を行うフローチャートを、図10~図13にて示す。図10、図11では、情報処理装置100全体で行われるバックアップ処理を示し、図12では、エージェント113で行われる構成ファイルバックアップ処理を示し、図13では、バックアップツール121によるイメージバックアップ処理を示す。また、図10~図13では、情報処理装置100が、バックアップツール121が格納された記録媒体122を挿入された場合を想定している。
図10は、バックアップ処理の一例を示すフローチャート(その1)である。ゲストマシン103は、バックアップツール121が格納された記録媒体122を読み出す(ステップS1001)。次に、ゲストマシン103は、記録媒体122のバックアップツール121により、ゲストマシン103が仮想マシンか否かを判断する(ステップS1002)。なお、バックアップ対象が仮想マシンか否かの判断方法として、たとえば、バックアップツール121はゲストOS111の設定情報、レジストリ情報等を参照して、仮想マシンか否かを判断する。
ゲストマシン103が仮想マシンである場合(ステップS1002:Yes)、ゲストマシン103は、特定のパスに構成ファイル格納フォルダ123を作成する(ステップS1003)。特定のパスに構成ファイル格納フォルダ123の作成後、または、ゲストマシン103が仮想マシンでない場合(ステップS1002:No)、ゲストマシン103は、図11で示すステップS1101の処理に移行する。
エージェント113は、記録媒体122が読出可能な状態を検出したか否かを判断する(ステップS1004)。読出可能な状態を検出していない場合(ステップS1004:No)、エージェント113は、一定時間経過後、ステップS1004の処理を再び実行する。読出可能な状態を検出した場合(ステップS1004:Yes)、エージェント113は、操作対象となるゲストOS111をバックアップ対象OSとして検出する(ステップS1005)。続けて、エージェント113は、検出したバックアップ対象OSの仮想マシンIDから秘密鍵を生成する(ステップS1006)。
秘密鍵の生成後、エージェント113は、デバッガ用プロセスを起動し(ステップS1007)、デバッガ用プロセスをゲストマシン103へアタッチする(ステップS1008)。なお、デバッガ用プロセスは、ゲストマシンごとに生成されるため、エージェント113は複数のゲストマシンにて同時にバックアップが行われていても対応することができる。ゲストマシン103へのアタッチ後、エージェント113は、アタッチしたゲストマシン103のデバッガアタッチフラグを’0b1’に設定し(ステップS1009)、VHDファイルマウント処理の前にブレークポイントを設定する(ステップS1010)。ブレークポイントの設定後、エージェント113は、図11で示すステップS1102の処理に移行する。
図11は、バックアップ処理の一例を示すフローチャート(その2)である。ゲストマシン103は、記録媒体122のバックアップツール121により、ゲストOSをシャットダウンし、記録媒体122からのブートにより再起動する(ステップS1101)。ゲストマシン103は、VHDファイル115をマウントする前にブレークポイントが設定されていた場合、動作を停止する。
エージェント113は、ブレーク割込を検出したか否かを判断する(ステップS1102)。ブレーク割込を検出していない場合(ステップS1102:No)、エージェント113は、一定時間経過後、ステップS1102の処理を再び実行する。ブレーク割込を検出した場合(ステップS1102:Yes)、エージェント113は、構成ファイルバックアップ処理を実行する(ステップS1103)。構成ファイルバックアップ処理の詳細は、図12にて後述する。次に、エージェント113は、ブレークポイントを解除し(ステップS1104)、デバッガアタッチフラグを‘0b0’に設定する(ステップS1105)。設定後、エージェント113は、デバッガ用プロセスをゲストマシン103からデタッチし(ステップS1106)、ゲストマシンのブレークポイントによる停止を解除し(ステップS1107)、バックアップ処理を終了する。
ステップS1107の処理にて停止が解除されたゲストマシン103は、イメージバックアップ処理を実行し(ステップS1108)、バックアップ処理を終了する。イメージバックアップ処理の詳細は、図13にて後述する。
図12は、エージェントによる構成ファイルバックアップ処理の一例を示すフローチャートである。エージェント113は、VHDファイル115をマウントし(ステップS1201)、VHDファイル115内の特定のパスに構成ファイル格納フォルダ123が存在するか否かを判断する(ステップS1202)。構成ファイル格納フォルダ123が存在する場合(ステップS1202:Yes)、エージェント113は、構成ファイル格納フォルダ123に構成ファイル112が存在するか否かを判断する(ステップS1203)。構成ファイル112が存在しない場合(ステップS1203:No)、エージェント113は、ホストOSの管理領域114から構成ファイル112を抽出する(ステップS1204)。
構成ファイル112の抽出後、エージェント113は、構成ファイル112を構成ファイル格納フォルダ123に複写する(ステップS1205)。続けて、エージェント113は、秘密鍵を用いて、構成ファイル112を暗号化し(ステップS1206)、暗号化した構成ファイル112のハッシュ値を生成し(ステップS1207)、ハッシュ値を構成ファイル格納フォルダ123内に格納する(ステップS1208)。
また、構成ファイル112が存在する場合(ステップS1203:Yes)、エージェント113は、構成ファイル112を用いてリストアし(ステップS1209)、構成ファイル格納フォルダ123を消去する(ステップS1210)。ステップS1208、ステップS1210、または、構成ファイル格納フォルダ123が存在しない場合(ステップS1202:No)、エージェント113は、VHDファイル115をアンマウントし(ステップS1211)、構成ファイルバックアップ処理を終了する。
図13は、バックアップツールによるイメージバックアップ処理の一例を示すフローチャートである。バックアップツール121は、特定のパスに構成ファイル格納フォルダ123が存在するか否かを判断する(ステップS1301)。構成ファイル格納フォルダ123が存在しない場合(ステップS1301:No)、バックアップツール121は、リストア完了を出力し(ステップS1302)、イメージバックアップ処理を終了する。なお、出力先は、たとえば、バックアップツール121のコンソール内であってもよいし、テキストファイルとして情報処理装置100の記憶領域に記憶されてもよい。
構成ファイル格納フォルダ123が存在する場合(ステップS1301:Yes)、バックアップツール121は、構成ファイル格納フォルダ123内に構成ファイル112が存在するか否かを判断する(ステップS1303)。構成ファイル112が存在する場合(ステップS1303:Yes)、バックアップツール121は、暗号化された構成ファイル112のハッシュ値を生成する(ステップS1304)。
続けて、バックアップツール121は、構成ファイル格納フォルダ123内に格納されているハッシュ値と生成されたハッシュ値が同一か否かを判断する(ステップS1305)。同一である場合(ステップS1305:Yes)、バックアップツール121は、秘密鍵を用いて、暗号化された構成ファイル112を復号し(ステップS1306)、バックアップイメージファイル305に構成ファイル112を書き込む(ステップS1307)。
構成ファイル112の書込後、構成ファイル112が存在しない場合(ステップS1303:No)、または、ハッシュ値が同一でない場合(ステップS1305:No)、構成ファイル格納フォルダ123を消去する(ステップS1308)。消去した後、バックアップツール121は、バックアップイメージファイル305にゲストOSを書き込む(ステップS1309)。ゲストOSの書込後、バックアップツール121は、イメージバックアップ処理を終了する。
以上説明したように、バックアップ方法、およびバックアッププログラムによれば、仮想マシンの記憶領域がマウントされる前にホストOSの管理領域となる第1の記憶領域の仮想マシンの構成情報をゲストがアクセス権限を有する第2の記憶領域に複写しておく。
これにより、バックアップ方法は、仮想マシンにホストOSの権限を与えずに、仮想マシンにて構成情報のバックアップを効率的に行うことができる。仮想マシンにホストの権限を与えてしまうと、仮想マシンが他の仮想マシンを操作することができてしまい、たとえば、他の仮想マシンへの誤操作等によるリスクが発生してしまっていた。また、仮想マシンの管理者に、アクセス権限としてパスワードを提供してしまうと、複写終了後、新たにパスワードを設定しなおさなくてはならず、余計な処理が発生していた。また、従来では、ホストの権限を与えない場合、仮想マシンの管理者は、ホストの管理者等から通知された構成情報を手入力で設定することになり、入力に時間がかかったり、完全に復旧することができなかったりする場合も存在していた。
また、バックアップ方法は、第2の記憶領域内に、構成情報の複写先となる記憶領域が存在する場合に、第1の記憶領域から構成情報を抽出してもよい。これにより、バックアップ方法は、バックアップツールによるバックアップ処理が開始されていることを判断でき、バックアップ対象OSを絞り込むことができる。
また、バックアップ方法は、第2の記憶領域がバックアップ対象OSまたは記録媒体のOSに認識される前に、バックアップする処理を停止させて、リソースに関する情報を複写してもよい。これにより、バックアップ方法は、バックアップ対象が認識される前に停止するため、バックアップ処理前に構成情報の複写が行われることを担保できる。
また、バックアップ方法は、コンピュータで読出可能な状態になった記録媒体を検出した場合に、操作対象となるOSをバックアップ対象OSとして検出してもよい。これにより、バックアップ方法は、記録媒体によってバックアップされる可能性を検出しており、バックアップ対象OSを絞り込むことができる。
また、バックアップ方法は、構成情報を仮想マシンに基づいた秘密鍵で暗号化してもよい。構成情報には、たとえば、仮想NICMACアドレスが含まれており、仮想MACアドレスが第3者に取得された場合、取得した仮想MACアドレスを用いてなりすましによる不正なアクセスが行われる可能性がある。したがって、バックアップ方法は、構成情報を暗号化することで、なりすましを防止することができる。
また、バックアップ方法は、構成情報のハッシュ値を生成し、ハッシュ値から構成情報の正当性を判定してもよい。構成情報には、たとえば、仮想マシンに割り当てられたメモリ量の情報が含まれており、第3者によって、割り当てられたメモリ量が少なくするように改ざんされる可能性がある。したがって、バックアップ方法は、ハッシュ値を生成することで、改ざんされていない構成情報をバックアップすることができる。
また、バックアップ方法は、従来の物理環境のバックアップとほぼ同じオペレーションで、構成ファイルを含めた仮想マシンのバックアップを行うことができる。これにより、本バックアップ方法は、知識の少ない仮想マシンの管理者であっても、構成ファイルを含めたバックアップのために複雑な操作を覚えなくて済むという効果がある。
また、バックアップ方法によれば、ホストOSを実行する物理サーバが破損した場合、管理者は、構成情報を含めたシステムのリストアについて、構成情報を手入力するよりも早く正確に行うことができる。
なお、本実施の形態で説明したバックアップ方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本バックアッププログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本バックアッププログラムは、インターネット等のネットワークを介して配布してもよい。
100 情報処理装置
102 ホストマシン
103 ゲストマシン
401 検出部
402 停止部
403 判定部
404 抽出部
405 暗号化部
406 生成部
407 複写部
408 再開部
411 バックアップ部
412 復号部
413 生成部
414 判定部
415 書込部
421 ゲストマシン管理テーブル
102 ホストマシン
103 ゲストマシン
401 検出部
402 停止部
403 判定部
404 抽出部
405 暗号化部
406 生成部
407 複写部
408 再開部
411 バックアップ部
412 復号部
413 生成部
414 判定部
415 書込部
421 ゲストマシン管理テーブル
Claims (5)
- コンピュータが、
前記コンピュータ上で動作している複数のOSのうち特定のOSとは異なるバックアップ対象OSを検出し、
前記バックアップ対象OSを検出した場合、前記特定のOSがアクセス権限を有し前記バックアップ対象OSがアクセス権限を有さない第1の記憶領域から、前記コンピュータのリソースのうち前記バックアップ対象OSが使用するリソースに関する情報を抽出し、
前記リソースに関する情報を前記第1の記憶領域から前記特定のOSおよび前記バックアップ対象OSがアクセス権限を有する第2の記憶領域に複写し、
前記第2の記憶領域に前記リソースに関する情報を複写した後、前記リソースに関する情報をバックアップする、
処理を実行することを特徴とするバックアップ方法。 - 前記コンピュータが、
前記特定のOSにより、前記リソースに関する情報の複写先である前記第2の記憶領域が存在しているか否かを判定する処理を実行し、
前記抽出する処理は、
前記第2の記憶領域が存在していると判定された場合、前記第1の記憶領域から、前記リソースに関する情報を抽出する、
ことを特徴とする請求項1に記載のバックアップ方法。 - 前記コンピュータが、
前記第2の記憶領域が前記バックアップ対象OSに認識される前に、前記バックアップ対象OSをバックアップする処理を停止させ、
前記リソースに関する情報を複写した後、前記バックアップ対象OSをバックアップする処理を再開させる、
処理を実行することを特徴とする請求項1または2に記載のバックアップ方法。 - 前記コンピュータが、
前記コンピュータで読出可能な状態になった記録媒体を検出する処理を実行し、
前記バックアップ対象OSを検出する処理は、
前記記録媒体が検出された場合、前記複数のOSのうち操作対象となるOSを前記バックアップ対象OSとして検出し、
前記バックアップする処理は、
前記リソースに関する情報を複写した後、前記記録媒体に記録されたソフトウェアにより、前記リソースに関する情報をバックアップする、
ことを特徴とする請求項1~3のいずれか1つに記載のバックアップ方法。 - コンピュータに、
前記コンピュータ上で動作している複数のOSのうち特定のOSとは異なるバックアップ対象OSを検出し、
前記バックアップ対象OSを検出した場合、前記特定のOSがアクセス権限を有し前記バックアップ対象OSがアクセス権限を有さない第1の記憶領域から、前記コンピュータのリソースのうち前記バックアップ対象OSが使用するリソースに関する情報を抽出し、
前記リソースに関する情報を前記第1の記憶領域から前記特定のOSおよび前記バックアップ対象OSがアクセス権限を有する第2の記憶領域に複写し、
前記第2の記憶領域に前記リソースに関する情報を複写した後、前記リソースに関する情報をバックアップする、
処理を実行させることを特徴とするバックアッププログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013530947A JP5673834B2 (ja) | 2011-08-30 | 2011-08-30 | バックアップ方法、およびバックアッププログラム |
PCT/JP2011/069674 WO2013030967A1 (ja) | 2011-08-30 | 2011-08-30 | バックアップ方法、およびバックアッププログラム |
US14/170,109 US20140149701A1 (en) | 2011-08-30 | 2014-01-31 | Backup method and computer product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/069674 WO2013030967A1 (ja) | 2011-08-30 | 2011-08-30 | バックアップ方法、およびバックアッププログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/170,109 Continuation US20140149701A1 (en) | 2011-08-30 | 2014-01-31 | Backup method and computer product |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013030967A1 true WO2013030967A1 (ja) | 2013-03-07 |
Family
ID=47755519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/069674 WO2013030967A1 (ja) | 2011-08-30 | 2011-08-30 | バックアップ方法、およびバックアッププログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140149701A1 (ja) |
JP (1) | JP5673834B2 (ja) |
WO (1) | WO2013030967A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3070609A4 (en) * | 2013-11-12 | 2016-12-28 | Zte Corp | METHOD AND DEVICE FOR AUTOMATIC SAFETY OF APPLICATION DATA AND RECOVERY IMPLEMENTATION AS REQUIRED |
WO2020157950A1 (ja) * | 2019-02-01 | 2020-08-06 | 三菱電機株式会社 | 情報処理装置、バックアップ方法、リストア方法およびプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3566167A1 (en) * | 2017-01-09 | 2019-11-13 | InterDigital CE Patent Holdings | Methods and apparatus for performing secure back-up and restore |
WO2019055628A1 (en) * | 2017-09-15 | 2019-03-21 | Iron Mountain Incorporated | PROTECTION AND RECOVERY OF SECURE DATA |
US12013760B2 (en) * | 2019-07-10 | 2024-06-18 | Centurion Holdings I, Llc | Methods and systems for recognizing unintended file system changes |
US12007849B2 (en) * | 2021-09-27 | 2024-06-11 | EMC IP Holding Company LLC | System and method for securing instant access of data in file based backups in a backup storage system using metadata files |
US12026059B2 (en) | 2022-07-25 | 2024-07-02 | Dell Products L.P. | Method and system for executing a secure data access from a block-based backup |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210429A (ja) * | 1994-01-11 | 1995-08-11 | Hitachi Ltd | ダンプ取得方法および制御装置および情報処理システム |
JP2005129034A (ja) * | 2003-10-24 | 2005-05-19 | Microsoft Corp | 高い保証の実行環境を備えたシステムにおける信頼できるエージェントへの安全な入出力の提供 |
JP2010511255A (ja) * | 2006-11-29 | 2010-04-08 | クゥアルコム・インコーポレイテッド | 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置 |
JP2010271882A (ja) * | 2009-05-21 | 2010-12-02 | Hitachi Ltd | バックアップ管理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732244B2 (en) * | 2002-01-22 | 2004-05-04 | International Business Machines Corporation | Instant virtual copy technique with expedited creation of backup dataset inventory from source dataset inventory |
US9098347B2 (en) * | 2006-12-21 | 2015-08-04 | Vmware | Implementation of virtual machine operations using storage system functionality |
US8631217B2 (en) * | 2008-02-26 | 2014-01-14 | International Business Machines Corporation | Apparatus, system, and method for virtual machine backup |
JP5000632B2 (ja) * | 2008-12-26 | 2012-08-15 | シャープ株式会社 | 情報記録媒体、情報記録再生装置、連携システム、これらの装置又はシステムの制御プログラム及びコンピュータ読み取り可能な記録媒体 |
US9239765B2 (en) * | 2010-08-31 | 2016-01-19 | Avaya Inc. | Application triggered state migration via hypervisor |
US8498966B1 (en) * | 2012-05-30 | 2013-07-30 | Symantec Corporation | Systems and methods for adaptively performing backup operations |
-
2011
- 2011-08-30 WO PCT/JP2011/069674 patent/WO2013030967A1/ja active Application Filing
- 2011-08-30 JP JP2013530947A patent/JP5673834B2/ja not_active Expired - Fee Related
-
2014
- 2014-01-31 US US14/170,109 patent/US20140149701A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07210429A (ja) * | 1994-01-11 | 1995-08-11 | Hitachi Ltd | ダンプ取得方法および制御装置および情報処理システム |
JP2005129034A (ja) * | 2003-10-24 | 2005-05-19 | Microsoft Corp | 高い保証の実行環境を備えたシステムにおける信頼できるエージェントへの安全な入出力の提供 |
JP2010511255A (ja) * | 2006-11-29 | 2010-04-08 | クゥアルコム・インコーポレイテッド | 保護領域境界を越えるオブジェクトの起動のための方法、システム、及び装置 |
JP2010271882A (ja) * | 2009-05-21 | 2010-12-02 | Hitachi Ltd | バックアップ管理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3070609A4 (en) * | 2013-11-12 | 2016-12-28 | Zte Corp | METHOD AND DEVICE FOR AUTOMATIC SAFETY OF APPLICATION DATA AND RECOVERY IMPLEMENTATION AS REQUIRED |
US9864657B2 (en) | 2013-11-12 | 2018-01-09 | Zte Corporation | Method and apparatus of automatically backing up application data and performing restoration as required |
WO2020157950A1 (ja) * | 2019-02-01 | 2020-08-06 | 三菱電機株式会社 | 情報処理装置、バックアップ方法、リストア方法およびプログラム |
JP6762452B1 (ja) * | 2019-02-01 | 2020-09-30 | 三菱電機株式会社 | 情報処理装置、バックアップ方法、リストア方法およびプログラム |
US11281395B2 (en) | 2019-02-01 | 2022-03-22 | Mitsubishi Electric Corporation | Information processing device, backup method, restore method, and program |
Also Published As
Publication number | Publication date |
---|---|
JPWO2013030967A1 (ja) | 2015-03-23 |
JP5673834B2 (ja) | 2015-02-18 |
US20140149701A1 (en) | 2014-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5673834B2 (ja) | バックアップ方法、およびバックアッププログラム | |
KR101288700B1 (ko) | 멀티 오퍼레이팅 시스템(os) 기동 장치, 컴퓨터 판독 가능한 기록 매체 및 멀티 os 기동 방법 | |
KR101081118B1 (ko) | 보안되는 프로그램을 복원하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
US10990690B2 (en) | Disk encryption | |
US10719346B2 (en) | Disk encryption | |
EP3408778B1 (en) | Disk encryption | |
EP2065805A1 (en) | Secured live software migration | |
US20090240953A1 (en) | On-disk software image encryption | |
JP5689429B2 (ja) | 認証装置、および、認証方法 | |
JP2010508578A (ja) | 透明な二次因子を介したプラットフォーム認証 | |
CN101236532A (zh) | Windows环境下基于USB设备的硬盘加密方法 | |
CN112948859A (zh) | Linux系统下基于LUKS对硬盘的高强度加密方法和系统 | |
US11693689B2 (en) | Online disk encryption using mirror driver | |
US9202058B1 (en) | Root volume encryption mechanism in para-virtualized virtual machine | |
JP2019153050A (ja) | 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム | |
US9015432B1 (en) | Establishing a mapping to a virtual disk | |
EP3408780B1 (en) | Disk encryption | |
CN101236535B (zh) | Windows环境下基于光盘的硬盘加密方法 | |
EP4517572A1 (en) | Software file, and software running method and related apparatus therefor | |
EP3408779B1 (en) | Disk encryption | |
JP7093012B2 (ja) | ディスクデバイス装置、情報処理システム、及び復元プログラム | |
CN101236534A (zh) | Windows环境下基于PCI卡的硬盘加密方法 | |
JP5371105B2 (ja) | インストーラ、情報処理装置、インストール方法及びプログラム | |
GB2546802A (en) | Disk encryption | |
GB2546801A (en) | Disk encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11871657 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013530947 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11871657 Country of ref document: EP Kind code of ref document: A1 |