The present disclosure relates generally to the field of networks, and, more particularly, to a system and method for the load balancing of virtual machines in a computer network.
As the value and use of information continues to increase, individuals and businesses continually seek additional ways to process and store information. One option available to users of information is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary with regard to the kind of information that is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use, including such uses as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Computers, including servers and workstations, are often grouped into computer networks, including networks having a client-server architecture in which the servers access storage, including shared storage, in response to requests from client computers of the network. The servers of a computer network may include one or more virtual operating systems running on the host operating system and the host software of the server. Each virtual operating system comprises a virtual machine. Multiple virtual machines may be included on a single physical server. The presence of one or more virtual machines on a single physical machine provides a separation of the hardware and the software of the compute system. Each virtual machine could be dedicated to the task of handling a single function. As an example, one virtual machine could be mail server, while another virtual machine present on the same physical server could be a file server.
In accordance with the present disclosure, a system and method for balancing the load of virtual machines among the physical servers of a network is disclosed. When a server of the network is identified as exceeding its total resource utilization, a virtual machine within the server is selected for migration to another physical server within the network. A virtual machine may be selected for migration on the basis of the virtual machine that has the lowest level of resource requirements. The target physical server may be selected on the basis of an identification of a server that has the highest level of resource availability.
The system and method disclosed herein provides an efficient technique for the balancing of virtual machines among the physical servers of a computer network. When a server of the computer network becomes overloaded, at least one of the virtual machines of the server is migrated to another server, thereby relieving some of the demands on overloaded system. Because the system and method disclosed herein prevents the servers of the computer network from reaching an overloaded state, the resources of the network are optimized, and the network does not reach a state in which the applications running on a single server are competing for resources.
Another technical advantage of the present invention is that it is not limited in its use to computer networks having a limited number of servers or a limited number of virtual machines within each server. The system and method disclosed herein is operable within networks having multiple servers and multiple virtual machines within each server. Another technical advantage of the system and method disclosed herein is that the system and method may be used for the sake of locating new virtual machines within the network. When a new virtual machine is placed in the network, the system and method disclosed herein automatically migrates the virtual machine if it is determined that the virtual machine or another virtual machine of the server if the addition of the virtual machine causes the server to exceed a predetermined threshold. Other technical advantages will be apparent to those of ordinary skill in the art in view of the following specification, claims, and drawings.
A more complete understanding of the present embodiments and advantages thereof may be acquired by referring to the following description taken in conjunction with the accompanying drawings, in which like reference numbers indicate like features, and wherein:
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communication with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components. An information handling system may comprise one or more nodes of a cluster network.
The system and method disclosed herein provides a technique for load balancing among the servers of a computer network. Each server of the computer network may host one or more virtual machines. When the resource utilization of any physical machine of the computer network exceeds a predetermined threshold, a virtual machine of the server node is selected for migration to another server of the computer network. The system and method disclosed herein concerns the intelligent selection of a virtual machine of an overutilized server for transfer to another server of the computer network.
Shown in
Each server 16 includes a virtual resource manager (VRM) 22. Virtual resource manager 22 controls the amount of physical resources of the server that are being allocated to each of the virtual machines hosted by the server. These physical resources that are rationed by virtual resource manager 22 include the processing capacity of the processor or processors of the server and the memory of the server 16. Virtual resource manager 22 also maintains a record of the resource utilization requirements of each virtual machine of the associated server 16. The resource requirement of each virtual machine 24 of a server is the maximum amount of resources that, depending on the operational status of the virtual machine, could be consumed by the virtual machine. Virtual resource manager 24 is also able to identify the total resource utilization of the server. The total resource utilization of a server is a snapshot of the resource utilization of the server. The total resource utilization of a server may be expressed as a percentage of the maximum possible resource utilization of the server. As indicated in
Network 10 also includes a control node 18, which is coupled to the LAN/WAN node 12. Control node 10 includes a virtual machine manager 28 and a virtual data center manager 26. Virtual data center manager 10 operates in a centrally accessible location in network 10 and receives from each of the virtual resource managers 22 of each of the servers 16 (a) the resource utilization requirements of each of the virtual machines within network 10 and (b) the total resource utilization of each server. The resource utilization requirements of each virtual machine and the total resource utilization of each server comprise a global resource map that identifies for the virtual data center manager the resources required by each of the virtual machines and the resources currently being consumed by each of the physical servers of the computer network. Virtual machine manager 28 communicates with the virtual data center manager 26 and, upon receiving a command from virtual data center manager 26, is operable to migrate a virtual machine from a first physical server to a second physical server. An example of a virtual machine manager is VMotion of EMC Corporation of Hopkinton, Mass.
A diagram of the communication links between the modules of a server node 16 and the modules of a control node 18 are shown in
Shown in
If it is determined that the resource utilization of a physical server of the network has exceeded a predetermined threshold, a virtual machine of the server is selected. A server whose total resource utilization exceeds a certain threshold is sometimes referred to as a source server. If the physical server includes multiple virtual machines, a virtual machine could be selected according to one of several techniques. As a first alternative, the virtual machine having the lowest resource utilization requirements could be selected. The virtual machine having the lowest resource utilization requirements is consuming a relatively limited set of resources as compared with other virtual machines in the network. As such, the virtual machine having the lowest resource utilization requirements among the virtual machines of the physical server is the virtual machine that is best candidate, because of its limited consumption requirements, to be moved to an other physical server in the network.
As an alternative to selecting the virtual machine having the lowest resource utilization requirements, the virtual machines of the physical server could be ranked for migration to a second server. The process of migrating a virtual machine may involve an interruption in the operation of the virtual machine. As such, those virtual machine that, for business or technical reasons, are poor candidates for an interruption in operation are identified as having a low priority for migration. Those virtual machines that are the most tolerant of an interrupt in operation are given a high priority for migration. As part of the selection step 34, the virtual machine having the highest priority for migration is selected for migration.
Once a virtual machine is selected at step 34, the physical server having the highest level of resource availability is selected at step 36. The level of resource availability of each server is determined by subtracting the total resource utilization of each server from the maximum resource utilization of each server. The physical server identified in step 32 is not included in the set of servers that could be selected in step 36. At step 38, the server selected at step 36 is identified for virtual machine manager 28 as the target server or preferred node for the migration of the selected virtual machine. At step 40, virtual machine manager 28 migrates the selected virtual machine to the server selected at step 38 as the target server. The process then loops back to step 30 for the continuous scan of the total resource utilization of each virtual machine.
The load balancing technique described herein can be used without first identifying a physical server whose total resource utilization exceeds a predetermined threshold. When a new virtual server is added to the network, the technique of the present disclosure can be used to identify the physical server having the highest level of resource availability.
The system and method described herein may be used in computer networks having multiple servers and in computer networks in which one or more of the servers includes multiple virtual machines. Although the present disclosure has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and the scope of the invention as defined by the appended claims.