WO2012120664A1 - 仮想計算機のマイグレーション評価方法及び仮想計算機システム - Google Patents

仮想計算機のマイグレーション評価方法及び仮想計算機システム Download PDF

Info

Publication number
WO2012120664A1
WO2012120664A1 PCT/JP2011/055514 JP2011055514W WO2012120664A1 WO 2012120664 A1 WO2012120664 A1 WO 2012120664A1 JP 2011055514 W JP2011055514 W JP 2011055514W WO 2012120664 A1 WO2012120664 A1 WO 2012120664A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
virtual
physical
virtual machine
physical computer
Prior art date
Application number
PCT/JP2011/055514
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/JP2011/055514 priority Critical patent/WO2012120664A1/ja
Priority to JP2013503292A priority patent/JP5577453B2/ja
Publication of WO2012120664A1 publication Critical patent/WO2012120664A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Definitions

  • the present invention relates to movement of a virtual machine in a virtual machine system, and more particularly to a technique for estimating resource use when moving a virtual machine between physical machines.
  • a virtual machine can be moved between physical machines while providing a plurality of services with a plurality of virtual machines.
  • the virtual computer that was running on this physical computer is moved to another physical computer in the standby system or standby system. It is widely practiced to continue providing services.
  • a virtualization unit such as a hypervisor or VMM (Virtual Machine Monitor) is executed on the physical computer, and a plurality of virtual computers are provided on the virtualization unit.
  • the virtualization unit provides a virtual I / O device obtained by virtualizing a physical I / O device on the physical computer to the virtual computer.
  • the virtual machine communicates via a virtual I / O device.
  • the virtualization unit provides a virtual switch, and the virtual I / O device of each virtual machine is connected to the virtual switch.
  • the virtualization unit transmits and receives data within the virtual switch for communication between virtual machines on the same physical computer.
  • the virtual switch transmits and receives the contents of the memory on the physical computer between the virtual computers, so that the virtual computer appears as if the virtual I / O device communicated.
  • the physical resources of the CPU and memory are only used without using physical I / O devices.
  • the physical I / O device is used from the virtual I / O device via the virtual switch.
  • the physical resource to be used differs depending on the physical computer that is the communication destination of the virtual computer, and the load on the physical I / O device that performs communication differs.
  • the estimated amount (usage amount) of the physical resource of the virtual computer X is only the CPU and the memory. Therefore, the physical I / O device is not used.
  • the virtual computer X is moved to the physical computer B that satisfies this estimated amount, the virtual computer X on the physical computer B communicates with the virtual computer Y on the physical computer A, so that the physical computer B uses the initial estimated amount.
  • the resource usage of physical I / O devices that are not included increases. As a result, in other virtual machines of the physical computer B, the bandwidth of the physical I / O device may be insufficient, and processing delays or failures due to overload may occur.
  • the present invention has been made in view of the above problems, and an object thereof is to accurately determine the use of virtual machine resources to be moved to different physical machines.
  • the present invention includes a plurality of physical computers each including a processor and a memory, a virtualization unit that is executed on the physical computer and allocates computer resources to one or more virtual computers, and manages the virtualization unit to manage the virtual
  • a virtual machine system comprising: a management computer that moves computers between physical computers; and a virtual computer migration evaluation method in which the management computer evaluates a physical computer that moves the virtual computer, the management computer comprising: The first virtual machine to be moved is selected from a plurality of virtual machines, and the second physical machine to which the first virtual machine is moved is selected from the first physical machine on which the first virtual machine operates.
  • a first step wherein the management computer operates the virtual computer to measure computer resources used in the physical computer, and A second step of specifying the communication destination of the computer as a first communication destination; and the management computer specifies the first communication destination of the specified first virtual computer as the second physical computer of the migration destination
  • a third step of converting the communication destination into the second communication destination and setting the second communication destination as the second communication destination, and the management computer operating the first virtual machine on the second physical computer to perform the second communication.
  • the load is excessive when the first virtual machine is executed on the second physical machine before the first virtual machine is migrated from the first physical machine to the second physical machine. It is possible to accurately determine whether or not.
  • 1 is a block diagram illustrating an example of a virtual machine system according to a first embodiment of this invention.
  • 1 is a block diagram illustrating an example of a functional part of a virtual machine system according to a first embodiment of this invention.
  • It is a block diagram which shows the 1st Embodiment of this invention and shows the detail of the functional part of a physical computer and a management computer.
  • It is a figure which shows the 1st Embodiment of this invention and shows an example of the resource usage table 610A which shows the CPU utilization rate which virtual machine VM-A1 uses.
  • It is a figure which shows the 1st Embodiment of this invention and shows an example of the resource usage table 610A which shows the CPU utilization rate which virtual machine VM-A1 uses.
  • FIG. 10 is a diagram illustrating an example of a resource usage table 610B illustrating an I / O process used by the virtual machine VM-A1 according to the first embodiment of this invention.
  • FIG. 3 is a block diagram of an all resource usage table that is the first embodiment of the present invention and is held by a management computer.
  • FIG. 10 is a diagram illustrating an example of a resource usage table 610B in which I / O processing with the virtual machine of the same physical machine 1-A as the virtual machine VM-A1 is extracted according to the first embodiment of this invention.
  • FIG. 10 is a diagram illustrating an example of a resource usage table 610B in which the virtual machine VM-A1 is the transmission source and the I / O process with a different physical computer is extracted according to the first embodiment of this invention. It is a figure which shows the 1st Embodiment of this invention and shows an example of the resource conversion table
  • the virtual machine VM-A1 of the physical computer 1-A has been moved to the physical machine 1-B
  • the virtual machine VM-Bx is operated on the physical machine 1-B. It is a simulation table
  • FIG. 3 is a screen image of a CPU utilization rate predicted value X (t) and a measured value CPU utilization rate Xa (t) according to the first embodiment of this invention. It is a screen image which shows the 1st Embodiment of this invention and shows the difference of predicted value X (t) of CPU utilization, and CPU utilization Xa (t) of measured value. It is a flowchart which shows the 1st Embodiment of this invention and shows an example of the process performed in the server virtualization part. It is a flowchart which shows the 1st Embodiment of this invention and shows an example of the process performed by the management computer. It is a block diagram which shows the 2nd Embodiment of this invention and shows an example of a virtual machine system. FIG.
  • FIG. 10 is a block diagram illustrating an example of functional elements of a physical computer 1-B according to the second embodiment of this invention.
  • the dummy VM-D1 which shows the 2nd Embodiment of this invention and the load reproduction
  • FIG. 10 is a flowchart illustrating an example of processing performed by the management computer and the dummy VM-D1 according to the second embodiment of this invention.
  • FIG. 10 shows a second embodiment of the present invention, and is a screen image in which a load reproduction state when a dummy VM-D1 is operated in a physical computer 1-B is displayed on a console display.
  • FIG. 10 shows a second embodiment of the present invention, and is a screen image in which a reproduction state of a load is displayed on a console display when a dummy VM-D1 is operated stepwise in a physical computer 1-B.
  • FIG. 1 is a block diagram showing an example of the configuration of the virtual computer system according to the first embodiment of this invention.
  • the virtual computer system includes three physical computers 1-A to 1-C connected via the LAN 3, and a management computer 2 that manages these physical computers 1-A to 1-C.
  • the physical computers 1-A to 1-C and the management computer 2 are connected to the storage device 4 via a SAN (Storage Area Network).
  • the physical computers 1-A to 1-C are stored in the chassis 8-A to 8-C, respectively.
  • the physical computers 1-A to 1-C are collectively referred to as the physical computer 1, and the enclosures 8-A to 8-C are collectively referred to as the enclosure 8.
  • Each physical computer 1 executes a virtual computer, and each virtual computer provides a service.
  • the management computer 2 manages the allocation of virtual computers to each physical computer 1 and the generation, migration, and deletion of virtual computers as will be described later.
  • the hardware configurations of the physical computers 1-A to 1-C and the management computer 2 of this embodiment are the same, and the configuration of the physical computer 1-A will be described.
  • the physical computer 1-A stored in the housing 8-A is a processor (or CPU) 100 that performs arithmetic processing, a memory 110 that temporarily stores programs and data, and a storage medium that holds programs and the like.
  • a local storage apparatus 120 and a CNA (Converged Network Adapter) 130 that communicates with the outside of the chassis 8-A are connected to each other via an interconnect 140.
  • the processor (CPU) 100 has N computing cores, reads a program from the local storage device 120 or the storage device 4, and loads it into the memory 110. Then, the processor 100 executes the data loaded into the memory 110.
  • the CNA 130 that communicates with the outside handles I / O devices connected to the LAN 3 and the SAN 5 in an integrated manner by using the Fiber Channel over Ethernet (FCoE) technology that handles the Fiber Channel protocol with Ethernet (registered trademark) frames. Can do. That is, as will be described later, the CNA 130 is an I / O device including a physical I / O device connected to the SAN 5 as an HBA (Host Bus Adapter) and a physical I / O device connected to the LAN 3 as a network interface. .
  • FCoE Fiber Channel over Ethernet
  • the management computer 2 has a console 7 including a keyboard, a mouse, and a display as an input / output device in addition to the configuration of the physical computer 1, and inputs and displays commands.
  • the processor 100 includes a plurality of arithmetic cores # 1 to #N.
  • the processor 100 may be a single core.
  • one physical computer 1 is stored in one housing 8
  • a plurality of physical computers 1 may be stored in one housing 8 like a blade server.
  • the HBA and the network interface are integrated by the CNA 130.
  • the HBA and the network interface may be implemented as independent physical I / O devices.
  • the program is read from the local storage device 120.
  • the program may be loaded from the storage device 4 via the SAN 5 and started.
  • FIG. 2 is a block diagram showing an example of a logical configuration of the virtual machine system.
  • server virtualization units 6-A to 6-C that control allocation of computer resources to the virtual computers operate.
  • Each of the server virtualization units 6-A to 6-C is managed by the server operation management program 20 of the management computer 2.
  • the server virtualization units 6-A to 6-C are collectively referred to as the server virtualization unit 6.
  • the server virtualization unit 6 can be configured by a hypervisor, a VMM (Virtual Machine Monitor), or the like that allocates the computer resources of the physical computer 1 to the virtual computer. Below, the example which comprised the server virtualization part 6 with the hypervisor is shown.
  • the server virtualization unit 6 can operate n virtual machines (VM) 60-1 to 60-n on the physical machine 1. In addition, the server virtualization unit 6 executes a process of assigning physical I / O devices to the virtual machines 60-1 to 60-n as virtual I / O devices 1300-1 to 1300-n.
  • Physical computers 1-A to 1-C are indicated by physical computers A to C in the figure, and virtual computers 60-1 to 60-n of the physical computer 1-A, server virtualization units 6-A to 6-C, physical I Subscripts of / O device (CNA) 130 are represented by A to C.
  • the physical I / O devices 130A to 130C are the CNA 130 of FIG.
  • the virtual machines 60-1 to 60-n are collectively referred to as the virtual machine 60 or VM.
  • “A” is added to the identifier of the virtual machine 60 of the physical computer A (1-A), such as VM-A1, VM-A2, and the identifier of the physical computer B (1-B).
  • “B” is added to the identifier of the virtual machine 60 such as VM-B1 and VM-B2, and the identifier of the virtual machine 60 of the physical computer C (1-C) is “C” such as VM-C1 and VM-C2. "Is added.
  • the physical computer A and the server virtualization unit A operate the virtual computers VM-A1 to VM-An.
  • the server virtualization unit A provides virtual I / O devices 1 and 2 (1300-1 and 1300-2) obtained by virtualizing the physical I / O device A to the virtual machines VM-A1 and VM-A2, respectively.
  • the virtual machines VM-A1 and VM-A2 execute applications AP-A1 (10-1) and AP-A2 (10-2) on a guest OS (not shown), and provide services to client computers (not shown) via the LAN 3. provide.
  • the server virtualization unit 6 treats surplus computer resources not allocated to the virtual computer 60 as a resource pool.
  • the application AP-A1, AP-A2, and (10-2) are collectively referred to as the application 10.
  • A is added to the identifier of the application 10 executed by the virtual computer 60 of the physical computer A (1-A), such as AP-A1 and AP-A2
  • the physical computer B (B) is added to the identifier of the application 10 of (1-B) such as AP-B1 and AP-B2
  • the identifier of the application 10 of the physical computer C (1-C) is “C” such as AP-C1.
  • the physical computers 1-B and 1-C are the same as the physical computer 1-A.
  • the server virtualization units B and C operate the virtual computers VM-B1 and VM-C1, and the application AP-B1 is run on each virtual computer. , AP-C1 is executed.
  • the application 10 is executed on the virtual computer 60 and issues I / O processing such as communication and disk I / O to the virtual I / O device 1300 as a communication packet (I / O request).
  • the virtual I / O device 1300 transmits an I / O request to the server virtualization unit 6.
  • the server virtualization unit 6 determines whether the destination of the I / O request is the physical computer 1 in the same housing 8. If the destination is not within the same housing 8, the server virtualization unit 6 issues an I / O request to the physical I / O device 130. On the other hand, if the destination is in the same casing 8, the server virtualization unit 6 transmits an I / O request to the destination virtual machine via the memory 110.
  • the I / O request received by the physical I / O device 130 is transmitted to the application AP in the reverse order described above.
  • the server operation management program 20 collects the resource usage rate (or resource usage amount) of the physical computer 1 used in each chassis 8, the load data in each process, and the like, and uses the console 7. It is provided to the administrator via the GUI. Then, if it is necessary to move the virtual machine 60 from the collected resource usage rate and load data of the physical machine 1, the virtual machine VM-A 1 is moved to another physical machine 1.
  • the server operation management program 20 has a function of a virtualization management unit (not shown) that manages the server virtualization unit 6 of each physical computer 1 and manages the generation, migration, and deletion of the virtual computer 60. Note that a well-known or publicly known technique may be applied to the virtualization management unit, and thus description thereof is omitted in this embodiment.
  • the server operation management program 20 is stored in the local storage device 120 or the storage device 4 as a non-transitory computer-readable storage medium.
  • FIG. 3 is a block diagram showing a detailed logical configuration of the virtual machine 60, the server virtualization unit 6, and the server operation management program 20. Note that FIG. 3 describes the physical computer 1-A, but the same applies to the physical computers 1-B and 1-C.
  • the virtual machines 60-1 and 60-2 execute the applications AP-A1 and AP-A2, and each application 10 generates I / O usage logs 11-1 and 11-2.
  • Each of the I / O usage logs 11-1 and 11-2 records an I / O process for the virtual I / O device 1300 of the application 10.
  • the application 10 also records the dependency relationship (I / O issue order) between the I / O usage logs.
  • FIG. 3 an example is shown in which the applications 10-1 and 10-2 generate the I / O usage logs 11-1 and 11-2, respectively, but the OS (not shown) of each virtual machine 60 is I It may be configured to generate a / O usage log.
  • the physical I / O device 130A is the CNA 1300 of the physical computer 1-A shown in FIG.
  • the virtual I / O device 1300-1 can include a plurality of virtual I / O devices.
  • the virtual I / O device 1 includes a virtual I / O device # 1 and a virtual I / O device # 2
  • the physical I / O device 130A includes a plurality of physical I / O devices such as a CNA.
  • the application AP or guest OS
  • the network interface function of the physical I / O device 130A is provided as the virtual I / O device # 1
  • the HBA function is provided as the virtual I / O device # 2.
  • the physical I / O device 130A shows an example in which the physical I / O devices # 1 and # 3 are configured with network interfaces, and the physical I / O device # 2 is configured with an HBA.
  • the server virtualization unit 6-A includes an I / O device control unit 63, a resource monitoring unit 61, and a resource allocation control unit 62.
  • the I / O device control unit 63 controls I / O processing inside the housing 8A and outside the housing 8A.
  • the I / O processing input from the virtual I / O device 1300 is issued to the physical I / O device 130A.
  • the I / O processing is performed in the memory 110 as described above.
  • the I / O processing for the inside of the housing 8A is performed by the virtual switch 630 shown in the prior art.
  • the resource monitoring unit 61 monitors resource usage by each virtual machine 60.
  • the resource monitoring unit 61 can access the processor 100 and the physical I / O device 130A and acquire the resource usage rate.
  • the resource monitoring unit 61 may acquire the use of resources from a guest OS (not shown). Further, the resource monitoring unit 61 measures the load on the processor 100 and the like required for the I / O processing by acquiring how much the resource is used before and after the I / O processing.
  • the resource monitoring unit 61 may detect the power used for each physical computer 1. In this case, each physical computer 1 may be provided with a power measuring device.
  • the resource allocation control unit 62 has a function of allocating resources necessary for processing on each virtual machine 60 and processing of each component of the server virtualization unit 6.
  • the resource usage table 610 is a table (or log) recording the resource usage status for each virtual computer 60 of the physical computer 1-A in the chassis 8A.
  • the resource usage table 610 is composed of three types, and is used in the I / O processing issued by each virtual machine 60 and the resource usage table 610A that records the resource usage of the processor used by each virtual machine 60 other than the I / O processing.
  • the resource usage table 610B that records the usage of the resource that has been used
  • the resource usage table 610C that records the usage of the resource used by the server virtualization unit 6 other than the processing related to the I / O processing.
  • the resource use table 610A of each VM indicates the use of resources such as the processor 100 used by the virtual machine 60 except for I / O processing.
  • the resource use table 610B indicates the use of resources used by each virtual machine 60 during I / O processing.
  • the virtual machine 60 uses the processor 100 used during I / O processing.
  • the usage rate and the usage rate of the CNA 130 are treated as resource usage. Instead of the resource usage rate, the data size or the like may be handled as the resource usage.
  • the management computer 2 that manages the server virtualization unit 6 of each physical computer 1 includes a resource usage status management unit 21, a load detection unit 22, a migration control unit 23, and an input / output unit 24. Communication is performed with each physical computer 1 via the I / O device 130Z (CNA).
  • CNA I / O device 130Z
  • the resource usage status management unit 21 communicates with the resource monitoring unit of the server virtualization unit 6 of each physical computer 1 to acquire load information (resource usage information) generated by each chassis 8 and the virtual computer 60.
  • the resource usage status management unit 21 holds part or all of the resource usage tables 610A to 610C generated by the server virtualization unit 6 of each chassis 8.
  • the resource usage status management unit 21 holds the contents of the resource usage tables 610A to 610C acquired from the physical computer 1 of each chassis 8 as an all resource usage table 210.
  • the format of the total resource usage table 210 is the same as that of the resource usage tables 610A to 610C.
  • the resource usage status management unit 21 is required for I / O processing of a predetermined unit data size in each chassis 8 based on the I / O processing resource usage table 610B acquired from the physical computer 1 of each chassis 8. It has a function to calculate a load (communication cost).
  • the resource usage status management unit 21 holds this calculation result as a resource conversion table 220.
  • the resource conversion table 220 holds the communication cost in the case 8 and the communication cost between the cases 8 in the physical computer 1 of each case 8.
  • the management computer 2 uses the resource conversion table 220 when estimating whether or not the migration target virtual computer VM-A1 operates normally on the migration candidate physical computer 1-B.
  • the migration control unit 23 selects the virtual machine 60 to be migrated from the resource use of each virtual machine 60 and the resource use of the physical machine 1 in each chassis 8, and migrates to the physical machine 1 in which chassis 8. Determine what to do.
  • a method of selecting the migration source virtual computer 60 and the migration destination physical computer a well-known or publicly known technique can be used as appropriate, and thus description thereof is omitted here.
  • calendar information such as a day of the week or the end of the term and time information may be added.
  • the migration control unit 23 can migrate the virtual computer 60 to be migrated to the physical computer 1 that is the migration destination based on a command, a schedule, or the like from the console 7.
  • the resource consumption status management unit 21 and the load verification unit 22 acquire information on the migration target virtual computer 60 and the physical computer 1 in the destination chassis 8 determined by the migration control unit 23, and perform load prediction. .
  • the outline of the load forecast is as follows.
  • the resource consumption status management unit 21 first acquires the resource usage tables 610A to 610C as the past resource usage history from the server virtualization unit 6 of the migration source virtual computer 60, and also the resources of the migration destination physical computer 1-B.
  • the usage tables 610A to 610C are acquired, and the entire resource usage table 210 is updated.
  • the load verifying unit 22 adds up the resource usage of each virtual computer 60 of the destination physical computer 1 for each time to obtain the overall resource usage rate of the destination physical computer 1. Then, the load verification unit 22 stacks the resource usage rate of the migration target virtual machine 60 on the overall resource usage rate of the migration destination physical computer 1 and migrates the migration destination virtual machine 60 after migration.
  • the resource usage rate of the physical computer 1 is calculated. If the performance of each physical computer 1 is different, it may be corrected by a conversion formula or the like.
  • the communication in the housing 8 in the source physical computer 1 is converted into the communication outside the housing 8 in the destination physical computer 1, and the resource conversion table. The resource usage is converted from 220. On the other hand, of the communication outside the chassis 8 in the source physical computer 1, when the destination physical computer becomes in-box communication, the resource usage rate is converted from the resource conversion table 220.
  • the load verification unit 22 performs communication within the housing 8 and communication outside the housing 8 according to the virtual computer 60 of the physical computer 1 that is the movement destination. 8 Convert external communications. Then, the load verification unit 22 refers to the resource conversion table 220 and calculates the overall resource usage of the migration destination physical computer 1 after migration of the migration target virtual machine 60 for each time.
  • the load verification unit 22 determines that the migration destination physical computer 1 is inappropriate as a migration destination if the overall resource usage rate of the migration destination physical computer 1 after migration exceeds a predetermined threshold Th1. If the resource usage rate is within the predetermined threshold value Th1, it is determined that the migration destination physical computer 1 is appropriate as the migration destination.
  • the threshold Th1 for determining whether migration is possible is stored in a command from the console 7 or a predetermined file.
  • the input / output unit 24 displays the data of the resource usage status management unit 21 (part or all of the total resource usage table 210) on the console 7.
  • the display method may be a table itself or a graph as shown in another figure. These display formats can be designated by the user (administrator) of the console 7 by an instruction from the input / output unit 24 or the like. Further, the input / output unit 24 can provide an interface for displaying calculation results of the load verification unit 22 and the migration control unit 23 and for receiving inputs.
  • FIG. 4 shows an example of the resource usage table 610A of each virtual machine 60 among the resource usage tables managed by the resource monitoring unit 61 of the server virtualization unit 6.
  • the resource usage table 610A manages the transition of resources used in each virtual machine 60.
  • the resource usage table 610A includes a VM identifier 611A that stores the identifier of the virtual machine 60, a time 612A that stores time, and a CPU usage rate 613A that stores the usage rate of the processor 100.
  • the utilization rate of the processor 100 is measured every second for the virtual machine 60-1 (VM-A1) of the physical machine 1-A.
  • the CPU usage rate 613A is the usage rate of the processor 100 as viewed from the OS of the virtual machine 60-1.
  • the utilization rate of the memory 110 used by the virtual machine 60 can be added.
  • the resource usage tables 610A to 610C may be stored in the local storage device 120 or the storage device 4 on the SAN 5 as logs. Further, when the log is stored in the storage device 4 outside the housing 8, the resource usage rate when the I / O processing is performed to store the log is also recorded in the I / O usage log 11-1. Can do.
  • FIG. 5A shows an example of the resource usage table 610B for I / O processing among the resource usage tables managed by the resource monitoring unit 61 of the server virtualization unit 6-A of the physical computer 1-A.
  • the resource usage table 610B stores a history of I / O processing executed by each virtual computer 60 on the physical computer 1-A.
  • the resource usage table 610B includes a time 611B for storing time, a transmission source identifier 612B for storing the identifier of the transmission source virtual computer 60, a transmission destination identifier 613B for storing the identifier of the transmission destination virtual computer 60, and transmitted / received data.
  • Data size 614B for storing the capacity of the CPU, a CPU usage rate 615B for storing the usage rate of the processor 100 when the I / O processing is performed, and a CNA for storing the usage rate of the CNA 130 when the I / O processing is performed
  • One entry is configured from the utilization rate 616B.
  • the data size 614B may be in the form of the number of chunk sizes indicating the size of the I / O buffer that is actually transmitted to and received from the I / O device 130 in addition to the data capacity.
  • the CPU usage rate 615B indicates the usage rate of the resources of the processor 100 allocated to the virtual machine 60 as viewed from the OS (not shown) of the virtual machine 60.
  • the CNA usage rate 616B indicates a usage rate of the resources of the virtual I / O device 1300 allocated to the virtual computer 60 as viewed from the OS (not shown) of the virtual computer 60.
  • # 1a is the network access from the virtual machine A1 (VM-A1) of the physical machine 1-A to the virtual machine B2 (VM-B2) of the physical machine 1-B, and the data amount is 2 MB. Indicates that there is.
  • the data of # 2a in the figure indicates that the amount of data is 4 MB by disk access from the virtual machine A2 (VM-A2) of the physical machine 1-A to the storage device 4.
  • the data of # 3a is a network access from the virtual machine A1 (VM-A1) of the physical machine 1-A to the virtual machine A4 (VM-A4) of the physical machine 1-A, and the data amount is 2 MB. Indicates.
  • the network access on the same physical computer 1-A has a CNA utilization rate 616B of 0%, and does not pass through the CNA 130, but becomes a copy of the memory 110 by the processing of the processor 100. That is, it means that the virtual computer A1 (VM-A1) of the physical computer 1-A and the virtual computer A4 (VM-A4) communicated on the memory 110 by the virtual switch 630 shown in FIG.
  • the server virtualization unit 6-A of the physical computer 1-A the history of resources used in the processing of the virtual computer 60, the I / O processing of the virtual computer 60, and the processing of the server virtualization unit 6 is stored. Are stored as resource usage tables 610A to 610C.
  • resource usage tables 610A to 610C are stored in the server virtualization units 6-B and 6-C of the other physical computers 1-B and 1-C as well as the server virtualization unit 6-A. .
  • FIG. 5B shows a part of the resource usage table 610B for I / O processing among the resource usage tables managed by the resource monitoring unit 61 of the server virtualization unit 6-B of the physical computer 1-B.
  • FIG. 5B shows I / O processing in FIG. 5A in which the virtual computer 60 of the physical computer 1-B is the transmission destination or transmission source. That is, in the case of communication across the chassis 8, the server virtualization unit 6 on each physical computer 1 accumulates the resource usage table 610B for I / O processing.
  • the resource usage tables 610A to 610C may be stored as logs in the local storage device 110 or the storage device 4 disk.
  • the migration control unit 23 selects the virtual machine 60-1 (VM-A1) of the physical computer 1-A as the migration target and moves this virtual machine VM-A1 to the physical machine 1-B. Processing will be described.
  • the migration control unit 23 selects the virtual computer VM-A1 to be migrated and the physical computer 1-B as the migration destination physical computer, and the management computer 2 uses the resources for each of the physical computers 1-A to 1-C. Commands to obtain each of Tables 610A to 610C. For example, the migration control unit 23 notifies the load verification unit 22 of the migration target virtual machine VM-A1 and the migration destination physical computer 1-A, and updates the load verification unit 22 total resource usage table 210. The resource usage status management unit 21 is commanded.
  • the resource usage status management unit 21 instructs the server virtualization units 6-A to 6-C of the physical computers 1-A to 1-C to update the resource usage tables 610A to 610C, respectively.
  • FIG. 9A is a flowchart illustrating an example of processing performed in the server virtualization unit 6.
  • each server virtualization unit 6 receives an instruction to start measurement of resource usage from the resource usage status management unit 21 of the management computer 2 in step S1, the above-described resource usage tables 610A to 610C are acquired (S1). ).
  • Each server virtualization unit 6 measures the resources used on each physical computer 1 in step S2.
  • Each server virtualization unit 6 updates each resource usage table 610A to 610C with the measured resource usage rate (S2). The processes in steps S1 to S3 are repeated until a measurement end notification is received from the management computer 2 (S3).
  • resource usage tables 610A to 610C for a predetermined period are obtained for each of the physical computers 1-A to 1-C.
  • the predetermined period from the measurement start (t1) to the measurement end (t2) that the management computer 2 instructs each server virtualization unit 6 is a predetermined time, a time input from the console 7, or the like.
  • the resource monitoring unit 61 obtains the utilization rate (CPU utilization rate) of the processor 100 used by each virtual machine 60 at a predetermined time (1 second in the illustrated example) for each virtual machine 60 as shown in FIG. Then, a resource usage table 610A for each virtual machine 60 is generated.
  • I / O processing resource usage when the I / O device control unit 63 receives an I / O processing request, it instructs the resource monitoring unit 61 to start acquisition of the CPU usage rate, the CNA usage rate, and the data size to be processed. .
  • the I / O device control unit 63 When the received I / O processing is completed, the I / O device control unit 63 notifies the resource monitoring unit 61 of the completion of acquisition of the CPU usage rate, the CNA usage rate, and the data size.
  • the resource monitoring unit 61 generates a resource usage table 610B for I / O processing by pairing the CPU usage rate, the CNA usage rate, and the data size with the transmission source identifier and the transmission destination identifier.
  • the CPU utilization rate and the CNA utilization rate can be subjected to preset processing such as an average value or a maximum value.
  • the resource monitoring unit 61 acquires the utilization rate of the processor 100 used by the server virtualization unit 6 itself at a predetermined time (for example, 1 second) interval, and generates the resource usage table 610C of the server virtualization unit 6. .
  • the CPU utilization rate may be subtracted from the resource usage table 610C of the server virtualization unit 6.
  • acquisition of each resource usage rate can apply a well-known or well-known method suitably, and is not limited to the method mentioned above.
  • each server virtualization unit 6 Upon receiving the measurement end notification from the management computer 2, each server virtualization unit 6 ends the measurement of the resource usage rate and stores the accumulated resource usage tables 610 A to 610 C to the resource usage status management unit 21 of the management computer 2, respectively. Send.
  • the resource usage status management unit 21 of the management computer 2 holds the resource usage tables 610A to 610C received from each server virtualization unit 6 as the total resource usage table 210.
  • FIG. 5C shows an example of the total resource usage table 210 held by the resource usage status management unit 21 of the management computer 2.
  • the resource usage status management unit 21 stores the resource usage tables 610A to 610C received from the server virtualization unit 6-A of the physical computer 1-A in the total resource usage table 210 as resource usage tables 610A-1 to 610C-1. Hold.
  • the resource usage status management unit 21 stores the resource usage tables 610A to 610C received from the server virtualization unit 6-B of the physical computer 1-B in the total resource usage table 210 as resource usage tables 610A-2 to 610C-2.
  • resource usage tables 610A to 610C received from the server virtualization unit 6-C of the physical computer 1-C are held in the all resource usage table 210 as resource usage tables 610A-3 to 610C-3.
  • a simulation table 610B-2s in the figure is a table generated by a load verification unit 22 described later.
  • the resource usage status management unit 21 obtains the unit price (cost) of the I / O processing from the total resource usage table 210 acquired from each of the physical computers 1-A to 1-C, and sets it in the resource conversion table 220. .
  • the unit price of I / O processing is obtained from the resource usage tables 610B-1 to 610B-3 of I / O processing will be described.
  • FIG. 9B is a flowchart illustrating an example of processing performed in the management computer 2. This processing is executed after receiving the resource usage tables 610A to 610C from the physical computers 1-A to 1-C.
  • the resource usage status management unit 21 of the management computer 2 calculates the communication cost in the housing 8 in step S10.
  • the unit data size can be set to a data size that can be transmitted and received by the CNA 130 in one communication.
  • this calculation extracts communication within the same housing 8 and calculates the CPU usage rate x per unit data size (128 kB) from the data size 614B (kB) and the CPU usage rate 615B. Obtained by the following equation.
  • X CPU utilization / (data size (kB) / 128 (kB)) (1)
  • the I / O processing resource usage table 610B of the physical computer 1-A shows the I / O processing history by communication within the housing 8 and the communication between the housings 8. I / O processing history is mixed. Therefore, the resource usage status management unit 21 uses the virtual machine VM- on the physical computer 1-A having the same transmission source identifier 612B and transmission destination identifier 613B from the I / O processing resource usage table 610B of the physical computer 1-A. The history of I / O processing between Ax is extracted, and the history of I / O processing in the same housing 8 in FIG.
  • the CPU usage rate per unit data size is obtained from the CPU usage rates 615B of # 1a, # 6a, and # 9a from the I / O processing in the three cases 8, respectively.
  • Is set as a CPU utilization rate x 0.429% (rounded to the fourth decimal place) for I / O processing in the housing 8A.
  • the average value of the CNA usage rate 616B is 0%.
  • the subscript “aa” indicates that the transmission source case is 8-A and the transmission destination case is 8-A.
  • the resource usage status management unit 21 also determines the communication cost in the chassis 8-B from the resource usage tables 610B-2 and 610B-3 in the total resource usage table 210 for the other physical computers 1-B and 1-C. The communication cost in the casing 8-C is obtained.
  • step S11 the resource usage status management unit 21 calculates the communication costs Xbb, Ybb, Xcc, Ycc between the chassis 8 from the resource usage tables 610B-1 to 610B-3 in the total resource usage table 210. To do.
  • the subscript “ab” indicates that the transmission source case is 8-A and the transmission destination case is 8-B.
  • the resource usage status management unit 21 similarly calculates the communication cost of the transmission source case of 8-B and the transmission destination case of 8-A, and calculates the average CPU utilization rate Xba and average CNA utilization rate Yba.
  • the resource usage status management unit 21 also uses the resource usage tables 610B-2 and 610B-3 in the total resource usage table 210 to the chassis 8-A, 8-B, and the other physical computers 1-B and 1-C. Each communication cost between 8-C is obtained.
  • step S12 the resource use status management unit 21 writes the resource conversion table 220 and updates the communication costs in the housing 8 and the housing 8 obtained in steps S10 and S11.
  • FIG. 6C is a diagram showing a part of the resource conversion table 220.
  • FIG. 6C shows the case where the communication costs in each case 8 and between the cases 8 are obtained from the I / O processing resource usage tables 610B-1 to 610B-3.
  • the example of the part resource conversion table 220 regarding a communication cost is shown.
  • the resource conversion table 220 includes a transmission source identifier 221 that stores an identifier of the transmission source casing 8, a transmission destination identifier 222 that stores an identifier of the transmission destination casing 8, and a CPU per unit data size.
  • the communication costs Xaa and Yaa in the casing of the casing 8-A are the CPU usage rate 223 and the CNA usage rate 224, respectively.
  • the entry with the transmission source identifier 221 of “Case A” and the transmission destination identifier 222 of “Case B” has communication costs Xab and Yab between the cases from the case 8 -A to the case 8 -B. They are stored in the CPU usage rate 223 and the CNA usage rate 224, respectively.
  • the value of the resource conversion table 220 obtained in the past is used. You may make it do.
  • the update of the resource conversion table 220 in step S12 may be executed for the virtual machine 60 in which the resource usage table 610B is newly updated by the process of FIG. 9A.
  • step S13 of FIG. 9B the load verification unit 22 estimates the resource usage rate for the migration target virtual machine VM-A1 selected by the migration control unit 23 and the migration destination physical computer 1-A.
  • the load verification unit 22 records the resource usage tables 610A-1 and 610B-1 in which the resource usage rate of the migration target virtual machine VM-A1 is recorded and the resource usage rate of the migration destination physical computer 1-B.
  • the resource usage tables 610A-2, 610B-2, and 610C-2 thus read are read from the entire resource usage table 210.
  • the load verifying unit 22 uses the resource usage table 610B-1 in which the resource usage rate of the I / O processing of the physical computer 1-A including the migration target virtual computer 60 is recorded, as a migration target virtual computer VM-.
  • An entry including “A1” in the transmission source identifier 612B or transmission destination identifier 613B is extracted, and “A1” is replaced with “Bx” indicating that it has been moved to the physical computer 1-B.
  • the load verification unit 22 calculates the CPU usage rate 615B and the CNA usage rate 616B according to the communication state after moving the virtual computer VM-A1 to be moved to the physical computer 1-B. The result of this calculation is as shown in FIG.
  • FIG. 7 is a simulation table 610B-2s showing the resource usage rate when operating as the virtual machine VM-Bx on the assumption that the virtual machine VM-A1 of the physical machine 1-A is moved to the physical machine 1-B. is there.
  • the simulation table 610B-2s format is the same as the resource usage table 610B. However, the entry not including the migration target virtual machine VM-A1 is deleted by the load verification unit 22.
  • entry # 3a ′ has the transmission source identifier 612B changed from “A1” to “Bx” and the transmission destination identifier 613B is “A4”.
  • the communication is changed to the communication between the cases 8 to the case 8-A.
  • the load verification unit 22 determines the unit data size of communication between the casings 8 whose transmission source identifier 221 is “casing B” and whose transmission destination identifier 222 is “casing A” from the resource conversion table 220 of FIG.
  • the load verification unit 22 calculates the communication cost in the same manner as described above, assuming that the virtual computer VM-A1 to be moved is moved to the physical computer 1-B for the other entries in FIG.
  • the load verification unit 22 deletes the entry including the virtual machine VM-A1 from the resource usage table 610B-2 of the I / O processing of the physical machine 1-B. This is because the resource usage rate is calculated by replacing the virtual machine VM-A1 to be moved with the VM-Bx on the physical machine 1-B in the simulation table 610B-2s. That is, the resource usage table 610B-2 for I / O processing includes resources used for communication between the chassis 8 before moving the virtual machine VM-A1, and is deleted. In addition, the load verification unit 22 stores the simulation table 610B-2s in the all resource usage table 210.
  • step S14 of FIG. 9B when the load verification unit 22 moves the virtual machine VM-A1, the CPU utilization rate from the measurement start time t1 to the measurement end time t2 is set at each time (time 611B of the resource usage table). ) Accumulated every time.
  • the predicted value X (t) of the CPU utilization rate of the physical computer 1-B at a certain time t is performed as follows.
  • the CPU usage rate X1 (t) excluding the I / O processing used by the virtual computer 60 of the original physical computer 1-B is obtained from the resource usage table 640A-2 of the physical computer 1-B.
  • the CPU usage rate X2 (t) used by the server virtualization unit 6B of the original physical computer 1-B is obtained from the resource usage table 640C-2 of the physical computer 1-B.
  • the CPU usage rate X3 (t) is obtained from the I / O processing resource usage table 610B-2 of the physical computer 1-B from which the virtual machine VM-A1 has been deleted.
  • the CPU usage rate X4 (t) is obtained from the simulation table 610B-2s indicating the resource usage rate of the virtual machine VM-Bx.
  • the load verification unit 22 calculates the predicted value X (t) of the CPU usage rate at each time from the measurement start time t1 to the measurement end time t2.
  • X (t) X1 (t) + X2 (t) + X3 (t) + X4 (t) And output to the input / output unit 24.
  • the load verification unit 22 obtains the CPU usage rate Xa (t) of the physical computer 1-B before moving the virtual computer VM-A1 as follows.
  • the load verification unit 22 obtains the CPU usage rate X5 (t) from the resource usage table 610B-2 (before deleting the virtual machine VM-A1) of the original physical computer 1-B.
  • the load verification unit 22 calculates the CPU usage rate Xa (t) at each time from the measurement start time t1 to the measurement end time t2.
  • Xa (t) X1 (t) + X2 (t) + X3 (t) + X5 (t) And output to the input / output unit 24.
  • step S15 of FIG. 9B the CPU utilization rate predicted value X (t) when the input / output unit 24 moves the virtual machine VM-A1 to the physical machine 1-B and the CPU utilization rate Xa (t) before the movement. Is output to the console 7.
  • FIG. 8A is a screen image of the CPU utilization rate predicted value X (t) and the measured value CPU utilization rate Xa (t) output to the display of the console 7.
  • the load verification unit 22 causes the console 7 to display a preset threshold value Th1 of the CPU utilization rate in the input / output unit 24 and the predicted value X (t) indicated by the broken line exceeds the threshold value Th1, the virtual machine VM When A1 is migrated to the physical computer 1-B, it can be determined that the load is excessive. For this reason, it can be determined that the migration of the virtual machine VM-A1 to the physical machine 1-B is inappropriate.
  • the predicted value X (t) of the broken line is within the threshold value Th1, it can be determined that the load will not be excessive even if the virtual machine VM-A1 is migrated to the physical machine 1-B. . Therefore, it can be determined that the migration of the virtual machine VM-A1 to the physical machine 1-B is appropriate.
  • FIG. 8B is a screen image of the difference between the predicted CPU utilization rate X (t) and the actual measured CPU utilization rate Xa (t) output to the console 7 display.
  • the threshold Th1 and the predicted value X (t) are compared in the same manner as the CPU utilization rate described above, and it is determined in advance whether the virtual machine VM-A1 can be migrated. It becomes possible.
  • the total load of the physical computer 1 -A of the chassis 8 -A (calculated by accumulating the original resource usage rate) And (1) Pull the load on the source virtual machine VM-A1 (FIG. 4) (2) Pull down all I / O processing loads issued by the migration source VM-A1 (# 1a, # 3a to # 9a in FIG. 5A) (3) Among the processing loads issued by the migration source virtual machine VM-A1, those for which I / O processing for the migration source VM-A1 occurs are the cases where the I / O processing after migration is performed Add the predicted load replaced by the load. Since this processing is processing on the side where the virtual machine VM-A1 is moved, # 1b, # 4b, and # 8b shown in FIG. 5B are replaced with loads in the same manner as described above.
  • the same processing as that of the physical computer 1-B at the migration destination can be realized. Further, similarly for the case 8-C, the load after the migration of the virtual machine VM-A1 can be estimated by replacing the resource usage rate with the resource conversion table 220 for the load for communication from the outside.
  • each virtual machine 60 of each physical computer 1 is executed in a predetermined measurement period, and the resource usage tables 610A to 610C are generated by each server virtualization unit 6.
  • the management computer 2 generates a resource conversion table 220 from these resource usage tables 610A to 610C, and obtains the communication cost between virtual computers on the same physical computer 1 and the communication cost between other physical computers 1 respectively. .
  • the resource usage status management unit 21 replaces the source identifier and destination identifier of the extracted entry with the virtual machine VM-Bx on the physical computer 1-B that is the migration destination.
  • the CPU usage rate 615B and the CNA usage rate 616B are calculated using the resource conversion table 220 in the simulation table 610B-2s after the replacement.
  • the load on the physical computer 1-B after moving the virtual computer VM-A1 can be estimated accurately.
  • the load on the entire casing 8 is the monitoring target.
  • the virtual machine 60 may be the monitoring target as necessary.
  • the load of the physical computer 1-B after migration is estimated with the load at the same time.
  • the maximum load amount that can be generated May be accumulated in a load history that has occurred in the past in the physical computer 1-B as the movement destination, and it may be determined whether or not the threshold value Th1 is exceeded as shown in FIG. 8A and the like. This makes it possible to verify whether or not to migrate even when the load generation timing is shifted. 8A and 8B show an example in which the load amount is estimated at the same time.
  • the maximum load amount that can be generated is It may be determined whether or not the threshold value is exceeded by accumulating the load history generated in the past at the destination. As a result, it is possible to verify the case where a load is generated due to a shift in timing.
  • FIG. 10 shows a second embodiment of the present invention and is a block diagram of a virtual machine system.
  • FIG. 10 shows an example in which a dummy virtual computer is executed by the physical computer 1-B and a load is applied to the physical computer 1-B, which is the migration destination of the virtual computer VM-A1, as in the first embodiment. .
  • Other configurations are the same as those in the first embodiment.
  • an estimated value X (t) of the load after the migration is performed by the load verifying unit 22 is determined, and when the estimated value exceeds the threshold Th1, it is determined that the migration cannot be performed. It was.
  • a threshold value Th2 at which migration can be reliably performed is set. If the threshold value Th2 is not exceeded, it is determined that migration is possible, and if the threshold value Th1 is exceeded, it is impossible. judge.
  • dummy virtual machines 60 (hereinafter referred to as dummy VM-D1, dummy VM- D2), and the dummy virtual machine 60-2 (dummy VM-C2) is executed on the physical computer 1-C different from the migration source virtual machine VM-A1 and the migration destination physical machine 1-B.
  • the dummy application AP-D3 is executed by the management computer 2.
  • Each dummy VM or application AP-D3 performs the following processing to actually apply a load to the physical computer 1-B of the chassis 8-B.
  • the application AP-D3 for applying a load may be executed by the virtual computer 60 on the physical computer 1-C.
  • the resource usage tables 610A to 610-C of the physical computers 1-A to 1-C are generated, and the resource usage status management unit 21 of the management computer 2 It is assumed that the second embodiment is executed after being stored in the all resource usage table 210. That is, the CPU usage rate, the transmission source, transmission destination and data size of the I / O process of the migration source virtual machine VM-A1 are held as the actual process history and reproduced in the second embodiment.
  • FIG. 11 is a block diagram showing details of the dummy VM-D1 and the dummy VM-D2 of the physical computer 1-B.
  • the dummy VM-D1 and the dummy VM-D2 execute dummy applications AP-D1 and AP-D2 that apply a load to the physical computer 1-B, respectively.
  • the dummy applications AP-D1 and AP-D2 respectively have a resource use reproduction table 50 for reproducing a load history and a load reproduction unit 51 that generates the resource use reproduction table 50.
  • the load reproduction unit 51 includes a resource usage table conversion unit 511, a CPU load reproduction unit 512, and an I / O processing reproduction unit 513.
  • the resource usage conversion unit 511 of the load reproduction unit 51 converts the resource usage tables 610A to 610C from the server virtualization unit 6-B or the total resource usage table 210 of the resource usage status management unit 21 of the management computer 2 to the source virtual A resource usage table including an I / O process of the computer VM-A1 is acquired.
  • the resource usage conversion unit 511 extracts the I / O processing that is the transmission source of the virtual machine VM-A1 from the resource usage table, converts the information of the issue destination and the issue source, and holds it as the resource use reproduction table 50.
  • the resource usage reproduction table 50 of each dummy application AP-D1, AP-D2 is a table generated by the resource usage conversion unit 511. Based on the contents of the resource use reproduction table 50, the CPU load reproduction unit 512 and the I / O processing reproduction unit 513 perform transmission processing.
  • the CPU load reproduction unit 512 constituting the load reproduction unit 51 generates a CPU load described in the resource use reproduction table 50.
  • the generation method may be any form, for example, a simple method such as executing a loop operation.
  • the I / O processing reproduction unit 513 constituting the load reproduction unit 51 is based on the resource use reproduction table 50, and is a dummy VM-D2 or dummy application AP-D3 or a disk (storage device) device 4 designated as a transmission destination. I / O processing of the data size determined in (1) is performed. The data contents may be dummy data. On the other hand, when it is necessary to receive the I / O process reproduced by another dummy VM, the reception process is also performed by the I / O process reproduction unit 513.
  • the dummy application AP-D1 executed by the dummy VM-D1 generates a load corresponding to the migration source virtual machine VM-A1.
  • the resource usage tables 610A to 610C are acquired from the resource monitoring unit 61 of the migration source server virtualization unit 6-A or the entire resource usage table 210 of the management computer 2, and the resource usage of I / O processing is acquired.
  • the dummy application AP-D1 Based on Table 610B, the dummy application AP-D1 generates a load related to I / O processing.
  • the load reproducing unit 51 of the dummy application AP-D1 uses the virtual machine VM in the physical machine 1-A (casing 8-A) shown in FIG. 4 generated by the process of FIG. 9A of the first embodiment.
  • the dummy application AP-D1 generates a load similar to the CPU usage rate 613A in the resource usage table 610A shown in FIG. 4 at the same timing as the time 612A shown in FIG.
  • the communication destination and the data size of the I / O processing that is the transmission source of the migration source virtual machine VM-A1 are obtained as described above. Extracted from the usage table 610B and held as a resource usage reproduction table 50.
  • FIG. 12A shows the resource usage regeneration table 50 of the dummy VM-D1 in which the load regeneration unit 51 of the dummy application AP-D1 extracts the I / O processing of the virtual machine VM-A1 from the resource usage table 610B of the physical computer 1-A. It is a figure which shows an example.
  • the resource use reproduction table 50 includes a time 501 for storing time, a transmission source identifier 502 for storing an identifier of a transmission source virtual machine 60, a transmission destination identifier 503 for storing an identifier of a transmission destination virtual machine 60 or a device, It consists of a data size 504.
  • the CPU usage rate and CNA usage rate of the first embodiment are not read from the resource usage table 610B.
  • the resource usage table conversion unit 511 of the dummy application AP-D1 executed by the dummy VM-D1 of the physical computer 1-B performs the CPU usage rate and I / O processing of the physical computer 1-A measured by the processing of FIG. 9A.
  • the resource usage tables 610A and 610B are acquired.
  • the load regeneration unit 51 of the dummy application AP-D1 stores the CPU usage rate resource usage table 610A related to the virtual machine VM-A1 in the resource usage regeneration table 50 as it is.
  • the load reproduction unit 51 of the dummy application AP-D1 extracts the entry of the virtual machine VM-A1 whose transmission source identifier is the migration target from the resource usage table 610B of the I / O processing and holds it as the resource usage reproduction table 50.
  • the dummy application AP-D1 converts the transmission source identifier 502 of the resource use reproduction table 50 shown in FIG. 12A to the dummy VM-D1, and sets the transmission destination of the transmission destination identifier 503 regarding the virtual machine VM-Bx to the dummy VM. -Convert to D2.
  • the dummy application AP-D1 converts the transmission destination related to the virtual machine VM-Cx having the transmission destination identifier 503 shown in FIG. 12A to the dummy VM-C2.
  • the resource usage table conversion unit 511 of the load regenerating unit 51 when the virtual computer VM-A1 to be moved is moved to the physical computer 1-B, the VM-A1 of the chassis 8-A and the 8-B Between the other VM-Ax of the casing 8-A and the virtual machine VM-A1 to be moved is converted into the casing 8-B, 8- It converts into communication outside the case between C. As a result of the conversion, the resource use reproduction table 50 for I / O processing may be updated, or the identifier may be set to be read.
  • the I / O processing reproduction unit 513 reproduces the I / O processing based on the timing of time 501 in FIG. 12A.
  • the I / O processing reproducing unit 513 performs (reproduces) the I / O processing
  • the dummy VM is used for the I / O processing for the virtual computer 60 in the same casing (housing 8-B).
  • -Perform I / O processing for D2 and for I / O processing for the virtual machine 60 outside the enclosure, for the dummy VM-C2 of the physical computer 1-C or the dummy application AP-D3 of the management computer 2 carry out.
  • the I / O processing reproducing unit 513 uses the same Disk device. Process it. This I / O processing is performed so as not to destroy the data stored in the virtual machine VM-A1. For example, if the reproduction of the I / O processing for the disk device (storage device 4 or local storage device 120) is read, the data of the disk device may be directly read, or dummy data may be read. .
  • the reproduction of the I / O processing for the disk device is a write
  • the data is written to a location different from the data to be originally written, that is, to a preset dummy area, thereby preventing destruction due to overwriting of the data.
  • data reception is performed for the IO processing for the dummy VM-D1 from the external virtual machine.
  • FIG. 12B is a diagram showing an example of the resource usage regeneration table 50 of the dummy VM-D2 in which the virtual machine VM-Bx extracts the I / O processing of the transmission source from the resource usage table 610B of the physical computer 1-A.
  • I / O processing reproduction unit 513 of the dummy VM-D2 at the timing of the time 501 in the resource use reproduction table 50, I / O processing for transmitting 4 kB data to the dummy VM-D1 instead of the virtual machine VM-B2 in the figure. Play.
  • the dummy VM-C2 of the physical computer 1-C is configured similarly to the dummy VM-D1 of the physical computer 1-B.
  • the resource usage table 610B of the I / O processing of the physical computer 1-A virtual machines VM-Ax other than the migration source virtual machine VM-A1 whose transmission source identifier is the physical computer 1-A are stored. Extracted and stored as a resource use reproduction table 50.
  • FIG. 12C is a diagram showing an example of the resource usage regeneration table 50 of the dummy VM-C2 in which the virtual machine VM-Ax extracts the transmission source I / O process from the resource usage table 610B of the physical computer 1-A.
  • the dummy VM-C2 I / O processing reproducing unit 513 transmits 512 kB of data to the dummy VM-D1 instead of the virtual machine VM-A4 of FIG. 12C at the timing of the time 501 in the resource use reproduction table 50. Play back the process.
  • the dummy VM-D1 and the dummy VM-D2 are reproducing the load after the virtual computer VM-A1 is moved to the physical computer 1-B. Monitor the load (resource usage rate).
  • the resource usage status management unit 21 presents the resource usage rate to the user via the input / output unit 24 and the console 7 as a result of monitoring the resource usage rate of the physical computer 1-B.
  • the load verification unit 22 of the management computer 2 determines whether or not the threshold Th1 indicating a high load state is exceeded during monitoring of the resource usage rate of the physical computer 1-B.
  • the threshold Th1 indicating the high load state is exceeded, the processing of the dummy VM-D1, VM-D2, and VM-C2 is promptly stopped.
  • the dummy VM-D1 and the VM-D2 are executed by the physical computer 1-B to which the virtual computer VM-A1 is moved to provide another VM (VM-B1) on the physical computer 1-B. Prevent processing (service) from being affected.
  • the CPU load generated by the dummy VM-D1 is requested to the virtualization management unit of the server virtualization unit 6-B in addition to generating the load as the dummy application AP-D1 of the dummy VM-D1 described above. Then, resource allocation (scheduling) may be realized by a method of allocating to the dummy VM-D1.
  • FIG. 13 is a flowchart showing a processing flow of the second embodiment. This flowchart shows the server operation management program 20 of the management computer 2 and the virtual computer 60 on the physical computer 1-B to which the virtual computer VM-A1 is moved after the processing of FIG. 9A of the first embodiment is completed. Indicates the processing to be performed.
  • step S20 the load verification unit 22 of the management computer 2 starts this processing if the CPU utilization rate of the physical computer 1-B that is the migration destination is equal to or less than the above-described threshold Th1 and equal to or greater than the threshold Th2. Note that this processing can be started regardless of the predicted load (CPU usage rate) when the virtual machine VM-A1 of the physical machine 1-A is scheduled to be migrated to the physical machine 1-B. .
  • step S21 the load verification unit 22 of the management computer 2 sends the dummy VM-D1 and dummy VM to the server virtualization unit 6-B on the physical computer 1-B selected as the migration destination of the virtual computer VM-A1.
  • step S22 the load verification unit 22 activates the dummy application AP-D3 on the management computer 2. Further, the load verification unit 22 instructs the server virtualization unit 6-C on the physical computer 1-C to generate a dummy VM-C2 and start the dummy application AP-C2.
  • step S23 the load verification unit 22 inquires of the server virtualization units 6-B and 6-C whether or not the dummy VM-D1, D2, and C2 and the dummy applications AP-D1, D2, C2, and D3 have been activated.
  • the process proceeds to step S24.
  • step S24 the resource usage status management unit 21 of the management computer 2 acquires the CPU usage rate of the physical computer 1-B from the resource monitoring unit 61 of the server virtualization unit 6-B, and the CPU acquired by the load verification unit 22 Monitor utilization.
  • step S25 it is determined whether or not the CPU usage rate of the physical computer 1-B monitored by the load verification unit 22 exceeds a threshold Th1 indicating a high load.
  • the process proceeds to step S27, and when the CPU usage rate is equal to or less than the threshold value Th1, the process proceeds to step S26.
  • step S27 the load verification unit 22 stops the dummy VM-D1 and the dummy VM-D2 for the server virtualization unit 6-B on the physical computer 1-B.
  • the load verification unit 22 also instructs the server virtualization unit 6-C to stop the dummy VM-C2.
  • the load verification unit 22 stops the dummy application AP-D3 of the management computer 2. Thereafter, the management computer 2 ends the process.
  • step S26 the load verification unit 22 receives processing completion notifications from all the dummy VM-D1, VM-D2, and VM-C2, and determines whether or not all the reproduction processes are completed. The determination process in step S25 is repeated until all the reproduction processes are completed. Then, when the load verification unit 22 receives processing completion notifications from all the dummy VM-D1, VM-D2, and VM-C2, the process proceeds to step S28 and ends the monitoring of the physical computer 1-B. At the end of monitoring, the load verification unit 22 stores the history of CPU utilization of the processor 100 of the physical computer 1-B, which is the migration destination of the virtual machine VM-A1, obtained by the resource usage status management unit 21, and the input / output unit 24. Via the console 7.
  • step S29 the load verification unit 22 notifies the server virtualization units 6-B and 6-C of the suspension and deletion of the dummy VM-D1, VM-D2, and VM-C2. Further, the load verification unit 22 stops the dummy application AP-D3 of the management computer 2, and then ends the process.
  • the processing of the dummy VM-D1 generated by the command of the load verification unit 22 of the management computer 2 is as in steps S31 to S38.
  • the dummy applications AP-D1, AP-D2, and AP-C2 perform the same processing. Therefore, only the dummy application AP-D1 will be described, and the description of the other dummy applications AP-D1 and C2 will be omitted.
  • step S31 the resource usage table conversion unit 511 of the dummy application AP-D1 executed by the dummy VM-D1 of the physical computer 1-B causes the CPU usage rate of the physical computer 1-A and I
  • the resource usage tables 610A and 610B are acquired for the / O processing.
  • the load regeneration unit 51 of the dummy application AP-D1 stores the CPU usage rate resource usage table 610A related to the virtual machine VM-A1 in the resource usage regeneration table 50 as it is.
  • step S32 the dummy application AP-D1 extracts the entry of the virtual machine VM-A1 whose transmission source identifier is the migration target from the resource usage table 610B of the I / O processing and holds it as the resource usage regeneration table 50.
  • the dummy application AP-D1 converts the transmission source identifier 502 of the resource use reproduction table 50 shown in FIG. 12A to the dummy VM-D1, and sets the transmission destination of the transmission destination identifier 503 regarding the virtual machine VM-Bx to the dummy VM. -Convert to D2.
  • the dummy application AP-D1 converts the transmission destination related to the virtual machine VM-Cx having the transmission destination identifier 503 shown in FIG. 12A to the dummy VM-C2.
  • step S33 a table obtained by converting the transmission source identifier 502 and the transmission destination identifier 503 is stored as the resource use reproduction table 50.
  • step S34 when the storage of the resource use reproduction table 50 is completed and preparation for reproduction is completed, a notification that activation has been completed is transmitted to the load verification unit 22 of the management computer 2. Then, the dummy application AP-D1 proceeds to step S35, reproduces the resource use reproduction table 50, and executes the virtual machine VM-A1 on the physical machine 1-B with the dummy applications AP-D1 and AP-D2. Play.
  • step S35 the CPU load reproduction unit 512 of the load reproduction unit 51 reproduces the CPU usage rate of the virtual machine VM-A1 stored in the resource use reproduction table 50, and the I / O processing reproduction unit 513 of the load reproduction unit 51 Then, the I / O processing of the virtual machine VM-A1 stored in the resource use reproduction table 50 is reproduced.
  • the resource monitoring unit 61 of the physical computer 1-B notifies the CPU usage rate of the processor 100 to the resource usage status management unit 21 of the management computer 2.
  • step S36 it is determined whether or not a command for stopping the dummy application AP-D1 is received from the load verification unit 22 of the management computer 2.
  • the dummy application AP-D1 receives a stop command from the management computer 2, the dummy application AP-D1 ends the process.
  • step S37 determines whether or not the load reproduction unit 51 has completed the reproduction of the resource use reproduction table 50. If it is determined in step S37 that the reproduction has not been completed, the process returns to step S35 to repeat the reproduction process. On the other hand, when the load regeneration process is completed for all of the resource use regeneration tables 50, the dummy application AP-D1 proceeds to step S38 and notifies the management computer 2 of the completion of the regeneration process.
  • the physical computer 1-B has the same load and resource usage rate as the dummy VM-D1 and dummy application AP-D1 after the virtual computer VM-A1 of the physical computer 1-A to be moved is moved. Is generated.
  • the dummy application AP-D1 on the dummy VM-D1 reproduces the CPU usage rate and I / O processing measured by the physical computer 1-A on the physical computer 1-B.
  • the load verification unit 22 of the management computer 2 monitors the CPU usage rate of the physical computer 1-B, and immediately stops the dummy applications AP-D1 and AP-D2 when the CPU usage rate exceeds the threshold Th1.
  • Th1 the threshold
  • the virtual computer VM-A1 to be moved becomes a transmission source identifier from the resource usage table 610B of the I / O process generated by the load measurement of the physical computer 1-A. To extract the entries. Then, the load reproducing unit 51 affects other virtual machines providing the service by replacing the source identifier and destination identifier of the extracted entry with the dummy VM-D1, VM-D2, and VM-C2. It is possible to determine whether or not the virtual machine VM-A1 to be moved can be executed.
  • the present invention can be applied to the utilization rate of the CNA as the physical I / O device 130B.
  • FIG. 14 is a screen image in which the load reproduction of the physical computer 1-B in the second embodiment is displayed on the display of the console 7.
  • the dotted line is the load data that verifies the load regeneration using the dummy VM-D1.
  • the practice shows the load when the dummy VM-D1 and D2 are not operated.
  • the dummy application AP-D1 of the dummy VM-D1 is stopped.
  • FIG. 15 is a screen image displayed on the display of the console 7 when the load of the physical computer 1-B in the second embodiment is gradually regenerated.
  • the CPU load regeneration and the regeneration of the I / O process are not performed as they are in the resource use regeneration table 50, but are performed step by step at a constant rate.
  • the CPU usage rate or the CNA usage rate is used as the resource usage amount of the physical computer 1, but a value indicating the load of the physical computer 1 is used as the resource usage amount. it can.
  • a value indicating the load of the physical computer in the physical computer 1 using the processor 100 capable of dynamically changing the operation clock and the operation voltage, the operation clock and the operation voltage are used as a value indicating the load of the physical computer 1.
  • the number of operating cores and the number of cores that are suspended or stopped are used as values indicating the load of the physical computer 1. Can do.
  • the present invention can be applied to a virtual machine system that provides a service by a virtual machine and performs migration of the virtual machine, and in particular, can be applied to a management machine to which a plurality of virtual machines are assigned by a plurality of physical machines.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 複数の物理計算機の計算機資源を仮想計算機に割り当てる仮想化部を管理する管理計算機が、仮想計算機を移動させる物理計算機の評価を行う際に仮想計算機システムであって、管理計算機が、移動対象の第1の仮想計算機を選択し、当該第1の仮想計算機が稼動する第1の物理計算機から当該第1の仮想計算機を移動させる第2の物理計算機を選択し、各仮想計算機を稼働させて複数の物理計算機で使用された計算器資源を測定し、前記第1の仮想計算機の通信先を第1の通信先として特定し、特定された第1の仮想計算機の第1の通信先を、移動先の第2の物理計算機上での通信先に変換して第2の通信先として設定し、第1の仮想計算機を第2の物理計算機で稼動させて第2の通信先と通信を行うときに当該第2の物理計算機で使用される計算器資源を演算する。

Description

仮想計算機のマイグレーション評価方法及び仮想計算機システム
 本発明は、仮想計算機システムにおいて、仮想計算機の移動に関し、特に物理計算機間で仮想計算機を移動させる際のリソース使用を見積もる技術に関する。
 仮想計算機システムでは、複数の仮想計算機で複数のサービスをそれぞれ提供しながら、仮想計算機を物理計算機間で移動させることができる。物理計算機に障害が発生したときや、物理計算機の保守や点検のために停止させる以前には、この物理計算機で稼動していた仮想計算機を、待機系や予備系の他の物理計算機に移動させてサービスの提供を継続することが広く行われている。
 仮想計算機を移動させる際には、移動先の物理計算機の負荷が過大になるのを防ぐため、移動先の物理計算機の負荷を見積もり、移動先の物理計算機の負荷が許容範囲内であれば仮想計算機の移動を実施する。
 物理計算機の負荷を見積もる際には、移動元の物理計算機の負荷と、移動先の物理計算機の負荷とをそれぞれベンチマークソフトウェアなどにより測定し、移動元の物理計算機と移動先の物理計算機で同一の処理を実行した場合にはどのような負荷比率になるかを算出する技術が知られている(例えば、特許文献1)。
特開2009-123174号公報
 ここで、仮想計算機システムでは、物理計算機上でハイパーバイザやVMM(Virtual Machine Monitor)等の仮想化部を実行し、仮想化部上で複数の仮想計算機を提供している。そして、仮想化部は、物理計算機上の物理I/Oデバイスを仮想化した仮想I/Oデバイスを仮想計算機に提供する。仮想計算機は仮想I/Oデバイスを介して通信を行っている。仮想計算機システムでは、仮想化部が仮想スイッチを提供しており、各仮想計算機の仮想I/Oデバイスは仮想スイッチに接続される。そして、仮想化部は、同一の物理計算機上の仮想計算機間の通信では、仮想スイッチ内でデータの送受信を行っている。つまり仮想スイッチは、物理計算機上のメモリの内容を仮想計算機間で送受信することで、仮想計算機からは仮想I/Oデバイスが通信を実施したように見せている。仮想スイッチによる物理計算機上の仮想計算機間の通信では、物理I/Oデバイスを利用せずに、CPUとメモリの物理リソースを使用するだけとなる。
 一方、仮想計算機が他の物理計算機と通信を行う際には、仮想I/Oデバイスから仮想スイッチを介して物理I/Oデバイスを使用する。このため、仮想計算機の通信先の物理計算機によって、使用する物理リソースは異なり、通信を行う物理I/Oデバイスの負荷は異なる。
 このため、上記従来例では、移動元の物理計算機上での仮想計算機の通信先と、移動先の物理計算機上で仮想計算機の通信先が変化する際には、上記特許文献1で見積もった移動元の物理計算機の負荷と移動先の物理計算機の負荷を利用できない場合がある、という問題があった。
 例えば、物理計算機A上の仮想計算機Xが同一の物理計算機A上の仮想計算機Yと通信を行っている環境で、仮想計算機Xの物理リソースの見積量(使用量)は、CPUとメモリのみとなって物理I/Oデバイスは使用されていない。この見積量を満たす物理計算機Bへ仮想計算機Xを移動させると、物理計算機B上の仮想計算機Xは、物理計算機A上の仮想計算機Yと通信を行うため、物理計算機Bでは当初の見積量には含まれない物理I/Oデバイスのリソース使用が増大する。この結果、物理計算機Bの他の仮想計算機では物理I/Oデバイスの帯域が不足して処理の遅延や、過負荷による障害が発生する場合があった。
 そこで本発明は上記問題点に鑑みてなされたもので、異なる物理計算機へ移動させる仮想計算機のリソースの使用を正確に判定することを目的とする。
 本発明は、プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記物理計算機で実行されて計算機資源を1つ以上の仮想計算機に割り当てる仮想化部と、前記仮想化部を管理して前記仮想計算機を物理計算機間で移動させる管理計算機と、を備えた仮想計算機システムで、前記管理計算機が前記仮想計算機を移動させる物理計算機の評価を行う仮想計算機のマイグレーション評価方法であって、前記管理計算機が、複数の仮想計算機から移動対象の第1の仮想計算機を選択し、当該第1の仮想計算機が稼動する第1の物理計算機から当該第1の仮想計算機を移動させる第2の物理計算機を選択する第1のステップと、前記管理計算機が、前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源を測定し、前記第1の仮想計算機の通信先を第1の通信先として特定する第2のステップと、前記管理計算機が、前記特定された第1の仮想計算機の第1の通信先を、前記移動先の第2の物理計算機上での通信先に変換して第2の通信先として設定する第3のステップと、前記管理計算機が、前記第1の仮想計算機を前記第2の物理計算機で稼動させて前記第2の通信先と通信を行うときに当該第2の物理計算機で使用される計算器資源を演算する第4のステップと、を含む。
 本発明によれば、第1の仮想計算機を第1の物理計算機から第2の物理計算機へマイグレーションする以前に、第1の仮想計算機を第2の物理計算機で実行したときに負荷が過大となるか否かを的確に判定することが可能となる。
本発明の第1の実施形態を示し、仮想計算機システムの一例を示すブロック図である。 本発明の第1の実施形態を示し、仮想計算機システムの機能部位の一例を示すブロック図である。 本発明の第1の実施形態を示し、物理計算機と管理計算機の機能部位の詳細を示すブロック図である。 本発明の第1の実施形態を示し、仮想計算機VM-A1が使用するCPU利用率を示すリソース使用表610Aの一例を示す図である。 本発明の第1の実施形態を示し、仮想計算機VM-A1が使用するCPU利用率を示すリソース使用表610Aの一例を示す図である。 本発明の第1の実施形態を示し、仮想計算機VM-A1が使用するI/O処理の示すリソース使用表610Bの一例を示す図である。 本発明の第1の実施形態を示し、管理計算機が保持する全リソース使用表のブロック図である。 本発明の第1の実施形態を示し、仮想計算機VM-A1と同一の物理計算機1-Aの仮想計算機とのI/O処理を抽出したリソース使用表610Bの一例を示す図である。 本発明の第1の実施形態を示し、仮想計算機VM-A1が送信元で異なる物理計算機とのI/O処理を抽出したリソース使用表610Bの一例を示す図である。 本発明の第1の実施形態を示し、物理計算機を収容する筐体内と、筐体間の通信コストを示すリソース変換表の一例を示す図である。 本発明の第1の実施形態を示し、物理計算機1-Aの仮想計算機VM-A1を物理計算機1-Bへ移動したと仮定して、仮想計算機VM-Bxとして物理計算機1-Bで稼動させたときのリソースの使用を示すシミュレーション表である。 本発明の第1の実施形態を示し、CPU利用率の予測値X(t)と実測値のCPU利用率Xa(t)の画面イメージである。 本発明の第1の実施形態を示し、CPU利用率の予測値X(t)と実測値のCPU利用率Xa(t)の差分を示す画面イメージである。 本発明の第1の実施形態を示し、サーバ仮想化部6で行われる処理の一例を示すフローチャートである。 本発明の第1の実施形態を示し、管理計算機2で行われる処理の一例を示すフローチャートである。 本発明の第2の実施形態を示し、仮想計算機システムの一例を示すブロック図である。 本発明の第2の実施形態を示し、物理計算機1-Bの機能要素の一例を示すブロック図である。 本発明の第2の実施形態を示し、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-A1のI/O処理をダミーアプリケーションAP-D1の負荷再生部51が抽出したダミーVM-D1のリソース使用再生表の一例を示す図である。 本発明の第2の実施形態を示し、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-Bxが送信元のI/O処理を抽出したダミーVM-D2のリソース使用再生表の一例を示す図である。 本発明の第2の実施形態を示し、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-Axが送信元のI/O処理を抽出したダミーVM-C2のリソース使用再生表の一例を示す図である。 本発明の第2の実施形態を示し、管理計算機とダミーVM-D1で行われる処理の一例を示すフローチャートである。 本発明の第2の実施形態を示し、物理計算機1-BでダミーVM-D1を稼動させたときの負荷の再生状況をコンソールのディスプレイに表示した画面イメージである。 本発明の第2の実施形態を示し、物理計算機1-BでダミーVM-D1を段階的に稼動させたときの負荷の再生状況をコンソールのディスプレイに表示した画面イメージである。
 以下、本発明の一実施形態について添付図面を用いて説明する。
 図1は本発明の第1の実施形態の仮想計算機システムの構成の一例を示すブロック図である。仮想計算機システムは、LAN3を介して接続された3つの物理計算機1-A~1-Cと、これら物理計算機1-A~1-Cを管理する管理計算機2を備える。物理計算機1-A~1-Cと管理計算機2はSAN(Storage Area Network)を介してストレージ装置4に接続される。各物理計算機1-A~1-Cは、筐体8-A~8-Cにそれぞれ格納される。なお、以下では物理計算機1-A~1-Cの総称を物理計算機1とし、筐体8-A~8-Cの総称を筐体8とする。
 物理計算機1ではそれぞれ仮想計算機が実行され、各仮想計算機はサービスを提供する。管理計算機2は、各物理計算機1への仮想計算機の割り当てと、仮想計算機の生成、移動、削除を後述するように管理する。
 本実施形態の物理計算機1-A~1-C及び管理計算機2のハードウェア構成は、同様であり、物理計算機1-Aの構成を説明する。筐体8-Aに格納された物理計算機1-Aは、演算処理を行うプロセッサ(またはCPU)100と、プログラムやデータを一時的に格納するメモリ110と、プログラム等を保持する記憶媒体としてのローカルストレージ装置120と、筐体8-Aの外部と通信を行うCNA(Converged Network Adaptor)130がインターコネクト140を介して相互に接続される。
 プロセッサ(CPU)100は、N個の演算コアを有し、ローカルストレージ装置120またはストレージ装置4からプログラムを読み込んでメモリ110にロードする。そして、プロセッサ100は、メモリ110にロードしたデータを実行する。
 外部との通信を行うCNA130は、ファイバチャネルのプロトコルをイーサネット(登録商標)フレームで扱うFibre Channel over Ethernet(FCoE)技術を用いて、LAN3とSAN5に接続するI/Oデバイスを統合的に扱うことができる。つまり、CNA130は、後述するように、HBA(Host Bus Adapter)としてSAN5に接続される物理I/Oデバイスと、ネットワークインターフェースとしてLAN3に接続される物理I/Oデバイスを含むI/Oデバイスである。
 なお、管理計算機2は、上記物理計算機1の構成に加えて、入出力装置としてキーボードやマウスとディスプレイからなるコンソール7を有し、指令の入力と表示を行う。
 なお、図示の例ではプロセッサ100が、複数の演算コア#1~#Nを備える例を示すが、シングルコアであっても良い。
 また、一つの筐体8にひとつの物理計算機1を格納する例を示したが、ブレードサーバのように複数の物理計算機1をひとつの筐体8に格納してもよい。
 また、上記ではCNA130でHBAとネットワークインターフェースを統合した例を示したが、HBAとネットワークインターフェースがそれぞれ独立した物理I/Oデバイスとして実装されてもよい。
 また、上記ではローカルストレージ装置120からプログラムを読み込む例を示したが、ローカルストレージ装置120に代わって、SAN5を介したストレージ装置4からプログラムをロードして起動するようにしても良い。
 図2は、仮想計算機システムの論理的な構成の一例を示すブロック図である。物理計算機1-A~1-Cでは、仮想計算機に対する計算機資源の割り当てを制御するサーバ仮想化部6-A~6-Cがそれぞれ稼動する。各サーバ仮想化部6-A~6-Cは管理計算機2のサーバ運用管理プログラム20によって管理される。以下の説明では、サーバ仮想化部6-A~6-Cの総称をサーバ仮想化部6とする。
 サーバ仮想化部6は、物理計算機1の計算機資源を仮想計算機に割り当てるハイパーバイザやVMM(Virtual Machine Monitor)等で構成することができる。以下では、サーバ仮想化部6をハイパーバイザで構成した例を示す。サーバ仮想化部6は物理計算機1上にn個の仮想計算機(VM)60-1~60-nを稼動させることができる。また、サーバ仮想化部6は物理I/Oデバイスを仮想I/Oデバイス1300-1~1300-nとして仮想計算機60-1~60-nに割り当てる処理を実行する。物理計算機1-A~1-Cを図中物理計算機A~Cで示し、物理計算機1-Aの仮想計算機60-1~60-n、サーバ仮想化部6-A~6-C、物理I/Oデバイス(CNA)130の添え字をA~Cで表す。なお、物理I/Oデバイス130A~130Cは、図1のCNA130である。また、仮想計算機60-1~60-nの総称は仮想計算機60またはVMとする。また、図2で示すように、物理計算機A(1-A)の仮想計算機60の識別子はVM-A1、VM-A2のように「A」を付加し、物理計算機B(1-B)の仮想計算機60の識別子はVM-B1、VM-B2のように「B」を付加し、物理計算機C(1-C)の仮想計算機60の識別子はVM-C1、VM-C2のように「C」を付加する。
 例えば、物理計算機1-Aでは、物理計算機A示しサーバ仮想化部Aが仮想計算機VM-A1~VM-Anを稼動させる。ここで、サーバ仮想化部Aは物理I/OデバイスAを仮想化した仮想I/Oデバイス1、2(1300-1、1300-2)を仮想計算機VM-A1、VM-A2へそれぞれ提供する。仮想計算機VM-A1、VM-A2では、図示しないゲストOS上でアプリケーションAP-A1(10-1)、AP-A2(10-2)を実行し、LAN3を介して図示しないクライアント計算機にサービスを提供する。また、サーバ仮想化部6は、仮想計算機60に割り当てていない余剰の計算機資源をリソースプールとして扱う。
 なお、アプリケーションAP-A1、AP-A2、(10-2)の総称は、アプリケーション10とする。また、図2で示すように、物理計算機A(1-A)の仮想計算機60で実行されるアプリケーション10の識別子はAP-A1、AP-A2のように「A」を付加し、物理計算機B(1-B)のアプリケーション10の識別子はAP-B1、AP-B2のように「B」を付加し、物理計算機C(1-C)のアプリケーション10の識別子はAP-C1のように「C」を付加する。
 物理計算機1-B、1-Cも物理計算機1-Aと同様であり、サーバ仮想化部B,Cが仮想計算機VM-B1、VM-C1を稼動させ、各仮想計算機上でアプリケーションAP-B1、AP-C1を実行する。以下の説明では、物理計算機Aの仮想計算機VM-A1を移動元の仮想計算機とし、物理計算機Bへ移動する前にリソース使用率(=リソースの使用量)を見積もる例を示す。
 アプリケーション10は、仮想計算機60上で実行されて通信やディスクI/OなどのI/O処理を仮想I/Oデバイス1300に対して通信パケット(I/O要求)として発行する。仮想I/Oデバイス1300はI/O要求をサーバ仮想化部6に対して送信する。そして、サーバ仮想化部6は、I/O要求の宛先が同一の筐体8内の物理計算機1であるか否かを判定する。宛先が同一の筐体8内でなければサーバ仮想化部6は、I/O要求を物理I/Oデバイス130に対して発行する。一方、宛先が同一の筐体8内であれば、サーバ仮想化部6はメモリ110を介してI/O要求を宛先の仮想計算機に送信する。なお、物理I/Oデバイス130が受信したI/O要求は、上記の逆の順序でアプリケーションAPに伝達される。
 ここで、 サーバ運用管理プログラム20は、各筐体8で使用されている物理計算機1のリソース使用率(またはリソース使用量)や、各処理における負荷のデータなどを収集し、コンソール7を利用する管理者などにGUI等を介して提供する。そして、収集した物理計算機1のリソース使用率や負荷のデータから仮想計算機60の移動が必要であれば、仮想計算機VM-A1を他の物理計算機1へ移動させる。また、サーバ運用管理プログラム20は、各物理計算機1のサーバ仮想化部6を管理し、仮想計算機60の生成、移動、削除を管理する仮想化管理部(図示省略)の機能を有する。なお、仮想化管理部については周知または公知の技術を適用すればよいので、本実施形態では説明を省略する。また、サーバ運用管理プログラム20は、非一時的な計算機読み取り可能な記憶媒体としてのローカルストレージ装置120またはストレージ装置4に格納される。
 図3は、仮想計算機60とサーバ仮想化部6及びサーバ運用管理プログラム20の詳細な論理構成を示すブロック図である。なお、図3では物理計算機1-Aについて説明するが、物理計算機1-B、1-Cも同様である。
 仮想計算機60-1、60-2ではアプリケーションAP-A1、AP-A2が実行され、各アプリケーション10はI/O利用ログ11-1、11-2を生成する。各I/O利用ログ11-1、11-2は、アプリケーション10の仮想I/Oデバイス1300に対するI/O処理を記録する。このときアプリケーション10は、I/O利用ログ間の依存関係(I/O発行順序)も併せて記録する。
 なお、図3の例ではアプリケーション10-1、10-2がそれぞれI/O利用ログ11-1、11-2を生成する例を示したが、各仮想計算機60のOS(図示省略)がI/O利用ログを生成する構成であっても良い。
 物理I/Oデバイス130Aは、図1に示した物理計算機1-AのCNA1300である。仮想I/Oデバイス1300-1には複数の仮想I/Oデバイスを含めることができる。
 図示の例では、仮想I/Oデバイス1に仮想I/Oデバイス#1と仮想I/Oデバイス#2が含まれる例を示し、物理I/Oデバイス130AがCNAのように複数の物理I/Oデバイスを有する場合には、機能毎に独立した仮想I/OデバイスとしてアプリケーションAP(またはゲストOS)に提供することができる。図示の例では、物理I/Oデバイス130Aのネットワークインターフェースの機能が仮想I/Oデバイス#1として提供され、HBAの機能が仮想I/Oデバイス#2として提供された例を示す。物理I/Oデバイス130Aは、物理I/Oデバイス#1、#3がネットワークインターフェースで構成され、物理I/Oデバイス#2がHBAで構成された例を示す。
 次に、サーバ仮想化部6-Aは、I/Oデバイス制御部63と、リソース監視部61及びリソース割当制御部62を含む。
 I/Oデバイス制御部63は、筐体8A内部及び筐体8Aの外部とのI/O処理を制御する。筐体8Aの外部に対するI/O要求である場合には、仮想I/Oデバイス1300から入力されたI/O処理を物理I/Oデバイス130Aに発行する。筐体8Aの内部に対するI/O要求である場合には、上述のようにメモリ110でI/O処理を実施する。筐体8Aの内部に対するI/O処理は、前記従来技術に示した仮想スイッチ630で実施する。
 リソース監視部61は、各仮想計算機60によるリソースの使用を監視する。リソース監視部61は、プロセッサ100や物理I/Oデバイス130Aにアクセスして、リソースの使用率を取得することができる。なお、リソース監視部61は、リソースの使用を図示しないゲストOSから取得しても良い。また、リソース監視部61はI/O処理の前後でリソースがどの程度使用されたかを取得することで、I/O処理に要するプロセッサ100等の負荷を測定する。なお、リソース監視部61は、物理計算機1毎の使用電力を検知するようにしても良い。この場合、各物理計算機1には、電力の測定装置を設置すればよい。
 リソース割当制御部62は、各仮想計算機60上の処理や、サーバ仮想化部6の各コンポーネントの処理で必要となるリソースを割り当てる機能を有する。
 リソース使用表610は、筐体8A内の物理計算機1-Aの仮想計算機60毎のリソース使用状況をテーブル(またはログ)で記録したものである。リソース使用表610は三種類で構成され、各仮想計算機60がI/O処理以外で使用したプロセッサのリソース使用を記録するリソース使用表610Aと、各仮想計算機60が発行したI/O処理で使用されたリソースの使用を記録するリソース使用表610Bと、サーバ仮想化部6がI/O処理に関する処理以外で使用したリソースの使用を記録するリソース使用表610Cから構成される。なお、各VMのリソース使用表610Aは、I/O処理を除いて仮想計算機60が使用したプロセッサ100等のリソースの使用を示す。
 また、リソース使用表610Bは、各仮想計算機60がI/O処理の際に使用したリソースの使用を示し、本実施形態では、各仮想計算機60がI/O処理の際に使用したプロセッサ100の使用率と、CNA130の使用率をリソースの使用として扱う。なお、リソースの使用率に代わって、データサイズなどをリソースの使用量として扱うようにしても良い。
 次に、各物理計算機1のサーバ仮想化部6を管理する管理計算機2は、リソース使用状況管理部21と、負荷検出部22と、マイグレーション制御部23と、入出力部24とを備えて物理I/Oデバイス130Z(CNA)を介して各物理計算機1と通信を行う。
 リソース使用状況管理部21は、各物理計算機1のサーバ仮想化部6のリソース監視部と通信することで、各筐体8及び仮想計算機60によって生じる負荷情報(リソース使用情報)を取得する。リソース使用状況管理部21は、各筐体8のサーバ仮想化部6で生成されたリソース使用表610A~610Cの一部ないしは全てを保持する。リソース使用状況管理部21は、各筐体8の物理計算機1から取得したリソース使用表610A~610Cの内容を、全リソース使用表210として保持する。全リソース使用表210のフォーマットはリソース使用表610A~610Cと同一である。
 リソース使用状況管理部21は、各筐体8の物理計算機1から取得したI/O処理のリソース使用表610Bに基づいて、各筐体8での所定の単位データサイズのI/O処理に要する負荷(通信コスト)を演算する機能を有する。リソース使用状況管理部21は、この演算結果をリソース変換表220として保持する。リソース変換表220は、各筐体8の物理計算機1での筐体8内の通信コストと筐体8間の通信コストを保持する。
 管理計算機2は、移動対象の仮想計算機VM-A1が移動候補の物理計算機1-Bで正常に動作するか否かの見積を行う際に、リソース変換表220を利用する。
 マイグレーション制御部23は、各仮想計算機60のリソース使用と、各筐体8の物理計算機1のリソース使用から、移動対象の仮想計算機60を選択して、どの筐体8の物理計算機1にマイグレーションすればよいかを判定する。この移動元の仮想計算機60と、移動先の物理計算機1を選択する手法については、周知または公知の技術を適宜用いることができるので、ここでは説明を省略する。また、移動対象の仮想計算機60を選択するパラメータとしては上記リソース使用の他に、曜日あるいは期末などの暦の情報や時刻の情報を加味しても良い。
 また、マイグレーション制御部23は、コンソール7からの指令やスケジュールなどに基づいて、移動対象の仮想計算機60を移動先の物理計算機1へマイグレーションすることができる。
 リソース消費状況管理部21と負荷検証部22は、マイグレーション制御部23が判定したマイグレーション対象の仮想計算機60と移動先の筐体8内の物理計算機1の情報を取得して、負荷予測を実施する。負荷予測の概要は次のとおりである。
 リソース消費状況管理部21はまず、移動元の仮想計算機60のサーバ仮想化部6から過去のリソース使用履歴としてリソース使用表610A~610Cを取得し、また、移動先の物理計算機1-Bのリソース使用表610A~610Cを取得し、全リソース使用表210を更新する。
 次に、負荷検証部22は、移動先の物理計算機1の各仮想計算機60のリソース使用を時刻毎に積算して移動先の物理計算機1の全体のリソース使用率を求める。そして、負荷検証部22は、移動先の物理計算機1の全体のリソース使用率に、移動対象の仮想計算機60のリソース使用率を積み重ねて、移動対象の仮想計算機60をマイグレーションした後の移動先の物理計算機1のリソースの使用率を演算する。なお、各物理計算機1の性能が異なる場合には換算式などで補正すればよい。また、I/O処理のリソース使用率を求める際には、移動元の物理計算機1において筐体8内の通信は、移動先の物理計算機では筐体8外の通信に変換し、リソース変換表220からリソース使用を換算する。一方、移動元の物理計算機1において筐体8外の通信のうち、移動先の物理計算機で筐体8内通信になる場合は、リソース変換表220からリソース使用率を換算する。
 以上のようにI/O処理では、負荷検証部22が筐体8内通信と筐体8外の通信を、移動先の物理計算機1の仮想計算機60に応じて筐体8内通信と筐体8外通信を変換する。そして、負荷検証部22は、移動対象の仮想計算機60をマイグレーションした後の移動先の物理計算機1の全体のリソース使用をリソース変換表220を参照して各時刻毎に演算する。
 そして、負荷検証部22は、マイグレーションした後の移動先の物理計算機1の全体のリソース使用率が所定の閾値Th1を超えていれば移動先の物理計算機1はマイグレーション先として不適切であり、全体のリソース使用率が所定の閾値Th1以内であれば移動先の物理計算機1はマイグレーション先として適切であると判定する。
 なお、マイグレーションの可否を判定する閾値Th1は、コンソール7からの指令や所定のファイルに格納される。
 入出力部24は、コンソール7へリソース使用状況管理部21のデータ(全リソース使用表210の一部ないしは全部)を表示する。表示方法は、表そのものであってもよいし、別図に示すような、グラフであってもよい。また、これらの表示形式は入出力部24からの指令などによって、コンソール7の利用者(管理者)が指定することができる。また、入出力部24は、負荷検証部22やマイグレーション制御部23の演算結果の表示や、入力を受け付けるインターフェースを提供することができる。
 図4は、サーバ仮想化部6のリソース監視部61が管理するリソース使用表のうち各仮想計算機60のリソース使用表610Aの一例を示す。リソース使用表610Aは、各仮想計算機60で使用されているリソースの推移を管理する。リソース使用表610Aは、仮想計算機60の識別子を格納するVM識別子611Aと、時刻を格納するtime612Aと、プロセッサ100の利用率を格納するCPU使用率613Aから構成される。図示の例では、物理計算機1-Aの仮想計算機60-1(VM-A1)について1秒おきにプロセッサ100の利用率を測定した例である。CPU使用率613Aは、仮想計算機60-1のOSから見たプロセッサ100の利用率である。この他、仮想計算機60が使用しているメモリ110の利用率を加えることができる。
 なお、リソース使用表610A~610Cは、ログとしてローカルストレージ装置120あるいはSAN5上のストレージ装置4に格納してもよい。また、筐体8の外部のストレージ装置4にログを格納する場合は、ログを格納するためにI/O処理を行ったときのリソース使用率もI/O利用ログ11-1に記録することができる。
 図5Aは、物理計算機1-Aのサーバ仮想化部6-Aのリソース監視部61が管理するリソース使用表のうちI/O処理のリソース使用表610Bの一例を示す。リソース使用表610Bは、物理計算機1-A上の各仮想計算機60が実行したI/O処理の履歴を格納する。
 リソース使用表610Bは、時刻を格納するtime611Bと、送信元の仮想計算機60の識別子を格納する送信元識別子612Bと、送信先の仮想計算機60の識別子を格納する送信先識別子613Bと、送受信したデータの容量を格納するデータサイズ614Bと、I/O処理を行ったときのプロセッサ100の利用率を格納するCPU利用率615Bと、I/O処理を行ったときのCNA130の利用率を格納するCNA利用率616Bからひとつのエントリが構成される。
 データサイズ614Bは、データの容量の他に、I/Oデバイス130との間で実際に送受信するI/Oバッファのサイズを示すチャンクサイズの何個分か、という形式でもよい。CPU利用率615Bは、仮想計算機60に割り当てられたプロセッサ100のリソースについて仮想計算機60のOS(図示省略)から見た利用率を示す。CNA利用率616Bは、仮想計算機60に割り当てられた仮想I/Oデバイス1300のリソースについて仮想計算機60のOS(図示省略)から見た利用率を示す。
 図示のデータのうち、#1aは、物理計算機1-Aの仮想計算機A1(VM-A1)から物理計算機1-Bの仮想計算機B2(VM-B2)へのネットワークアクセスで、データ量が2MBであることを示す。図中#2aのデータは、物理計算機1-Aの仮想計算機A2(VM-A2)からストレージ装置4へのディスクアクセスで、データ量が4MBであることを示す。図中#3aのデータは、物理計算機1-Aの仮想計算機A1(VM-A1)から物理計算機1-Aの仮想計算機A4(VM-A4)へのネットワークアクセスで、データ量が2MBであることを示す。このデータ#3aのように、同一の物理計算機1-A上のネットワークアクセスは、CNA利用率616Bは0%となって、CNA130は経由せずにプロセッサ100の処理によるメモリ110のコピーとなる。すなわち、図3に示した仮想スイッチ630によって物理計算機1-Aの仮想計算機A1(VM-A1)と仮想計算機A4(VM-A4)がメモリ110上で通信を行ったことを意味する。
 以上のように、物理計算機1-Aのサーバ仮想化部6-Aでは、仮想計算機60の処理、仮想計算機60のI/O処理及びサーバ仮想化部6の処理で使用されたリソースの履歴が、リソース使用表610A~610Cとして蓄積される。
 なお、他の物理計算機1-B、1-Cのサーバ仮想化部6-B、6-Cについても、上記サーバ仮想化部6-Aと同様に、リソース使用表610A~610Cが蓄積される。
 図5Bは、物理計算機1-Bのサーバ仮想化部6-Bのリソース監視部61が管理するリソース使用表のうちI/O処理のリソース使用表610Bの一部を示す。図5Bでは、図5Aのうち、物理計算機1-Bの仮想計算機60が送信先または送信元となっているI/O処理について示したものである。つまり、筐体8間に跨る通信の場合には、各物理計算機1上のサーバ仮想化部6によってI/O処理のリソース使用表610Bが蓄積される。
 なお、リソース使用表610A~610Cは、ログとしてローカルストレージ装置110またはストレージ装置4ディスクに格納してもよい。
 以下では、マイグレーション制御部23が、マイグレーションの対象として物理計算機1-Aの仮想計算機60-1(VM-A1)を選択し、この仮想計算機VM-A1を物理計算機1-Bへ移動させる際の処理について説明する。
 <処理の概要>
 マイグレーション制御部23が移動対象の仮想計算機VM-A1と、移動先の物理計算機として物理計算機1-Bを選択し、管理計算機2は各物理計算機1-A~1-Cに対して、リソース使用表610A~610Cをそれぞれ取得するよう指令する。この指令は、例えば、マイグレーション制御部23が負荷検証部22に移動対象の仮想計算機VM-A1と移動先の物理計算機1-Aを通知し、負荷検証部22全リソース使用表210を更新するようリソース使用状況管理部21に指令する。
 リソース使用状況管理部21は、各物理計算機1-A~1-Cのサーバ仮想化部6-A~6-Cに対して、それぞれリソース使用表610A~610Cの更新を指令する。
 上記指令により、サーバ仮想化部6-A~6-Cでは、それぞれ図9Aに示す処理が行われる。図9Aは、サーバ仮想化部6で行われる処理の一例を示すフローチャートである。
 まず、各サーバ仮想化部6では、ステップS1で管理計算機2のリソース使用状況管理部21からリソース使用の計測開始の指示を受信すると、上述のリソース使用表610A~610Cの取得を実施する(S1)。
 各サーバ仮想化部6では、ステップS2で各物理計算機1上で使用されたリソースを測定する。各サーバ仮想化部6は測定したリソース使用率で各リソース使用表610A~610Cを更新する(S2)。上記ステップS1~S3の処理を管理計算機2から測定終了の通知を受信するまで繰り返す(S3)。
 上記の処理により所定期間のリソース使用表610A~610Cが、各物理計算機1-A~1-Cのそれぞれについて得られる。なお、管理計算機2が各サーバ仮想化部6に対して指令する測定開始(t1)から測定終了(t2)までの所定の期間は、予め定めた時間やコンソール7から入力した時間などである。
 リソース監視部61は、各仮想計算機60が利用するプロセッサ100の利用率(CPU利用率)を、図4で示すように、仮想計算機60毎に所定の時間(図示の例では1秒)で取得し、仮想計算機60毎のリソース使用表610Aを生成する。
 I/O処理のリソース使用については、I/Oデバイス制御部63がI/O処理要求を受け付けると、リソース監視部61にCPU利用率とCNA利用率及び処理するデータサイズの取得開始を指令する。I/Oデバイス制御部63は、受け付けたI/O処理が完了すると、リソース監視部61にCPU利用率とCNA利用率及びデータサイズの取得終了を通知する。リソース監視部61は、送信元識別子と送信先識別子にCPU利用率とCNA利用率及びデータサイズを対にして、I/O処理のリソース使用表610Bを生成する。なお、CPU利用率とCNA利用率は、平均値や最大値など予め設定した処理を加えることができる。
 また、リソース監視部61は、サーバ仮想化部6自身が利用するプロセッサ100の利用率を所定の時間(例えば、1秒間)間隔で取得し、サーバ仮想化部6のリソース使用表610Cを生成する。
 なお、I/O処理のリソース使用については、CPU利用率をサーバ仮想化部6のリソース使用表610Cから差し引いておいても良い。また、各リソース使用率の取得は、公知または周知の手法を適宜適用することができ、上述した手法に限定されるものではない。
 各サーバ仮想化部6は、管理計算機2から測定終了の通知を受信すると、リソース使用率の測定を終了し、蓄積したリソース使用表610A~610Cをそれぞれ管理計算機2のリソース使用状況管理部21へ送信する。
 管理計算機2のリソース使用状況管理部21は、各サーバ仮想化部6から受信したリソース使用表610A~610Cを全リソース使用表210として保持する。
 図5Cは、管理計算機2のリソース使用状況管理部21が保持する全リソース使用表210の一例を示す。リソース使用状況管理部21は、物理計算機1-Aのサーバ仮想化部6-Aから受信したリソース使用表610A~610Cを、リソース使用表610A-1~610C-1として全リソース使用表210内に保持する。リソース使用状況管理部21は、物理計算機1-Bのサーバ仮想化部6-Bから受信したリソース使用表610A~610Cを、リソース使用表610A-2~610C-2として全リソース使用表210内に保持し、同様に、物理計算機1-Cのサーバ仮想化部6-Cから受信したリソース使用表610A~610Cを、リソース使用表610A-3~610C-3として全リソース使用表210内に保持する。なお、図中シミュレーション表610B-2sは、後述の負荷検証部22が生成する表である。
 次に、リソース使用状況管理部21は、各物理計算機1-A~1-Cから取得した全リソース使用表210よりI/O処理の単価(コスト)を求めて、リソース変換表220に設定する。本実施形態では、I/O処理のリソース使用表610B-1~610B-3からI/O処理の単価を求める例について説明する。
 図9Bは、管理計算機2で行われる処理の一例を示すフローチャートである。この処理は、各物理計算機1-A~1-Cからリソース使用表610A~610Cを受信した後に実行される。
 まず、管理計算機2のリソース使用状況管理部21は、ステップS10で、筐体8内の通信コストを演算する。通信コストは、予め設定した単位データサイズ(例えば、128kB)を転送する際に使用したリソースの使用率を求める。なお、以下の例では1MB=1024kBとして演算した例を示す。また、単位データサイズはCNA130が一回の通信で送受可能なデータサイズなどに設定することができる。
 この演算は、例えば、図6Aで示すように、同一の筐体8内の通信を抽出し、データサイズ614B(kB)とCPU利用率615Bから単位データサイズ(128kB)あたりのCPU利用率xを次式により求める。
X = CPU利用率/(データサイズ(kB)/128(kB)) …(1)
 つまり、図5Aで示したように、物理計算機1-AのI/O処理のリソース使用表610Bには、筐体8内の通信によるI/O処理の履歴と、筐体8間の通信によるI/O処理の履歴が混在している。そこで、リソース使用状況管理部21は、物理計算機1-AのI/O処理のリソース使用表610Bから、送信元識別子612Bと送信先識別子613Bが同一の物理計算機1-A上の仮想計算機VM-Ax間のI/O処理の履歴を抽出し、図6Aの同一の筐体8内のI/O処理の履歴を集計する。
 図6AのI/O処理の履歴では、3つの筐体8内のI/O処理から#1a、#6a、#9aのCPU利用率615Bから単位データサイズ当たりのCPU利用率をそれぞれ求め、これらの平均値を筐体8A内のI/O処理にかかるCPU利用率x=0.429%(小数点以下第4位を四捨五入)として設定する。
 同様に、図6Aで示したように、同一の筐体8内のI/O処理の履歴から、データサイズ614B(kB)とCNA利用率616Bから単位データサイズ(128kB)あたりのCNA利用率yを次式により求める。
Y = CNA利用率/(データサイズ(kB)/128(kB)) …(2)
 同一の物理計算機1-A上では、仮想スイッチ630による通信となるので、CNA利用率616Bの平均値は0%となる。
 以上より、筐体8-A内の通信コストは、
平均CPU利用率Xaa=0.429%
平均CNA利用率Yaa=0%
となる。なお、添え字の「aa」は送信元の筐体が8-Aで、送信先の筐体が8-Aであることを示す。
 リソース使用状況管理部21は、他の物理計算機1-B,1-Cについても、全リソース使用表210内のリソース使用表610B-2、610B-3から筐体8-B内の通信コストと、筐体8-C内の通信コストとをそれぞれ求める。
 次に、ステップS11では、リソース使用状況管理部21が、全リソース使用表210内のリソース使用表610B-1~610B-3から各筐体8間の通信コストXbb、Ybb、Xcc、Yccを演算する。
 例えば、図5A、図5Bで示した物理計算機1-A、1-BのI/O処理のリソース使用表610B-1、610B-2から筐体8-A、8-B間の通信で、筐体8-Aが送信元になるI/O処理の履歴を抽出すると図6Bのように、3つのI/O処理の履歴が抽出される。これらの各行について上記(1)式より単位データサイズ当たりのCPU利用率Xと、単位データサイズ当たりのCNA利用率=Yを求める。そして、各CPU利用率XとCNA利用率=Yの平均値を、筐体8-Aから筐体8-Bへの通信コストとして
平均CPU利用率Xab=0.150%
平均CNA利用率Yab=0.275%
となる。なお、添え字の「ab」は送信元の筐体が8-Aで、送信先の筐体が8-Bであることを示す。また、リソース使用状況管理部21は、送信元の筐体が8-Bで、送信先の筐体が8-Aの通信コストも同様に算出し、平均CPU利用率Xba、平均CNA利用率Ybaとする。
 リソース使用状況管理部21は、他の物理計算機1-B,1-Cについても、全リソース使用表210内のリソース使用表610B-2、610B-3から筐体8-A、8-B、8-C間の各通信コストをそれぞれ求める。
 次に、ステップS12では、リソース使用状況管理部21は、上記ステップS10、S11で求めた筐体8内と筐体8内の通信コストをリソース変換表220を書き込んで更新する。
 図6Cは、リソース変換表220の一部を示す図である。図6Cは、I/O処理のリソース使用表610B-1~610B-3から各筐体8内及び筐体8間の通信コストを求めたうち、筐体8-Aと筐体8-Bの通信コストに関する部分のリソース変換表220の例を示す。図6Cにおいて、リソース変換表220は、送信元の筐体8の識別子を格納する送信元識別子221と、送信先の筐体8の識別子を格納する送信先識別子222と、単位データサイズ当たりのCPU利用率の平均値Xij(i,jは筐体8の識別子)を格納するCPU利用率223と、単位データサイズ当たりのCNA利用率の平均値Yijを格納するCNA利用率224とからひとつのエントリが構成される。
 送信元識別子221が「筐体A」で送信先識別子222も「筐体A」のエントリは、筐体8-Aの筐体内の通信コストXaa、YaaがそれぞれCPU利用率223とCNA利用率224に格納される。
 一方、送信元識別子221が「筐体A」で送信先識別子222が「筐体B」のエントリは、筐体8-Aから筐体8-Bへの筐体間の通信コストXab、YabがそれぞれCPU利用率223とCNA利用率224に格納される。
 なお、リソース使用率の計測開始(t1)から計測終了(t2)までの期間に、I/O処理のない仮想計算機60があった場合には、過去に求めたリソース変換表220の値を利用するようにしてもよい。あるいは、上記ステップS12のリソース変換表220の更新は、図9Aの処理で新たにリソース使用表610Bが更新された仮想計算機60に関して実行するようにしても良い。
 次に、図9BのステップS13では、マイグレーション制御部23が選択した移動対象の仮想計算機VM-A1と、移動先の物理計算機1-Aについて負荷検証部22がリソース使用率の見積を実施する。
 まず、負荷検証部22は、移動対象の仮想計算機VM-A1のリソース使用率が記録されたリソース使用表610A-1、610B-1と、移動先の物理計算機1-Bのリソース使用率が記録されたリソース使用表610A-2、610B-2、610C-2を全リソース使用表210から読み込む。
 次に、負荷検証部22は、移動対象の仮想計算機60を含む物理計算機1-AのI/O処理のリソース使用率が記録されたリソース使用表610B-1から、移動対象の仮想計算機VM-「A1」を送信元識別子612Bまたは送信先識別子613Bに含むエントリを抽出し、「A1」を物理計算機1-Bへ移動したことを示す「Bx」に置き換える。そして、移動対象の仮想計算機VM-A1を物理計算機1-Bへ移動後の通信状態に応じて、負荷検証部22はCPU利用率615BとCNA利用率616Bを演算する。この演算の結果は図7に示すようになる。
 図7は、物理計算機1-Aの仮想計算機VM-A1を物理計算機1-Bへ移動したと仮定して、仮想計算機VM-Bxとして稼動したときのリソース使用率を示すシミュレーション表610B-2sである。このシミュレーション表610B-2sフォーマットはリソース使用表610Bと同一である。ただし、移動対象の仮想計算機VM-A1を含まないエントリは負荷検証部22で削除されたものである。
 図7において、エントリ#1a'は、送信元識別子612Bが「A1」から「Bx」に変更され、送信先識別子613Bが「B2」なので筐体8間の通信が筐体8-B内の通信に変更されている。このため、負荷検証部22は、図6Cのリソース変換表220から送信元識別子221と送信先識別子222が「筐体B」の筐体8内の単位データサイズ当たりの通信コスト(CPU利用率=0.492%、CNA利用率=0%)を取得し、図7のエントリ#1a'のデータサイズ=2MB=2048kBを、筐体8内の通信で利用するリソース使用率に変換すると新たな仮想計算機VM-Bxが物理計算機1-Bで使用するCPU利用率=7.87%となる。つまり、2MB=(128kB×16)であるため、CPU利用率Xbbは0.492%×16=7.872%(四捨五入して7.87%) となり、CNA利用率は0%となる。
 一方、図7において、エントリ#3a'は、送信元識別子612Bが「A1」から「Bx」に変更され、送信先識別子613Bが「A4」なので筐体8内の通信が筐体8-Bから筐体8-Aへの筐体8間の通信に変更されている。このため、負荷検証部22は、図6Cのリソース変換表220から送信元識別子221が「筐体B」で、送信先識別子222が「筐体A」の筐体8間の通信の単位データサイズ当たりの通信コスト(CPU利用率=0.139%、CNA利用率=0.286%)を取得し、図7のエントリ#3a'のデータサイズ=2MB=2048kBを、筐体8間で通信する際に利用するリソース使用率に変換すると新たな仮想計算機VM-Bxが物理計算機1-Bで使用するCPU利用率=2.22%でCNA利用率=4.26%となる。
 負荷検証部22は、図7の他のエントリについても移動対象の仮想計算機VM-A1を物理計算機1-Bへ移動したと仮定して上記と同様に通信コストの演算を行う。
 また、負荷検証部22は、物理計算機1-BのI/O処理のリソース使用表610B-2から仮想計算機VM-A1を含むエントリを削除する。これは、シミュレーション表610B-2sで移動対象の仮想計算機VM-A1を物理計算機1-B上のVM-Bxに置き換えてリソース使用率を演算したためである。すなわち、I/O処理のリソース使用表610B-2は、仮想計算機VM-A1を移動する以前の筐体8間の通信で使用するリソースが含まれているため、これを削除しておく。また、負荷検証部22は、シミュレーション表610B-2sを全リソース使用表210に保存する。
 次に、図9BのステップS14では、負荷検証部22が、仮想計算機VM-A1を移動した場合について、測定開始時刻t1から測定終了時刻t2までのCPU利用率を各時刻(リソース使用表のtime611B)毎に積算する。
 ある時刻tの物理計算機1-BのCPU利用率の予測値X(t)は、次のように行う。
 元の物理計算機1-Bの仮想計算機60が利用しているI/O処理を除くCPU利用率X1(t)を、物理計算機1-Bのリソース使用表640A-2から求める。
 元の物理計算機1-Bのサーバ仮想化部6Bが利用しているCPU利用率X2(t)を、物理計算機1-Bのリソース使用表640C-2から求める。
 仮想計算機VM-A1を削除した物理計算機1-BのI/O処理のリソース使用表610B-2からCPU利用率X3(t)を求める。
 最後に、仮想計算機VM-Bxのリソース使用率を示すシミュレーション表610B-2sからCPU利用率X4(t)を求める。
 そして、負荷検証部22は、測定開始時刻t1から測定終了時刻t2までの各時刻のCPU利用率の予測値X(t)を、
 X(t)=X1(t)+X2(t)+X3(t)+X4(t)
として求め、入出力部24に出力する。
 また、負荷検証部22は、仮想計算機VM-A1を移動する以前の物理計算機1-BのCPU利用率Xa(t)を次のように求める。負荷検証部22は、元の物理計算機1-Bのリソース使用表610B-2(仮想計算機VM-A1を削除する以前)からCPU利用率X5(t)を求める。そして、負荷検証部22は、測定開始時刻t1から測定終了時刻t2までの各時刻のCPU利用率Xa(t)を、
 Xa(t)=X1(t)+X2(t)+X3(t)+X5(t)
として求め、入出力部24に出力する。
 図9BのステップS15では、入出力部24が仮想計算機VM-A1を物理計算機1-Bへ移動した場合のCPU利用率の予測値X(t)と、移動前のCPU利用率Xa(t)をコンソール7に出力する。
 入出力部24の出力の結果、図8Aで示すように、仮想計算機VM-A1を移動する前の物理計算機1-BのCPU利用率Xa(t)が実線で表示され、仮想計算機VM-A1を移動した場合の物理計算機1-BのCPU利用率の予測値X(t)が破線で表示される。図8Aはコンソール7のディスプレイに出力された、CPU利用率の予測値X(t)と実測値のCPU利用率Xa(t)の画面イメージである。
 また、負荷検証部22が入出力部24に予め設定されたCPU利用率の閾値Th1をコンソール7に表示させ、破線の予測値X(t)が閾値Th1を超えていれば、この仮想計算機VM-A1を当該物理計算機1-Bへマイグレーションさせると、負荷が過大になると判定することができる。このため、仮想計算機VM-A1の物理計算機1-Bへのマイグレーションは不適切であると判定できる。
 一方、破線の予測値X(t)が閾値Th1以内であれば、この仮想計算機VM-A1を当該物理計算機1-Bへマイグレーションさせても負荷が過大になることはないと判定することができる。このため、仮想計算機VM-A1の物理計算機1-Bへのマイグレーションは適切であると判定できる。
 また、負荷検証部22が、予測値X(t)と実測値Xa(t)の差分を入出力部24へ出力した場合には、図8Bで示すように、CPU利用率の変動量を表示することができる。このとき、閾値Th1と同様に最大負荷を定めておき、CPU利用率の変動量が最大負荷を超える場合には、当該仮想計算機VM-A1を当該物理計算機1-Bへマイグレーションすることができない、と判定することができる。図8Bはコンソール7のディスプレイに出力された、CPU利用率の予測値X(t)と実測値のCPU利用率Xa(t)の差分の画面イメージである。
 なお、CNA利用率についても上記のCPU利用率と同様に閾値Th1と予測値X(t)を比較して、仮想計算機VM-A1のマイグレーションが可能であるか否かを事前に判定することが可能となる。
 図8A、図8Bの例では、CPU利用率の予測値X(t)が閾値Th1を越えるため、マイグレーションを実施すると物理計算機1-B上の他の仮想計算機60ないしは自仮想計算機VM-Bxに高負荷が生じることが分かるため、仮想計算機VM-A1のマイグレーションをすべきでないと判定できる。また、筐体8-B以外で同様の閾値Th1を越える予測値が生じた場合には、同様に「マイグレーションすべきでない」と判定することができる。また、入出力部24からコンソール7に出力したデータによって、コンソール7の利用者に判定を促す方法も考えられる。
 さらに、移動元となる筐体8-Aのプロセッサ100の利用率について考えると、筐体8-Aの物理計算機1-Aの全体負荷(元のリソース使用率を積み上げることで算出可能)に対して、
(1)移動元の仮想計算機VM-A1の負荷を引く(図4)
(2)移動元のVM-A1が発行したI/O処理の負荷を全て引く(図5Aの#1a, #3a~#9a)
(3)移動元の仮想計算機VM-A1が発行した処理負荷のうち、移動元のVM-A1に対するI/O処理が発生するものについては、移動後のI/O処理が行われた場合の負荷に置き換えた予測負荷を加える。この処理は当該仮想計算機VM-A1を移動する側の処理となるため、図5Bに示した#1b,#4b,#8bを上述と同様に負荷を置き換えたものを用いる。
 以上より、移動先の物理計算機1-Bと同様の処理を実現できる。さらに、筐体8-Cについても同様に、外部からの通信に対する負荷をリソース変換表220でリソース使用率を置換することで、仮想計算機VM-A1のマイグレーションした後の負荷を見積もることができる。
 このように、各物理計算機1の各仮想計算機60を所定の測定期間で実行してリソース使用表610A~610Cを各サーバ仮想化部6で生成する。管理計算機2では、これらのリソース使用表610A~610Cから、リソース変換表220を生成し、同一の物理計算機1上の仮想計算機間の通信コストと、他の物理計算機1間の通信コストをそれぞれ求める。
 そして、物理計算機1-Aの負荷測定で生成したI/O処理のリソース使用表610Bから、移動対象の仮想計算機VM-A1が送信元識別子または送信先識別子となっているエントリを抽出する。そして、リソース使用状況管理部21は抽出したエントリの送信元識別子と送信先識別子を移動先の物理計算機1-B上の仮想計算機VM-Bxに置き換える。この置き換え後のシミュレーション表610B-2sでCPU利用率615BとCNA利用率616Bをリソース変換表220を用いて演算する。
 このシミュレーション表610B-2sと物理計算機1-Bのリソース使用表610A、610B、610CのCPU利用率、CNA利用率を併せることで、仮想計算機VM-A1を移動後の物理計算機1-Bの負荷を正確に推定することができる。これにより、サービスを提供している他の仮想計算機に影響を与えることなく、移動対象の仮想計算機VM-A1を移動先の物理計算機1-B上で実行可能か否かを判定することができる。
 なお、上記では、筐体8全体に対する負荷について監視対象としたが、必要に応じて仮想計算機60も監視対象としてもよい。
 また、上記図9Aでは、同一時間における負荷でマイグレーション後の物理計算機1-Bの負荷を見積もったが、例えば、変動する負荷が異なるタイミングで発生する可能性に鑑みて、発生しうる最大負荷量を、移動先の物理計算機1-Bで過去に生じた負荷履歴に積み上げることで、図8A等で示したように閾値Th1を越えるか否かを判定してもよい。これにより、負荷発生のタイミングがずれている場合にも、マイグレーションすべきか否かの検証をすることが可能となる。
 なお、上記図8A、図8Bでは、同一時間における負荷量で見積もった例を示したが、例えば、変動する負荷量が違うタイミングで発生する可能性に鑑みて、発生しうる最大負荷量を、移動先で過去に生じた負荷履歴に積み上げることで、閾値を越えるか判断してもよい。これによって、タイミングがずれて負荷が生じた場合についても、検証することが可能となる。
 <第2実施形態>
 図10は、本発明の第2の実施形態を示し、仮想計算機システムのブロック図である。図10では、ダミーの仮想計算機を物理計算機1-Bで実行して、前記第1実施形態と同様に、仮想計算機VM-A1のマイグレーション先となる物理計算機1-Bに負荷をかける例を示す。その他の構成は、前記第1実施形態と同様である。
 前記第1実施形態においては、負荷検証部22によってマイグレーションを実施した後の負荷の推定値X(t)を求めて、推定値が閾値Th1を超えるとマイグレーションを実施不可能と判定する例を示した。
 本第2実施形態では、閾値Th1に加えて、マイグレーションを確実に実施可能な閾値Th2を設定し、閾値Th2を越えない場合はマイグレーション可能と判定するとともに閾値Th1を越えた場合には不可能と判定する。なお、閾値Th1は、例えばCPU利用率=90%等に設定され、閾値Th2は、例えばCPU利用率=10%等に設定され、物理計算機1のプロセッサ100の利用率が閾値Th2以下であれば、物理計算機1-Aの確実に仮想計算機VM-A1のマイグレーションを行うことができる、と判定できる。
 一方、閾値Th1>推定値X(t)>閾値Th2となるような負荷の場合には、移動先の物理計算機1-B上にダミーの仮想計算機60(以下、ダミーVM-D1、ダミーVM-D2とする)及び、移動元の仮想計算機VM-A1及び移動先の物理計算機1-Bとは異なる物理計算機1-C上にダミーの仮想計算機60-2(ダミーVM-C2)を実行させる。あるいは、ダミーのアプリケーションAP-D3を管理計算機2で実行させる。そして、それぞれのダミーVMあるいはアプリケーションAP-D3が以下のような処理を行うことで、実際に筐体8-Bの物理計算機1-Bに負荷を掛ける。なお、負荷をかけるためのアプリケーションAP-D3は、物理計算機1-C上の仮想計算機60で実行しても良い。
 このため、前記第1実施形態の図9Aの処理で、各物理計算機1-A~1-Cのリソース使用表610A~610-Cを生成して、管理計算機2のリソース使用状況管理部21の全リソース使用表210に格納した後に、本第2実施形態を実行することを前提とする。つまり、移動元の仮想計算機VM-A1のCPU利用率とI/O処理の送信元と送信先及びデータサイズを、実際の処理の履歴として保持し、本第2実施形態で再生する。
 物理計算機1-Bには、サーバ運用管理プログラム20の指令によってサーバ仮想化部6-Bが、図2に示したリソースプール(または余剰リソース)にダミーVM-D1、ダミーVM-D2を生成する。図11は、物理計算機1-BのダミーVM-D1及びダミーVM-D2の詳細を示すブロック図である。
 ダミーVM-D1とダミーVM-D2は、図11で示すように、物理計算機1-Bに負荷をかけるダミーのアプリケーションAP-D1とAP-D2をそれぞれ実行する。ダミーのアプリケーションAP-D1とAP-D2は、負荷の履歴を再現するためのリソース使用再生表50と、リソース使用再生表50を生成する負荷再生部51をそれぞれ有する。負荷再生部51は、リソース使用表変換部511と、CPU負荷再生部512と、I/O処理再生部513から構成される。
 負荷再生部51のリソース使用量変換部511は、リソース使用表610A~610Cをサーバ仮想化部6-Bまたは管理計算機2のリソース使用状況管理部21の全リソース使用表210から、移動元の仮想計算機VM-A1のI/O処理を含むリソース使用表を取得する。リソース使用量変換部511は、仮想計算機VM-A1が送信元となるI/O処理をリソース使用表から抽出し、発行先及び発行元の情報を変換し、リソース使用再生表50として保持する。
 各ダミーアプリケーションAP-D1、AP-D2のリソース使用再生表50は、リソース使用量変換部511によって変換生成される表である。リソース使用再生表50の内容に基づいて、CPU負荷再生部512及びI/O処理再生部513の送信処理を実行する。
 負荷再生部51を構成するCPU負荷再生部512は、リソース使用再生表50に記載されるCPU負荷を生成する。生成方法はどのような形であってもよく、例えば、ループ演算を実行するなどの単純な方法でもよい。
 負荷再生部51を構成するI/O処理再生部513は、リソース使用再生表50に基づいて、送信先に指定されたダミーVM-D2またはダミーアプリケーションAP-D3あるいはDisk(ストレージ装置)装置4などに定められたデータサイズのI/O処理を行う。データの内容については、ダミーデータであってもよい。一方、他のダミーVMが再生したI/O処理を受信する必要がある場合には、I/O処理再生部513で受信処理を実施することも含む。
 次に、ダミーVM-D1で実行されるダミーアプリケーションAP-D1は、移動元の仮想計算機VM-A1に相当する負荷を生成する。負荷の発生には、移動元のサーバ仮想化部6-Aのリソース監視部61、あるいは管理計算機2の全リソース使用表210からリソース使用表610A~610Cを取得し、I/O処理のリソース使用表610Bに基づいてダミーアプリケーションAP-D1がI/O処理に関する負荷を発生する。
 ダミーアプリケーションAP-D1の負荷再生部51が利用するのは、前記第1実施形態の図9Aの処理で生成した図4に示した物理計算機1-A(筐体8-A)で仮想計算機VM-A1が使用したCPU利用率613Aを含むリソース使用表610Aと、図5Aのリソース使用表610Bのうち仮想計算機VM-A1が発行したI/O処理のデータ(こちらはリソース使用のデータは利用しない)である。
 ダミーアプリケーションAP-D1では、図4に示したリソース使用表610AのCPU利用率613Aと同様の負荷を図4のtime612Aと同様のタイミングで発生させる。そして、ダミーアプリケーションAP-D1のI/O処理については、図12Aに示すように、移動元の仮想計算機VM-A1が送信元となるI/O処理の通信先とデータサイズを上記取得したリソース使用表610Bから抽出し、リソース使用再生表50として保持する。
 図12Aは、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-A1のI/O処理をダミーアプリケーションAP-D1の負荷再生部51が抽出したダミーVM-D1のリソース使用再生表50の一例を示す図である。リソース使用再生表50は、時刻を格納するtime501と、送信元の仮想計算機60の識別子を格納する送信元識別子502と、送信先の仮想計算機60または装置の識別子を格納する送信先識別子503と、データサイズ504から構成される。前記第1実施形態のCPU利用率やCNA利用率は、リソース使用表610Bから読み込まない。
 物理計算機1-BのダミーVM-D1で実行されるダミーアプリケーションAP-D1のリソース使用表変換部511が、図9Aの処理で測定された物理計算機1-AのCPU利用率とI/O処理についてリソース使用表610A、610Bを取得する。ダミーアプリケーションAP-D1の負荷再生部51では、仮想計算機VM-A1に関するCPU利用率のリソース使用表610Aについてはそのままリソース使用再生表50に格納する。
 ダミーアプリケーションAP-D1の負荷再生部51では、I/O処理のリソース使用表610Bから送信元識別子が移動対象の仮想計算機VM-A1のエントリを抽出してリソース使用再生表50として保持する。このとき、ダミーアプリケーションAP-D1は、図12Aで示したリソース使用再生表50の送信元識別子502をダミーVM-D1に変換し、送信先識別子503の仮想計算機VM-Bxに関する送信先をダミーVM-D2に変換する。ダミーアプリケーションAP-D1は、図12Aで示した送信先識別子503の仮想計算機VM-Cxに関する送信先をダミーVM-C2に変換する。
 つまり、負荷再生部51のリソース使用表変換部511では、移動対象の仮想計算機VM-A1を物理計算機1-Bへ移動させたときに、筐体8-AのVM-A1と、8-B間の通信を筐体8-B内の通信に変換し、筐体8-Aの他のVM-Axと、移動対象の仮想計算機VM-A1間の通信を、筐体8-B、8-C間の筐体外通信に変換する。なお、変換の結果は、I/O処理のリソース使用再生表50を更新しても良いし、識別子を読み替えるように設定してもよい。
 そして、ダミーアプリケーションAP-D1では、I/O処理再生部513が、図12Aのtime501のタイミングに基づいてI/O処理を再生する。ここで、I/O処理再生部513がI/O処理を実施(再生)する場合には、同一筐体(筐体8-B)内の仮想計算機60に対するI/O処理については、ダミーVM-D2に対してI/O処理を実施し、筐体外の仮想計算機60に対するI/O処理については、物理計算機1-CのダミーVM-C2または管理計算機2のダミーアプリケーションAP-D3に対して実施する。さらに、I/O処理再生部513がリソース使用再生表50に基づいて再生するI/O処理が、Disk(ストレージ装置4またはローカルストレージ装置120)への処理である場合には、同一Disk装置に対して処理を行う。このI/O処理は、仮想計算機VM-A1が保存したデータを破壊しないように実施する。一例をあげれば、Disk装置(ストレージ装置4またはローカルストレージ装置120)に対するI/O処理の再生がリードであればDisk装置のデータを直接読み込むなどしてもよいし、あるいはダミーデータを読み込んでもよい。一方で、Disk装置に対するI/O処理の再生がライトであれば、本来書くべきデータとは異なる場所に、すなわち予め設定したダミーの領域へデータを書き込むことでデータの上書きなどによる破壊を防ぐ。また、外部の仮想計算機からダミーVM-D1に対するIO処理については、データ受信を行う。
 ダミーVM-D2では、物理計算機1-AのI/O処理のリソース使用表610Bのうち、送信元識別子が物理計算機1-Bの仮想計算機VM-Bxを抽出してリソース使用再生表50として保持する。図12Bは、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-Bxが送信元のI/O処理を抽出したダミーVM-D2のリソース使用再生表50の一例を示す図である。
 ダミーVM-D2のI/O処理再生部513では、リソース使用再生表50のtime501のタイミングで、図中仮想計算機VM-B2に代わって4kBのデータをダミーVM-D1へ送信するI/O処理を再生する。
 物理計算機1-CのダミーVM-C2も、上記物理計算機1-BのダミーVM-D1と同様に構成される。ダミーVM-C2では、物理計算機1-AのI/O処理のリソース使用表610Bのうち、送信元識別子が物理計算機1-Aの移動元の仮想計算機VM-A1以外の仮想計算機VM-Axを抽出してリソース使用再生表50として保持する。図12Cは、物理計算機1-Aのリソース使用表610Bから仮想計算機VM-Axが送信元のI/O処理を抽出したダミーVM-C2のリソース使用再生表50の一例を示す図である。
 ダミーVM-C2のI/O処理再生部513では、リソース使用再生表50のtime501のタイミングで、図12Cの仮想計算機VM-A4に代わって512kBのデータをダミーVM-D1へ送信するI/O処理を再生する。
 次に、管理計算機2では、物理計算機1-BのダミーVM-D1でリソース使用の再生を開始すると次の処理を実行する。
 管理計算機2のリソース使用状況管理部21では、上記のダミーVM-D1、ダミーVM-D2が、仮想計算機VM-A1を物理計算機1-Bへ移動した後の負荷を再生している間の、負荷量(リソースの使用率)を監視する。また、リソース使用状況管理部21は、物理計算機1-Bのリソースの使用率の監視の結果について、入出力部24及びコンソール7を介してユーザにリソースの使用率などを提示する。
 管理計算機2の負荷検証部22は、上記物理計算機1-Bのリソース使用率の監視中に高負荷状態を示す閾値Th1を越えるかどうかを判定する。高負荷状態を示す閾値Th1を越えた場合には、ダミーVM-D1、VM-D2、VM-C2の処理を速やかに停止する。
 以上により、仮想計算機VM-A1の移動先の物理計算機1-BでダミーVM-D1、VM-D2を実行することで、物理計算機1-B上の他のVM(VM-B1)の提供する処理(サービス)に影響がでることを防ぐ。
 なお、ダミーVM-D1で行われるCPU負荷の発生については、上述したダミーVM-D1のダミーアプリケーションAP-D1として負荷を発生させる以外に、サーバ仮想化部6-Bの仮想化管理部に依頼して、リソース割当(スケジューリング)をダミーVM-D1に対して割当てるような方法で実現してもよい。
 図13は、本第2実施形態の処理の流れを示すフローチャートである。このフローチャートは、前記第1実施形態の図9Aの処理が完了した後に、管理計算機2のサーバ運用管理プログラム20と、仮想計算機VM-A1の移動先の物理計算機1-B上の仮想計算機60で行われる処理を示す。
 まず、ステップS20では、管理計算機2の負荷検証部22が、移動先の物理計算機1-BのCPU利用率が、上述した閾値Th1以下で、かつ閾値Th2以上であれば本処理を開始する。なお、物理計算機1-Aの仮想計算機VM-A1を物理計算機1-B上へマイグレーションする予定が生じたときに、予測される負荷(CPU利用率)にかかわらず本処理を開始することもできる。
 ステップS21では、管理計算機2の負荷検証部22が、仮想計算機VM-A1の移動先として選択された物理計算機1-B上のサーバ仮想化部6-Bに対して、ダミーVM-D1、ダミーVM-D2の生成と、ダミーアプリケーションAP-D1、AP-D2の起動を指令する。
 ステップS22では、負荷検証部22が、管理計算機2でダミーアプリケーションAP-D3を起動する。また、負荷検証部22は、物理計算機1-C上のサーバ仮想化部6-Cに対して、ダミーVM-C2の生成と、ダミーアプリケーションAP-C2の起動を指令する。
 ステップS23では、負荷検証部22がサーバ仮想化部6-B、6-CにダミーVM-D1、D2、C2とダミーアプリケーションAP-D1、D2、C2、D3の起動が完了したかを問い合わせる。ダミーアプリケーションAP-D1、D2、C2、D3の起動が完了すると、ステップS24の処理へ進む。
 ステップS24では、管理計算機2のリソース使用状況管理部21が、サーバ仮想化部6-Bのリソース監視部61から物理計算機1-BのCPU利用率を取得し、負荷検証部22が取得したCPU利用率を監視する。
 ステップS25では、負荷検証部22が監視している物理計算機1-BのCPU利用率が高負荷を示す閾値Th1を超えたか否かを判定する。CPU利用率が高負荷を示す閾値Th1を超えた場合には、ステップS27へ進み、閾値Th1以下の場合にはステップS26へ進む。
 ステップS27では、負荷検証部22が物理計算機1-B上のサーバ仮想化部6-Bに対してダミーVM-D1及びダミーVM-D2を停止させる。また、負荷検証部22は、サーバ仮想化部6-Cに対してもダミーVM-C2の停止を指令する。また、負荷検証部22は、管理計算機2のダミーアプリケーションAP-D3を停止する。その後、管理計算機2は処理を終了する。
 一方、ステップS26では、負荷検証部22が全てのダミーVM-D1、VM-D2,VM-C2から処理の完了通知を受信して、全ての再生処理が完了したか否かを判定する。全ての再生処理が完了するまで、ステップS25の判定処理を繰り返す。そして、負荷検証部22は、全てのダミーVM-D1、VM-D2,VM-C2から処理の完了通知を受信するとステップS28へ進んで、物理計算機1-Bの監視を終了する。監視の終了に際して、負荷検証部22はリソース使用状況管理部21が取得した仮想計算機VM-A1の移動先となる物理計算機1-Bのプロセッサ100のCPU利用率の履歴を、入出力部24を介してコンソール7へ出力しても良い。
 ステップS29では、負荷検証部22はサーバ仮想化部6-B、6-Cに対してダミーVM-D1、VM-D2、VM-C2の停止と削除を通知する。また、負荷検証部22は管理計算機2のダミーアプリケーションAP-D3を停止させてから、処理を終了する。
 一方、管理計算機2の負荷検証部22の指令によって生成されたダミーVM-D1の処理はステップS31~S38のようになる。ダミーアプリケーションAP-D1、AP-D2、AP-C2は何れも同様の処理を行う。このため、ダミーアプリケーションAP-D1の説明のみを行い、他のダミーアプリケーションAP-D1、C2の説明を省略する。
 まず、ステップS31では、物理計算機1-BのダミーVM-D1で実行されるダミーアプリケーションAP-D1のリソース使用表変換部511が、図9Aの処理で物理計算機1-AのCPU利用率とI/O処理についてリソース使用表610A、610Bを取得する。ダミーアプリケーションAP-D1の負荷再生部51では、仮想計算機VM-A1に関するCPU利用率のリソース使用表610Aについてはそのままリソース使用再生表50に格納する。
 ステップS32では、ダミーアプリケーションAP-D1が、I/O処理のリソース使用表610Bから送信元識別子が移動対象の仮想計算機VM-A1のエントリを抽出してリソース使用再生表50として保持する。このとき、ダミーアプリケーションAP-D1は、図12Aで示したリソース使用再生表50の送信元識別子502をダミーVM-D1に変換し、送信先識別子503の仮想計算機VM-Bxに関する送信先をダミーVM-D2に変換する。ダミーアプリケーションAP-D1は、図12Aで示した送信先識別子503の仮想計算機VM-Cxに関する送信先をダミーVM-C2に変換する。
 そして、ステップS33では、上記送信元識別子502と送信先識別子503を変換した表を、リソース使用再生表50として格納する。
 次に、ステップS34では、リソース使用再生表50の格納が完了して再生の準備が完了すると、管理計算機2の負荷検証部22へ起動が完了した通知を送信する。そして、ダミーアプリケーションAP-D1は、ステップS35に進んで、リソース使用再生表50を再生して、ダミーアプリケーションAP-D1、AP-D2で仮想計算機VM-A1を物理計算機1-Bで実行した状況を再生する。ステップS35では、負荷再生部51のCPU負荷再生部512が、リソース使用再生表50に格納した仮想計算機VM-A1のCPU利用率を再生し、負荷再生部51のI/O処理再生部513が、リソース使用再生表50に格納した仮想計算機VM-A1のI/O処理を再生する。この再生の期間中、物理計算機1-Bのリソース監視部61が、管理計算機2のリソース使用状況管理部21へプロセッサ100のCPU利用率を通知する。
 ステップS36では、管理計算機2の負荷検証部22からダミーアプリケーションAP-D1の停止の指令を受信したか否かを判定する。ダミーアプリケーションAP-D1は、管理計算機2から停止の指令を受信した場合には、処理を終了する。
 一方、管理計算機2から停止の指令を受信していない場合は、ステップS37で負荷再生部51がリソース使用再生表50の再生を完了したか否かを判定する。ステップS37の判定で、再生が完了していなければステップS35へ戻って再生処理を繰り返す。一方、ダミーアプリケーションAP-D1は、リソース使用再生表50の全てについて負荷の再生処理が完了すると、ステップS38へ進んで再生処理の完了を管理計算機2へ通知する。
 以上の処理により、物理計算機1-Bでは、移動対象の物理計算機1-Aの仮想計算機VM-A1を移動させた後と同様の負荷とリソース使用率をダミーVM-D1及びダミーアプリケーションAP-D1により発生させる。ダミーVM-D1上のダミーアプリケーションAP-D1は、物理計算機1-Aで測定したCPU利用率と、I/O処理を物理計算機1-B上で再生する。この再生期間中、管理計算機2の負荷検証部22が物理計算機1-BのCPU利用率を監視して、CPU利用率が閾値Th1を超えると即座にダミーアプリケーションAP-D1、AP-D2を停止させて、物理計算機1-B上の他の仮想計算機VM-Bxに影響を与えるのを防ぐことができる。
 また、ダミーアプリケーションAP-D1の負荷再生部51では、物理計算機1-Aの負荷測定で生成したI/O処理のリソース使用表610Bから、移動対象の仮想計算機VM-A1が送信元識別子となっているエントリを抽出する。そして、負荷再生部51は抽出したエントリの送信元識別子と送信先識別子をダミーVM-D1、VM-D2、VM-C2に置き換えることで、サービスを提供している他の仮想計算機に影響を与えることなく、移動対象の仮想計算機VM-A1を実行可能か否かを判定することができる。
 なお、上記ではCPU利用率について述べたが、物理I/Oデバイス130BとしてのCNAの利用率について適用することができる。
 図14は、上記第2の実施形態における物理計算機1-Bの負荷の再生をコンソール7のディスプレイに表示した画面イメージである。
 図14で、点線はダミーVM-D1を用いて負荷の再生を検証した負荷データである。また、図14で実践は、ダミーVM-D1、D2を稼動させていないときの負荷を示す。図中時刻t3では、物理計算機1-BのCPU利用率が閾値Th1を超えるため、ダミーVM-D1のダミーアプリケーションAP-D1が停止されたことを示す。
 図15は、上記第2の実施形態における物理計算機1-Bの負荷の再生を徐々に行う世にした場合にコンソール7のディスプレイに表示した画面イメージである。
 ダミーアプリケーションAP-D1で負荷の再生処理を行う場合に、CPU負荷再生と、I/O処理の再生をリソース使用再生表50のまま行うのではなく、一定の割合ずつ段階的に再生する。
 移動元の仮想計算機VM-A1を物理計算機1-Bへ移動することで生じる負荷の予測値が、閾値Th1の近傍であるような場合は、実際にシミュレーション(再生)したことで同一筐体8-B内の仮想計算機60の負荷が高負荷状態となりサービス停止を招く可能性が高い。そのため、段階的に負荷をかけることで、各仮想計算機VM-BxとVM-D1の挙動を確認しながら再生を実施することができる。
 物理計算機1-Bへ段階的に負荷をかける一例としては、リソース使用再生表50の処理量(CPU利用率)に一定の割合を乗算して行う方法がある。そのほかに、測定したリソース使用表610A、610Bでもっとも高いCPU利用率及び、最も大きいI/O処理量に一定割合を乗じた負荷(均一な負荷)を実施することが考えられる。これらはどれであってもよい。
 また、上記各実施形態では、物理計算機1のリソースの使用量として、CPU利用率やCNA利用率を用いる例を示したが、物理計算機1の負荷を示す値をリソースの使用量として用いることができる。物理計算機1の負荷を示す値としては、動作クロックや動作電圧を動的に変更可能なプロセッサ100を用いた物理計算機1では、動作クロックや動作電圧を物理計算機1の負荷を示す値として用いることができる。あるいは、動作するコアを動的に変更可能なマルチコアのプロセッサ100を用いた物理計算機1では、動作するコアの数や、休止または停止するコアの数を物理計算機1の負荷を示す値として用いることができる。
 本発明は、仮想計算機でサービスを提供し、仮想計算機のマイグレーションを行う仮想計算機システムに適用することができ、特に、複数の物理計算機で複数の仮想マシンを割り当てる管理計算機に適用することができる。

Claims (12)

  1.  プロセッサとメモリをそれぞれ備えた複数の物理計算機と、前記物理計算機で実行されて計算機資源を1つ以上の仮想計算機に割り当てる仮想化部と、前記仮想化部を管理して前記仮想計算機を物理計算機間で移動させる管理計算機と、を備えた仮想計算機システムで、前記管理計算機が前記仮想計算機を移動させる物理計算機の評価を行う仮想計算機のマイグレーション評価方法であって、
     前記管理計算機が、複数の仮想計算機から移動対象の第1の仮想計算機を選択し、当該第1の仮想計算機が稼動する第1の物理計算機から当該第1の仮想計算機を移動させる第2の物理計算機を選択する第1のステップと、
     前記管理計算機が、前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源を測定し、前記第1の仮想計算機の通信先を第1の通信先として特定する第2のステップと、
     前記管理計算機が、前記特定された第1の仮想計算機の第1の通信先を、前記移動先の第2の物理計算機上での通信先に変換して第2の通信先として設定する第3のステップと、
     前記管理計算機が、前記第1の仮想計算機を前記第2の物理計算機で稼動させた場合に、前記第1の仮想計算機が前記第2の通信先と通信を行うときに当該第2の物理計算機で使用される計算器資源を演算する第4のステップと、
     を含むことを特徴とする仮想計算機のマイグレーション評価方法。
  2.  請求項1に記載の仮想計算機のマイグレーション評価方法であって、
     前記第4のステップは、
     前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源と前記第1の通信先から、前記各物理計算機内の通信コストと前記各物理計算機間の通信コストを演算する第5のステップと、
     前記演算された前記各物理計算機内の通信コストと前記各物理計算機間の通信コストから、前記第2の物理計算機で前記第1の仮想計算機が通信する前記第2の通信先への通信コストを演算し、当該通信コストから第2の物理計算機で使用される計算器資源の量を演算する第6のステップと、
    を含むことを特徴とする仮想計算機のマイグレーション評価方法。
  3.  請求項1に記載の仮想計算機のマイグレーション評価方法であって、
     前記第4のステップは、
     前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源から第1の仮想計算機が利用する第1の計算器資源を取得し、前記第2の通信先として前記第2の物理計算機と第3の物理計算機を設定する第7のステップと、
     前記第2の物理計算機で、前記第1の計算器資源を使用する第1のダミーの仮想計算機を稼動させる第8のステップと、
     前記第2の物理計算機で、前記第1のダミーの仮想計算機と通信する第2のダミーの仮想計算機を稼動させる第9のステップと、
     前記第3の物理計算機で、前記第1のダミーの仮想計算機と通信する第3のダミーの仮想計算機を稼動させる第10のステップと、
     前記第2の物理計算機で使用される計算機資源の量を演算する第11のステップと、
    を含むことを特徴とする仮想計算機のマイグレーション評価方法。
  4.  請求項2に記載の仮想計算機のマイグレーション評価方法であって、
     前記管理計算機が、前記第6のステップで演算された第2の物理計算機で使用される計算器資源の量と所定の閾値を比較して、第2の物理計算機で使用される計算器資源の量が閾値以下であれば前記第1の仮想計算機のマイグレーション先として第2の物理計算機が適切であると判定する第12のステップを、さらに含むことを特徴とする仮想計算機のマイグレーション評価方法。
  5.  請求項3に記載の仮想計算機のマイグレーション評価方法であって、
     前記管理計算機が、前記第12のステップで演算された第2の物理計算機で使用される計算器資源の量と所定の閾値を比較して、第2の物理計算機で使用される計算器資源の量が閾値を超えたときに、前記第1のダミーの仮想計算機及び第2のダミーの仮想計算機を停止させる第13のステップを、さらに含むことを特徴とする仮想計算機のマイグレーション評価方法。
  6.  請求項1に記載の仮想計算機のマイグレーション評価方法であって、
     前記物理計算機は、他の物理計算機と通信を行うI/Oデバイスを備え、
     前記仮想化部は、前記第1の仮想計算機が他の物理計算機の仮想計算機と通信を行うときにのみ前記I/Oデバイスを介して通信を行うことを特徴とする仮想計算機のマイグレーション評価方法。
  7.  プロセッサとメモリをそれぞれ備えた複数の物理計算機と、
     前記物理計算機で実行されて計算機資源を1つ以上の仮想計算機に割り当てる仮想化部と、
     前記仮想化部を管理して前記仮想計算機を物理計算機間で移動させる管理計算機と、を備えた仮想計算機システムであって、
     前記管理計算機は、
     前記複数の仮想計算機から移動対象の第1の仮想計算機を選択し、当該第1の仮想計算機が稼動する第1の物理計算機から当該第1の仮想計算機を移動させる第2の物理計算機を選択するマイグレーション制御部と、
     前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源を測定し、前記第1の仮想計算機の通信先を第1の通信先として特定するリソース使用状況管理部と、を備え、
     前記リソース使用状況管理部は、
     前記特定された第1の仮想計算機の第1の通信先を、前記移動先の第2の物理計算機上での通信先に変換して第2の通信先として設定し、前記第1の仮想計算機を前記第2の物理計算機で稼動させた場合に、前記第1の仮想計算機が前記第2の通信先と通信を行うときに当該第2の物理計算機で使用される計算器資源を演算することを特徴とする仮想計算機システム。
  8.  請求項7に記載の仮想計算機システムであって、
     前記リソース使用状況管理部は、
     前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源と前記第1の通信先から、前記各物理計算機内の通信コストと前記各物理計算機間の通信コストを演算してリソース変換情報を設定し、前記リソース変換情報から、前記第2の物理計算機で前記第1の仮想計算機が通信する前記第2の通信先への通信コストを演算し、当該通信コストから第2の物理計算機で使用される計算器資源の量を演算することを特徴とする仮想計算機システム。
  9.  請求項7に記載の仮想計算機システムであって、
     前記管理計算機は、
     前記物理計算機にダミーの仮想計算機を実行させる負荷検証部をさらに有し、
     前記リソース使用状況管理部は、
     前記仮想計算機を稼働させて前記物理計算機で使用された計算器資源から第1の仮想計算機が利用する第1の計算器資源を取得し、前記第2の通信先として前記第2の物理計算機と第3の物理計算機を設定し、
     前記負荷検証部は、
     前記第2の物理計算機で、前記第1の計算器資源を使用する第1のダミーの仮想計算機を稼動させ、前記第2の物理計算機で、前記第1のダミーの仮想計算機と通信する第2のダミーの仮想計算機を稼動させ、前記第3の物理計算機で、前記第1のダミーの仮想計算機と通信する第3のダミーの仮想計算機を稼動させ、前記第2の物理計算機で使用される計算機資源の量を演算することを特徴とする仮想計算機システム。
  10.  請求項8に記載の仮想計算機システムであって、
     前記管理計算機は、
     前記リソース使用状況管理部が演算した第2の物理計算機で使用される計算器資源の量と所定の閾値を比較して、第2の物理計算機で使用される計算器資源の量が閾値以下であれば前記第1の仮想計算機のマイグレーション先として第2の物理計算機が適切であると判定する負荷検証部をさらに有することを特徴とする仮想計算機システム。
  11.  請求項9に記載の仮想計算機システムであって、
     前記負荷検証部は、
     前記第2の物理計算機で使用される計算器資源の量と所定の閾値を比較して、第2の物理計算機で使用される計算器資源の量が閾値を超えたときに、前記第1のダミーの仮想計算機及び第2のダミーの仮想計算機を停止させることを特徴とする仮想計算機システム。
  12.  請求項7に記載の仮想計算機システムであって、
     前記物理計算機は、他の物理計算機と通信を行うI/Oデバイスを備え、
     前記仮想化部は、前記第1の仮想計算機が他の物理計算機の仮想計算機と通信を行うときにのみ前記I/Oデバイスを介して通信を行うことを特徴とする仮想計算機システム。
PCT/JP2011/055514 2011-03-09 2011-03-09 仮想計算機のマイグレーション評価方法及び仮想計算機システム WO2012120664A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2011/055514 WO2012120664A1 (ja) 2011-03-09 2011-03-09 仮想計算機のマイグレーション評価方法及び仮想計算機システム
JP2013503292A JP5577453B2 (ja) 2011-03-09 2011-03-09 仮想計算機のマイグレーション評価方法及び仮想計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/055514 WO2012120664A1 (ja) 2011-03-09 2011-03-09 仮想計算機のマイグレーション評価方法及び仮想計算機システム

Publications (1)

Publication Number Publication Date
WO2012120664A1 true WO2012120664A1 (ja) 2012-09-13

Family

ID=46797665

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/055514 WO2012120664A1 (ja) 2011-03-09 2011-03-09 仮想計算機のマイグレーション評価方法及び仮想計算機システム

Country Status (2)

Country Link
JP (1) JP5577453B2 (ja)
WO (1) WO2012120664A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038459A (ja) * 2012-08-15 2014-02-27 Toshiba Corp 仮想os制御装置、システム、方法およびプログラム
CN104216782A (zh) * 2014-08-19 2014-12-17 东南大学 高性能计算和云计算混合环境中的动态资源管理方法
CN104331326A (zh) * 2014-11-25 2015-02-04 华南师范大学 一种云计算调度方法和系统
JP2015106286A (ja) * 2013-11-29 2015-06-08 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN105432040A (zh) * 2013-07-29 2016-03-23 阿尔卡特朗讯公司 分布式云中的工作负载迁移下的基于属性的sla保证
WO2017141363A1 (ja) * 2016-02-17 2017-08-24 株式会社日立製作所 データ処理システム及びデータ処理方法
US9886300B2 (en) 2015-03-24 2018-02-06 Fujitsu Limited Information processing system, managing device, and computer readable medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301795A (ja) * 1997-04-28 1998-11-13 Hitachi Ltd 仮想計算機システム
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2009134687A (ja) * 2007-11-29 2009-06-18 Hitachi Ltd アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001]
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301795A (ja) * 1997-04-28 1998-11-13 Hitachi Ltd 仮想計算機システム
JP2008217302A (ja) * 2007-03-02 2008-09-18 Nec Corp 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
JP2009134687A (ja) * 2007-11-29 2009-06-18 Hitachi Ltd アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001]
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038459A (ja) * 2012-08-15 2014-02-27 Toshiba Corp 仮想os制御装置、システム、方法およびプログラム
CN105432040A (zh) * 2013-07-29 2016-03-23 阿尔卡特朗讯公司 分布式云中的工作负载迁移下的基于属性的sla保证
JP2016525757A (ja) * 2013-07-29 2016-08-25 アルカテル−ルーセント 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
JP2018198068A (ja) * 2013-07-29 2018-12-13 アルカテル−ルーセント 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
JP2015106286A (ja) * 2013-11-29 2015-06-08 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN104216782A (zh) * 2014-08-19 2014-12-17 东南大学 高性能计算和云计算混合环境中的动态资源管理方法
CN104331326A (zh) * 2014-11-25 2015-02-04 华南师范大学 一种云计算调度方法和系统
US9886300B2 (en) 2015-03-24 2018-02-06 Fujitsu Limited Information processing system, managing device, and computer readable medium
WO2017141363A1 (ja) * 2016-02-17 2017-08-24 株式会社日立製作所 データ処理システム及びデータ処理方法
JP6227841B1 (ja) * 2016-02-17 2017-11-08 株式会社日立製作所 データ処理システム及びデータ処理方法

Also Published As

Publication number Publication date
JPWO2012120664A1 (ja) 2014-07-07
JP5577453B2 (ja) 2014-08-20

Similar Documents

Publication Publication Date Title
JP5577453B2 (ja) 仮想計算機のマイグレーション評価方法及び仮想計算機システム
US10587682B2 (en) Resource allocation diagnosis on distributed computer systems
US10929165B2 (en) System and method for memory resizing in a virtual computing environment
JP6005795B2 (ja) 仮想マシンの信頼性のある決定論的ライブ移行
JP4438807B2 (ja) 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US9807170B2 (en) Storage management calculator, and storage management method
US11561836B2 (en) Optimizing distribution of heterogeneous software process workloads
US20130111035A1 (en) Cloud optimization using workload analysis
Nathan et al. Resource availability based performance benchmarking of virtual machine migrations
WO2012066604A1 (en) Server system and method for managing the same
WO2011105091A1 (ja) 制御装置、管理装置、制御装置のデータ処理方法、およびプログラム
WO2011155233A1 (ja) クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US20200019230A1 (en) Managing power consumptions of multiple computing nodes in a hyper-converged computing system
US20160156567A1 (en) Allocation method of a computer resource and computer system
TW201347459A (zh) 管理方法及其系統
US10002173B1 (en) System and methods for dynamically adjusting between asynchronous and synchronous data replication policies in a networked virtualization environment
JP7176633B2 (ja) 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム
US11892911B2 (en) System and method for reconfiguring configuration parameters of virtual objects during recovery
Dhule et al. POF-SVLM: pareto optimized framework for seamless VM live migration
JP2013127685A (ja) 情報処理システムおよび運用管理方法
Kherbache et al. Planning live-migrations to prepare servers for maintenance
US11507425B2 (en) Compute instance provisioning based on usage of physical and virtual components
KR101394365B1 (ko) 가상화 환경에서 프로세서를 할당하는 장치 및 방법
JP2010026828A (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: 11860525

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013503292

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

Country of ref document: EP

Kind code of ref document: A1