Invented by Rajiv Kottomtharayil, Rahul S. Pawar, Ashwin Gautamchand Sancheti, Sumer Dilip Deshpande, Sri Karthik Bhagi, Henry Wallace Dornemann, Ananda Venkatesha, Commvault Systems Inc
The Commvault Systems Inc invention works as followsVirtual machine proliferation can be reduced by determining whether existing VMs are available to perform a particular task. Existing VMs can be used to complete tasks instead of having to create a new VM. A coordinator can also group VMs and VM host based on factors such as the type of VM or the geographical location of the hosts. The coordinator can also assign one of more Virtual Server Agents to manage the group of VMs. In certain embodiments, coordinators can facilitate load-balancing VSAs while operating, for example, during a back up operation, restore operation or any other operations between a primary and secondary storage system.
Background for Virtual machine load balancing
Global businesses recognize the commercial value and seek cost-effective, reliable ways to secure their information while minimizing productivity. Information protection is often part and parcel of an organizational process.
A company may back up important computing systems like web servers, file servers, web server, etc. as part of its daily, weekly or monthly maintenance plan. A company might also protect the computing systems of each employee, such as those used in an accounting, marketing, or engineering department.
Companies continue to look for innovative ways to manage data growth and protect data, given the ever-growing volume of data under their control. Companies often use migration techniques to move data to cheaper storage and data reduction techniques to reduce redundant data, prune lower priority data, and so forth.
Data stored by enterprises is becoming a valuable asset. Customers are seeking solutions that can not only manage and protect their data but also allow them to leverage it. Solutions that allow for data analysis, enhanced data presentation, and easy access are increasingly in demand.
In certain environments, virtual machines can be used to implement data storage operations. Virtual machines are allocated physical resources to be used for operations. Therefore, an excessive number of virtual machines may limit the system’s resources. Inefficient allocation/use can also affect the operational capacity of a system. Effective virtual machine management is therefore a concern for data storage systems.
For the purposes of summarizing disclosure, certain aspects and novel features of inventions have been described in this document. These advantages can not always be realized in accordance to any one of the embodiments of the inventions described herein. The inventions described herein can be implemented or performed in a way that maximizes one advantage or group thereof, without necessarily achieving any other advantages.
In large enterprise environments, many virtual machines can be created. Many virtual machines are left running or unattended after an access has been made by a system or user. This proliferation of virtual machine can lead to wasted resources. The proliferation of virtual machines can make it difficult to manage the backup of primary storage systems to secondary storage systems. This requires significant resources.
In order for an information management system to reduce VM proliferation and address other challenges relating virtual machines, a number virtual server agents (VSAs), and a VSA Coordinator are provided. The VSA can be given a job or task that needs to be done by a virtual computer. It will then identify a VM available to complete the task. A new VM can be created if a VM does not exist. If an existing VM is able to perform the task, then the VSA can provide it to that VM. In certain embodiments it is advantageous to reduce the number of VMs in the system by transferring tasks to existing VMs.
In some implementations VMs and VM host systems may be grouped based upon one or more factors. VM hosts systems, for example, may be grouped based upon the capabilities of the VM system or the VMs that are hosted by it. To manage the job allocation to VMs in a group, groups of VMs and VM host systems can be assigned to or associated with a VSA.
In some embodiments the VSA Coordinator facilitates load-balancing. During a back-up process, the VSA Coordinator may identify a variety of VSAs that are available to backup a group of VMs to a secondary system. The VSA Coordinator may assign the VMs to the VSAs based upon the number of communication channels between each VSA, and the systems of the secondary system. In some cases, the VSA Coordinator determines the allocation of VMs by analyzing the characteristics of each VM to be backed-up, such as its type or size.
Certain embodiments of the invention described herein include methods for reducing virtual machine proliferation. A job request may be received at a virtual agent. This virtual server agent can include computer hardware. The method can also include determining the load of each virtual machine in a group of virtual machines. The virtual server agent may manage the set of virtual computers at least in part. The method can also include determining if the load of a virtual machine in the set is below a threshold. After determining that at least one virtual computer from the set is below a threshold load, the method can include selecting a selected virtual machine with a lower load than the threshold and assigning the job associated with the request to that virtual machine. In addition, if no virtual machine in the set is below the threshold load, then the method may include creating a new virtual computer and assigning a job to it.
In some embodiments, it is described a system to reduce virtual machine proliferation. The system may include a virtual agent that comprises computer hardware. The virtual server may be configured to accept a job request, and then access the load information of each virtual machine in a set assigned to it. The virtual server agent can also identify, at least partly based on the load information of each virtual machine from the set, a subset virtual machines that have a load lower than a threshold. The virtual server agent may also select a virtual computer from the subset and assign the job request associated with that virtual machine to the selected virtual.
Certain embodiments of the invention described herein include an approach to grouping virtual machines. A virtual server agent coordinator, which is computer hardware, can perform the method. A primary storage system can be used to identify a group of virtual machine providers systems. Each virtual machine provider system may include a virtual monitor and be configured to host one or more virtual machines. The method can also include accessing metadata from the set virtual machine providers systems for each virtual machine system. The method can also include grouping virtual machine providers systems into groups, based at least in part on metadata. The method may also include assigning virtual server agents for each group of virtual system provider systems. Each virtual server agent can be configured to back up data from at lease one virtual machine on the primary storage system onto a secondary storage.
In some embodiments, it is disclosed a system to group virtual machines. A virtual server agent coordinator may be included in the system. The virtual server coordinator can be configured to identify virtual machine providers in a primary system. Each virtual machine provider system may include a virtual monitor and be configured to host virtual machines. The virtual server agent coordinator can also access metadata from the set virtual machine providers systems for each virtual machine. The virtual server agent coordinator may also group virtual machine providers systems into groups, based in part on metadata. The virtual server agent coordinator may also assign virtual server agents to groups of virtual machine providers systems. Each virtual server agent can be configured to back up data from at lease one virtual machine on the primary storage system onto a secondary storage.
Certain embodiments of the invention described herein include a virtual server agent load-balancing method. A virtual server agent coordinator, which is computer hardware, can perform the method. The method can include identifying virtual machines to be backed up on a secondary storage system. A set of virtual machine providers may host the set of virtual computers. The set of virtual machines provider systems can also be part of a primary storage system. The method can also include identifying the virtual server agents that are available to backup the data from the virtual machines into the secondary storage system. The method can also include identifying the number of data streams that are available to each virtual agent in the set of virtual agents. The method can also include distributing virtual machines between the virtual server agent set based, at least in part, on the number data streams that are available to each virtual server agent.
In some embodiments, it is described a system of load balancing for virtual server agents. A virtual server agent coordinator consisting of computer hardware may be included in the system. The virtual server agent coordinator can also be configured to identify virtual machines that should be backed up to a secondary system. A set of virtual server provider systems may host the set of virtual machines. The set of virtual machines provider systems can also be part of a primary storage system. The virtual server agent coordinator can also identify a group of virtual server agents that are available to backup the data from the virtual machines into the secondary storage system. The virtual server coordinator can also determine the number of data streams that are available to each virtual agent in the set of virtual servers. The virtual server agent coordinator may also distribute virtual machines to the set virtual server agents, based in part on the number data streams that are available to each virtual server agent.
Herein are described systems and methods for reducing the proliferation of virtual machines (VMs), grouping virtual servers, and load balancing them. Here, we discuss in greater detail some of these systems and methods, for example, as they relate to FIGURES. 2-5. Moreover, as will be shown in the next section, information management systems such as those described below with reference to FIGS. can be used to reduce VM proliferation, load balance VSAs and group VMs. 1A-1H. As will be explained, components that implement a reduction of VM proliferation, grouping VMs and load balancing VSAs could be incorporated into these systems.
The system described in relation to FIGS. 1A-1H are useful for reducing virtual machine proliferation. In some embodiments one or more VSAs assigned a group virtual machine hosts (e.g. client computing devices and servers computing devices) can determine whether a VM is available to perform a job or task. Rather than creating a new VM, tasks can be assigned to an existing VM. Moreover, methods and systems for grouping virtual machine host are disclosed. In certain embodiments, the VSA coordinator can determine the grouping of virtual machines or VMs based on factors such as the type of VM or the geographical location of the hosts. The VSA Coordinator may also assign one VSA or more to facilitate the management of the group of VM host. The VSA coordinators can facilitate load-balancing VSAs in some embodiments. For example, during backup operations, restore operations, or other operations between primary storage systems and secondary storage systems.
Information Management System Overview
Organizations simply cannot afford to lose critical data. This is because of the growing importance of protecting and leveraging data. Protecting and managing data is becoming more difficult due to runaway data growth and other modern realities. It is imperative to have user-friendly, efficient and powerful solutions for managing and protecting data.
Click here to view the patent on Google Patents.