WO2012073369A1 - Method of managing virtual machine, computer system and non-temporary computer readable medium - Google Patents
Method of managing virtual machine, computer system and non-temporary computer readable medium Download PDFInfo
- Publication number
- WO2012073369A1 WO2012073369A1 PCT/JP2010/071592 JP2010071592W WO2012073369A1 WO 2012073369 A1 WO2012073369 A1 WO 2012073369A1 JP 2010071592 W JP2010071592 W JP 2010071592W WO 2012073369 A1 WO2012073369 A1 WO 2012073369A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- traffic
- virtual machine
- host server
- network
- information
- Prior art date
Links
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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Definitions
- the present invention relates to a method for managing a virtual machine, a computer system, and a non-transitory computer-readable storage medium, and more particularly to movement of a virtual machine between physical computers in the computer system.
- life migration avoids a situation in which the processing load of a virtual machine running on a certain host server increases, resulting in a shortage of resources used by the virtual machine, thereby causing the host server to become overloaded. Used for.
- the resource shortage can be solved by moving the virtual server from the current host server to another host server.
- live migration is used in order to maintain the performance guarantee of the virtual server in accordance with SLA (Service Level Agreement) concluded with the user.
- SLA Service Level Agreement
- Patent Document 1 discloses a technique for selecting a destination in consideration of specifications required by a virtual machine and the state of a host server, for example, CPU, power supply, fan, and failure history during live migration. ing.
- the technique disclosed in Patent Document 1 determines the performance and reliability of the host server on which the virtual machine operates by determining the destination host server from the consistency between the specifications required by the virtual machine and the state of the actual host server. Sex can be maintained.
- the virtual machine communicates with other host servers via the network in the system. Therefore, moving a virtual machine changes network traffic. In system management, it is important to select virtual machines according to changes in network traffic due to movement and maintain appropriate network traffic.
- One aspect of the present invention is a method for managing a virtual machine in a computer system including a plurality of physical computers that communicate via a network.
- This management method measures traffic between the plurality of physical computers in the network.
- the traffic of the network when a virtual machine existing in one of the plurality of physical computers is moved to each of movement destination candidates in the plurality of physical computers is predicted from the measurement result.
- the priority of the destination candidate is determined based on the predicted traffic.
- a destination of a virtual machine suitable for a system including the network in the movement of the virtual machine in a plurality of physical computers communicating via the network.
- This embodiment is characterized in that a virtual machine moves between host servers (physical computers) that communicate via a network.
- network traffic after movement of a virtual machine is predicted, and the priority of the destination host server is determined using the predicted traffic. Thereby, it is possible to select an appropriate destination of the virtual machine in the system including the network.
- FIG. 1 is a block diagram schematically showing a configuration example of a computer system of this embodiment.
- the computer system includes a plurality of host servers A1a to C1c (a plurality of physical computers), a physical switch 2, and a management server 3.
- the host servers A1a to C1c communicate with each other via a network including the physical switch 2.
- the management server 3 is a physical computer.
- the physical switch 2 has a plurality of ports. Specifically, the port A21a to the port E21e are provided.
- FIG. 1 shows an example of a physical switch 2, and the number of ports depends on the computer system.
- Host server A1a to host server C1c are connected to port A21a to port C21c, respectively.
- the ports 11a to 11c of the host server A1a to the host server C1c are connected to the corresponding ports A21a to C21c of the physical switch 2, respectively.
- the ports of the host server A1a to the host server C1 are connected to the ports of the physical switch 2 by wiring, but may be connected via other devices that do not become bottlenecks.
- the correspondence between the ports of the host servers A1a to C1 and the ports of the physical switch 2 is fixed, and when two host servers that perform communication are determined, the port through which communication data passes is also determined.
- a plurality of virtual machines A12a to D12d are operating on the host server A1a to the host server C1c.
- the virtual machine A12a operates on the host server A1a
- the virtual machine B12b and the virtual machine C12c operate on the host server B1b
- the virtual machine D12d operates on the host server C1c.
- Host server A1a to host server C1c each execute virtualization software, and a virtual machine operates on the virtualization software (see FIGS. 2A to 2C).
- the virtual machine is software and includes an operating system (OS) in addition to the configuration information of the virtual machine.
- the virtual machine is a virtual server, and includes an application program of the virtual server and data for operating the program in addition to the OS.
- the management server 3 has a port 31 and is connected to the network 4 through the port.
- the management server 3 communicates with the physical switch 2 via the network 4 and further communicates with the host servers A1a to C1c via the network 4 and the physical switch 2.
- the management server 3 may be connected to the physical switch 2 without going through the network 4.
- the management server 3 manages the virtual machines A12a to D12d.
- the management server 3 of the present embodiment has a feature in controlling the movement of the virtual machine. This embodiment is particularly useful for virtual machine live migration (moving a running virtual machine), but can also be applied to other virtual machine movement methods.
- the management server 3 refers to the traffic on the network connecting the host servers A1a to C1c and selects an appropriate destination host server. This makes it possible to select an appropriate destination host server for the entire system including the physical switch 2.
- the management server 3 determines the destination host server by referring to the specifications of the destination host server in addition to the traffic. Therefore, the configuration of the host server A1a to the host server C1c will be described with reference to FIGS. 2A to 2B.
- the host server A1a that is a physical computer includes three CPUs 13a to 13c, a memory 14a that is a main storage device, and device information 15a.
- the device information 15a is typically stored in a secondary storage device (nonvolatile storage device) of the host server A1a.
- the device information 15a is information relating to the state of the host server A1a, and includes information on the operation state (use state) in addition to information on the hardware configuration such as the number of CPUs and memory capacity.
- the device information 15a may be stored in another storage device connected via a network. The device information 15a will be described later.
- FIG. 2A shows the virtualization software 16a and the virtual machine A12a in the memory 14a.
- data including programs
- FIG. 2A shows the virtualization software 16a and the virtual machine A12a in the memory 14a.
- data including programs required for the processing of the host server A1a is typically secondary. It is stored in the memory 14a from the storage device. Each information (representing data) is stored in the storage area of each information in the memory 14a and the secondary storage device.
- the memory 14a, the secondary storage device, and the set thereof are storage devices. This is the same for other host servers.
- the CPUs 13a to 13c execute predetermined programs stored in the memory 14a (operate according to instructions in the program), thereby realizing predetermined functions of the virtualization software 16a and the virtual machine A12a.
- the virtualization software 16a has the function of the virtual switch 161a.
- the virtual machine A12a communicates with the other virtual machines B12b to D12d via the virtual switch 161a.
- the virtual switch 161a receives data from the virtual machine A 12a and transmits it to the physical switch 2 from the port 11a.
- the virtual switch 161a receives data from the physical switch 2 via the port 11a and passes the data to the virtual machine A 12a.
- FIG. 2B and 2C schematically show the configurations of the host server B1b and the host server C1c, which are physical computers, respectively. These basic configurations are the same as those of the host server A1a, and differences from the host server A1a will be mainly described below.
- the host server B1b includes four CPUs 13d to 13g.
- the two virtual machines B12b and the virtual server C12c communicate data via the virtual switch 161b of the virtualization software 16b. Data communicated between them is not output from the virtual switch 161b to the port 11b, but is transmitted and received by the host server B1b.
- the device information 15b includes configuration information and status information of the host server B1b.
- the host server C1c includes four CPUs 13h to 13k.
- the virtual machine D12d performs data communication with other virtual machines via the virtual switch 161c of the virtualization software 16c.
- the device information 15c includes configuration information and status information of the host server C1c.
- FIG. 3 schematically shows the configuration of the physical switch 2.
- the physical switch 2 includes a controller 22, device information 23, and traffic information 24. Although not shown, the physical switch 2 includes a switch circuit in addition to these.
- the controller 22 sets the data transfer destination by the switch circuit and controls the processing in the physical switch 2.
- Controller 22 transmits and receives information in response to a request from an external device. Specifically, in response to a request from the controller 22 and the management server 3, information included in the device information 23 and the traffic information 24 is transmitted.
- the device information 23 and the traffic information 24 are typically stored in a nonvolatile storage device in the physical switch 2. The device information 23 and traffic information 24 will be described later.
- the physical switch 2 in this example is configured by one unit, but the physical switch 2 can be configured by a plurality of units. Each unit has the configuration shown in FIG.
- the physical switch 2 has two units, and the ports of the units are interconnected by wiring. Data communicated between the ports of different units passes through the ports that interconnect the units.
- FIG. 4A is a block diagram schematically showing a hardware configuration of the management server 3 which is a physical computer.
- the management server 3 includes a port 31, a CPU 32 that is a processor, a memory 35 that is a main storage device, a secondary storage device 36, a display interface 34, and an input device interface 33. These devices are connected via a bus.
- the input device interface 33 is connected to an input device 37, and the display interface 34 is connected to a display 38.
- the management server 3 is connected to the network 4 via the port 31 and communicates with other devices in the system.
- the management server 3 may have a plurality of ports.
- the administrator uses the input device 37 and the display 38 to input and confirm necessary information.
- the input device 37 is typically a mouse and a keyboard.
- the management server 3 may include an output device different from the display 38.
- FIG. 4A illustrates the management server 3 including the input / output device, but the administrator may use the function of the management server 3 from another computer via the network 4.
- the CPU 32 implements a predetermined function of the management server 3 by executing a program stored in the memory 35.
- FIG. 4B shows a program and a table for realizing the function of the management server 3.
- the management server 3 includes a device information acquisition unit 351, a traffic information acquisition unit 352, a virtual machine-host server traffic calculation unit 353, a virtual machine migration traffic calculation unit 354, and a virtual machine migration selection unit 355. . These are programs.
- the function of the management server 3 is indicated by five programs, but the number of programs may be any number.
- the functions of any two programs may be executed by one program, and the functions of one program may be executed by a plurality of programs. A part of the processing of a certain program may be executed by another program.
- the CPU 32 can operate as these functional units by operating according to these programs. Therefore, the processing performed by the program is the processing of the CPU 32 and the management server 3 including the CPU 32.
- FIG. 4B shows a program in the memory 35 for convenience of explanation, but data (including a program) required for the processing of the management server 3 is typically transferred from the secondary storage device 36 to the memory 35. Stored. The operation of these programs (according to the CPU 32) will be described later.
- the processor of the management server 3 is configured by one CPU, but the processor can include a plurality of CPUs.
- the management server 3 includes a physical switch prediction traffic table 361, a host server information table 362, a migration destination candidate table 363, a physical switch information table 364, an inter-virtual machine traffic information table 365, a virtual machine-host server.
- a traffic information table 366 is provided.
- each table information used for system operation management is stored in each table.
- the number of tables including necessary information and the information stored in each table depend on the system design.
- the information stored in the data storage area does not depend on the data structure and may be expressed in any data structure. For example, a data structure appropriately selected from a table, list, or database can store information.
- FIG. 4B shows the table in the secondary storage device 36 for convenience, but typically the CPU 32 obtains data of these tables loaded in the memory 35.
- the program and table (information) are stored in the storage area of each information in the memory 35 and the secondary storage device 36.
- the secondary storage device 36 is a non-volatile storage device that stores the program and information necessary for realizing the predetermined function of the management server 3.
- the secondary storage device 36 is typically a hard disk device.
- the management server 3 may use a semiconductor storage medium such as a flash memory, or may use a storage device connected via a network.
- the memory 35, the secondary memory device 36, and the set thereof are storage devices, and may include other elements.
- the management server 3 creates the tables 361 to 366 before selecting the destination of the virtual machine.
- the tables 361 to 366 and their creation by the management server 3 will be described.
- FIG. 5 shows a configuration example of the host server information table 362.
- the host server information table 362 has status information of the host servers A1a to C1c, and in this example, the status information includes hardware configuration information and usage status information.
- the host server information table 362 stores information on the number of CPUs of each host server, the CPU usage rate, the memory capacity, and the memory usage rate.
- the device information acquisition unit 351 in the management server 3 acquires information from each of the host servers A1a to C1c.
- the device information acquisition unit 351 requests the host server A1a to the host server C1c to transmit information registered in the host server information table 362 via the network 4 and the physical switch 2.
- the device information acquisition unit 351 may transmit a request according to SNMP (Simple Network Management Protocol).
- the virtualization software 16a to 16c or the management OS of the host server A1a to the host server C1c transmits the requested information to the management server 3 in response to a request from the device information acquisition unit 351.
- the device information 15a to 15c of the host server A1a to the host server C1c stores hardware configurations such as the number of CPUs and memory capacity.
- the host server A1a to the host server C1c may transmit the CPU usage rate and the memory usage rate when receiving the request to the management server 3.
- the device information acquisition unit 351 registers information acquired from the host server A1a to the host server C1c in the host server information table 362.
- the device information acquisition unit 351 may acquire the device information at any timing before the selection of the destination of the virtual machine. Typically, in order to select a more appropriate destination, it is necessary to move the virtual server. Acquire device information after determination.
- FIG. 6 shows a configuration example of the physical switch information table 364.
- the physical switch information table 364 has state information of the physical switch 2, and in this example, includes state information of the hardware configuration and information on its use state.
- the physical switch information table 364 stores information on the bandwidth and usage rate of the main body of the physical switch 2 and the bandwidth and usage rate of each port. Bandwidth is the capacity of data transfer.
- the table 364 further stores external devices (connection destinations) of communication partners of each port.
- the device information acquisition unit 351 in the management server 3 acquires information of the host server information table 362 from the physical switch 2. Specifically, the device information acquisition unit 351 requests the physical switch 2 to transmit information via the network 4. For example, the device information acquisition unit 351 may transmit a request according to SNMP (Simple Network Management Protocol).
- SNMP Simple Network Management Protocol
- the controller 22 of the physical switch 2 transmits the requested information to the management server 3.
- the controller 22 stores the hardware configuration information of the physical switch 2 and the connection relationship with other devices in the device information 23.
- the switch body, the bandwidth of each port, and the connection destination of the port are stored in the device information 23.
- the controller 22 can obtain this information in the negotiation with the connection destination.
- the controller 22 acquires bandwidth information from the device information 23 and transmits it.
- the controller 22 updates the traffic information 24 periodically or in response to a predetermined event.
- the controller 22 stores the total communication amount of the switch body and each port in the traffic information 24.
- the total communication amount is, for example, a cumulative value of traffic (for example, the number of input / output packets) since the previous reset.
- the controller 22 transmits these values in response to a request from the device information acquisition unit 351.
- the device information acquisition unit 351 can periodically acquire this traffic information and calculate the bandwidth usage amount by dividing the traffic increase amount by time.
- the device information acquisition unit 351 registers the bandwidth information acquired from the physical switch 22 and the calculated bandwidth usage information in the physical switch information table 364. Note that the controller of the physical switch 22 may calculate the bandwidth usage amount and transmit it to the device information acquisition unit 351. In the configuration, the device information acquisition unit 351 typically acquires device information and traffic information after determining the movement of the virtual server.
- the device information acquisition unit 351 automatically acquires necessary information from the host server A1a to the host server C1c and the physical switch 2. Unlike this, the administrator may obtain necessary information from the host server A1a to the host server C1c and the physical switch 2 by operating the management server 3 (or other computer). The administrator registers the acquired information in the host server information table 362 and the physical switch information table 364.
- the information acquired by the device information acquisition unit 351 is preferably the above information, but may include information different from this.
- the device information acquisition unit 351 may register the number of power supplies in the host server information or register the throughput in the physical switch information.
- FIG. 7 shows a configuration example of the inter-virtual machine traffic information table 365.
- the inter-virtual machine traffic information table 365 indicates data communication traffic (band usage in this example) between each of the virtual machines A12a to D12d operating in the system.
- the host server of each transmission source virtual machine and the host server of the transmission destination virtual machine are also included in the inter-virtual machine traffic information table 365.
- this table 365 stores the bandwidth usage (traffic) of each communication direction between two virtual machines for each pair of the inter-virtual machine traffic information table 365.
- the transmission amount (bandwidth usage) from the virtual machine C12c to the virtual machine D12d between the virtual machine A12a and the virtual machine B12b is 20 Mbps
- the transmission amount (bandwidth usage) from the virtual machine D12d to the virtual machine C12c. ) Is 30 Mbps.
- the bandwidth usage between the virtual machine B 12b and the virtual machine C 12c is blank in both directions. Both the virtual machine B12b and the virtual machine C12c are operating on the host server B1b.
- the inter-virtual machine traffic information table 365 stores the bidirectional bandwidth usage between virtual machines operating on different host servers.
- the traffic information acquisition unit 352 creates a virtual machine traffic information table 365 and writes information in the table.
- the traffic information acquisition unit 352 updates the inter-virtual machine traffic information table 365 periodically or in response to a predetermined event.
- the creation or update of the inter-virtual machine traffic information table 365 is matched with the physical switch information table 364.
- FIG. 8 is a flowchart showing a flow of information registration processing in the inter-virtual machine traffic information table 365 by the traffic information acquisition unit 352.
- the traffic information acquisition unit 352 executes Step 101 to Step 104 for all combinations of the two virtual machines.
- the traffic information acquisition unit 352 first determines whether or not the virtual machine M and the virtual machine N exist on one host server (S101). Virtual machine M and virtual machine N are any two selected from virtual machine A to virtual machine D. When two virtual machines are operating on one host server (Y in S101), the traffic information acquisition unit 352 ends the process for the pair. In this example, the virtual machine B12b and the virtual machine C12c correspond to this.
- the traffic information acquisition unit 352 acquires transmission traffic from the virtual machine M to the virtual machine N (S102), and further the virtual machine The transmission traffic from N to the virtual machine M is acquired (S103).
- the traffic information acquisition unit 352 writes the acquired two traffics in the inter-virtual machine traffic information table 365.
- the traffic information acquisition unit 352 acquires traffic information from the physical switch 2 in accordance with, for example, the NetFlow protocol.
- the traffic information stored in the controller 22 of the physical switch 2 includes traffic information between virtual machines (transmission traffic from the virtual machine M to the virtual machine N and transmission traffic from the virtual machine N to the virtual machine M).
- the traffic information acquisition unit 352 can acquire traffic information between virtual machines operating on different host servers from the physical switch 2 to create and update the inter-virtual machine traffic information table 365 shown in FIG. Traffic information between virtual machines (between virtual machine B 12b and virtual machine C 12c) on one host server in the table cannot be acquired from the physical switch 2. The specification of the traffic between these will be described later.
- the information acquired by the traffic information acquisition unit is not limited to that of this embodiment as long as it corresponds to the physical switch information table 364.
- the bandwidth usage is acquired as the traffic information.
- the traffic is Get the number of input / output packets as information.
- the selection of the destination host server for the virtual machine uses traffic information between the virtual machine and each host server. Therefore, the inter-virtual machine traffic information table 365 may include information that directly indicates bi-directional transmission traffic between each virtual machine and each host server.
- the traffic information acquisition unit 352 acquires traffic information between virtual machines from the physical switch 2, but may acquire traffic information from a different component. For example, according to the NetFlow protocol, the traffic information acquisition unit 352 may acquire traffic information from the virtualization software 16a to 16c.
- the example of the inter-virtual machine traffic information table 365 has bi-directional traffic between two virtual machines, but may have bi-directional total traffic.
- traffic information acquisition example from the physical switch 2 it is assumed that traffic information between virtual machines (between the virtual machine B 12b and the virtual machine C 12c) on one host server cannot be directly acquired.
- the traffic information acquisition unit 352 may acquire it from the virtualization software 16b or the management OS.
- the virtual machine host server traffic calculator 353 creates and updates this table 366.
- FIG. 9 shows an example of the configuration of the virtual machine-host server traffic information table 366. This table has traffic (band usage in this example) between each virtual machine and each host server.
- the total traffic is the sum of the transmission traffic from the virtual machine to the host server and the transmission traffic from the host server to the virtual machine.
- the virtual machine-host server traffic information table 366 includes a bandwidth usage (traffic) between each virtual machine (for example, the virtual machine A11a) and an external host server (for example, the host server B1b and the host server C1c), It has information on bandwidth usage (traffic) between each virtual machine and the host server (for example, host server A1a) where the virtual server exists.
- a bandwidth usage for example, the virtual machine A11a
- an external host server for example, the host server B1b and the host server C1c
- the virtual machine performs data communication with a virtual machine operating on another host server, and also performs virtual network communication with another virtual machine operating on the same host server. Communication on one host server appears to the two virtual machines as network communication, but in reality, data is transmitted and received within the same host server (without going through the network).
- the communication on the network between the destination host server and the virtual machine before the movement changes to transmission / reception of data on the host server due to the movement of the virtual machine. Since there is no network traffic due to this communication, a large change occurs in the network traffic.
- the traffic after moving the virtual machine to another host server is accurate. Can be predicted. Depending on the design, the traffic after movement may be predicted only from the traffic between the virtual machine and the external host server. However, for accurate traffic prediction, this example is used between the virtual machine and the current host server. Identify traffic and use it to predict post-movement traffic.
- the traffic between the moving virtual machine C12c and each of the host server A1a to the host server C1c is measured and calculated, and the traffic after moving the virtual server C12c is predicted from the traffic.
- the traffic after moving the virtual machine may be predicted from the traffic information specifying only the host server as the subject of transmission and reception.
- the virtual machine host server traffic calculator 353 calculates traffic on the same host server (data amount transmitted and received) from the acquired information.
- the processing flow of the virtual machine host server traffic calculation unit 353 will be described with reference to the flowchart of FIG.
- the virtual machine host server traffic calculation unit 353 executes Step 201 to Step 207 for all combinations of virtual machines and host servers. In this example, there are 12 combinations between 4 virtual machines and 3 host servers.
- the virtual machine host server traffic calculator 353 first determines whether or not the virtual machine host server and the communication partner host server are the same (S201). If they are different host servers (N in S201), steps 202 to 204 are executed. For example, in the example of the virtual machine A12a, steps 202 to 204 are executed for the communication between the virtual machine A12a and the host server B1b and the communication between the virtual machine A12a and the host server C1c.
- the virtual machine host server traffic calculation unit 353 acquires transmission traffic from the virtual machine to the host server virtual machine in the current combination (S202). When a plurality of virtual machines are operating on the host server, the transmission traffic is the total transmission traffic to the plurality of virtual machines. With reference to the inter-virtual machine traffic information table 365, this transmission traffic can be calculated.
- the inter-virtual machine host server traffic calculation unit 353 determines all (one or more) virtual machines from the target virtual machine (for example, the virtual machine A12a) to which the target host server (for example, the host server B1b) exists.
- the transmission traffic to each of the machines for example, virtual machine B12b and virtual machine C12c) is acquired. Furthermore, the sum total of those transmission traffic is calculated. This value is the transmission traffic from the virtual machine to the virtual machine of the host server.
- the virtual machine host server traffic calculation unit 353 acquires transmission traffic from the virtual machine on the host server to the virtual machine in the current combination (S203). Similar to step 202, the transmission traffic can be calculated by referring to the inter-virtual machine traffic information table 365.
- the traffic calculation unit 353 between the virtual machine host servers from all (one or more) virtual machines (for example, the virtual machine B12b and the virtual machine C12c) in which the target host server (for example, the host server B1b) exists.
- Each transmission traffic to the target virtual machine for example, virtual machine A12a
- the sum total of those transmission traffic is calculated. This value is the transmission traffic from the virtual machine existing in the target host server to the target virtual machine.
- the virtual machine host server traffic calculation unit 353 calculates the sum of the two calculated transmission traffics, and registers it as the traffic between the virtual machine and the host server in the virtual machine-host server traffic information table 366 (S204). ).
- step 201 when the host server of the virtual machine and the host server of the communication partner are the same (Y in S201), the virtual machine host server traffic calculation unit 353 executes step 205 to step 207.
- Steps 205 to 207 are executed for communication between the virtual machine A12a and the host server A1a.
- the virtual machine host server traffic calculation unit 353 acquires traffic (overall traffic) transmitted and received by the target virtual machine (S205). For example, the virtual machine host server traffic calculation unit 353 can acquire the information from the virtual machine according to SNMP. If the virtualization software has that information, it may obtain that information from it.
- the virtual machine host server traffic calculation unit 353 acquires traffic (external traffic) with the target virtual machine transmitted and received by the physical switch 2 (S206). This traffic can be calculated with reference to the inter-virtual machine traffic information table 365.
- the inter-virtual machine traffic information table 365 has traffic between the virtual machine and an external host server (a host server other than the host server on which the virtual machine exists), and the sum of these traffic is the external traffic. is there.
- the virtual machine host server traffic calculation unit 353 then calculates a value obtained by subtracting external traffic from the total traffic. Further, the calculated value is registered in the virtual machine-host server traffic information table 366 as traffic between the virtual machine and the host server on which the virtual machine is operating (S207).
- the host server B1b has traffic on one host server. That is, the traffic between the virtual machine and the host server on which the virtual machine is operating is only the traffic due to the communication between the virtual machine B12b and the virtual machine C1c.
- the bandwidth usage between the virtual machine A12a and the host server A1a is 0 Mbps
- the bandwidth usage between the virtual machine D12d and the host server C1ac is also 0 Mbps.
- the bandwidth usage between the virtual machines B12b and C12c and the host server B1b is 300 Mbps.
- This processing example assumes that traffic information between virtual machines on one host server cannot be obtained directly. Therefore, calculation of traffic between the virtual machine and the host server uses different methods for communication between the virtual machine and an external host server and communication between the virtual machine and the host server on which the virtual machine exists. As described above, when the virtualization software has traffic information in the host server, the calculation method in steps 202 to 204 may be applied to all cases.
- FIG. 11 shows a configuration example of the physical switch prediction traffic table 361.
- the traffic calculation unit 354 after moving the virtual machine creates this table 361.
- the physical switch prediction traffic table 361 has a traffic prediction value after moving the virtual machine.
- the physical switch predicted traffic table 361 indicates the predicted traffic after the movement of the virtual machine C12c, as shown in FIG. Specifically, the column “Move to Host Server A” stores predicted values of bandwidth usage in the physical switch main body and ports A21a to E21e when the virtual machine C12c is moved to the host server A1a. . Similarly, the column “Move to Host Server C” stores predicted values of bandwidth usage in the physical switch body and ports A21a to E21e when the virtual machine C12c is moved to the host server C1c.
- the after-virtual machine movement traffic calculation unit 354 can create the physical switch prediction traffic table 361 by referring to the physical switch information table 364 and the virtual machine-host server traffic information table 366.
- FIG. 12 is a flowchart illustrating a flow of processing (creation of the predicted traffic table 361) in which the traffic calculation unit 354 after moving the virtual machine calculates the load of the physical switch 2 after moving the virtual machine.
- FIG. 13 shows current traffic before moving the virtual machine C1c. Traffic of 400 Mbps, 300 Mbps, and 500 Mbps exists between the virtual machine C1c, the virtual machine A1a, the virtual machine B1b, and the virtual machine D1d, respectively.
- FIG. 14 shows predicted traffic when the virtual machine C1c is moved from the host server B1b to the host server A1a.
- FIG. 15 shows predicted traffic when the virtual machine C1c is moved from the host server B1b to the host server C1c.
- Each of the traffic between the virtual machines and each of the traffic between the virtual machines and the host server are not changed by the movement of the virtual machine C1c.
- the traffic between the host server A1a to the host server C1c and the physical switch 2 changes due to the movement of the virtual machine C1c.
- the host servers A1a to C1c communicate with external devices (physical switch 2 and other host servers) via ports 11a to 11c.
- the physical switch 2 performs data communication via the port A21a to the port E21e.
- bandwidth usage in this example In traffic control, traffic at ports (band usage in this example) is an important factor. In the physical switch 2, the traffic of the main body is also an important factor. If the bandwidth usage is large with respect to the bandwidth of the port (switch body), the communication speed becomes slow. Therefore, it is preferable that the bandwidth usage in each element is within a specified range.
- the traffic in the physical switch 2 is referred to when selecting the destination host server of the virtual machine. Thereby, appropriate measurement and prediction of the communication network of the host server A1a to the host server C1c can be performed efficiently.
- a configuration that refers to the traffic of the main body of the physical switch 2 and the traffic of each port will be described. Selection of the destination host server may refer to other traffic information, for example, traffic at the port of the host server.
- the bandwidth of the pair of corresponding ports of the physical switch 2 and the host server A1a to the host server C1c is set to a small bandwidth in the port pair by negotiation between them. In this way, since the bandwidths of the corresponding ports are set to the same value, appropriate traffic on the network can be realized after the movement by using the traffic of the physical switch 2 for selecting the movement destination.
- the creation of the predicted traffic table 361 by the traffic calculation unit 354 after moving the virtual machine will be described with reference to FIG.
- the post-virtual machine movement traffic calculation unit 354 repeats Step 301 to Step 306 for all entries in the physical switch information table 364 for each of all the destination host server candidates.
- the after-virtual machine movement traffic calculation unit 354 executes steps 301 to 306 for each of all entries in the physical switch information table 364 when the virtual machine C12c is moved to the host server A1a. . Further, Step 301 to Step 306 are executed for each of all entries in the physical switch information table 364 when the virtual machine C12c is moved to the host server C1c.
- the after-virtual machine movement traffic calculation unit 354 identifies the part of the target entry (traffic calculation target).
- the after-virtual machine movement traffic calculation unit 354 calculates the predicted load (traffic) of the switch body according to the following equation. Current bandwidth used-(V-Hd traffic) + (V-Hc traffic)
- V is a virtual machine
- Hd is a migration destination candidate host server
- Hc is a current host server of the virtual machine.
- This formula subtracts the traffic between the target virtual machine (virtual machine C12c in this example) and the destination host server (host server A1a or host server C1c) from the current bandwidth used by the switch body. Furthermore, it shows that the traffic between the target virtual machine and the current host server (host server B1b in this example) is added.
- the after-virtual machine movement traffic calculation unit 354 specifies the connection destination of the port (S303).
- the connection destination is any one of the migration destination candidate host server Hd, the current host server Hc of the moving virtual machine, or another host server Ho.
- the traffic calculation unit 354 after moving the virtual machine can acquire this information from the physical switch information table 364.
- the after-virtual machine movement traffic calculation unit 354 registers the current bandwidth usage in the physical switch information table 364 in the predicted traffic table 361. (This step is not shown).
- the after-virtual machine movement traffic calculation unit 354 calculates the predicted load (traffic) of the port according to the following equation (S304). Current bandwidth used-(V-Hd traffic) + (Traffic between V-Hc)-(traffic between V-Ho)
- This formula subtracts the traffic between the target virtual machine (virtual machine C12c in this example) and the migration destination candidate host server (one of the host server A1a and the host server C1c) from the current used bandwidth of the port.
- the traffic between the target virtual machine and the current host server (host server B1b in this example) is added, and the target virtual machine and other host servers (the other of the host server A1a and the host server C1c) Shows that the traffic between is subtracted.
- the post-virtual machine movement traffic calculation unit 354 calculates the predicted load (traffic) of the port according to the following equation (S305). ). Current bandwidth used-(V-Hd traffic) + (Traffic between V-Hc) + (traffic between V-Ho)
- This formula subtracts the traffic between the target virtual machine (in this example, virtual machine C12c) and the destination host server (one of host server A1A or host server C1C) from the current bandwidth used by the port.
- the traffic between the target virtual machine and the current host server (host server B1B in this example) is added, and the target virtual machine and other host servers (the other of the host server A1A and the host server C1C) Shows that the traffic between is added.
- the after-virtual machine movement traffic calculation unit 354 registers the value calculated in step 304 and step 305 in the predicted traffic table 361 as the traffic predicted value of the port of the entry (S306).
- the selection of the destination host server of the virtual machine refers to the predicted traffic table 361.
- the virtual machine destination selection unit 355 (see FIG. 4B) selects a destination host server for the virtual machine.
- the virtual machine destination selection unit 355 determines the destination by referring to the status information of the destination host server and the expected traffic after moving the virtual machine.
- the destination host server may be determined without referring to the status information of the destination host server. In the following, processing for selecting a destination from both viewpoints will be described.
- FIG. 16 shows a configuration example of the destination candidate table 363.
- the virtual machine migration destination selection unit 355 creates the table 363.
- the virtual machine migration destination selection unit 355 refers to the host server information table 362, acquires the CPU usage rate and memory usage rate of the migration destination candidate host server, and registers these values in the migration destination candidate table 363.
- the host server usage status stores the usage status of the host server before moving the virtual machine.
- the CPU usage rate of the host server C1c is 25%
- the memory usage rate is 30%. Since these values are current values, they do not depend on the migration destination candidate of the virtual machine C12.
- the virtual machine destination selection unit 355 may calculate a predicted value of the usage state (CPU and memory usage rate) after moving the virtual machine C12c, and register the predicted value in the destination candidate table 363.
- the virtual machine destination selection unit 355 further registers the predicted traffic at the two ends of the physical switch and its ports.
- FIG. 16 shows only the ports A21a to C21c related to the host servers A1a to C1c.
- the virtual machine migration destination selection unit 355 can acquire the physical switch body and the bandwidth of each port from the physical switch information table 364. Further, the predicted traffic (predicted usage value) can be acquired from the physical switch predicted traffic table 361.
- the virtual machine destination selection unit 355 determines the priority of the destination candidate based on the status information of the destination candidate host server and the predicted traffic. In the example of FIG. 16, the priority of the host server A1a is HIGH, and the priority of the host server C1c is LOW. The virtual machine destination selection unit 355 selects the host server A1a as the destination host server for the virtual machine C12c.
- the virtual machine migration destination selection unit 355 first determines the priority of each host server according to the usage state of the host server. Since the CPU usage rate and the memory usage rate of the host server C1c are small, the provisional priority is determined to be HIGH. Since the CPU usage rate and the memory usage rate of the host server A1a are slightly high, the provisional priority is determined to MIDDLE.
- the virtual machine destination selection unit 355 further determines the final priority with reference to the predicted traffic.
- the virtual machine C12c moves to the host server A1a
- the bandwidth usage of the switch body, the port A21a, and the port B21b decreases before the movement (see FIGS. 6 and 11). Therefore, the virtual machine migration destination selection unit 355 increases the priority of the host server A1a from MIDDLE to HIGH.
- the virtual machine migration destination selection unit 355 lowers the priority of the host server C1c from HIGH to LOW. By determining the priority of the destination candidate according to the status information of the host server and then correcting the priority according to the predicted traffic, it is possible to select an appropriate destination from the viewpoint of both the host server and the traffic. Note that the virtual machine migration destination selection unit 355 may correct the priority determined according to the predicted traffic based on information of the host server.
- the virtual machine destination selection unit 355 sets the priority of the destination candidate to the lowest or It is preferable to exclude the host server from the destination candidates. Thereby, it is possible to avoid the occurrence of a communication error and a significant decrease in the communication speed due to the reason.
- the virtual machine destination selection unit 355 can use a prescribed threshold value calculated from the bandwidth as a value to be compared with the bandwidth usage. This threshold value may be a value of a prescribed ratio (for example, 90%) of the bandwidth in addition to the bandwidth.
- Priority can be determined using various methods according to the design. For example, the virtual machine migration destination selection unit 355 determines the first priority value of each migration destination candidate host server according to the usage status of the migration destination candidate host server. Further, the second priority value of the destination candidate host server is determined according to the predicted traffic.
- the virtual machine migration destination selection unit 355 determines the migration candidate having the second highest priority value as the migration destination host server in the migration destination candidate host server having the highest first priority value. .
- the state of a destination host server is more important than traffic in selecting a destination candidate. Therefore, it is preferable to use the status information of the host server in preference to the predicted traffic.
- the mobile operation candidate is excluded. Is preferred.
- the virtual machine migration destination selection unit 355 may lower the value of the first priority of the migration destination candidate including the bandwidth usage exceeding the threshold by the specified level.
- the first priority value is determined by preliminarily defining a plurality of CPU usage rates and memory usage rates, and assigning a first priority value to each category. For example, when the first priority can take three values, 0% to 100% are divided into three sections, and one of HIGH, MIDDLE, and LOW is assigned to each section.
- the virtual machine migration destination selection unit 355 determines the lower priority as the first priority value of the migration candidate in the first priority values of the CPU usage rate and the memory usage rate of the migration destination candidate. .
- the determination of the second priority value is performed by, for example, calculating the variation in the predicted bandwidth usage rate (predicted bandwidth usage / bandwidth) in the physical switch 2 and determining the value according to the variation value.
- a plurality of categories of variation values are defined in advance, and a second priority value is assigned to each category.
- the virtual machine destination selection unit 355 determines the value of the category including the predicted bandwidth usage rate as the second priority value of the destination candidate.
- the virtual machine migration destination selection unit 355 may use other values instead of or in addition to the above-mentioned usage rate as the status information of the host server referred to in the priority determination. For example, the number of CPUs, the number of power supplies, or the failure rate of the host server may be used.
- the virtual machine destination selection unit 355 may use the maximum value of the predicted bandwidth usage rate as the value of the predicted traffic to be referred to in the destination selection.
- the virtual machine migration destination selection unit 355 divides the range in which the predicted bandwidth usage rate can be divided into a plurality of sections, and assigns a second priority value to each section.
- the virtual machine destination selection unit 355 determines that the value of the section including the maximum predicted bandwidth usage rate of each destination candidate is the second priority value of the destination candidate.
- the bandwidth usage rate used in the above example is a time average of bandwidth usage, but the virtual machine migration destination selection unit 355 may use the peak bandwidth usage rate as traffic information to be referenced in the migration destination selection.
- the priority can be determined based on the peak bandwidth usage rate by using the same method as the bandwidth usage rate.
- the virtual machine migration destination selection unit 355 selects the migration destination candidate based on the set capacity (bandwidth in the above example) in addition to the traffic (band usage in the above example) of the main body and the port of the physical switch 2. It is preferable to determine the priority. As a result, it is possible to select a destination that can realize appropriate traffic for the specifications of the physical switch 2. Depending on the design, the priority of the destination candidate may be determined only from the traffic of the physical switch 2. For example, when the specification of the physical switch 2 is known, the virtual machine migration destination selection unit 355 may determine the priority using the traffic and the setting value.
- the virtual machine destination selection unit 355 selects the final destination host server. Unlike this, the virtual machine move destination selection unit 355 does not automatically determine the move destination of the virtual machine, displays information necessary for the move destination selection on the display 38 to the administrator, and supports the move destination selection. Also good.
- the virtual machine destination selection unit 355 outputs the destination candidate table 363 shown in FIG.
- the administrator uses the input device 37 to input the identifier of the selected destination host server according to the displayed destination candidate table 363.
- the virtual machine destination selection unit 355 selects the host server indicated by the user input as the destination host server.
- the display image includes information used for determining the priority, in this example, the status information of the host server, the bandwidth of the physical switch Contains information including width (capacity) and predicted traffic. This provides more information useful to the administrator for destination selection.
- the display image may display only the identification information of each destination candidate host server and its priority.
- the image for selecting the destination host server may be displayed by any other method besides directly displaying the priority by a code (numerical value or character).
- the host servers may be arranged in order from the top to the bottom in order of priority, or the color of the identification information of the host server may be changed according to the priority.
- the priority can be two values, LOW and HIGH
- the priority of the destination candidate when the predicted traffic exceeds the capacity of any port is LOW
- the priority of the other destination candidates is HIGH
- the management server 3 displays the move destination candidates with the priority LOW in red, and displays the other move destination candidates in black. Thereby, the priority of each movement destination candidate can be shown.
- the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration.
- at least a part of the processing of the management server may be executed by another physical computer including the host server.
- At least a part of the program may be realized by dedicated hardware.
- the program can be installed in each computer by a program distribution server or a computer-readable non-transitory storage medium, and can be stored in a nonvolatile storage device of each computer.
- all physical computers have a virtual environment
- the system can include a physical computer that does not have a virtual environment.
- the management server selects a physical computer having a virtual environment from all the physical computers as a movement destination candidate, and predicts traffic when the virtual machine is moved to each of the selected physical computers.
- the predicted traffic includes traffic between a virtual machine and a physical computer that does not have a virtual environment.
- the management server may select a part as a destination candidate from a host server having a virtual environment.
- the management server predicts traffic when the virtual machine is moved to each of the migration destination candidate host servers, and determines the priority of each migration destination candidate using the prediction result. For example, the management server excludes host servers that are not appropriate to be included in the destination candidates from the status information of the host server.
- the present invention can be used in a computer system that moves a virtual machine between physical computers via a network.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
One embodiment of the present invention manages a virtual machine within a computer system including a plurality of physical computers communicating via a network. The present management method measures the traffic among a plurality of physical computers within a network. The network traffic is predicted from the result of the measurement of cases where a virtual machine existing on one of the plurality of physical computers is transferred to each transfer destination candidate within the plurality of physical computers. A priority level is determined for the relevant transfer destination candidate on the basis of the predicted traffic. Hereby, it is possible for a system including a network to select a suitable transfer destination for a virtual machine.
Description
本発明は、仮想マシンを管理する方法、計算機システム及び非一時的計算機可読記憶媒体に関し、特に、計算機システムにおける物理計算機間での仮想マシンの移動に関する。
The present invention relates to a method for managing a virtual machine, a computer system, and a non-transitory computer-readable storage medium, and more particularly to movement of a virtual machine between physical computers in the computer system.
複数のホストサーバがネットワークで接続し、各ホストサーバ上で仮想マシンが稼動しているシステムにおいて、あるホストサーバから別のホストサーバへ稼動状態の仮想マシンを短時間で移動する機能が知られている。この機能は、一般に、ライブマイグレーションと呼ばれる。
In a system in which multiple host servers are connected via a network and virtual machines are running on each host server, the function to move an active virtual machine from one host server to another is quickly known. Yes. This function is generally called live migration.
ライフマイグレーションは、一般に、あるホストサーバで稼動している仮想マシンの処理負荷が増大して当該仮想マシンの利用するリソースに不足が生じ、それにより当該ホストサーバが過負荷状態となる事態を回避するために用いられる。ライフマイグレーションは、当該仮想サーバを現在のホストサーバから別のホストサーバに移動することで、リソース不足を解消することができる。
In general, life migration avoids a situation in which the processing load of a virtual machine running on a certain host server increases, resulting in a shortage of resources used by the virtual machine, thereby causing the host server to become overloaded. Used for. In the life migration, the resource shortage can be solved by moving the virtual server from the current host server to another host server.
この他、ユーザとの間で締結したSLA(Service Level Agreement)に沿って、仮想サーバの性能保障を維持するためにライブマイグレーションが用いられる。このように、ライブマイグレーションの用途は多様化しており、ライブマイグレーションにおいて、システムの特性を考慮して適切な移動先を選定することが重要である。
In addition, live migration is used in order to maintain the performance guarantee of the virtual server in accordance with SLA (Service Level Agreement) concluded with the user. As described above, the uses of live migration are diversified, and it is important to select an appropriate destination in consideration of system characteristics in live migration.
これに対し、ライブマイグレーションの際に、仮想マシンが要求するスペック及びにホストサーバの状態、例えば、CPU、電源、ファン、障害履歴を考慮して移動先を選定する技術が特許文献1に示されている。上記特許文献1に開示される技術は、仮想マシンが要求するスペックと実際のホストサーバの状態との整合性から移動先ホストサーバを決定することで、仮想マシンが動作するホストサーバの性能及び信頼性を維持することができる。
On the other hand, Patent Document 1 discloses a technique for selecting a destination in consideration of specifications required by a virtual machine and the state of a host server, for example, CPU, power supply, fan, and failure history during live migration. ing. The technique disclosed in Patent Document 1 determines the performance and reliability of the host server on which the virtual machine operates by determining the destination host server from the consistency between the specifications required by the virtual machine and the state of the actual host server. Sex can be maintained.
システムの適切な運用を実現するためには、各ホストサーバの動作状態のみならず、ネットワークトラフィックを適切に管理することが重要である。しかし、従来の技術は、仮想マシンの移動先ホストサーバの選定において、ネットワークトラフィックを考慮していない。
In order to realize proper operation of the system, it is important to properly manage not only the operating status of each host server but also network traffic. However, the conventional technology does not consider network traffic in selecting a destination host server for a virtual machine.
仮想マシンは、システムにおいて、ネットワークを介して他のホストサーバと通信を行う。そのため、仮想マシンの移動は、ネットワークトラフィックを変化させる。システム管理は、移動によるネットワークトラフィックの変化に応じて仮想マシンを選定し、適切なネットワークトラフィックを維持することが重要である。
The virtual machine communicates with other host servers via the network in the system. Therefore, moving a virtual machine changes network traffic. In system management, it is important to select virtual machines according to changes in network traffic due to movement and maintain appropriate network traffic.
従って、ネットワークにより接続された複数のホストサーバにおける仮想マシンの移動において、ネットワークを含むシステムにとって適切な仮想マシンの移動先を選定する技術が望まれる。
Therefore, there is a demand for a technique for selecting an appropriate virtual machine migration destination for a system including a network in the migration of virtual machines in a plurality of host servers connected by a network.
本発明の一態様は、ネットワークを介して通信する複数の物理計算機を含む計算機システムにおいて、仮想マシンを管理する方法である。この管理方法は、前記ネットワークにおける前記複数の物理計算機間のトラフィックを測定する。前記複数の物理計算機の1つに存在する仮想マシンを前記複数の物理計算機における移動先候補のそれぞれに移動した場合の前記ネットワークのトラフィックを、前記測定の結果から予測する。前記予測したトラフィックに基づいて前記移動先候補の優先度を決定する。
One aspect of the present invention is a method for managing a virtual machine in a computer system including a plurality of physical computers that communicate via a network. This management method measures traffic between the plurality of physical computers in the network. The traffic of the network when a virtual machine existing in one of the plurality of physical computers is moved to each of movement destination candidates in the plurality of physical computers is predicted from the measurement result. The priority of the destination candidate is determined based on the predicted traffic.
本発明によれば、ネットワークを介して通信する複数の物理計算機における仮想マシンの移動において、ネットワークを含むシステムにとって適切な仮想マシンの移動先を選定することができる。
According to the present invention, it is possible to select a destination of a virtual machine suitable for a system including the network in the movement of the virtual machine in a plurality of physical computers communicating via the network.
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. Moreover, in each drawing, the same code | symbol is attached | subjected to the same element and the duplication description is abbreviate | omitted as needed for clarification of description.
本実施形態は、ネットワークを介して通信を行うホストサーバ(物理計算機)間での仮想マシンの移動に特徴を有している。本実施形態は、仮想マシンの移動後のネットワークトラフィックを予測し、その予測したトラフィックを用いて移動先のホストサーバの優先度を決定する。これにより、ネットワークを含むシステムにおいて、仮想マシンの適切な移動先を選定することができる。
This embodiment is characterized in that a virtual machine moves between host servers (physical computers) that communicate via a network. In the present embodiment, network traffic after movement of a virtual machine is predicted, and the priority of the destination host server is determined using the predicted traffic. Thereby, it is possible to select an appropriate destination of the virtual machine in the system including the network.
図1は、本実施形態の計算機システムの構成例を模式的に示すブロック図である。計算機システムは、複数のホストサーバA1a~ホストサーバC1c(複数の物理計算機)、物理スイッチ2及び管理サーバ3を備えている。ホストサーバA1a~ホストサーバC1cは、物理スイッチ2を含むネットワークを介して互いに通信を行う。管理サーバ3は物理計算機である。
FIG. 1 is a block diagram schematically showing a configuration example of a computer system of this embodiment. The computer system includes a plurality of host servers A1a to C1c (a plurality of physical computers), a physical switch 2, and a management server 3. The host servers A1a to C1c communicate with each other via a network including the physical switch 2. The management server 3 is a physical computer.
物理スイッチ2は、複数のポートを備えている。具体的には、ポートA21a~ポートE21eを備えている。図1は物理スイッチ2の一例を示しており、そのポート数は計算機システムに依存する。ホストサーバA1a~ホストサーバC1cは、それぞれ、ポートA21a~ポートC21cに接続している。
The physical switch 2 has a plurality of ports. Specifically, the port A21a to the port E21e are provided. FIG. 1 shows an example of a physical switch 2, and the number of ports depends on the computer system. Host server A1a to host server C1c are connected to port A21a to port C21c, respectively.
図1の例において、ホストサーバA1a~ホストサーバC1cのポート11a~11cが、それぞれ、物理スイッチ2の対応するポートA21a~ポートC21cに接続している。図1の例において、ホストサーバA1a~ホストサーバC1のポートは、それぞれ、配線により物理スイッチ2のポートに接続しているが、ボトルネックとならない他の装置を介して接続していてもよい。ホストサーバA1a~ホストサーバC1のポートと物理スイッチ2のポートとの対応関係は固定であり、通信を行う2つのホストサーバが決まると、通信データが通過するポートも決まる。
In the example of FIG. 1, the ports 11a to 11c of the host server A1a to the host server C1c are connected to the corresponding ports A21a to C21c of the physical switch 2, respectively. In the example of FIG. 1, the ports of the host server A1a to the host server C1 are connected to the ports of the physical switch 2 by wiring, but may be connected via other devices that do not become bottlenecks. The correspondence between the ports of the host servers A1a to C1 and the ports of the physical switch 2 is fixed, and when two host servers that perform communication are determined, the port through which communication data passes is also determined.
ホストサーバA1a~ホストサーバC1c上では、複数の仮想マシンA12a~仮想マシンD12dが動作している。具体的には、仮想マシンA12aはホストサーバA1a上で動作し、仮想マシンB12b及び仮想マシンC12cはホストサーバB1b上で動作し、仮想マシンD12dはホストサーバC1c上で動作している。
A plurality of virtual machines A12a to D12d are operating on the host server A1a to the host server C1c. Specifically, the virtual machine A12a operates on the host server A1a, the virtual machine B12b and the virtual machine C12c operate on the host server B1b, and the virtual machine D12d operates on the host server C1c.
ホストサーバA1a~ホストサーバC1cは、それぞれ仮想化ソフトウェアを実行し、その仮想化ソフトウェア上で仮想マシンが動作する(図2A~図2C参照)。仮想マシンはソフトウェアであって、仮想マシンの構成情報の他、OS(オペレーティングシステム)を含む。本例において仮想マシンは仮想サーバであり、OSの他、仮想サーバのアプリケーションプログラム及びプログラムが動作するためのデータを含む。
Host server A1a to host server C1c each execute virtualization software, and a virtual machine operates on the virtualization software (see FIGS. 2A to 2C). The virtual machine is software and includes an operating system (OS) in addition to the configuration information of the virtual machine. In this example, the virtual machine is a virtual server, and includes an application program of the virtual server and data for operating the program in addition to the OS.
管理サーバ3はポート31を備え、ポートを介してネットワーク4と接続している。管理サーバ3は、ネットワーク4を介して物理スイッチ2と通信し、さらに、ネットワーク4及び物理スイッチ2を介してホストサーバA1a~ホストサーバC1cと通信する。管理サーバ3は、ネットワーク4を介することなく物理スイッチ2と接続していてもよい。管理サーバ3は、仮想マシンA12a~仮想マシンD12dを管理する。
The management server 3 has a port 31 and is connected to the network 4 through the port. The management server 3 communicates with the physical switch 2 via the network 4 and further communicates with the host servers A1a to C1c via the network 4 and the physical switch 2. The management server 3 may be connected to the physical switch 2 without going through the network 4. The management server 3 manages the virtual machines A12a to D12d.
本実施形態の管理サーバ3は、仮想マシンの移動の制御にその特徴を有している。本実施形態は、仮想マシンのライブマイグレーション(稼働中仮想マシンの移動)に特に有用であるが、その他の仮想マシンの移動方法にも適用することができる。
The management server 3 of the present embodiment has a feature in controlling the movement of the virtual machine. This embodiment is particularly useful for virtual machine live migration (moving a running virtual machine), but can also be applied to other virtual machine movement methods.
本実施形態は、仮想マシンの移動例として、仮想マシンC12cのホストサーバB1bから他のホストサーバへの移動を説明する。本例においては、ホストサーバA1a及びホストサーバC1cの一方が選択される。管理サーバ3は、ホストサーバA1a~ホストサーバC1cを接続するネットワークのトラフィックを参照し、適切な移動先ホストサーバを選択する。これにより、物理スイッチ2を含むシステム全体大して適切な移動先ホストサーバを選択することができる。
In the present embodiment, as an example of movement of a virtual machine, movement of the virtual machine C12c from the host server B1b to another host server will be described. In this example, one of the host server A1a and the host server C1c is selected. The management server 3 refers to the traffic on the network connecting the host servers A1a to C1c and selects an appropriate destination host server. This makes it possible to select an appropriate destination host server for the entire system including the physical switch 2.
管理サーバ3は、好ましい構成において、トラフィックの他に、移動先ホストサーバのスペックを参照して移動先ホストサーバを決定する。そこで、図2A~図2Bを参照して、ホストサーバA1a~ホストサーバC1cの構成を説明する。
In the preferred configuration, the management server 3 determines the destination host server by referring to the specifications of the destination host server in addition to the traffic. Therefore, the configuration of the host server A1a to the host server C1c will be described with reference to FIGS. 2A to 2B.
図2Aに示すように、物理計算機であるホストサーバA1aは、3つのCPU13a~13c、主記憶装置であるメモリ14a、機器情報15aを備えている。機器情報15aは、典型的にはホストサーバA1aの二次記憶装置(不揮発性記憶装置)に格納されている。機器情報15aは、ホストサーバA1aの状態に関する情報であり、CPU数やメモリ容量などのハードウェア構成の情報の他、それらの動作状態(使用状態)の情報を含む。機器情報15aは、ネットワークを介して接続している他の記憶装置に格納されていてもよい。機器情報15aについては後述する。
As shown in FIG. 2A, the host server A1a that is a physical computer includes three CPUs 13a to 13c, a memory 14a that is a main storage device, and device information 15a. The device information 15a is typically stored in a secondary storage device (nonvolatile storage device) of the host server A1a. The device information 15a is information relating to the state of the host server A1a, and includes information on the operation state (use state) in addition to information on the hardware configuration such as the number of CPUs and memory capacity. The device information 15a may be stored in another storage device connected via a network. The device information 15a will be described later.
上述のように、ホストサーバA1a上では、仮想化ソフトウェア16aが動作しており、さらに、その上で仮想マシンA12aが動作している。図2Aは、説明の便宜上、メモリ14a内に仮想化ソフトウェア16aと仮想マシンA12aを示しているが、ホストサーバA1aの処理において必要とされるデータ(プログラムを含む)は、典型的に、二次記憶装置からメモリ14aに格納される。各情報(を表すデータ)は、メモリ14a及び二次記憶意装置における、各情報の記憶領域内に格納される。メモリ14a、二次記憶装置及びこれらのセットは、記憶装置である。この点は他のホストサーバについて同様である。
As described above, the virtualization software 16a is operating on the host server A1a, and the virtual machine A12a is operating thereon. For convenience of explanation, FIG. 2A shows the virtualization software 16a and the virtual machine A12a in the memory 14a. However, data (including programs) required for the processing of the host server A1a is typically secondary. It is stored in the memory 14a from the storage device. Each information (representing data) is stored in the storage area of each information in the memory 14a and the secondary storage device. The memory 14a, the secondary storage device, and the set thereof are storage devices. This is the same for other host servers.
CPU13a~13cは、メモリ14aに格納されているプログラムを実行する(プログラム内の指令に従って動作する)ことによって、仮想化ソフトウェア16aと仮想マシンA12a所定の機能を実現する。
The CPUs 13a to 13c execute predetermined programs stored in the memory 14a (operate according to instructions in the program), thereby realizing predetermined functions of the virtualization software 16a and the virtual machine A12a.
仮想化ソフトウェア16aは、仮想スイッチ161aの機能を備える。仮想マシンA12aは、他の仮想マシンB12b~仮想マシンD12dとの通信を、仮想スイッチ161aを介して行う。仮想スイッチ161aは、仮想マシンA12aからデータを受け取り、ポート11aから物理スイッチ2に送信する。同様に、仮想スイッチ161aは、物理スイッチ2からのデータをポート11aを介して受信し、仮想マシンA12aに渡す。
The virtualization software 16a has the function of the virtual switch 161a. The virtual machine A12a communicates with the other virtual machines B12b to D12d via the virtual switch 161a. The virtual switch 161a receives data from the virtual machine A 12a and transmits it to the physical switch 2 from the port 11a. Similarly, the virtual switch 161a receives data from the physical switch 2 via the port 11a and passes the data to the virtual machine A 12a.
図2B及び図2Cは、それぞれ、物理計算機であるホストサーバB1b及びホストサーバC1cの構成を模式的に示している。これらの基本的な構成はホストサーバA1aと同様であり、以下において、主にホストサーバA1aと異なる点を説明する。図2Bに示すように、ホストサーバB1bは、4つのCPU13d~13gを備える。
2B and 2C schematically show the configurations of the host server B1b and the host server C1c, which are physical computers, respectively. These basic configurations are the same as those of the host server A1a, and differences from the host server A1a will be mainly described below. As shown in FIG. 2B, the host server B1b includes four CPUs 13d to 13g.
メモリ14b内に示すように、2つの仮想マシンB12b、仮想サーバC12cは、仮想化ソフトウェア16bの仮想スイッチ161bを介してデータを通信する。これらの間で通信されるデータは、仮想スイッチ161bからポート11bに出力されず、ホストサーバB1bで送受される。機器情報15bは、ホストサーバB1bの構成情報及び状態情報を含む。
As shown in the memory 14b, the two virtual machines B12b and the virtual server C12c communicate data via the virtual switch 161b of the virtualization software 16b. Data communicated between them is not output from the virtual switch 161b to the port 11b, but is transmitted and received by the host server B1b. The device information 15b includes configuration information and status information of the host server B1b.
図2Cに示すように、ホストサーバC1cは、4つのCPU13h~13kを備える。メモリ14c内に示すように、仮想マシンD12dは、仮想化ソフトウェア16cの仮想スイッチ161cを介して他の仮想マシンとデータ通信を行う。機器情報15cは、ホストサーバC1cの構成情報及び状態情報を含む。
As shown in FIG. 2C, the host server C1c includes four CPUs 13h to 13k. As shown in the memory 14c, the virtual machine D12d performs data communication with other virtual machines via the virtual switch 161c of the virtualization software 16c. The device information 15c includes configuration information and status information of the host server C1c.
図3は、物理スイッチ2の構成を模式的に示している。物理スイッチ2は、コントローラ22、機器情報23及びトラフィック情報24を備えている。図示しないが、物理スイッチ2は、これらの他に、スイッチ回路を備える。コントローラ22は、スイッチ回路によるデータの転送先の設定を行う他、物理スイッチ2内の処理を制御する。
FIG. 3 schematically shows the configuration of the physical switch 2. The physical switch 2 includes a controller 22, device information 23, and traffic information 24. Although not shown, the physical switch 2 includes a switch circuit in addition to these. The controller 22 sets the data transfer destination by the switch circuit and controls the processing in the physical switch 2.
コントローラ22は、外部装置からの要求に応じて情報を送受する。具体的には、コントローラ22、管理サーバ3からの要求に応じて、機器情報23及びトラフィック情報24に含まれる情報を送信する。機器情報23及びトラフィック情報24は、典型的には、物理スイッチ2内の不揮発性記憶装置に格納されている。機器情報23及びトラフィック情報24については後述する。
Controller 22 transmits and receives information in response to a request from an external device. Specifically, in response to a request from the controller 22 and the management server 3, information included in the device information 23 and the traffic information 24 is transmitted. The device information 23 and the traffic information 24 are typically stored in a nonvolatile storage device in the physical switch 2. The device information 23 and traffic information 24 will be described later.
本例の物理スイッチ2は1つのユニットで構成されているが、物理スイッチ2は複数のユニットで構成することができる。各ユニットは、図3に示す構成を備える。例えば、物理スイッチ2は、2つのユニットを有し、そのユニットのそれぞれのポートが配線により相互接続される。異なるユニットのポート間で通信されるデータは、ユニットを相互接続するポートを通る。
The physical switch 2 in this example is configured by one unit, but the physical switch 2 can be configured by a plurality of units. Each unit has the configuration shown in FIG. For example, the physical switch 2 has two units, and the ports of the units are interconnected by wiring. Data communicated between the ports of different units passes through the ports that interconnect the units.
図4Aは、物理計算機である管理サーバ3のハードウェア構成を模式的に示すブロック図である。図4Aに示すように、管理サーバ3は、ポート31、プロセッサであるCPU32、主記憶装置であるメモリ35、二次記憶装置36、ディスプレイインタフェース34、入力装置インタフェース33を備える。これら装置は、バスを介して接続している。入力装置インタフェース33は入力装置37と接続し、ディスプレイインタフェース34はディスプレイ38が接続している。
FIG. 4A is a block diagram schematically showing a hardware configuration of the management server 3 which is a physical computer. 4A, the management server 3 includes a port 31, a CPU 32 that is a processor, a memory 35 that is a main storage device, a secondary storage device 36, a display interface 34, and an input device interface 33. These devices are connected via a bus. The input device interface 33 is connected to an input device 37, and the display interface 34 is connected to a display 38.
管理サーバ3は、ポート31を介してネットワーク4と接続しており、システム内の他の装置との間で通信を行う。管理サーバ3は複数のポートを備えていてもよい。管理者(ユーザ)は、入力装置37及びディスプレイ38を使用して、必要な情報の入力及び確認を行う。入力装置37は、典型的には、マウスとキーボードである。管理サーバ3は、ディスプレイ38とは異なる出力装置を備えていてもよい。図4Aは、入出力装置を備える管理サーバ3を例示するが、管理者は、ネットワーク4を介して、別の計算機から管理サーバ3の機能を利用してもよい。
The management server 3 is connected to the network 4 via the port 31 and communicates with other devices in the system. The management server 3 may have a plurality of ports. The administrator (user) uses the input device 37 and the display 38 to input and confirm necessary information. The input device 37 is typically a mouse and a keyboard. The management server 3 may include an output device different from the display 38. FIG. 4A illustrates the management server 3 including the input / output device, but the administrator may use the function of the management server 3 from another computer via the network 4.
CPU32は、メモリ35に格納されているプログラムを実行することによって管理サーバ3の所定の機能を実現する。図4Bは、管理サーバ3の機能を実現するプログラム及びテーブルを示している。具体的には、管理サーバ3は、機器情報取得部351、トラフィック情報取得部352、仮想マシン-ホストサーバ間トラフィック計算部353、仮想マシン移動後トラフィック計算部354、仮想マシン移動選定部355を含む。これらはプログラムである。
The CPU 32 implements a predetermined function of the management server 3 by executing a program stored in the memory 35. FIG. 4B shows a program and a table for realizing the function of the management server 3. Specifically, the management server 3 includes a device information acquisition unit 351, a traffic information acquisition unit 352, a virtual machine-host server traffic calculation unit 353, a virtual machine migration traffic calculation unit 354, and a virtual machine migration selection unit 355. . These are programs.
本例は、管理サーバ3の機能を5つのプログラムにより示すが、プログラムの数は、いくつでもよい。任意の2つのプログラムの機能を1つのプログラムが実行してもよく、1つのプログラムの機能を複数のプログラムが実行してもよい。あるプログラムの一部の処理を、他のプログラムが実行してもよい。
In this example, the function of the management server 3 is indicated by five programs, but the number of programs may be any number. The functions of any two programs may be executed by one program, and the functions of one program may be executed by a plurality of programs. A part of the processing of a certain program may be executed by another program.
CPU32は、これらプログラムに従って動作することで、これら機能部として動作することができる。従って、プログラムの行う処理は、CPU32及びそのCPU32を含む管理サーバ3の処理である。図4Bは、説明の便宜上、メモリ35内にプログラムを示しているが、管理サーバ3の処理において必要とされるデータ(プログラムを含む)は、典型的に、二次記憶装置36からメモリ35に格納される。これらプログラム(に従うCPU32)の動作は後述する。本例において、管理サーバ3のプロセッサは1つのCPUで構成されているが、プロセッサは複数のCPUを含むことができる。
The CPU 32 can operate as these functional units by operating according to these programs. Therefore, the processing performed by the program is the processing of the CPU 32 and the management server 3 including the CPU 32. FIG. 4B shows a program in the memory 35 for convenience of explanation, but data (including a program) required for the processing of the management server 3 is typically transferred from the secondary storage device 36 to the memory 35. Stored. The operation of these programs (according to the CPU 32) will be described later. In this example, the processor of the management server 3 is configured by one CPU, but the processor can include a plurality of CPUs.
図4Bに示すように、管理サー3は、物理スイッチ予測トラフィックテーブル361、ホストサーバ情報テーブル362、移動先候補テーブル363、物理スイッチ情報テーブル364、仮想マシン間トラフィック情報テーブル365、仮想マシン-ホストサーバ間トラフィック情報テーブル366を備える。
As shown in FIG. 4B, the management server 3 includes a physical switch prediction traffic table 361, a host server information table 362, a migration destination candidate table 363, a physical switch information table 364, an inter-virtual machine traffic information table 365, a virtual machine-host server. A traffic information table 366 is provided.
各テーブルの詳細は後述する。本構成例においては、システム運用管理に使用される情報は、上記各テーブルに格納されている。しかし、必要な情報を含むテーブルの数及び各テーブルが格納する情報は、システム設計に依存する。また、本実施形態において、データ記憶領域に格納される情報はデータ構造に依存せず、どのようなデータ構造で表現されていてもよい。例えば、テーブル、リスト若しくはデータベースから適切に選択したデータ構造体が、情報を格納することができる。
Details of each table will be described later. In this configuration example, information used for system operation management is stored in each table. However, the number of tables including necessary information and the information stored in each table depend on the system design. In the present embodiment, the information stored in the data storage area does not depend on the data structure and may be expressed in any data structure. For example, a data structure appropriately selected from a table, list, or database can store information.
図4Bは、便宜上、上記テーブルを二次記憶装置36内に示すが、典型的には、CPU32は、メモリ35にロードされたこれらテーブルのデータを取得する。管理サーバ3において、上記プログラム及びテーブル(情報)は、メモリ35及び二次記憶意装置36における、各情報の記憶領域内に格納される。
FIG. 4B shows the table in the secondary storage device 36 for convenience, but typically the CPU 32 obtains data of these tables loaded in the memory 35. In the management server 3, the program and table (information) are stored in the storage area of each information in the memory 35 and the secondary storage device 36.
二次記憶装置36は、管理サーバ3の所定の機能を実現するために必要な上記プログラム及び情報を格納する不揮発性記憶装置である。二次記憶装置36は、典型的にはハードディスク装置である。管理サーバ3は、フラッシュメモリなどの半導体記憶媒体を使用してもよいし、ネットワークを介して接続された記憶装置を使用してもよい。メモリ35、二次記憶意装置36及びこれらのセットは記憶装置であり、さらに他の要素を含むことができる。
The secondary storage device 36 is a non-volatile storage device that stores the program and information necessary for realizing the predetermined function of the management server 3. The secondary storage device 36 is typically a hard disk device. The management server 3 may use a semiconductor storage medium such as a flash memory, or may use a storage device connected via a network. The memory 35, the secondary memory device 36, and the set thereof are storage devices, and may include other elements.
管理サーバ3は、仮想マシンの移動先を選択するまえに、上記テーブル361~366を作成する。以下において、テーブル361~366及び管理サーバ3によるそれらの作成を説明する。図5は、ホストサーバ情報テーブル362の構成例を示している。ホストサーバ情報テーブル362は、ホストサーバA1a~ホストサーバC1cの状態情報を有し、本例において、その状態情報はハードウェア構成情報及びその使用状態の情報を含む。
The management server 3 creates the tables 361 to 366 before selecting the destination of the virtual machine. In the following, the tables 361 to 366 and their creation by the management server 3 will be described. FIG. 5 shows a configuration example of the host server information table 362. The host server information table 362 has status information of the host servers A1a to C1c, and in this example, the status information includes hardware configuration information and usage status information.
図5の例において、ホストサーバ情報テーブル362は、各ホストサーバのCPUの個数、CPU使用率、メモリの容量及びメモリ使用率の情報を格納している。管理サーバ3における機器情報取得部351は、ホストサーバA1a~ホストサーバC1cのそれぞれから情報を取得する。
In the example of FIG. 5, the host server information table 362 stores information on the number of CPUs of each host server, the CPU usage rate, the memory capacity, and the memory usage rate. The device information acquisition unit 351 in the management server 3 acquires information from each of the host servers A1a to C1c.
具体的には、機器情報取得部351は、ホストサーバA1a~ホストサーバC1cに、ネットワーク4及び物理スイッチ2を介して、ホストサーバ情報テーブル362に登録する情報の送信を要求する。例えば、機器情報取得部351は、SNMP(Simple Network Management Protocol)に従って要求を送信すればよい。
Specifically, the device information acquisition unit 351 requests the host server A1a to the host server C1c to transmit information registered in the host server information table 362 via the network 4 and the physical switch 2. For example, the device information acquisition unit 351 may transmit a request according to SNMP (Simple Network Management Protocol).
ホストサーバA1a~ホストサーバC1cの仮想化ソフトウェア16a~16c又は管理OSは、機器情報取得部351から要求に応じて、その要求されている情報を管理サーバ3に送信する。ホストサーバA1a~ホストサーバC1cの機器情報15a~15cは、CPUの数やメモリ容量などのハードウェア構成を格納している。ホストサーバA1a~ホストサーバC1cは、要求を受信しときのCPU使用率及びメモリ使用率を管理サーバ3に送信すればよい。
The virtualization software 16a to 16c or the management OS of the host server A1a to the host server C1c transmits the requested information to the management server 3 in response to a request from the device information acquisition unit 351. The device information 15a to 15c of the host server A1a to the host server C1c stores hardware configurations such as the number of CPUs and memory capacity. The host server A1a to the host server C1c may transmit the CPU usage rate and the memory usage rate when receiving the request to the management server 3.
機器情報取得部351は、ホストサーバA1a~ホストサーバC1cから取得した情報を、ホストサーバ情報テーブル362に登録する。機器情報取得部351は、仮想マシンの移動先選択の前のいずれのタイミングで機器情報を取得してもよいが、より適切な移動先選択ため、典型的には、仮想サーバを移動することを決定した後に機器情報を取得する。
The device information acquisition unit 351 registers information acquired from the host server A1a to the host server C1c in the host server information table 362. The device information acquisition unit 351 may acquire the device information at any timing before the selection of the destination of the virtual machine. Typically, in order to select a more appropriate destination, it is necessary to move the virtual server. Acquire device information after determination.
図6は、物理スイッチ情報テーブル364の構成例を示している。物理スイッチ情報テーブル364は、物理スイッチ2の状態情報を有し、本例においては、ハードウェア構成の状態情報及びその使用状態の情報を含む。図6の例において、物理スイッチ情報テーブル364は、物理スイッチ2の本体の帯域幅及び使用率並びに各ポートの帯域幅及び使用率の情報を格納している。帯域幅は、データ転送の容量である。本テーブル364は、さらに、各ポートの通信相手の外部装置(接続先)を格納している。
FIG. 6 shows a configuration example of the physical switch information table 364. The physical switch information table 364 has state information of the physical switch 2, and in this example, includes state information of the hardware configuration and information on its use state. In the example of FIG. 6, the physical switch information table 364 stores information on the bandwidth and usage rate of the main body of the physical switch 2 and the bandwidth and usage rate of each port. Bandwidth is the capacity of data transfer. The table 364 further stores external devices (connection destinations) of communication partners of each port.
管理サーバ3における機器情報取得部351は、物理スイッチ2からホストサーバ情報テーブル362の情報を取得する。具体的には、機器情報取得部351は、物理スイッチ2に、ネットワーク4介して、情報の送信を要求する。例えば、機器情報取得部351は、SNMP(Simple Network Management Protocol)に従って要求を送信すればよい。
The device information acquisition unit 351 in the management server 3 acquires information of the host server information table 362 from the physical switch 2. Specifically, the device information acquisition unit 351 requests the physical switch 2 to transmit information via the network 4. For example, the device information acquisition unit 351 may transmit a request according to SNMP (Simple Network Management Protocol).
物理スイッチ2のコントローラ22は、機器情報取得部351から要求に応じて、その要求されている情報を管理サーバ3に送信する。コントローラ22は、機器情報23に、物理スイッチ2のハードウェア構成情報及び他機器との接続関係を格納する。本例において、スイッチ本体及び各ポートの帯域幅並びにポートの接続先は、機器情報23に格納されている。コントローラ22は、接続先とのネゴシエーションにおいて、この情報を得ることができる。コントローラ22は、機器情報取得部351からの要求に応じて、帯域幅の情報を機器情報23から取得して送信する。
In response to a request from the device information acquisition unit 351, the controller 22 of the physical switch 2 transmits the requested information to the management server 3. The controller 22 stores the hardware configuration information of the physical switch 2 and the connection relationship with other devices in the device information 23. In this example, the switch body, the bandwidth of each port, and the connection destination of the port are stored in the device information 23. The controller 22 can obtain this information in the negotiation with the connection destination. In response to a request from the device information acquisition unit 351, the controller 22 acquires bandwidth information from the device information 23 and transmits it.
コントローラ22は、定期的に又は所定のイベントに応答して、トラフィック情報24を更新する。典型的には、コントローラ22は、スイッチ本体及び各ポートの通信総量をトラフィック情報24に格納する。通信総量は、例えば、前回リセットからのトラフィック(例えば入出力パケット数)の累積値である。コントローラ22は、機器情報取得部351から要求に応じて、これらの値を送信する。機器情報取得部351は、定期的にこのトラフィック情報を取得し、トラフィック増加量を時間で除することで帯域使用量を算出することができる。
The controller 22 updates the traffic information 24 periodically or in response to a predetermined event. Typically, the controller 22 stores the total communication amount of the switch body and each port in the traffic information 24. The total communication amount is, for example, a cumulative value of traffic (for example, the number of input / output packets) since the previous reset. The controller 22 transmits these values in response to a request from the device information acquisition unit 351. The device information acquisition unit 351 can periodically acquire this traffic information and calculate the bandwidth usage amount by dividing the traffic increase amount by time.
機器情報取得部351は、物理スイッチ22から取得した帯域幅の情報と算出した帯域使用量の情報を、物理スイッチ情報テーブル364に登録する。なお、物理スイッチ22のコントローラが帯域使用量を算出し、機器情報取得部351に送信してもよい。その構成においては、機器情報取得部351は、典型的には、仮想サーバの移動を決定した後に機器情報とトラフィック情報とを取得する。
The device information acquisition unit 351 registers the bandwidth information acquired from the physical switch 22 and the calculated bandwidth usage information in the physical switch information table 364. Note that the controller of the physical switch 22 may calculate the bandwidth usage amount and transmit it to the device information acquisition unit 351. In the configuration, the device information acquisition unit 351 typically acquires device information and traffic information after determining the movement of the virtual server.
上記構成は、機器情報取得部351が、自動的にホストサーバA1a~ホストサーバC1c及び物理スイッチ2から必要な情報を取得する。これと異なり、管理者が管理サーバ3(又は他の計算機)を操作することによって必要な情報をホストサーバA1a~ホストサーバC1c及び物理スイッチ2から取得してもよい。管理者は、取得した情報を、ホストサーバ情報テーブル362及び物理スイッチ情報テーブル364に登録する。
In the above configuration, the device information acquisition unit 351 automatically acquires necessary information from the host server A1a to the host server C1c and the physical switch 2. Unlike this, the administrator may obtain necessary information from the host server A1a to the host server C1c and the physical switch 2 by operating the management server 3 (or other computer). The administrator registers the acquired information in the host server information table 362 and the physical switch information table 364.
機器情報取得部351が取得する情報(ホストサーバ情報テーブル362及び物理スイッチ情報テーブル364に登録される情報)は、上記情報が好ましいが、これと異なる情報を含むことができる。例えば、機器情報取得部351は、ホストサーバ情報においてその電源の個数を登録しても良いし、物理スイッチ情報においてスループットを登録しても良い。
The information acquired by the device information acquisition unit 351 (information registered in the host server information table 362 and the physical switch information table 364) is preferably the above information, but may include information different from this. For example, the device information acquisition unit 351 may register the number of power supplies in the host server information or register the throughput in the physical switch information.
次に、仮想マシン間トラフィック情報テーブル365について説明する。図7は、仮想マシン間トラフィック情報テーブル365の一構成例を示している。仮想マシン間トラフィック情報テーブル365は、システム内で稼動している仮想マシンA12a~仮想マシンD12dのそれぞれの間のデータ通信トラフィック(本例において帯域使用量)を示す。本例においては、各送信元仮想マシンのホストサーバ及び送信先仮想マシンのホストサーバも仮想マシン間トラフィック情報テーブル365に含まれている。
Next, the inter-virtual machine traffic information table 365 will be described. FIG. 7 shows a configuration example of the inter-virtual machine traffic information table 365. The inter-virtual machine traffic information table 365 indicates data communication traffic (band usage in this example) between each of the virtual machines A12a to D12d operating in the system. In this example, the host server of each transmission source virtual machine and the host server of the transmission destination virtual machine are also included in the inter-virtual machine traffic information table 365.
図7に示すように、本テーブル365は、仮想マシン間トラフィック情報テーブル365のそれぞれのペアについて、2つの仮想マシン間の通信方向のそれぞれの帯域使用量(トラフィック)を格納する。例えば、仮想マシンA12aと仮想マシンB12bとの間において、仮想マシンC12cから仮想マシンD12dへの送信量(帯域使用量)は20Mbpsであり、仮想マシンD12dから仮想マシンC12cへの送信量(帯域使用量)は30Mbpsである。
As shown in FIG. 7, this table 365 stores the bandwidth usage (traffic) of each communication direction between two virtual machines for each pair of the inter-virtual machine traffic information table 365. For example, the transmission amount (bandwidth usage) from the virtual machine C12c to the virtual machine D12d between the virtual machine A12a and the virtual machine B12b is 20 Mbps, and the transmission amount (bandwidth usage) from the virtual machine D12d to the virtual machine C12c. ) Is 30 Mbps.
図7において、仮想マシンB12bと仮想マシンC12cとの間の帯域使用量は、双方向ともブランクである。仮想マシンB12bと仮想マシンC12cとは、共に、ホストサーバB1b上で動作している。このように、仮想マシン間トラフィック情報テーブル365は、異なるホストサーバ上で動作している仮想マシン間の双方向それぞれの帯域使用量を格納している。
In FIG. 7, the bandwidth usage between the virtual machine B 12b and the virtual machine C 12c is blank in both directions. Both the virtual machine B12b and the virtual machine C12c are operating on the host server B1b. As described above, the inter-virtual machine traffic information table 365 stores the bidirectional bandwidth usage between virtual machines operating on different host servers.
本構成例において、トラフィック情報取得部352(図4Bを参照)は、仮想マシン間トラフィック情報テーブル365を作成し、そのテーブルに情報を書き込む。トラフィック情報取得部352は、定期的に又は所定のイベントに応答して、仮想マシン間トラフィック情報テーブル365を更新する。典型的には、仮想マシン間トラフィック情報テーブル365の作成又は更新は、物理スイッチ情報テーブル364と一致させる。
In this configuration example, the traffic information acquisition unit 352 (see FIG. 4B) creates a virtual machine traffic information table 365 and writes information in the table. The traffic information acquisition unit 352 updates the inter-virtual machine traffic information table 365 periodically or in response to a predetermined event. Typically, the creation or update of the inter-virtual machine traffic information table 365 is matched with the physical switch information table 364.
図8は、トラフィック情報取得部352による仮想マシン間トラフィック情報テーブル365への情報登録処理の流れを示すフローチャートである。トラフィック情報取得部352は、2つの仮想マシンの全ての組み合わせについて、ステップ101からステップ104を実行する。
FIG. 8 is a flowchart showing a flow of information registration processing in the inter-virtual machine traffic information table 365 by the traffic information acquisition unit 352. The traffic information acquisition unit 352 executes Step 101 to Step 104 for all combinations of the two virtual machines.
トラフィック情報取得部352は、まず、仮想マシンMと仮想マシンNとが1つのホストサーバ上に存在するいか否かを判定する(S101)。仮想マシンM、仮想マシンNとは、仮想マシンA~仮想マシンDから選択された任意の2つである。2つの仮想マシンが1つのホストサーバ上で動作している場合(S101におけるY)、トラフィック情報取得部352は、そのペアについての処理を終了する。本例において、仮想マシンB12b及び仮想マシンC12cがこれに相当する。
The traffic information acquisition unit 352 first determines whether or not the virtual machine M and the virtual machine N exist on one host server (S101). Virtual machine M and virtual machine N are any two selected from virtual machine A to virtual machine D. When two virtual machines are operating on one host server (Y in S101), the traffic information acquisition unit 352 ends the process for the pair. In this example, the virtual machine B12b and the virtual machine C12c correspond to this.
2つの仮想マシンが異なるホストサーバ上で動作している場合(S101におけるN)、トラフィック情報取得部352は、仮想マシンMから仮想マシンNへの送信トラフィックを取得し(S102)、さらに、仮想マシンNから仮想マシンMへの送信トラフィックを取得する(S103)。トラフィック情報取得部352は、取得した2つのトラフィックを、仮想マシン間トラフィック情報テーブル365に書き込む。
When the two virtual machines are operating on different host servers (N in S101), the traffic information acquisition unit 352 acquires transmission traffic from the virtual machine M to the virtual machine N (S102), and further the virtual machine The transmission traffic from N to the virtual machine M is acquired (S103). The traffic information acquisition unit 352 writes the acquired two traffics in the inter-virtual machine traffic information table 365.
トラフィック情報取得部352は、トラフィック情報を、例えば、NetFlowプロトコルに従って、物理スイッチ2から取得する。物理スイッチ2のコントローラ22が格納するトラフィック情報は、仮想マシン間のトラフィック情報(仮想マシンMから仮想マシンNへの送信トラフィック及び仮想マシンNから仮想マシンMへの送信トラフィック)を含む。
The traffic information acquisition unit 352 acquires traffic information from the physical switch 2 in accordance with, for example, the NetFlow protocol. The traffic information stored in the controller 22 of the physical switch 2 includes traffic information between virtual machines (transmission traffic from the virtual machine M to the virtual machine N and transmission traffic from the virtual machine N to the virtual machine M).
トラフィック情報取得部352は、物理スイッチ2から、異なるホストサーバ上で動作する仮想マシン間のトラフィック情報を取得して、図7に示す仮想マシン間トラフィック情報テーブル365を作成、更新することができる。テーブル1つのホストサーバ上の仮想マシン間(仮想マシンB12bと仮想マシンC12cの間)のトラフィック情報を、物理スイッチ2から取得することができない。これらの間のトラフィックの特定については後述する。
The traffic information acquisition unit 352 can acquire traffic information between virtual machines operating on different host servers from the physical switch 2 to create and update the inter-virtual machine traffic information table 365 shown in FIG. Traffic information between virtual machines (between virtual machine B 12b and virtual machine C 12c) on one host server in the table cannot be acquired from the physical switch 2. The specification of the traffic between these will be described later.
トラフィック情報取得部が取得する情報は、物理スイッチ情報テーブル364に対応するものであれば、この実施形態のものに限らない。この実施形態においては、物理スイッチ情報テーブルに帯域幅が登録されているので、トラフィック情報としては帯域使用量を取得しているが、例えば物理スイッチ情報としてスループットを登録していた場合には、トラフィック情報として入出力パケット数を取得する。
The information acquired by the traffic information acquisition unit is not limited to that of this embodiment as long as it corresponds to the physical switch information table 364. In this embodiment, since the bandwidth is registered in the physical switch information table, the bandwidth usage is acquired as the traffic information. For example, when the throughput is registered as the physical switch information, the traffic is Get the number of input / output packets as information.
後述ように、仮想マシンの移動先ホストサーバの選定は、仮想マシンと各ホストサーバとの間のトラフィック情報を使用する。従って、仮想マシン間トラフィック情報テーブル365は、各仮想マシンと各ホストサーバとの間における、双方向それぞれの送信トラフィックを直接に示す情報を含んでいてもよい。
As will be described later, the selection of the destination host server for the virtual machine uses traffic information between the virtual machine and each host server. Therefore, the inter-virtual machine traffic information table 365 may include information that directly indicates bi-directional transmission traffic between each virtual machine and each host server.
本例において、トラフィック情報取得部352は、物理スイッチ2から仮想マシン間のトラフィック情報を取得するが、これと異なる構成要素からトラフィック情報を取得してもよい。例えば、NetFlowプロトコルに従って、トラフィック情報取得部352は、仮想化ソフトウェア16a~16cからトラフィック情報を取得してもよい。
In this example, the traffic information acquisition unit 352 acquires traffic information between virtual machines from the physical switch 2, but may acquire traffic information from a different component. For example, according to the NetFlow protocol, the traffic information acquisition unit 352 may acquire traffic information from the virtualization software 16a to 16c.
上記仮想マシン間トラフィック情報テーブル365の例は、2つの仮想マシン間の双方向のそれぞれのトラフィックを有するが、双方向の合計トラフィックを有していてもよい。上記物理スイッチ2からのトラフィック情報取得例において、1つのホストサーバ上の仮想マシン間(仮想マシンB12bと仮想マシンC12cの間)のトラフィック情報を、直接取得できないことを仮定している。仮想化ソフトウェア16bがこの情報を有する場合、トラフィック情報取得部352は、それを仮想化ソフトウェア16b又は管理OSから取得してもよい。
The example of the inter-virtual machine traffic information table 365 has bi-directional traffic between two virtual machines, but may have bi-directional total traffic. In the traffic information acquisition example from the physical switch 2, it is assumed that traffic information between virtual machines (between the virtual machine B 12b and the virtual machine C 12c) on one host server cannot be directly acquired. When the virtualization software 16b has this information, the traffic information acquisition unit 352 may acquire it from the virtualization software 16b or the management OS.
次に、仮想マシン-ホストサーバ間トラフィック情報テーブル366について説明する。仮想マシンホストサーバ間トラフィック計算部353(図4Bを参照)が、このテーブル366を作成し更新する。図9は、仮想マシン-ホストサーバ間トラフィック情報テーブル366の一構成例を示している。本テーブルは、各仮想マシンと各ホストサーバとの間のトラフィック(本例において帯域使用量)を有している。
Next, the virtual machine-host server traffic information table 366 will be described. The virtual machine host server traffic calculator 353 (see FIG. 4B) creates and updates this table 366. FIG. 9 shows an example of the configuration of the virtual machine-host server traffic information table 366. This table has traffic (band usage in this example) between each virtual machine and each host server.
図9に示すように、仮想マシンとホストサーバとの間の通信における双方向の総トラフィックを示す。総トラフィックは、仮想マシンからホストサーバへの送信トラフィックとホストサーバから仮想マシンへの送信トラフィックの和である。
As shown in FIG. 9, the total bidirectional traffic in the communication between the virtual machine and the host server is shown. The total traffic is the sum of the transmission traffic from the virtual machine to the host server and the transmission traffic from the host server to the virtual machine.
仮想マシン-ホストサーバ間トラフィック情報テーブル366は、各仮想マシン(例えば仮想マシンA11a)と外部のホストサーバ(例えば、ホストサーバB1b及びホストサーバC1c)との間の帯域使用量(トラフィック)に加え、各仮想マシンとその仮想サーバが存在しているホストサーバ(例えば、ホストサーバA1a)との間の帯域使用量(トラフィック)の情報を有している。
The virtual machine-host server traffic information table 366 includes a bandwidth usage (traffic) between each virtual machine (for example, the virtual machine A11a) and an external host server (for example, the host server B1b and the host server C1c), It has information on bandwidth usage (traffic) between each virtual machine and the host server (for example, host server A1a) where the virtual server exists.
仮想マシンは、他のホストサーバ上で動作する仮想マシンとデータ通信を行うほか、同一ホストサーバ上で動作する他の仮想マシンとの間で仮想的なネットワーク通信を行う。1つのホストサーバ上での通信は、2つの仮想マシンにとってはネットワーク通信に見えるが、実際には同一ホストサーバ内(ネットワークを介することなく)でデータを送受する。
The virtual machine performs data communication with a virtual machine operating on another host server, and also performs virtual network communication with another virtual machine operating on the same host server. Communication on one host server appears to the two virtual machines as network communication, but in reality, data is transmitted and received within the same host server (without going through the network).
1つのホストサーバで動作している複数の仮想マシンのうちの1つを、他のホストサーバに移動すると、移動元のホストサーバと移動先のホストサーバとの間に新たなネットワーク通信が発生する。このため、ネットワークのトラフィックに大きな増加が生じ、システムのネットワークトラフィックに多大な影響を及ぼす。
When one of a plurality of virtual machines operating on one host server is moved to another host server, new network communication occurs between the source host server and the destination host server. . This causes a significant increase in network traffic and has a significant impact on system network traffic.
一方、移動前における移動先ホストサーバと仮想マシンとの間のネットワーク上の通信は、仮想マシンの移動によりホストサーバ上のデータの送受に変化する。この通信によるネットワークトラフィックはなくなるため、ネットワークのトラフィックに大きな変化が生じる。
On the other hand, the communication on the network between the destination host server and the virtual machine before the movement changes to transmission / reception of data on the host server due to the movement of the virtual machine. Since there is no network traffic due to this communication, a large change occurs in the network traffic.
仮想マシンと外部のホストサーバとの間のトラフィックに加え、仮想マシンとそれが存在しているホストサーバとのトラフィックを考慮することで、仮想マシンを他のホストサーバに移動した後のトラフィックを正確に予測することができる。設計によっては、仮想マシンと外部のホストサーバとのトラフィックのみから移動後のトラフィックを予測してもよいが、本例は、正確なトラフィック予測のために、仮想マシンと現在ホストサーバとの間のトラフィックを特定し、それを使用して移動後トラフィックを予測する。
In addition to the traffic between the virtual machine and the external host server, consider the traffic between the virtual machine and the host server on which it resides, so that the traffic after moving the virtual machine to another host server is accurate. Can be predicted. Depending on the design, the traffic after movement may be predicted only from the traffic between the virtual machine and the external host server. However, for accurate traffic prediction, this example is used between the virtual machine and the current host server. Identify traffic and use it to predict post-movement traffic.
本好ましい構成は、移動する仮想マシンC12cとホストサーバA1a~ホストサーバC1cのそれぞれとの間のトラフィックを測定、算出し、そのトラフィックから仮想サーバC12c移動後のトラフィックを予測する。移動する仮想マシンと各ホストサーバとの現在トラフィックを特定することで、仮想マシン移動後のトラフィックを正確に予測することができる。設計によっては、送受信の主体としてホストサーバのみを特定したトラフィック情報から、仮想マシン移動後のトラフィックを予測してもよい。
In this preferred configuration, the traffic between the moving virtual machine C12c and each of the host server A1a to the host server C1c is measured and calculated, and the traffic after moving the virtual server C12c is predicted from the traffic. By identifying the current traffic between the moving virtual machine and each host server, it is possible to accurately predict the traffic after moving the virtual machine. Depending on the design, the traffic after moving the virtual machine may be predicted from the traffic information specifying only the host server as the subject of transmission and reception.
仮想マシンホストサーバ間トラフィック計算部353は、取得済みの情報から、同一ホストサーバ上のトラフィック(送受されるデータ量)を算出する。仮想マシンホストサーバ間トラフィック計算部353の処理の流れを、図10のフローチャートを参照して説明する。仮想マシンホストサーバ間トラフィック計算部353は、仮想マシンとホストサーバの全ての組み合わせについて、ステップ201~ステップ207を実行する。本例においては、4つの仮想マシンと3つのホストサーバとの間の12の組み合わせが存在する。
The virtual machine host server traffic calculator 353 calculates traffic on the same host server (data amount transmitted and received) from the acquired information. The processing flow of the virtual machine host server traffic calculation unit 353 will be described with reference to the flowchart of FIG. The virtual machine host server traffic calculation unit 353 executes Step 201 to Step 207 for all combinations of virtual machines and host servers. In this example, there are 12 combinations between 4 virtual machines and 3 host servers.
仮想マシンホストサーバ間トラフィック計算部353は、まず、仮想マシンのホストサーバと通信相手のホストサーバが同一であるか否かを判定する(S201)。それらが異なるホストサーバである場合(S201におけるN)、ステップ202~ステップ204を実行する。例えば、仮想マシンA12aの例においては、仮想マシンA12aとホストサーバB1bとの間の通信及び仮想マシンA12aとホストサーバC1cとの間の通信について、ステップ202~ステップ204を実行する。
The virtual machine host server traffic calculator 353 first determines whether or not the virtual machine host server and the communication partner host server are the same (S201). If they are different host servers (N in S201), steps 202 to 204 are executed. For example, in the example of the virtual machine A12a, steps 202 to 204 are executed for the communication between the virtual machine A12a and the host server B1b and the communication between the virtual machine A12a and the host server C1c.
仮想マシンホストサーバ間トラフィック計算部353は、現在の組み合わせにおける仮想マシンからホストサーバの仮想マシンへの送信トラフィックを取得する(S202)。ホストサーバ上で複数の仮想マシンが動作している場合、その送信トラフィックはその複数の仮想マシンへの総送信トラフィックである。仮想マシン間トラフィック情報テーブル365を参照して、この送信トラフィックを算出することができる。
The virtual machine host server traffic calculation unit 353 acquires transmission traffic from the virtual machine to the host server virtual machine in the current combination (S202). When a plurality of virtual machines are operating on the host server, the transmission traffic is the total transmission traffic to the plurality of virtual machines. With reference to the inter-virtual machine traffic information table 365, this transmission traffic can be calculated.
具体的には、仮想マシンホストサーバ間トラフィック計算部353は、対象の仮想マシン(例えば仮想マシンA12a)から、対象のホストサーバ(例えばホストサーバB1b)の存在する全て(1つ又は複数)の仮想マシン(例えば仮想マシンB12b及び仮想マシンC12c)のそれぞれへの送信トラフィックを取得する。さらに、それらの送信トラフィックの総和を算出する。この値が、仮想マシンからホストサーバの仮想マシンへの送信トラフィックである。
Specifically, the inter-virtual machine host server traffic calculation unit 353 determines all (one or more) virtual machines from the target virtual machine (for example, the virtual machine A12a) to which the target host server (for example, the host server B1b) exists. The transmission traffic to each of the machines (for example, virtual machine B12b and virtual machine C12c) is acquired. Furthermore, the sum total of those transmission traffic is calculated. This value is the transmission traffic from the virtual machine to the virtual machine of the host server.
仮想マシンホストサーバ間トラフィック計算部353は、現在の組み合わせにおけるホストサーバ上の仮想マシンから仮想マシンへの送信トラフィックを取得する(S203)。ステップ202と同様に、仮想マシン間トラフィック情報テーブル365を参照して、この送信トラフィックを算出することができる。
The virtual machine host server traffic calculation unit 353 acquires transmission traffic from the virtual machine on the host server to the virtual machine in the current combination (S203). Similar to step 202, the transmission traffic can be calculated by referring to the inter-virtual machine traffic information table 365.
具体的には、仮想マシンホストサーバ間トラフィック計算部353は、対象のホストサーバ(例えばホストサーバB1b)の存在する全て(1つ又は複数)の仮想マシン(例えば仮想マシンB12b及び仮想マシンC12c)から対象の仮想マシン(例えば仮想マシンA12a)へのそれぞれの送信トラフィックを取得する。さらに、それらの送信トラフィックの総和を算出する。この値が、対象のホストサーバに存在する仮想マシンから対象の仮想マシンへの送信トラフィックである。
Specifically, the traffic calculation unit 353 between the virtual machine host servers from all (one or more) virtual machines (for example, the virtual machine B12b and the virtual machine C12c) in which the target host server (for example, the host server B1b) exists. Each transmission traffic to the target virtual machine (for example, virtual machine A12a) is acquired. Furthermore, the sum total of those transmission traffic is calculated. This value is the transmission traffic from the virtual machine existing in the target host server to the target virtual machine.
仮想マシンホストサーバ間トラフィック計算部353は、算出した2つの送信トラフィックの和を計算し、仮想マシンとホストサーバとの間のトラフィックとして、仮想マシン-ホストサーバ間トラフィック情報テーブル366に登録する(S204)。
The virtual machine host server traffic calculation unit 353 calculates the sum of the two calculated transmission traffics, and registers it as the traffic between the virtual machine and the host server in the virtual machine-host server traffic information table 366 (S204). ).
ステップ201に戻って、仮想マシンのホストサーバと通信相手のホストサーバが同一である場合(S201におけるY)、仮想マシンホストサーバ間トラフィック計算部353は、ステップ205~ステップ207を実行する。例えば、仮想マシンA12aの例においては、仮想マシンA12aとホストサーバA1aとの間の通信について、ステップ205~ステップ207を実行する。
Returning to step 201, when the host server of the virtual machine and the host server of the communication partner are the same (Y in S201), the virtual machine host server traffic calculation unit 353 executes step 205 to step 207. For example, in the example of the virtual machine A12a, Steps 205 to 207 are executed for communication between the virtual machine A12a and the host server A1a.
仮想マシンホストサーバ間トラフィック計算部353は、対象の仮想マシンが送受するトラフィック(全体トラフィック)を取得する(S205)。仮想マシンホストサーバ間トラフィック計算部353は、例えば、その仮想マシンからSNMPに従ってその情報を取得することができる。仮想化ソフトウェアがその情報を有する場合、それからその情報を取得してもよい。
The virtual machine host server traffic calculation unit 353 acquires traffic (overall traffic) transmitted and received by the target virtual machine (S205). For example, the virtual machine host server traffic calculation unit 353 can acquire the information from the virtual machine according to SNMP. If the virtualization software has that information, it may obtain that information from it.
仮想マシンホストサーバ間トラフィック計算部353は、物理スイッチ2が送受する対象の仮想マシンとのトラフィック(対外トラフィック)を取得する(S206)。仮想マシン間トラフィック情報テーブル365を参照して、このトラフィックを算出することができる。仮想マシン間トラフィック情報テーブル365は、仮想マシンと外部のホストサーバ(仮想マシンが存在しているホストサーバ以外のホストサーバ)との間のトラフィックを有しており、それらトラフィックの和が対外トラフィックである。
The virtual machine host server traffic calculation unit 353 acquires traffic (external traffic) with the target virtual machine transmitted and received by the physical switch 2 (S206). This traffic can be calculated with reference to the inter-virtual machine traffic information table 365. The inter-virtual machine traffic information table 365 has traffic between the virtual machine and an external host server (a host server other than the host server on which the virtual machine exists), and the sum of these traffic is the external traffic. is there.
仮想マシンホストサーバ間トラフィック計算部353は、次に、全体トラフィックから対外トラフィックを減じた値を算出する。さらに、その算出値を、仮想マシンとその仮想マシンが動作しているホストサーバとの間のトラフィックとして、仮想マシン-ホストサーバ間トラフィック情報テーブル366に登録する(S207)。
The virtual machine host server traffic calculation unit 353 then calculates a value obtained by subtracting external traffic from the total traffic. Further, the calculated value is registered in the virtual machine-host server traffic information table 366 as traffic between the virtual machine and the host server on which the virtual machine is operating (S207).
本例において、1つのホストサーバ上でトラフィックが存在するのは、ホストサーバB1bのみである。つまり、仮想マシンとその仮想マシンが動作しているホストサーバとの間のトラフィックは、仮想マシンB12bと仮想マシンC1cとの間の通信によるトラフィックのみである。
In this example, only the host server B1b has traffic on one host server. That is, the traffic between the virtual machine and the host server on which the virtual machine is operating is only the traffic due to the communication between the virtual machine B12b and the virtual machine C1c.
図9に示すように、仮想マシンA12aとホストサーバA1aとの間の帯域使用量は0Mbpsであり、仮想マシンD12dとホストサーバC1acの間の帯域使用量も0Mbpsである。一方、仮想マシンB12b及び仮想マシンC12cとホストサーバB1bとの間の帯域使用量は、それぞれ300Mbpsである。
As shown in FIG. 9, the bandwidth usage between the virtual machine A12a and the host server A1a is 0 Mbps, and the bandwidth usage between the virtual machine D12d and the host server C1ac is also 0 Mbps. On the other hand, the bandwidth usage between the virtual machines B12b and C12c and the host server B1b is 300 Mbps.
本処理例は、1つのホストサーバ上の仮想マシン間のトラフィック情報を直接取得できないことを仮定している。そのため、仮想マシンとホストサーバとのトラフィックの算出は、仮想マシンと外部のホストサーバとの間の通信と仮想マシンとそれが存在するホストサーバとの間の通信とで、異なる方法を使用する。上述のように仮想化ソフトウェアがホストサーバ内のトラフィック情報を有している場合、ステップ202~ステップ204の計算方法を全ての場合に適用してもよい。
This processing example assumes that traffic information between virtual machines on one host server cannot be obtained directly. Therefore, calculation of traffic between the virtual machine and the host server uses different methods for communication between the virtual machine and an external host server and communication between the virtual machine and the host server on which the virtual machine exists. As described above, when the virtualization software has traffic information in the host server, the calculation method in steps 202 to 204 may be applied to all cases.
次に、物理スイッチ予測トラフィックテーブル361について説明する。図11は、物理スイッチ予測トラフィックテーブル361の構成例を示している。仮想マシン移動後トラフィック計算部354(図4Bを参照)は、このテーブル361を作成する。物理スイッチ予測トラフィックテーブル361は、仮想マシン移動後のトラフィック予測値を有する。
Next, the physical switch prediction traffic table 361 will be described. FIG. 11 shows a configuration example of the physical switch prediction traffic table 361. The traffic calculation unit 354 after moving the virtual machine (see FIG. 4B) creates this table 361. The physical switch prediction traffic table 361 has a traffic prediction value after moving the virtual machine.
図11において、物理スイッチ予測トラフィックテーブル361は、図1に示すように、仮想マシンC12cの移動後の予測トラフィックを示している。具体的には、「ホストサーバAへの移動」のカラムは、仮想マシンC12cをホストサーバA1aに移動した場合の物理スイッチ本体及びポートA21a~ポートE21eにおける帯域使用量の予測値を格納している。同様に、「ホストサーバCへの移動」のカラムは、仮想マシンC12cをホストサーバC1cに移動した場合の物理スイッチ本体及びポートA21a~ポートE21eにおける帯域使用量の予測値を格納している。
11, the physical switch predicted traffic table 361 indicates the predicted traffic after the movement of the virtual machine C12c, as shown in FIG. Specifically, the column “Move to Host Server A” stores predicted values of bandwidth usage in the physical switch main body and ports A21a to E21e when the virtual machine C12c is moved to the host server A1a. . Similarly, the column “Move to Host Server C” stores predicted values of bandwidth usage in the physical switch body and ports A21a to E21e when the virtual machine C12c is moved to the host server C1c.
仮想マシン移動後トラフィック計算部354は、物理スイッチ情報テーブル364及び仮想マシン-ホストサーバ間トラフィック情報テーブル366を参照して、物理スイッチ予測トラフィックテーブル361を作成することができる。図12は、仮想マシン移動後トラフィック計算部354が仮想マシン移動後の物理スイッチ2の負荷を算出する処理(予測トラフィックテーブル361の作成)の流れを示すフローチャートである。
The after-virtual machine movement traffic calculation unit 354 can create the physical switch prediction traffic table 361 by referring to the physical switch information table 364 and the virtual machine-host server traffic information table 366. FIG. 12 is a flowchart illustrating a flow of processing (creation of the predicted traffic table 361) in which the traffic calculation unit 354 after moving the virtual machine calculates the load of the physical switch 2 after moving the virtual machine.
図12のフローチャートの説明を行う前に、仮想マシンC1cの移動に伴うトラフィック変化を図13~図15を参照して説明する。図13は、仮想マシンC1c移動前の現在のトラフィックを示している。仮想マシンC1cと、仮想マシンA1a、仮想マシンB1b、仮想マシンD1dとの間には、それぞれ、400Mbps、300Mbps、500Mbpsのトラフィックが存在している。
Before the description of the flowchart of FIG. 12, the traffic change accompanying the movement of the virtual machine C1c will be described with reference to FIGS. FIG. 13 shows current traffic before moving the virtual machine C1c. Traffic of 400 Mbps, 300 Mbps, and 500 Mbps exists between the virtual machine C1c, the virtual machine A1a, the virtual machine B1b, and the virtual machine D1d, respectively.
図14は、仮想マシンC1cをホストサーバB1bからホストサーバA1aに移動した場合の予測トラフィックを示している。図15は、仮想マシンC1cをホストサーバB1bからホストサーバC1cに移動した場合の予測トラフィックを示している。仮想マシン間のトラフィックのそれぞれ及び仮想マシンとホストサーバ間のトラフィックのそれぞれは、仮想マシンC1cの移動により変化しない。
FIG. 14 shows predicted traffic when the virtual machine C1c is moved from the host server B1b to the host server A1a. FIG. 15 shows predicted traffic when the virtual machine C1c is moved from the host server B1b to the host server C1c. Each of the traffic between the virtual machines and each of the traffic between the virtual machines and the host server are not changed by the movement of the virtual machine C1c.
一方、仮想マシンC1cの移動により、ホストサーバA1a~ホストサーバC1cと物理スイッチ2との間のトラフィック(ホストサーバ間のトラフィック)が変化する。ホストサーバA1a~ホストサーバC1cは、外部の装置(物理スイッチ2及び他のホストサーバ)との通信を、ポート11a~11cを介して行う。同様に、物理スイッチ2は、ポートA21a~ポートE21eを介してデータ通信を行う。
On the other hand, the traffic between the host server A1a to the host server C1c and the physical switch 2 (traffic between host servers) changes due to the movement of the virtual machine C1c. The host servers A1a to C1c communicate with external devices (physical switch 2 and other host servers) via ports 11a to 11c. Similarly, the physical switch 2 performs data communication via the port A21a to the port E21e.
トラフィック制御においては、ポートにおけるトラフィック(本例において帯域使用量)が重要な要素である。また、物理スイッチ2においては、その本体のトラフィックも重要な要素である。ポート(スイッチ本体)の帯域幅に対して帯域使用量が大きいと、通信速度が遅くなるため、各要素における帯域使用量が規定の範囲にあることが好ましい。
In traffic control, traffic at ports (band usage in this example) is an important factor. In the physical switch 2, the traffic of the main body is also an important factor. If the bandwidth usage is large with respect to the bandwidth of the port (switch body), the communication speed becomes slow. Therefore, it is preferable that the bandwidth usage in each element is within a specified range.
好ましい構成において、仮想マシンの移動先ホストサーバの選定は、物理スイッチ2におけるトラフィックを参照する。これにより、ホストサーバA1a~ホストサーバC1cの通信ネットワークの適切な測定及び予測を、効率的に行うことができる。以下においては、好ましい構成として、物理スイッチ2の本体のトラフィック及び各ポートのトラフィックを参照する構成を説明する。移動先ホストサーバの選定は、他のトラフィック情報、例えばホストサーバのポートにおけるトラフィックを参照してもよい。
In a preferred configuration, the traffic in the physical switch 2 is referred to when selecting the destination host server of the virtual machine. Thereby, appropriate measurement and prediction of the communication network of the host server A1a to the host server C1c can be performed efficiently. In the following, as a preferable configuration, a configuration that refers to the traffic of the main body of the physical switch 2 and the traffic of each port will be described. Selection of the destination host server may refer to other traffic information, for example, traffic at the port of the host server.
典型的には、物理スイッチ2とホストサーバA1a~ホストサーバC1cの対応ポートのペアの帯域幅は、それらの間のネゴシエーションにより、ポートペアにおける小さい帯域幅に設定される。このように、対応するポートの帯域幅は同一の値に設定されるため、移動先の選定が物理スイッチ2のトラフィックを使用することで、移動後においてネットワークの適切なトラフィック実現できる。
Typically, the bandwidth of the pair of corresponding ports of the physical switch 2 and the host server A1a to the host server C1c is set to a small bandwidth in the port pair by negotiation between them. In this way, since the bandwidths of the corresponding ports are set to the same value, appropriate traffic on the network can be realized after the movement by using the traffic of the physical switch 2 for selecting the movement destination.
図12を参照して、仮想マシン移動後トラフィック計算部354による予測トラフィックテーブル361の作成を説明する。仮想マシン移動後トラフィック計算部354は、全ての移動先ホストサーバ候補のそれぞれについて、物理スイッチ情報テーブル364の全てのエントリのためにステップ301~ステップ306を繰り返す。
The creation of the predicted traffic table 361 by the traffic calculation unit 354 after moving the virtual machine will be described with reference to FIG. The post-virtual machine movement traffic calculation unit 354 repeats Step 301 to Step 306 for all entries in the physical switch information table 364 for each of all the destination host server candidates.
本例においては、仮想マシン移動後トラフィック計算部354は、ホストサーバA1aに仮想マシンC12cを移動した場合の物理スイッチ情報テーブル364の全てのエントリのそれぞれに対して、ステップ301~ステップ306を実行する。さらに、ホストサーバC1cに仮想マシンC12cを移動した場合の物理スイッチ情報テーブル364の全てのエントリのそれぞれに対して、ステップ301~ステップ306を実行する、
In this example, the after-virtual machine movement traffic calculation unit 354 executes steps 301 to 306 for each of all entries in the physical switch information table 364 when the virtual machine C12c is moved to the host server A1a. . Further, Step 301 to Step 306 are executed for each of all entries in the physical switch information table 364 when the virtual machine C12c is moved to the host server C1c.
図12のステップ301において、仮想マシン移動後トラフィック計算部354は、対象エントリの部位(トラフィックの算出対象)を特定する。対象エントリがスイッチ本体である場合、仮想マシン移動後トラフィック計算部354は、スイッチ本体の予測負荷(トラフィック)を、次の数式に従って算出する。
現在の使用帯域幅-(V-Hd間のトラフィック)+(V-Hc間のトラフィック) In step 301 of FIG. 12, the after-virtual machine movementtraffic calculation unit 354 identifies the part of the target entry (traffic calculation target). When the target entry is a switch body, the after-virtual machine movement traffic calculation unit 354 calculates the predicted load (traffic) of the switch body according to the following equation.
Current bandwidth used-(V-Hd traffic) + (V-Hc traffic)
現在の使用帯域幅-(V-Hd間のトラフィック)+(V-Hc間のトラフィック) In step 301 of FIG. 12, the after-virtual machine movement
Current bandwidth used-(V-Hd traffic) + (V-Hc traffic)
この数式において、Vは仮想マシン、Hdは移動先候補のホストサーバ、Hcは仮想マシンの現在のホストサーバである。この数式は、スイッチ本体の現在の使用帯域幅から、対象の仮想マシン(本例において仮想マシンC12c)と移動先候補のホストサーバ(ホストサーバA1a又はホストサーバC1c)との間のトラフィックを減算し、さらに、対象の仮想マシンと現在のホストサーバ(本例においてホストサーバB1b)との間のトラフィックを加算することを示している。
In this equation, V is a virtual machine, Hd is a migration destination candidate host server, and Hc is a current host server of the virtual machine. This formula subtracts the traffic between the target virtual machine (virtual machine C12c in this example) and the destination host server (host server A1a or host server C1c) from the current bandwidth used by the switch body. Furthermore, it shows that the traffic between the target virtual machine and the current host server (host server B1b in this example) is added.
対象エントリがポートである場合(S301におけるポート)、仮想マシン移動後トラフィック計算部354は、そのポートの接続先を特定する(S303)。接続先は、移動先候補のホストサーバHd、移動する仮想マシンの現在のホストサーバHc又はその他のホストサーバHoのいずれかである。仮想マシン移動後トラフィック計算部354は、物理スイッチ情報テーブル364からこの情報を取得することができる。
When the target entry is a port (the port in S301), the after-virtual machine movement traffic calculation unit 354 specifies the connection destination of the port (S303). The connection destination is any one of the migration destination candidate host server Hd, the current host server Hc of the moving virtual machine, or another host server Ho. The traffic calculation unit 354 after moving the virtual machine can acquire this information from the physical switch information table 364.
対象ポートの接続先が他のホストサーバHoである場合(S303におけるHo)、仮想マシン移動後トラフィック計算部354は、物理スイッチ情報テーブル364における現在の帯域使用量を、予測トラフィックテーブル361に登録する(このステップは不図示)。
When the connection destination of the target port is another host server Ho (Ho in S303), the after-virtual machine movement traffic calculation unit 354 registers the current bandwidth usage in the physical switch information table 364 in the predicted traffic table 361. (This step is not shown).
対象ポートの接続先が現在のホストサーバHcである場合(S303におけるHc)、仮想マシン移動後トラフィック計算部354は、そのポートの予測負荷(トラフィック)を、次の数式に従って算出する(S304)。
現在の使用帯域幅-(V-Hd間のトラフィック)
+(V-Hc間のトラフィック)-(V-Ho間のトラフィック) When the connection destination of the target port is the current host server Hc (Hc in S303), the after-virtual machine movementtraffic calculation unit 354 calculates the predicted load (traffic) of the port according to the following equation (S304).
Current bandwidth used-(V-Hd traffic)
+ (Traffic between V-Hc)-(traffic between V-Ho)
現在の使用帯域幅-(V-Hd間のトラフィック)
+(V-Hc間のトラフィック)-(V-Ho間のトラフィック) When the connection destination of the target port is the current host server Hc (Hc in S303), the after-virtual machine movement
Current bandwidth used-(V-Hd traffic)
+ (Traffic between V-Hc)-(traffic between V-Ho)
この数式は、ポートの現在の使用帯域幅から、対象の仮想マシン(本例において仮想マシンC12c)と移動先候補のホストサーバ(ホストサーバA1aとホストサーバC1cの一方)との間のトラフィックを減算し、対象の仮想マシンと現在のホストサーバ(本例においてホストサーバB1b)との間のトラフィックを加算し、さらに、対象の仮想マシンとその他のホストサーバ(ホストサーバA1aとホストサーバC1cの他方)との間のトラフィックを減算することを示している。
This formula subtracts the traffic between the target virtual machine (virtual machine C12c in this example) and the migration destination candidate host server (one of the host server A1a and the host server C1c) from the current used bandwidth of the port. The traffic between the target virtual machine and the current host server (host server B1b in this example) is added, and the target virtual machine and other host servers (the other of the host server A1a and the host server C1c) Shows that the traffic between is subtracted.
対象ポートの接続先が移動先候補のホストサーバHdである場合(S303におけるHd)、仮想マシン移動後トラフィック計算部354は、そのポートの予測負荷(トラフィック)を、次の数式に従って算出する(S305)。
現在の使用帯域幅-(V-Hd間のトラフィック)
+(V-Hc間のトラフィック)+(V-Ho間のトラフィック) When the connection destination of the target port is the migration destination candidate host server Hd (Hd in S303), the post-virtual machine movementtraffic calculation unit 354 calculates the predicted load (traffic) of the port according to the following equation (S305). ).
Current bandwidth used-(V-Hd traffic)
+ (Traffic between V-Hc) + (traffic between V-Ho)
現在の使用帯域幅-(V-Hd間のトラフィック)
+(V-Hc間のトラフィック)+(V-Ho間のトラフィック) When the connection destination of the target port is the migration destination candidate host server Hd (Hd in S303), the post-virtual machine movement
Current bandwidth used-(V-Hd traffic)
+ (Traffic between V-Hc) + (traffic between V-Ho)
この数式は、ポートの現在の使用帯域幅から、対象の仮想マシン(本例において仮想マシンC12c)と移動先候補のホストサーバ(ホストサーバA1AとホストサーバC1Cの一方)との間のトラフィックを減算し、対象の仮想マシンと現在のホストサーバ(本例においてホストサーバB1B)との間のトラフィックを加算し、さらに、対象の仮想マシンとその他のホストサーバ(ホストサーバA1AとホストサーバC1Cの他方)との間のトラフィックを加算することを示している。
This formula subtracts the traffic between the target virtual machine (in this example, virtual machine C12c) and the destination host server (one of host server A1A or host server C1C) from the current bandwidth used by the port. The traffic between the target virtual machine and the current host server (host server B1B in this example) is added, and the target virtual machine and other host servers (the other of the host server A1A and the host server C1C) Shows that the traffic between is added.
仮想マシン移動後トラフィック計算部354は、ステップ304及びステップ305において算出した値を、そのエントリのポートのトラフィック予測値として、予測トラフィックテーブル361に登録する(S306)。
The after-virtual machine movement traffic calculation unit 354 registers the value calculated in step 304 and step 305 in the predicted traffic table 361 as the traffic predicted value of the port of the entry (S306).
仮想マシンの移動先ホストサーバの選定は、予測トラフィックテーブル361を参照する。本例において、仮想マシン移動先選定部355(図4Bを参照)は、仮想マシンの移動先ホストサーバを選定する。好ましい構成において、仮想マシン移動先選定部355は、移動先ホストサーバの状態情報及び仮想マシン移動後の予想トラフィックを参照して、移動先を決定する。
The selection of the destination host server of the virtual machine refers to the predicted traffic table 361. In this example, the virtual machine destination selection unit 355 (see FIG. 4B) selects a destination host server for the virtual machine. In a preferred configuration, the virtual machine destination selection unit 355 determines the destination by referring to the status information of the destination host server and the expected traffic after moving the virtual machine.
これにより、ホストサーバ単体及びトラフィックの双方の観点からより適切なホストサーバを選定することができる。設計によっては、移動先ホストサーバの状態情報を参照することなく、移動先ホストサーバを決定してもよい。以下において、上記双方の観点から移動先を選定する処理を説明する。
This makes it possible to select a more appropriate host server from the perspective of both the host server alone and traffic. Depending on the design, the destination host server may be determined without referring to the status information of the destination host server. In the following, processing for selecting a destination from both viewpoints will be described.
図16は、移動先候補テーブル363の構成例を示している。仮想マシン移動先選定部355は、本テーブル363を作成する。仮想マシン移動先選定部355は、ホストサーバ情報テーブル362を参照し、移動先候補ホストサーバのCPU利用率とメモリ使用率を取得し、それらの値を移動先候補テーブル363に登録する。
FIG. 16 shows a configuration example of the destination candidate table 363. The virtual machine migration destination selection unit 355 creates the table 363. The virtual machine migration destination selection unit 355 refers to the host server information table 362, acquires the CPU usage rate and memory usage rate of the migration destination candidate host server, and registers these values in the migration destination candidate table 363.
本例において、ホストサーバの使用状態は、仮想マシンを移動する前の、ホストサーバの使用状態を格納する。例えば、図16の移動先候補テーブル363において、ホストサーバC1cのCPU利用率は25%であり、メモリ使用率は30%である。これらの値は現在の値であるので、仮想マシンC12の移動先候補に依存しない。仮想マシン移動先選定部355は、仮想マシンC12c移動後の使用状態(CPU及びメモリの使用率)の予測値を算出し、その予測値を移動先候補テーブル363に登録してもよい。
In this example, the host server usage status stores the usage status of the host server before moving the virtual machine. For example, in the migration destination candidate table 363 in FIG. 16, the CPU usage rate of the host server C1c is 25%, and the memory usage rate is 30%. Since these values are current values, they do not depend on the migration destination candidate of the virtual machine C12. The virtual machine destination selection unit 355 may calculate a predicted value of the usage state (CPU and memory usage rate) after moving the virtual machine C12c, and register the predicted value in the destination candidate table 363.
仮想マシン移動先選定部355は、さらに、物理スイッチ2本端及びそのポートにおける予測トラフィックを登録する。図16は、ホストサーバA1a~ホストサーバC1cに関連するポートA21a~ポートC21cのみを示している。仮想マシン移動先選定部355は、物理スイッチ情報テーブル364から物理スイッチ本体及び各ポートの帯域幅を取得することができる。また、予測トラフィック(予測使用量値)を物理スイッチ予測トラフィックテーブル361から取得することができる。
The virtual machine destination selection unit 355 further registers the predicted traffic at the two ends of the physical switch and its ports. FIG. 16 shows only the ports A21a to C21c related to the host servers A1a to C1c. The virtual machine migration destination selection unit 355 can acquire the physical switch body and the bandwidth of each port from the physical switch information table 364. Further, the predicted traffic (predicted usage value) can be acquired from the physical switch predicted traffic table 361.
仮想マシン移動先選定部355は、移動先候補ホストサーバの状態情報及び予測トラフィックに基づいて、移動先候補の優先度を決定する。図16の例において、ホストサーバA1aの優先度はHIGHであり、ホストサーバC1cの優先度はLOWである。仮想マシン移動先選定部355は、ホストサーバA1aを、仮想マシンC12cの移動先ホストサーバとして選択する。
The virtual machine destination selection unit 355 determines the priority of the destination candidate based on the status information of the destination candidate host server and the predicted traffic. In the example of FIG. 16, the priority of the host server A1a is HIGH, and the priority of the host server C1c is LOW. The virtual machine destination selection unit 355 selects the host server A1a as the destination host server for the virtual machine C12c.
例えば、仮想マシン移動先選定部355は、まず、ホストサーバの使用状態に従って各ホストサーバの優先度を決定する。ホストサーバC1cのCPU使用率及びメモリ使用率が小さいため、その仮の優先度をHIGHに決定する。ホストサーバA1aのCPU使用率及びメモリ使用率がやや高いため、その仮の優先度をMIDDLEに決定する。
For example, the virtual machine migration destination selection unit 355 first determines the priority of each host server according to the usage state of the host server. Since the CPU usage rate and the memory usage rate of the host server C1c are small, the provisional priority is determined to be HIGH. Since the CPU usage rate and the memory usage rate of the host server A1a are slightly high, the provisional priority is determined to MIDDLE.
仮想マシン移動先選定部355は、さらに、予測トラフィックを参照して、最終的な優先度を決定する。仮想マシンC12cがホストサーバA1aに移動した場合、移動前よりスイッチ本体、ポートA21a、ポートB21bの帯域使用量が低下する(図6及び図11を参照)。そのため、仮想マシン移動先選定部355は、ホストサーバA1aの優先度をMIDDLEからHIGHに上げる。
The virtual machine destination selection unit 355 further determines the final priority with reference to the predicted traffic. When the virtual machine C12c moves to the host server A1a, the bandwidth usage of the switch body, the port A21a, and the port B21b decreases before the movement (see FIGS. 6 and 11). Therefore, the virtual machine migration destination selection unit 355 increases the priority of the host server A1a from MIDDLE to HIGH.
仮想マシンC12cがホストサーバC1cに移動した場合、スイッチ本体及びポートC21cの予測帯域使用量が帯域幅を超える。そのため、仮想マシン移動先選定部355は、ホストサーバC1cの優先度をHIGHからLOWに下げる。ホストサーバの状態情報に従って移動先候補の優先度を決定し、その後、予測トラフィックに従って優先度を補正することで、ホストサーバとトラフィックの双方に観点から適切な移動先を選定することができる。なお、仮想マシン移動先選定部355は、予測トラフィックに応じて決定した優先度をホストサーバの情報により補正してもよい。
When the virtual machine C12c moves to the host server C1c, the predicted bandwidth usage of the switch body and the port C21c exceeds the bandwidth. Therefore, the virtual machine migration destination selection unit 355 lowers the priority of the host server C1c from HIGH to LOW. By determining the priority of the destination candidate according to the status information of the host server and then correcting the priority according to the predicted traffic, it is possible to select an appropriate destination from the viewpoint of both the host server and the traffic. Note that the virtual machine migration destination selection unit 355 may correct the priority determined according to the predicted traffic based on information of the host server.
上述のように、仮想マシン移動先選定部355は、予測トラフィックが物理スイッチ2(本体又はポート)における帯域幅を超える帯域使用量を含む場合、その移動先候補の優先度を最も低くする又はそのホストサーバを移動先候補から除外することが好ましい。これにより、それを理由とする通信エラー発生及び通信速度の大幅な低下を避けることができる。仮想マシン移動先選定部355は、帯域使用量と対比する値として、帯域幅から算出される規定の閾値を使用することができる。この閾値は、帯域幅の他、帯域幅の規定の割合(例えば90%)の値であってもよい。
As described above, when the predicted traffic includes a bandwidth usage exceeding the bandwidth in the physical switch 2 (main unit or port), the virtual machine destination selection unit 355 sets the priority of the destination candidate to the lowest or It is preferable to exclude the host server from the destination candidates. Thereby, it is possible to avoid the occurrence of a communication error and a significant decrease in the communication speed due to the reason. The virtual machine destination selection unit 355 can use a prescribed threshold value calculated from the bandwidth as a value to be compared with the bandwidth usage. This threshold value may be a value of a prescribed ratio (for example, 90%) of the bandwidth in addition to the bandwidth.
優先度の決定は、設計に従って様々な方法を使用することができる。例えば、仮想マシン移動先選定部355は、移動先候補ホストサーバの使用状態に従って、各移動先候補ホストサーバの第1の優先度の値を決定する。さらに、予測トラフィックに従って、移動先候補ホストサーバの第2の優先度の値を決定する。
Priority can be determined using various methods according to the design. For example, the virtual machine migration destination selection unit 355 determines the first priority value of each migration destination candidate host server according to the usage status of the migration destination candidate host server. Further, the second priority value of the destination candidate host server is determined according to the predicted traffic.
仮想マシン移動先選定部355は、第1の優先度の最も高い値を有する移動先候補ホストサーバにおいて、第2の優先度の最も高い値を有する移動候補を、移動先のホストサーバと決定する。典型的には、移動先候補の選定において移動先ホストサーバの状態がトラフィックよりも重要である。従って、ホストサーバの状態情報を予測トラフィックよりも優先して使用することが好ましい。
The virtual machine migration destination selection unit 355 determines the migration candidate having the second highest priority value as the migration destination host server in the migration destination candidate host server having the highest first priority value. . Typically, the state of a destination host server is more important than traffic in selecting a destination candidate. Therefore, it is preferable to use the status information of the host server in preference to the predicted traffic.
上記例と同様に、予測トラフィックが、物理スイッチ2(本体又はポート)におけるいずれかの帯域幅(帯域幅から算出される閾値)を超える帯域使用量を含む場合、その移動作候補を除外することが好ましい。又は、上記例のように、仮想マシン移動先選定部355は、閾値を超える帯域使用量を含む移動先候補の第1優先度の値を規定レベル分だけ下げてもよい。
As in the above example, if the predicted traffic contains a bandwidth usage that exceeds any bandwidth (threshold value calculated from the bandwidth) in the physical switch 2 (main unit or port), the mobile operation candidate is excluded. Is preferred. Alternatively, as in the above example, the virtual machine migration destination selection unit 355 may lower the value of the first priority of the migration destination candidate including the bandwidth usage exceeding the threshold by the specified level.
第1の優先度の値の決定は、例えば、CPU使用率とメモリ使用率の複数の区分を予め規定し、各区分に第1の優先度の値を割り当てる。例えば、第1の優先度が3つの値を取りえる場合、0%~100%を3つの区分に分け、それぞれの区分に、HIGH、MIDDLE、LOWの1つを割り当てる。仮想マシン移動先選定部355は、移動先候補のCPU使用率とメモリ使用率のそれぞれの第1の優先度の値において、低い優先度をその移動候補の第1の優先度の値と決定する。
For example, the first priority value is determined by preliminarily defining a plurality of CPU usage rates and memory usage rates, and assigning a first priority value to each category. For example, when the first priority can take three values, 0% to 100% are divided into three sections, and one of HIGH, MIDDLE, and LOW is assigned to each section. The virtual machine migration destination selection unit 355 determines the lower priority as the first priority value of the migration candidate in the first priority values of the CPU usage rate and the memory usage rate of the migration destination candidate. .
第2の優先度の値の決定は、例えば、物理スイッチ2における予測帯域使用率(予測帯域使用量/帯域幅)のばらつきを算出し、そのばらつきの値に従って値を決定する。ばらつきの値の複数の区分が予め定義されており、各区分には第2の優先度の値が割り当てられている。仮想マシン移動先選定部355は、予測帯域使用率が含まれる区分の値を、その移動先候補の第2の優先度の値と決定する。
The determination of the second priority value is performed by, for example, calculating the variation in the predicted bandwidth usage rate (predicted bandwidth usage / bandwidth) in the physical switch 2 and determining the value according to the variation value. A plurality of categories of variation values are defined in advance, and a second priority value is assigned to each category. The virtual machine destination selection unit 355 determines the value of the category including the predicted bandwidth usage rate as the second priority value of the destination candidate.
仮想マシン移動先選定部355は、優先度の決定において参照するホストサーバの状態情報として、上記使用率に代えて又は加えて、他の値を使用してもよい。例えば、ホストサーバのCPU数、電源数又は故障率などを使用してもよい。
The virtual machine migration destination selection unit 355 may use other values instead of or in addition to the above-mentioned usage rate as the status information of the host server referred to in the priority determination. For example, the number of CPUs, the number of power supplies, or the failure rate of the host server may be used.
仮想マシン移動先選定部355は、移動先選定において参照する予測トラフィックの値として、予測帯域使用率の最大値を使用してもよい。仮想マシン移動先選定部355は、予測帯域使用率が取りえる範囲を複数区分に分けて、各区分に第2の優先度の値を割り当てる。仮想マシン移動先選定部355は、各移動先候補の予測帯域使用率の最大値が含まれる区分の値を、その移動先候補の第2の優先度の値であると決定する。
The virtual machine destination selection unit 355 may use the maximum value of the predicted bandwidth usage rate as the value of the predicted traffic to be referred to in the destination selection. The virtual machine migration destination selection unit 355 divides the range in which the predicted bandwidth usage rate can be divided into a plurality of sections, and assigns a second priority value to each section. The virtual machine destination selection unit 355 determines that the value of the section including the maximum predicted bandwidth usage rate of each destination candidate is the second priority value of the destination candidate.
上記例が使用する帯域使用率は帯域使用量の時間平均であるが、仮想マシン移動先選定部355は、移動先選定において参照するトラフィック情報として、ピーク帯域使用率を使用してもよい。ピーク帯域使用率による優先度の決定は、上記帯域使用率と同様の方法を使用することができる。
The bandwidth usage rate used in the above example is a time average of bandwidth usage, but the virtual machine migration destination selection unit 355 may use the peak bandwidth usage rate as traffic information to be referenced in the migration destination selection. The priority can be determined based on the peak bandwidth usage rate by using the same method as the bandwidth usage rate.
上述のように、仮想マシン移動先選定部355は、物理スイッチ2の本体及びポートのトラフィック(上記例において帯域使用量)に加え、それらの設定容量(上記例において帯域幅)に基づき移動先候補の優先度を決定することが好ましい。これにより、物理スイッチ2のスペックに対して適切なトラフィックを実現できる移動先を選択することができる。設計によっては、物理スイッチ2のトラフィックのみから、移動先候補の優先度を決定してもよい。例えば、物理スイッチ2のスペックが既知である場合、仮想マシン移動先選定部355は、トラフィック及び設定値を使用して優先度を決定してもよい。
As described above, the virtual machine migration destination selection unit 355 selects the migration destination candidate based on the set capacity (bandwidth in the above example) in addition to the traffic (band usage in the above example) of the main body and the port of the physical switch 2. It is preferable to determine the priority. As a result, it is possible to select a destination that can realize appropriate traffic for the specifications of the physical switch 2. Depending on the design, the priority of the destination candidate may be determined only from the traffic of the physical switch 2. For example, when the specification of the physical switch 2 is known, the virtual machine migration destination selection unit 355 may determine the priority using the traffic and the setting value.
上記各例において、仮想マシン移動先選定部355が、最終的な移動先ホストサーバを選定する。これと異なり、仮想マシン移動先選定部355は、仮想マシンの移動先を自動的に決定せず、移動先選定に必要な情報をディスプレイ38により管理者に表示し、移動先選定を支援してもよい。
In each of the above examples, the virtual machine destination selection unit 355 selects the final destination host server. Unlike this, the virtual machine move destination selection unit 355 does not automatically determine the move destination of the virtual machine, displays information necessary for the move destination selection on the display 38 to the administrator, and supports the move destination selection. Also good.
例えば、仮想マシン移動先選定部355は、図16に示す移動先候補テーブル363を出力する。管理者は、表示されている移動先候補テーブル363に応じて、選択した移動先ホストサーバの識別子を入力装置37により入力する。仮想マシン移動先選定部355は、そのユーザ入力が示すホストサーバを移動先ホストサーバとして選定する。
For example, the virtual machine destination selection unit 355 outputs the destination candidate table 363 shown in FIG. The administrator uses the input device 37 to input the identifier of the selected destination host server according to the displayed destination candidate table 363. The virtual machine destination selection unit 355 selects the host server indicated by the user input as the destination host server.
好ましくは、図16に示すように、表示画像は、各移動先候補ホストサーバの優先度の他に、優先度の決定に用いた情報、本例においてはホストサーバの状態情報、物理スイッチの帯域幅(処理能力)及び予測トラフィックを含む情報を含む。これにより、移動先選定のために管理者に役立つより多くの情報を提供する。
Preferably, as shown in FIG. 16, in addition to the priority of each destination candidate host server, the display image includes information used for determining the priority, in this example, the status information of the host server, the bandwidth of the physical switch Contains information including width (capacity) and predicted traffic. This provides more information useful to the administrator for destination selection.
設計によっては、上記表示画像は、各移動先候補ホストサーバの識別情報とその優先度のみを表示してもよい。移動先ホストサーバ選定のための画像は、上記優先度を符号(数値や文字)により直接表示する他、他のどのような方法により示してもよい。例えば、画像は、優先度の高い順次、上から下にホストサーバ並べてもよいし、優先度に従ってホストサーバの識別情報の色を変えてもよい。
Depending on the design, the display image may display only the identification information of each destination candidate host server and its priority. The image for selecting the destination host server may be displayed by any other method besides directly displaying the priority by a code (numerical value or character). For example, the host servers may be arranged in order from the top to the bottom in order of priority, or the color of the identification information of the host server may be changed according to the priority.
例えば、優先度が取りえる値がLOWとHIGHの2つであり、予測トラフィックがいずれかのポートの容量を超える場合の移動先候補の優先度がLOW、その他の移動先候補の優先度がHIGHであるとする。管理サーバ3は、優先度がLOWの移動先候補を赤で表示し、その他の移動先候補を黒で表示する。これにより、各移動先候補の優先度を示すことができる。
For example, if the priority can be two values, LOW and HIGH, the priority of the destination candidate when the predicted traffic exceeds the capacity of any port is LOW, and the priority of the other destination candidates is HIGH Suppose that The management server 3 displays the move destination candidates with the priority LOW in red, and displays the other move destination candidates in black. Thereby, the priority of each movement destination candidate can be shown.
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。例えば、管理サーバの処理の少なくとも一部は、ホストサーバを含む他の物理計算機が実行してもよい。プログラムの少なくとも一部は、専用ハードウェアによって実現されてもよい。プログラムは、プログラム配布サーバや、計算機読み取り可能な非一時的記憶媒体によって各計算機にインストールすることができ、各計算機の不揮発性記憶装置に格納することができる。
Although the present invention has been described in detail with reference to the accompanying drawings, the present invention is not limited to such specific configurations, and various modifications and equivalents within the spirit of the appended claims Includes configuration. For example, at least a part of the processing of the management server may be executed by another physical computer including the host server. At least a part of the program may be realized by dedicated hardware. The program can be installed in each computer by a program distribution server or a computer-readable non-transitory storage medium, and can be stored in a nonvolatile storage device of each computer.
上記構成において、全ての物理計算機が仮想環境を有するが、システムは仮想環境をもたない物理計算機を含むことができる。管理サーバは、全ての物理計算機から仮想環境を有する物理計算機を移動先候補として選択し、選択した物理計算機のそれぞれに仮想マシンを移動した場合のトラフィックを予測する。予測トラフィックは、仮想マシンと仮想環境をもたない物理計算機と間のトラフィックを含む。
In the above configuration, all physical computers have a virtual environment, but the system can include a physical computer that does not have a virtual environment. The management server selects a physical computer having a virtual environment from all the physical computers as a movement destination candidate, and predicts traffic when the virtual machine is moved to each of the selected physical computers. The predicted traffic includes traffic between a virtual machine and a physical computer that does not have a virtual environment.
管理サーバは、仮想環境を備えるホストサーバから移動先候補として一部を選択してもよい。管理サーバは、その移動先候補のホストサーバのそれぞれに仮想マシンを移動した場合のトラフィックを予測し、その予測結果を使用して各移動先候補の優先度を決定する。例えば、管理サーバは、ホストサーバの状態情報から、移動先候補に含めることが適切ではないホストサーバを除外する。
The management server may select a part as a destination candidate from a host server having a virtual environment. The management server predicts traffic when the virtual machine is moved to each of the migration destination candidate host servers, and determines the priority of each migration destination candidate using the prediction result. For example, the management server excludes host servers that are not appropriate to be included in the destination candidates from the status information of the host server.
本発明は、物理計算機間においてネットワークを介して仮想マシンを移動する計算機システムにおいて、利用することができる。
The present invention can be used in a computer system that moves a virtual machine between physical computers via a network.
Claims (14)
- ネットワークを介して通信する複数の物理計算機を含む計算機システムにおいて、仮想マシンを管理する方法であって、
前記ネットワークにおける前記複数の物理計算機間のトラフィックを測定し、
前記複数の物理計算機の1つに存在する仮想マシンを前記複数の物理計算機における移動先候補のそれぞれに移動した場合の前記ネットワークのトラフィックを、前記測定の結果から予測し、
前記予測したトラフィックに基づいて前記移動先候補の優先度を決定する、
ことを含む方法。 In a computer system including a plurality of physical computers communicating via a network, a method for managing virtual machines,
Measuring traffic between the plurality of physical computers in the network;
Predicting traffic of the network when moving a virtual machine existing in one of the plurality of physical computers to each of destination candidates in the plurality of physical computers from the measurement results;
Determining a priority of the destination candidate based on the predicted traffic;
A method involving that. - 前記予測は、前記トラフィックの測定結果から前記仮想マシンと前記複数の物理計算機それぞれとの間のトラフィックを計算し、その計算したトラフィックから前記ネットワークのトラフィックを予想する、
請求項1に記載の方法。 The prediction calculates traffic between the virtual machine and each of the plurality of physical computers from the measurement result of the traffic, and predicts the traffic of the network from the calculated traffic.
The method of claim 1. - 前記複数の物理計算機それぞれとの間のトラフィックの前記計算において、前記仮想マシンと前記仮想マシンが存在している物理計算機との間のトラフィックの計算は、前記仮想マシンの全体トラフィックから前記仮想マシンと外部の物理計算機との間の対外トラフィックを減算する、
請求項2に記載の方法。 In the calculation of the traffic between each of the plurality of physical computers, the traffic between the virtual machine and the physical computer in which the virtual machine exists is calculated from the total traffic of the virtual machine and the virtual machine. Subtract external traffic to and from external physical computers,
The method of claim 2. - 前記複数の物理計算機は、前記ネットワークに含まれる物理スイッチを介して互いに通信を行い、
前記予測は、前記複数の物理計算機のそれぞれのポートに対応する前記物理スイッチの複数のポートのそれぞれにおけるトラフィックを予測し、
前記優先度の決定は、前記複数のポートのそれぞれにおける予測トラフィックに基づいて、前記移動先候補の優先度を決定する、
請求項2に記載の方法。 The plurality of physical computers communicate with each other via a physical switch included in the network,
The prediction predicts traffic in each of the plurality of ports of the physical switch corresponding to each port of the plurality of physical computers,
The priority determination determines the priority of the destination candidate based on predicted traffic in each of the plurality of ports.
The method of claim 2. - 前記優先度の決定は、前記複数のポートのそれぞれにおける容量と前記予測トラフィックとに基づいて、前記移動先候補の優先度を決定する、
請求項4に記載の方法。 The priority determination determines the priority of the destination candidate based on the capacity and the predicted traffic in each of the plurality of ports.
The method of claim 4. - 前記優先度の決定は、前記複数のポートの少なくとも1つのポートにおいて、移動先候補の予測トラフィックが前記1つのポートの容量から決定される閾値を超える場合、その移動先候補の優先度を低くする、
請求項5に記載の方法。 In the priority determination, when the predicted traffic of the movement destination candidate exceeds a threshold determined from the capacity of the one port in at least one port of the plurality of ports, the priority of the movement destination candidate is lowered. ,
The method of claim 5. - 前記優先度の決定は、前記物理スイッチの本体における容量及び予測トラフィックに基づいて、前記移動先候補の優先度を決定する、ことをさらに含む、
請求項5に記載の方法。 Determining the priority further includes determining the priority of the destination candidate based on capacity and predicted traffic in the physical switch body;
The method of claim 5. - 前記優先度を表す情報を表示装置において表示し、
前記表示に対するユーザ入力に従って、前記移動先候補から前記仮想マシンの移動先物理計算機を選択する、
ことをさらに含む請求項2に記載の方法。 Displaying information indicating the priority on a display device;
According to the user input for the display, the destination physical computer of the virtual machine is selected from the destination candidates.
The method of claim 2 further comprising: - 前記移動先候補において最も優先度が高い物理計算機を、前記仮想マシンの移動先物理計算機として選択する、
ことをさらに含む請求項2に記載の方法。 Selecting a physical computer having the highest priority among the migration destination candidates as a migration destination physical computer of the virtual machine;
The method of claim 2 further comprising: - 前記優先度の決定は、前記予測したトラフィック及び前記移動先候補それぞれの状態情報に基づいて前記移動先候補の優先度を決定する、
請求項2に記載の方法。 The priority determination determines the priority of the destination candidate based on the predicted traffic and the status information of each destination candidate,
The method of claim 2. - ネットワークと、
前記ネットワークを介して互いに通信する複数の物理計算機と、
前記ネットワークにおける前記複数の物理計算機間のトラフィックの測定結果を取得するトラフィック測定結果取得部と、
前記取得した測定結果を表す情報を格納するトラフィック測定情報納領域と、
前記複数の物理計算機の1つに存在する仮想マシンを前記複数の物理計算機における移動先候補のそれぞれに移動した場合の前記ネットワークのトラフィックを、前記トラフィック測定領域の情報から予測する、トラフィック予測部と、
前記予測されたトラフィックを表す情報を格納する、予測トラフィック情報格納領域と、
前記予測トラフィック情報格納領域の情報に基づいて、前記移動先候補の優先度を決定する、優先度決定部と、
を含む計算機システム。 Network,
A plurality of physical computers communicating with each other via the network;
A traffic measurement result acquisition unit for acquiring a measurement result of traffic between the plurality of physical computers in the network;
A traffic measurement information storage area for storing information representing the acquired measurement result;
A traffic prediction unit that predicts traffic of the network when moving a virtual machine existing in one of the plurality of physical computers to each of destination candidates in the plurality of physical computers from information in the traffic measurement area; ,
A predicted traffic information storage area for storing information representing the predicted traffic;
A priority determination unit that determines the priority of the destination candidate based on information in the predicted traffic information storage area;
Including computer system. - 前記トラフィック予測部は、前記トラフィック測定結果から前記仮想マシンと前記複数の物理計算機との間のトラフィックを算出し、その算出したトラフィックから前記ネットワークのトラフィックを予測する、
請求項11に記載の計算機システム。 The traffic prediction unit calculates traffic between the virtual machine and the plurality of physical computers from the traffic measurement result, and predicts traffic of the network from the calculated traffic.
The computer system according to claim 11. - ネットワークを介して通信する複数の物理計算機と前記物理計算機の仮想マシンを管理する管理システムとを含む計算機システムにおいて、前記管理システムに仮想マシンの移動のための処理を実行させるプログラムを格納する、非一時的計算機可読記憶媒体であって、前記処理は、
前記ネットワークにおける前記複数の物理計算機間のトラフィックを測定し、
前記複数の物理計算機の1つに存在する仮想マシンを前記複数の物理計算機における移動先候補のそれぞれに移動した場合の前記ネットワークのトラフィックを、前記測定したトラフィックから予測し、
前記予測したトラフィックに基づいて前記移動先候補の優先度を決定する、
ことを含む、非一時的計算機可読記憶媒体。 In a computer system including a plurality of physical computers communicating via a network and a management system for managing virtual machines of the physical computers, a program for causing the management system to execute processing for moving virtual machines is stored. A temporary computer-readable storage medium, wherein the processing includes:
Measuring traffic between the plurality of physical computers in the network;
Predicting traffic of the network when moving a virtual machine existing in one of the plurality of physical computers to each of destination candidates in the plurality of physical computers from the measured traffic;
Determining a priority of the destination candidate based on the predicted traffic;
A non-transitory computer-readable storage medium. - 前記予測は、前記トラフィックの測定結果から前記仮想マシンと前記複数の物理計算機との間のトラフィックを算出し、その算出したトラフィックから前記ネットワークのトラフィックを予想する、
請求項13に記載の非一時的計算機可読記憶媒体。 In the prediction, traffic between the virtual machine and the plurality of physical computers is calculated from the measurement result of the traffic, and traffic of the network is predicted from the calculated traffic.
The non-transitory computer readable storage medium according to claim 13.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/071592 WO2012073369A1 (en) | 2010-12-02 | 2010-12-02 | Method of managing virtual machine, computer system and non-temporary computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2010/071592 WO2012073369A1 (en) | 2010-12-02 | 2010-12-02 | Method of managing virtual machine, computer system and non-temporary computer readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012073369A1 true WO2012073369A1 (en) | 2012-06-07 |
Family
ID=46171353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2010/071592 WO2012073369A1 (en) | 2010-12-02 | 2010-12-02 | Method of managing virtual machine, computer system and non-temporary computer readable medium |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012073369A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016076819A (en) * | 2014-10-06 | 2016-05-12 | 株式会社Nttドコモ | Communication system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299791A (en) * | 2007-06-04 | 2008-12-11 | Hitachi Ltd | Virtual computer system |
JP2009134687A (en) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | Method and apparatus for locating candidate data center for application migration |
JP2010140134A (en) * | 2008-12-10 | 2010-06-24 | Hitachi Ltd | Virtual machine management method, program, and management server |
JP2010146420A (en) * | 2008-12-22 | 2010-07-01 | Hitachi Ltd | Surplus resource management system, management method thereof, and server device |
-
2010
- 2010-12-02 WO PCT/JP2010/071592 patent/WO2012073369A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299791A (en) * | 2007-06-04 | 2008-12-11 | Hitachi Ltd | Virtual computer system |
JP2009134687A (en) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | Method and apparatus for locating candidate data center for application migration |
JP2010140134A (en) * | 2008-12-10 | 2010-06-24 | Hitachi Ltd | Virtual machine management method, program, and management server |
JP2010146420A (en) * | 2008-12-22 | 2010-07-01 | Hitachi Ltd | Surplus resource management system, management method thereof, and server device |
Non-Patent Citations (1)
Title |
---|
TOSHINORI TAKEMURA ET AL.: "A Method for Optimal Allocation of Virtual Machines for Saving Energy and its Evaluation", IPSJ SIG NOTES, vol. 2008, no. 9, 31 January 2008 (2008-01-31), pages 73 - 78 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016076819A (en) * | 2014-10-06 | 2016-05-12 | 株式会社Nttドコモ | Communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996756B2 (en) | Using process location to bind IO resources on NUMA architectures | |
US8656406B2 (en) | Load balancer and load balancing system | |
JP6248560B2 (en) | Management program, management method, and management apparatus | |
US7698529B2 (en) | Method for trading resources between partitions of a data processing system | |
RU2015114568A (en) | AUTOMATED RESOURCE USE PROFILING | |
JP2010250689A (en) | Performance monitoring system, bottleneck detection method, and management computer | |
US9110696B2 (en) | Thin client system, connection management server, connection management method and connection management program | |
WO2018118318A1 (en) | Pinning of virtual network function (vnf) deployments using hardware metrics | |
US11734172B2 (en) | Data transmission method and apparatus using resources in a resource pool of a same NUMA node | |
US20160203030A1 (en) | Load calculation method, load calculation program, and load calculation apparatus | |
KR20150009662A (en) | Method of allocating a virtual machine for virtual desktop service | |
CN113544647A (en) | Capacity management in cloud computing systems using virtual machine family modeling | |
WO2014206078A1 (en) | Memory access method, device and system | |
JP5773142B2 (en) | Computer system configuration pattern calculation method and configuration pattern calculation apparatus | |
US20160337245A1 (en) | Network element controller, and control apparatus and method for controlling network element controllers | |
US20140222896A1 (en) | Distributed processing system and management method of distributed processing system | |
US11714670B2 (en) | VM priority level control system and VM priority level control method | |
US7873759B2 (en) | Information processing system and method of allocating I/O to paths in same | |
US20220318057A1 (en) | Resource Management for Preferred Applications | |
WO2012073369A1 (en) | Method of managing virtual machine, computer system and non-temporary computer readable medium | |
JP2014167713A (en) | Information processing device, information processing system, information processing device management program and information processing device management method | |
JP6098167B2 (en) | Virtual machine management program and method thereof | |
JP6232698B2 (en) | Network switching device, task moving method, and task moving program | |
WO2014016950A1 (en) | Parallel computer system, and method for arranging processing load in parallel computer system | |
JP6657910B2 (en) | Band setting method, band setting program, information processing apparatus and information processing system |
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: 10860248 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 10860248 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |