The present invention relates generally to storage system and, more particularly, to storage migration, especially migration involving storage virtualization.
The amount of digital data is growing rapidly. The use of a storage area network (SAN) connecting one or more host computers with one or more storage subsystems is one way to store digital data in the storage subsystems and allow access from the host computers. As technology advances and storage devices age, the storage subsystems will need to be replaced. To replace the storage subsystems, the storage administrator will need to perform several operations such as data migration, re-configuration (I/O path, security, LUN setting, etc.), and so forth.
Today, Fibre Channel (FC) is the most popular protocol for SAN. FC uses WWN (World Wide Name) to identify each node on the SAN (host computer, storage subsystem). Each node has an HBA (Host Bus Adapter) connected to the SAN, and each HBA has a unique WWPN (World Wide Port Name).
The connection between a host computer and a storage subsystem is established by using each WWPN. The host computer also uses WWPN to identify each storage subsystem to which host computer wants to connect. Changing the WWPN of the storage subsystem requires the re-configuration of each host computer and/or FC-SW zoning.
Current solutions are based on the environment that the WWPN on (HBA of) the storage subsystem is static. Each (physical) HBA has a unique, single, and embedded WWPN which cannot be changed. It requires the host computer to re-configure the I/O path to the storage subsystem when replacement of the storage subsystem occurs.
Embodiments of the invention provide a method and apparatus for storage subsystem migration without re-configuration of the I/O path. The invention is particularly useful for the migration of a storage subsystem that defines a virtual WWPN of other storage subsystems or ports for its Fibre Channel target port. It allows the host computer to switch I/O path without re-configuration.
In accordance with an aspect of the present invention, a computer system comprises a first storage subsystem, a second storage subsystem, and a computer device which are connected via a network. The first storage subsystem has a first port name for a first port through which a first volume in the first storage subsystem has I/O connection with the computer device, the first port name being a unique port name. The second storage subsystem defines a first virtual volume which is associated with the first volume in the first storage subsystem, and a first virtual port associated with the first virtual volume, the first virtual port having a first virtual port name that is identical to the first port name of the first port in the first storage subsystem. The second storage subsystem is configured to activate the first virtual port associated with the first virtual volume to register the first virtual port to the network. The computer device is configured, after activation of the first virtual port, to switch I/O connection for the first volume from the first storage subsystem to the second storage subsystem via the network using the first virtual port name on the second storage subsystem.
In some embodiments, the second storage subsystem executes data migration for the first volume after the computer device switches I/O connection for the first volume from the first storage subsystem to the second storage subsystem.
In some embodiments, the first storage subsystem has a second port name for a second port through which a second volume in the first storage subsystem has I/O connection with the computer device via an additional network, the second port name being another unique port name. The second storage subsystem defines a second virtual volume which is associated with the second volume in the first storage subsystem, and a second virtual port associated with the second virtual volume, the second virtual port having a second virtual port name that is identical to the second port name of the second port in the first storage subsystem. The second storage subsystem is configured to activate the second virtual port associated with the second virtual volume to register the second virtual port to the additional network. The computer device is configured, after activation of the first virtual port, to switch I/O connection for the second volume from the first storage subsystem to the second storage subsystem via the additional network using the second virtual port name on the second storage subsystem. This represents a two-path system. More paths can be added to provide other multi-path configurations having more than two paths.
In specific embodiments, the second storage subsystem is configured to define a first initiator port to connect the first virtual volume to the first volume in the first storage subsystem, the first initiator port having a virtual port name that is identical to a port name of a port in the computer device which is connected to the network for I/O with the first volume in the first storage subsystem. Additional initiator ports may be provided in alternate embodiments.
In some embodiments, the computer device is configured, prior to activation of the first virtual port associated with the first virtual volume of the second storage subsystem, to suspend I/O with the first storage subsystem. The second storage subsystem receives a first N_Port ID for the first virtual port name after activation of the first virtual port.
In specific embodiments, the first storage subsystem has a first additional port with a first additional port name through which the first volume in the first storage subsystem has I/O connection with the first virtual volume of the second storage subsystem. At this time, the first storage subsystem has I/O connection for the first volume in the first storage subsystem with the computer device using the first port in the first storage subsystem. After activation of the first virtual port associated with the first virtual volume of the second storage subsystem, the computer device receives from the network an RSCN (Registered State Change Notification) and a first N_Port ID for the first virtual port name associated with the first virtual volume of the second storage subsystem, and switches I/O for the first volume from the first storage subsystem to the second storage subsystem. After the computer device receives from the network the RSCN, the computer device logs out from the first storage subsystem.
In accordance with another aspect of the invention, a computer system comprises a first storage subsystem, a second storage subsystem, a third storage subsystem, and a computer device which are connected via a network. The first storage subsystem has a first port name for a first port through which a first volume in the first storage subsystem has I/O connection with the computer device, the first port name being a unique port name. The second storage subsystem (SS2) includes a first SS2 virtual volume which is associated with the first volume in the first storage subsystem, and a first SS2 port having a first SS2 port name for I/O connection of the first SS2 virtual volume with the computer device via the network. The third storage subsystem (SS3) defines a first SS3 virtual volume which is associated with the first volume in the first storage subsystem, and a first SS3 virtual port associated with the first SS3 virtual volume, the first SS3 virtual port having a first SS3 virtual port name that is identical to the first SS2 port name of the first SS2 virtual port in the second storage subsystem. The third storage subsystem is configured to activate the first SS3 virtual port associated with the first SS3 virtual volume to register the first SS3 virtual port to the network. The computer device is configured, after activation of the first SS3 virtual port, to switch I/O connection for the first volume from the second storage subsystem to the third storage subsystem via the network using the first SS3 virtual port name on the third storage subsystem.
In some embodiments, the third storage subsystem executes data migration for the first volume after the computer device switches I/O connection for the first volume from the second storage subsystem to the third storage subsystem.
In some embodiments, the first storage subsystem has a second port name for a second port through which a second volume in the first storage subsystem has I/O connection with the computer device via an additional network, the second port name being another unique port name. The second storage subsystem (SS2) includes a second SS2 virtual volume which is associated with the second volume in the first storage subsystem, and a second SS2 port having a second SS2 port name for I/O connection of the second SS2 virtual volume with the computer device via the additional network. The third storage subsystem (SS3) defines a second SS3 virtual volume which is associated with the second volume in the first storage subsystem, and a second SS3 virtual port associated with the second SS3 virtual volume, the second SS3 virtual port having a second SS3 virtual port name that is identical to the second SS2 port name of the second SS2 virtual port in the second storage subsystem. The third storage subsystem is configured to activate the second SS3 virtual port associated with the second SS3 virtual volume to register the second SS3 virtual port to the additional network. The computer device is configured, after activation of the first SS3 virtual port, to switch I/O connection for the second volume from the second storage subsystem to the third storage subsystem via the network using the second SS3 virtual port name on the third storage subsystem. This represents a two-path system. More paths can be added to provide other multi-path configurations having more than two paths.
In specific embodiments, the second storage subsystem (SS2) includes an additional first SS2 port having an additional first SS2 port name for I/O connection of the first SS2 virtual volume with the first storage subsystem. The third storage subsystem is configured to define a first SS3 initiator port to connect the first SS3 virtual volume to the first volume in the first storage subsystem, the first SS3 initiator port having a virtual port name that is identical to the additional first SS2 port name of the additional first SS2 port in the second storage subsystem. Additional initiator ports may be provided in alternate embodiments.
In some embodiments, the computer device is configured, prior to activation of the first SS3 virtual port associated with the first SS3 virtual volume of the third storage subsystem, to suspend I/O with the first storage subsystem. The third storage subsystem receives a first SS3 N_Port ID for the first SS3 virtual port name after activation of the first SS3 virtual port.
In specific embodiments, the first storage subsystem has a first additional port with a first additional port name through which the first volume in the first storage subsystem has I/O connection with the first SS3 virtual volume of the third storage subsystem. At this time, the first storage subsystem has I/O connection for the first volume in the first storage subsystem with the computer device using the first port in the first storage subsystem. After activation of the first SS3 virtual port associated with the first SS3 virtual volume of the third storage subsystem, the computer device receives from the network an RSCN (Registered State Change Notification) and a first N_Port ID for the first SS3 virtual port name associated with the first SS3 virtual volume of the third storage subsystem, and switches I/O for the first volume from the first storage subsystem to the third storage subsystem.
Another aspect of the invention is directed to a computer system which includes a first storage subsystem, a second storage subsystem, and a computer device that are connected via a network; wherein the first storage subsystem has a first port name for a first port through which a first volume in the first storage subsystem has I/O connection with the computer device, the first port name being a unique port name. A method for storage subsystem migration without re-configuration of the I/O path comprises defining in the second storage subsystem a first virtual volume which is associated with the first volume in the first storage subsystem, and a first virtual port associated with the first virtual volume, the first virtual port having a first virtual port name that is identical to the first port name of the first port in the first storage subsystem; activating the first virtual port associated with the first virtual volume of the second storage subsystem to register the first virtual port to the network; and, after activation of the first virtual port, switching I/O connection of the computer device for the first volume from the first storage subsystem to the second storage subsystem via the network using the first virtual port name on the second storage subsystem.
Another aspect of the invention is directed to a computer system which includes a first storage subsystem, a second storage subsystem, a third storage subsystem, and a computer device that are connected via a network; wherein the first storage subsystem has a first port name for a first port through which a first volume in the first storage subsystem has I/O connection with the computer device, the first port name being a unique port name; and wherein the second storage subsystem (SS2) includes a first SS2 virtual volume which is associated with the first volume in the first storage subsystem, and a first SS2 port having a first SS2 port name for I/O connection of the first SS2 virtual volume with the computer device via the network. A method for storage subsystem migration without re-configuration of the I/O path comprises defining in the third storage subsystem (SS3) a first SS3 virtual volume which is associated with the first volume in the first storage subsystem, and a first SS3 virtual port associated with the first SS3 virtual volume, the first SS3 virtual port having a first SS3 virtual port name that is identical to the first SS2 port name of the first SS2 virtual port in the second storage subsystem; activating the first SS3 virtual port associated with the first SS3 virtual volume of the third storage subsystem to register the first SS3 virtual port to the network; and, after activation of the first SS3 virtual port, switch I/O connection of the computer device for the first volume from the second storage subsystem to the third storage subsystem via the network using the first SS3 virtual port name on the third storage subsystem.
These and other features and advantages of the present invention will become apparent to those of ordinary skill in the art in view of the following detailed description of the specific embodiments.
a-9e illustrate an example of the migration process using NPIV and explicit I/O suspension, in which
a-14c illustrate an example of the migration process using NPIV and explicit I/O suspension with multiple I/O paths between the host computer and the storage subsystems, in which
a-16c illustrate an example of the migration process using NPIV and RSCN (Registered State Change Notification), in which
a-20d illustrate an example of the migration process using NPIV and RSCN with multiple I/O paths between the host computer and the storage subsystems, in which
a-e illustrate an example of the migration process using NPIV and explicit I/O suspension in the storage virtualization environment, in which
a-24c illustrate an example of the migration process using NPIV and explicit I/O suspension with multiple I/O paths between the host computer and the storage subsystems in the storage virtualization environment, in which
a-26c illustrate an example of the migration process using NPIV and RSCN in the storage virtualization environment, in which
a-28d illustrate an example of the migration process using NPIV and RSCN with multiple I/O paths between the host computer and the storage subsystems in the storage virtualization environment, in which
In the following detailed description of the invention, reference is made to the accompanying drawings which form a part of the disclosure, and in which are shown by way of illustration, and not of limitation, exemplary embodiments by which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. Further, it should be noted that while the detailed description provides various exemplary embodiments, as described below and as illustrated in the drawings, the present invention is not limited to the embodiments described and illustrated herein, but can extend to other embodiments, as would be known or as would become known to those skilled in the art. Reference in the specification to “one embodiment”, “this embodiment”, or “these embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention, and the appearances of these phrases in various places in the specification are not necessarily all referring to the same embodiment. Additionally, in the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that these specific details may not all be needed to practice the present invention. In other circumstances, well-known structures, materials, circuits, processes and interfaces have not been described in detail, and/or may be illustrated in block diagram form, so as to not unnecessarily obscure the present invention.
Embodiments of the invention, as will be described in greater detail below, provide apparatuses, methods and computer programs for storage subsystem migration without re-configuration of the I/O path.
1. System Structure
2. Migration Using NPIV and Explicit I/O Suspension
a-9e illustrate an example of the migration process using NPIV and explicit I/O suspension. NPIV stands for N_Port ID Virtualization. It allows the HBA to have a virtual WWPN. This embodiment applies NPIV to the storage subsystem for migration without re-configuration of the I/O path.
a shows the first status of the migration process. The host computer 310 (which can be a physical host or a virtual host) connects to the first storage subsystem 100e using Fibre Channel via the SAN 200f. The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f. The first storage subsystem has WWPN_2, N_Port ID_2 which is connected to LU1 and to the SAN 200f. The second storage subsystem has WWPN_3, N_Port ID_3 connected to the SAN 200f.
b shows the second status of the migration process. The second storage subsystem 100u defines a virtual WWPN for VLU1 (WWPN_2(V)), where the virtual WWPN is the same as the (physical) WWPN of the first storage subsystem 100e (WWPN_2). The second storage subsystem 100u further defines an initiator port (WWPN_4, N_Port ID_4 which is connected to the SAN 200b) to connect to LU1 on the first storage subsystem 100e using the storage virtualization function. Examples of the storage virtualization function can be found in U.S. Pat. Nos. 7,003,634 and 7,228,380. Next, the host computer 310 suspends I/O with the first storage subsystem 100e. Then the second storage subsystem 100u activates the virtual WWPN and the initiator port. This allows the second storage subsystem 100u to send an FDISC message to the SAN 200f in order to get a new N_Port ID for the virtual WWPN (WWPN_2(V), N_Port ID_2x).
c shows the final status of the migration process. The first storage subsystem 100e disables WWPN_2 and updates the SNS (Simple Name Server) database of the SAN 200b (WWPN_2 of the first storage subsystem 100e will be deleted). Next, the host computer 310 resumes I/O using the same WWPN as before (WWPN_2). This time WWPN_2 is owned by the second storage subsystem 100u. This process allows the host computer 310 to switch I/O from the old Storage Subsystem 100e to the new storage subsystem 100u.
In
In
In
In
d and 9e show another set of statuses of the migration process of
This embodiment of the invention is not limited to storage subsystem migration only but can also be used for port migration (e.g., migrating I/O from port-A to port-B on a storage subsystem).
3. Migration Using NPIV and Explicit I/O Suspension, Multiple Paths
a-14c illustrate an example of the migration process using NPIV and explicit I/O suspension with multiple I/O paths between the host computer 310 and the storage subsystems 100e, 100u.
a shows the first status of the migration process. The host computer 310 has multiple I/O paths to the first storage subsystem 100e via the SAN 200f-1 and SAN 200f-2 (this example shows path-A and path-B). The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f-2, and WWPN_2, N_Port ID_2 connected to the SAN 200f-1. The first storage subsystem 100e has WWPN_3, N_Port ID_3 connected to the SAN 200f-2, and WWPN_4, N_Port ID_4 connected to the SAN 200f-1. The second storage subsystem 100u has WWPN_5, N_Port ID_5 connected to the SAN 200f-2, and WWPN_6, N_Port ID_6 connected to the SAN 200f-1. In the first storage subsystem 100e, LDEV1 means a volume which can be accessed from multiple LUs. This technology is used to perform multiple I/O paths.
b shows the second status of the migration process. The second storage subsystem 100u defines multiple virtual WWPN and initiators for the multiple paths. The second storage subsystem 100u has WWPN_3(V), N_Port ID_3x for VLU1 with an initiator WWPN_8, N_Port ID_8 which is connected to the SAN 200b-1, and has WWPN_4(V), N_Port ID_4x for VLU2 with an initiator WWPN_7, N_Port ID_7 which is connected to the SAN 200b-2. The host computer 310 suspends the I/O paths (path-A and path-B) with the first storage subsystem 100e.
c shows the final status of the migration process. The second storage subsystem 100u activates its virtual WWPNs and connects to the first storage subsystem 100e by the storage virtualization function via the SAN 200b-1 and SAN 200b-2. Next, the host computer 310 resumes multiple I/O paths using the same WWPNs, which are now owned by the second storage subsystem 100u.
4. Migration Using NPIV and RSCN
a-16c illustrate an example of the migration process using NPIV and RSCN. RSCN stands for Registered State Change Notification. It sends notification to Fibre Channel nodes in the SAN fabric when the fabric SNS database is changed (e.g., adding or removing a disk (target device), creating a new zone). This embodiment applies RSCN and NPIV to the storage subsystem for migration without re-configuration of the I/O path.
a shows the first status of the migration process. The host computer 310 connects to the first storage subsystem 100e using Fibre Channel via the SAN 200f. The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f. The first storage subsystem 100e has WWPN_2, N_Port ID_2 connected to the SAN 200f. The second storage subsystem 100u has WWPN_3, N_Port ID_3 connected to the SAN 200f.
b shows the second status of the migration process. The second storage subsystem 100u defines a virtual WWPN which is the same as the (physical) WWPN of the first storage subsystem 100e (WWPN_2(V)). It further defines an initiator port (WWPN_4, N_Port ID_4) to connect to LU1 on the first storage subsystem 100e using the storage virtualization function via the SAN 200b. To do so, the first storage subsystem 100e defines another WWPN (WWPN_5) which is connected to LU1. Next, the second storage subsystem 100u activates the virtual WWPN and initiator port. This allows the second storage subsystem 100u to send an FDISC message to the SAN 200f in order to get a new N_Port ID for the virtual WWPN (WWPN_2(V), N_Port ID_2x).
c shows the final status of the migration process. The virtual WWPN in the second storage subsystem 100u is registered into the SNS database of SAN 200f. This allows the SAN 200f to send an RSCN to the host computer 310. The host computer 310 sends a LOGO to logout from the first storage subsystem 100e after I/O completion. Next, the host computer 310 gets the current information of the SNS database, and the SNS database provides the new N_Port ID for the WWPN_2 on the second storage subsystem 100u (WWPN_2(V), N_Port ID_2x). This mechanism allows the host computer 310 to switch I/O from the old storage subsystem 100e to the new storage subsystem 100u. In order to identify the new N_Port ID, this system will act as follows:
In
In
In
This embodiment may have an alternative set of statuses similar to
5. Migration Using NPIV and RSCN, Multiple Paths
a-20d illustrate an example of the migration process using NPIV and RSCN with multiple I/O paths between the host computer 310 and the storage subsystems 100e, 100u.
a shows the first status of the migration process. The host computer 310 has multiple I/O paths to the first storage subsystem 100e via the SAN 200f-1 and SAN 200f-2 (this example shows path-A and path-B). The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f-2, and WWPN_2, N_Port ID_2 connected to the SAN 200f-1. The first storage subsystem 100e has WWPN_3, N_Port ID_3 for LU1 connected to the SAN 200f-2, and WWPN_4, N_Port ID_4 for LU2 connected to the SAN 200f-1. The second storage subsystem 100u has WWPN_5, N_Port ID_5 connected to the SAN 200f-2, and WWPN_6, N_Port ID_6 connected to the SAN 200f-1.
b shows the second status of the migration process. The second storage subsystem 100u defines a virtual WWPN and an initiator for path-A. For WWPN_5, the second storage subsystem 100u has WWPN_3(V) for VLU1 with an initiator WWPN_8, N_Port ID_8 which is connected to the SAN 200b-1. The first storage subsystem 100e defines WWPN_9, N_Port ID_9 which is connected to LU3 and to the SAN 2006-1.
c shows the third status of the migration process. The host computer 310 switches I/O paths of path-A by RSCN (from a path via the SAN 200f-2 to WWPN_3 in the first storage subsystem 100e to a path via the SAN 200f-2 to WWPN_3(V) in the second storage subsystem 100u). The second storage subsystem 100u activates its virtual WWPN_3(V) and connects to WWPN_9, N_Port ID_9 of the first storage subsystem 100e by the storage virtualization function via the SAN 200b-1. This allows the second storage subsystem 100u to send an FDISC message to the SAN 200f-2 in order to get a new N_Port ID for the virtual WWPN (WWPN_3(V), N_Port ID_3x). In addition, the second storage subsystem 100u defines a virtual WWPN and an initiator for path-B. For WWPN_6, the second storage subsystem 100u has WWPN_4(V) for VLU2 with an initiator WWPN_7, N_Port ID_7 which is connected to the SAN 200b-2. The first storage subsystem 100e defines WWPN_10, N_Port ID_10 which is connected to LU4 and to the SAN 2006-2.
d shows the final status of the migration process. The host computer 310 switches I/O paths of path-B by RSCN (from a path via the SAN 200f-1 to WWPN_4 in the first storage subsystem 100e to a path via the SAN 200f-1 to WWPN_4(V) in the second storage subsystem 100u). The second storage subsystem 100u activates its virtual WWPN_4(V) and connects to WWPN_10, N_Port ID_10 of the first storage subsystem 100e by the storage virtualization function via the SAN 200b-2. This allows the second storage subsystem 100u to send an FDISC message to the SAN 200f-1 in order to get a new N_Port ID for the virtual WWPN (WWPN_4(V), N_Port ID_4x). As a result, the host computer 310 has multiple I/O paths using the same WWPNs, which are now owned by the second storage subsystem 100u.
6. Migration Using NPIV and Explicit I/O Suspension in Storage Virtualization Environment
a-e illustrate an example of the migration process using NPIV and explicit I/O suspension in the storage virtualization environment. In this case, the second storage subsystem 100u connects to the host computer 310 and the first storage subsystem 100e. In order to replace the second storage subsystem 100u with a third storage subsystem 100n, this embodiment applies NPIV to the storage subsystem for migration without re-configuration of the I/O path.
a shows the first status of the migration process. The host computer 310 connects to the second storage subsystem 100u using Fibre Channel via the SAN 200f, and the second storage subsystem 100u connects to the first storage subsystem 100e to provide LU1 to the host computer 310 using the storage virtualization function. The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f. The second storage subsystem has WWPN_2, N_Port ID_2 which is connected to VLU1 and to the SAN 200f. The second storage subsystem further has WWPN_3, N_Port ID_3 which is connected to VLU1 and to the SAN 200b. The first storage subsystem has WWPN_4, N_Port ID_4 which is connected to LU1 and to the SAN 200b. The third storage subsystem has WWPN_5, N_Port ID_5 connected to the SAN 200f.
b shows the second status of the migration process. The third storage subsystem 100n defines a virtual WWPN for VLU1 (WWPN_2(V)) which is the same as the (physical) WWPN of the second storage subsystem 100u (WWPN_2(V)). The third storage subsystem 100n further defines an initiator port (WWPN_6, N_Port ID_6) to connect to LU1 on the first storage subsystem 100e using the storage virtualization function via the SAN 200b. Next, the host computer 310 suspends I/O with the first storage subsystem 100e. The third storage subsystem 100n activates the virtual WWPN and initiator port. This allows the third storage subsystem 100n to send an FDISC message to the SAN 200f in order to get a new N_Port ID for the virtual WWPN (WWPN_2(V), N_Port ID_2x).
c shows the final status of the migration process. The second storage subsystem 100u disables WWPN_2 and updates the SNS database of the SAN 200f (WWPN_2 of the second storage systems 100u will be deleted). Next, the host computer 310 resumes I/O using the same WWPN as before (WWPN_2). This time WWPN_2 is owned by the third storage subsystem 100n. This process allows the host computer 310 to switch I/O from the old storage subsystem 100u to the new storage subsystem 100n.
d and 22e show another set of statuses of the migration process. In
This embodiment of the invention is not limited to storage subsystem migration only but can also be used for port migration (e.g., migrating I/O from port-A to port-B on a storage subsystem).
7. Migration Using NPIV and Explicit I/O Suspension in Storage Virtualization Environment, Multiple Paths
a-24c illustrate an example of the migration process using NPIV and explicit I/O suspension with multiple I/O paths between the host computer 310 and the storage subsystems 100e, 100u, 100n in the storage virtualization environment.
a shows the first status of the migration process. The host computer 310 has multiple I/O paths to the second storage subsystem 100u via the SAN 200f-1 and SAN 200f-2 (this example shows path-A and path-B), and the second storage subsystem 100u connects to the first storage subsystem 100e using the storage virtualization function. The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f-2, and WWPN_2, N_Port ID_2 connected to the SAN 200f-1. The second storage subsystem 100u has WWPN_3, N_Port ID_3 which is connected to VLU1 and to the SAN 200f-2, and WWPN_4, N_Port ID_4 which is connected to VLU2 and to the SAN 200f-1. The second storage subsystem 100u further has WWPN_5, N_Port ID_5 which is connected to VLU1 and to the SAN 200b-1, and WWPN_6, N_Port ID_6 which is connected to VLU2 and to the SAN 200b-2. The first storage subsystem 100e has WWPN_7, N_Port ID_7 which is connected to LU1 and to the SAN 200b-1, and WWPN_8, N_Port ID_8 which is connected to LU2 and to the SAN 200b-2. The third storage subsystem 100n has WWPN_9, N_Port ID_9 connected to the SAN 200f-2, and WWPN_10, N_Port ID_10 connected to the SAN 200f-1.
b shows the second status of the migration process. The third storage subsystem 100n defines multiple virtual WWPN and initiators for the multiple paths. The third storage subsystem 100n has WWPN_3(V), N_Port ID_3x for VLU1 with an initiator WWPN_11, N_Port ID_11 which is connected to the SAN 200b-1, and has WWPN_4(V), N_Port ID_4x for VLU2 with an initiator WWPN_12, N_Port ID_12 which is connected to the SAN 200b-2. The host computer 310 suspends the I/O paths (path-A and path-B) with the first storage subsystem 100e in the storage virtualization environment.
c shows the final status of the migration process. The third storage subsystem 100n activates its virtual WWPNs and connects to the first storage subsystem 100e by the storage virtualization function via the SAN 200b-1 and SAN 200b-2. Next, the host computer 310 resumes multiple I/O paths in the storage virtualization environment using the same WWPNs, which are now owned by the third storage subsystem 100n.
8. Migration Using NPIV and RSCN in Storage Virtualization Environment
a-26c illustrate an example of the migration process using NPIV and RSCN in the storage virtualization environment. In this case, the second storage subsystem 100u connects to the host computer 310 and the first storage subsystem 100e. In order to replace the second storage subsystem 100u by the third storage subsystem 100n, this embodiment applies RSCN and NPIV to the storage subsystem for migration in the storage virtualization environment without re-configuration of the I/O path.
a shows the first status of the migration process. The host computer 310 connects to the second storage subsystem 100u using Fibre Channel via the SAN 200f, and the second storage subsystem 100u connects to the first storage subsystem 100e to provide LU1 to the host computer 310 using the storage virtualization function. The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f. The second storage subsystem 100u has WWPN_2, N_Port ID_2 connected to the SAN 200f. The second storage subsystem 100u further has WWPN_3, N_Port ID_3 which is connected to VLU1 and to the SAN 200b. The first storage subsystem 100e has WWPN_4, N_Port ID_4 connected to the SAN 200b. The third storage subsystem 100n has WWPN_5, N_Port ID_5 connected to the SAN 200f.
b shows the second status of the migration process. The third storage subsystem 100n defines a virtual WWPN which is the same as the (physical) WWPN of the second storage subsystem 100u (WWPN_2(V)). It further defines an initiator port (WWPN_6, N_Port ID_6) to connect to LU1 on the first storage subsystem 100e using the storage virtualization function via the SAN 200b. To do so, the first storage subsystem 100e defines another WWPN (WWPN_7) which is connected to LU1. Next, the third storage subsystem 100n activates the virtual WWPN and initiator port. This allows the third storage subsystem 100n to send an FDISC message to the SAN 200f in order to get a new N_Port ID for the virtual WWPN (WWPN_2(V), N_Port ID_2x).
c shows the final status of the migration process. The virtual WWPN in the third storage subsystem 100n is registered into the SNS database of SAN 200f. This allows the SAN 200f to send an RSCN to the host computer 310. The host computer 310 sends a LOGO to logout from the second storage subsystem 100u after I/O completion. Next, the host computer 310 gets the current information of the SNS database, and the SNS database provides the new N_Port ID for the WWPN_2 on the third storage subsystem 100n (WWPN_2(V), N_Port ID_2x). This mechanism allows the host computer 310 to switch I/O from the old storage subsystem 100u to the new storage subsystem 100n. In order to identify the new N_Port ID, this system will act as follows:
This embodiment may have an alternative set of statuses similar to
9. Migration Using NPIV and RSCN in Storage Virtualization Environment, Multiple Paths
a-28d illustrate an example of the migration process using NPIV and RSCN with multiple I/O paths between the host computer 310 and the storage subsystems 100e, 100u, 100n in the storage virtualization environment.
a shows the first status of the migration process. The host computer 310 has multiple I/O paths to the second storage subsystem 100u via the SAN 200f-1 and SAN 200f-2, and the second storage subsystem 100u connects to the first storage subsystem 100e using the storage virtualization function (this example shows path-A and path-B). The host computer 310 has WWPN_1, N_Port ID_1 connected to the SAN 200f-2, and WWPN_2, N_Port ID_2 connected to the SAN 200f-1. The second storage subsystem 100u has WWPN_3, N_Port ID_3 connected to VLU1 and the SAN 200f-2, and WWPN_4, N_Port ID_4 connected to VLU2 and the SAN 200f-1. The second storage subsystem 100u further has WWPN_5, N_Port ID_5 which is connected to VLU1 and to the SAN 200b-1, and WWPN_6, N_Port ID_6 which is connected to VLU2 and to the SAN 200b-2. The first storage subsystem 100e has WWPN_7, N_Port ID_7 connected to LU1 and the SAN 200b-1, and WWPN_8, N_Port ID_8 connected to LU2 and the SAN 200b-2.
b shows the second status of the migration process. The third storage subsystem 100n defines a virtual WWPN and an initiator for path-A. For WWPN_9, the third storage subsystem 100n has WWPN_3(V) for VLU1 with an initiator WWPN_11, N_Port ID_11 which is connected to the SAN 200b-1. The first storage subsystem 100e defines WWPN_13, N_Port ID_13 which is connected to LU3.
c shows the third status of the migration process. The host computer 310 switches I/O paths of path-A by RSCN (from a path via the SAN 200f-2 to WWPN_3 in the second storage subsystem 100u to a path via the SAN 200f-2 to WWPN_9 in the third storage subsystem 100n). The third storage subsystem 100n activates its virtual WWPN_3(V) and connects to WWPN_13, N_Port ID_13 of the first storage subsystem 100e by the storage virtualization function via the SAN 200b-1. This allows the third storage subsystem 100n to send an FDISC message to the SAN 200f-2 in order to get a new N_Port ID for the virtual WWPN (WWPN_3(V), N_Port ID_3x). In addition, the third storage subsystem 100n defines a virtual WWPN and an initiator for path-B. For WWPN_10, the third storage subsystem 100n has WWPN_4(V) for VLU2 with an initiator WWPN_12, N_Port ID_12 which is connected to the SAN 200b-2. The first storage subsystem 100e defines WWPN_14, N_Port ID_14 which is connected to LU4.
d shows the final status of the migration process. The host computer 310 switches I/O paths of path-B by RSCN (from a path via the SAN 200f-1 to WWPN_4 in the first storage subsystem 100e to a path via the SAN 200f-1 to WWPN_10(V) in the third storage subsystem 100n). The third storage subsystem 100n activates its virtual WWPN_4(V) and connects to WWPN_14, N_Port ID_14 of the first storage subsystem 100e by the storage virtualization function via the SAN 200b-2. This allows the third storage subsystem 100n to send an FDISC message to the SAN 200f-1 in order to get a new N_Port ID for the virtual WWPN (WWPN_4(V), N_Port ID_4x). As a result, the host computer 310 has multiple I/O paths in the storage virtualization environment using the same WWPNs, which are now owned by the third storage subsystem 100n.
The above describes various embodiments of the invention in an FC-SAN environment. The invention may be implemented in a different environment, such as the Fibre Channel over Ethernet (FCoE) environment, which allows one to send and receive FC frame over the Ethernet. The FCoE node has an Ethernet adapter that has MAC address and N_Port ID. Thus, the invention works in the FCoE environment without specific customization.
From the foregoing, it will be apparent that the invention provides methods, apparatuses and programs stored on computer readable media for storage subsystem migration without re-configuration of the I/O path. Additionally, while specific embodiments have been illustrated and described in this specification, those of ordinary skill in the art appreciate that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments disclosed. This disclosure is intended to cover any and all adaptations or variations of the present invention, and it is to be understood that the terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with the established doctrines of claim interpretation, along with the full range of equivalents to which such claims are entitled.