WO2014073046A1 - 情報処理装置、プログラムおよび仮想マシン移動方法 - Google Patents

情報処理装置、プログラムおよび仮想マシン移動方法 Download PDF

Info

Publication number
WO2014073046A1
WO2014073046A1 PCT/JP2012/078792 JP2012078792W WO2014073046A1 WO 2014073046 A1 WO2014073046 A1 WO 2014073046A1 JP 2012078792 W JP2012078792 W JP 2012078792W WO 2014073046 A1 WO2014073046 A1 WO 2014073046A1
Authority
WO
WIPO (PCT)
Prior art keywords
backup
virtual machine
priority
virtual machines
order
Prior art date
Application number
PCT/JP2012/078792
Other languages
English (en)
French (fr)
Inventor
尚恭 嶋田
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/078792 priority Critical patent/WO2014073046A1/ja
Priority to JP2014545479A priority patent/JP5967215B2/ja
Publication of WO2014073046A1 publication Critical patent/WO2014073046A1/ja
Priority to US14/702,782 priority patent/US9652332B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2048Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Definitions

  • the present invention relates to an information processing apparatus, a program, and a virtual machine moving method.
  • a virtualization technology for operating a plurality of virtual computers (sometimes called virtual machines or logical hosts) on a physical computer (sometimes called a physical machine or a physical host). It's being used.
  • Software such as an OS (Operating System) can be executed on each virtual machine.
  • a physical machine that uses a virtualization technology executes software for managing a plurality of virtual machines. For example, software called a hypervisor may allocate CPU (Central Processing Unit) processing capacity and RAM (Random Access Memory) storage areas to a plurality of virtual machines as computing resources.
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • Some systems that include multiple physical machines can change the physical machine that executes the virtual machine. For example, a technique is used that enables data relating to a virtual machine to be transferred between hypervisors after or without terminating the virtual machine.
  • the time for moving the virtual machine may be limited in an emergency. For example, in the event of a disaster such as an earthquake or fire, the building at the base may collapse. In this case, not all virtual machines can be moved to another base within the time limit. Therefore, how to move the virtual machine efficiently becomes a problem.
  • the virtual machine can be restored to a physical machine at another location using backup data acquired in advance.
  • backup data acquired in advance.
  • an object of the present invention is to provide an information processing apparatus, a program, and a virtual machine moving method that can move a virtual machine in an order that considers a recoverable state.
  • an information processing apparatus includes a storage unit and a calculation unit.
  • the storage unit stores information indicating a data backup history regarding each of a plurality of virtual machines operating on one or a plurality of devices.
  • the computing unit determines the order of moving each of the plurality of virtual machines to one or more other devices based on the information indicating the backup history, and one or more of the plurality of virtual machines are moved in the order. To control the equipment.
  • a program executed by a computer determines the order in which each of the plurality of virtual machines is moved to one or more other devices based on information indicating a history of data backup related to each of the plurality of virtual machines operating on one or more devices. , Causing the computer to execute a process of controlling one or a plurality of apparatuses so as to move each of the plurality of virtual machines in the order.
  • a virtual machine moving method is provided.
  • the information processing apparatus uses one or a plurality of other virtual machines as one or a plurality of other virtual machines based on information indicating a backup history of data related to each of a plurality of virtual machines operating on one or a plurality of apparatuses.
  • the order of movement to the apparatus is determined, and one or more apparatuses are controlled so that each of the plurality of virtual machines is moved in the order.
  • virtual machines can be moved in an order that takes into account the recoverable state.
  • FIG. 1 illustrates an information processing system according to the first embodiment.
  • the information processing system according to the first embodiment includes information processing apparatuses 1, 2, and 3.
  • the information processing apparatuses 1, 2, and 3 are connected via a network.
  • the information processing apparatus 1 is a computer that manages virtual machines that operate on the information processing apparatuses 2 and 3.
  • the information processing apparatus 2 can execute a plurality of virtual machines. For example, in the information processing apparatus 2, virtual machines 2a, 2b, and 2c are executed.
  • the information processing apparatus 3 can also execute a plurality of virtual machines.
  • the information processing apparatuses 2 and 3 may execute a hypervisor.
  • the hypervisor may allocate the resources of the information processing apparatuses 2 and 3 to the virtual machine.
  • the information processing apparatus 1 includes a storage unit 1a and a calculation unit 1b.
  • the storage unit 1a is a memory such as a RAM.
  • the calculation unit 1b is a processor such as a CPU.
  • the information processing of the first embodiment may be realized by the calculation unit 1b executing the program stored in the storage unit 1a.
  • the storage unit 1a stores information indicating a history of data backup related to each of a plurality of virtual machines.
  • the data related to the virtual machine may include data used for software processing such as an OS and an application executed in the virtual machine.
  • the backed up data of the virtual machines 2a, 2b, and 2c may be stored in a storage device (not shown in FIG. 1) connected to the network in association with the virtual machines 2a, 2b, and 2c.
  • the storage unit 1a stores information indicating the backup history A1 for the virtual machine 2a.
  • the storage unit 1a stores information indicating the backup history A2 for the virtual machine 2b.
  • the storage unit 1a stores information indicating the backup history A3 for the virtual machine 2c.
  • the identification information of the virtual machine 2a is assumed to be “# 1”.
  • the identification information of the virtual machine 2b is “# 2”.
  • the identification information of the virtual machine 2c is “# 3”.
  • the computing unit 1b determines the order in which each of the plurality of virtual machines is moved to the information processing device 3 based on the backup history. For example, the calculation unit 1b determines to move the virtual machines in order of the oldest time when the latest backup is acquired. The computing unit 1b controls the information processing apparatus 2 to move each of the plurality of virtual machines in the order. The computing unit 1b may sequentially move the virtual machines one by one or sequentially in units of a plurality.
  • the calculation unit 1b determines the movement order as described above, and moves a plurality of virtual machines operating on the information processing apparatus 2 to the information processing apparatus 3. Also good.
  • the calculation unit 1b receives a movement start instruction input from the user, the calculation unit 1b determines the movement order as described above, and moves a plurality of virtual machines operating on the information processing apparatus 2 to the information processing apparatus 3. Also good.
  • the calculation unit 1b may determine the movement order in advance (before detecting the occurrence of a disaster or the like) every time the backup history of each virtual machine is acquired.
  • the calculation unit 1b starts moving the virtual machines 2a, 2b, and 2c to the information processing apparatus 3 at the movement start timing T1.
  • the backup histories A1, A2, and A3 include information indicating the most recent period in which backups were performed for the virtual machines 2a, 2b, and 2c with respect to the movement start timing T1.
  • the period during which the backup was performed is indicated by the time width from the start point to the end point.
  • the end point of each period may be compared. Or you may compare the start time of each period.
  • the backup history A1, A2 and A3 are arranged in order from the oldest to the newest (the history A1 is the oldest and the history A3 is the newest).
  • the calculation unit 1b determines to move the virtual machines 2a, 2b, and 2c to the information processing apparatus 3 in this order.
  • the movement periods B1, B2, and B3 indicate required periods for moving the virtual machines 2a, 2b, and 2c after the movement start timing T1, respectively.
  • the movement period B1 corresponds to a required period for moving the virtual machine 2a.
  • the movement period B2 corresponds to a required period for moving the virtual machine 2b.
  • the movement period B3 corresponds to a required period for moving the virtual machine 2c.
  • the calculation unit 1b determines to move in the order of the virtual machines 2a, 2b, and 2c
  • the calculation unit 1b controls the information processing apparatus 2 to move in the order of the virtual machines 2a, 2b, and 2c. For this reason, the time series of the start time of movement period B1, B2, B3 also becomes this order.
  • the operation unit 1b moves the virtual machines 2a, 2b, and 2c based on the data backup history related to the virtual machines 2a, 2b, and 2c that operate on the information processing apparatus 2. It is determined.
  • the information processing apparatus 2 is controlled by the computing unit 1b so as to move the virtual machines 2a, 2b, and 2c to the information processing apparatus 3 in this order.
  • the information processing apparatus 1 can move the virtual machines 2a, 2b, and 2c in an order that considers a recoverable state. For example, there are cases where it is desired to move the virtual machines 2a, 2b, 2c to the information processing apparatus 3 installed at another base in an emergency such as when the base where the information processing apparatus 2 is installed is damaged. However, in an emergency, the time available for movement may be limited. This is because the base where the information processing apparatus 2 is installed is about to collapse or the power supply time is limited. For this reason, not all virtual machines can be moved to the information processing apparatus 3 at another base within the time limit.
  • the information processing apparatus 1 determines the movement order based on the backup histories A1, A2, A3 regarding the virtual machines 2a, 2b, 2c.
  • the acquired backup gives priority to the movement of the old virtual machine 2a. This is because the older the backup data, the easier it is to restore to the most recent state. For example, if it is attempted to restore from backup without moving in time, there is a high possibility that restoration work will be time consuming and work interruptions will be prolonged.
  • the acquired backup makes moving the new virtual machine 2c later. This is because the newer the backup data, the easier it is to restore to the most recent state.
  • the virtual machine 2c can be restored on the information processing apparatus 3 using backup data stored in the storage device.
  • the backup history A3 the backup data of the virtual machine 2c is acquired at a time later than the time when the backup of the virtual machines 2a and 2b was performed. That is, the virtual machine 2c can be restored in a state closer to the state (original state) of the movement start timing T1 than the virtual machines 2a and 2b. For this reason, it is relatively easier for the virtual machine 2c to return to the original state than the virtual machines 2a and 2b. Alternatively, even if the original state cannot be completely restored, the influence on the system is relatively small.
  • the virtual machines 2a, 2b, and 2c can be moved in an order that considers the recoverable state. As a result, even if a virtual machine that does not move in time within the time limit occurs, the possibility that the system can be restored to a newer state is increased. The possibility that business can be continued without interruption is also increased.
  • the virtual machines 2a, 2b, and 2c are executed by the information processing apparatus 2, but may be executed by a plurality of information processing apparatuses. For example, even if the virtual machine 2a is executed by the first information processing apparatus and the virtual machines 2b and 2c are executed by the second information processing apparatus, the same control can be performed.
  • a plurality of information processing apparatuses may be used as destinations of the virtual machines 2a, 2b, and 2c. For example, the same control can be performed when the virtual machines 2a and 2b are moved to the third information processing apparatus and the virtual machine 2c is moved to the fourth information processing apparatus.
  • FIG. 2 illustrates an information processing system according to the second embodiment.
  • the information processing system according to the second embodiment manages a plurality of virtual machines that operate on server computers installed in data centers (DC) 30, 40, and 50.
  • the data centers 30, 40, and 50 are provided at a plurality of geographically separated locations.
  • the information processing system includes a control server 100, execution servers 200, 200a, 200b, 200c, 200d, and 200e, a backup server 300, a warning server 400, and sensor devices 500, 500a, and 500b.
  • the execution servers 200 and 200a and the sensor device 500 are installed in the data center 30.
  • the execution servers 200b and 200c and the sensor device 500a are installed in the data center 40.
  • the execution servers 200d and 200e, the backup server 300, and the sensor device 500b are installed in the data center 50.
  • the warning server 400 is connected to the network 10.
  • the network 10 is a wide area network such as the Internet or a WAN (Wide Area Network).
  • the control server 100 is connected to the network 20.
  • the network 20 is a wide area network that connects the data centers 30, 40, and 50.
  • the network 20 is connected to the network 10.
  • the execution servers 200 and 200a and the sensor device 500 are connected to the network 21.
  • the network 21 is a network within the base of the data center 30.
  • the execution servers 200b and 200c and the sensor device 500a are connected to the network 22.
  • the network 22 is a network within the base of the data center 40.
  • the execution servers 200d and 200e, the backup server 300, and the sensor device 500b are connected to the network 23.
  • the network 23 is an intra-site network of the data center 50.
  • the networks 21, 22, and 23 are connected to the network 20.
  • the control server 100 is a server computer that manages / controls a virtual machine that operates on an execution server (for example, the execution server 200) installed in each data center.
  • the control server 100 receives a notification of a disaster occurrence or a warning from the warning server 400 or the sensor devices 500, 500a, 500b.
  • the control server 100 controls movement of the virtual machine between execution servers based on information included in the warning.
  • the execution servers 200, 200a, 200b, 200c, 200d, and 200e are server computers that can execute virtual machines.
  • the virtual machine executes a business application.
  • the user can use the function of the application from a client computer (not shown in FIG. 2) connected to the networks 10 and 20.
  • Each execution server periodically transmits data used for processing of the virtual machine to the backup server 300 (backup).
  • Each execution server can restore the virtual machine using the backup data stored in the backup server 300.
  • the backup server 300 is a server computer that stores backup data for each virtual machine.
  • the backup server 300 stores backup data periodically transmitted from each execution server for each virtual machine. Further, when receiving a restore request from any execution server, the backup server 300 provides the requested virtual machine backup data to the execution server.
  • each execution server can distribute and store its own backup data in each backup server installed in a plurality of data centers other than the data center in which its execution server is installed.
  • the warning server 400 is a server computer that notifies a disaster occurrence notification or warning. For example, when a disaster such as an earthquake, a tsunami, or a fire occurs, a notification that the disaster has occurred and a warning about an area affected by the disaster are issued and transmitted to the control server 100.
  • a disaster such as an earthquake, a tsunami, or a fire occurs
  • a notification that the disaster has occurred and a warning about an area affected by the disaster are issued and transmitted to the control server 100.
  • the sensor devices 500, 500a, and 500b are sensor devices that measure sensor data related to disasters such as seismic intensity and water level.
  • the sensor devices 500, 500a, and 500b have a communication function via a network. For example, when the measured sensor data (for example, seismic intensity) exceeds a threshold value, the sensor device 500 notifies that a disaster has occurred in the data center 30 in which the sensor device 500 is installed. A notification that the disaster has occurred is also transmitted to the control server 100.
  • FIG. 3 is a diagram illustrating a hardware example of the control server according to the second embodiment.
  • the control server 100 includes a processor 101, a RAM 102, an HDD (Hard Disk Drive) 103, an image signal processing unit 104, an input signal processing unit 105, a disk drive 106, and a communication unit 107. Each unit is connected to a bus in the control server 100.
  • Execution servers 200, 200 a, 200 b, 200 c, 200 d, 200 e, backup server 300 and warning server 400 can also be realized using the same hardware as control server 100.
  • the processor 101 controls information processing of the control server 100.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a CPU, an MPU (Micro Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a PLD (Programmable Logic Device).
  • the processor 101 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, FPGA, and PLD.
  • the RAM 102 is a main storage device of the control server 100.
  • the RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the processor 101.
  • the RAM 102 stores various data used for processing by the processor 101.
  • the HDD 103 is an auxiliary storage device of the control server 100.
  • the HDD 103 magnetically writes and reads data to and from the built-in magnetic disk.
  • the HDD 103 stores an OS program, application programs, and various data.
  • the control server 100 may include other types of auxiliary storage devices such as a flash memory and an SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.
  • the image signal processing unit 104 outputs an image to the display 11 connected to the control server 100 in accordance with an instruction from the processor 101.
  • a CRT (CathodeathRay Tube) display As the display 11, a CRT (CathodeathRay Tube) display, a liquid crystal display, or the like can be used.
  • the input signal processing unit 105 acquires an input signal from the input device 12 connected to the control server 100 and notifies the processor 101 of the input signal.
  • a pointing device such as a mouse or a touch panel, a keyboard, or the like can be used.
  • the disk drive 106 is a drive device that reads programs and data recorded on the recording medium 13.
  • a magnetic disk such as a flexible disk (FD) or HDD
  • an optical disk such as a CD (Compact Disk) or a DVD (Digital Versatile Disk), or a magneto-optical disk (MO: Magneto-Optical disk) is used.
  • CD Compact Disk
  • DVD Digital Versatile Disk
  • MO Magneto-Optical disk
  • the disk drive 106 stores the program and data read from the recording medium 13 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.
  • the communication unit 107 communicates with other information processing apparatuses (for example, the execution server 200) via the network 20.
  • the control server 100 may not include the disk drive 106, and may not include the image signal processing unit 104 or the input signal processing unit 105 when accessed exclusively from another information processing apparatus.
  • the display 11 and the input device 12 may be formed integrally with the housing of the control server 100.
  • FIG. 4 is a diagram illustrating an example of a virtual machine according to the second embodiment.
  • the execution server 200 includes a hardware layer 201, a hypervisor 202, and virtual machines 210 and 220.
  • the hardware layer 201 is a layer serving as a resource to be provided to the virtual machines 210 and 220 such as a computation resource of a CPU included in the execution server 200 and a storage resource of a RAM included in the execution server 200.
  • the hypervisor 202 controls a plurality of virtual machines 210 and 220 operating on the execution server 200.
  • the hypervisor 202 allocates resources of the hardware layer 201 to the virtual machines 210 and 220.
  • the virtual machines 210 and 220 are virtual computers that operate on the execution server 200.
  • the virtual machines 210 and 220 operate in parallel under the control of the hypervisor 202.
  • the virtual machines 210 and 220 execute an OS and a business AP (APplication) using the allocated resources.
  • FIG. 5 illustrates an example of software according to the second embodiment.
  • the data center 50 and the networks 10 and 23 are not shown.
  • Each unit shown in FIG. 5 may be realized by a processor executing a program stored in a RAM provided in each server computer.
  • the control server 100 includes a storage unit 110, a management unit 120, and a movement control unit 130.
  • the storage unit 110 stores information for controlling the movement of each virtual machine.
  • the storage unit 110 stores information indicating an area where the data centers 30, 40, and 50 are present and information for determining the movement order of the virtual machines.
  • the management unit 120 periodically acquires information (hereinafter, simply referred to as backup history) indicating backup history regarding a virtual machine (for example, the virtual machine 210) operating on each execution server from each execution server.
  • the management unit 120 stores the acquired backup history in the storage unit 110.
  • the management unit 120 determines a virtual machine to be moved to another base based on the warning data.
  • the management unit 120 determines the movement order of virtual machines based on the information stored in the storage unit 110.
  • the management unit 120 selects a destination execution server. For example, a plurality of execution servers that are candidates for the movement destination are selected from execution servers installed in a data center outside the warning area specified by the warning data. Further, the candidates are narrowed down in consideration of the resources available on the candidate execution servers and the load status.
  • the movement control unit 130 controls each execution server to move virtual machines in the movement order determined by the management unit 120.
  • the execution server 200 includes the virtual machines 210 and 220 as described above.
  • the virtual machine 210 has a backup processing unit 211 and a communication agent 212.
  • the backup processing unit 211 periodically transmits backup data to the backup server 300.
  • the backup processing unit 211 stores the backup history in a storage area on the execution server 200 assigned to the virtual machine 210.
  • the backup history includes backup start time, end time, and success / failure results.
  • the backup history may include information indicating the storage device (for example, the backup server 300) where the backup data is stored.
  • the backup processing unit 211 can restore data such as the OS and business AP of the virtual machine 210 using the backup data stored in the backup server 300.
  • the backup processing unit 211 acquires a backup periodically (for example, once / day or once / week) for each virtual machine.
  • a backup method a full backup, an incremental backup, and a differential backup can be considered.
  • the backup processing unit 211 can use any method.
  • incremental or differential backup data such as the OS and business AP of the virtual machine 210 can be restored using backup data at the time of the previous full backup and backup data at the time of incremental or differential backup.
  • the communication agent 212 transmits the backup history acquired by the backup processing unit 211 to the control server 100 in response to a request from the control server 100.
  • the execution server 200a includes virtual machines 210a and 220a.
  • the execution server 200b includes virtual machines 210b and 220b.
  • the execution server 200c has virtual machines 210c and 220c.
  • the virtual machines 220, 210 a, 220 a, 210 b, 220 b, 210 c, 220 c also have the same functions as the virtual machine 210.
  • FIG. 6 is a diagram illustrating an example of a DC management table according to the second embodiment.
  • the DC management table 111 is a table for managing an area where the data centers 30, 40, and 50 are provided.
  • the DC management table 111 is stored in the storage unit 110.
  • the DC management table 111 includes items of DC and area.
  • a data center name for identifying the data center is registered.
  • the data center name of the data center 30 is “DC1”.
  • the data center name of the data center 40 is “DC2”.
  • the data center name of the data center 50 is “DC3”.
  • the area item an area where the data center exists is registered.
  • the DC management table 111 information that the data center name is “DC1” and “area X” is registered. This indicates that the data center 30 exists in the area indicated by the area X.
  • data center names “DC2” and “area Y” are registered. This indicates that the data center 50 exists in the area indicated by the area Y.
  • Area Y is an area geographically separated from area X.
  • FIG. 7 is a diagram illustrating an example of a priority condition table according to the second embodiment.
  • the priority condition table 112 is a table that defines virtual machine priorities (hereinafter sometimes referred to as backup priorities) according to the backup history.
  • the priority condition table 112 is stored in the storage unit 110.
  • the priority condition table 112 includes items of the elapsed time from the last backup and the backup priority.
  • the range of elapsed time in the latest backup is registered.
  • a numerical value indicating the backup priority is registered in the item of backup priority. The backup priority indicates that the higher the numerical value is, the higher the priority is (higher priority is given).
  • the priority condition table 112 when the elapsed time from the latest backup history of the virtual machine to the current time is “less than 1 hour”, information that the backup priority is “1” is registered. Similarly, when the elapsed time is “1 hour or more and less than 2 hours”, the backup priority is “2”. When the elapsed time is “2 hours or more and less than 3 hours”, the backup priority is “3”. When the elapsed time is “3 hours or more and less than 4 hours”, the backup priority is “4”. When the elapsed time is “4 hours or more and less than 5 hours”, the backup priority is “5”. When the elapsed time is “5 hours or more”, the backup priority is “6”. Since the priority is higher as the numerical value is larger, in the priority condition table 112, the backup priority “6” is the highest priority, and the backup priority “1” is the lowest priority.
  • the management unit 120 may generate the priority condition table 112 based on predetermined definition information.
  • the definition information including the backup valid time range and the number of backup priority levels may be allowed to be input to the management unit 120.
  • the management unit 120 can generate the priority condition table 112 based on the backup effective time range and the number of backup priority levels. For example, assume that the backup valid time range is designated as “5 hours” and the backup priority level number is designated as “6”. Then, the management unit 120 uniformly divides the five-hour range into five priority levels, and sets the five-hour or longer range as the highest priority level (total of six levels). In this way, the management unit 120 can generate the priority condition table 112.
  • the priority condition table 112 may be generated so that the elapsed time range used as the first backup priority differs from the elapsed time range used as the second backup priority.
  • FIG. 8 is a diagram illustrating an example of an AP priority condition table according to the second embodiment.
  • the AP priority condition table 113 is a table defining virtual machine priorities (hereinafter also referred to as AP priorities) according to the importance of business APs.
  • the AP priority condition table 113 is stored in the storage unit 110.
  • the AP priority condition table 113 includes items of business AP and AP priority.
  • the business AP item information indicating the type of business AP executed by the virtual machine is registered. For example, when the business AP is a file server, “FS” (File Server) is set in the business AP item. When the business AP is a DB (DataBase) server, “DB” is set in the business AP item. When the business AP is a Web server, “Web” is set in the business AP item. A numerical value indicating the AP priority is registered in the AP priority item. The AP priority indicates that the higher the numerical value is, the higher the priority is (higher priority is given).
  • FS File Server
  • DB DataBase
  • Web Web
  • the AP priority condition table 113 when the business AP is “FS”, information that the AP priority is “1” is registered. Similarly, when the business AP is “DB”, the AP priority is “2”. When the business AP is “Web”, the AP priority is “3”. Since the priority is higher as the numerical value is larger, in the AP priority condition table 113, the AP priority “3” is the highest priority, and the AP priority “1” is the lowest priority.
  • FIG. 9 is a diagram illustrating an example of a virtual machine management table according to the second embodiment.
  • the virtual machine management table 114 is a table for managing virtual machine attributes.
  • the virtual machine management table 114 is stored in the storage unit 110.
  • the virtual machine management table 114 includes items of virtual machine name, business AP, business group, continuation priority, installation location, and backup location.
  • the virtual machine identification information is registered in the virtual machine name item.
  • the virtual machine name of the virtual machine 210 is “VM (Virtual Machine) 1”.
  • the virtual machine name of the virtual machine 220 is “VM2”.
  • the virtual machine name of the virtual machine 210a is “VM3”.
  • the virtual machine name of the virtual machine 220a is “VM4”.
  • the virtual machine name of the virtual machine 210b is “VM5”.
  • the virtual machine name of the virtual machine 220b is “VM6”.
  • the virtual machine name of the virtual machine 210c is “VM7”.
  • the virtual machine name of the virtual machine 220c is “VM8”.
  • a business group is a unit indicating a set of virtual machines that cooperate processes related to one business.
  • each business group includes virtual machines that are file servers, DB servers, and Web servers, and the servers cooperate with each other.
  • the continuation priority item a numerical value indicating the continuation priority according to the importance of the virtual machine is registered.
  • the continuation priority is a priority set individually for the virtual machine. As the continuation priority, a priority at which processing is to be continued can be arbitrarily set. For example, the continuation priority indicates that the higher the numerical value, the higher the priority (the more priority is given).
  • the name of the data center where the execution server that operates the virtual machine is installed is set.
  • the data center name of the data center where the backup server 300 for storing the backup data of the virtual machine is installed is set.
  • the virtual machine name is “VM1”, the continuation priority is “1”, the business AP is “FS”, the business group is “1”, the installation location is “DC1”, and the backup location is Information “DC3” is provided.
  • the business AP is a file server, belongs to the business group “1”, and the continuation priority is “1”.
  • the execution server 200 that executes the virtual machine 210 is installed in the data center 30, and the backup server 300 that stores backup data is installed in the data center 50.
  • the virtual machines 210a, 210b, and 220b are also the business group “1”.
  • the continuation priority of the virtual machine 210a is “2”
  • the continuation priority of the virtual machine 210b is “3”
  • the continuation priority of the virtual machine 220b is “4”. Accordingly, the virtual machines 210, 210a, 210b, and 220b cooperate with each other to realize predetermined business processing. Among them, the continuation priority of the virtual machine 220b is the highest. Next, the continuation priority of the virtual machine 210b is high. Next, the continuation priority of the virtual machine 210a is high. The continuation priority of the virtual machine 210 is the lowest.
  • FIG. 10 is a diagram illustrating an example of a backup history management table according to the second embodiment.
  • the backup history management table 115 is a table for managing the backup history of each virtual machine.
  • the backup history management table 115 is stored in the storage unit 110.
  • the backup history management table 115 includes items of item number, virtual machine name, start, end, and result.
  • the item number is registered in the item number item.
  • the virtual machine name is registered in the virtual machine name item.
  • the start item the time at which the backup was started is registered.
  • the end item the time when the backup is ended is registered.
  • a result indicating success or failure of the backup is registered. For example, “success” is registered when the backup is successful. If backup fails, “failure” is registered.
  • the item number is “1”
  • the virtual machine name is “VM1”
  • the start is “10/2 4:00”
  • the end is “10/2 5:20”
  • the result is “ Information “success” is registered. This indicates that the backup for the virtual machine 210 started at 4 am on October 2 and ended at 5:20 am on October 2, and the backup was successful (normal end).
  • the backup result for the virtual machine 210c (“VM7”) is “failure”. This indicates that the backup has failed (abnormal termination). In this case, the backup data of the virtual machine 210c cannot be acquired normally.
  • the backup history management table 115 may store the backup history for the most recent predetermined number of times (for example, about 1 to 3 times) for each virtual machine, or store all past backup history. It may be left.
  • FIG. 11 is a diagram illustrating an example of a backup priority table according to the second embodiment.
  • the backup priority table 116 is a table for managing the backup priority for each virtual machine.
  • the backup priority table 116 is stored in the storage unit 110.
  • the backup priority table 116 includes items of a virtual machine name and a backup priority.
  • the virtual machine name is registered in the virtual machine name item.
  • the backup priority is registered in the backup priority item. For example, information that the virtual machine name is “VM1” and the backup priority is “1” is registered in the backup priority table 116. This indicates that the backup priority of the virtual machine 210 corresponding to the most recent backup history is “1”.
  • FIG. 12 is a diagram illustrating a movement order table according to the second embodiment.
  • the movement order table 117 is a table for managing the movement order of the virtual machines evaluated by the management unit 120 based on the continuation priority, AP priority, and backup priority for each virtual machine.
  • the movement order table 117 is stored in the storage unit 110.
  • the movement order table 117 includes items of a virtual machine name, a priority total evaluation value, and a movement order.
  • the virtual machine name is registered in the virtual machine name item.
  • a value (priority comprehensive evaluation value) that is comprehensively evaluated in consideration of the continuation priority, the AP priority, and the backup priority is registered.
  • a priority comprehensive evaluation value shows that a priority is so high that a numerical value is large (it is given priority).
  • the order of movement is registered in the item of movement order.
  • the overall evaluation value of the priority is obtained by the sum of the continuation priority, the AP priority, and the backup priority based on the priority condition table 112, the AP priority condition table 113, and the virtual machine management table 114.
  • the movement order is VM8 (movement order “1”), VM7 (movement order “2”), VM6 (movement order “3”), VM4 (movement order “4”), VM2 (movement order “5”), VM5 (movement order “6”), VM3 (movement order “7”), and VM1 (movement order “8”).
  • the transfer order is determined using the backup priority.
  • priority other than the backup priority may be given priority.
  • the movement order may be determined by comparing the continuation priority, or the movement order may be determined by comparing the AP priority.
  • the priority comprehensive evaluation value is the same value, selection input by the user may be permitted as to which priority is compared.
  • FIG. 13 is a diagram illustrating warning data according to the second embodiment.
  • the warning data 600 is communication data for the warning server 400 or the sensor devices 500, 500a, and 500b to notify the control server 100 of a warning for notifying the occurrence of a disaster in a predetermined area.
  • the warning data 600 is transmitted to the control server 100 by the warning server 400 or the sensor devices 500, 500a, and 500b.
  • the warning data 600 has a warning area and a warning content field.
  • the warning area field information indicating an area where a disaster has occurred and an area where the influence of the disaster can reach is set.
  • Information indicating the content of the warning is set in the warning content field.
  • warning data 610 having a warning area field “area X” and a warning content field “large earthquake occurrence” is transmitted from the warning server 400 or the like.
  • FIG. 14 is a flowchart illustrating an example of priority determination according to the second embodiment. In the following, the process illustrated in FIG. 14 will be described in order of step number.
  • the management unit 120 receives a backup history from each virtual machine.
  • the management unit 120 updates each piece of information (start, end and result of backup) in the backup history management table 115 based on the received backup history.
  • Step S12 The management unit 120 identifies the backup priority of each virtual machine based on the backup history. Specifically, the management unit 120 searches the backup history management table 115 for the latest backup end time for each virtual machine. The management unit 120 calculates an elapsed time from the searched end time to the current time. The management unit 120 searches for the backup priority based on the calculated elapsed time and the priority condition table 112. Then, the management unit 120 identifies the searched backup priority as the backup priority of the virtual machine. Each time the management unit 120 receives a backup history for one virtual machine, the management unit 120 may execute step S12 for the virtual machine.
  • Step S13 The management unit 120 updates the backup priority for each virtual machine name in the backup priority table 116 with the specified backup priority. 14 may be started when the management unit 120 receives the warning data 600 from the warning server 400 or the like. Further, the elapsed time from the start time of the latest backup to the current time may be used as the “elapsed time from the last backup” in the priority condition table 112.
  • the management unit 120 may give the highest backup priority in the priority condition table 112 to the target virtual machine.
  • the backup priority may be obtained based on the history of the successful backups.
  • FIG. 15 is a flowchart illustrating an example of moving a virtual machine according to the second embodiment. In the following, the process illustrated in FIG. 15 will be described in order of step number.
  • the management unit 120 receives the warning data 600 from the warning server 400.
  • the warning data 600 stores information of the warning area “Area X” and the warning content “A major earthquake has occurred” as described above.
  • the management unit 120 refers to the warning data 600 and confirms the warning area.
  • the management unit 120 refers to the DC management table 111 and identifies the data center included in the warning area. For example, if the warning area is “Area X”, the data areas 40 and 50 are included in the warning area.
  • the management unit 120 identifies a virtual machine to be moved. Specifically, the management unit 120 refers to the virtual machine management table 114 and sets the virtual machine in the data center identified in step S22 as a movement target. When the data centers 40 and 50 are included in the warning area, the virtual machines to be moved are virtual machines 210, 220, 210a, 220a, 210b, 220b, 210c, and 220c.
  • Step S24 The management unit 120 re-evaluates the backup priority for the virtual machine to be moved. Details will be described later.
  • Step S25 The management unit 120 refers to the AP priority condition table 113 and the virtual machine management table 114, and acquires the continuation priority and the AP priority for the virtual machine to be moved. Specifically, the continuation priority is acquired from the virtual machine management table 114 for each virtual machine to be moved, for the continuation priority of the virtual machine that matches the virtual machine.
  • the AP priority is obtained by searching the virtual machine management table 114 for the business AP corresponding to the virtual machine for each virtual machine to be moved. Then, the management unit 120 acquires the AP priority of the searched business AP from the AP priority condition table 113.
  • Step S26 The management unit 120 performs overall evaluation of priorities for each searched virtual machine based on the acquired continuation priority, AP priority, and backup priority, and creates the movement order table 117. Specifically, the management unit 120 obtains a value obtained by summing the continuation priority, the AP priority, and the backup priority for each virtual machine as a priority comprehensive evaluation value, and registers it in the movement order table 117.
  • Step S27 The management unit 120 determines the order of movement of the virtual machines based on the overall priority evaluation for each virtual machine.
  • the management unit 120 determines the movement order so that the priority comprehensive evaluation is in descending order, and registers the movement order in the movement order table 117.
  • Step S28 The management unit 120 determines a destination data center from the data centers outside the warning area. For example, according to the DC management table 111, the data center 50 exists in “area Y” and is outside the warning area with respect to the warning area “area X”. Therefore, the management unit 120 sets the data center 50 as a movement destination. When there are a plurality of data center candidates to be moved, a data center existing in an area farthest from the warning area may be selected. This is because such an area is unlikely to suffer disaster damage. Also, the management unit 120 determines a destination execution server from the determined execution servers in the data center. The data center 50 has execution servers 200d and 200e. The management unit 120 sets the execution servers 200d and 200e as movement destination execution servers.
  • the migration control unit 130 refers to the migration order table 117 and moves the migration target execution server to the migration destination execution server in the order determined by the management unit 120. To instruct. For example, the movement control unit 130 sequentially moves the virtual machines 210, 220, 210a, 220a, 210b, 220b, 210c, and 220c to the execution servers 200d and 200e with respect to the execution servers 200, 200a, 200b, and 200c. To instruct.
  • the management unit 120 determines the movement order of a plurality of virtual machines based on the backup history, and controls each execution server so that the plurality of virtual machines are moved in the movement order.
  • the management unit 120 may determine the destination execution server based on resources available on the execution server installed in the destination data center, the load after movement, and the like. For example, it is conceivable to consider the load received by operating the virtual machine, the presence or absence of resources to be used for the operation of the virtual machine, the bandwidth for moving the virtual machine, and the like.
  • each execution server may move the virtual machine using a technique called live migration. Specifically, assuming the case where the virtual machine 210 is moved to the execution server 200d, the following procedure may be taken.
  • step S24 the procedure for re-evaluating the backup priority in step S24 will be described.
  • FIG. 16 is a flowchart illustrating an example of priority re-evaluation according to the second embodiment. In the following, the process illustrated in FIG. 16 will be described in order of step number.
  • Step S31 The management unit 120 selects one migration target virtual machine identified in step S23.
  • Step S32 The management unit 120 confirms the backup destination of the virtual machine. Specifically, the management unit 120 confirms the backup location of the virtual machine with respect to the virtual machine management table 114. The management unit 120 determines whether the confirmed backup location is within the warning area. If the backup location is within the warning area, the process proceeds to step S33. If the backup location is outside the warning area, the process proceeds to step S34.
  • Step S33 The management unit 120 updates the backup priority of the selected virtual machine to the maximum level in the backup priority table 116.
  • the maximum level backup priority is, for example, the maximum value of the backup priorities set in the priority condition table 112. Alternatively, a predetermined value larger than that may be used.
  • Step S34 The management unit 120 determines whether all the virtual machines to be moved have been processed. If all the virtual machines to be moved have been processed, the process ends. If not all the virtual machines to be moved have been processed, the process proceeds to step S31.
  • the management unit 120 re-evaluates the backup priority of the virtual machine based on whether or not the backup acquisition destination of the migration target virtual machine is within the warning area.
  • a backup server as a backup acquisition destination exists in the warning area, there is a possibility that the base where the backup server is provided collapses or becomes unusable due to a power failure. Then, it becomes difficult to use the backup data for restoration. Therefore, the management unit 120 raises the backup priority of the virtual machine whose backup acquisition destination exists in the warning area to the highest level. Thereby, control can be performed so that the virtual machine is preferentially moved to another site.
  • FIG. 17 is a diagram illustrating an example of moving a virtual machine according to the second embodiment.
  • FIG. 17 shows a specific example of movement of a virtual machine when a disaster occurs.
  • the data centers 30 and 40 are included in the warning area.
  • the movement order is as set in the movement order table 117.
  • the migration destination of the virtual machines 210, 210 a, 220, and 220 a is the execution server 200 d arranged in the data center 50.
  • the migration destination of the virtual machines 210b, 210c, 220b, and 220c is the execution server 200e disposed in the data center 50.
  • the control server 100 controls the execution servers 200, 200a, 200b, and 200c so that the virtual machines are moved in the following order.
  • the virtual machine 220c (VM8) is moved to the execution server 200e.
  • the virtual machine 210c (VM7) is moved to 200e.
  • the virtual machine 220b (VM6) is moved to the execution server 200e.
  • the virtual machine 220a (VM4) is moved to the execution server 200d.
  • the virtual machine 220 (VM2) is moved to the execution server 200d.
  • the virtual machine 210b (VM5) is moved to the execution server 200e.
  • the virtual machine 210a (VM3) is moved to the execution server 200d.
  • the virtual machine 210 (VM1) is moved to the execution server 200d.
  • the priority comprehensive evaluation value may be obtained for each business group. Specifically, it is possible to evaluate as follows.
  • FIG. 18 is a diagram illustrating another example (part 1) of evaluating the movement order according to the second embodiment.
  • the movement order table 117a is stored in the storage unit 110 instead of the movement order table 117.
  • the movement order table 117a includes items of a virtual machine name, a priority total evaluation value, and a movement order.
  • the virtual machine name is registered in the virtual machine name item.
  • the priority total evaluation value item the total value of the virtual machines having the maximum total value of the priorities calculated in the same manner as in FIG. 12 among the virtual machines belonging to the business group is set.
  • the total value of the virtual machine 210 is “3”
  • the total value of the virtual machine 210a is “5”
  • the virtual machine Since the total value of 210b is “8” and the total value of virtual machine 220b (VM6) is “10”
  • the priority total evaluation value of VM1, VM3, VM5, and VM6 is “10”. It becomes.
  • the total value of the virtual machine 220 is “8”
  • the total value of the virtual machine 220a is “9”
  • the virtual machine Since the total value of 210c (VM7) is “12” and the total value of virtual machine 220c (VM8) is “13”
  • the priority total evaluation value of VM2, VM4, VM7, and VM8 is “13”. It becomes.
  • the order of movement is set so as to be in order of increasing priority comprehensive evaluation value. If the priority comprehensive evaluation values are the same, the total value is set in descending order. Therefore, the movement order is VM8, VM7, VM4, VM2, VM6, VM5, VM3, VM1.
  • the movement order can be determined using the total value of the virtual machines having the maximum total value among the virtual machines in the business group as the priority total evaluation value of each virtual machine in the business group.
  • the order of movement may be determined using the average value of the total values calculated for each virtual machine in the business group as the overall priority evaluation value of each virtual machine in the business group.
  • the priority comprehensive evaluation value may be obtained by weighting the priorities and taking the sum. Specifically, it is possible to evaluate as follows.
  • FIG. 19 is a diagram illustrating another example (part 2) of evaluating the movement order according to the second embodiment.
  • the movement order table 117b is stored in the storage unit 110 instead of the movement order table 117.
  • the movement order table 117b includes items of a virtual machine name, a priority comprehensive evaluation value, and a movement order.
  • the virtual machine name is registered in the virtual machine name item.
  • a total value is set by weighting the continuation priority, the AP priority, and the backup priority in the virtual machine management table 114. For example, in FIG. 16, it is assumed that the weight of the continuation priority is “3”, the weight of the AP priority is “1”, and the weight of the backup priority is “5”.
  • the movement order is VM8, VM7, VM2, VM4, VM6, VM5, VM3, VM1.
  • the order of movement may be determined using a priority total evaluation value obtained by weighting the priorities and taking the sum.
  • control server 100 when the control server 100 receives the warning data 600 from the warning server 400 or the like, the control server 100 performs virtual processing based on the continuation priority, AP priority, and backup priority of each virtual machine existing in the data centers 30 and 40. Determine the order of machine movement. Then, the control server 100 controls each execution server to move the virtual machine to the data center 50 in the movement order. In particular, since the order of movement is determined based on the backup priority, the virtual machines can be moved in an order that considers the state in which each virtual machine can be restored.
  • the virtual machine that has acquired a backup at a newer point in time will be moved later. This is because if you have a backup of a newer time, you can restore to a newer time. For this reason, even if a virtual machine that cannot be moved in time arises, the possibility that the virtual machine can be restored at a newer point in time using backup data is increased. Thereby, even if a virtual machine that cannot be moved in time is generated, the influence on the business system can be reduced.
  • the movement order may be determined in consideration of other types of priorities (AP priority, continuation priority, etc.) other than the backup priority. By doing so, it is possible to determine the movement order comprehensively considering not only the backup status but also the priority of work.
  • priorities AP priority, continuation priority, etc.
  • the control server 100 can efficiently detect the timing at which the virtual machine movement should start, such as a disaster, by receiving the warning data 600.
  • the emergency detection method is not limited to the reception of the warning data 600.
  • the timing at which the virtual machine should start moving may be detected by receiving a power supply start notification from a battery issued by the uninterruptible power supply device at the time of a power failure.
  • the control server 100 has information indicating in which data center the uninterruptible power supply device of the notification source is installed in advance, the virtual machine to be moved is determined based on the virtual machine management table 114. Can be identified.
  • information indicating the data center may be included in the power supply start notification.
  • control server 100 moves only the virtual machines existing in the data centers 30 and 40 in the warning area included in the warning data 600. As a result, the control server 100 can limit the virtual machines to be moved within a limited time. For this reason, a virtual machine can be moved efficiently.
  • control server 100 increases the backup priority of the virtual machine and performs control so that it is moved with priority.
  • control server 100 can determine the movement order in consideration of the case where the backup data center of the virtual machine to be moved is involved in a disaster or the like.
  • the information processing according to the first embodiment can be realized by causing the arithmetic unit 1b to execute a program.
  • the information processing according to the second embodiment can be realized by causing the processor 101 to execute a program.
  • Such a program can be recorded on a computer-readable recording medium (for example, the recording medium 13).
  • a computer-readable recording medium for example, the recording medium 13
  • the recording medium for example, a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be used.
  • Magnetic disks include FD and HDD.
  • Optical disks include CD, CD-R (Recordable) / RW (Rewritable), DVD, and DVD-R / RW.
  • a portable recording medium on which the program is recorded is provided. It is also possible to store the program in a storage device of another computer and distribute the program via the network 20.
  • the computer stores, for example, a program recorded on a portable recording medium or a program received from another computer in a storage device (for example, HDD 103), and reads and executes the program from the storage device.
  • a program read from a portable recording medium may be directly executed, or a program received from another computer via the network 20 may be directly executed.
  • at least a part of the information processing described above can be realized by an electronic circuit such as a DSP, ASIC, or PLD.
  • Information processing apparatus 1a Storage unit 1b Arithmetic unit 2a, 2b, 2c Virtual machine A1, A2, A3 Backup history B1, B2, B3 Movement period T1 Movement start timing T2 Time limit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 復元可能な状態を考慮した順序で仮想マシンを移動する。 記憶部(1a)は、情報処理装置(2)で動作する仮想マシン(2a,2b,2c)それぞれに関するデータのバックアップの履歴(A1,A2,A3)を示す情報を記憶する。演算部(1b)は、バックアップの履歴(A1,A2,A3)を示す情報に基づいて仮想マシン(2a,2b,2c)それぞれを情報処理装置(3)へ移動させる順序を決定する。演算部(1b)は、仮想マシン(2a,2b,2c)それぞれを当該順序で移動させるように情報処理装置(2)を制御する。

Description

情報処理装置、プログラムおよび仮想マシン移動方法
 本発明は情報処理装置、プログラムおよび仮想マシン移動方法に関する。
 情報処理の分野では、物理的なコンピュータ(物理マシンや物理ホストと呼ぶことがある)上で、複数の仮想的なコンピュータ(仮想マシンや論理ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、OS(Operating System)などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。例えば、ハイパーバイザと呼ばれるソフトウェアが、CPU(Central Processing Unit)の処理能力やRAM(Random Access Memory)の記憶領域を、演算のリソースとして複数の仮想マシンに割り振ることがある。
 また、複数の物理マシンを含むシステムには、仮想マシンを実行する物理マシンを変更できるものがある。例えば、仮想マシンを終了させてから、あるいは、終了させずに、ハイパーバイザ間で仮想マシンに関するデータの移動を可能とする技術が用いられている。
 例えば、複数の仮想マシンが移動対象の場合、移動させるための所要時間が最も少なくなる仮想マシンおよび移動方法のセットを選択して、選択された移動方法により、選択された仮想マシンを、より先に移動させるように移動スケジュールを作成する提案がある。
 また、仮想マシン、物理マシンおよびネットワークの負荷の変化を、高次方程式などの近似式によって把握または分析することで、仮想マシン、物理マシンおよびネットワークに対して負荷がかからないように仮想マシンの移動をスケジューリングする提案もある。
 なお、バックアップ元システムに障害が発生した際には、バックアップ装置によって事前にバックアップされたデータに基づいて、リストア先システムに、バックアップ元システムを復元する提案もある。
特開2010-244524号公報 特開2010-117760号公報 特開2008-243123号公報
 複数の仮想マシンを現在とは別の物理マシンへ移動させたいことがある。例えば、物理マシンが設置された拠点が被災した場合である。別の拠点の物理マシンへ仮想マシンを移動させれば、処理を継続できるからである。ところが、緊急時には仮想マシンを移動させるための時間が制限され得る。例えば、地震や火災などの災害時は、拠点の建物の崩壊が迫っていることもある。この場合、全ての仮想マシンを制限時間内に他の拠点へ移動できるとは限らない。そこで、どのように仮想マシンを効率的に移動させるかが問題となる。
 例えば、移動が間に合わない仮想マシンが生じても、事前に取得しておいたバックアップのデータを用いて当該仮想マシンを別の拠点の物理マシン上に復元し得る。しかし、バックアップの状況によっては、仮想マシンを元に近い状態で復元するのが容易でないことがある。例えば、バックアップのデータが古いほど、直近の状態への復元が容易でない。
 一側面によれば、本発明は、復元可能な状態を考慮した順序で仮想マシンを移動できる情報処理装置、プログラムおよび仮想マシン移動方法を提供することを目的とする。
 一実施態様によれば、情報処理装置が提供される。この情報処理装置は、記憶部と演算部とを有する。記憶部は、1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報を記憶する。演算部は、バックアップの履歴を示す情報に基づいて複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、複数の仮想マシンそれぞれを当該順序で移動させるように1または複数の装置を制御する。
 また、一実施態様によれば、コンピュータによって実行されるプログラムが提供される。このプログラムは、1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報に基づいて、複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、複数の仮想マシンそれぞれを当該順序で移動させるように1または複数の装置を制御する、処理をコンピュータに実行させる。
 また、一実施態様によれば、仮想マシン移動方法が提供される。この仮想マシン移動方法では、情報処理装置が、1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報に基づいて、複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、複数の仮想マシンそれぞれを当該順序で移動させるように1または複数の装置を制御する。
 一実施態様によれば、復元可能な状態を考慮した順序で仮想マシンを移動できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理システムを示す図である。 第2の実施の形態の情報処理システムを示す図である。 第2の実施の形態の制御サーバのハードウェア例を示す図である。 第2の実施の形態の仮想マシンの例を示す図である。 第2の実施の形態のソフトウェア例を示す図である。 第2の実施の形態のDC管理テーブルの例を示す図である。 第2の実施の形態の優先度条件テーブルの例を示す図である。 第2の実施の形態のAP優先度条件テーブルの例を示す図である。 第2の実施の形態の仮想マシン管理テーブルの例を示す図である。 第2の実施の形態のバックアップ履歴管理テーブルの例を示す図である。 第2の実施の形態のバックアップ優先度テーブルの例を示す図である。 第2の実施の形態の移動順序テーブルを示す図である。 第2の実施の形態の警告データを示す図である。 第2の実施の形態の優先度の判定例を示すフローチャートである。 第2の実施の形態の仮想マシンの移動例を示すフローチャートである。 第2の実施の形態の優先度の再評価の例を示すフローチャートである。 第2の実施の形態の仮想マシンの移動例を示す図である。 第2の実施の形態の移動順序の評価の他の例(その1)を示す図である。 第2の実施の形態の移動順序の評価の他の例(その2)を示す図である。
 以下、本実施の形態を図面を参照して説明する。
 [第1の実施の形態]
 図1は、第1の実施の形態の情報処理システムを示す図である。第1の実施の形態の情報処理システムは、情報処理装置1,2,3を有する。情報処理装置1,2,3は、ネットワークを介して接続されている。情報処理装置1は、情報処理装置2,3上で動作する仮想マシンを管理するコンピュータである。情報処理装置2は、複数の仮想マシンを実行可能である。例えば、情報処理装置2では仮想マシン2a,2b,2cが実行されている。情報処理装置3も、複数の仮想マシンを実行可能である。例えば、情報処理装置2,3はハイパーバイザを実行してもよい。ハイパーバイザが情報処理装置2,3のリソースを仮想マシンに割り当ててもよい。
 情報処理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aはRAMなどメモリである。演算部1bはCPUなどのプロセッサである。記憶部1aに記憶されたプログラムを演算部1bが実行することで第1の実施の形態の情報処理が実現されてもよい。
 記憶部1aは、複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報を記憶する。仮想マシンに関するデータは、当該仮想マシンで実行されるOSやアプリケーションなどのソフトウェアの処理に用いられるデータを含んでもよい。バックアップされた仮想マシン2a,2b,2cのデータは、ネットワークに接続された記憶装置(図1では図示を省略)に、仮想マシン2a,2b,2cに対応付けて格納されてもよい。
 例えば、記憶部1aは仮想マシン2aに対してバックアップの履歴A1を示す情報を記憶する。記憶部1aは、仮想マシン2bに対してバックアップの履歴A2を示す情報を記憶する。記憶部1aは、仮想マシン2cに対してバックアップの履歴A3を示す情報を記憶する。ここで、仮想マシン2aの識別情報を“#1”とする。仮想マシン2bの識別情報を“#2”とする。仮想マシン2cの識別情報を“#3”とする。
 演算部1bは、当該バックアップの履歴に基づいて複数の仮想マシンそれぞれを情報処理装置3へ移動させる順序を決定する。例えば、演算部1bは直近のバックアップが取得された時間が古い順に仮想マシンを移動させるよう決定する。演算部1bは、複数の仮想マシンそれぞれを当該順序で移動させるように情報処理装置2を制御する。演算部1bは、仮想マシンを1つずつ順次移動させてもよいし、複数個単位に順次移動させてもよい。
 演算部1bは、地震や火災などの災害の発生が検出された際に、上記のように移動順序を決定し、情報処理装置2で動作する複数の仮想マシンを情報処理装置3へ移動させてもよい。あるいは、演算部1bは、ユーザによる移動開始の指示入力を受け付けた際に、上記のように移動順序を決定し、情報処理装置2で動作する複数の仮想マシンを情報処理装置3へ移動させてもよい。演算部1bは、各仮想マシンのバックアップ履歴が取得されるたびに移動順序を事前に(災害の発生などの検出よりも前に)決定しておいてもよい。
 例えば、演算部1bは、仮想マシン2a,2b,2cを移動開始タイミングT1で情報処理装置3へ移動開始させる。バックアップの履歴A1,A2,A3は、移動開始タイミングT1に対し、仮想マシン2a,2b,2cについてバックアップが行われた直近の期間を示す情報を含む。ここで、バックアップが行われた期間は開始時点から終了時点までの時間幅で示される。バックアップが行われた期間の新旧を比較する場合、各期間の終了時点を比較してもよい。あるいは、各期間の開始時点を比較してもよい。例えば、終了時点で比較するならば、古いものから新しいものへ順に並べると、バックアップの履歴A1,A2,A3となる(履歴A1が最も古く履歴A3が最も新しい)。この場合、演算部1bは仮想マシン2a,2b,2cの順に情報処理装置3へ移動させると決定する。
 移動期間B1,B2,B3は、移動開始タイミングT1の後、仮想マシン2a,2b,2cそれぞれを移動させるための所要期間を示す。移動期間B1は、仮想マシン2aを移動させるための所要期間に相当する。移動期間B2は、仮想マシン2bを移動させるための所要期間に相当する。移動期間B3は、仮想マシン2cを移動させるための所要期間に相当する。例えば、演算部1bが仮想マシン2a,2b,2cの順に移動させると決定した場合、演算部1bは、仮想マシン2a,2b,2cの順に移動を行うように情報処理装置2を制御する。このため、移動期間B1,B2,B3の開始時点の時系列もこの順序となる。
 情報処理装置1によれば、演算部1bにより、情報処理装置2で動作する仮想マシン2a,2b,2cそれぞれに関するデータのバックアップの履歴に基づいて、仮想マシン2a,2b,2cを移動させる順序が決定される。演算部1bにより、仮想マシン2a,2b,2cを情報処理装置3へ当該順序で移動するように情報処理装置2が制御される。
 これにより、情報処理装置1は、仮想マシン2a,2b,2cについて、復元可能な状態を考慮した順序で移動できる。例えば、情報処理装置2が設置された拠点が被災した場合などの緊急時に、別の拠点に設置された情報処理装置3へ仮想マシン2a,2b,2cを移動させたいことがある。しかし、緊急時には移動のために利用できる時間が制限され得る。情報処理装置2が設置された拠点の崩壊が迫っていたり、電力の供給可能時間などが制限されたりすることがあるからである。このため、全ての仮想マシンを制限時間内に別拠点の情報処理装置3へ移動できるとは限らない。
 そこで、情報処理装置1は仮想マシン2a,2b,2cに関するバックアップの履歴A1,A2,A3に基づいて移動順序を決定する。例えば、取得されたバックアップが古い仮想マシン2aの移動をより優先させる。バックアップのデータが古いほど、直近の状態に復元するのが容易でないからである。例えば、仮に移動が間に合わずにバックアップから復元しようとするときに、復元の作業に手間がかかり業務の中断が長引く可能性が高い。一方、取得されたバックアップが新しい仮想マシン2cの移動をより後回しにする。バックアップのデータが新しいほど、直近の状態に比較的容易に復元できるからである。
 仮に、後回しになった仮想マシン2cが制限時刻T2までに移動を完了できなかったとする。その場合、仮想マシン2cは記憶装置に格納されたバックアップのデータを用いて情報処理装置3上に復元され得る。バックアップの履歴A3によれば、仮想マシン2cのバックアップのデータは、仮想マシン2a,2bのバックアップが行われた時点よりも後の時点で取得されたものである。すなわち、仮想マシン2cは仮想マシン2a,2bよりも、移動開始タイミングT1の状態(元の状態)により近い状態で復元可能である。このため、仮想マシン2cは元の状態に戻すのが仮想マシン2a,2bよりも比較的容易である。あるいは、元の状態まで完全に戻せないとしてもシステムへの影響が比較的小さい。
 このように、バックアップの履歴に基づいて移動順序を決定することで、仮想マシン2a,2b,2cについて復元可能な状態を考慮した順序で移動を行える。その結果、仮に、制限時間内に移動が間に合わない仮想マシンが生じたとしても、システムをより新しい状態に復旧できる可能性が高まる。業務を中断させずに継続できる可能性も高まる。
 なお、上記の説明では、仮想マシン2a,2b,2cは情報処理装置2で実行されるものとしたが、複数の情報処理装置で実行されてもよい。例えば、仮想マシン2aが第1の情報処理装置で実行され、仮想マシン2b,2cが第2の情報処理装置で実行されていても同様に制御できる。また、仮想マシン2a,2b,2cの移動先となる情報処理装置が複数でもよい。例えば、仮想マシン2a,2bを第3の情報処理装置へ移動させ、仮想マシン2cを第4の情報処理装置へ移動させる場合も同様に制御できる。
 [第2の実施の形態]
 図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、データセンタ(DC:Data Center)30,40,50内に設置されたサーバコンピュータ上で動作する複数の仮想マシンを管理する。データセンタ30,40,50は、地理的に離れた複数の拠点に設けられている。
 第2の実施の形態の情報処理システムは、制御サーバ100、実行サーバ200,200a,200b,200c,200d,200e、バックアップサーバ300、警告サーバ400およびセンサ装置500,500a,500bを有する。実行サーバ200,200aおよびセンサ装置500は、データセンタ30内に設置されている。実行サーバ200b,200cおよびセンサ装置500aは、データセンタ40内に設置されている。実行サーバ200d,200e、バックアップサーバ300およびセンサ装置500bは、データセンタ50内に設置されている。
 警告サーバ400はネットワーク10に接続されている。ネットワーク10は、例えばインターネットやWAN(Wide Area Network)などの広域ネットワークである。制御サーバ100は、ネットワーク20に接続されている。ネットワーク20は、データセンタ30,40,50を結ぶ広域ネットワークである。ネットワーク20はネットワーク10に接続されている。
 実行サーバ200,200aおよびセンサ装置500は、ネットワーク21に接続されている。ネットワーク21は、データセンタ30の拠点内ネットワークである。実行サーバ200b,200cおよびセンサ装置500aは、ネットワーク22に接続されている。ネットワーク22は、データセンタ40の拠点内ネットワークである。実行サーバ200d,200e、バックアップサーバ300およびセンサ装置500bは、ネットワーク23に接続されている。ネットワーク23は、データセンタ50の拠点内ネットワークである。ネットワーク21,22,23は、ネットワーク20に接続されている。
 制御サーバ100は、各データセンタに設置された実行サーバ(例えば、実行サーバ200)上で動作する仮想マシンの管理/制御を行うサーバコンピュータである。制御サーバ100は、警告サーバ400またはセンサ装置500,500a,500bから災害発生の通知や警告などを受信する。制御サーバ100は、当該警告に含まれる情報に基づいて、仮想マシンの実行サーバ間の移動を制御する。
 実行サーバ200,200a,200b,200c,200d,200eは、仮想マシンを実行可能なサーバコンピュータである。例えば、仮想マシンは業務用のアプリケーションを実行する。例えば、ユーザはネットワーク10,20に接続されたクライアントコンピュータ(図2では図示を省略)から、当該アプリケーションの機能を利用できる。各実行サーバは、仮想マシンの処理に用いられるデータを定期的にバックアップサーバ300に送信する(バックアップ)。各実行サーバは、バックアップサーバ300に格納されたバックアップデータを用いて、仮想マシンを復元することもできる。
 バックアップサーバ300は、仮想マシンごとのバックアップデータを保存するサーバコンピュータである。バックアップサーバ300は、各実行サーバから定期的に送信されるバックアップデータを仮想マシンごとに記憶する。また、バックアップサーバ300は、何れかの実行サーバからリストアの要求を受けると、要求された仮想マシンのバックアップデータを当該実行サーバに提供する。
 なお、バックアップサーバは、データセンタ30,40などの各データセンタに設置されていてもよい。この場合、例えば、各実行サーバは、自己の実行サーバが設置されたデータセンタ以外の複数のデータセンタに設置された各バックアップサーバに自己のバックアップデータを分散して保存できる。
 警告サーバ400は、災害発生の通知や警告などを報知するサーバコンピュータである。例えば、地震、津波および火災などの災害が発生すると災害が発生した旨の通知や当該災害の影響が及ぶ地域についての警告を発行し、制御サーバ100へ送信する。
 センサ装置500,500a,500bは、震度や水位など災害に関するセンサデータを計測するセンサデバイスである。センサ装置500,500a,500bは、ネットワークを介した通信機能を有する。例えば、センサ装置500は、計測されたセンサデータ(例えば、震度)が閾値を超えた場合、センサ装置500が設置されたデータセンタ30で災害が発生した旨を報知する。当該災害が発生した旨の通知は、制御サーバ100へも送信される。
 図3は、第2の実施の形態の制御サーバのハードウェア例を示す図である。制御サーバ100は、プロセッサ101、RAM102、HDD(Hard Disk Drive)103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信部107を有する。各ユニットは、制御サーバ100内のバスに接続されている。実行サーバ200,200a,200b,200c,200d,200e、バックアップサーバ300および警告サーバ400も、制御サーバ100と同様のハードウェアを用いて実現できる。
 プロセッサ101は、制御サーバ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などである。プロセッサ101はCPU、MPU、DSP、ASIC、FPGA、PLDのうちの2以上の要素の組み合わせであってもよい。
 RAM102は、制御サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションのプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
 HDD103は、制御サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。制御サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
 画像信号処理部104は、プロセッサ101からの命令に従って、制御サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
 入力信号処理部105は、制御サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に通知する。入力デバイス12としては、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
 ディスクドライブ106は、記録媒体13に記録されたプログラムやデータを読み取る駆動装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
 通信部107は、ネットワーク20を介して他の情報処理装置(例えば、実行サーバ200など)と通信を行う。
 ただし、制御サーバ100はディスクドライブ106を備えていなくてもよく、専ら他の情報処理装置からアクセスされる場合には、画像信号処理部104や入力信号処理部105を備えていなくてもよい。また、ディスプレイ11や入力デバイス12は、制御サーバ100の筐体と一体に形成されていてもよい。
 図4は、第2の実施の形態の仮想マシンの例を示す図である。実行サーバ200は、ハードウェア層201、ハイパーバイザ202および仮想マシン210,220を有する。
 ハードウェア層201は、実行サーバ200が有するCPUの演算リソースや実行サーバ200が有するRAMの記憶リソースなど、仮想マシン210,220に提供するためのリソースとなる階層である。
 ハイパーバイザ202は、実行サーバ200上で動作する複数の仮想マシン210,220を制御する。ハイパーバイザ202は、仮想マシン210,220にハードウェア層201のリソースを割り当てる。
 仮想マシン210,220は、実行サーバ200上で動作する仮想的なコンピュータである。仮想マシン210,220は、ハイパーバイザ202の制御により並列に動作する。仮想マシン210,220は、割り当てられたリソースを用いて、OSや業務AP(APplication)を実行する。
 実行サーバ200a,200b,200c,200d,200eも、実行サーバ200と同様に複数の仮想マシンを実行可能である。
 図5は、第2の実施の形態のソフトウェア例を示す図である。ここで、図5ではデータセンタ50およびネットワーク10,23の図示を省略している。図5に示す各ユニットは、各サーバコンピュータに設けられたRAMに記憶されたプログラムを、プロセッサが実行することで実現されてもよい。制御サーバ100は、記憶部110、管理部120および移動制御部130を有する。
 記憶部110は、各仮想マシンの移動を制御するための情報を記憶する。例えば、記憶部110は、データセンタ30,40,50が存在するエリアを示す情報および仮想マシンの移動順序を決定するための情報を記憶する。
 管理部120は、各実行サーバ上で動作する仮想マシン(例えば、仮想マシン210)に関するバックアップの履歴を示す情報(以下、単にバックアップ履歴ということがある)を定期的に各実行サーバから取得する。管理部120は、取得したバックアップ履歴を記憶部110に格納する。
 また、管理部120は警告サーバ400またはセンサ装置500,500aなどから警告データを受信したとき、当該警告データに基づいて他の拠点へ移動させるべき仮想マシンを決定する。管理部120は、記憶部110に記憶された情報に基づいて、仮想マシンの移動順序を決定する。管理部120は、移動先の実行サーバを選択する。例えば、警告データで指定される警告エリア外のデータセンタに設置された実行サーバから、移動先の候補となる複数の実行サーバを選択する。更に、候補となった実行サーバで利用可能なリソースや負荷の状況など考慮して、候補を絞り込む。
 移動制御部130は、管理部120により決定された移動順序で、仮想マシンを移動させるように各実行サーバを制御する。
 実行サーバ200は、前述のように仮想マシン210,220を有する。仮想マシン210は、バックアップ処理部211および通信エージェント212を有する。
 バックアップ処理部211は、バックアップデータをバックアップサーバ300に、定期的に送信する。バックアップ処理部211は、仮想マシン210に割り当てられた実行サーバ200上の記憶領域に、バックアップ履歴を格納する。バックアップ履歴は、バックアップの開始時刻、終了時刻および成功/失敗の結果を含む。バックアップ履歴は、バックアップデータの格納先の記憶装置(例えば、バックアップサーバ300)を示す情報を含んでもよい。バックアップ処理部211は、バックアップサーバ300に格納されたバックアップデータを用いて、仮想マシン210のOSや業務APなどのデータをリストアすることもできる。
 ここで、バックアップ処理部211は仮想マシンごとに定期的に(例えば、1回/日や1回/週)でバックアップを取得する。バックアップの方法としては、フルバックアップ、増分バックアップおよび差分バックアップが考えられる。バックアップ処理部211は何れかの方法を用いることができる。増分または差分バックアップであれば、前回フルバックアップ時のバックアップデータと、増分または差分バックアップ時のバックアップデータとを用いて、仮想マシン210のOSや業務APなどのデータをリストアできる。
 通信エージェント212は、制御サーバ100の要求に応じて、バックアップ処理部211が取得したバックアップ履歴を制御サーバ100へ送信する。
 実行サーバ200aは仮想マシン210a,220aを有する。実行サーバ200bは仮想マシン210b,220bを有する。実行サーバ200cは仮想マシン210c,220cを有する。仮想マシン220,210a,220a,210b,220b,210c,220cも、仮想マシン210と同様の機能を有する。
 図6は、第2の実施の形態のDC管理テーブルの例を示す図である。DC管理テーブル111は、データセンタ30,40,50が設けられた地域を管理するテーブルである。DC管理テーブル111は、記憶部110に格納される。DC管理テーブル111は、DCおよびエリアの項目を含む。
 DCの項目には、データセンタを識別するためのデータセンタ名が登録される。ここで、データセンタ30のデータセンタ名は“DC1”である。データセンタ40のデータセンタ名は“DC2”である。データセンタ50のデータセンタ名は“DC3”である。エリアの項目には、データセンタが存在する地域が登録される。
 例えば、DC管理テーブル111には、データセンタ名が“DC1”、“エリアX”という情報が登録されている。これは、データセンタ30がエリアXで示される地域に存在することを示す。また、DC管理テーブル111には、データセンタ名が“DC2”、“エリアY”という情報が登録されている。これは、データセンタ50がエリアYで示される地域に存在することを示す。エリアYは、エリアXとは地理的に離れた地域である。
 図7は、第2の実施の形態の優先度条件テーブルの例を示す図である。優先度条件テーブル112は、バックアップ履歴に応じた仮想マシンの優先度(以下、バックアップ優先度ということがある)を定義したテーブルである。優先度条件テーブル112は、記憶部110に格納される。優先度条件テーブル112は、最終バックアップからの経過時間およびバックアップ優先度の項目を含む。
 最終バックアップからの経過時間の項目には、直近のバックアップにおける経過時間の範囲が登録される。バックアップ優先度の項目には、バックアップ優先度を示す数値が登録される。バックアップ優先度は、数値が大きいほど、優先度が高い(より優先される)ことを示す。
 例えば、優先度条件テーブル112には、仮想マシンの直近のバックアップ履歴から現在時刻までの経過時間が“1時間未満”の場合、バックアップ優先度が“1”という情報が登録されている。同様に、当該経過時間が“1時間以上2時間未満”の場合、バックアップ優先度が“2”である。当該経過時間が“2時間以上3時間未満”の場合、バックアップ優先度が“3”である。当該経過時間が“3時間以上4時間未満”の場合、バックアップ優先度が“4”である。当該経過時間が“4時間以上5時間未満”の場合、バックアップ優先度が“5”である。当該経過時間が“5時間以上”の場合、バックアップ優先度が“6”である。数値が大きいほど優先度が高いから、優先度条件テーブル112の中ではバックアップ優先度“6”が最高の優先度、バックアップ優先度“1”が最低の優先度ということになる。
 なお、管理部120は、優先度条件テーブル112を所定の定義情報に基づいて生成してもよい。例えば、バックアップ有効時間範囲とバックアップ優先度レベル数とを含む定義情報の管理部120への入力を許容してもよい。その場合、管理部120は、バックアップ有効時間範囲とバックアップ優先度レベル数とに基づいて、優先度条件テーブル112を生成できる。例えば、バックアップ有効時間範囲が“5時間”、バックアップ優先度レベル数が“6”と指定されたとする。すると、管理部120は、5時間の範囲を均一に5つの優先度レベルに分割し、5時間以上の範囲を最高の優先度レベルとする(計6つのレベル)。このようにして、管理部120は優先度条件テーブル112を生成し得る。
 また、経過時間の範囲が1時間と均一である場合を例示したが、均一でなくてもよい。例えば、第1のバックアップ優先度とする経過時間の範囲と第2のバックアップ優先度とする経過時間の範囲とが異なるように優先度条件テーブル112を生成してもよい。
 図8は、第2の実施の形態のAP優先度条件テーブルの例を示す図である。AP優先度条件テーブル113は、業務APの重要度に応じた仮想マシンの優先度(以下、AP優先度ということがある)を定義したテーブルである。AP優先度条件テーブル113は、記憶部110に格納される。AP優先度条件テーブル113は、業務APおよびAP優先度の項目を含む。
 業務APの項目には、仮想マシンが実行する業務APの種類を示す情報が登録される。例えば、業務APがファイルサーバの場合、業務APの項目には“FS”(File Server)が設定される。業務APがDB(DataBase)サーバの場合、業務APの項目には“DB”が設定される。業務APがWebサーバの場合、業務APの項目には“Web”が設定される。AP優先度の項目には、AP優先度を示す数値が登録される。AP優先度は、数値が大きいほど、優先度が高い(より優先される)ことを示す。
 例えば、AP優先度条件テーブル113には、業務APが“FS”の場合、AP優先度が“1”という情報が登録されている。同様に、業務APが“DB”の場合、AP優先度が“2”である。業務APが“Web”の場合、AP優先度が“3”である。数値が大きいほど優先度が高いから、AP優先度条件テーブル113の中ではAP優先度“3”が最高の優先度、AP優先度“1”が最低の優先度ということになる。
 図9は、第2の実施の形態の仮想マシン管理テーブルの例を示す図である。仮想マシン管理テーブル114は、仮想マシンの属性を管理するためのテーブルである。仮想マシン管理テーブル114は、記憶部110に格納される。仮想マシン管理テーブル114は、仮想マシン名、業務AP、業務グループ、継続優先度、設置場所およびバックアップ場所の項目を含む。
 仮想マシン名の項目には、仮想マシンの識別情報が登録される。ここで、仮想マシン210の仮想マシン名を“VM(Virtual Machine)1”とする。仮想マシン220の仮想マシン名を“VM2”とする。仮想マシン210aの仮想マシン名を“VM3”とする。仮想マシン220aの仮想マシン名を“VM4”とする。仮想マシン210bの仮想マシン名を“VM5”とする。仮想マシン220bの仮想マシン名を“VM6”とする。仮想マシン210cの仮想マシン名を“VM7”とする。仮想マシン220cの仮想マシン名を“VM8”とする。
 業務APの項目には、仮想マシン上で実行される業務APを示す情報が登録される。業務グループの項目には、仮想マシンが所属する業務グループの番号が登録される。業務グループとは、1つの業務に係る処理を連携する仮想マシンの集合を示す単位である。例えば、各業務グループには、ファイルサーバ、DBサーバおよびWebサーバである仮想マシンが含まれて、各サーバが連携する。継続優先度の項目には、仮想マシンの重要度に応じた継続優先度を示す数値が登録される。継続優先度とは、仮想マシンに個別に設定される優先度である。継続優先度には、処理を継続させたい優先度を任意に設定できる。例えば、継続優先度は、数値が大きいほど、優先度が高い(より優先される)ことを示す。
 設置場所の項目には、仮想マシンを動作させる実行サーバが設置されたデータセンタ名が設定される。バックアップ場所の項目には、仮想マシンのバックアップデータを格納するバックアップサーバ300が設置されたデータセンタのデータセンタ名が設定される。
 例えば、仮想マシン管理テーブル114には、仮想マシン名が“VM1”、継続優先度が“1”、業務APが“FS”、業務グループが“1”、設置場所が“DC1”、バックアップ場所が“DC3”という情報が提供される。これは、仮想マシン210について、業務APがファイルサーバであり、業務グループ“1”に属すること、継続優先度が“1”であることを示している。また、仮想マシン210を実行する実行サーバ200がデータセンタ30に設置されていること、バックアップデータを格納するバックアップサーバ300がデータセンタ50に設置されていることを示している。
 ここで、仮想マシン210a,210b,220bも業務グループ“1”である。また、仮想マシン210aの継続優先度は“2”、仮想マシン210bの継続優先度は“3”、仮想マシン220bの継続優先度は“4”である。したがって、仮想マシン210,210a,210b,220bが互いに連携して所定の業務処理を実現する。その中で、仮想マシン220bの継続優先度が最も高い。次いで、仮想マシン210bの継続優先度が高い。次いで、仮想マシン210aの継続優先度が高い。そして、仮想マシン210の継続優先度が最も低い。
 図10は、第2の実施の形態のバックアップ履歴管理テーブルの例を示す図である。バックアップ履歴管理テーブル115は、各仮想マシンのバックアップ履歴を管理するためのテーブルである。バックアップ履歴管理テーブル115は、記憶部110に格納される。バックアップ履歴管理テーブル115には、項番、仮想マシン名、開始、終了および結果の項目が含まれる。
 項番の項目には、項番が登録される。仮想マシン名の項目には、仮想マシン名が登録される。開始の項目には、バックアップを開始した時刻が登録される。終了の項目には、バックアップを終了した時刻が登録される。結果の項目には、バックアップの成否を示す結果が登録される。例えば、バックアップが成功した場合には“成功”が登録される。バックアップが失敗した場合には“失敗”が登録される。
 例えば、バックアップ履歴管理テーブル115には、項番が“1”、仮想マシン名が“VM1”、開始が“10/2 4:00”、終了が“10/2 5:20”、結果が“成功”という情報が登録される。これは、仮想マシン210についてのバックアップが10月2日の午前4時に開始され、10月2日の午前5時20分に終了し、バックアップが成功(正常終了)したことを示す。
 一方、例えば、項番“7”のレコードでは、仮想マシン210c(“VM7”)についてのバックアップ結果が“失敗”である。これは、バックアップが失敗(異常終了)したことを示す。この場合は、仮想マシン210cのバックアップデータを正常に取得できていないことになる。
 なお、バックアップ履歴管理テーブル115には、仮想マシンごとに直近の所定回数分(例えば、1~3回程度)のバックアップ履歴を格納しておいてもよいし、過去のバックアップ履歴を全て格納しておいてもよい。
 図11は、第2の実施の形態のバックアップ優先度テーブルの例を示す図である。バックアップ優先度テーブル116は、仮想マシンごとのバックアップ優先度を管理するためのテーブルである。バックアップ優先度テーブル116は、記憶部110に格納される。バックアップ優先度テーブル116には、仮想マシン名およびバックアップ優先度の項目が含まれる。
 仮想マシン名の項目には、仮想マシン名が登録される。バックアップ優先度の項目には、バックアップ優先度が登録される。例えば、バックアップ優先度テーブル116には、仮想マシン名が“VM1”、バックアップ優先度が“1”という情報が登録される。これは、直近のバックアップ履歴に応じた仮想マシン210のバックアップ優先度が“1”であることを示している。
 図12は、第2の実施の形態の移動順序テーブルを示す図である。移動順序テーブル117は、仮想マシンごとの継続優先度、AP優先度およびバックアップ優先度に基づいて管理部120が評価した仮想マシンの移動順序を管理するためのテーブルである。移動順序テーブル117は、記憶部110に格納される。移動順序テーブル117は、仮想マシン名、優先度総合評価値および移動順序の項目を含む。
 仮想マシン名の項目には、仮想マシン名が登録される。優先度総合評価値の項目には、継続優先度、AP優先度およびバックアップ優先度を考慮して総合的に評価された値(優先度総合評価値)が登録される。優先度総合評価値は、数値が大きいほど、優先度が高い(より優先される)ことを示す。移動順序の項目には、移動する順序が登録される。
 ここで、優先度の総合評価値は、優先度条件テーブル112、AP優先度条件テーブル113および仮想マシン管理テーブル114に基づいて、継続優先度、AP優先度およびバックアップ優先度の和によって求められる。例えば、仮想マシン210(VM1)の優先度総合評価値は、1+1+1=3である。仮想マシン220(VM2)の優先度総合評価値は、2+1+5=8である。仮想マシン210a(VM3)の優先度総合評価値は2+2+1=5である。仮想マシン220a(VM4)の優先度総合評価値は3+2+4=9である。仮想マシン210b(VM5)の優先度総合評価値は3+3+2=8である。仮想マシン220b(VM6)の優先度総合評価値は4+3+3=10である。仮想マシン210c(VM7)の優先度総合評価値は3+3+6=12である。仮想マシン220c(VM8)の優先度総合評価値は4+3+6=13である。
 優先度総合評価値が同じ値の場合、例えば、バックアップ優先度の大きい順とする。よって、移動順序はVM8(移動順序“1”)、VM7(移動順序“2”)、VM6(移動順序“3”)、VM4(移動順序“4”)、VM2(移動順序“5”)、VM5(移動順序“6”)、VM3(移動順序“7”)、VM1(移動順序“8”)となる。
 なお、上記のように優先度総合評価値が同じ値の場合に、バックアップ優先度を用いて、移動順序を判断するものとしたが、バックアップ優先度以外を優先させてもよい。例えば、継続優先度を比較して移動順序を判断してもよいし、AP優先度を比較して移動順序を判断してもよい。優先度総合評価値が同じ値である場合に何れの優先度を比較するかについて、ユーザによる選択入力を許容してもよい。
 図13は、第2の実施の形態の警告データを示す図である。警告データ600は、警告サーバ400またはセンサ装置500,500a,500bが、所定の地域における災害発生などを知らせる警告を制御サーバ100に通知するための通信データである。警告データ600は、警告サーバ400またはセンサ装置500,500a,500bが制御サーバ100へ送信される。
 警告データ600は、警告エリアおよび警告内容のフィールドを有する。警告エリアのフィールドには、災害が発生した地域や災害の影響が及び得る地域を示す情報が設定される。警告内容のフィールドには、警告の内容を示す情報が設定される。
 例えば、エリアXで大地震が発生した場合、警告エリアのフィールドが“エリアX”であり、警告内容のフィールドが“大地震発生”である警告データ610が、警告サーバ400などから送信される。
 図14は、第2の実施の形態の優先度の判定例を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
 (ステップS11)管理部120は、各仮想マシンからバックアップ履歴を受信する。管理部120は、バックアップ履歴管理テーブル115の各情報(バックアップの開始、終了および結果)を、受信されたバックアップ履歴に基づいて更新する。
 (ステップS12)管理部120は、バックアップ履歴に基づいて各仮想マシンのバックアップ優先度を特定する。具体的には、管理部120は仮想マシンごとの直近のバックアップの終了時刻をバックアップ履歴管理テーブル115から検索する。管理部120は、検索された終了時刻から現在時刻までの経過時間を算出する。管理部120は、算出された経過時間と優先度条件テーブル112とに基づいて、バックアップ優先度を検索する。そして、管理部120は、検索されたバックアップ優先度を当該仮想マシンのバックアップ優先度と特定する。管理部120は、1つの仮想マシンについてバックアップ履歴を受信するたびに、当該仮想マシンに対して本ステップS12を実行してもよい。
 (ステップS13)管理部120は、バックアップ優先度テーブル116の各仮想マシン名について、バックアップ優先度を特定したバックアップ優先度で更新する。
 なお、図14の処理は、管理部120が警告サーバ400などから警告データ600を受信したタイミングで実行開始されてもよい。また、直近のバックアップの開始時刻から現在時刻までの経過時間を優先度条件テーブル112でいう“最終バックアップからの経過時間”としてもよい。
 更に、ステップS12では、直近のバックアップに失敗していることもある。その場合、管理部120は、優先度条件テーブル112内の最高のバックアップ優先度を対象の仮想マシンに付与してもよい。あるいは、対象の仮想マシンについて直近のバックアップよりも前の時点における、成功したバックアップの履歴がバックアップ履歴管理テーブル115にあれば、当該成功したバックアップの履歴に基づいて、バックアップ優先度を求めてもよい。また、定期的なバックアップを取得していない仮想マシンも存在し得る。管理部120は、そのような仮想マシンに最高のバックアップ優先度を付与してもよい。
 管理部120は、災害が発生した旨を警告サーバ400やセンサ装置500などから受信すると、仮想マシンの移動制御を開始する。次に、当該移動制御の手順を説明する。
 図15は、第2の実施の形態の仮想マシンの移動例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
 (ステップS21)管理部120は、警告サーバ400から警告データ600を受信する。例えば、警告データ600には、前述のように警告エリア“エリアX”、警告内容“大地震発生”という情報が格納されている。
 (ステップS22)管理部120は、警告データ600を参照して警告エリアを確認する。管理部120は、DC管理テーブル111を参照して、当該警告エリアに含まれるデータセンタを特定する。例えば、警告エリアが“エリアX”であれば、警告エリアに含まれるのはデータセンタ40,50である。
 (ステップS23)管理部120は、移動対象の仮想マシンを特定する。具体的には、管理部120は仮想マシン管理テーブル114を参照して、ステップS22で特定されたデータセンタ内の仮想マシンを移動対象とする。データセンタ40,50が警告エリアに含まれる場合、移動対象の仮想マシンは、仮想マシン210,220,210a,220a,210b,220b,210c,220cである。
 (ステップS24)管理部120は、移動対象の仮想マシンについて、バックアップ優先度を再評価する。詳細は後述する。
 (ステップS25)管理部120は、AP優先度条件テーブル113および仮想マシン管理テーブル114を参照して、移動対象の仮想マシンについて継続優先度およびAP優先度を取得する。具体的には、継続優先度の取得は移動対象の仮想マシンごとに、当該仮想マシンに一致する仮想マシンの継続優先度を仮想マシン管理テーブル114から取得する。また、AP優先度の取得は移動対象の仮想マシンごとに、仮想マシンに対応する業務APを仮想マシン管理テーブル114から検索する。そして、管理部120は検索された業務APのAP優先度をAP優先度条件テーブル113から取得する。
 (ステップS26)管理部120は、検索した各仮想マシンについて、取得した継続優先度、AP優先度およびバックアップ優先度に基づいて、優先度の総合評価を行い、移動順序テーブル117を作成する。具体的には、管理部120は仮想マシンごとに継続優先度、AP優先度およびバックアップ優先度を合計した値を優先度総合評価値として求め、移動順序テーブル117に登録する。
 (ステップS27)管理部120は、仮想マシンごとの優先度総合評価に基づいて、仮想マシンの移動順序を決定する。管理部120は、優先度総合評価の大きい順になるように移動順序を決定し、移動順序テーブル117に登録する。
 (ステップS28)管理部120は、警告エリア外のデータセンタの中から移動先のデータセンタを決定する。例えば、DC管理テーブル111によれば、データセンタ50は“エリアY”に存在しており、警告エリア“エリアX”に対して警告エリア外である。したがって、管理部120は、当該データセンタ50を移動先とする。移動先のデータセンタの候補が複数存在する場合には、警告エリアから最も遠いエリアに存在するデータセンタを選択してもよい。そのようなエリアは、災害の被害が及ぶ可能性が低いからである。また、管理部120は、決定されたデータセンタ内の実行サーバの中から、移動先の実行サーバを決定する。データセンタ50には実行サーバ200d,200eが存在している。管理部120は、実行サーバ200d,200eを移動先の実行サーバとする。
 (ステップS29)移動制御部130は、移動順序テーブル117を参照して、管理部120により決定された順序で、移動先の実行サーバへ移動対象の各仮想マシンを移動させるよう移動元の実行サーバに指示する。例えば、移動制御部130は、実行サーバ200d,200eへの、仮想マシン210,220,210a,220a,210b,220b,210c,220cの移動を、実行サーバ200,200a,200b,200cに対して順番に指示する。
 このようにして、管理部120はバックアップ履歴に基づいて、複数の仮想マシンの移動順序を決定し、複数の仮想マシンを当該移動順序で移動するように各実行サーバを制御する。なお、ステップS28において、管理部120は、移動先のデータセンタに設置された実行サーバにおいて利用可能なリソースや移動後の負荷などに基づいて、移動先の実行サーバを決定してもよい。例えば、仮想マシンを動作することで受ける負荷、仮想マシンの動作に用いるためのリソースの有無、仮想マシンを移動するための帯域の広さなどを考慮することが考えられる。
 また、ステップS29において、各実行サーバはライブマイグレーションと呼ばれる技術を用いて仮想マシンの移動を行ってもよい。具体的には、仮想マシン210を実行サーバ200dに移動する場合を想定すると次のような手順を採ることが考えられる。
 (1)実行サーバ200dで仮想マシン210用のCPU/メモリリソースを予約する。(2)実行サーバ200で仮想マシン210に割り当てられているメモリリソースのデータを、実行サーバ200dで仮想マシン210用に新たに割り当てたメモリリソースにコピーする。(3)実行サーバ200から実行サーバ200dへ仮想マシン210に割り当てていたCPUリソースの状態をコピーし、実行サーバ200で仮想マシン210を停止させる。(4)実行サーバ200dで仮想マシン210を再開し、実行サーバ200で仮想マシン210に割り当てていたリソースを解放する。(5)実行サーバ200d上の仮想マシン210についてネットワーク設定(例えば、所定のアドレスなど)を更新する。これにより、仮想マシン210は、移動前と同様の動作が可能となる。
 ただし、実行サーバ200上で仮想マシン210を停止させてから、仮想マシン210に関するデータを実行サーバ200dにコピーして、仮想マシン210を実行サーバ200d上に移動させてもよい。次に、ステップS24のバックアップ優先度の再評価の手順を説明する。
 図16は、第2の実施の形態の優先度の再評価の例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
 (ステップS31)管理部120は、ステップS23で特定された移動対象の仮想マシンを1つ選択する。
 (ステップS32)管理部120は、当該仮想マシンのバックアップ先を確認する。具体的には、管理部120は、仮想マシン管理テーブル114について、当該仮想マシンのバックアップ場所を確認する。管理部120は、確認したバックアップ場所が警告エリア内であるか判定する。バックアップ場所が警告エリア内である場合、処理をステップS33へ進める。バックアップ場所が警告エリア外である場合、処理をステップS34へ進める。
 (ステップS33)管理部120は、バックアップ優先度テーブル116について、選択した仮想マシンのバックアップ優先度を最大レベルに更新する。最大レベルのバックアップ優先度とは、例えば、優先度条件テーブル112に設定されたバックアップ優先度のうちの最大値である。あるいは、それよりも大きな所定の値でもよい。
 (ステップS34)管理部120は、移動対象の全仮想マシンについて処理済みか判定する。移動対象の全仮想マシンについて処理済みである場合、処理を終了する。移動対象の全仮想マシンについて処理済みでない場合、処理をステップS31に進める。
 このようにして、管理部120は、移動対象の仮想マシンのバックアップ取得先が警告エリア内であるか否かに基づいて、当該仮想マシンのバックアップ優先度を再評価する。バックアップ取得先となるバックアップサーバが警告エリア内に存在する場合、当該バックアップサーバが設けられた拠点が崩壊したり、停電したりして利用不能になるおそれがある。すると、リストアのためにバックアップデータを利用するのが困難になってしまう。そこで、管理部120は、バックアップ取得先が警告エリア内に存在する仮想マシンのバックアップ優先度を最高レベルに引き上げる。これにより、当該仮想マシンが別拠点へ優先的に移動されるように制御できる。
 図17は、第2の実施の形態の仮想マシンの移動例を示す図である。図17では、災害が発生したときの仮想マシンの具体的な移動例を示している。データセンタ30,40は警告エリアに含まれている。移動順序は移動順序テーブル117に設定された通りである。また、仮想マシン210,210a,220,220aの移動先は、データセンタ50に配置された実行サーバ200dである。仮想マシン210b,210c,220b,220cの移動先は、データセンタ50に配置された実行サーバ200eである。
 この場合、制御サーバ100は、次の順序で各仮想マシンが移動されるように実行サーバ200,200a,200b,200cを制御する。最初に、仮想マシン220c(VM8)を実行サーバ200eへ移動させる。2番目に、仮想マシン210c(VM7)を200eへ移動させる。3番目に、仮想マシン220b(VM6)を実行サーバ200eへ移動させる。4番目に、仮想マシン220a(VM4)を実行サーバ200dへ移動させる。5番目に、仮想マシン220(VM2)を実行サーバ200dへ移動させる。6番目に、仮想マシン210b(VM5)を実行サーバ200eへ移動させる。7番目に、仮想マシン210a(VM3)を実行サーバ200dへ移動させる。最後に、仮想マシン210(VM1)を実行サーバ200dへ移動させる。
 ここで、移動順序を評価する方法の一例として、バックアップ優先度、AP優先度および継続優先度の和を優先度総合評価値として求める処理を例示した。ただし、他の方法を用いてもよい。例えば、業務グループ単位で優先度総合評価値を求めてもよい。具体的には、次のように評価することが考えられる。
 図18は、第2の実施の形態の移動順序の評価の他の例(その1)を示す図である。移動順序テーブル117aは、移動順序テーブル117に代えて、記憶部110に格納される。移動順序テーブル117aは、仮想マシン名、優先度総合評価値および移動順序の項目を含む。
 仮想マシン名の項目には、仮想マシン名が登録される。優先度総合評価値の項目には、業務グループに属する仮想マシンの中で、図12と同様に計算した各優先度の合計値が最大となる仮想マシンの当該合計値が設定される。
 例えば、業務グループが“1”に属する仮想マシンについて、仮想マシン210(VM1)の当該合計値が“3”であり、仮想マシン210a(VM3)の当該合計値が“5”であり、仮想マシン210b(VM5)の当該合計値が“8”であり、仮想マシン220b(VM6)の当該合計値が“10”であるため、VM1、VM3、VM5およびVM6の優先度総合評価値は“10”となる。
 同様に、業務グループ“2”に属する仮想マシンについて、仮想マシン220(VM2)の当該合計値は“8”であり、仮想マシン220a(VM4)の当該合計値は“9”であり、仮想マシン210c(VM7)の当該合計値は“12”であり、仮想マシン220c(VM8)の当該合計値は“13”であるため、VM2、VM4、VM7およびVM8の優先度総合評価値は“13”となる。
 移動順序の項目には、移動する順序が、優先度総合評価値が大きい順になるように設定される。優先度総合評価の値が同じ場合は、当該合計値が大きい順になるように設定される。したがって、移動順序は、VM8,VM7,VM4,VM2,VM6,VM5,VM3,VM1の順となる。
 このように、業務グループ内の仮想マシンのうち当該合計値が最大値となる仮想マシンの合計値を、業務グループ内の各仮想マシンの優先度総合評価値として、移動順序を決定することもできる。なお、業務グループ内の仮想マシンごとに算出された合計値の平均値を、当該業務グループ内の各仮想マシンの優先度総合評価値として、移動順序を決定してもよい。
 また、更に他の方法を用いて優先度総合評価値を求めることが考えられる。例えば、優先度に重み付けをして和をとることで優先度総合評価値を求めてもよい。具体的には、次のように評価することが考えられる。
 図19は、第2の実施の形態の移動順序の評価の他の例(その2)を示す図である。移動順序テーブル117bは、移動順序テーブル117に代えて、記憶部110に格納される。移動順序テーブル117bは、仮想マシン名、優先度総合評価値および移動順序の項目を含む。
 仮想マシン名の項目には、仮想マシン名が登録される。優先度総合評価値の項目には、仮想マシン管理テーブル114における継続優先度、AP優先度およびバックアップ優先度に対して重み付けし、合計した値が設定される。例えば、図16において、継続優先度の重みが“3”であり、AP優先度の重みが“1”であり、バックアップ優先度の重みが“5”であるとする。
 その場合、仮想マシン210(VM1)の優先度総合評価値は1×3+1×1+1×5=9となる。仮想マシン220(VM2)の優先度総合評価値は2×3+1×1+5×5=32となる。仮想マシン210a(VM3)の優先度総合評価値は2×3+2×1+1×5=13となる。仮想マシン220a(VM4)の優先度総合評価値は3×3+2×1+4×5=31となる。仮想マシン210b(VM5)の優先度総合評価値は3×3+3×1+2×5=22となる。仮想マシン220b(VM6)の優先度総合評価値は4×3+3×1+3×5=30となる。仮想マシン210c(VM7)の優先度総合評価値は3×3+3×1+6×5=42となる。仮想マシン220c(VM8)の優先度総合評価値は4×3+3×1+6×5=45となる。
 よって、移動順序はVM8,VM7,VM2,VM4,VM6,VM5,VM3,VM1の順となる。このように、優先度に重み付けをして和をとったものを優先度総合評価値として、移動順序を決定してもよい。
 以上で説明したように、制御サーバ100は警告サーバ400などから警告データ600を受信すると、データセンタ30,40に存在する仮想マシンそれぞれの継続優先度、AP優先度およびバックアップ優先度に基づいて仮想マシンの移動順序を決定する。そして、制御サーバ100は、当該移動順序で仮想マシンをデータセンタ50へ移動するよう各実行サーバを制御する。特に、バックアップ優先度に基づいて移動順序を決定するので、各仮想マシンについて復元可能な状態を考慮した順序で仮想マシンを移動できる。
 具体的には、より新しい時点のバックアップを取得している仮想マシンほど、移動を後回しにする。より新しい時点のバックアップを取得していれば、より新しい時点へ復元可能だからである。このため、仮に移動が間に合わない仮想マシンが生じたとしても、バックアップデータを用いて、当該仮想マシンをより新しい時点で復元できる可能性が高まる。これにより、仮に移動が間に合わない仮想マシンが生じたとしても、業務システムへの影響を軽減できる。
 また、バックアップ優先度以外の他の種類の優先度(AP優先度や継続優先度など)をも考慮して移動順序を決定してもよい。そうすれば、バックアップの状況だけでなく、業務の優先度などをも加味して総合的に移動順序を判断できる。
 また、制御サーバ100は、警告データ600を受信することで、災害など仮想マシンの移動開始すべきタイミングを効率的に検知できる。緊急時の検知方法は、警告データ600の受信に限らない。例えば、停電時に無停電電源装置によって発せられるバッテリからの給電開始の通知を受信することで、仮想マシンを移動開始すべきタイミングを検知してもよい。その場合、当該通知元の無停電電源装置がどのデータセンタに設置されているかを示す情報を制御サーバ100が予め保有しておけば、仮想マシン管理テーブル114に基づいて、移動させるべき仮想マシンを特定できる。あるいは、給電開始の通知に、データセンタを示す情報が含まれてもよい。
 また、制御サーバ100は、警告データ600に含まれる警告エリア内のデータセンタ30,40に存在する仮想マシンのみ移動させる。これにより、制御サーバ100は、限られた時間内に移動させるべき仮想マシンを限定することができる。このため、仮想マシンを効率的に移動できる。
 また、制御サーバ100は、移動させる仮想マシンによる実行データのバックアップ先のデータセンタが警告エリア内の場合、当該仮想マシンのバックアップ優先度を上げて、優先して移動されるように制御する。これにより、制御サーバ100は、移動させる仮想マシンのバックアップ先のデータセンタが災害などに巻き込まれた場合を考慮して移動順序を決定できる。
 なお、前述のように、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。このようなプログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体13)に記録され得る。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD-R(Recordable)/RW(Rewritable)、DVDおよびDVD-R/RWが含まれる。
 プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク20経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置(例えば、HDD103)に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワーク20を介して受信したプログラムを直接実行してもよい。また、上記の情報処理の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することも可能である。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 1,2,3 情報処理装置
 1a 記憶部
 1b 演算部
 2a,2b,2c 仮想マシン
 A1,A2,A3 バックアップ履歴
 B1,B2,B3 移動期間
 T1 移動開始タイミング
 T2 制限時刻

Claims (12)

  1.  1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報を記憶する記憶部と、
     前記バックアップの履歴を示す情報に基づいて前記複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、前記複数の仮想マシンそれぞれを前記順序で移動させるように前記1または複数の装置を制御する演算部と、
     を有する情報処理装置。
  2.  前記演算部は、前記複数の仮想マシンそれぞれに対してバックアップが行われた時間に基づいて前記順序を決定する、請求の範囲第1項記載の情報処理装置。
  3.  前記演算部は、バックアップが行われた時間と現時刻との時間差が大きい仮想マシンほど優先して移動させるように前記順序を決定する、請求の範囲第2項記載の情報処理装置。
  4.  前記演算部は、前記複数の仮想マシンそれぞれに対して実行されたバックアップの成否に基づいて前記順序を決定する、請求の範囲第1項乃至第3項の何れか1項に記載の情報処理装置。
  5.  前記演算部は、バックアップに失敗した仮想マシンを優先して移動させるように前記順序を決定する、請求の範囲第4項記載の情報処理装置。
  6.  前記演算部は、バックアップされたデータの格納先である記憶装置の設置場所を示す情報に基づいて前記順序を決定する、請求の範囲第1項乃至第5項の何れか1項に記載の情報処理装置。
  7.  前記演算部は、バックアップされたデータの格納先である記憶装置の設置場所が災害の影響を受ける地域である仮想マシンを優先して移動させるように前記順序を決定する、請求の範囲第6項記載の情報処理装置。
  8.  前記演算部は、前記1または複数の装置のうち災害の影響を受ける装置で動作する仮想マシンについて前記順序を決定する、請求の範囲第1項乃至第7項の何れか1項に記載の情報処理装置。
  9.  前記記憶部は、前記1または複数の装置が設置された地域を示す情報を記憶し、
     前記演算部は、警告装置によって報知される災害の影響を受ける地域を示す情報を受け付けると、前記記憶部に記憶された情報に基づいて、前記災害の影響を受ける装置を特定する、
     請求の範囲第8項記載の情報処理装置。
  10.  前記記憶部は、前記複数の仮想マシンそれぞれの重要度を示す情報を記憶し、
     前記演算部は、前記バックアップの履歴を示す情報と前記重要度を示す情報とに基づいて前記順序を決定する、
     請求の範囲第1項乃至第9項の何れか1項に記載の情報処理装置。
  11.  1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報に基づいて、前記複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、
     前記複数の仮想マシンそれぞれを前記順序で移動させるように前記1または複数の装置を制御する、
     処理をコンピュータに実行させるプログラム。
  12.  情報処理装置が、
     1または複数の装置で動作する複数の仮想マシンそれぞれに関するデータのバックアップの履歴を示す情報に基づいて、前記複数の仮想マシンそれぞれを1または複数の他の装置へ移動させる順序を決定し、
     前記複数の仮想マシンそれぞれを前記順序で移動させるように前記1または複数の装置を制御する、
     仮想マシン移動方法。
PCT/JP2012/078792 2012-11-07 2012-11-07 情報処理装置、プログラムおよび仮想マシン移動方法 WO2014073046A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/078792 WO2014073046A1 (ja) 2012-11-07 2012-11-07 情報処理装置、プログラムおよび仮想マシン移動方法
JP2014545479A JP5967215B2 (ja) 2012-11-07 2012-11-07 情報処理装置、プログラムおよび仮想マシン移動方法
US14/702,782 US9652332B2 (en) 2012-11-07 2015-05-04 Information processing apparatus and virtual machine migration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/078792 WO2014073046A1 (ja) 2012-11-07 2012-11-07 情報処理装置、プログラムおよび仮想マシン移動方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/702,782 Continuation US9652332B2 (en) 2012-11-07 2015-05-04 Information processing apparatus and virtual machine migration method

Publications (1)

Publication Number Publication Date
WO2014073046A1 true WO2014073046A1 (ja) 2014-05-15

Family

ID=50684184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/078792 WO2014073046A1 (ja) 2012-11-07 2012-11-07 情報処理装置、プログラムおよび仮想マシン移動方法

Country Status (3)

Country Link
US (1) US9652332B2 (ja)
JP (1) JP5967215B2 (ja)
WO (1) WO2014073046A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016053928A (ja) * 2014-09-04 2016-04-14 富士通株式会社 管理装置、マイグレーション制御プログラム、情報処理システム
CN106155831A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种数据恢复方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141487B2 (en) * 2013-01-15 2015-09-22 Microsoft Technology Licensing, Llc Healing cloud services during upgrades
JP5713056B2 (ja) * 2013-06-24 2015-05-07 横河電機株式会社 プロセス制御装置及びシステム並びにその更新方法
JP6221701B2 (ja) * 2013-12-03 2017-11-01 富士通株式会社 制御プログラム、制御装置及び制御方法
US20160019119A1 (en) * 2014-07-21 2016-01-21 Longsand Limited Prioritizing backup of files
US11023330B2 (en) * 2016-09-02 2021-06-01 Vmware, Inc. Efficient scheduling of backups for cloud computing systems
US10223218B2 (en) * 2016-11-29 2019-03-05 International Business Machines Corporation Disaster recovery of managed systems
US10601837B1 (en) * 2017-10-02 2020-03-24 EMC IP Holding Company LLC Systems and methods for performing data protection operations with a proxy register
US11256540B2 (en) * 2018-12-27 2022-02-22 Micro Focus Llc Server-to-container migration
US11163647B2 (en) 2019-04-23 2021-11-02 EMC IP Holding Company LLC System and method for selection of node for backup in distributed system
US11099941B2 (en) 2019-04-23 2021-08-24 EMC IP Holding Company LLC System and method for accelerating application service restoration
US11119685B2 (en) 2019-04-23 2021-09-14 EMC IP Holding Company LLC System and method for accelerated data access
US11106544B2 (en) * 2019-04-26 2021-08-31 EMC IP Holding Company LLC System and method for management of largescale data backup
US11036400B2 (en) 2019-04-26 2021-06-15 EMC IP Holding Company LLC System and method for limiting restoration access
US11061732B2 (en) 2019-05-14 2021-07-13 EMC IP Holding Company LLC System and method for scalable backup services

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113677A (ja) * 2008-11-10 2010-05-20 Hitachi Ltd サービス管理装置、サービス管理方法およびサービス管理システム
JP2011128967A (ja) * 2009-12-18 2011-06-30 Hitachi Ltd 仮想計算機の移動方法、仮想計算機システム及びプログラム
JP2011192184A (ja) * 2010-03-16 2011-09-29 Nec Corp 仮想コンピュータシステム、管理サーバ、仮想マシンの構築方法およびそのプログラム
JP2012088943A (ja) * 2010-10-20 2012-05-10 Hitachi Ltd 仮想サーバ管理装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
JP4780015B2 (ja) 2007-03-29 2011-09-28 日本電気株式会社 バックアップ装置及び方法並びにプログラム
JP5334010B2 (ja) 2008-03-10 2013-11-06 東芝エレベータ株式会社 昇降機保守管理装置
JP5140633B2 (ja) * 2008-09-04 2013-02-06 株式会社日立製作所 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
JP4839361B2 (ja) 2008-11-11 2011-12-21 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP4970479B2 (ja) * 2009-03-03 2012-07-04 ソニー株式会社 情報処理システム
US8595737B2 (en) 2009-03-17 2013-11-26 Hitachi, Ltd. Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount
JP5457698B2 (ja) * 2009-03-25 2014-04-02 株式会社東芝 ファイルバックアップ装置およびその方法
JP2011209811A (ja) * 2010-03-29 2011-10-20 Nec Corp 仮想マシンシステムおよび仮想マシン配置方法
WO2013145288A1 (ja) * 2012-03-30 2013-10-03 富士通株式会社 情報処理装置、仮想マシン停止方法およびプログラム
JP6079226B2 (ja) * 2012-12-27 2017-02-15 富士通株式会社 情報処理装置、サーバ管理方法およびサーバ管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010113677A (ja) * 2008-11-10 2010-05-20 Hitachi Ltd サービス管理装置、サービス管理方法およびサービス管理システム
JP2011128967A (ja) * 2009-12-18 2011-06-30 Hitachi Ltd 仮想計算機の移動方法、仮想計算機システム及びプログラム
JP2011192184A (ja) * 2010-03-16 2011-09-29 Nec Corp 仮想コンピュータシステム、管理サーバ、仮想マシンの構築方法およびそのプログラム
JP2012088943A (ja) * 2010-10-20 2012-05-10 Hitachi Ltd 仮想サーバ管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016053928A (ja) * 2014-09-04 2016-04-14 富士通株式会社 管理装置、マイグレーション制御プログラム、情報処理システム
CN106155831A (zh) * 2015-03-24 2016-11-23 联想(北京)有限公司 一种数据恢复方法及装置

Also Published As

Publication number Publication date
JP5967215B2 (ja) 2016-08-10
US9652332B2 (en) 2017-05-16
US20150234713A1 (en) 2015-08-20
JPWO2014073046A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
JP5967215B2 (ja) 情報処理装置、プログラムおよび仮想マシン移動方法
JP5834939B2 (ja) プログラム、仮想マシン制御方法、情報処理装置および情報処理システム
US10678457B2 (en) Establishing and maintaining data apportioning for availability domain fault tolerance
US10055306B1 (en) Optimized backup of clusters with multiple proxy servers
US7203944B1 (en) Migrating virtual machines among computer systems to balance load caused by virtual machines
JP5427011B2 (ja) 仮想ハードディスクの管理サーバおよび管理方法、管理プログラム
US9485160B1 (en) System for optimization of input/output from a storage array
JP6186787B2 (ja) データ転送装置、データ転送システム、データ転送方法及びプログラム
JP6372074B2 (ja) 情報処理システム,制御プログラム及び制御方法
WO2013145288A1 (ja) 情報処理装置、仮想マシン停止方法およびプログラム
WO2014076834A1 (ja) 管理システム及び管理方法
WO2011074284A1 (ja) 仮想計算機の移動方法、仮想計算機システム及びプログラムを格納した記憶媒体
JP2010086516A (ja) 仮想化環境において生じる障害の解析方法、管理サーバ、及びプログラム
JP2018088134A (ja) マイグレーションプログラム、情報処理装置およびマイグレーション方法
US9329937B1 (en) High availability architecture
WO2015068299A1 (ja) 管理計算機および計算機システムの管理方法
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
US10846079B2 (en) System and method for the dynamic expansion of a cluster with co nodes before upgrade
JP2014191752A (ja) マイグレーション処理プログラム,マイグレーション方法及びクラウドシステム
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
JPWO2014147802A1 (ja) 情報処理装置、資源割当方法、及びプログラム
TW201347459A (zh) 管理方法及其系統
US20190173770A1 (en) Method and system for placement of virtual machines using a working set computation
US9678823B2 (en) Information processing apparatus, information processing method, and information processing system
JP7104327B2 (ja) 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法

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: 12887985

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014545479

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: 12887985

Country of ref document: EP

Kind code of ref document: A1