IP Library Granted Patent US 8,255,596
Granted Patent B2
US 8,255,596 · App. 12/481,966 · Granted Aug 28, 2012

Multipath-based migration of data across storage controllers

Assignee: International Business Machines Corporation
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 8,255,596
App. No.
12/481,966
Granted
Aug 28, 2012
Kind
B2
Abstract

Exemplary methods, systems, and computer program product embodiments for migrating existing data from a source storage controller to a target storage controller, each associated with a data processing storage subsystem, using a processor device in communication with a memory device, are provided. The target storage controller is configured with at least one target volume having pass-through support to a source volume of the source storage controller. An input/output (I/O) path to the existing data through the target storage controller is configured. The I/O path is added to an existing I/O path connected to the existing data using an operating system (OS) operational on at least one host in communication between the source and target storage controllers. The OS is adapted for I/O multipath support. Upon completion of data migration, the existing I/O path is removed.

Claims (46)

1. A method for migrating existing data from a source storage controller to a target storage controller, each associated with a first host device, using a processor device in communication with a memory device, comprising:

configuring the target storage controller with at least one target volume comprising pass-through support to a source volume of the source storage controller;

configuring a first portion of a first input/output (I/O) path from the existing data in the source storage controller to the at least one target volume;

configuring a second portion of the first I/O path from the first host device to the existing data in the source storage controller;

temporarily adding, via an operating system (OS) operational on the first host device, a second I/O path connecting the first host device and the source storage controller, wherein temporarily adding includes setting at least one multipath weight to give preference to the first I/O path, and utilizing a load balancing algorithm to determine whether the first I/O path exhibits a better performance than the second I/O path for implementing a greater or smaller amount of data transfer along the first I/O path or the second I/O path;

migrating data from the source volume to the at least one target volume; and

upon completion of migrating the data, removing the second I/O path, wherein:

the OS is adapted for I/O multipath support,

the target storage controller provides a second host device to the source storage controller, and

the target storage controller and the source storage controller are each clustered storage controllers.

2. The method of claim 1 , wherein temporarily adding the second I/O path includes configuring the second I/O path to submit an unavailable status to a requesting entity.

3. The method of claim 1 , further including determining whether the target storage controller has the at least one target volume having pass-through support to the source volume of the source storage controller.

4. The method of claim 1 , wherein configuring the second portion of the first I/O path to the existing data is performed at least partially through a network connecting the source storage controller and the target storage controller.

5. A system for migrating existing data from a source storage controller to a target storage controller, each associated with a data processing storage subsystem, comprising:

a first host module; and

at least one storage module in communication with the first host module, wherein:

the at least one storage module is adapted for configuring at least one target volume comprising pass-through support to a source volume of the source storage controller, and

the host module is adapted for configuring a first portion of a first input/output (I/O) path from the existing data in the source storage controller to the at least one target volume, configuring a second portion of the first I/O path from the first host module to the existing data in the source storage controller, temporarily adding, via an operating system (OS) operational on the first host module, a second I/O path connecting the first host module and the source storage controller, setting at least one multipath weight to give preference to the first I/O path, utilizing a load balancing algorithm to determine whether the first I/O path exhibits a better performance than the second I/O path for implementing a greater or smaller amount of data transfer along the first I/O path or the second I/O path, migrating data from the source volume to the at least one target volume, and removing the second I/O path upon completion of migrating the data, wherein the OS is adapted for I/O multipath support, the target storage controller provides a second host module to the source storage controller, and the target storage controller and the source storage controller are each clustered storage controllers.

6. The system of claim 5 , wherein the first host module is further adapted for, pursuant to temporarily adding the second I/O path, configuring the second I/O path to submit an unavailable status to a requesting entity.

7. The system of claim 5 , wherein the first host module is further adapted for determining whether the target storage controller has the at least one target volume having pass-through support to the source volume of the source storage controller.

8. The system of claim 5 , wherein the first host module is further adapted for configuring the second I/O path to the existing data at least partially through a network connecting the source storage controller and the target storage controller.

9. A computer program product for migrating existing data from a source storage controller to a target storage controller, each associated with a first host device, using a processor device in communication with a memory device, the computer program product comprising a computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

a first executable portion for configuring the target storage controller with at least one target volume comprising pass-through support to a source volume of the source storage controller;

a second executable portion for configuring a first portion of a first input/output (I/O) path from the existing data in the source storage controller to the at least one target volume;

a third executable portion for configuring a second portion of the first I/O path from the first host device to the existing data in the source storage controller;

a fourth executable portion for temporarily adding, via an operating system (OS) operational on the first host device, a second I/O path connecting the first host device and the source storage controller, for setting at least one multipath weight to give preference to the first I/O path, and for utilizing a load balancing algorithm to determine whether the first I/O path exhibits a better performance than the second I/O path for implementing a greater or smaller amount of data transfer along the first I/O path or the second I/O path;

a fifth executable portion for migrating data from the source volume to the at least one target volume; and

a sixth executable portion for, upon completion of migrating the data, removing the second I/O path, wherein:

the OS is adapted for I/O multipath support,

the target storage controller provides a second host device to the source storage controller, and

the target storage controller and the source storage controller are clustered storage controllers.

10. The computer program product of claim 9 , further including a seventh executable portion for, pursuant to temporarily adding the second I/O path, configuring the second I/O path to submit an unavailable status to a requesting entity.

11. The computer program product of claim 9 , further including a seventh executable portion for determining whether the target storage controller has the at least one target volume comprising pass-through support to the source volume of the source storage controller.

12. The computer program product of claim 9 , wherein the third executable portion for configuring the second portion of the first I/O path to the existing data is further adapted for configuring the second portion of the first I/O path least partially through a network connecting the source storage controller and the target storage controller.

13. A method of manufacturing a system for migrating existing data from a source storage controller to a target storage controller, each associated with a data processing storage subsystem, comprising:

providing a first host module; and

providing at least one storage module in communication with the first host module, wherein:

the at least one storage module is adapted for configuring at least one target volume comprising pass-through support to a source volume of the source storage controller, and

the host module is adapted for configuring a first portion of a first input/output (I/O) path from the existing data in the source storage controller to the at least one target volume, configuring a second portion of the first I/O path from the first host module to the existing data in the source storage controller, temporarily adding, via an operating system (OS) operational on the first host module, a second I/O path connecting the first host module and the source storage controller, setting at least one multipath weight to give preference to the first I/O path, utilizing a load balancing algorithm to determine whether the first I/O path exhibits a better performance than the second I/O path for implementing a greater or smaller amount of data transfer along the first I/O path or the second I/O path, migrating data from the source volume to the at least one target volume, and removing the second I/O path upon completion of migrating the data,

wherein:

the OS is adapted for I/O multipath support,

the target storage controller provides a second host module to the source storage controller, and

the target storage controller and the source storage controller are clustered storage controllers.

14. The method of manufacture of claim 13 , wherein the first host module is further adapted for, pursuant to temporarily adding the second I/O path, configuring the second I/O path to submit an unavailable status to a requesting entity.

15. The method of manufacture of claim 13 , wherein the first host module is further adapted for determining whether the target storage controller has the at least one target volume comprising pass-through support to the source volume of the source storage controller.

16. The method of manufacture of claim 13 , wherein the first host module is further adapted for configuring the second portion of the first I/O path to the existing data at least partially through a network connecting the source storage controller and the target storage controller.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE FIRST INVENTOR'S LAST NAME ON THE ORIGINALLY FILED COVER SHEET AND THE ORIGINALLY FILED ASSIGNMENT PREVIOUSLY RECORDED ON REEL 022873 FRAME 0896. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 15, 2010
From: KULL, LEON; KOZOVER, MAXIM; SANDLER, KARIEL; YANAI, MOSHE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025363/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2009
From: KOLL, LEON; KOZOVER, MAXIM; SANDLER, KARIEL; YANAI, MOSHE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022873/0896 →
Continuity (1)
Related Publication 20100318692A1 · Dec 16, 2010