Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs
First Claim
1. A method comprising:
- identifying one or more proxies in a storage management system that are eligible to back up a given virtual machine in a first set of virtual machines in the storage management system,wherein any one proxy among the one or more proxies represents one of;
(a) a first virtual machine that executes on a first computing device, wherein the first virtual machine executes a data agent for virtual-machine backup, and(b) a second computing device that executes a data agent for virtual-machine backup;
wherein the identifying comprises;
(i) determining (A) a set of candidate proxies that are candidates to back up the given virtual machine, and (B) a mode of access available to each respective candidate proxy for accessing the given virtual machine'"'"'s data as a source for backup,wherein the mode of access has a predefined tier of preference;
(ii) classifying each candidate proxy in the set of candidate proxies based on the predefined tier of preference for the respective candidate proxy'"'"'s mode of access to the given virtual machine'"'"'s data as the source for backup; and
(iii) defining one or more candidate proxies that are classified as having the highest-tier of preference as being eligible to back up the given virtual machine; and
wherein the identifying is performed by a first data agent for virtual-machine backup that operates as a component of the storage management system.
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.
-
Citations
19 Claims
-
1. A method comprising:
-
identifying one or more proxies in a storage management system that are eligible to back up a given virtual machine in a first set of virtual machines in the storage management system, wherein any one proxy among the one or more proxies represents one of; (a) a first virtual machine that executes on a first computing device, wherein the first virtual machine executes a data agent for virtual-machine backup, and (b) a second computing device that executes a data agent for virtual-machine backup; wherein the identifying comprises; (i) determining (A) a set of candidate proxies that are candidates to back up the given virtual machine, and (B) a mode of access available to each respective candidate proxy for accessing the given virtual machine'"'"'s data as a source for backup, wherein the mode of access has a predefined tier of preference; (ii) classifying each candidate proxy in the set of candidate proxies based on the predefined tier of preference for the respective candidate proxy'"'"'s mode of access to the given virtual machine'"'"'s data as the source for backup; and (iii) defining one or more candidate proxies that are classified as having the highest-tier of preference as being eligible to back up the given virtual machine; and wherein the identifying is performed by a first data agent for virtual-machine backup that operates as a component of the storage management system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for attempting to back up a first set of virtual machines in a storage management system, the method comprising:
-
identifying, by a coordinator data agent that operates as a component of the storage management system, a plurality of proxies for collectively backing up the set of virtual machines in the storage management system, wherein any one proxy among the plurality of proxies represents one of; (a) a first virtual machine that executes on a first computing device having one or more processors and non-transitory computer-readable memory, wherein the first virtual machine executes a first virtual-server data agent for virtual-machine backup, and (b) a second computing device having one or more processors and non-transitory computer-readable memory, wherein the second computing device executes the first virtual-server data agent for virtual-machine backup; identifying, by the coordinator data agent, a first proxy among the plurality of proxies, wherein the first proxy is available for backup using a first data stream which terminates at the first proxy; identifying, by the coordinator data agent, a second virtual machine on a priority list that identifies a set of virtual machines awaiting backup, wherein the priority list orders the set of virtual machines in increasing order of the number of proxies that are eligible to back up each respective virtual machine; if the first proxy is eligible to back up the second virtual machine and a score of the second virtual machine'"'"'s data store is under a predefined threshold, causing, by the coordinator data agent, a backup process for the second virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the second virtual machine using the first data stream, and wherein the first data stream originates at a first storage device comprising the second virtual machine'"'"'s data store; if the first proxy is eligible to back up the second virtual machine and the score of the second virtual machine'"'"'s data store is not under the predefined threshold, identifying a third virtual machine on the priority list; and if the first proxy is eligible to back up the third virtual machine and a score of the third virtual machine'"'"'s data store is under the predefined threshold, causing, by the coordinator data agent, a backup process for the third virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the third virtual machine using the first data stream, and wherein the first data stream originates at a second storage device comprising the third virtual machine'"'"'s data store. - View Dependent Claims (10)
-
-
11. A method for attempting to back up a first set of virtual machines in a storage management system, the method comprising:
-
identifying, by a coordinator data agent that operates as a component of the storage management system, a plurality of proxies for collectively backing up the set of virtual machines in the storage management system, wherein any one proxy among the plurality of proxies represents one of; (a) a first virtual machine that executes on a first computing device having one or more processors and non-transitory computer-readable memory, wherein the first virtual machine executes a first virtual-server data agent for virtual-machine backup, and (b) a second computing device having one or more processors and non-transitory computer-readable memory, wherein the second computing device executes the first virtual-server data agent for virtual-machine backup; identifying, by the coordinator data agent, a first proxy among the plurality of proxies, wherein the first proxy is available for backup using a first data stream which terminates at the first proxy; identifying, by the coordinator data agent, a second virtual machine on a priority list that identifies a set of virtual machines awaiting backup, wherein the priority list orders the set of virtual machines in increasing order of the number of proxies that are eligible to back up each respective virtual machine; if the first proxy is eligible to back up the second virtual machine and a score of the second virtual machine'"'"'s data store is under a predefined threshold, causing, by the coordinator data agent, a backup process for the second virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the second virtual machine using the first data stream, and wherein the first data stream originates at a first storage device comprising the second virtual machine'"'"'s data store; if the first proxy is not eligible to back up the second virtual machine, identifying a third virtual machine on the priority list; and if the first proxy is eligible to back up the third virtual machine and a score of the third virtual machine'"'"'s data store is under the predefined threshold, causing, by the coordinator data agent, a backup process for the third virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the third virtual machine using the first data stream, and wherein the first data stream originates at a second storage device comprising the third virtual machine'"'"'s data store.
-
-
12. A method for attempting to back up a first set of virtual machines in a storage management system, the method comprising:
-
identifying, by a coordinator data agent that operates as a component of the storage management system, a plurality of proxies for collectively backing up the set of virtual machines in the storage management system, wherein any one proxy among the plurality of proxies represents one of; (a) a first virtual machine that executes on a first computing device having one or more processors and non-transitory computer-readable memory, wherein the first virtual machine executes a first virtual-server data agent for virtual-machine backup, and (b) a second computing device having one or more processors and non-transitory computer-readable memory, wherein the second computing device executes the first virtual-server data agent for virtual-machine backup; identifying, by the coordinator data agent, a first proxy among the plurality of proxies, wherein the first proxy is available for backup using a first data stream which terminates at the first proxy; identifying, by the coordinator data agent, a second virtual machine on a priority list that identifies a set of virtual machines awaiting backup, wherein the priority list orders the set of virtual machines in increasing order of the number of proxies that are eligible to back up each respective virtual machine; if the first proxy is eligible to back up the second virtual machine and a score of the second virtual machine'"'"'s data store is under a predefined threshold, causing, by the coordinator data agent, a backup process for the second virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the second virtual machine using the first data stream, and wherein the first data stream originates at a first storage device comprising the second virtual machine'"'"'s data store; wherein the set of virtual machines awaiting backup is associated with a backup job in the storage management system; and further comprising; if after traversing the priority list identifying the set of virtual machines, the coordinator data agent determines that a subset of the set of virtual machines is still awaiting backup; (i) pending the backup job, by the coordinator data agent; (ii) restarting the backup job, by the coordinator data agent, based only on the subset of virtual machines that are still awaiting backup, wherein the restarted backup job comprises; generating, by the coordinator data agent, a revised priority list identifying the virtual machines in the subset of virtual machines in order of increasing number of associated eligible proxies for each respective virtual machine, and identifying, by the coordinator data agent, a revised plurality of proxies for collectively backing up the subset of virtual machines. - View Dependent Claims (13)
-
-
14. A method for attempting to back up a first set of virtual machines in a storage management system, the method comprising:
-
identifying, by a coordinator data agent that operates as a component of the storage management system, a plurality of proxies for collectively backing up the set of virtual machines in the storage management system, wherein any one proxy among the plurality of proxies represents one of; (a) a first virtual machine that executes on a first computing device having one or more processors and non-transitory computer-readable memory, wherein the first virtual machine executes a first virtual-server data agent for virtual-machine backup, and (b) a second computing device having one or more processors and non-transitory computer-readable memory, wherein the second computing device executes the first virtual-server data agent for virtual-machine backup; identifying, by the coordinator data agent, a first proxy among the plurality of proxies, wherein the first proxy is available for backup using a first data stream which terminates at the first proxy; identifying, by the coordinator data agent, a second virtual machine on a priority list that identifies a set of virtual machines awaiting backup, wherein the priority list orders the set of virtual machines in increasing order of the number of proxies that are eligible to back up each respective virtual machine; if the first proxy is eligible to back up the second virtual machine and a score of the second virtual machine'"'"'s data store is under a predefined threshold, causing, by the coordinator data agent, a backup process for the second virtual machine to be launched at the first proxy, wherein the first proxy backs up, at least in part, the second virtual machine using the first data stream, and wherein the first data stream originates at a first storage device comprising the second virtual machine'"'"'s data store; wherein the identifying of the first proxy which is available for backup comprises choosing the first proxy from a set of candidate proxies based on the first proxy having the lowest data stream utilization score among the set of candidate proxies; and wherein the data stream utilization score for the first proxy is based on a ratio of (i) a number of data streams currently active at the first proxy to (ii) a maximum limit of data streams assignable to the first proxy, and wherein any data stream considered in the data stream utilization score terminates at the first proxy.
-
-
15. A computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by at least one computing device having one or more processors and non-transitory computer-readable memory, cause the computing device to perform a method comprising:
-
defining a set of candidate proxies for a virtual-machine backup job in a storage management system, wherein any one proxy in the set of candidate proxies represents one of; (a) a first virtual machine that executes on a first computing device having one or more processors and non-transitory computer-readable memory, wherein the first virtual machine executes a first virtual-server data agent for virtual-machine backup, and (b) a second computing device having one or more processors and non-transitory computer-readable memory, wherein the second computing device executes the first virtual-server data agent; evaluating the set of candidate proxies, wherein the evaluating for a given candidate proxy in the set of candidate proxies comprises; determining a maximum limit of data streams assignable to the given candidate proxy, based on operational properties of the given candidate proxy, identifying a number of data streams that are currently active at the given candidate proxy, including any data streams in the virtual-machine backup job and any data streams for other jobs in the storage management system, computing a data stream utilization score for the given candidate proxy, based on a ratio of (i) the number of data streams currently active at the given candidate proxy to (ii) the maximum limit of data streams assignable to the given candidate proxy, wherein any data stream considered in the evaluating operation terminates at the given candidate proxy; and assigning a new data stream to a first proxy in the set of candidate proxies that has the lowest data stream utilization score among the set of candidate proxies. - View Dependent Claims (16, 17, 18, 19)
-
Specification