IP Library › Granted Patent US 9,417,976
Granted Patent B2
US 9,417,976 · App. 14/473,744 · Granted Aug 16, 2016

Preventing migration of a virtual machine from affecting disaster recovery of replica

Inventors: Giridharan Sugabrahmam (Santa Clara, CA); Ilia Langouev (Santa Cruz, CA); Aleksey Pershin (Fremont, CA)
Assignee: VMware, Inc.
G06F11/203G06F9/45558G06F2009/45575G06F2009/45591G06F2201/815
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,417,976
App. No.
14/473,744
Granted
Aug 16, 2016
Kind
B2
Abstract

A storage migration engine and a recovery manager are provided that enable failover operations to be performed in situations where storage migration and array-based replication are involved. The storage migration engine stores information related to storage migrations directly into a source datastore and a destination datastore, which are then replicated over to a recovery site. The recovery manager uses the information stored in the recovered datastores to select which instance of virtual machine data is to be used to fail over to a virtual machine at the recovery site.

Claims (63)

1. A method for performing failover of a virtual machine, the method comprising:

performing a storage migration of virtual machine data associated with a virtual machine (VM) in a first storage system, wherein indications of the storage migration are stored directly in the first storage system with the VM data;

receiving a request to fail over the VM from a protected site comprising the first storage system to a recovery site, wherein the first storage system is configured to perform array-based replication of the VM data including the indications of storage migration with a corresponding second storage system at the recovery site;

identifying one or more instances of VM data associated with the VM stored in the second storage system at the recovery site;

responsive to determining the one or more instances of VM data comprises a destination instance of a successfully completed storage migration based on indications stored within each of the one or more instances of VM data in the second storage system, selecting the destination instance for recovery; and

performing failover of the VM at the recovery site using the selected instance of VM data.

2. The method of claim 1 , wherein identifying the one or more instances of VM data associated with the VM stored in the second storage system further comprises:

scanning a plurality of datastores stored in the second storage system for instances of VM data;

grouping the identified instances of VM data by a virtual machine identifier contained within each instance of VM data and stored in the second storage system; and

selecting a group of instances of VM data having the virtual machine identifier associated with the VM.

3. The method of claim 1 , further comprising:

responsive to determining the one or more instances of VM data comprises a single instance of VM data associated with the VM stored in the second storage system at the recovery site, selecting the single instance of VM data and disregard location metadata at the recovery site indicating a different instance of VM data.

4. The method of claim 1 , wherein the indications of the storage migration comprise a first mark, a second mark, and a third mark, and are stored directly in the first storage system with the VM data by performing a process comprising:

prior to performing the storage migration, writing the first mark to a first instance of VM data indicating a source instance and writing a second mark to a second instance of VM data indicating a destination instance;

responsive to completing the storage migration, writing the third mark to the second instance of VM data indicating the storage migration has been successfully completed.

5. The method of claim 1 , further comprising:

deleting one of the instances of VM data stored in the second storage system comprising a source instance of VM data of the successfully completed storage migration.

6. The method of claim 1 , further comprising:

deleting one of the instances of VM data stored in the second storage system comprising a destination instance of VM data of an incomplete storage migration.

7. The method of claim 1 , further comprising:

responsive to determining the one or more instances of VM data does not comprise a destination instance of a successfully completed storage migration, selecting for recovery one of the instances of VM data comprising a source instance of VM data of an incomplete storage migration.

8. A non-transitory computer readable storage medium having stored thereon computer software executable by a processor, the computer software embodying a method for performing failover of a virtual machine, the method comprising:

performing a storage migration of virtual machine data associated with a virtual machine (VM) in a first storage system, wherein indications of the storage migration are stored directly in the first storage system with the VM data;

receiving a request to fail over the VM from a protected site comprising the first storage system to a recovery site, wherein the first storage system is configured to perform array-based replication of the VM data including the indications of storage migration with a corresponding second storage system at the recovery site;

identifying one or more instances of VM data associated with the VM stored in the second storage system at the recovery site;

responsive to determining the one or more instances of VM data comprises a destination instance of a successfully completed storage migration based on indications stored within each of the one or more instances of VM data in the second storage system, selecting the destination instance for recovery; and

performing failover of the VM at the recovery site using the selected instance of VM data.

9. The non-transitory computer readable storage medium of claim 8 , wherein identifying the one or more instances of VM data associated with the VM stored in the second storage system further comprises:

scanning a plurality of datastores stored in the second storage system for instances of VM data;

grouping the identified instances of VM data by a virtual machine identifier contained within each instance of VM data and stored in the second storage system; and

selecting a group of instances of VM data having the virtual machine identifier associated with the VM.

10. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises:

responsive to determining the one or more instances of VM data comprises a single instance of VM data associated with the VM stored in the second storage system at the recovery site, selecting the single instance of VM data and disregard location metadata at the recovery site indicating a different instance of VM data.

11. The non-transitory computer readable storage medium of claim 8 , wherein the indications of the storage migration comprise a first mark, a second mark, and a third mark, and are stored directly in the first storage system with the VM data by performing a process comprising:

prior to performing the storage migration, writing the first mark to a first instance of VM data indicating a source instance and writing a second mark to a second instance of VM data indicating a destination instance;

responsive to completing the storage migration, writing the third mark to the second instance of VM data indicating the storage migration has been successfully completed.

12. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises:

deleting one of the instances of VM data stored in the second storage system comprising a source instance of VM data of the successfully completed storage migration.

13. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises:

deleting one of the instances of VM data stored in the second storage system comprising a destination instance of VM data of an incomplete storage migration.

14. The non-transitory computer readable storage medium of claim 8 , wherein the method further comprises:

responsive to determining the one or more instances of VM data does not comprise a destination instance of a successfully completed storage migration, selecting for recovery one of the instances of VM data comprising a source instance of VM data of an incomplete storage migration.

15. A computer system for performing failover of a virtual machine, the computer system comprising:

a protected site comprising a first storage system and a first processor programmed to carry out the steps of: performing a storage migration of virtual machine data associated with a virtual machine (VM) in the first storage system, wherein indications of the storage migration are stored directly in the first storage system with the VM data;

a recovery site comprising a second storage system and a second processor programmed to carry out the steps of:

receiving a request to fail over the VM from the protected site to the recovery site, wherein the first storage system is configured to perform array-based replication of the VM data including the indications of storage migration with the corresponding second storage system at the recovery site;

identifying one or more instances of VM data associated with the VM stored in the second storage system at the recovery site;

responsive to determining the one or more instances of VM data comprises a destination instance of a successfully completed storage migration based on indications stored within each of the one or more instances of VM data in the second storage system, selecting the destination instance for recovery; and

performing failover of the VM at the recovery site using the selected instance of VM data.

16. The computer system of claim 15 , wherein the second processor programmed to carry out the steps of identifying the one or more instances of VM data associated with the VM stored in the second storage system is further programmed to carry out the steps of:

scanning a plurality of datastores stored in the second storage system for instances of VM data;

grouping the identified instances of VM data by a virtual machine identifier contained within each instance of VM data and stored in the second storage system; and

selecting a group of instances of VM data having the virtual machine identifier associated with the VM.

17. The computer system of claim 15 , wherein the second processor is further programmed to carry out the steps of:

responsive to determining the one or more instances of VM data comprises a single instance of VM data associated with the VM stored in the second storage system at the recovery site, selecting the single instance of VM data and disregard location metadata at the recovery site indicating a different instance of VM data.

18. The computer system of claim 15 , wherein the indications of the storage migration comprise a first mark, a second mark, and a third mark, and are stored directly in the first storage system with the VM data by performing a process comprising:

prior to performing the storage migration, writing the first mark to a first instance of VM data indicating a source instance and writing a second mark to a second instance of VM data indicating a destination instance;

responsive to completing the storage migration, writing the third mark to the second instance of VM data indicating the storage migration has been successfully completed.

19. The computer system of claim 15 , wherein the second processor is further programmed to carry out the steps of:

deleting one of the instances of VM data stored in the second storage system comprising a source instance of VM data of the successfully completed storage migration; and

deleting one of the instances of VM data stored in the second storage system comprising a destination instance of VM data of an incomplete storage migration.

20. The computer system of claim 15 , wherein the second processor is further programmed to carry out the steps of:

responsive to determining the one or more instances of VM data does not comprise a destination instance of a successfully completed storage migration, selecting for recovery one of the instances of VM data comprising a source instance of VM data of an incomplete storage migration.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2015
From: SUGABRAHMAM, GIRIDHARAN; LANGOUEV, ILIA; PERSHIN, ALEKSEY
To: VMWARE, INC.
Reel/Frame 036382/0964 →
Continuity (1)
Related Publication 20160062853A1 · Mar 3, 2016