IP Library Granted Patent US 10,353,640
Granted Patent B2
US 10,353,640 · App. 15/370,932 · Granted Jul 16, 2019

Seamless data migration in a clustered environment

Inventors: Prakash Venkat (Bangalore, IN); Gopakumar Ambat (Bangalore, IN); G. Paul Koning (New Boston, NH); Ryan J. Thomas (Plymouth, MN); Raghuram Bilugu (Shakopee, MN); Daniel R. Oelke (Elk River, MN)
Assignee: Dell Products L.P.
G06F3/0689G06F3/061G06F3/0647
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 10,353,640
App. No.
15/370,932
Granted
Jul 16, 2019
Kind
B2
Abstract

A data management method and system for migrating a data volume from a source array to a destination array includes receiving an indication of a source volume to migrate from the source array to the destination array wherein the source volume comprises a clustered volume associated with a plurality of cluster hosts. A path-flip is performed by the host multipath module, to switch the paths between source and destination array. This switch is done in a seamless manner, without disrupting host I/O. The path-flip includes transferring associated metadata from source to destination and can be performed even in clustered and/or multi-host environments. Sanity timers are built-in to ensure that the path-flip completes within a stipulated time-frame and, if not, the path-flip process is aborted and I/O is resumed without any disruption.

Claims (82)

1. A data management method for migrating a data volume from a source array to a destination array, the method comprising:

responsive to receiving an indication of a source volume to migrate from the source array to the destination array, initiating a migration process, wherein the source volume comprises a clustered volume associated with a plurality of cluster hosts, and wherein the migration process, includes:

creating a proxy volume on the destination array;

connecting the proxy volume to the source volume;

mapping the proxy volume to the cluster hosts;

requesting one or more of the cluster hosts to build a passive path to the proxy volume; and

initiating a path-flip process, wherein the path-flip process includes:

instructing the cluster hosts to suspend input/output (I/O) operations and, responsive to detecting an exception before the cluster hosts successfully suspend I/O;

instructing the cluster hosts to release I/O; and

terminating the migration process;

disabling the source volume and, responsive to detecting an exception before the source volume is disabled successfully:

sending a volume enable to the source array;

instructing each the cluster hosts to release I/O; and

terminating the migration process;

instructing the cluster hosts to perform registration copy operations to apply source volume host registrations to a destination volume of the destination array and, responsive to detecting an exception before the registration copy operations complete successfully:

sending a volume enable to the source volume;

instructing the cluster hosts to release I/O; and

terminating the migration process;

sending a volume enable to the destination volume; and

responsive to detecting a destination volume status of enabled from each of the cluster hosts, copying the source volume to the destination volume.

2. The method of claim 1 , wherein said detecting an exception comprises detecting at least one of: a timeout event, a command failure, and a migration cancellation request.

3. The method of claim 2 , further comprising, initiating a path-flip timer before instructing the cluster hosts to suspend I/O, wherein detecting a timeout event includes detecting the path-flip timer exceeding a path-flip threshold before the path-flip process completes.

4. The method of claim 2 , further comprising, initiating an abort timer after instructing the cluster hosts to suspend I/O, wherein detecting a timeout event includes detecting the abort timer exceeding an abort threshold value before completing the path-flip process.

5. The method of claim 1 , further comprising, responsive to detecting a cancel request during said copying, performing a reverse path-flip process comprising the path-flip process with the source volume serving as the destination volume and vice versa.

6. The method of claim 5 , responsive to a time out or failure during the reverse path-flip process, terminating the reverse path-flip process and resuming the copying.

7. The method of claim 1 , wherein instructing each of the cluster hosts to suspend I/O includes instructing at least one cluster host to execute a vendor-specific host register command.

8. The method of claim 1 , wherein configuring each cluster host to suspend I/O includes issuing hold I/O instructions to each cluster host.

9. The method of claim 1 , wherein disabling the source volume includes sending a small computer system interface (SCSI) disable command.

10. The method of claim 1 , wherein disabling the source volume includes sending a vendor-specific in-migration command from each cluster host to the source volume.

11. The method of claim 1 , wherein the source array is of a different type of storage array than the destination array.

12. The method of claim 11 , wherein an operating system of the source array differs from an operating system of the destination array.

13. The method of claim 11 , wherein the source array maintains a one-to-one correspondence between iSCSI targets and logical unit numbers (LUNs) and wherein the destination array supports a one-to-many relationship between iSCSI targets and storage volumes.

14. An information handling system comprising:

a processor; and

a computer readable storage medium including stored instructions that, when executed by the processor, cause the processor to perform operations comprising:

responsive to receiving an indication of a source volume to migrate from a source array to a destination array, wherein the source volume comprises a clustered volume including a plurality of cluster hosts, initiating a migration process, wherein the migration process includes:

initiating a path-flip process, wherein the path-flip process includes:

initiating a path-flip timer;

instructing the cluster hosts to suspend input/output (I/O) operations and, responsive to detecting an exception before each cluster host successfully suspends I/O, operations:

instructing each cluster host to release I/O; and

terminating the migration process;

initiating an abort timer;

disabling the source volume and, responsive to detecting an exception before said disabling completes:

sending a volume enable to the source array;

instructing the cluster hosts to release I/O; and

terminating the migration process;

instructing the cluster hosts to perform registration copy operations to apply source volume host registrations to a destination volume of the destination; array and, responsive to detecting an exception before the registration copy operations complete:

sending a volume enable to the source volume;

instructing each cluster host to release I/O; and

terminating the migration process;

sending a volume enable to the destination volume; and

responsive to detecting a destination volume status of enabled from each of a plurality of cluster hosts, copying the source volume to the destination volume;

responsive to detecting a cancel request during said copying, performing a reverse path-flip comprising the path-flip process with the source volume serving as the destination volume and vice versa; and

responsive to detecting an exception during the reverse path-flip, terminating the reverse path-flip and resuming the copying;

wherein detecting an exception includes detecting a timeout event and wherein detecting a time event includes:

detecting the path-flip timer exceeding a path-flip threshold value before the path-flip process completes; and

detecting the abort timer exceeding an abort threshold value before the path-flip process completes.

15. The information handling system of claim 14 , wherein configuring each cluster host to suspend I/O includes instructing at least one cluster host to execute a vendor-specific host migration register command.

16. A non-transitory computer readable medium including processor-executable instructions that, when executed by a processor, cause the processor to perform operations comprising:

responsive to receiving an indication of a source volume to migrate from a source array to a destination array wherein the source volume comprises a clustered volume including a plurality of cluster hosts, initiating a migration process, wherein the migration process includes:

initiating a path-flip: process, wherein the path-flip process includes:

initiating a path-flip timer;

instructing the cluster hosts to suspend input/output (I/O) operations and, responsive to detecting an exception before each cluster host successfully suspends I/O operations:

instructing each cluster host to release I/O; and

terminating the migration process;

initiating an abort timer;

disabling the source volume; and, responsive to detecting an exception before said disabling completes:

sending a volume enable to the source array;

instructing the cluster hosts to release I/O; and

terminating the migration process;

instructing the cluster hosts to perform registration copy operations to apply source volume host registrations to a destination volume of the destination; array and, responsive to detecting an exception before the registration copy operations complete:

sending a volume enable to the source volume;

instructing each cluster host to release I/O; and

terminating the migration process;

sending a volume enable to the destination volume; and

responsive to detecting a destination volume status of enabled from each of a plurality of cluster hosts, copying the source volume to the destination volume;

responsive to detecting a cancel request during said copying, performing a reverse path-flip comprising the path-flip process with the source volume serving as the destination volume and vice versa; and

responsive to detecting an exception during the reverse path-flip, terminating the reverse path-flip and resuming the copying;

wherein detecting an exception includes detecting a timeout event and wherein detecting a time event includes:

detecting the path-flip timer exceeding a path-flip threshold value before the path-flip process completes; and

detecting the abort timer exceeding an abort threshold value before the path-flip process completes.

17. The non-transitory computer readable medium of claim 16 , wherein configuring each host to suspend I/O includes instructing at least one host to execute a vendor-specific host migration register command.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (041829/0873) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0724 →
RELEASE OF SECURITY INTEREST AT REEL 041808 FRAME 0516 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0573 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2018
From: VENKAT, PRAKASH; AMBAT, GOPAKUMAR; KONING, G. PAUL; THOMAS, RYAN J.; OELKE, DANIEL R.
To: DELL PRODUCTS L.P.
Reel/Frame 046661/0609 →
PATENT SECURITY INTEREST (NOTES) Recorded Feb 28, 2017
From: DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 041829/0873 →
PATENT SECURITY INTEREST (CREDIT) Recorded Feb 24, 2017
From: DELL INTERNATIONAL, L.L.C.; DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 041808/0516 →
Continuity (1)
Related Publication 20180157429A1 · Jun 7, 2018