IP Library › Granted Patent US 9,423,956
Granted Patent B2
US 9,423,956 · App. 14/265,027 · Granted Aug 23, 2016

Emulating a stretched storage device using a shared storage device

Inventors: Aleksey Pershin (Fremont, CA); Sriram Krishnan (Shrewsbury, MA); Giridharan Sugabrahmam (Santa Clara, CA)
Assignee: VMware, Inc.
G06F3/06G06F11/2028G06F11/2038G06F11/2048G06F11/2094H04L29/0854H04L29/08549
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,423,956
App. No.
14/265,027
Granted
Aug 23, 2016
Kind
B2
Abstract

Exemplary methods, apparatuses, and systems include receiving a device discovery command from a recovery manager running on a management server within a first or second datacenter. In response to the device discovery command, device identifiers for one or more logical storage devices within the first datacenter are requested. In response to the request, a device discovery response including a first identifier is received. The received device discovery response is modified to include the first device identifier as the identifier for both an underlying logical storage device and as an identifier for a peer logical storage device. The modified response is returned to the recovery manager in response to the device discovery command.

Claims (76)

1. A computer-implemented method, comprising:

receiving a device discovery command from a recovery manager running on a management server within a first or second datacenter;

requesting, in response to the device discovery command, device identifiers for one or more logical storage devices within the first datacenter;

receiving, in response to the request, a device discovery response including a first device identifier for a first logical storage device within the first datacenter;

modifying the received device discovery response to include the first device identifier both as the identifier for the first logical storage device and as an identifier for a peer logical storage device to emulate the peer logical storage device as being actively available within the second datacenter; and

returning the modified response to the recovery manager in response to the device discovery command.

2. The computer-implemented method of claim 1 , wherein data from the first logical storage device in a first datacenter is replicated to a target logical storage device in the second datacenter, wherein the first and target logical storage devices storing the replicated data are in an active-passive configuration, the first logical storage device storing the replicated data being active and identified by the first device identifier, and the portion of the target logical storage device storing the replicated data being passive and identified by a second device identifier,

wherein modifying the received response includes

receiving a device discovery response indicating that data is replicated from the first logical storage device identified by the first device identifier to the target logical storage device identified by the second device identifier, and

modifying the device discovery response to replace the second device identifier for the target logical storage device with the first device identifier for the first logical storage device.

3. The computer-implemented method of claim 1 , further comprising:

storing the first device identifier and an indication of site preference associated with the first device identifier, the indication of site preference indicating which of the first and peer storage devices is a preferred storage device in an instance of lost communication between the first and second datacenters;

receiving a failover command to failover the first storage device from the first datacenter to the second datacenter; and

modifying, in response to the failover command, the indication of site preference associated with the first device identifier to change the preferred storage device to another of the first and peer storage devices.

4. The computer-implemented method of claim 1 , further comprising:

receiving a second command from the recovery manager;

returning, in response to the second command, an indication of success of performing the second command without performing the second command and without passing the second command to underlying storage.

5. The computer-implemented method of claim 1 , further comprising:

receiving a second command from the recovery manager;

forwarding the second command to underlying storage;

receiving a response to the second command from the underlying storage;

modifying the received response to include parameters to emulate stretched storage; and

providing the modified response to the recovery manager.

6. The computer-implemented method of claim 5 , wherein forwarding the second command to the underlying storage includes passing the command to a storage adapter.

7. The computer-implemented method of claim 5 , wherein modifying the received response includes appending error definitions or string descriptions to the received response.

8. A non-transitory computer-readable medium storing instructions, which when executed by a processing device, cause the processing device to perform a method comprising:

receiving a device discovery command from a recovery manager running on a management server within a first or second datacenter;

requesting, in response to the device discovery command, device identifiers for one or more logical storage devices within the first datacenter;

receiving, in response to the request, a device discovery response including a first device identifier for a first logical storage device within the first datacenter;

modifying the received device discovery response to include the first device identifier both as the identifier for the first logical storage device and as an identifier for a peer logical storage device to emulate the peer logical storage device as being actively available within the second datacenter; and

returning the modified response to the recovery manager in response to the device discovery command.

9. The non-transitory computer-readable medium of claim 8 , wherein data from the first logical storage device in a first datacenter is replicated to a target logical storage device in the second datacenter, wherein the first and target logical storage devices storing the replicated data are in an active-passive configuration, the first logical storage device storing the replicated data being active and identified by the first device identifier, and the portion of the target logical storage device storing the replicated data being passive and identified by a second device identifier,

wherein modifying the received response includes

receiving a device discovery response indicating that data is replicated from the first logical storage device identified by the first device identifier to the target logical storage device identified by the second device identifier, and

modifying the device discovery response to replace the second device identifier for the target logical storage device with the first device identifier for the first logical storage device.

10. The non-transitory computer-readable medium of claim 8 , further comprising:

storing the first device identifier and an indication of site preference associated with the first device identifier, the indication of site preference indicating which of the first and peer storage devices is a preferred storage device in an instance of lost communication between the first and second datacenters;

receiving a failover command to failover the first storage device from the first datacenter to the second datacenter; and

modifying, in response to the failover command, the indication of site preference associated with the first device identifier to change the preferred storage device to another of the first and peer storage devices.

11. The non-transitory computer-readable medium of claim 10 , further comprising:

receiving a second command from the recovery manager;

returning, in response to the second command, an indication of success of performing the second command without performing the second command and without passing the second command to underlying storage.

12. The non-transitory computer-readable medium of claim 8 , further comprising:

receiving a second command from the recovery manager;

forwarding the second command to underlying storage;

receiving a response to the second command from the underlying storage;

modifying the received response to include parameters to emulate stretched storage; and

providing the modified response to the recovery manager.

13. The non-transitory computer-readable medium of claim 12 , wherein forwarding the second command to the underlying storage includes passing the command to a storage adapter.

14. The non-transitory computer-readable medium of claim 12 , wherein modifying the received response includes appending error definitions or string descriptions to the received response.

15. An apparatus comprising:

a processing device; and

a memory coupled to the processing device, the memory storing instructions which, when executed by the processing device, cause the apparatus to:

receive a device discovery command from a recovery manager running on a management server within a first or second datacenter;

request, in response to the device discovery command, device identifiers for one or more logical storage devices within the first datacenter;

receive, in response to the request, a device discovery response including a first device identifier for a first logical storage device within the first datacenter;

modify the received device discovery response to include the first device identifier both as the identifier for the first logical storage device and as an identifier for a peer logical storage device to emulate the peer logical storage device as being actively available within the second datacenter; and

return the modified response to the recovery manager in response to the device discovery command.

16. The apparatus of claim 15 , wherein data from the first logical storage device in a first datacenter is replicated to a target logical storage device in the second datacenter, wherein the first and target logical storage devices storing the replicated data are in an active-passive configuration, the first logical storage device storing the replicated data being active and identified by the first device identifier, and the portion of the target logical storage device storing the replicated data being passive and identified by a second device identifier,

wherein modifying the received response includes

receiving a device discovery response indicating that data is replicated from the first logical storage device identified by the first device identifier to the target logical storage device identified by the second device identifier, and

modifying the device discovery response to replace the second device identifier for the target logical storage device with the first device identifier for the first logical storage device.

17. The apparatus of claim 15 , wherein executing the instructions further cause the apparatus to:

store the first device identifier and an indication of site preference associated with the first device identifier, the indication of site preference indicating which of the first and peer storage devices is a preferred storage device in an instance of lost communication between the first and second datacenters;

receive a failover command to failover the first storage device from the first datacenter to the second datacenter; and

modify, in response to the failover command, the indication of site preference associated with the first device identifier to change the preferred storage device to another of the first and peer storage devices.

18. The apparatus of claim 15 , wherein executing the instructions further cause the apparatus to:

receive a second command from the recovery manager;

return, in response to the second command, an indication of success of performing the second command without performing the second command and without passing the second command to underlying storage.

19. The apparatus of claim 15 , wherein executing the instructions further cause the apparatus to:

receive a second command from the recovery manager;

forward the second command to underlying storage;

receive a response to the second command from the underlying storage;

modify the received response to include parameters to emulate stretched storage; and

provide the modified response to the recovery manager.

20. The apparatus of claim 19 , wherein modifying the received response includes appending error definitions or string descriptions to the received response.

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 May 7, 2014
From: PERSHIN, ALEKSEY; KRISHNAN, SRIRAM; SUGABRAHMAM, GIRIDHARAN
To: VMWARE, INC.
Reel/Frame 032843/0902 →
Continuity (1)
Related Publication 20150309901A1 · Oct 29, 2015