# Patent

## Title
Method and apparatus of storage volume migration in cooperation with takeover of storage area network configuration

## Abstract

Systems and methods directed to the automation of Storage Area Network (SAN) configuration when storage volume migration or server virtual machine migration is conducted. Systems and methods described herein may involve the takeover of a SAN network attribute for the migration, and may involve translation of zone object formats to facilitate the migration and ensure compatibility when the takeover is conducted.

## Background
This application is a Continuation of U.S. application Ser. No. 13/654,724, filed on Oct. 18, 2012, the content of which is incorporated herein in its entirety by reference.


BACKGROUND
The present application is generally directed to computer systems, and more specifically, to storage networking, and interface protocol and server/storage migration.
RELATED ART
Storage Area Networks (SAN) such as Fibre Channel (FC) interconnects utilize zoning access control lists (ACL). The zoning ACL is configured by the Node Port (N_Port) Name Identifier (e.g., WWPN: World Wide Port Name), the Port Identifier (PID), the Domain/Port Index pair (DP Pair), or the Domain/Fabric Port (F Port) Index Pair.
A SAN also has optional network features such as Quality of Service (QoS), ingress traffic limitation, and traffic isolation. These network features are configured by the Node Port (N_Port) Name Identifier, the Port Identifier or the Physical Port index number. The network features may also have optional parameters such as the QoS parameter, the traffic limitation parameter, and the traffic path information (set of Domain/N_Port index pair and Domain/F Port index pair). These parameters are called zone attributes or network attributes.
The FC interconnects standard referenced in FC-LS-2 (Fibre Channel Link Service-Version 2) defines the Node Port Identifier Virtualization (NPIV). To utilize NPIV, the Virtual Node Port (VN_Port) is moved over from the physical Node Port (PN_Port) to the other PN_Port using a Fabric Discovery (FDISC) request, and controls the virtual WWPN identified VN_Port. When the VN_Port issues a NPIV FDISC request, the name server inside the SAN switch allocates a new N_Port ID for the VN_Port and sends a FDISC response Link Service Accept (LS_ACC) to the VN_Port that issued the FDISC request.
NPIV further utilizes a Node Port Name Identifier (WWPN). Zoning or optional network features may also utilize a Node Port Name Identifier or other identifier such as PID or a Domain/Port Index pair.
SUMMARY
Aspects of the present application include a storage system, which may involve an interface configured to receive a command from a computer for reading or writing data via a network; and a controller configured to manage read or written data of a logical volume based on the command, and to manage a first relationship among information of an initiator port of the computer, information of the logical volume, and information of an attribute of the network used for transferring the command.
Aspects of the present application further include a computer readable storage medium storing instructions for executing a process. The instructions may include receiving a command from a computer for reading or writing data via a network; managing read or written data of a logical volume based on the command, and managing a first relationship among information of an initiator port of the computer, information of the logical volume, and information of an attribute of the network used for transferring the command.
Aspects of the present application further include a method, which may involve receiving a command from a computer for reading or writing data via a network; managing read or written data of a logical volume based on the command, and managing a first relationship among information of an initiator port of the computer, information of the logical volume, and information of an attribute of the network used for transferring the command.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a computer environment, in accordance with an example implementation.
FIG. 2 illustrates a server, in accordance with an example implementation.
FIG. 3 illustrates a SAN boot configuration table, in accordance with an example implementation.
FIG. 4 illustrates a storage, in accordance with an example implementation.
FIG. 5 illustrates a memory 43 of the storage 3, in accordance with an example implementation.
FIG. 6 illustrates a table of the Host Group mapping information, in accordance with an example implementation.
FIG. 7 illustrates a table of the Host multipath state information, in accordance with an example implementation.
FIG. 8 illustrates a table of the SAN zoning and network attribution information, in accordance with an example implementation.
FIG. 9 illustrates a SAN switch, in accordance with an example implementation.
FIG. 10 illustrates a SAN 2 in accordance with an example implementation.
FIG. 11 illustrates a memory of a SAN switch, in accordance with an example implementation.
FIG. 12 illustrates a Persistent N_Port ID mapping table 114, in accordance with an example implementation.
FIG. 13 illustrates a Name server DB 115, in accordance with an example implementation.
FIG. 14 illustrates a Fabric Configuration Server DB 115, in accordance with an example implementation.
FIG. 15 illustrates an Active Zone Set DB 115, in accordance with an example implementation.
FIG. 16 illustrates a Zone Configuration for QoS, in accordance with an example implementation.
FIG. 17 illustrates a Zone Configuration for Traffic isolation, in accordance with an example implementation.
FIG. 18 illustrates a Port based QoS table 115 for the SAN Switch physical port of the E Port or the F Port, in accordance with an example implementation.
FIG. 19 illustrates a flowchart for creating new volume with network configuration (zone and SAN QoS, etc.), in accordance with an example implementation.
FIG. 20 illustrates a flow diagram of the operation of translating the zone object format without stopping the host application, in accordance with an example implementation.
FIG. 21 illustrates a movement of a storage port that configured the SAN Boot Volume, to prevent changes to the SAN boot configuration in the Host Server, in accordance with an example implementation.
FIG. 22 illustrates the flowchart of FIG. 21.
FIG. 23 illustrates a flow diagram for deleting a volume and a network configuration (zone and SAN QoS, etc.), in accordance with an example implementation.
FIG. 24 illustrates a flow diagram for a host I/O non-disruptive volume migration with takeover of the SAN zoning and network configuration, in accordance with an example implementation.
FIG. 25 illustrates a flow chart for the flow diagram of FIG. 24.
FIG. 26 illustrates the flow diagram of the volume granularity migration operation between storage systems, in accordance with an example implementation.
FIG. 27 illustrates a flow diagram for a storage moving a boot volume with a VN_Port V from PN_Port A to PN_Port C to prevent changes to the SAN boot configuration of the Host Server, in accordance with an example implementation.
FIG. 28 illustrates the flow chart of the flow diagram of FIG. 27.
FIG. 29 illustrates an alternate example implementation of the flow diagram of FIG. 24.
FIG. 30 illustrates a flow diagram for host virtual machine (VM) migration with a SAN zoning and network configuration takeover, in accordance with an example implementation.
FIG. 31 illustrates the Peer Zone format the Active Zone Set DB, in accordance with an example implementation.



DETAILED DESCRIPTION
In the related art, when storage volume migration or server Virtual Machine (VM) migration is performed, if the virtual Node Port (VN_Port) is migrated from the source server/storage to the destination server/storage using NPIV, the zoning ACL or zoning attributes cannot takeover because the NPIV does not takeover the NPID, the Domain/Port Index Pair or the zoning attribute information. The NPID, Domain/Port Index Pair or zoning attributes or network attributes contain the SAN zoning database of the SAN switch. The NPIV is performed by the Name Server of the SAN Switch and does not interact with the SAN Zoning Database.
Thus, if such optional network features are utilized, the storage volume migration or server VM migration fails and the computer system mail also fail because the NPIV cannot take over the NPID based zoning and because the VN_Port is outside of the zone ACL.
Further, if such optional network features are utilized, the storage volume migration or server VM migration may succeed, but the zoning attributes or network attributes cannot take over, because the NPIV is unrelated to the zoning database. Example implementations described herein are directed to resolving the problems that may occur during migration.
FIG. 1 illustrates a computer environment, in accordance with an example implementation. The environment may involve a server 1, a storage area network (SAN) 2, a storage 3, and one or more management clients 4a-4c and connect management network 6 such as an ETHERNET network. One or more administrators 5a-5c may manage the server, storage and network by using a server management client 4a, a SAN management client 4b and a storage management 4c respectively, which may serve as interfaces to receive and/or facilitate commands from a computer (e.g., for reading or writing data) and communicate over a network.
FIG. 2 illustrates a server, in accordance with an example implementation. The server 1 may involve a memory 10, a central processing unit (CPU) 14 and a Small Computer System Interface (SCSI) initiator port 15. The memory 10 may contain a multi path program 11, a SAN boot configuration 12, and a SCSI driver 13. The CPU 14 and memory 10 may be configured together in the form of a server controller. Instructions may be stored on the memory 13 of the server controller, which may be in the form of a computer readable storage medium, which is tangible media such as Random Access Memory (RAM), flash memory, HDD, detachable media (e.g. CD, DVD, etc.) or the like. The instructions may also be in the form of a computer readable signal medium, which can include non-tangible media such as a carrier wave.
FIG. 3 illustrates a SAN boot configuration table, in accordance with an example implementation. The SAN boot configuration table 12 may include a Discovery WWPN 31 and a Boot LUN (Logical Unit Number) 32. The SAN boot configuration table 12 masks the boot target port, as the SCSI driver 13 under BIOS boot may have limited memory space. Thus, the SCSI driver under BIOS boot cannot be used for the discovery of a large SAN topology.
When Server 1 is booted, the SCSI driver 13 queries the SAN switch to determine if the SCSI initiator port is attached to the SAN Switch. The SCSI driver 13 issues a Port Login (PLOGI) to target the port that is listed by the SAN boot configuration table 12, and boot LUN.
FIG. 4 illustrates a storage, in accordance with an example implementation. The storage 3 may include a SCSI target port 41, CPU 42, Memory 43, SCSI initiator port 44, and storage media such as Serial AT attachment Hard Disk Drive (SATA HDD) 45, Serial Attached SCSI HDD (SAS HDD) 46, Solid State Drives (SSD) 47, and Peripheral Component Interconnect (PCI) bus attached flash memory 48. The CPU 42 and Memory 43 may be configured together in the form of a storage controller that can manage a relationship between information of the initiator port, the logical volume, and the attributes of the network and obtain information of the attributes of the network from the SAN 2 as needed. Instructions may be stored on the memory 43 of the storage controller, which may be in the form of a computer readable storage medium, which is tangible media such as Random Access Memory (RAM), flash memory, HDD, detachable media (e.g. CD, DVD, etc.) or the like. The instructions may also be in the form of a computer readable signal medium, which can include non-tangible media such as a carrier wave.
FIG. 5 illustrates a memory 43 of the storage 3, in accordance with an example implementation. The memory 43 may include Host Group mapping information 51, Host multipath state information 52, SAN zoning and network attribution information 53, and storage program 54. Further details of the host group mapping information 51, host multipath state information 52, and SAN zoning and network attribution information 53 can be found in the descriptions of FIGS. 6 to 8.
FIG. 6 illustrates a table of the Host Group mapping information 51, in accordance with an example implementation. Host Group mapping information 51 may include Host WWPN 61, Host LUN 62, Target Port WWPN 63, Internal LUN 64. The Host WWPN 61 contains host port name identifier (WWPN) to mapping from storage internal LU 64 to Host LUN 62. The Host Group mapping information 51 can be utilized to allow multiple hosts to share a storage target port with access control and LU Number mapping.
FIG. 7 illustrates a table of the Host multipath state information 52, in accordance with an example implementation. The Host multipath state information 52 may include internal LUN 71, Host port WWPN 72, and Multipath State 73. The Host multipath state information 52 enables that a target port share multiple of Multipath State 73. When the storage volume is migrated to another target port, other volumes that are allocated on the same target port are not affected by the volume migration.
FIG. 8 illustrates a table of the SAN zoning and network attribution information 53, in accordance with an example implementation. The storage program 54 may obtain the SAN zoning and network attribute information 53 from the management client or the SAN switch. The target port WWPN is principal target port. The peer zoning has access control between principal target port and Peer WWPNs, but does not have access control between Peer WWPNs. SAN zoning and network attribution information 53 may include the Zone Name 81, Target Port WWPN 82, Peer WWPN list 83, and Network Attribute list 84. The Zone Name 81 is a string character and separates other Zone Name configurations of the peer zoning list and the network attribute list. For example, if host A and host B have different NW attribute for the same target port X, two Zone Name configurations for one target port X can be used. The Peer WWPN list 83 contains the Host WWPN list to access control between Target Port WWPN and Peer WWPNs 83.
The Network Attribute List 84 may include QoS information, Traffic isolation information or other NW configurations.
FIG. 9 illustrates a SAN switch 90, in accordance with an example implementation. The SAN 2 may have one or multiple SAN Switches 90. The SAN Switch 90 may include one or more Fabric Ports (F Port) 91, a Switch Element 92, one or more Expansion Ports (E_Port) 93, one or more Well Known Address (WKA) Ports 94, a CPU 95 and a Memory 96. The Fabric Port (F_Port) 91, Expansion Port (E_Port) 93 and Well Known Address (WKA) Ports 94 are connected to Switch Element 92 by an internal bus. The Fabric Port (F_Port) 91 is connected to the Node Port (N_Port). The Expansion Port (E_Port) 93 is connected to E_Port of another SAN Switch.
The Well Known Address (WKA) Ports 94 are used to access the SAN service program. For example, WKA 0xFFFFFC is Directory Service, which contains the name server. WKA 0xFFFFFA is management service, which contains a Fabric Configuration Server for topology management, a Fabric Zoning Server for zoning configuration, and an Unzone Name server for query un-accessible Node Ports.
FIG. 10 illustrates a SAN 2 in accordance with an example implementation. The example SAN 2 includes two SAN switches 90a and 90b. The two switches connect three Node Ports (N_Port) 101a, 101b and 101c. The ISL (Inter Switch Link) is a connection of the E_Port to the E_Port link and can be used for trunking. Each switch has a unique Domain_ID in the SAN fabric. Each port (E_Port, F Port, N_Port) has a unique WWPN.
The switch port (E_Port, F_Port) has a Domain/Port Index (DI) number. The DI number is concatenated by a one byte Domain_ID and 1 Bytes Port Index (physical switch port location). The N_Port ID has a N_Port Identifier (NPID). The NPID is assigned by a SAN switch name server when the N_Port ID requests a login (FLOGI or FDISC) to the name server of the directory service.
FIG. 11 illustrates a memory 96 of a SAN switch 90, in accordance with an example implementation. The memory 96 of SAN switch 90 may include a name server program 111, a Fabric Configuration Server program 112, a Fabric Zone Server program 113, a Persistent N_Port ID mapping table 114, a Name Server Database (DB) 115, a Fabric Configuration Server DB 116, an Active Zone Set DB 117, and a Port QoS Table 118. The name server program 111 allocates N_Port ID to N_Port and registers the Name Server DB 115 when the N_Port issues a Fabric Login or a Fabric Discovery (FLOG I or FDISC) request to the Name Server 111 of the Directory Server. The name server program 111 allocates static NPID to specific WWPN of N_Port, when N_Port issues login requests and the name server program 111 searches the Persistent N_Port ID mapping table 114 for a corresponding entry.
The name server program 111 also de-allocates N_Port ID from N_Port and deregisters from the Name Server DB 115 when the N_Port issues a Fabric Logout (FLOGO) request to the Name Server 111 of the Directory Server. The Fabric Configuration Server program 112 gathers topology information and stores them into the Fabric Configuration Server DB 116. The administrator can configure the Active Zone Set DB 117 and the Port QoS Table 118 for SAN switch 90 by using a management client 5.
The Fabric Zone Server program 113 forwards the data of the Active Zone Set DB 117 to all of the SAN switches and configures the setup of the zone configuration and network configuration for the F_Port or the E_Port. The SAN Switch 90 configures the setup of the Port QoS Table 118 to F_Port or E_Port for limiting ingress or egress rate performance.
FIG. 12 illustrates a Persistent N_Port ID mapping table 114, in accordance with an example implementation. The Persistent N_Port ID mapping table 114 may include a N_Port WWPN field 121 and a Persistent N_Port ID field 122. When a N_Port login with N_Port WWPN parameter to F Port of SAN Switch 90 is conducted, the Name server program 111 searches the N_Port WWPN 121. If a corresponding entry is found, the Name server program 111 allocates NPID to N_port of the persistent N_Port ID 122. The allocated N_Port ID is not related to the Physical Port Index of SAN switch 90.
FIG. 13 illustrates a Name server DB 115, in accordance with an example implementation. The Name server DB 115 may include a F_Port Domain/Port Index entry 131, an allocated N_Port ID entry 132, a N_Port WWPN entry 133, and a Persistent N_Port ID allocated field 134. The F Port Domain/Port Index entry 131 indicates the F Port physical location of the SAN Switch 90. The allocated N_Port ID entry 132 is the allocated N_Port ID by the name server program 111 to the N_Port requesting a login. The N_Port WWPN field 133 includes the N_Port WWPN from the N_Port requesting a login.
The Persistent N Port ID allocated field 134 indicates whether the allocated N_Port ID is related or not related based on referring to the Persistent N_Port ID mapping table 114.
FIG. 14 illustrates a Fabric Configuration Server DB 116, in accordance with an example implementation. The DB 116 contains topology, location, and peer connection information that connects to the adjacent switch or peer N_Port information.
FIG. 15 illustrates an Active Zone Set DB 117, in accordance with an example implementation. The Active Zone Set DB 117 includes one or more Zones 151. Each Zone 151 may include Zone Name 152, optionally one or more Zone Attributes 153, and one or more Zone members 154. The Active Zone Set DB 117 is the effective zone set of the zone DB. Each Zone 151 is grouped by zone attributes 153 and zone members 154. The Zone Attribute 153 contains parameters such as a hard zoning attribute, peer zoning attribute, and/or vendor specific attributes such as QoS parameters or network attributes.
The Zone Members may include parameters such as the switch E_Port or F_Port id (e.g., Domain/Port Index (DI), F_Port WWPN, E_Port WWPN), the Node Port ID (e.g., N_Port WWPN, N_Port Node Name Identifier (World Wide Node Name: WWNN)), and/or the N_Port ID, which is changed based on a login to F_Port DI.
FIG. 16 illustrates a Zone Configuration for QoS, in accordance with an example implementation. The Zone Name 152 contains an ASCII zone name. To identify the QoS Zoning the by SAN switch, the Prefix ASCII Character of the Zone Name 152 contains prefixes such as “QOSHixx_” or “QOSLOxx_” 161. The ASCII string indicates the QoS zoning mode and priority value (e.g. High/Low priority). The Zone Attribute 153 contains QoS Attribute if defined by SAN Switch vender specific. The Zone member 154 contains parameters such as the N_Port WWN based Zone members 163 which contains the N_Port WWPN of host ports and storage ports, the F_Port WWN based Zone members 164 which contains F_Port WWPN attached N_Port of host ports and storage target ports, the F_Port DI based Zone members 165 which contains F_Port Domain/Port Index attached N_Port of host ports and storage target ports, and can be in an intermix parameter format 163, 164 or 165. The Zone enables QoS priority setting within Zone Members 154.
If Zone members 154 contain N_Port WWN based Zone members 163, NPIV VN_Port migration may be performed successfully, but the network attributes (Prefix Zone Name 161 and/or QoS Attribute 162) cannot takeover. If Zone members 154 contain F_Port WWN based Zone members 164 or F Port DI based Zone members 165, NPIV VN_Port migration cannot be performed since the VN_Port is migrated other PN_Port, the F_Port is changed and the F_Port WWPN or F_Port ID is changed. Thus, the VN_Port is out of the access list defined by the Zone Member 154.
FIG. 17 illustrates a Zone Configuration for Traffic isolation, in accordance with an example implementation. The Traffic Isolation defines the traffic pathway of the SAN switch port (F_Port or/and E_Port). The Zone Name 152 includes an ASCII zone name or a Prefix ASCII zone name if the zone name is defined by a SAN switch, and can be vendor specific. The Zone Attribute 153 includes Traffic Isolation Attribute 171 if defined by the SAN Switch, and can be vendor specific. The Zone member 154 may include parameters such as a F_Port WWN based Zone members 172 which contains the F_Port WWPN attached to the N_Port of the host ports and storage target ports, F_Port DI based Zone members 173 which contains the F_Port Domain/Port Index attached to the N_Port of the host ports and the storage target ports, and can be in an intermix parameter format 172 or 173.
The Zone allows for Traffic Isolation setting within Zone Members 154. If the Zone 151 is made of traffic isolation attributes, then NPIV VN_Port migration cannot be performed since the VN_Port is migrated to another PN_Port, the F Port is changed and the F_Port WWPN or F_Port ID is changed. Thus, the VN_Port is out of the access list defined by Zone Member 154.
FIG. 18 illustrates a Port based QoS table 115 for the SAN Switch physical port of the E_Port or the F_Port, in accordance with an example implementation. The Port based QoS table 115 can include a Domain/Index of F_Port or E_Port entry 181, a Rate Limit field 182, a Traffic Class (TC) field 183 and a virtual Channel (VC) field 184. The Network attribute contained in Port QoS Table 116 cannot takeover after NPIV VN_Port migration, because the Domain/Index of F_Port or E_Port is changed after VN_Port NPIV migration.
FIG. 19 illustrates a flowchart for creating new volume with network configuration (zone and SAN QoS, etc.), in accordance with an example implementation. When a storage administrator creates a volume, the storage management client creates a new zone to the network and the network configuration without SAN administrator coordination. At 1901, the administrator 5 creates a volume and issues a command to tie the storage port to the volume, and create host group (L UN Masking) information to accept from the host port to the storage port related to the volume. The administrator 5 also allocates network attributes such as QoS to the path of the host and the volume. At 1902, the management client 5c transfers the configuration to the storage 3. The storage 3 saves the network attribute information to SAN zoning and network attribute information table 53. At 1903, the storage target port creates a new zone ACL with network attribute information to provide access between the host port and the storage target port. The Zone ACL contains zone attributes, including network QoS information. The storage port issues a Peer Zoning request (e.g., AAPZ: Add Update Active Peer Zone) with network attribute information to the SAN Switch, then SAN Switch appends the zone to the Active Zone Set DB and the SAN Switch 2 configures network parameter such as QoS and so on. At 1904, the Server administrator 5 starts an application to the host server.
FIG. 20 illustrates a flow diagram of the operation of translating the zone object format without stopping the host application, in accordance with an example implementation. At 2000, the storage program 54 issues a CT request (basic zoning or enhanced zoning command to fabric zoning server) to retrieve zone information from the SAN switch, and then the storage program translates the zone object format from a Basic/Enhanced zone to a Peer Zone of the EZ format to prepare a Peer Zone request. The storage 3 saves the network attribute information to SAN zoning and network attribute information table 53. At 2001, the storage program issues Peer Zone request (AAPZ CT IU) with network attribute information to switch. The SAN Switch 2 appends the zone in the Active Zone Set Database, wherein the storage program 54 issues the CT request (basic zoning or enhanced zoning command to fabric zoning server) to delete existing old zone information from the SAN switch if any other volume or any active access path is unavailable. The storage program 54 computes which zone can be deleted when the storage program refers to the SAN zoning and network attribution information 53. The SAN Switch 2 do not change network parameter such as QoS and so on because only zone format is changed, network parameter is not changed.
FIG. 21 illustrates a movement of a storage port that configured the SAN Boot Volume, to prevent changes to the SAN boot configuration in the Host Server, in accordance with an example implementation. The Host server sets up the SAN boot configuration to the storage target port (VN_Port VI WWPN N.V). A takeover is conducted to takeover the relationship between the boot volume and the boot configuration.
At 2100, the storage program issues a request to the fabric zoning server to retrieve the zone information from the SAN switch. The storage program translates the zone object format from the Basic/Enhanced zone to the Peer Zone of the EZ format to issue a Peer Zone request. The storage 3 saves the network attribute information to SAN zoning and network attribute information table 53. At 2101, the Storage program creates a new I/O path for N_Port T. The boot volume in the storage is accessible by both N_Port T and VN_Port V. At 2102, the storage program issues a Peer Zone request (AAPZ CT_IU) to the SAN switch. The SAN Switch appends the zone between the host port and N_Port T in the Active Zone Set Database. When the SAN Switch updates the Active Zone Set DB, the Fabric Controller in the SAN Switch notifies the host server using a RSCN (Register State Change Notification) notification message. The SCSI driver of the Host Server then discovers a new I/O path between the host port and the storage port T.
At 2103, the VN_Port V of the storage target port sends a NOT READY or UNIT ATTENTION notification message of SCSI sense data of an Asynchronous Logical Unit Access (ALUA: is SCSI SBC-3 multi path standard), The multi path software of the Host Server sends a Report Target Port Group SCSI command and retrieves the Target Port Group information. The storage program changes the Host Multipath state information to add N_Port T with an active state setting and to add VN_Port V with an unavailable state setting. The storage program creates Target Port Group information payload from the Host Multipath state information. The Host multipath software changes the I/O path from VN_Port V to N_Port T.
At 2104, the storage program issues a Logout (LOGO) request to the F_Port Controller of the SAN Switch. The SAN switch then de-allocates and removes the VN_Port V N_Port ID from the name server. Then storage program the migrates the VN_Port V from PN_Port A to PN_Port C, wherein the N_Port Controller of PN_Port C issues a NPIV Fabric Discovery (FDISC) request. The name server of the SAN switch creates a VN_Port V instance and adds the N_Port ID for the VN Port V in the name server DB.
At 2105, the storage program creates a new I/O path for N_Port V. The boot volume in the storage is accessible by both N_Port T and the new VN_Port V instance. At 2106, the storage program issues Peer Zone request (AAPZ CT IU) with network attribute information to SAN switch 2. The SAN Switch 2 appends the zone between the host port and the VN_Port V in the Active Zone Set Database and the SAN Switch 2 configures network parameter such as QoS and so on. When the SAN Switch updates the Active Zone Set DB, the Fabric Controller in the SAN Switch sends a notification to the host server using a RSCN notification message. The SCSI driver of the Host Server conducts a new I/O path discovery between the host port and the storage VN_Port V.
At 2107, the N_Port T of the Storage target port sends a NOT READY or UNIT ATTENTION notification message of the SCSI Sense data of ALUA. The Multi path software of the Host Server sends a Report Target Port Group SCSI command and retrieves the Target Port Group information. The storage program changes the Host Multipath state information to add VN_Port V with an active state setting and N_Port T with an unavailable state setting. The storage program creates the Target Port Group information payload by using the Host Multipath state information. The host multipath software changes the I/O path from port T to VN_Port V. The storage program issues a CT request (basic zoning or enhanced zoning command to fabric zoning server) to delete existing old zone information from the SAN switch if needed.
FIG. 22 illustrates the flowchart of FIG. 21 with respect to the reference elements used in FIG. 21.
FIG. 23 illustrates a flow diagram for deleting a volume and a network configuration (zone and SAN QoS, etc.), in accordance with an example implementation. When the storage administrator creates a volume, the storage management client creates a zone and network configuration without SAN administrator coordination. At 2300, the administrator stops the host server application. At 2301, the administrator 5 deletes the volume. At 2302, the management client 4c transfers the configuration to the storage. At 2303, the storage program deletes the volume and/or unmaps the connection between the port and the volume. The storage program issues a DAPZ (Delete Active Peer Zone) request to delete the zone with network attribute information between host port and storage port, if other volumes do not use the zone when the storage program search SAN zoning information 53. Then, the storage 3 delete specific entry of the network attribute information from SAN zoning and network attribute information table 53, if needed.
FIG. 24 illustrates a flow diagram for a host I/O non-disruptive volume migration with takeover of the SAN zoning and network configuration, in accordance with an example implementation. At 2400, storage administrator 5c indicates volume migration operation. At 2401 the source storage program issues a request to the fabric zoning server to retrieve zone info from the SAN switch. Then the source storage program translates the zone object format from the Basic/Enhanced zone to the Peer Zone of the EZ format to issue a Peer Zone request if format translation is needed. The source storage 3a saves the network attribute information to SAN zoning and network attribute information table 53. At 2402, both of the storage programs send or retrieve the Peer Zone information and network attribute information from the Source Storage to the Destination Storage via the interconnect storage path. At 2403, the storage program issues a Peer Zone request (AAPZ CT_IU) with network attribute to the SAN switch 2. The SAN Switch 2 appends the zone between the host port and the N_Port T in the Active Zone Set Database and the SAN Switch 2 configures network parameter such as QoS and so on. When the SAN Switch updates the Active Zone Set DB, the Fabric Controller in the SAN Switch sends a notification to the host server using a RSCN (Register State Change Notification) notification message. The SCSI driver of the Host Server conducts a new I/O path discovery between the host port and the storage port T.
At 2404, the destination storage mounts the source volume of the source storage. The source storage target port sends a NOT READY or UNIT ATTENTION notification message of the SCSI Sense data of the ALUA. The multipath software of the Host Server sends a Report Target Port Group SCSI command and retrieves the Target Port Group information. The storage program changes the Host Multipath state information to add the destination storage port with an active state setting and the source storage port with an unavailable state setting. The storage program creates the Target Port Group information payload by using the Host Multipath state information. The Host multipath software changes the I/O path from the source storage port to the destination storage port.
At 2405, both storage programs execute to conduct boot volume migration. At 2406, the source storage program issues a CT request (a basic zoning or an enhanced zoning command to the fabric zoning server) to delete existing old zone information from the SAN switch if needed. Then, the source storage 3a delete specific entry of the network attribute information from SAN zoning and network attribute information table 53, if needed.
FIG. 25 illustrates a flowchart of the flow diagram of FIG. 24.
FIG. 26 illustrates the flow diagram of the volume granularity migration operation between storage systems, in accordance with an example implementation. The operation is similar to that of FIG. 24, but also includes redundant SANs 2a and 2b. Thus, if a SAN fails, the volume migration can be performed using another SAN, as multiple paths between the host server ports and the destination storage ports thereby exist and are active during the volume migration.
If NPIV takeover is conducted, the redundancy is lost between the Fabric Logout (LOGO) and new the Fabric Discovery (FDISC), because duplicate WWPN registration of the Name Server of the SAN Switch is not allowed. The Duplicated Address login request error is defined by FC-LS-2.
FIG. 27 illustrates a flow diagram for a storage moving a boot volume with a VN_Port V from PN_Port A to PN_Port C to prevent changes to the SAN boot configuration of the Host Server, in accordance with an example implementation. In FIG. 27, the host server configures the SAN boot configuration to the storage target port (VN_Port VI WWPN N.V).
At 2700, storage administrator indicates volume migration operation. Then, the storage program issues a request to the fabric zoning server to retrieve zone information from the SAN switch. The source storage 3a saves the network attribute information to SAN zoning and network attribute information table 53. At 2701, the storage program translates the zone object format from the Basic/Enhanced zone to the Peer Zone of the EZ format to issue a Peer Zone request if format translation is needed. The storage program sends the Peer Zone information and network attribute information from the Source Storage 3a to the Destination Storage 3b via the interconnect storage path. At 2702, the storage program creates a new I/O path for the N_Port T. The boot volume in the storage is accessible by both N_Port T and VN_Port V. At 2703, the storage program issues the Peer Zone request (AAPZ CT IU) to the SAN switch. The SAN Switch appends the zone between host port and the N_Port T in the Active Zone Set Database. When the SAN Switch updates the Active Zone Set DB, the Fabric Controller in the SAN Switch notifies the host server by using a RSCN (Register State Change Notification) notification message. The SCSI driver of the Host Server conducts new I/O path discovery between the host port and the storage port T.
At 2704, the VN_Port V of the storage target port sends a NOT READY or a UNIT ATTENTION notification message of the SCSI Sense data of the ALUA. The Multi path software of the Host Server sends a Report Target Port Group SCSI command and retrieves Target Port Group information. The storage program changes the Host Multipath state information to add N_Port T with an active state setting and VN_Port V with an unavailable state setting. The storage program creates the Target Port Group information payload by using Host Multipath state information. The host multipath software changes I/O path from VN_Port V to N Port T.
At 2705, the storage program of source storage 3a issues a Logout (LOGO) request to the F Port Controller of the SAN Switch. The SAN switch de-allocates the VN_Port V N_Port ID and removes the VN_Port V from the name server. The storage program migrates the VN_Port V from the PN_Port A of the source storage 3a to the PN_Port C of the destination storage 3b. The N_Port Controller of the PN_Port C of the destination storage 3b issues a NPIV Fabric Discovery (FDISC) request and the name server of the SAN switch 2 creates a VN_Port V instance and adds the N_Port ID for the VN_Port V in the name server DB.
At 2706, the storage program of destination storage 3b issues a Peer Zone request (AAPZ CT IU) to the SAN switch 2. The SAN Switch 2 appends the zone between the host port and the VN Port V in the Active Zone Set Database and the SAN Switch 2 configures network parameter such as QoS and so on. When the SAN Switch updates the Active Zone Set DB, the Fabric Controller in the SAN Switch notifies the host server by using a RSCN notification message. The SCSI driver of the Host Server conducts new I/O path discovery between the host port and storage VN_Port V.
At 2707, both storage programs conduct the boot volume migration. Both ports of Port C and Port T are accessible, so the source storage changes the access state to unavailable for port T and the destination storage changes the access state to available for VN_Port V. The destination storage mounts the source volume of the source storage and migrates the data.
At 2708, the N_Port T of the storage target port sends a NOT READY or a UNIT ATTENTION notification message of the SCSI Sense data of the ALUA, The multi path software of the Host Server sends a Report Target Port Group SCSI command and retrieves the Target Port Group information. The storage program changes the Host Multipath state information to add VN_Port V with setting active state and VN_Port T with setting unavailable state. The storage program creates the Target Port Group information payload by the Host Multipath state information. The Host multipath software changes the I/O path from N_Port T to VN_Port V.
Then the source storage program issues a CT request (e.g. a basic zoning or an enhanced zoning command to the fabric zoning server) to delete old existing zone information from the SAN switch if needed. Then, the source storage 3a delete specific entry of the network attribute information from SAN zoning and network attribute information table 53, if needed.
FIG. 28 illustrates the flow chart of the flow diagram of FIG. 27.
FIG. 29 illustrates an alternate example implementation of the flow diagram of FIG. 24. In the alternate implementation of FIG. 29, a side-band storage management 4b that integrates storage and SAN management is utilized.
FIG. 30 illustrates a flow diagram for host virtual machine (VM) migration with a SAN zoning and network configuration takeover, in accordance with an example implementation. The flow diagram is similar to FIG. 20. The SAN zoning configuration is N_Port ID based, so host VM migration is conducted.
At 3000, the administrator 5 submits an instruction for VM migration between the source physical host and the destination physical host. At 3001, the storage program issues a CT request (basic zoning or enhanced zoning command to fabric zoning server) to retrieve zone info from SAN switch. The storage program translates the zone object format from the Basic/Enhanced zone to the Peer Zone of the EZ format to prepare to issue a Peer Zone request to migrate the NPIV format (e.g., N_Port ID based or DI based, F_Port WWN based zone to Host N_Port WWPN based). At 3002, the storage program issues a Peer Zone request (AAPZ CT_IU) with network attribute information to the switch. The SAN Switch appends the zone to the Active Zone Set Database and network attribute information. At 3003, both host servers migrate the VM with the NPIV host port WWPN migration. The Storage program issues a CT request (e.g., basic zoning or enhanced zoning command to fabric zoning server) to delete existing old zone information from the SAN switch if any other volume or any active access path is unavailable. The storage program computes which zone can be deleted when the storage program refers to the SAN zoning and network attribution information.
FIG. 31 illustrates the Peer Zone format the Active Zone Set DB 115, in accordance with an example implementation. The Peer Zone format may include a Zone Name 152, one or more Peer Zone Attributes 311, optionally one or more other zone attributes 153 and one or more Zone members 154. The Peer Zone attribute 311 contains target port WWPN. However, the Peer Zone members 312, 313, 314 do not include the target port (Peer Zoning principal port 311).
Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described implementations may be used singly or in any combination. It is intended that the specification and implementation be considered as examples only, with a true scope and spirit of the invention being indicated by the following claims.

## Claims

1. A storage system, comprising:
a logical volume; and
a storage controller, configured to:
manage a first mapping between an initiator port and the logical volume; and

for a volume migration operation being executed on the logical volume:
retrieve a zone associated with a network attribute of a storage area network (SAN) from the SAN, the network attribute indicative of a network configuration of the SAN,
update the first mapping to a second mapping between the initiator port, the logical volume and the network attribute;
create a new zone to the SAN based on the second mapping through an issuance of a peer zone request with the network attribute,
conduct an input/output (I/O) path discovery between the initiator port and a target port associated with the new zone;
update the second mapping between the initiator port, the logical volume and the network attribute based on the I/O path discovery, the second mapping indicative of the target port; and
delete the retrieved zone associated with the network attribute.

2. The storage system of claim 1, wherein the storage controller is configured to manage a third mapping between a boot object and a boot volume, wherein the target port is associated with the boot volume, and wherein the storage controller is configured to facilitate access to the boot volume based on the I/O path discovery.

3. The storage system of claim 1, wherein the storage system is communicatively coupled to a plurality of SAN switches, wherein, upon a failure of a SAN switch associated with the volume migration operation, the storage controller is configured to conduct the volume migration on another one of the plurality of SAN switches.

4. The storage system of claim 1, wherein the storage controller is configured to translate a zone object format.

5. A storage controller comprising a memory and a processor, configured to:
manage a first mapping between an initiator port and a logical volume; and
for a volume migration operation being executed on the logical volume:
retrieve a zone associated with a network attribute of a storage area network (SAN) from the SAN, the network attribute indicative of a network configuration of the SAN,
update the first mapping to a second mapping between the initiator port, the logical volume and the network attribute;
create a new zone to the SAN based on the second mapping through an issuance of a peer zone request with the network attribute,
conduct an input/output (I/O) path discovery between the initiator port and a target port associated with the new zone;
update the second mapping between the initiator port, the logical volume and the network attribute based on the I/O path discovery, the second mapping indicative of the target port; and
delete the retrieved zone associated with the network attribute.

6. The storage controller of claim 5, wherein the storage controller is configured to manage a third mapping between a boot object and a boot volume, wherein the target port is associated with the boot volume, and wherein the storage controller is configured to facilitate access to the boot volume based on the I/O path discovery.

7. The storage controller of claim 5, wherein the storage controller is associated with a storage system that is communicatively coupled to a plurality of SAN switches, wherein, upon a failure of a SAN switch associated with the volume migration operation, the storage controller is configured to conduct the volume migration on another one of the plurality of SAN switches.

8. The storage controller of claim 5, wherein the storage controller is configured to translate a zone object format.

9. A method, comprising:
managing a first mapping between an initiator port and a logical volume; and
for a volume migration operation being executed on the logical volume:
retrieving a zone associated with a network attribute of a storage area network (SAN) from the SAN, the network attribute indicative of a network configuration of the SAN, and
updating the first mapping to a second mapping between the initiator port, the logical volume and the network attribute;
creating a new zone to the SAN based on the second mapping through an issuance of a peer zone request with the network attribute,
conducting an input/output (I/O) path discovery between the initiator port and a target port based on the new zone;
updating the relationship between the initiator port, the logical volume and the network attribute based on the I/O path discovery; and
deleting a zone based on the network attribute.

10. The method of claim 9, further comprising managing a third mapping between a boot object and a boot volume, wherein the target port is associated with the boot volume, and facilitating access to the boot volume based on the I/O path discovery.

11. The method of claim 9, further comprising:
upon a failure of a SAN switch associated with the volume migration operation, conducting the volume migration on another SAN switch.

12. The method of claim 9, further comprising translating a zone object format.