Assigning data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs
First Claim
1. A method comprising:
- designating, by a storage manager in a storage management system, a first data agent to coordinate a first backup job for performing secondary copy operations for a first set of virtual machines in the storage management system,wherein the first data agent executes on a first virtual machine, andwherein the first virtual machine executes on a first computing device comprising one or more processors and non-transitory random access memory;
designating, by the storage manager, a second data agent to act as controller in the first backup job coordinated by the first data agent,wherein the second data agent executes on a second computing device comprising one or more processors and non-transitory random access memory;
determining, by the first data agent, a respective maximum limit of concurrent data streams assignable by the first data agent to each of the first virtual machine and the second computing device for performing one or more backup jobs in the storage management system, including the first backup job;
wherein a maximum limit of concurrent data streams assignable to the first virtual machine is based on a processing capacity and an amount of random access memory of the first virtual machine; and
wherein a maximum limit of concurrent data streams assignable to the second computing device is based on a processing capacity and an amount of random access memory of the second computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
A comprehensive approach to streaming backups for virtual machines (“VMs”) in a storage management system comprises improvements to the assignment of data agent proxies for VM secondary copy operations. New considerations in performing a VM streaming backup job include without limitation: determining and enforcing a system-wide per-proxy limit of concurrent data streams; generating an ordered priority list of the VMs to be backed up as a basis for choosing which proxies will back up the respective VM, though the illustrative system may not strictly adhere to the priority list based on further considerations; identifying a next available proxy based on data stream utilization at the proxy; and dynamically re-generating the priority list and re-evaluating considerations if some VMs become “stranded” due to a failure to be backed up. Secondary copy operations are distributed to proxies in ways that improve the chances of successfully completing VM streaming backups.
213 Citations
19 Claims
-
1. A method comprising:
-
designating, by a storage manager in a storage management system, a first data agent to coordinate a first backup job for performing secondary copy operations for a first set of virtual machines in the storage management system, wherein the first data agent executes on a first virtual machine, and wherein the first virtual machine executes on a first computing device comprising one or more processors and non-transitory random access memory; designating, by the storage manager, a second data agent to act as controller in the first backup job coordinated by the first data agent, wherein the second data agent executes on a second computing device comprising one or more processors and non-transitory random access memory; determining, by the first data agent, a respective maximum limit of concurrent data streams assignable by the first data agent to each of the first virtual machine and the second computing device for performing one or more backup jobs in the storage management system, including the first backup job; wherein a maximum limit of concurrent data streams assignable to the first virtual machine is based on a processing capacity and an amount of random access memory of the first virtual machine; and wherein a maximum limit of concurrent data streams assignable to the second computing device is based on a processing capacity and an amount of random access memory of the second computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A storage management system comprising:
-
a storage manager comprising one or more processors and non-transitory random access memory; a first computing device comprising one or more processors and non-transitory random access memory; a second computing device comprising one or more processors and non-transitory random access memory; wherein the storage manager is configured to designate a first data agent to coordinate a first backup job for performing secondary copy operations for a first set of virtual machines in the storage management system, wherein the first data agent executes on a first virtual machine hosted by the first computing device; wherein the storage manager is further configured to designate a second data agent to act as controller in the first backup job coordinated by the first data agent, wherein the second data agent executes on the second computing device; wherein the first data agent is configured to determine a respective maximum limit of concurrent data streams assignable by the first data agent to each of the first virtual machine and the second computing device for performing the first backup job; wherein a maximum limit of concurrent data streams assignable to the first virtual machine is based on a processing capacity and an amount of random access memory of the first virtual machine; and wherein a maximum limit of concurrent data streams assignable to the second computing device is based on a processing capacity and an amount of random access memory of the second computing device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A storage management system comprising:
-
a first computing device configured to; execute a coordinator data agent that communicates with one or more controller data agents in regard to a backup job to be performed for virtual machines in the storage management system, wherein each controller data agent executes on a respective second computing device distinct from the first computing device, collect information about the backup job to be performed, further collect information about operational properties of the first computing device and each respective second computing device, which are candidates for executing at least part of the backup job to be performed, wherein for a given candidate computing device the operational properties include a processing capacity and an amount of random access memory of the given candidate computing device, and determine a respective maximum limit of concurrent data streams assignable by the coordinator data agent to each candidate computing device for transferring data in the backup job to be performed, wherein for a given candidate computing device the respective maximum limit of concurrent data streams is based on the operational properties collected about the given candidate computing device; and wherein any given computing device cannot concurrently use more than the respective maximum limit of concurrent data streams in the course of performing the backup job in the storage management system. - View Dependent Claims (17, 18, 19)
-
Specification