WO2012053393A1 - 仮想計算機を配置する方法及び装置 - Google Patents
仮想計算機を配置する方法及び装置 Download PDFInfo
- Publication number
- WO2012053393A1 WO2012053393A1 PCT/JP2011/073332 JP2011073332W WO2012053393A1 WO 2012053393 A1 WO2012053393 A1 WO 2012053393A1 JP 2011073332 W JP2011073332 W JP 2011073332W WO 2012053393 A1 WO2012053393 A1 WO 2012053393A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- virtual machine
- virtual
- computer
- resource
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 12
- 230000007812 deficiency Effects 0.000 claims abstract description 3
- 238000011156 evaluation Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 230000002123 temporal effect Effects 0.000 abstract 2
- 230000006870 function Effects 0.000 description 22
- 238000012544 monitoring process Methods 0.000 description 18
- 230000008707 rearrangement Effects 0.000 description 17
- 230000008859 change Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Definitions
- the present invention relates to a technology for arranging virtual machines.
- VMs virtual machines
- the virtualization software absorbs the hardware characteristics, the VM does not depend on the hardware characteristics of the computer, and movement between the VM hardware is easy.
- a computer that operates a plurality of VMs by executing virtualization software is simply referred to as a “server”.
- OS operating system
- an appropriateness is prepared in which the VM types of the combination are arranged on the same server. Based on the score for each combination of VM types, for each server that can place a new VM, the appropriateness (index value) for placing the new VM on the server is calculated. Based on the calculated index value, a new VM placement destination server is determined.
- the hardware resources required by the virtual desktop may change abruptly. Therefore, in order to always provide comfortable performance for each VM when deploying VMs to the server, it is necessary to implement a layout with a considerable margin compared to the case of virtualizing business servers. . However, this is a waste of server resources.
- an object of the present invention is to arrange VMs so that hardware resources of a physical computer (for example, a server) do not become excessive or insufficient as much as possible.
- a VM placement device that places multiple virtual machines (VMs) on multiple physical computers is constructed.
- the VM placement device stores VM load information, which is information representing the VM resource load value in each of a plurality of time intervals for each VM. Based on the VM load information, the VM placement device selects two or more VMs having the largest difference in resource load value for each time interval, and places the selected two or more VMs on the same physical computer.
- the VM type placed by this VM placement device may be any type.
- This VM placement apparatus is suitable for placement of a type of virtual machine in which required hardware resources may change rapidly, such as a virtual machine used as a virtual desktop.
- VMs can be arranged so that hardware resources of a physical computer do not become excessive or insufficient as much as possible.
- FIG. 1 shows a configuration example of an entire system including a VM placement apparatus according to Embodiment 1 of the present invention.
- the structural example of pattern DB201 is shown.
- positioning evaluation result DB114 is shown.
- the structural example of the management part 118 is shown.
- positioning result DB117 is shown.
- 3 is a flowchart illustrating an example of the overall flow of processing performed in the first embodiment. It is a sequence diagram showing an example of a detailed flow of step 402 and step 403. It is a flowchart which shows an example of the detailed flow of step 504 of FIG.
- FIG. 9 is a flowchart showing an example of a detailed flow of step 602 in FIG.
- step 405 of FIG. 10 shows a configuration example of the entire system including a VM placement device according to a second exemplary embodiment of the present invention.
- positioning apparatus 907 is shown.
- the structural example of VM detailed information DB1006 is shown.
- 12 is a flowchart illustrating an example of the overall flow of processing performed in the second embodiment. It is a sequence diagram which shows an example of the detailed flow of step 1103 of FIG. It is a sequence diagram which shows an example of the detailed flow of step 1104 of FIG.
- DB is an abbreviation of “database”
- DB is an abbreviation of “database”
- xxx information various types of information may be described in terms of “xxxDB” and “xxx list” (DB is an abbreviation of “database”), but various types of information are expressed in data structures other than DBs and lists. May be. In order to show that it does not depend on the data structure, “xxxDB” or “xxx list” can be referred to as “xxx information”.
- a name is used to specify an element, but an ID or a number may be used as identification information instead of the name.
- a function or program
- a storage resource for example, a memory
- a communication interface device for example, a communication port
- the processor may include a hardware circuit that performs part or all of the processing performed by the processor.
- the computer program may be installed on each computer from a program source.
- the program source may be, for example, a program distribution server or a storage medium.
- This example relates to an example of an arrangement method that takes into account a change in the resource utilization rate of a VM over time.
- a virtual machine used as a virtual desktop is described as “VM”, and each of a plurality of VMs may be indicated as “VM #” (# is a, b,... Lowercase alphabet).
- FIG. 1 shows a configuration example of the entire system including a VM placement device according to the first embodiment of the present invention.
- VMs can be generated, arranged, and operated in accordance with a request from an administrator who operates the management terminal 105.
- a user of a client computer (hereinafter referred to as a client) 171 can remotely connect to the VM on the data center 100 in a so-called screen transfer type thin client and use the VM.
- the data center 100 is a corporate data center, which includes a platform for centrally managing virtual desktops. In this embodiment, one VM becomes one virtual desktop.
- the client 171 may access the VM via the LAN 172. Instead of the LAN 172, another type of communication network may be employed.
- the data center 100 includes a server group including a server 103 and a server 104, a VM placement apparatus 101 having a function of placing a VM on the server, and a management terminal having a function of operating the VM placement apparatus 101 There are 105.
- Each server, the VM placement apparatus 101, and the management terminal 105 are connected to a LAN (Local Area Network) 102.
- LAN Local Area Network
- another type of communication network may be employed.
- the server will be described by taking the server 103 as an example.
- the server 103 includes a communication interface device (for example, NIC (Network Interface Card)), a storage resource (for example, memory and HDD (Hard Disk Drive)), and a CPU connected to them.
- the storage resource stores virtualization software 131 that is software having a virtualization function, and the CPU executes the virtualization software 131.
- virtualization software 131 On the virtualization software 131, one or a plurality of VMs, for example, VMa 133 and VMb 134 are arranged.
- the local storage device 132 includes a VDa (virtual disk file a) 135 that is an image of a virtual storage resource (for example, a virtual HDD) of the VMa 133 and a VDb that is an image of a virtual storage resource (for example, a virtual HDD) of the VMb 134.
- VDa virtual disk file a
- VDb virtual storage resource
- the VMa 133 (VMb 134) refers to and / or changes the VDa 135 (VDb 136) via the virtualization software 131 when operating.
- the virtualization software 131 receives a command from a device external to the server 103 having the software 131 (for example, another server or the VM placement device 101), and creates, starts, stops, or stops the VM according to the command. It has a function to execute migration (migration of a VM from one server to another).
- the virtualization software 131 uses the VM operating on the software 131 and the resource usage status of the server 103 having the software 131 (CPU usage rate, memory usage rate, HDD usage rate, and network bandwidth used) At least one of them).
- each server other than the server 103 in the server group are substantially the same as the configuration and functions of the server 103.
- the hardware resource performance for example, CPU processing performance
- the VM placement device 101 generates and places a VM on a server in the server group.
- the VM placement device 101 is, for example, one or more computers, and includes a communication interface device (for example, NIC (Network Interface Card)), storage resources (for example, memory and HDD (Hard Disk Drive)), and a CPU connected to them. Have.
- a communication interface device is connected to the management terminal 105 and a plurality of servers via the LAN 102.
- the storage resource stores the VM list 111, the server list 112, the log DB 113, the placement evaluation result DB 114, the placement result DB 117, and one or more computer programs.
- the functions of the placement execution unit 115, the placement determination unit 116, and the management unit 118 can be exhibited.
- Each component of the VM placement apparatus 101 will be described later.
- the management terminal 105 has a function of communicating with the VM placement apparatus 101, a function of inputting information to the VM placement apparatus 101, and a function of monitoring the activation and operation status of programs in the VM placement apparatus 101.
- the administrator operates the management terminal 105 to manage the data center 100. That is, in this embodiment, the VM placement apparatus 101 can function as a management server, and the management terminal 105 can function as a management client that accesses the VM placement apparatus 101.
- the VM list 111 is a list of information on each VM that the administrator wants to operate among a plurality of VMs existing in the server group.
- the information on the VM is information including, for example, the name of the VM and information indicating the specification of the VM (CPU operating frequency, memory capacity, or HDD capacity).
- the server list 112 is a list of information regarding each server in the server group.
- the information regarding the server is information including information indicating the IP address of the server, for example.
- FIG. 2 shows a configuration example of the pattern DB 201.
- the pattern DB 201 is a database that stores information indicating changes in the resource usage rate of each VM over a certain period.
- the “information indicating the change in the VM resource utilization rate” is information indicating the VM resource utilization rate in each time interval (for example, every 6 hours) in a certain period, for example.
- the pattern DB 201 includes, for example, the following information for each VM: (1) VM name 211, which is the name of the VM, (2) CPU utilization rate change 212 indicating the CPU utilization rate of the VM in each time interval (that is, the VM CPU utilization rate change over a certain period), (3) HDD usage rate change 213 indicating the VM HDD usage rate in each time interval (that is, VM HDD usage rate change in a certain period),
- the HDD usage rate may be a ratio of time for the VM to access the HDD within a certain period (for example, within one second).
- the HDD usage rate may be the ratio of the bandwidth used by the VM for writing or reading data to or from the HDD during a certain period (for example, within one second) to the maximum transmission / reception bandwidth of the physical HDD of the server. Good.
- information indicating the CPU usage rate and the HDD usage rate is recorded on a daily basis, but the length of this period may be another length such as one week or one month.
- the VM resource usage rate instead of or in addition to at least one of the CPU usage rate and the HDD usage rate, information indicating a change in the VM memory usage rate and a change in the network bandwidth usage rate is stored in the pattern DB 201. Also good.
- the resource utilization rate in the time interval is an average value of the resource utilization rates in the time interval, but instead of the average value, a value that satisfies a predetermined condition in the time interval (for example, a maximum value or a minimum value) ).
- FIG. 3 shows a configuration example of the arrangement evaluation result DB 114.
- the placement evaluation result DB 114 has information indicating evaluation according to the VM placement result for each server. Specifically, the placement evaluation result DB 114 is, for example, for each server, (1) Server name 311 which is the name of the server, (2) Arranged CPU usage rate 312 indicating the total CPU usage rate of all VMs in the server, (3) Operating CPU usage rate 313 indicating the CPU usage rate when the server is operating. (4) Evaluation result 314 indicating whether the placement of the VM on the server is appropriate, Have As the value of the evaluation result 314, there are three types of “insufficient”, “wasted”, and “appropriate”.
- FIG. 4 shows a configuration example of the management unit 118.
- the management unit 118 includes a management console 2401, a parameter DB 2402, an initial placement management unit 2403, and a rearrangement management unit 2404.
- the management console 2401 inputs information that the VM list 111 and the server list 112 have and information that the parameter DB 204 has.
- the management console 2401 displays information that the arrangement result DB 117 has. Also, the management console 2401 activates the initial placement management unit 2403 and the rearrangement management unit 2404.
- the parameter DB 2402 is a database having parameters for operating the initial arrangement management unit 2403 and the rearrangement management unit 2404.
- the parameter DB 2402 includes, for example, the following parameters (1) to (5): (1) Set of VMs to be placed: L, (2) Set of available servers: S, (3) Criteria for judging server resource status: HighCPULevel, LowCPULevel, (4) Criteria for judging how much VM can be placed on the server (acceptable range): K, (5) Time interval (relocation interval) for determining whether relocation is necessary (relocation necessity determination): T Have HighCPULevel, LowCPULevel, and K take any value from 0 to 100%.
- the “allowable range” is an index indicating to what percentage of the server resources the VM is used. For example, it is necessary to arrange the average CPU utilization rate (average CPU utilization rate) of one or more VMs arranged on the server to be K% or less of the CPU processing capacity of the server. The closer K is to 100, the more VMs can be placed on the server. However, if the VM resource utilization rate suddenly increases, there is a high possibility that the server will not be able to handle it. Conversely, the closer K is to 0, the more waste of server resources may occur.
- the CPU processing capacity (CPU usage rate) is adopted as a representative of the resource usage rate, but an allowable range may be set in consideration of other types of resource usage rates. The setting range may be different for each type of resource utilization rate.
- Relocation interval is, for example, “after the end of working hours on the last working day of each week” or “weekly weekend”.
- the initial placement management unit 2403 manages the first VM placement.
- the initial arrangement management unit 2403 activates the arrangement determination unit 116 and passes the parameters stored in the parameter DB 2402 to the arrangement determination unit 116.
- the rearrangement management unit 2404 issues a rearrangement command to the placement determination unit 116 at each rearrangement interval T.
- FIG. 5 shows a configuration example of the arrangement result DB 117.
- the placement result DB 117 is a database indicating which VM is placed on which server.
- the arrangement result DB 117 includes, for example, the following information for each server: (1) a server name 2501, which is the name of the server, (2) a VM set 2502 which is a set of names of VMs to be arranged in the server; Have
- the placement determination unit 116 refers to the parameters HighCPULevel, LowCPULevel, and K stored in the parameter DB 2402, places one or more VMs represented by the parameter L on one or more servers indicated by the parameter S, and The result is stored in the placement result DB 117.
- the placement execution unit 115 communicates with the virtualization software 131 and 142 and executes the placement of the VM according to the placement result DB 117.
- VM placement there are two types of VM placement: “initial placement” and “relocation”.
- the initial arrangement is the following condition (a) or (b): (A) Arranging VMs in a server group for the first time after starting up the data center 100; (B) The number of VMs arranged in the nth VM placement and the number of VMs placed in the next VM placement (the (n + 1) th VM placement) (current VM number) The difference exceeds a certain number (for example, the number of VMs to be deployed is changed significantly) (C) An initial arrangement is designated by the administrator. It is an arrangement that conforms to For condition (b), either the previous VM count or the current VM count may be large. Information input from the administrator is necessary for the initial arrangement.
- Relocation is changing at least one of the plurality of VMs in a server group from one server to another. For relocation, no information input from the administrator is required.
- FIG. 6 is a flowchart illustrating an example of the overall flow of processing performed in the first embodiment.
- step 400 the data center 100 is activated.
- the administrator activates the server 133 (104) in which the virtualization software 131 (141) has been installed, and connects the LAN 102 to each server.
- the administrator activates the VM placement apparatus 101 and the management terminal 105 and connects the apparatus 101 and the terminal 105 to the LAN 102.
- Step 400 may be performed, for example, a predetermined time before the start of business hours of the company (for example, 30 minutes before).
- step 401 it is determined whether or not it is an initial arrangement.
- the determination of whether or not the initial placement is performed may be made by an administrator or a computer (for example, the VM placement device 101). If the determination in step 401 is affirmative, steps 402 and 403 are performed. If the result of determination in step 401 is negative, steps 402 and 403 are skipped and step 404 is performed.
- the management terminal 105 receives input of specific information (for example, information related to the placement target VM and conditions for placement) from the administrator, and inputs the specific information to the VM placement apparatus 101. To do.
- specific information for example, information related to the placement target VM and conditions for placement
- step 403 the VM placement apparatus 101 executes VM placement based on the input specific information.
- step 404 a relocation necessity determination is performed.
- the determination as to whether or not to rearrange may be made by an administrator or a computer (for example, the VM placement apparatus 101).
- the VM placement apparatus 101 performs step 404 at regular intervals. For each rearrangement interval T, a judgment is made as to whether rearrangement is necessary.
- the rearrangement interval T is, for example, a value included in the specific information input by the administrator in step 402, and is a parameter value included in the parameter DB 2402. If the determination in step 404 is affirmative, steps 405 and 406 are performed. If the result of determination in step 404 is negative, step 405 is skipped and step 406 is performed.
- step 405 the VM placement apparatus 101 rearranges some (or all) of the VMs that have already been placed in step 403.
- a service according to the operation of the VM is provided.
- the VM operates for a certain period of time such as business hours of a day, and as a result, a service is provided to the user of the client 171.
- the screen transfer software is executed in the VM
- the virtual desktop provided by the VM is displayed on the display screen of the client 171 connected to the VM.
- the virtualization software 131 (141) monitors the resource usage rate of the server 103 (104) that executes the software 131 (141) and the resource usage rate of the VM, and monitors them.
- Information representing the result is accumulated in the VM placement apparatus 101. Specifically, for example, it is as follows.
- the virtualization software 131 (141) monitors the CPU usage rate and the HDD usage rate for each VM executed on the server 103 (104) having the software 131 (141). For each fixed period (for example, every 6 hours), the virtualization software 131 (141) displays information indicating the CPU usage rate and the HDD usage rate (for example, the average of the CPU usage rate and the average of the HDD usage rate during the fixed period). And stored in the pattern DB 113 of the VM placement apparatus 101.
- the virtualization software 131 (141) calculates the CPU utilization rate for a certain time (for example, one hour) of the server 103 (104) having the software 131 (141) at regular time intervals.
- the virtualization software 131 (141) stores a value representing the calculated CPU usage rate in the placement evaluation result DB 114.
- the VM may execute a monitoring tool (for example, an application program) that monitors the resource usage status of the VM and the resource usage status of the server on which the VM is arranged.
- the monitoring tool may periodically update the database (for example, the pattern DB 113 or the arrangement evaluation result DB 114).
- Step 406 is finished after a certain period of time (for example, when the working hours of the day are finished).
- step 407 the data center 100 stops.
- the step 407 may be, for example, that the VM in the server group is not used after the business hours of the company. Specifically, for example, the virtualization software 131 (141) stops the VM, and the power of the server 103 (104) is turned off. An administrator may stop the VM placement apparatus 101 and the management terminal 105.
- FIG. 7 is a sequence diagram showing an example of a detailed flow of step 402 and step 403.
- step 402 information input by the administrator using the management terminal 105 is transmitted to the management console 2401 in the management unit 118 in the VM placement apparatus 101.
- the information input by the administrator includes information (for example, VM name) regarding the VM that is desired to operate.
- the management console 2401 registers information related to the VM in the VM list 111.
- the information input by the administrator includes information on the server to be used (for example, the IP address of the server).
- the management console 2401 registers information related to the server in the server list 112.
- the management console 2401 stores information representing the resource usage rate of the VM in the pattern DB 113 for each VM specified from the VM list 111.
- the value of the VM resource utilization rate stored in the pattern DB 113 may be determined based on, for example, the resource utilization rate of the virtual desktop (VM) used by the user in the past, or during a predetermined test operation period. It may be a value representing the resource usage rate of the virtual desktop (VM).
- Information input by the administrator includes parameters “HighCPULevel” and “LowCPULevel”.
- the management console 2401 stores these parameters in the parameter DB 2402. (5)
- the information input by the administrator includes the parameter K (allowable range: K) described above.
- the management console 2401 stores the parameter K in the parameter DB 2402.
- the information input by the administrator includes the parameter T (relocation interval: T) described above.
- the management console 2401 stores the parameter T in the parameter DB 2402.
- the management terminal 105 transmits a VM placement command to the management unit 118 according to the operation of the administrator.
- the management unit 118 receives the VM placement instruction, activates the placement determination unit 116 in step 502, and passes a plurality of parameters to the placement determination unit 116 in step 503.
- the plurality of parameters are, for example, the following parameters: (1) Set of VMs to be placed: L, (2) Set of available servers: S, (3) HighCPULevel and LowCPULevel, (4) Tolerance range: K, It is.
- L is information on all VMs registered in the VM list 111 (for example, VM names of all VMs).
- the value of S is information on all servers registered in the server list 112 (for example, IP addresses of all servers).
- the values of HighCPULevel, LowCPULevel, and K are values input by the administrator in step 402.
- step 504 the placement determination unit 116 determines the placement of the VM based on the plurality of parameters received from the management unit 118, and the placement result (information indicating which VM is placed on which server) is obtained in step 505. Are stored in the arrangement result DB 117.
- step 506 the arrangement determining unit 116 notifies the arrangement executing unit 115 that the storage of the arrangement result has been completed.
- the placement execution unit 115 identifies which VM should be placed on which server from the placement result DB 117 in step 507 and step 508, and places the VM as specified in step 509. Execute VM placement. Specifically, for example, the arrangement execution unit 115 activates a server corresponding to the server name 2501 of the arrangement result DB 117 (hereinafter referred to as “target server” in this paragraph).
- target server the placement execution unit 115 places all the VMs belonging to the VM set 2502 corresponding to the target server on the target server.
- the processing is as follows, for example. That is, the arrangement execution unit 115 performs a first determination as to whether or not the target VM exists in the target server. When the result of the first determination is negative, the placement execution unit 115 performs a second determination as to whether or not the target VM exists on a server other than the target server. When the result of the second determination is affirmative, the placement execution unit 115 moves the target VM from a server other than the target server to the target server. When the result of the second determination is negative, the placement execution unit 115 causes the target server to create a new target VM.
- the placement execution unit 115 After completion of such VM placement, the placement execution unit 115 notifies the management unit 118 of completion in step 510.
- the administrator can check the result of arrangement from the management console 2401 through the management terminal 105.
- the arrangement result confirmed here (the arrangement result transmitted from the management console 2401 to the management terminal 105) is, for example, (*) Information indicating which VM is placed on which server, (*) Information indicating server resource utilization and VM resource utilization after VM placement, It is.
- step 504 in FIG. 7 will be described.
- FIG. 8 is a flowchart showing an example of a detailed flow of step 504 in FIG.
- the arrangement determining unit 116 selects one server from a plurality of servers represented by the parameter S.
- the servers may be selected at random or may be selected according to a predetermined rule (for example, the servers may be selected in the order in which the operation time since newly introduced is short). 8 and 9, the server selected in step 601 is referred to as “selected server”, and the information representing the selected server is referred to as “NextServer”.
- step 602 the arrangement determining unit 116 selects a set of VMs to be arranged in NextServer from one or more VMs represented by the parameter L.
- the selected VM set is referred to as “selected VM set”, and information indicating the selected VM set is referred to as “Q_in”.
- step 603 the arrangement determining unit 116 stores NextServer and Q_in in the arrangement result DB 117, and deletes the information indicating the VM belonging to Q_in from the parameter L.
- Step 601 and step 602 are repeatedly executed until the number of VMs represented by the parameter L becomes zero.
- the number of servers and the performance are sufficient compared to the number of VMs to be arranged and the performance required for the VMs. If the server installed in the data center 100 is not enough, the VM may be arranged on a server outside the data center 100 (for example, a public cloud server).
- FIG. 9 is a flowchart showing an example of a detailed flow of step 602 in FIG.
- the placement determination unit 116 selects a VM to be placed on the selected server (server represented by NextServer) from the VM set represented by the parameter L, and stores the selected VM in the selected VM set (VM set represented by Q_in). To do.
- a VM that has the most different CPU usage time zone from the previously selected VM may be preferentially selected.
- the VM selected first may be any VM in the VM set represented by the parameter L, or may be a VM according to a predetermined rule (for example, a VM with the highest CPU utilization).
- step 701 the placement determination unit 116 creates Q_out as information representing VM candidates to be placed on the selected server.
- Q_out is information representing a set of VMs.
- the initial value of Q_out is L.
- the initial value of Q_in representing the set of VMs arranged on the selected server is zero.
- step 702 the arrangement determining unit 116 selects the VM with the highest CPU utilization rate from the VM set represented by Q_out.
- the selected VM is referred to as “first type of selected VM”, and information representing the first type of selected VM is referred to as “BigVM”.
- the arrangement determining unit 116 includes BigVM in Q_in. Then, the arrangement determining unit 116 deletes BigVM from Q_out.
- the arrangement determining unit 116 calculates the sum of the CPU utilization rates of one or more VMs (VM sets) represented by Q_in for each time interval.
- the calculation result is a distribution P.
- the distribution P can be a graph of an xy orthogonal coordinate system in which time is the x-axis (or y-axis) and the sum of CPU utilization is the y-axis (or x-axis).
- the distribution P may be calculated as follows, for example. That is, in step 703, the set of VMs represented by Q_in may be ⁇ VM_1, VM_2,..., VM_N ⁇ .
- N is the number of VMs represented by Q_in.
- P_w Value_1_w + Value_2_w +... + Value_N_w, Equation 2 below.
- the arrangement determining unit 116 selects a VM having the lowest distribution P and correlation coefficient from the VM set represented by Q_out.
- the selected VM is referred to as “second type selected VM”, and the information representing the second type selected VM is referred to as “MinVM”.
- the arrangement determining unit 116 includes MinVM in Q_in. Then, the arrangement determining unit 116 deletes MinVM from Q_out.
- the calculation of the correlation coefficient between an arbitrary VM and P called VM_check in Q_out may be performed as follows, for example. That is, the CPU usage rate change 212 of VM_check has the following values: (*) The value of the CPU utilization rate in the h-th time interval of VM_check is Value_check_h.
- (*) H takes a value between 1 and H. You can assume that. Therefore, the correlation coefficient between VM_check and P may be the following formula 3.
- Value_check_ave is an average value of H values of Value_check_1, Value_check_2, .., Value_check_H.
- P_ave is the average of H values of P_1, P_2, .., P_H.
- step 705 the arrangement determining unit 116 determines whether or not the average value (average CPU usage rate) of the CPU usage rates of all VMs represented by Q_in is higher than the allowable range K. If the result of this determination is affirmative (step 705: YES), steps 706 and 707 are executed. If the result of this determination is negative (step 705: NO), step 706 is skipped and step 707 is executed. Is done.
- step 706 the arrangement determining unit 116 deletes MinVM from Q_in.
- step 707 the arrangement determining unit 116 determines whether or not the number of VMs represented by Q_out is zero. If the result of this determination is affirmative (step 707: YES), step 602 in FIG. 8 ends, and if the result of this determination is negative (step 707: NO), step 703 is executed.
- Q_in which is information representing a set of VMs to be stored in the selected server (the server represented by NextServer), is generated.
- the VM set (combination of VMs) represented by Q_in has less overlap in CPU utilization in multiple time intervals than all other VM sets that can be configured from multiple VMs represented by parameter L (for example, The number of VMs that make up the VM set is the same).
- the VM set represented by Q_in (a combination of VMs) has a larger difference in CPU utilization in each time interval than all other VM sets that can be configured from a plurality of VMs represented by the parameter L.
- the VM set represented by Q_in has a VM with a very high CPU usage rate in the first time interval and a very low CPU usage rate in the second time interval
- a VM having a very low CPU utilization rate in the first time interval and a very high CPU utilization rate in the second time interval is newly added to the VM set represented by Q_in.
- “Relocation” means changing at least one of the plurality of VMs in the server group from one server to another as described above. This can be expected to improve the load status of the server.
- the rearrangement interval T is a parameter input by the administrator in step 402 in FIG.
- the rearrangement management unit 2404 issues a rearrangement command to the placement determination unit 116 at each rearrangement interval T.
- the relocation necessity determination is automatically started without a separate instruction from the administrator.
- FIG. 10 is a sequence diagram showing an example of a detailed flow of step 405 in FIG.
- step 800 the arrangement management unit 118 issues an arrangement command to the arrangement determining unit 116.
- the arrangement determination unit 116 determines the evaluation result 314 for each server based on the operating CPU usage rate 313 for each server in the arrangement evaluation result DB 114.
- the determined evaluation result 314 is, for example, as follows. (1) When the value of the operating CPU utilization rate 313 is equal to or higher than HighCPULevel, the value of the evaluation result 314 is “insufficient”. (2) When the value of the operating CPU utilization rate 313 is equal to or higher than LowCPULevel, the value of the evaluation result 314 is “wasted”. (3) When the value of the operating CPU utilization rate 313 is between HighCPULevel and LowCPULevel, the value of the evaluation result 314 is “appropriate”.
- the arrangement determining unit 116 sets the following parameters based on the arrangement evaluation result DB 114.
- the parameter L is a set of VMs on the server whose evaluation result 314 of the placement evaluation result DB 114 is “insufficient” or “wasted”.
- the parameter S is a set of a server whose evaluation result 314 in the placement evaluation result DB 114 is “insufficient” or “wasted” and a server represented by the server list 112.
- HighCPULevel and LowCPULevel are values input by the administrator in step 402.
- the allowable range K is an average of the CPU utilization rate (average CPU utilization rate) of the VM at the time of the initial arrangement on the server whose evaluation result 314 of the arrangement evaluation result DB 114 is “success”. However, in the case of the second and subsequent relocations from the initial placement, the allowable range K is the CPU utilization rate (average CPU) of the VM at the time of the last relocation on the server whose evaluation result 314 of the placement evaluation result DB 114 is “success” The average of utilization.
- steps 504, 505, 506, 507, 508, 509 and 510 are executed based on the plurality of parameters set in step 802.
- step 803 the arrangement determining unit 116 notifies the rearrangement managing unit 118 that the arrangement has been completed.
- step 403 of FIG. 6 initial placement is performed for a plurality of VMs. Then, while the VM on the server is in operation, the load status of the server is evaluated at each relocation interval T. In step 405, relocation is performed only for servers that have run out of resources or are wasted. As a result, the number of servers that are lacking and wasting resources can be reduced as much as possible.
- the servers are selected one by one, and the VMs are arranged on the selected servers so that the total CPU utilization is within the allowable range K or less.
- the VMs are arranged on the selected servers so that the total CPU utilization is within the allowable range K or less.
- the VM having the smallest correlation with the CPU usage rate distribution P of one or more VMs already determined to be arranged in the server is determined as the VM arranged in the server.
- the allowable range K is updated by the server operation results in the placement evaluation result DB 114. For this reason, it can be expected that the allowable range K is an appropriate value according to the operating status of the server. That is, according to the present embodiment, it can be expected to increase the probability of more appropriately allocating VMs by referring to the evaluation results of already operated servers at the time of rearrangement.
- the placement target VM described in the first embodiment is a VM (hereinafter referred to as a local VM) in which a virtual storage resource (virtual HDD, hereinafter referred to as “VD”) is stored in a local storage device of the server.
- VD virtual HDD
- a VM stored in a storage device hereinafter referred to as network storage
- a network such as the Internet or WAN (Wide Area Network) or LAN (Local Area Network) (hereinafter referred to as network VM) May be called).
- a protocol capable of transmitting and receiving data via a network such as iSCSI (Internet Small Computer System Interface) or NFS (network file system) may be used for connection between the VM and VD.
- the server that is the operation base of the VM may have a network communication function using iSCSI, NFS, or the like, and may be used as network storage.
- the server is also used as network storage, even if the VD of the network VM is stored in the server's local storage device, the communication between the VM and VD uses a protocol such as iSCSI or NFS that transmits and receives data over the network. Good.
- iSCSI Internet Small Computer System Interface
- NFS network file system
- the arrangement target described in the first embodiment may be a group of VMs in which local VMs and network VMs are mixed.
- placement on a VD network storage may be performed independently of placement on the server of the VM.
- the VD may be arranged in each network storage by a method similar to the VM arrangement method described in the first embodiment.
- the HDD utilization rate change 213 may be used instead of or in addition to the CPU utilization rate change 212 used in the first embodiment.
- the placement method is such that the VM is placed on a server that can communicate with the network storage in which the VD is stored at high speed so that the VM can easily access the VD. It may be adjusted.
- Example 2 of the present invention will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
- FIG. 11 shows a configuration example of the entire system including the VM placement apparatus according to the second embodiment of the present invention.
- the VM can be arranged not only on the server (internal server) 103 (104) in the internal resource 902 but also on the server (external server) 904 in the external resource 903.
- the internal resource 902 includes a server 103 (104) and a network file server (hereinafter, file server) 906.
- the external resource 903 includes an external server 904.
- the VM placement device 907 can communicate with the file server 906 via the LAN 102, and can communicate with the external server 904 via the WAM 905.
- servers when the internal server and the external server are not particularly distinguished, they are simply referred to as “servers”.
- External resource 903 is a platform that lends information processing capability such as so-called public cloud.
- the external server 904 includes virtualization software (hereinafter, “external virtual or software”) 911.
- the VM can be operated by the virtualization software 911 of the external server 904.
- the external virtualization software 912 and the virtualization software 131 (141) have a function of moving a running VM between servers.
- the VD (virtual HDD) of the moved VM (network VM) needs to be placed in the file server 906.
- FIG. 12 shows a configuration example of the VM placement device 907.
- the VM placement device 907 includes a local VM placement unit 1001, a resource monitoring unit 1003, a network VM moving unit 1004, an external resource usage information DB 1005, and a VM detailed information DB 1006.
- Each function 1001, 1003, and 1004 is a function that is exhibited when a predetermined computer program is executed by the CPU in the VM placement apparatus 907.
- the local VM placement unit 1001 places a VM on the internal server 103 (104).
- the resource monitoring unit 1003 periodically monitors the resource usage status of each server.
- the network VM moving unit 1004 selects a local VM on the server and changes it to a network VM. Further, the network VM migration unit 1004 executes migration of the network VM between the internal server 103 (104) and the external server 904.
- the external resource usage information DB 1005 stores information for using the external resource 903 such as account information.
- the VM detailed information DB 1006 stores information for selecting a network VM.
- the management terminal 105 displays information indicating the update of information in the external resource usage information DB 1005 and the VM detailed information DB 1006 and the operation status of the VM placement device 907.
- FIG. 13 shows a configuration example of the VM detailed information DB 1006.
- the VM detailed information DB 1006 includes the following information for each VM: (1) VM name 2301, which is the name of the VM, (2) Importance 2302 indicating whether the VM handles important data, (3) External access 2303 indicating whether or not there is an external (for example, outside) access to the VM, Have
- the value of the importance 2032 may be “YES” for a VM that handles data determined as confidential information in the company policy, and the value of the importance 2032 may be “NO” for other VMs.
- the value of the external access 2303 is “NO” for a VM that has never been connected for screen transfer from an internal (for example, in-house) IP address, and the value of the external access 2303 is set for other VMs. It can be “YES”.
- FIG. 14 is a flowchart illustrating an example of the overall flow of processing performed in the second embodiment.
- step 1100 the internal server group, the VM placement device 907 and the management terminal 105 are activated and connected to the LAN 102.
- the local VM placement unit 1001 places a VM on the internal server 103 (104). Note that all the VMs placed by the VM placement device 901 are local VMs that use VD (virtual HDD) stored in the local storage device 132 of the internal server.
- VD virtual HDD
- the local VM placement unit 1001 may realize the same function as the VM placement apparatus 101 described in the first embodiment.
- the VM placement method in step 1101 may be the same as the method described in the first embodiment.
- the management terminal 105 receives input of information from the administrator, and stores the information in the external resource usage information DB 1005 and / or the VM detailed information DB 1006.
- Step 1103 and Step 1104 are performed, and then, in Step 1105, for example, the same processing as Step 407 in FIG.
- FIG. 15 is a sequence diagram showing an example of a detailed flow of step 1103 in FIG.
- step 1200 the administrator activates the network VM moving unit 1004.
- step 1201 the network VM migration unit 1004 connects to the external server 904 based on the external resource usage information DB 1005, and prepares to migrate the VM from the internal server (for example, log in in advance). Do. As a result of step 1201, the external server 904 becomes ready to accept the VM in step 1202.
- the network VM moving unit 1004 selects one local VM as a target to be changed to the network VM for each server on which the VM is arranged.
- the network VM moving unit 1004 can select a local VM based on the following criteria. (1) When the VM placement method in step 1101 is the same as the placement method described in the first embodiment, in step 704, the VM included in the VM set represented by Q_in last is selected as the network VM. By moving the selected VM to another server, it is expected that the degree of duplication of the resource use time interval of the VM in the server will be lowered. (2)
- the local VM may be selected as the network VM based on the following criteria without depending on the VM arrangement method used in step 1101.
- a local VM whose importance 2302 value in the VM detailed information DB 1006 is “NO” is preferentially selected. That is, a VM without important data is selected.
- a local VM whose external access 2303 value in the VM detailed information DB 1006 is “YES” is preferentially selected. That is, a VM accessed from outside the company is selected. The number of accesses from outside the company may be counted, and a VM with a higher count value may be preferentially selected first. As a result, VMs that are frequently accessed from outside the company are selected. “External access” refers to access via a WAN or the Internet.
- a VM with a smaller HDD usage rate may be preferentially selected.
- step 1204 the network VM moving unit 1004 moves the VD of the VM selected in step 1203 to the file server 906. As a result, the VM becomes a network VM.
- step 1205 the network VM moving unit 1004 instructs the resource monitoring unit 1003 to start monitoring.
- the resource monitoring unit 1003 starts monitoring the resource usage status of the internal server group.
- the resource usage status monitoring is to notify the network VM moving unit 1004 when the resource usage rate (for example, CPU usage rate) of the server is higher than G%.
- the default value of the threshold G may be an arbitrary value (for example, 85%) by the administrator. Note that the administrator may change the value of the threshold G.
- FIG. 16 is a sequence diagram showing an example of a detailed flow of step 1104 in FIG.
- step 1104 the resource monitoring unit 1003 monitors the load on the server during VM operation, and moves the network VM when the load is high.
- step 1300 the resource monitoring unit 1003 enters a state (mode) for monitoring the resources of the internal server 103 (104).
- step 1301 the VM operates on the internal server 103.
- step 1302 the CPU usage rate of the server 103 becomes higher than G%.
- the resource monitoring unit 1003 detects a resource shortage of the server 103 (the CPU utilization rate of the server 103 has exceeded G% (for example, HighCPULevel)), and in step 1304, the resource monitoring unit 1003 transfers to the network VM moving unit 1004.
- the first notification is sent.
- the first notification may include, for example, a value representing a difference between the CPU usage rate of the server 103 and G%.
- the network VM moving unit 1004 receives the first notification and issues a command to the server 103 to move one or more network VMs (for example, VMb 134) to the external server 904.
- the one or more network VMs are one or more VMs determined based on the first notification, for example, the sum of the CPU utilization is larger than the difference between the CPU utilization of the server 103 and G% (for example, HighCPULevel) 1 It may be the above VM.
- G% for example, HighCPULevel
- a VM with a higher CPU utilization may be preferentially selected as a network VM.
- step 1306 the server 103 moves the VMb 134 to the external server 904.
- step 1307 the VMb 134 operates on the external virtualization software 911 on the external server 904.
- the state of the server 103 is in a state where sufficient resources for the VMb 134 to operate are secured. For example, a state where the CPU utilization rate of the server 103 is G% (for example, HighCPULevel) or less continues for a certain time.
- G% for example, HighCPULevel
- the resource monitoring unit 1003 detects that the server 103 is in a state where sufficient resources for the VMb 134 to operate are secured, and sends the second information to the network VM moving unit 1004. Send notifications for.
- the second notification may include, for example, a value indicating a difference between the CPU usage rate of the server 103 and G%.
- the VM moving unit 1004 receives the second notification and issues a command for returning the VMb 134 to the server 103 to the external server 904.
- the external virtualization software 911 of the external server 904 moves the VMb 134 to the server 103.
- One or more VMs returned from the external server are one or more VMs determined based on the second notification, for example, the CPU utilization rate of the server 103 and G% ( For example, it may be one or more VMs whose total CPU utilization is smaller than the difference from (HighCPULevel).
- a VM with a lower CPU utilization may be preferentially selected as a network VM.
- the network VM moving unit 1004 may return the VMb 134 to the server 103 by executing step 1310 at the next system startup.
- a VM can be moved from one server to another while the VM is running so that the server resource can be changed as quickly as possible. That is, according to the present embodiment, an appropriate server can be selected as the placement destination of the VM based on the VM type.
- the importance of the data handled by the VM, the location of the client accessing the VM (for example, outside or inside the company), and the HDD usage rate of the VM are based on at least one external.
- the VM to be moved to the resource is selected. As a result, it can be expected that the movement of the VM has little influence on the user.
- the VM when a shortage of server resources occurs, the VM is moved to the external resource (for example, public cloud) 903, and when the server resource is wasted, the VM is transferred from the external resource 903 to the VM. Can be realized without requiring an administrator's operation.
- the external resource for example, public cloud
- the server where the VM is placed may be one server or a group (server pool) composed of a plurality of servers.
- server pool composed of a plurality of servers.
- server group described above may include a plurality of server pools.
- first embodiment and the second embodiment can operate independently, or one system in which the first and second embodiments are combined may be realized. Further, a part of the configuration of a certain embodiment may be added to the configuration of another embodiment. In addition, it is possible to add, delete, or replace another configuration for a part of the configuration of each embodiment.
- one system in which the first embodiment and the second embodiment are combined may be realized as follows.
- each of the above-described configurations, functions, processing units, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
- each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the CPU.
- Information such as programs and databases for realizing each function can be stored in a storage device such as a memory or HDD, or a storage medium such as an IC memory card, an SD memory card, or a DVD (Digital Versatile Disk).
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
(1)VMの名称であるVM名211、
(2)各時区間でのVMのCPU利用率(すなわち、一定期間におけるVMのCPU利用率変化)を示すCPU利用率変化212、
(3)各時区間でのVMのHDD利用率(すなわち、一定期間におけるVMのHDD利用率変化)を示すHDD利用率変化213、
を有する。HDD利用率は、或る期間内(例えば一秒間内)にVMがHDDにアクセスする時間の割合であってもよい。また、HDD利用率は、或る期間中(例えば一秒間内)にVMがHDDにデータ書き込みまたは読み出しに用いた帯域の、サーバの物理的なHDDの最大送受信可能な帯域に対する割合であってもよい。本実施例では、CPU利用率及びHDD利用率を示す情報が一日単位で記録されるが、この期間の長さは、一週間或いは一ヶ月といった別の長さであっても良い。なお、VM資源利用率として、CPU利用率及びHDD利用率の少なくとも一方に代えて又は加えて、VMのメモリ利用率の変化、ネットワーク帯域の利用率の変化を示す情報が、パターンDB201に格納されもよい。また、本実施例では、時区間における資源利用率は、その時区間における資源利用率の平均値であるが、平均値に代えて、時区間における所定の条件を満たす値(例えば最大値又は最小値)であっても良い。
(1)サーバの名称であるサーバ名311、
(2)サーバ内の全てのVMのCPU利用率の合計を示す配置CPU利用率312、
(3)サーバが稼動したときのCPU利用率を示す稼働CPU利用率313、
(4)サーバへのVMの配置が適切かどうかを示す評価結果314、
を有する。評価結果314の値としては、「不足」、「浪費」及び「適切」の3種類がある。
(1)配置すべきVMの集合: L、
(2)利用可能なサーバの集合: S、
(3)サーバの資源状況を判断するための基準: HighCPULevel, LowCPULevel、
(4)サーバにどれぐらいVMを乗せるかを判断するための基準(許容範囲): K、
(5)再配置が必要か否かの判断(再配置要否判断)を実行する時間間隔(再配置間隔): T
を有する。HighCPULevel、LowCPULevel、及びKは、0から100%におけるいずれかの値となる。
(1)サーバの名称であるサーバ名2501、
(2)サーバに配置された配置されるVMの名称の集合であるVM集合2502、
を有する。
(a)データセンタ100の起動後に初めてサーバ群にVMを配置すること、
(b)n回目のVM配置で配置されたVMの数と(直前回VM数)、次のVM配置((n+1)回目のVM配置)で配置されるVMの数(今回VM数)との差が、所定数を超えている(例えば、配置されるVMの数が大幅に変更される)、
(c)管理者から初期配置であることが指定された、
に適合する配置である。条件(b)については、直前回VM数と今回VM数のどちらが大きくても良い。初期配置のためには、管理者からの情報入力が必要である。
(1)仮想化ソフト131(141)が、そのソフト131(141)を有するサーバ103(104)で実行される各VMについて、CPU利用率及びHDD利用率を監視する。一定期間毎(例えば6時間毎)に、仮想化ソフト131(141)が、CPU利用率及びHDD利用率(例えば、その一定期間におけるCPU利用率の平均及びHDD利用率の平均)を表す情報を、VM配置装置101のパターンDB113に格納する。
(2)仮想化ソフト131(141)が、そのソフト131(141)を有するサーバ103(104)の一定時間(例えば1時間)におけるCPU利用率を一定時間毎に算出する。仮想化ソフト131(141)は、算出したCPU利用率を表す値を、配置評価結果DB114に格納する。
(1)管理者によって入力された情報は、稼動したいVMに関する情報(例えば、VM名)を含む。管理コンソール2401が、そのVMに関する情報を、VMリスト111に登録する。
(2)管理者によって入力された情報は、利用されるサーバに関する情報(例えば、サーバのIPアドレス)を含む。管理コンソール2401が、そのサーバに関する情報を、サーバリスト112に登録する。
(3)管理コンソール2401が、VMリスト111から特定されるVM毎に、VMの資源利用率を表す情報を、パターンDB113に格納する。パターンDB113に格納される、VMの資源利用率の値は、例えば、利用者が過去に利用した仮想デスクトップ(VM)の資源利用率を基に決定されて良いし、所定の試験運用期間中での仮想デスクトップ(VM)の資源利用率を表す値であっても良い。
(4)管理者によって入力された情報は、パラメータ「HighCPULevel」及び「LowCPULevel」を含む。管理コンソール2401が、それらのパラメータを、パラメータDB2402に格納する。
(5)管理者によって入力された情報は、前述したパラメータK(許容範囲:K)を含む。管理コンソール2401が、パラメータKを、パラメータDB2402に格納する。
(6)管理者によって入力された情報は、前述したパラメータT(再配置間隔:T)を含む。管理コンソール2401が、パラメータTを、パラメータDB2402に格納する。
(1)配置すべきVMの集合: L、
(2)利用可能なサーバの集合: S、
(3)HighCPULevel及びLowCPULevel、
(4)許容範囲: K、
である。ただし、Lの値は、VMリスト111に登録されている全てのVMに関する情報(例えば、全てのVMのVM名)である。また、Sの値は、サーバリスト112に登録されている全てのサーバに関する情報(例えば、全てのサーバのIPアドレス)である。また、HighCPULevel、LowCPULevel及びKの値は、ステップ402において管理者が入力した値である。
(*)どのサーバにどのVMが配置されたかを表す情報、
(*)VM配置後におけるサーバの資源利用率とVMの資源利用率を表す情報、
である。
(*)VM_checkのh番目の時区間のCPU利用率の値は、Value_check_hである。
(*)hは1からHまでの間の値を取る。
と仮定して良い。そこで、VM_checkとPの相関係数は、下記数3でもよい。ここで、Value_check_aveは、Value_check_1,Value_check_2,..,Value_check_Hの H個の値の平均値である。なおP_ave は、P_1,P_2,..,P_Hの H個の値の平均値である。
(1)稼働CPU利用率313の値がHighCPULevel以上の場合、評価結果314の値は「不足」である。
(2)稼働CPU利用率313の値がLowCPULevel以上の場合、評価結果314の値は「浪費」である。
(3)稼働CPU利用率313の値がHighCPULevelとLowCPULevelの間の場合、評価結果314の値は「適切」である。
(1)CPU利用率が「不足」、HDD利用率が「不足」、又はメモリ利用率が「不足」の場合、評価結果314の値は「不足」である。
(2)上記の(1)の条件に該当せず、且つ、CPU利用率が「浪費」、HDD利用率が「浪費」又はメモリ利用率が「浪費」の場合、評価結果314の値は「浪費」である。
(3)上記の(1)と(2)のいずれの条件も満たされない場合、:評価結果314の値は「適切」である。
(1)パラメータLは、配置評価結果DB114の評価結果314が「不足」又は「浪費」となったサーバ上のVMの集合である。
(2)パラメータSは、配置評価結果DB114の評価結果314が「不足」又は「浪費」となったサーバと、サーバリスト112が表すサーバとの集合である。
(3)HighCPULevel及びLowCPULevelは、管理者がステップ402で入力した値である。
(4)許容範囲Kは、配置評価結果DB114の評価結果314が「成功」のサーバ上の初期配置時のVMのCPU利用率(平均CPU利用率)の平均である。ただし、初期配置から2回目以降の再配置の場合では、許容範囲Kは、配置評価結果DB114の評価結果314が「成功」のサーバ上の前回の再配置時のVMのCPU利用率(平均CPU利用率)の平均である。
(1)VMの名称であるVM名2301、
(2)VMで重要なデータを扱うかどうかを表す重要性2302、
(3)VMへ外部(例えば社外)からのアクセスがあるかどうかを表す外部アクセス2303、
を有する。例えば、社内ポリシー上で機密情報と決めたデータを扱うVMについては、重要性2032の値が「YES」となり、それ以外のVMについては、重要性2032の値が「NO」となって良い。また、例えば、内部(例えば社内)のIPアドレスからの画面転送の接続が一度もないVMについては、外部アクセス2303の値が「NO」となり、それ以外のVMについては、外部アクセス2303の値が「YES」であって良い。
(1)ステップ1101におけるVM配置手法が、実施例1で述べた配置方法と同様である場合、ステップ704において最後にQ_inが表すVM集合に含められるVMが、ネットワークVMとして選択される。その選択されたVMを別のサーバに移動することにより、サーバ内のVMの資源利用時区間の重複度が低くなることが期待できる。
(2)ステップ1101で利用するVM配置手法に依存せず、以下の基準で、ローカルVMがネットワークVMとして選択されて良い。
(*)VM詳細情報DB1006内の重要性2302の値が「NO」のローカルVMが優先的に選択される。つまり、重要なデータがないVMが選択される。
(*)VM詳細情報DB1006内の外部アクセス2303の値が「YES」のローカルVMが優先的に選択される。つまり、社外からアクセスされるVMが選択される。社外からのアクセスの数がカウントされ、そのカウント値が多いVMほど優先的に先に選択されても良い。これにより、社外からのアクセスが多いVMが選択されることになる。「社外からのアクセス」とは、WAN又はインターネットを介したアクセスである。
(*)資源監視部1003の監視結果を表す情報を基に、HDD利用率が小さいVMほど優先的に選択されて良い。
Claims (15)
- 複数の物理計算機に複数の仮想計算機を配置する装置であって、
複数の時区間のそれぞれにおける仮想計算機の資源負荷値を仮想計算機毎に表す情報である仮想計算機負荷情報を記憶する記憶部と、
前記仮想計算機負荷情報を基に、各時区間について資源負荷値の差が最も大きくなるような2以上の仮想計算機を選択し、選択した2以上の仮想計算機を同一の物理計算機に配置する制御部と
を有する装置。 - 請求項1記載の装置であって、
前記制御部が、複数の仮想計算機が配置された後の複数の物理計算機の資源負荷値を基に、前記複数の物理計算機のうち、資源の過不足が生じている物理計算機を特定し、特定した物理計算機に対して、仮想計算機の追加又は削除である再配置を行う、
装置。 - 請求項2記載の装置であって、
前記複数の物理計算機は、1以上の内部物理計算機と外部物理計算機とを含み、
前記制御部が、資源が不足している内部物理計算機である対象内部物理計算機を特定した場合、前記対象内部物理計算機から前記外部物理計算機に或る仮想計算機を移動する、
装置。 - 請求項3記載の装置であって、
前記或る仮想計算機は、前記対象物理計算機がアクセスするローカル型の記憶装置に格納される仮想計算機であるローカル型の仮想計算機であり、
前記制御部が、前記ローカル型の仮想計算機の仮想的な記憶資源のイメージである仮想資源ファイルを、前記ローカル型の記憶装置から前記外部物理計算機がアクセス可能なファイルサーバに移動することで、前記ローカル型の仮想計算機をネットワーク型の仮想計算機に変更し、その後、前記ネットワーク型の仮想計算機を前記対象内部物理計算機から前記外部物理計算機に移動する、
装置。 - 請求項4記載の装置であって、
各仮想計算機は、仮想デスクトップとして利用される仮想計算機である、
装置。 - 請求項4記載の装置であって、
前記外部物理計算機は、パブリッククラウドの物理計算機である、
装置。 - 請求項4記載の装置であって、
前記制御部は、同一の内部物理計算機に配置する仮想計算機を、前記同一の内部物理計算機に配置されるVMの資源負荷値の合計が所定の値以下の範囲で、1つずつ選択するようになっており、その際、選択される仮想計算機は、既に選択されている1以上の仮想計算機の各時区間での資源負荷値との差がなるべく大きくなるような資源負荷値となった仮想計算機であり、
前記ネットワーク型の仮想計算機は、前記対象内部物理計算機に配置される仮想計算機として最後に選択された仮想計算機である、
装置。 - 請求項4記載の装置であって、
前記ネットワーク型の仮想計算機は、重要ではないデータを扱う仮想計算機である、
装置。 - 請求項4記載の装置であって、
前記ネットワーク型の仮想計算機は、WAN又はインターネットを介してアクセスされる仮想計算機である、
装置。 - 請求項4記載の装置であって、
前記ネットワーク型の仮想計算機は、記憶資源の利用率が最も小さい仮想計算機である、
装置。 - 請求項3記載の装置であって、
前記制御部が、前記対象内部物理計算機の資源不足が解消したことを検出した場合、前記外部物理計算機から前記移動した仮想計算機を前記対象内部物理計算機に戻す、
装置。 - 請求項2記載の装置であって、
前記記憶部が、配置結果評価情報を記憶し、
前記配置結果評価情報は、物理計算機毎に、物理計算機の資源負荷値を示す情報を含み、
資源が不足している物理計算機は、前記配置結果評価情報が表す資源負荷値が、第1の値以上の物理計算機であり、
資源が過剰な物理計算機は、前記配置結果評価情報が表す資源負荷値が、前記第1の値より小さい第2の閾値以下の物理計算機である、
装置。 - 請求項1記載の装置であって、
前記制御部は、前記同一の物理計算機に配置する仮想計算機を、前記同一の物理計算機に配置されるVMの資源負荷値の合計が所定の値以下の範囲で、1つずつ選択する、
装置。 - 複数の物理計算機に複数の仮想計算機を配置する方法であって、
複数の時区間のそれぞれにおける仮想計算機の資源負荷値を仮想計算機毎に表す情報である仮想計算機負荷情報を基に、各時区間について資源負荷値の差が最も大きくなるような2以上の仮想計算機を選択し、
選択した2以上の仮想計算機を同一の物理計算機に配置する、
方法。 - 複数の物理計算機に複数の仮想計算機を配置することをコンピュータに実行させるためのコンピュータプログラムであって、
複数の時区間のそれぞれにおける仮想計算機の資源負荷値を仮想計算機毎に表す情報である仮想計算機負荷情報を基に、各時区間について資源負荷値の差が最も大きくなるような2以上の仮想計算機を選択し、
選択した2以上の仮想計算機を同一の物理計算機に配置する、
ことコンピュータに実行させるためのコンピュータプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011800499334A CN103154896A (zh) | 2010-10-19 | 2011-10-11 | 配置虚拟计算机的方法和装置 |
US13/879,659 US20130275974A1 (en) | 2010-10-19 | 2011-10-11 | Method and apparatus for allocating virtual computer |
JP2012539680A JPWO2012053393A1 (ja) | 2010-10-19 | 2011-10-11 | 仮想計算機を配置する方法及び装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-234778 | 2010-10-19 | ||
JP2010234778 | 2010-10-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012053393A1 true WO2012053393A1 (ja) | 2012-04-26 |
Family
ID=45975110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/073332 WO2012053393A1 (ja) | 2010-10-19 | 2011-10-11 | 仮想計算機を配置する方法及び装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20130275974A1 (ja) |
JP (1) | JPWO2012053393A1 (ja) |
CN (1) | CN103154896A (ja) |
WO (1) | WO2012053393A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015046140A (ja) * | 2013-08-28 | 2015-03-12 | 財團法人資訊工業策進會 | 統合ネットワーク装置ならびにそのサービス統合方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5684170B2 (ja) * | 2012-02-28 | 2015-03-11 | 株式会社東芝 | 情報処理装置、クライアント管理システムおよびクライアント管理方法 |
US8938541B2 (en) * | 2012-10-29 | 2015-01-20 | Ericsson Ab | Method and system to allocate bandwidth in cloud computing networks |
US9569233B2 (en) | 2012-12-31 | 2017-02-14 | F5 Networks, Inc. | Elastic offload of prebuilt traffic management system component virtual machines |
US9065734B2 (en) | 2013-03-08 | 2015-06-23 | Telefonaktiebolaget L M Ericsson (Publ) | Network bandwidth allocation in multi-tenancy cloud computing networks |
US9817699B2 (en) * | 2013-03-13 | 2017-11-14 | Elasticbox Inc. | Adaptive autoscaling for virtualized applications |
US9621425B2 (en) | 2013-03-27 | 2017-04-11 | Telefonaktiebolaget L M Ericsson | Method and system to allocate bandwidth for heterogeneous bandwidth request in cloud computing networks |
JP6550822B2 (ja) * | 2015-03-20 | 2019-07-31 | 日本電気株式会社 | 情報処理資源管理装置、情報処理資源管理方法、及び、情報処理資源管理プログラム |
US10255652B2 (en) * | 2017-01-18 | 2019-04-09 | Amazon Technologies, Inc. | Dynamic and application-specific virtualized graphics processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP2005115653A (ja) * | 2003-10-08 | 2005-04-28 | Ntt Data Corp | 仮想マシン管理装置及びプログラム |
WO2008062864A1 (en) * | 2006-11-24 | 2008-05-29 | Nec Corporation | Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server |
JP2009237859A (ja) * | 2008-03-27 | 2009-10-15 | Nec Corp | 仮想マシン管理システム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03219360A (ja) * | 1990-01-24 | 1991-09-26 | Nec Corp | マルチプロセッサ制御方式 |
JP5110315B2 (ja) * | 2006-05-24 | 2012-12-26 | 日本電気株式会社 | 仮想マシン管理装置、仮想マシン管理方法およびプログラム |
US9047083B2 (en) * | 2008-09-15 | 2015-06-02 | Vmware, Inc. | Reducing power consumption in a server cluster |
CN101452406B (zh) * | 2008-12-23 | 2011-05-18 | 北京航空航天大学 | 一种对操作系统透明的机群负载平衡方法 |
US9384062B2 (en) * | 2008-12-27 | 2016-07-05 | Vmware, Inc. | Artificial neural network for balancing workload by migrating computing tasks across hosts |
CN101504620A (zh) * | 2009-03-03 | 2009-08-12 | 华为技术有限公司 | 一种虚拟化集群系统负载平衡方法、装置及系统 |
CN101593133B (zh) * | 2009-06-29 | 2012-07-04 | 北京航空航天大学 | 虚拟机资源负载均衡方法及装置 |
US8316125B2 (en) * | 2009-08-31 | 2012-11-20 | Red Hat, Inc. | Methods and systems for automated migration of cloud processes to external clouds |
CN101719081B (zh) * | 2009-12-01 | 2012-10-10 | 北京大学 | 一种虚拟机调度方法 |
US8887172B2 (en) * | 2009-12-31 | 2014-11-11 | Microsoft Corporation | Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds |
US9063769B2 (en) * | 2010-02-04 | 2015-06-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Network performance monitor for virtual machines |
US8271814B2 (en) * | 2010-03-22 | 2012-09-18 | Microsoft Corporation | Migrating a client computer to a virtual machine server when the client computer is deemed to be idle |
-
2011
- 2011-10-11 JP JP2012539680A patent/JPWO2012053393A1/ja active Pending
- 2011-10-11 CN CN2011800499334A patent/CN103154896A/zh active Pending
- 2011-10-11 US US13/879,659 patent/US20130275974A1/en not_active Abandoned
- 2011-10-11 WO PCT/JP2011/073332 patent/WO2012053393A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
JP2005115653A (ja) * | 2003-10-08 | 2005-04-28 | Ntt Data Corp | 仮想マシン管理装置及びプログラム |
WO2008062864A1 (en) * | 2006-11-24 | 2008-05-29 | Nec Corporation | Virtual machine locating system, virtual machine locating method, program, virtual machine management device and server |
JP2009237859A (ja) * | 2008-03-27 | 2009-10-15 | Nec Corp | 仮想マシン管理システム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015046140A (ja) * | 2013-08-28 | 2015-03-12 | 財團法人資訊工業策進會 | 統合ネットワーク装置ならびにそのサービス統合方法 |
US9253052B2 (en) | 2013-08-28 | 2016-02-02 | Institute For Information Industry | Integration network device and service integration method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN103154896A (zh) | 2013-06-12 |
JPWO2012053393A1 (ja) | 2014-02-24 |
US20130275974A1 (en) | 2013-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2012053393A1 (ja) | 仮想計算機を配置する方法及び装置 | |
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
JP4367406B2 (ja) | コンピュータ割り当て方法 | |
US9722853B2 (en) | Endpoint data centers of different tenancy sets | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
CN103399778B (zh) | 一种虚拟机在线整体迁移方法和设备 | |
US9230001B2 (en) | Intelligent data propagation using performance monitoring | |
JP5614226B2 (ja) | 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法 | |
US9466036B1 (en) | Automated reconfiguration of shared network resources | |
US9396026B2 (en) | Allocating a task to a computer based on determined resources | |
US20120233315A1 (en) | Systems and methods for sizing resources in a cloud-based environment | |
KR101503209B1 (ko) | 휴대용 컴퓨팅 디바이스의 스위치 패브릭들 내에서 그리고 스위치 패브릭들에 걸쳐 마스터-슬레이브 쌍들을 동적으로 생성하고 서비스하는 방법 및 시스템 | |
JP2017529585A (ja) | マルチテナント・システムにおける処理変更 | |
JP7143434B2 (ja) | クラウドサービスのデータキャッシング | |
WO2013029487A1 (zh) | 一种资源分配方法及资源管理平台 | |
JP2005209203A (ja) | 要求に応じて資源を動的に区分し、割り振るアプリケーション対応システム | |
JP2012038152A (ja) | 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法 | |
JP2005056391A (ja) | コンピューティング環境の作業負荷を均衡させる方法およびシステム | |
WO2012125144A1 (en) | Systems and methods for sizing resources in a cloud-based environment | |
US20150154042A1 (en) | Computer system and control method for virtual machine | |
JP2012069056A (ja) | クラウドサービス再配置システムと方法およびプログラム | |
JP2004318741A (ja) | ネットワーク管理プログラム、管理計算機及び管理方法 | |
JP2017091330A (ja) | 計算機システム及び計算機システムのタスク実行方法 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
US8650330B2 (en) | Self-tuning input output device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180049933.4 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11834233 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012539680 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13879659 Country of ref document: US |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11834233 Country of ref document: EP Kind code of ref document: A1 |