Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery
First Claim
1. A method comprising:
- backing up a first virtual machine into a first full backup copy of the first virtual machine stored to a first secondary storage device,wherein the first virtual machine executes over a first hypervisor operating on a first virtual machine server,wherein the first virtual machine accesses data that is stored in a first primary storage device that is communicatively coupled with the first virtual machine server, andwherein the first full backup copy comprises, in a hypervisor-independent format, one or more configuration parameters of the first virtual machine converted into the hypervisor-independent format by a first data agent associated with the first virtual machine server;
configuring a second virtual machine, based on the one or more configuration parameters obtained from the first full backup copy,wherein the second virtual machine is configured over a second hypervisor operating on a second virtual machine server which is distinct from the first virtual machine server, andwherein a second data agent that is associated with the second virtual machine server obtains the one or more configuration parameters from the first full backup copy of the first virtual machine and;
(a) determines whether the first hypervisor is of the same type as the second hypervisor, (b) converts the one or more configuration parameters from the hypervisor-independent format into a format suitable for the second hypervisor, and (c) instructs the second virtual machine server to configure the second virtual machine according to the converted one or more configuration parameters;
restoring the first full backup copy to the second virtual machine, which is in communication with a second primary storage device storing restored data in native format accessible to the second virtual machine;
synchronizing the second virtual machine to the first virtual machine, comprising;
periodically backing up the first virtual machine to successive incremental backup copies comprising changes relative to a preceding backup copy of the first virtual machine, andrestoring each successive incremental backup copy to the second virtual machine, thereby making the second virtual machine ready to operate instead of the first virtual machine, based on a most recent incremental backup copy of the first virtual machine restored to the second virtual machine; and
wherein the backing up operations are performed at least in part by the first data agent and the restoring operations are performed at least in part by the second data agent.
3 Assignments
0 Petitions
Accused Products
Abstract
An illustrative “Live Synchronization” feature in a data storage management system can reduce the downtime that arises in failover situations. The illustrative Live Sync embodiment uses backup data to create and maintain a ready (or “warm”) virtualized computing platform comprising one or more virtual machines (“VMs”) that are configured and ready to be activated and take over data processing from another data processing platform operating in the production environment. The “warm” computing platform awaits activation as a failover solution for the production system(s) and can be co-located at the production data center, or configured at a remote or disaster recovery site, which in some embodiments is configured “in the cloud.” Both local and remote illustrative embodiments are discussed herein. An “incremental forever” approach can be combined with deduplication and synthetic full backups to speed up data transfer and update the disaster recovery sites.
-
Citations
17 Claims
-
1. A method comprising:
-
backing up a first virtual machine into a first full backup copy of the first virtual machine stored to a first secondary storage device, wherein the first virtual machine executes over a first hypervisor operating on a first virtual machine server, wherein the first virtual machine accesses data that is stored in a first primary storage device that is communicatively coupled with the first virtual machine server, and wherein the first full backup copy comprises, in a hypervisor-independent format, one or more configuration parameters of the first virtual machine converted into the hypervisor-independent format by a first data agent associated with the first virtual machine server; configuring a second virtual machine, based on the one or more configuration parameters obtained from the first full backup copy, wherein the second virtual machine is configured over a second hypervisor operating on a second virtual machine server which is distinct from the first virtual machine server, and wherein a second data agent that is associated with the second virtual machine server obtains the one or more configuration parameters from the first full backup copy of the first virtual machine and;
(a) determines whether the first hypervisor is of the same type as the second hypervisor, (b) converts the one or more configuration parameters from the hypervisor-independent format into a format suitable for the second hypervisor, and (c) instructs the second virtual machine server to configure the second virtual machine according to the converted one or more configuration parameters;restoring the first full backup copy to the second virtual machine, which is in communication with a second primary storage device storing restored data in native format accessible to the second virtual machine; synchronizing the second virtual machine to the first virtual machine, comprising; periodically backing up the first virtual machine to successive incremental backup copies comprising changes relative to a preceding backup copy of the first virtual machine, and restoring each successive incremental backup copy to the second virtual machine, thereby making the second virtual machine ready to operate instead of the first virtual machine, based on a most recent incremental backup copy of the first virtual machine restored to the second virtual machine; and wherein the backing up operations are performed at least in part by the first data agent and the restoring operations are performed at least in part by the second data agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
backing up a first virtual machine into a first full backup copy of the first virtual machine stored to a first secondary storage device, wherein the first virtual machine executes over a first hypervisor operating on a first virtual machine server, wherein the first virtual machine accesses data that is stored in a first primary storage device that is communicatively coupled with the first virtual machine server, and wherein the first full backup copy comprises, in a hypervisor-independent format, one or more configuration parameters of the first virtual machine converted into the hypervisor-independent format by a first data agent associated with the first virtual machine server; transmitting the first full backup copy to a secondary storage computing device, which stores the first full backup copy to a second secondary storage device; configuring a second virtual machine, based on the one or more configuration parameters obtained from the first full backup copy, wherein the second virtual machine is configured over a second hypervisor operating on a second virtual machine server which is distinct from the first virtual machine server, and wherein a second data agent that is associated with the second virtual machine server obtains the one or more configuration parameters from the first full backup copy of the first virtual machine and;
(a) determines whether the first hypervisor is of the same type as the second hypervisor, (b) converts the one or more configuration parameters from the hypervisor-independent format into a format suitable for the second hypervisor, and (c) instructs the second virtual machine server to configure the second virtual machine according to the converted one or more configuration parameters;restoring the first full backup copy to the second virtual machine, which is in communication with a second primary storage device storing restored data in native format accessible to the second virtual machine; synchronizing the second virtual machine to the first virtual machine, comprising; periodically backing up the first virtual machine to successive incremental backup copies comprising changes relative to a preceding backup copy of the first virtual machine, consolidating one or more of the successive incremental backup copies into a consolidated copy, and restoring the consolidated copy to the second virtual machine, thereby making the second virtual machine ready to operate instead of the first virtual machine, based on a most recent incremental backup copy of the first virtual machine in the consolidated copy which is restored to the second virtual machine; and wherein the backing up of the first virtual machine are performed at least in part by the first data agent and the restoring operations are performed at least in part by the second data agent.
-
-
11. A system for generating virtual machines from backups of source computing platforms and maintaining the generated virtual machines synchronized with respective source computing platforms and ongoing backups thereof in preparation for failover from the source computing platforms, the system comprising:
-
a first virtual machine executing over a first hypervisor on a source computing platform, the first virtual machine executing a first set of applications and the source computing platform also comprising a first data agent; a primary storage device comprising data accessed by the first set of applications, the primary storage device communicatively coupled with the first virtual machine; a secondary storage device for storing backup copies; a destination computing platform (a) hosting a second virtual machine executing over a second hypervisor and (b) comprising a second data agent; wherein the first data agent is configured to; perform an initial full backup of the first virtual machine including the data that is accessed by the first set of applications, to the secondary storage device, wherein the initial full backup generates a first full backup copy that additionally comprises, in a hypervisor-independent format, one or more configuration parameters of the source computing platform obtained by the first data agent and converted by the first data agent into the hypervisor-independent format; after the initial full backup, create subsequent incremental backup copies that comprise only changed data relative to an immediately preceding backup; wherein the second data agent is configured to; obtain the one or more configuration parameters from the first full backup copy of the first virtual machine; determine whether the first hypervisor is of the same type as the second hypervisor; convert the one or more configuration parameters from the hypervisor-independent format obtained from the first full backup copy into a format suitable for the second hypervisor, generate the second virtual machine from the first full backup copy according to the converted one or more configuration parameters, restore the first full backup copy to the second virtual machine, which is in communication with a second primary storage device storing restored data in native format accessible to the second virtual machine, keep the second virtual machine synchronized to the source computing platform further by restoring the subsequent incremental backup copies to the native format accessible to the second virtual machine, and when detecting that the first virtual machine has failed, activate the second virtual machine to begin executing instead of the first virtual machine, and wherein a second set of applications corresponding to the first set of applications execute on the activated second virtual machine. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification