IP Library Granted Patent US 11,163,463
Granted Patent B2
US 11,163,463 · App. 16/939,229 · Granted Nov 2, 2021

Non-disruptive migration of a virtual volume in a clustered data storage system

Inventors: Dmitry Tylik (Westborough, MA); Vinod Rajasekaran (Morrisville, NC); Anil K. Koluguri (Raleigh, NC); Matthew H. Long (Uxbridge, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0604G06F3/0647G06F3/0679G06F13/14G06F2009/45579
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 11,163,463
App. No.
16/939,229
Granted
Nov 2, 2021
Kind
B2
Abstract

A virtual volume is initially provided from a first storage appliance within a cluster of storage appliances by providing access to the virtual volume over a data path between a host computer and a protocol endpoint hosted on the first storage appliance, based on an initial binding between the virtual volume and the protocol endpoint hosted on the first storage appliance. A rebind request is conveyed to the host computer, and in response to receiving a bind request for the virtual volume, a new binding is created between the virtual volume and a protocol endpoint hosted by the second storage appliance. The virtual volume is subsequently provided from the second storage appliance by providing the host computer with access to the virtual volume over a data path between the host computer and the protocol endpoint hosted on the second storage appliance based on the newly created binding.

Claims (42)

1. A method of migrating a virtual volume, comprising:

initially providing at least one host computer with access to the virtual volume through a protocol endpoint hosted on a first storage appliance in response to an initial binding between the virtual volume and the protocol endpoint hosted on the first storage appliance; and

migrating the virtual volume from the first storage appliance to a second storage appliance at least in part by:

conveying a rebind request to the host computer from a cluster that includes both the first storage appliance and the second storage appliance, wherein the rebind request indicates that the host computer should issue a bind request for the virtual volume to the cluster,

creating a new binding between the virtual volume and a protocol endpoint hosted on the second storage appliance in response to receipt of a bind request for the virtual volume from the host computer, and

making the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from the host computer by the second storage appliance.

2. The method of claim 1 , wherein migrating the virtual volume from the first storage appliance to the second storage application further comprises ceasing providing the host computer with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of the path probe message from the host computer by the second storage appliance.

3. The method of claim 1 , wherein the at least one host computer comprises a plurality of host computers, and wherein migrating the virtual volume from the first storage appliance to the second storage appliance further comprises making the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

4. The method of claim 1 , wherein the at least one host computer comprises a plurality of host computers, and wherein migrating the virtual volume from the first storage appliance to the second storage application further comprises ceasing providing the plurality of host computers with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

5. The method of claim 1 , further comprising mirroring, to the second storage appliance, prior to providing the virtual volume to the host computer from the second storage appliance, host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance.

6. The method of claim 5 , further comprising ceasing mirroring host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance to the second storage appliance in response to receipt of the path probe from the host computer through the data path between the host computer and the protocol endpoint hosted on the second storage appliance.

7. The method of claim 5 , wherein the at least one host computer comprises a plurality of host computers, and further comprising ceasing mirroring host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance to the second storage appliance in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

8. The method of claim 1 , wherein the first storage appliance includes a first set of non-volatile data storage devices and the second storage appliance includes a second set of non-volatile data storage devices;

wherein initially providing the virtual volume to the host from the first storage appliance further includes allocating portions of the non-volatile data storage devices in the first storage appliance to the virtual volume to store host data written to the virtual volume while the virtual volume is provided to the host computer from the first storage appliance; and further comprising:

wherein migrating the virtual volume from the first storage appliance to the second storage appliance further includes copying, over a communication path between the first storage appliance and the second storage appliance that is different from the data path between the host computer and the protocol endpoint hosted on the first storage appliance and the data path between the host computer and the protocol endpoint hosted on the second storage appliance, the host data stored in the portions of the non-volatile data storage devices in the first storage appliance allocated to the virtual volume to portions of the non-volatile data storage devices in the second storage appliance.

9. The method of claim 8 , wherein the host data stored in the portions of the non-volatile data storage devices in the first storage appliance allocated to the virtual volume is copied to portions of the non-volatile data storage devices in the second storage appliance at least in part while providing the virtual volume to the host computer from the second storage appliance.

10. A non-transitory computer readable medium for migrating a virtual volume between different storage appliances, the non-transitory medium having a set of instructions stored thereon, the set of instructions, when executed on processing circuitry, cause the processing circuitry to perform the steps of:

initially providing at least one host computer with access to the virtual volume through a protocol endpoint hosted on a first storage appliance in response to an initial binding between the virtual volume and the protocol endpoint hosted on the first storage appliance; and

migrating the virtual volume from the first storage appliance to a second storage appliance at least in part by:

conveying a rebind request to the host computer from a cluster that includes both the first storage appliance and the second storage appliance, wherein the rebind request indicates that the host computer should issue a bind request for the virtual volume to the cluster,

creating a new binding between the virtual volume and a protocol endpoint hosted on the second storage appliance in response to receipt of a bind request for the virtual volume from the host computer, and

making the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from the host computer by the second storage appliance.

11. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 10 , wherein the set of instructions, when executed on processing circuitry, further causes the processing circuitry to perform the step of migrating the virtual volume from the first storage appliance within the cluster to the second storage appliance within the cluster at least in part by ceasing providing the host computer with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of the path probe message from the host computer by the second storage appliance.

12. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 10 , wherein the at least one host computer comprises a plurality of host computers, and wherein the set of instructions, when executed on processing circuitry, further causes the processing circuitry to perform the step of migrating the virtual volume from the first storage appliance within the cluster to the second storage appliance within the cluster at least in part by making the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

13. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 10 , wherein the at least one host computer comprises a plurality of host computers, and wherein the set of instructions, when executed on processing circuitry, further causes the processing circuitry to perform the step of migrating the virtual volume from the first storage appliance within the cluster to the second storage appliance within the cluster at least in part by ceasing providing the plurality of host computers with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

14. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 10 , wherein the set of instructions, when executed on processing circuitry, further cause the processing circuitry to perform the step of:

mirroring, to the second storage appliance, prior to providing the virtual volume to the host computer from the second storage appliance, host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance.

15. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 14 , wherein the set of instructions, when executed on processing circuitry, further cause the processing circuitry to perform the step of:

ceasing mirroring host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance to the second storage appliance in response to receipt of the path probe from the host computer through the data path between the host computer and the protocol endpoint hosted on the second storage appliance.

16. The non-transitory computer readable medium for migrating a virtual volume between different storage appliances of claim of claim 14 , wherein the at least one host computer comprises a plurality of host computers, and wherein the set of instructions, when executed on processing circuitry, further cause the processing circuitry to perform the step of:

ceasing mirroring host I/O operations directed to the virtual volume and received by the first storage appliance over the data path between the host computer and the protocol endpoint hosted on the first storage appliance to the second storage appliance in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

17. A system for migrating a virtual volume between different storage appliances, the system comprising:

processing circuitry;

memory having program code stored thereon that is executable on the processing circuitry, wherein the program code, when executed on the processing circuitry, causes the processing circuitry to:

initially provide at least one host computer with access to the virtual volume through a protocol endpoint hosted on a first storage appliance in response to an initial binding between the virtual volume and the protocol endpoint hosted on the first storage appliance; and

migrate the virtual volume from the first storage appliance to a second storage appliance at least in part by causing the processing circuitry to:

convey a rebind request to the host computer from a cluster that includes both the first storage appliance and the second storage appliance, wherein the rebind request indicates that the host computer should issue a bind request for the virtual volume to the cluster,

create a new binding between the virtual volume and a protocol endpoint hosted on the second storage appliance in response to receipt of a bind request for the virtual volume from the host computer, and

make the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from the host computer by the second storage appliance.

18. The system for migrating a virtual volume between different storage appliances method of claim 17 , wherein the program code, when executed further causes the processing circuitry to migrate the virtual volume from the first storage appliance to a second storage appliance at least in part by causing the processing circuitry to cease providing the host computer with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of the path probe message from the host computer by the second storage appliance.

19. The system for migrating a virtual volume between different storage appliances method of claim 17 , wherein the at least one host computer comprises a plurality of host computers, and wherein the program code, when executed further causes the processing circuitry to migrate the virtual volume from the first storage appliance to a second storage appliance at least in part by causing the processing circuitry to make the virtual volume accessible to the host computer from the second storage appliance based on the new binding in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

20. The system for migrating a virtual volume between different storage appliances method of claim 17 , wherein the at least one host computer comprises a plurality of host computers, and wherein the program code, when executed further causes the processing circuitry to migrate the virtual volume from the first storage appliance to a second storage appliance at least in part by causing the processing circuitry to cease providing the plurality of host computers with access to the virtual volume through the protocol endpoint hosted on the first storage appliance in response to receipt of a path probe message from each one of the plurality of host computers by the second storage appliance.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: TYLIK, DMITRY; RAJASEKARAN, VINOD; KOLUGURI, ANIL K.; LONG, MATTHEW H.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053524/0829 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →