1. Field of the Invention
The present invention relates to a switch-based (storage) virtualization technique in a storage area network (SAN), and to a management method for a name, which is given to a port of a switch providing a virtualized storage.
2. Description of the Prior Art
In a Fibre Channel (FC)-SAN environment, or an IP-SAN environment (i.e. using the internet Small Computer System Interface (iSCSI) obtained by encapsulating the Small Computer System Interface (SCSI) in the Transmission Control Protocol/Internet Protocol (TCP/IP)), an apparatus such as a server or a storage device is treated as a node. To identify a node in the SAN (or in the FC-SAN), each node has associated therewith 24-bit address information called a port ID and 64-bit name information called a World Wide Name (WWN). In addition, in IP-SAN, each node has an IP address (32-bit address information in Ipv4 or 128-bit address information in Ipv6), along with 48-bit address information called a Media Access Control (MAC) address, and 255-byte name information called an iSCSI.
The name information cannot be changed because it is generated based upon information permanently allocated to hardware of a node. Programs of a Simple Name Server (SNS) in the FC-SAN, an internet Storage Name Server (iSNS) in the IP-SAN, and the like are executed, whereby a relationship between the name information and the address information, or the like is managed, and the information is provided. After acquiring or setting the address information, the node connected to the SAN registers the name information and the address information of its own in a table held by an apparatus having these programs (e.g., see Tom Clark “SAN, Implementation of Practical Fibre Channel Storage Area Network”, Piason Education, Dec. 25, 2000, p. 40-42, and 76-83, or Mike Frase, “Troubleshooting Storage Networks”, [online], [retrieved on Jan. 10, 2003], available on the Cisco Web site.
In a switch providing a storage virtualization mechanism in the SAN environment, a volume or a logical unit (LU) of a virtualized storage is provided (e.g., see Mogi Ryuta, “Realize Functional Reinforcement and Package Management of a SAN through Virtualization of a Storage”, Nikkei Windows Pro, August 2002 (No. 65), p. 13-15). In the following description, a port providing a volume or an LU of a virtualized storage is referred to as a virtual port.
Using switch-based storage virtualization, allocation and rearrangement of storage areas in storage systems (of plural vendors connected to a network) can be performed without depending upon a physical configuration of the storage systems. Here, the storage system is assumed to be a system including plural storage devices and a storage control device (for controlling the plural storage devices). However, in the related art, when a virtual port is continuously used with the same name information, only use in a switch is considered. In the future, it is likely that the name information of the virtual port will be changed by movement or reconstitution of the virtualized storage among plural switches, by replacement of the switch providing the virtualized storage, or the like. In a high availability server interrupting operation processing (by change of the name information of the virtualized storage) is not permissible.
This invention provides a method of maintaining and managing name information (of a virtual port) for preventing a situation such as is described above. To do so, a switch in accordance with the present invention adds information relating to a generator and a borrower of name information to a table (including information for managing name information and address information of a virtual port), and lends and borrows name information among plural switches, or to and from a replaced switch.
In addition, the switch in accordance with the present invention pools name information, which can be used commonly among switches (having a name server program for managing name information and address information of a virtual port, or switches having a representative name server program), in advance, and borrows the name information of the virtual port from there.
A first embodiment of the present invention will be described with reference to
The storage system 103 has a port 104 for making a connection with the switch 101 and the server 102, and plural storage devices 105 are connected under the port 104. In a case in which a virtualized storage is used in the switch 101, a virtual port 110 and a virtualized storage 111 under the virtual port 110 are prepared.
The link interface 201 has a port 208.
The routing processor 202 includes: a searching engine 202B (which searches a header of a packet); a memory 202C (which stores routing information and the like for the searching engine 202B to search a header); a forwarding engine 202A (which rewrites a part of information in a packet when the packet is transferred to the routing processor 202 to be a destination or is virtualized according to a result of searching of the searching engine 202B); a CPU 202D which controls the entire routing processor 202; and a main memory 202E which stores programs and data.
The switch manager 204 includes: a CPU 204B (which controls the entire switch manager 204), a main memory 204C which stores programs and data; a management interface 204D, and a switch interface controller 204A (for communicating with the routing processor 202) or the like that are connected to the cross-bar switch 203. A management terminal 207 (e.g., a dam terminal, a console terminal, etc.) or an ordinary PC (not shown) is connected to the management interface 204D by a serial cable, an Ethernet cable, or the like.
Programs and tables (software and tables are encircled in the figure) are stored in the main memory 202E of the routing processor 202, there is an operating system (hereinafter referred to as OS) 206A, a communication program 206B for communicating with the switch manger 204, a routing table 206C which is a copy of a routing table 205C2 (generated by executing a routing protocol program 205C1, which will be described below), and the like.
Similarly, programs and tables, which are used in executing the respective programs, are stored in the main memory 204C of the switch manager 204, and there is an OS 205A, a switch management program 205B1, and a configuration and Management Information Base (MIB) table 205B2 therefor, a routing protocol program 205C1 such as Fabric Shortest Path First (FSPF) and a routing table 205C2 therefor, a name server program 205D1 (such as an SNS for managing a name of a node apparatus to be connected to the switch 101) and a name management table 205D2 therefor, a login server program 205E (for giving a port ID to a node apparatus to be connected to a network (fabric) of an FC), and a volume management program 205F1 (for constituting a virtualized storage with a logical unit of the storage system 103 to be connected) and a volume management table 205F2 therefor, and the like.
Note that an FC switch shown in
The storage system 103 comprises: plural channel adapters 301 (which have plural ports 104 for connecting the switch 101, the server 102, and the like); disk adapters 303 (for accessing the plural storage devices 304); a cache memory switch 302 (which connects the plural channel adapters 301 and the plural disk adapters 303); a storage manager 305 (which performs system management and volume management of the storage system 103); a storage systems interconnect controller 306 (for connecting the storage systems via the switch 101); and the like.
The storage manager 305 includes: a CPU 305B (which controls the entire storage manager 305); a main memory 305C (which stores programs and data); a management interface 305D, and a module interface controller 305A (for controlling modules such as the channel adapters 301).
Representative programs and tables are stored in the main memory 305C of the storage manager 305. There is an OS 306A, a storage configuration management program 306B1 and a configuration management table 306B2 therefor, a volume management program for a logical unit in the storage system 103; and a volume management program 306C1 for constituting a virtualized storage and a volume management table 306C2 therefor, and the like.
The following description will be made using the FC switch shown in
In the IP network, an IP address may be set statically or may be set dynamically according to a Dynamic Host Configuration Protocol (DHCP). In the Fibre Channel, only an address (called a port ID) is dynamically set. The server 102 and the storage system 103 first send requests for fabric login (FLOGI) 404A and 404B, respectively, to the switch 101 (a port ID to be a destination is 0xFFFFFE), and the switch 101 executes the login server program 205E, thereby sending messages Accept 405A and 405B allocating port IDs to the server 102 and the storage system 103, respectively. Next, the server 102 and the storage system 103 send requests for port login (PLOGI) 406A and 406B, respectively, to the switch 101 (a port ID to be a destination is 0xFFFFFC), and the switch 101 executes the name server program 205D1, thereby registering a port ID, a port type, a port name, a service class to be supported, and the like in the name management table 205D2. Messages (Accept 407A and 407B) of completion of the registration are also sent to the server 102 and the storage system 103 (which have sent the request). Thereafter, for example, the server 102 performs port login in order to use the storage system 103 and establishes communication of the data link layer of the Fibre Channel.
As information of an entry 510 for each port, there is a port ID 502 (of 24 bits), a port type 503, and a World Wide Port Name (WWPN) 504 (which is a 64-bit port name), with respect to a request for port login from the storage system 103. The information also includes a Logical Unit Number (LUN) 506 (which is a number of the logical unit incorporated in the storage system 103), a 64-bit LUN WWN 507 (which is a name of the LUN), MAP information 505 (which represents mapping of the WWPN 504 and the LUN 506), and a World Wide Node Name (WWNN) 501 (which is a node name for each switch). One row in which these pieces of information are stored is hereinafter referred to as an entry (510).
In the example of
A virtualized storage 111A, and the virtual port 110A shown in
When the virtualized storage 111A (corresponding to logical units of the storage devices 105A and 105B in
Next, the structure of the name management table 205D2 will be described in an association with
Next, it is assumed that the port 208B corresponds to the entry 610E of
Problems which occur when the movement of a virtualized storage is carried out (in related art, in order to move the virtualized storage 111A corresponding to the logical unit of the storage device 105C in
In order to move the virtualized storage 111A, the CPU 204B (of the switch manager 204) generates a port ID on an entry 910G (step 1001), sets a port type to virtual F_port (step 1002), generates a WWPN (step 1003), and confirms whether or not a logical unit (to be a destination of movement of the virtualized storage) exists (step 1004). If the logical unit does not exist, the CPU 204B ends the processing. If an logical unit (entry 710F) to be a destination of movement exists, as shown in entries 910G and 910F, the CPU 204B sets MAP information 605 (step 1005), generates an LUN WWN 606 on the entry 910G (step 1006), and performs data migration processing for migrating data from the storage device 105C to the storage device 105D (step 1007). Although details of the data migration processing are not described in this embodiment, it is assumed that the data migration processing can also cope with data migration while input/output (I/O) of read or write is performed online (see Patent Applications 2000-152672 and 2000-63289).
After completion of the data migration processing, the CPU 204B informs the server 102 or the like, which was using the virtualized storage 111A, that the port ID and the WWPN have been changed (step 1008). A remote state change notification frame (which is a State Change Notification in an SNS of a Fibre Channel) is used (State Change Notification (SCN) of an iSNS in an iSCSI). Since a port ID and a WWPN of an origin of movement are in an entry 710E and a port ID and a WWPN of a destination of movement are in an entry 910G, change of the WWPN occurs in the related art. Unless the WWPN of the virtual port 110A (used in the server 102) is changed, the virtualized storage 111B after movement cannot be used. Suspension of an operation such as stopping an application on the server 102 once may be required for the change of the WWPN. After it has become possible to use the virtualized storage 111B in the server 102, the CPU 204B performs processing for deleting information (an entry 810E in
Next, with reference to
Steps 1301 to 1307 of
In the present invention, since the WWPN of the entry 1210G is the same as the WWPN of the origin of movement of the virtualized storage, the virtualized storage 111A used in the server 102 can be continuously used with only change of the port ID (even if it is really changed to the virtualized storage 111B).
On the other hand, upon receiving the request to borrow a WWPN, the CPU 204B of the switch 101A indicates that a pertinent WWPN is lent, and sets a port ID of the virtualized storage 111B of a destination of movement to the borrower/lender 1101 of the entry 1110E (step 1312), and sends the WWPN, which is lent to the switch 101B, and the port ID to the switch 101B (step 1313). After it has become possible to use the virtualized storage 111B in the server 102, the CPU 204B of the switch 101A performs process of deleting information on a name management table (relating to the virtualized storage 111A), deleting data in the logical unit of the storage system 103, and the like (step 1314).
Next, a second embodiment of the present invention will be described with reference to
Steps 1701 to 1706 of
Steps 1801 to 1811 of
On the other hand, upon receiving a request to borrow a WWPN, the CPU 204B of the switch 101A deletes the pertinent WWPN by returning it to a commonly used area (in
Next, a third embodiment of the present invention will be described with reference to
A representative program and table of the storage manager has a structure which is a combination of a representative program and table 205 and the like in the switch manager of
A description of the case where the virtualized storage 111A of
Note that, although a magnetic medium is often used as the storage device 105, other media such as an optical medium may be used. In addition, the program described in the present invention may be transferred from a storage medium such as a CD-ROM or may be downloaded from other devices through a network.
According to the present invention, name information of a virtual port can be maintained and managed by movement or reconstruction of a virtualized storage among plural switches, replacement of a switch, and the like. In addition, movement or the like of a virtualized storage can be performed without interruption in the case in which a high availability server performs operation processing using a virtualized storage.
Number | Date | Country | Kind |
---|---|---|---|
2003-171475 | Jun 2003 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
6052795 | Murotani et al. | Apr 2000 | A |
6446141 | Nolan et al. | Sep 2002 | B1 |
6553408 | Merrell et al. | Apr 2003 | B1 |
6601101 | Lee et al. | Jul 2003 | B1 |
6625747 | Tawil et al. | Sep 2003 | B1 |
6715098 | Chen et al. | Mar 2004 | B2 |
6988130 | Blumenau et al. | Jan 2006 | B2 |
7606239 | Maveli et al. | Oct 2009 | B2 |
20020133746 | Chen et al. | Sep 2002 | A1 |
20020184439 | Hino et al. | Dec 2002 | A1 |
20030131182 | Kumar et al. | Jul 2003 | A1 |
20030140193 | Acharya et al. | Jul 2003 | A1 |
20030147395 | Gutknecht et al. | Aug 2003 | A1 |
20030189929 | Matsuzaki et al. | Oct 2003 | A1 |
20030191904 | Iwami et al. | Oct 2003 | A1 |
20030221001 | Moran et al. | Nov 2003 | A1 |
20040081087 | Shea | Apr 2004 | A1 |
20040088574 | Walter et al. | May 2004 | A1 |
Number | Date | Country |
---|---|---|
2351375 | Dec 2000 | GB |
09-128305 | May 1997 | JP |
2000-339098 | Dec 2000 | JP |
Number | Date | Country | |
---|---|---|---|
20050010688 A1 | Jan 2005 | US |