Cloning and recovery of data volumes
First Claim
1. A computer-implemented method of recovering from a failure of a data instance in a data environment using a separate control environment, comprising:
- under control of one or more computer systems configured with executable instructions,sending a status request from a monitoring component in a control environment to a host manager in a data environment, the host manager operable to monitor a status of a source data store in the data environment, the source data store containing a plurality of data entries;
analyzing, in the control environment, a response received from the host manager to determine whether a problem state exists with the source data store that requires a recovery action;
when the problem state is determined to exist, causing one or more processors of the one or more computer systems to determine a recovery workflow based at least in part upon a type of problem and a time at which the problem occurred in the source data store; and
executing the recovery workflow in the control environment, the recovery workflow receiving an identifier of the source data store and causing the source data store to be restored by (a) provisioning a new data store in the data environment for the identifier of the source data store, and (b) copying a snapshot associated with the identifier of the source data store into the new data store, the snapshot being based at least in part on the time at which the problem occurred in the source data store.
1 Assignment
0 Petitions
Accused Products
Abstract
Aspects of a data environment, such as the monitoring, backup, and recovery of data stores and instances, are managed using a separate control environment. A monitoring component of the control environment can periodically communicate with the data environment to determine any necessary actions to be performed, such as to recover from faults or events for a data instance in the data environment. A workflow can be instantiated that includes tasks necessary to perform a recovery action. Tasks of the workflow can instantiate a new data instance and, using an identifier for the original data instance, access a snapshot for the data instance and copy the data to the new instance. Log files also can be accessed and applied to the new data instance to cause the new instance to represent the state of the original data instance at a particular point in time.
82 Citations
26 Claims
-
1. A computer-implemented method of recovering from a failure of a data instance in a data environment using a separate control environment, comprising:
under control of one or more computer systems configured with executable instructions, sending a status request from a monitoring component in a control environment to a host manager in a data environment, the host manager operable to monitor a status of a source data store in the data environment, the source data store containing a plurality of data entries; analyzing, in the control environment, a response received from the host manager to determine whether a problem state exists with the source data store that requires a recovery action; when the problem state is determined to exist, causing one or more processors of the one or more computer systems to determine a recovery workflow based at least in part upon a type of problem and a time at which the problem occurred in the source data store; and executing the recovery workflow in the control environment, the recovery workflow receiving an identifier of the source data store and causing the source data store to be restored by (a) provisioning a new data store in the data environment for the identifier of the source data store, and (b) copying a snapshot associated with the identifier of the source data store into the new data store, the snapshot being based at least in part on the time at which the problem occurred in the source data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. A computer-implemented method of cloning a data instance in a data environment using a separate control environment, comprising:
under control of one or more computer systems configured with executable instructions, receiving, to a control environment, a request to generate a second data instance corresponding to a state of a first data instance; selecting a time associated with the state of the first data instance; in response to the request, causing one or more processors to determine a workflow for generating the second data instance based at least in part upon a type of the request and the selected time of the state of the first data instance; and executing the determined workflow in the control environment, the determined workflow receiving an identifier of the first data instance and causing the first data instance to be cloned by (a) provisioning the second data instance in a data environment for the identifier of the first data instance, and (b) copying a snapshot associated with the identifier of the first data instance into the second data instance the snapshot being based at least in part on the selected time associated with the state of the first data instance. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
20. A computer-implemented method of hibernating a data instance in a data environment using a separate control environment, comprising:
under control of one or more computer systems configured with executable instructions, receiving, to a control environment, a first request to hibernate a first data instance; in response to the first request, storing a snapshot of a current state of the first data instance;
the snapshot of the current state being based at least in part on a time that the request to hibernate the first data instance was received, and releasing the first data instance in a data environment;receiving, to the control environment, a second request to resume the first data instance; causing one or more processors to determine a workflow for generating a second data instance corresponding to the first data instance; and executing the determined workflow in the control environment, the determined workflow receiving an identifier of the first data instance and causing the first data instance to be resumed by (a) provisioning the second data instance in the data environment for the identifier of the first data instance, and (b) copying the snapshot associated with the identifier of the first data instance into the second data instance, the snapshot being based at least in part on the time that the first request to hibernate the first data instance was received.
-
21. A system for controlling a data environment using a separate control environment, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform; sending a request from a monitoring component in the control environment to a host manager in a data environment, the host manager operable to monitor a status of a source data store in the data environment, the source data store containing a plurality of data entries; analyzing, in the control environment, a response received from the host manager to determine whether to copy a state of the source data store; determining a need to copy a state of a source data store based at least in part on the response received from the host manager; selecting a time associated with the state of the source data store; causing one or more processors to determine a workflow based at least in part upon a type of the need and the selected time associated with the state of the source data store; and executing the determined workflow in the control environment, the determined workflow receiving an identifier of the source data store and causing the source data store to be copied by (a) provisioning a new data store in the data environment for the identifier of the source data store, and (b) copying a snapshot associated with the identifier of the source data store into the new data store, the snapshot being based at least in part on the selected time associated with the state of the source data store. - View Dependent Claims (22, 23)
-
-
24. A computer program product embedded in a non-transitory computer-readable medium and including instructions that, when executed by at least one computing device, causes the following to be performed:
-
send a request from a monitoring component in a control environment to a host manager in a data environment, the host manager operable to monitor a status of a source data store in the data environment, the source data store containing a plurality of data entries; analyze, in the control environment, a response received from the host manager to determine whether to copy a state of the source data store; determine a need to copy the state of the source data store based at least in part on the response received from the host manager; select a time associated with the state of the source data store; cause one or more processors to determine a workflow based at least in part upon a type of need and the selected time associated with the state of the source data store; and execute the determined workflow in the control environment, the determined workflow receiving an identifier of the source data store and causing the source data store to be copied by (a) provisioning a new data store in the data environment for the identifier of the source data store, and (b) copying a snapshot associated with the identifier of the source data store into the new data store, the snapshot being based at least in part on the selected time associated with the state of the source data store. - View Dependent Claims (25, 26)
-
Specification