Seamless data migration in a clustered environment
First Claim
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.
7 Assignments
0 Petitions
Accused Products
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.
-
Citations
17 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
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. - View Dependent Claims (15)
-
-
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. - View Dependent Claims (17)
Specification