This application is based upon and claims the benefit of priority of the prior Japanese Patent application No. 2014-234808, filed on Nov. 19, 2014, and the prior Japanese Patent application No. 2015-156069, filed on Aug. 6, 2015, the entire contents of which are incorporated herein by reference.
The embodiments discussed herein are directed to a connection control apparatus, a storage apparatus, and a non-transitory computer-readable recording medium having stored therein a control program.
For example, the following settings are manually made for a storage apparatus (storage array apparatus) to connect the storage apparatus to a host apparatus such as a server apparatus and to cause the host apparatus to recognize a Logical Unit Number (LUN).
(1) Redundant Arrays of Inexpensive Disks (RAID) group creation (for initialization of RAID)
(2) Volume creation
(3) LUN group creation
(4) Port parameter setting
(5) Host group setting (World Wide Name (WWN) registration and host response allocation)
(6) Port group creation
(7) Host affinity creation (association of the host group, the port group, and the LUN group)
Patent Literature 1: Japanese Laid-open Patent Publication No. 2009-175968
Patent Literature 2: Japanese Laid-open Patent Publication No. 2008-197780
Thus, there are many complicated setting items for the storage apparatus to cause the host apparatus to recognize LUN, posing a problem that it takes a lot of time and efforts to make the settings.
Therefore, a connection control apparatus is included in a storage apparatus, and controls a logical volume allocated to a host apparatus. The connection control apparatus including a linkup detector that detects a linkup with the host apparatus, a port information generator that generates port group information containing port information to identify a port of the storage apparatus whose linkup is detected by the linkup detector, a host information generator that generates host group information containing host information to identify the host apparatus whose linkup is detected by the linkup detector, a logical volume information generator that generates logical volume group information containing logical volume information to identify the logical volumes of all unallocated logical volumes, and an access processing information generator that generates access processing information associating the port group information, the host group information, and the logical volume group information.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
Hereinafter, an embodiment of the connection control apparatus, storage apparatus, and a non-transitory computer-readable recording medium having stored therein a control program will be described with reference to the drawings. However, the embodiment described below is only by way of example and various modifications and application of technology that are not explicitly described in the embodiment are not to be excluded. That is, the present embodiment can be carried out by modifying in various ways without deviating from the spirit thereof.
Each diagram is not intended to include only structural elements illustrated in the diagram and may include other functions.
Hereinafter, the same reference sign in diagrams indicates a similar portion and the description thereof is omitted.
[A-1] System Configuration
A storage system 1 illustrated in
Hereinafter, when it is necessary to identify one of a plurality of host apparatuses, the host apparatus is denoted as the “host apparatus#0” or “host apparatus#1”, but when any host apparatus is referred to, the host apparatus is denoted as the “host apparatus 20”.
The host apparatus 20 is, for example, a computer (information processing apparatus) equipped with a server function. In the example illustrated in
The host apparatus 20 includes, in addition to a Central Processing Unit (CPU) and a memory (not illustrated), a plurality (two in the illustrated example) of host ports (ports#0, #1) 21.
Hereinafter, when it is necessary to identify one of a plurality of ports, the port is denoted as the “port#0” or “port#1”, but when any port is referred to, the port is denoted as the “port 21”.
The port 21 is an interface to connect the host apparatus 20 to an external apparatus (for example, the switch 30) and is associated with WWN as a unique identifier in a storage network constituted by the storage system 1. In the illustrated example, WWN0 is associated with the port#0 of the host apparatus#0, and WWN1 is associated with the port#1 of the host apparatus#0. Also, WWN2 is associated with the port#0 of the host apparatus#1, and WWN3 is associated with the port#1 of the host apparatus#1. That is, the host apparatus 20 can be identified by the host port 21 being identified.
The switch 30 is an apparatus that relays the connection between the host apparatus 20 and the storage apparatus 10, and includes a plurality (14 in the illustrated example) of ports 31.
The port 31 is an interface to connect the switch 30 to an external apparatus (for example, the host apparatus 20 or the storage apparatus 10).
A zone 32 (zones#1 to #4) is formed inside the switch 30 for each connection between the host apparatus 20 and the storage apparatus 10. The storage apparatus 10 includes, as a connection control apparatus (Controller Module, denoted as CM below), CM#0, #1.
In the illustrated example, the zone#1 is formed between the port#0 of the host apparatus#0 and the port#0 on the CM#0 side and the zone#2 is formed between the port#1 of the host apparatus#0 and the port#0 on the CM#1 side (described later) included in the storage apparatus 10. Also, the zone#3 is formed between the port#0 of the host apparatus#1 and the port#1 on the CM#0 side, and the zone#4 is formed between the port#1 of the host apparatus#1 and the port#1 on the CM#1 side (described later) included in the storage apparatus 10.
The connection between the host apparatus 20 and the storage apparatus 10 via the switch 30 is, for example, a fabric connection of the interface of Fiber Channel (FC), Fiber Channel over Ethernet (registered trademark) (FCoE), or Serial Attached Small computer system interface (SAS). By forming a plurality of the zones 32 inside the switch 30, WWN zoning can be performed as zoning of FC/FCoE/SAS.
The storage apparatus 10 is an apparatus mounted with a plurality of storage units 140 (described below) to provide a storage area to the host apparatus 20 and, for example, RAID is used to store data by distributing over the plurality of storage units 140 in a redundant state. The storage apparatus 10 includes two connection control apparatuses (CM#0, #1) 11, two Communication Adapters (two sets of CA#0) 12, six ports (two sets of ports#0 to #2; CA ports) 13, and a Disk Enclosure (DE) 14.
Hereinafter, when it is necessary to identify one of a plurality of CM, the CM is denoted as the “CM#0” or “CM#1”, but when any CM is referred to, the CM is denoted as the “CM 11”. Hereinafter, when it is necessary to identify one of a plurality of CA on the CM#0 side, the CA is denoted as the “CA#0 on the CM#0 side” and when it is necessary to identify one of the plurality of CA on the CM#1 side, the CA is denoted as the “CA#0 on the CM#1 side”, but when any CA is referred to, the CA is denoted as the “CA 12”. Hereinafter, when it is necessary to identify one of a plurality of ports on the CM#0 side, the port is denoted as the “port#0 on the CM#0 side”, “port#1 on the CM#0 side”, or “port#2 on the CM#0 side”. When it is necessary to identify one of the plurality of ports on the CM#1 side, the port is denoted as the “port#0 on the CM#1 side”, “port#1 on the CM#1 side”, or “port#2 on the CM#1 side”. On the other hand, when any port is referred to, the port is denoted as the “port 13”.
The storage apparatus 10 includes the CA#0 on the CM#0 side and the ports#0 to #2 on the CM#0 side as interfaces for the CM#0 and the CA#0 on the CM#1 side and the ports#0 to #2 on the CM#1 side as interfaces for the CM#1.
The DE 14 is connected to the CM 11 via an access path and includes the plurality (six in the illustrated example) of storage units 140.
The storage unit 140 is a known unit to store data readably and writably and is, for example, Hard Disk Drive (HDD) or Solid State Drive (SSD). These storage units 140 have function configurations similar to each other.
The port 13 is an interface to connect the storage apparatus 10 to an external apparatus (for example, the switch 30). In the example illustrated in
The CA 12 is an interface controller that communicably connects the storage apparatus 10 to the host apparatus 20.
The CM 11 is a control apparatus that exercises various kinds of control and exercises various kinds of control according to a storage access request from the host apparatus 20 (access control signal: hereinafter, referred to as host I/O).
As illustrated in
The memory 130 is a storage unit including Read Only Memory (ROM) and Random Access Memory (RAM). ROM of the memory 130 has programs such as Basic Input/Output System (BIOS) written thereinto. Software programs in the memory 130 are read into the CPU 110 and executed when appropriate. RAM of the memory 130 is used as a primary recording memory or a working memory.
The CPU 110 is a processing unit that performs various kinds of control and operations, and realizes various functions by executing Operating System (OS) and programs stored in the memory 130. That is, as illustrated in
Programs (control programs) to realize the functions as the linkup detector 111, the linkdown detector 112, the port information generator 113, the host information generator 114, the logical volume information generator 115, the access processing information generator 116, the deletion input processing unit 117, the port information deletion unit 118, the host information deletion unit 119, and the logical volume information deletion unit 120 are provided in a form in which such programs are recorded in a computer readable recording medium, for example, a flexible disk, CD (CD-ROM, CD-R, CD-RW and the like), DVD (DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, HD DVD and the like), Blu-ray disk, magnetic disk, optical disk, magneto-optical disk and the like. Then, the computer reads the program from the recording medium via a reader (not illustrated), and transfers and stores the program in an internal recording apparatus or an external recording apparatus for use. Alternatively, the program may be recorded in a recording apparatus (recording medium), for example, a magnetic disk, optical disk, magneto-optical disk or the like to provide the program to the computer from the recording apparatus via a communication path.
When the function as the linkup detector 111, the linkdown detector 112, the port information generator 113, the host information generator 114, the logical volume information generator 115, the access processing information generator 116, the deletion input processing unit 117, the port information deletion unit 118, the host information deletion unit 119, or the logical volume information deletion unit 120 is realized, the program stored in the internal recording apparatus (the memory 130 in the present embodiment) is executed by a microprocessor (the CPU 110 in the present embodiment) of the computer. At this point, a program recorded in a recording medium may be read and executed by the computer.
The linkup detector 111 detects a linkup with the host port 21. More specifically, the user inserts the connector of a link (an FC cable, an interface cable) connected to the host apparatus 20 into the CA port 13. Accordingly, the linkup detector 111 detects a linkup when the link communicably connected to the host port 21 via the switch 30 is connected to one CA port 13 of the plurality of CA ports 13 and the connection is maintained for a first specified time T1 or longer.
Also, the linkup detector 111 enters port information 104 (described below using
The linkdown detector 112 detects a linkdown from the host port 21. More specifically, the user removes the connector of a link (an FC cable, an interface cable) in a linkup state from the CA port 13. Accordingly, when a link in a connected state to the host port 21 via the switch 30 is removed from the one CA port 13 of the plurality of CA ports 13 and the removed state is maintained for a third specified time T3 or longer, the linkdown detector 112 detects a linkdown.
Also, the linkdown detector 112 enters the port information 104 to identify the CA port 13 where a linkdown is detected in the processing target CA port table 107 to manage the ports 13 to be processed. Then, the linkdown detector 112 stores information to constitute the processing target CA port table 107 in, for example, the memory 130. The CPU 110 uses the information stored in the memory 130 to expand the processing target CA port table 107 in the predetermined area of the memory.
In
The port information generator 113 generates the port group table (port group information) 103 containing the port information 104 to identify the CA port 13 where a linkup is detected by the linkup detector 111. Then, the port information generator 113 stores information to constitute the generated port group table 103 in, for example, the memory 130. The CPU 110 uses the information stored in the memory 130 to expand the port group table 103 in the predetermined area of the memory 130.
When predetermined conditions are satisfied, the port information generator 113 enters the port information 104 of each of the plurality of host ports 21 in the port group table 103 as the same group. The case when predetermined conditions are satisfied is a case when the linkup detector 111 detects a linkup with the other port 21 on the host side before a second specified time T2 passes after detecting a linkup with the certain port 21 on the host side.
In the example illustrated in
The host information generator 114 generates the host group table (host group information) 101 containing host information 102 to identify the host port 21 where a linkup is detected by the linkup detector 111. Then, the host information generator 114 stores information to constitute the generated host group table 101 in, for example, the memory 130. The CPU 110 uses the information stored in the memory 130 to expand the host group table 101 in the predetermined area of the memory 130.
When predetermined conditions are satisfied, the host information generator 114 enters the host information 102 of each of the plurality of host ports 21 in the host group table 101 as the same group. The case when predetermined conditions are satisfied is a case when the linkup detector 111 detects a linkup with the other port 21 on the host side before the second specified time T2 passes after detecting a linkup with the certain port 21 on the host side.
In the example illustrated in host response” and “WWN1
host response” are entered in the host group table#0101 as the same group. In the host group table#1101, two pieces of the host information 102 indicated by “WWN2
host response” and “WWN3
host response” are entered as the same group. That is, the host information generator 114 enters the host information 102 of each of the ports#0, #1 of the host apparatus#0 in the host group table#0101 as the same group. Also, the host information generator 114 enters the host information 102 of each of the ports#0, #1 of the host apparatus#1 in the host group table#1101 as the same group.
The logical volume information generator 115 generates the LUN group table (logical volume group information) 105 containing logical volume information 106 to identify logical volumes of all unallocated logical volumes. Then, the logical volume information generator 115 stores information to constitute the generated LUN group table 105 in, for example, the memory 130. The CPU 110 uses the information stored in the memory 130 to expand the LUN group table 105 in the predetermined area of the memory 130. Before the generation of the LUN group table 105 by the logical volume information generator 115, the user defines one or a plurality of Logical Units (LU; Logical Volume) to be allocated to the host apparatus 20.
In the example illustrated in
When predetermined conditions are satisfied, the logical volume information generator 115 enters, in addition to the logical volume information 106 registered in the existing logical volume group table 105, the logical volume information 106 of all newly added and unallocated logical volumes in the LUN group table 105 as the same group. The case when predetermined conditions are satisfied is a case when the linkup detector 111 detects, after the linkdown detector 112 detects a linkdown from the host port 21 whose the access processing information 100 is generated, a re-linkup with the same host port 21.
The access processing information generator 116 generates the access processing table (access processing information) 100 associating the port group table 103, the host group table 101, and the LUN group table 105. Then, the access processing information generator 116 stores information to constitute the generated access processing table 100 in, for example, the memory 130. The CPU 110 uses the information stored in the memory 130 to expand the access processing table 100 in the predetermined area of the memory 130.
In the example illustrated in
The deletion input processing unit 117 has a deletion instruction of the port information 104 or the host information 102 input thereinto. Also, the deletion input processing unit 117 has a deletion instruction of the LUN group table 105 input thereinto. The user inputs a deletion instruction via, for example, Man Machine Interface (MMI) of a control terminal (not illustrated) included in the storage system 1.
The port information deletion unit 118 deletes, when an input into the deletion input processing unit 117 arises, the port information 104 of the host port 21 from which a linkdown is detected by the linkdown detector 112 from the port group table 103.
The host information deletion unit 119 deletes, when an input into the deletion input processing unit 117 arises, the host information 102 of the host port 21 from which a linkdown is detected by the linkdown detector 112 from the host group table 101.
The logical volume information deletion unit 120 deletes the LUN group table 105 when an input into the deletion input processing unit 117 arises and the linkdown detector 112 detects linkdowns from all the host ports 21 connected to the storage apparatus 10. More specifically, the logical volume information deletion unit 120 deletes the LUN group table 105 when the input of a deletion instruction occurs and after a linkdown from the certain port 21 on the host side is detected, linkdowns from all the other ports 21 are detected within a fourth specified time T4.
In examples illustrated in
In
In the state illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
In
In the state illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
In the state illustrated in
The user inserts or removes the connector of a link connected to the CA port 13. Accordingly, as illustrated in
As illustrated in
As illustrated in
As illustrated in
As illustrated in
In the state illustrated in
As illustrated in
The user inputs a deletion instruction into the deletion input processing unit 117 of the port information 104 and the host information 102 of the host port 21 identified by “WWN2”.
As illustrated in
As illustrated in
As illustrated in
In the state illustrated in
As illustrated in
The user inputs a deletion instruction into the deletion input processing unit 117 of the port information 104 and the host information 102 of the host ports 21 identified by “WWN1” and “WWN2”.
As illustrated in
As illustrated in
Because, as illustrated in
Then, as illustrated in
[A-2] Operation
The creation processing of a port group table in CM as an example of the first embodiment configured as described above will be described according to the flow chart (steps S1 to S13) illustrated in
The linkup detector 111 detects a linkup in the one CA port 13, and determines whether the linkup is maintained for the second specified time T2 or longer (step S1).
When no linkup is detected, or the linkup is not maintained for the second specified time T2 or longer (see No route in step S1), the processing terminates.
On the other hand, when a linkup is detected, and the linkup is maintained for the second specified time T2 or longer (see Yes route in step S1), the linkup detector 111 enters the port information 104 of the relevant CA port 13 in the processing target CA port table 107 (step S2).
The linkup detector 111 starts monitoring of the first specified time T1 (step S3).
The linkup detector 111 determines whether the first specified time T1 has timed-out (step S4).
When the first specified time T1 has timed-out (see Yes route in step S4), the port information generator 113 determines whether the port information 104 is entered in the processing target CA port table 107 (step S5).
When the port information 104 is not entered in the processing target CA port table 107 (see No route in step S5), the processing terminates.
On the other hand, when the port information 104 is entered in the processing target CA port table 107 (see Yes route in step S5), the port information generator 113 identifies the port information 104 entered in the processing target CA port table 107 as port group members intended for a setting operation (step S6).
The port information generator 113 searches for the existing port group table 103 in which the identified port group members are defined (step S7).
The port information generator 113 determines whether all the port information 104 as the port group members is undefined in the existing port group table 103 (step S8).
When all the port information 104 is undefined in the existing port group table 103 (see Yes route in step S8), the port information generator 113 newly creates the port group table 103 defining the identified port group members (step S9). Then, the processing terminates.
On the other hand, when some piece of the port information 104 is defined in the existing port group table 103 (see No route in step S8), the port information generator 113 determines whether all the port information 104 is defined in the existing port group table 103 (step S10).
When all the port information 104 is defined in the existing port group table 103 (see Yes route in step S10), the processing terminates.
On the other hand, when a portion of the port information 104 is undefined in the existing port group table 103 (see No route in step S10), the port information generator 113 additionally defines the undefined port information 104 in the existing port group table 103 (step S11). Then, the processing terminates.
In step S4, when the first specified time T1 has not timed-out (see No route in step S4), the linkup detector 111 determines whether a linkup is detected in the other CA port 13 than the CA port 13 where a linkup has been detected, and the linkup is maintained for the second specified time T2 or longer (step S12).
When no linkup is detected in the other CA ports 13, or the linkup is not maintained for the second specified time T2 or longer (see No route in step S12), the processing returns to step S4.
On the other hand, when a linkup is detected in the other CA port 13, and the linkup is maintained for the second specified time T2 or longer (see Yes route in step S12), the linkup detector 111 enters the port information 104 of the other CA port 13 that is newly detected in the processing target CA port table 107 (step S13). Then, the processing returns to step S4.
Next, the creation processing of a host group table in CM as an example of the first embodiment will be described according to the flow chart (steps S21 to S25) illustrated in
The host information generator 114 recognizes WWN acquired from all the CA ports 13 identified by the port information generator 113 as the same host group (step S21).
The host information generator 114 determines whether all WWN belonging to the recognized host group are undefined in the existing host group table 101 (step S22).
When all WWN are undefined (see Yes route in step S22), the host information generator 114 newly creates the host group table 101 defining recognized WWN as a host group member (step S23), and then the processing terminates.
On the other hand, when some WWN is already defined in the existing host group table 101 (see No route in step S22), the host information generator 114 determines whether all WWN belonging to the recognized host group are already defined in the existing host group table 101 (step S24).
When all WWN are defined (see Yes route in step S24), the processing terminates.
On the other hand, when a portion of WWN is undefined (see No route in step S24), the host information generator 114 additionally defines undefined WWN in the existing host group table 101 (step S25), and the processing terminates.
Next, the creation processing of a LUN group table in CM as an example of the first embodiment will be described according to the flow chart (steps S31 to S35) illustrated in
The logical volume information generator 115 searches for unallocated LU that is not associated with any host group (step S31).
The logical volume information generator 115 determines whether all WWN belonging to host group recognized by the host information generator 114 are undefined in the existing host group table 101 (step S32).
If all WWN are undefined (see Yes route in step S32), the logical volume information generator 115 newly creates the LUN group table 105 defining all searched LU as LUN group members (step S33) and the processing terminates.
On the other hand, if some WWN is already defined in the existing host group table 101 (see No route in step S32), the logical volume information generator 115 determines whether all WWN belonging to the host group recognized by the host information generator 114 are already defined in the existing host group table 101 (step S34).
When all WWN are already defined (see Yes route in step S34), the processing terminates.
On the other hand, when a portion of WWN is undefined (see No route in step S34), the logical volume information generator 115 additionally defines all searched LU in the existing LUN group table 105 (step S35), and the processing terminates.
Next, the deletion processing of an access processing table in CM as an example of the first embodiment will be described according to the flow chart (steps S41 to S57) illustrated in
The linkdown detector 112 determines whether a linkup is detected in the one CA port 13, and the linkup is maintained for the fourth specified time T4 or longer (step S41).
When no linkup is detected, or the linkup is not maintained for the fourth specified time T4 or longer (see No route in step S41), the processing terminates.
On the other hand, when a linkup is detected, and the linkup is maintained for the fourth specified time T4 or longer (see Yes route in step S41), the linkup detector 111 enters the port information 104 of the relevant CA port 13 in the processing target CA port table 107 (step S42).
The linkup detector 111 starts monitoring of the third specified time T3 (step S43).
The linkup detector 111 determines whether the third specified time T3 has timed-out (step S44)
When the third specified time T3 has timed-out (see Yes route in step S44), the port information deletion unit 118 determines whether the port information 104 is entered in the processing target CA port table 107 (step S45).
When the port information 104 is not entered in the processing target CA port table 107 (see No route in step S45), the processing terminates.
On the other hand, when the port information 104 is entered in the processing target CA port table 107 (see Yes route in step S45), the port information deletion unit 118 identifies the port information 104 is entered in the processing target CA port table 107 as a deletion target (step S46).
The port information deletion unit 118 searches for the existing port group table 103 in which the identified port information 104 is defined (step S47).
The deletion input processing unit 117 determines whether deletion instruction is input by the user via, for example, MMI of a control terminal (not illustrated) included in the storage system 1 (step S48).
When no deletion instruction is input (see No route in step S48), the processing terminates.
On the other hand, when a deletion instruction is input (see Yes route in step S48), the port information deletion unit 118 determines whether all the identified port information 104 is already defined in the existing port group table 103 (step S49).
When all the port information 104 is defined (see Yes route in step S49), the port information deletion unit 118 deletes the access processing group associated with the identified port information 104 from the access processing table 100 (step S50).
The host information deletion unit 119 deletes the host group corresponding to the deleted access processing group from the host group table 101 (step S51).
The port information deletion unit 118 deletes the port group corresponding to the deleted access processing group from the port group table 103 (step S52).
The logical volume information deletion unit 120 deletes the LUN group corresponding to the deleted access processing group from the LUN group table 105 (step S53), and the processing terminates.
In step S49, when any piece of the port information 104 is undefined in the existing port group table 103 (see No route in step S49), the port information deletion unit 118 determines whether a portion of the port information 104 is already defined in the existing port group table 103 (step S54).
When all the port information 104 is undefined in the existing port group table 103 (see No route in step S54), the processing terminates.
On the other hand, when a portion of the port information 104 is already defined in the existing port group table 103 (see Yes route in step S54), the port information deletion unit 118 deletes the defined port information 104 from the existing port group table 103 (step S55), and the processing terminates.
In step S44, when the third specified time T3 has not timed-out (see No route in step S44), the linkdown detector 112 determines whether a linkdown is detected in the other CA port 13 than the CA port 13 where a linkdown has been detected, and the linkdown is maintained for the fourth specified time T4 or longer (step S56).
When no linkdown is detected in the other CA ports 13, or the linkdown is not maintained for the fourth specified time T4 or longer (see No route in step S56), the processing returns to step S44.
On the other hand, when a linkdown is detected in the other CA port 13, and the linkdown is maintained for the fourth specified time T4 or longer (see Yes route in step S56), the linkdown detector 112 enters the port information 104 of the other CA port 13 that is newly detected in the processing target CA port table 107 (step S57). Then, the processing returns to step S44.
[A-3] Effect
Hereinafter, effects that can be achieved by the CM (connection control apparatus) 11 in an example of the first embodiment described above will be described with reference to the flow charts (steps S61 to S74, S81 to S89) illustrated in
First, the connection control processing in a storage system performed manually by the user as a related technology of the first embodiment will be described and then, the connection control processing in a storage system as an example of the first embodiment will be described.
The user makes zoning settings of WWN for the switch (FC switch) (step S61 in
The user performs an operation to create logical volumes LUN1 to LUN5 on the storage apparatus (storage array apparatus) (step S62 in
The user performs an operation to create a LUN group#1 on the storage apparatus to allocate LUN1 and LUN2 to the LUN group#1 (step S63 in
The user performs an operation to set an FC port parameter#1 on the storage apparatus (step S64 in
The user performs an operation to set an FC host group#1 on the storage apparatus (step S65 in
The user performs an operation to set an FC port group#1 on the storage apparatus (step S66 in
The user performs an operation to set an access processing group#1 on the storage apparatus (step S67 in
The user checks whether the host apparatus#1 recognizes LUN (step S68 in
The user performs an operation to create a LUN group#2 on the storage apparatus to allocate LUN3 to LUN5 to the LUN group#2 (step S69 in
The user performs an operation to set an FC port parameter#2 on the storage apparatus (step S70 in
The user performs an operation to set an FC host group#2 on the storage apparatus (step S71 in
The user performs an operation to set an FC port group#2 on the storage apparatus (step S72 in
The user performs an operation to set an access processing group#2 on the storage apparatus (step S73 in
The user checks whether the host apparatus#2 recognizes LUN (step S74 in
Next, the connection control processing in a storage system as an example of the first embodiment will be described.
The user makes zoning settings of WWN for the switch (FC switch) 30 (step S81 in
The user performs an operation to create logical volumes LUN1 and LUN2 on the storage apparatus (RAID apparatus) 10 (step S82 in
The user connects an FC cable (link) to the CA port 13 (step S83 in
The storage apparatus 10 automatically performs the connection control processing (step S84 in
The user checks whether the host apparatus#1 (host apparatus 20) recognizes LUN (step S85 in
The user performs an operation to create logical volumes LUN3 to LUN5 on the storage apparatus 10 (step S86 in
The user connects the FC cable to the CA port 13 (step S87 in
The storage apparatus 10 automatically performs the connection control processing (step S88 in
The user checks whether the host apparatus#2 (host apparatus 20) recognizes LUN (step S89 in
Thus, the processing “LUN group creation”, “FC port parameter setting”, “FC host group setting”, “FC port group setting”, and “access processing group setting” (steps S63 to S67 in
Accordingly, the procedure for recognition of logical volumes by the host apparatus 20 can be simplified.
According to the CM (connection control apparatus) 11 in an example of the first embodiment described above, for example, the following operation effects can be achieved.
The port information generator 113 generates the port group table 103 containing the port information 104 to identify the CA port 13 where a linkup is detected by the linkup detector 111. The host information generator 114 generates the host group table 101 containing the host information 102 to identify the host port 21 where a linkup is detected by the linkup detector 111. Further, the logical volume information generator 115 generates the LUN group table 105 containing the logical volume information 106 to identify the logical volume of all unallocated logical volumes. Then, the access processing information generator 116 generates the access processing table 100 associating the port group table 103, the host group table 101, and the LUN group table 105.
Accordingly, only by connecting a link to the CA port 13, the storage apparatus 10 is automatically set, and LUN can be recognized from the host apparatus 20, reducing the time and effort of the setting operation by the user.
When predetermined conditions are satisfied, the port information generator 113 enters the port information 104 of each of the plurality of host ports 21 in the port group table 103 as the same group. Also, when predetermined conditions are satisfied, the host information generator 114 enters the host information 102 of each of the plurality of host ports 21 in the host group table 101 as the same group.
Accordingly, the same logical volume can be shared by a plurality of the host apparatuses 20. Also, the host apparatus 20 that can access a logical volume can be defined, and security when the plurality of host apparatuses 20 is connected can be guaranteed. Further, the accessible logical volume can be set for each of the host ports 21.
When predetermined conditions are satisfied, the port information generator 113 enters, in addition to the port information 104 of the acquired host port 21, the port information 104 of the host port 21 newly linked up in the port group table 103 as the same group. Also, when predetermined conditions are satisfied, the host information generator 114 enters, in addition to the host information 102 of the acquired host port 21, the host information 102 of the host port 21 newly linked up in the host group table 101 as the same group.
Accordingly, the logical volume already allocated to the host apparatus 20 can additionally be allocated to the other host apparatus 20.
When predetermined conditions are satisfied, the logical volume information generator 115 enters, in addition to the acquired logical volume information 106, the logical volume information 106 of all unallocated logical volumes newly added in the LUN group table 105 as the same group.
Accordingly, a logical volume can additionally be allocated to the host apparatus 20 to which a logical volume is already allocated.
When an input into the deletion input processing unit 117 arises, the port information deletion unit 118 deletes the port information 104 of the host port 21 where the linkdown detector 112 detects a linkdown from the port group table 103. Also, when an input into the deletion input processing unit 117 arises, the host information deletion unit 119 deletes the host information 102 of the host port 21 where the linkdown detector 112 detects a linkdown from the host group table 101. Further, when an input into the deletion input processing unit 117 arises and the linkdown detector 112 detects linkdowns from all the host ports 21 connected to the storage apparatus 10, the logical volume information deletion unit 120 deletes the logical volume group table 105.
Accordingly, only by removing the link from the CA port 13 and inputting a deletion instruction, the storage apparatus 10 is automatically set, and LUN is released from the host apparatus 20 so that the time and effort of the setting operation by the user can be reduced. In addition, the execution of deletion processing assumes the input of a deletion instruction as a condition and therefore, the deletion of settings of the storage apparatus 10 due to a user's operation error or unexpected power-off can be prevented.
[B-1] System Configuration
When the protocol between the storage apparatus 10 and the host apparatus 20 is Internet Small Computer System Interface (iSCSI), the CM 11 as an example of the second embodiment makes connection settings of iSCSI.
Hereinafter, the same reference sign in diagrams indicates a similar portion and the description thereof is omitted.
The CPU 110 in the CM 11 as an example of the second embodiment, in addition to the function of the CPU 110 in the CM 11 as an example of the first embodiment illustrated in
The protocol determination unit 121 determines the protocol between the storage apparatus 10 and the host apparatus 20. The protocol between the storage apparatus 10 and the host apparatus 20 is, for example, FC, FCoE, SAS, or iSCSI. For example, the protocol determination unit 121 determines whether the protocol between the storage apparatus 10 and the host apparatus 20 is iSCSI. The protocol determination unit 121 determines the protocol when a linkup between the CA port 13 and the host port 21 is maintained for the second specified time T2 or longer. Also, the protocol determination unit 121 determines the protocol when a linkdown occurs between the CA port 13 and the host port 21.
The connection setting unit 122 makes connection settings of iSCSI when the protocol determination unit 121 determines that the protocol between the storage apparatus 10 and the host apparatus 20 is iSCSI. More specifically, the connection setting unit 122 creates management information associating identification information to identify the host apparatus 20 (host port 21) and target information to the CA port 13. Then, the connection setting unit 122 creates a command based on the created management information, and executes the created command to make connection settings to the host apparatus 20.
The identification information is information containing an initiator IP address (described below using
The target information is information containing an iSCSI target name (described below using
The management information is information containing Dynamic Host Configuration Protocol (DHCP) management information (described below using
The DHCP management information is information that associates the initiator IP address and the MAC address of the host port 21 for each of the CA ports 13 of the linkup destination. The DHCP management information is stored in, for example, the memory 130.
The DHCP management table represents DHCP management information in tabular form. The DHCP management table contains CM#, CA#, Port#, the initiator IP address, and the host MAC address as items.
CM#, CA#, and Port# are information to identify the CA port 13 of the storage apparatus 10. For example, “CM#0 CA#0 Port#0” or “CM#1 CA#0 Port#1” is entered in CM#, CA#, and Port#.
The initiator IP address represents an IP address allocated to the host port 21 linked up with each of the CA ports 13. For example, “192.168.10.2” or “192.168.20.2” is entered in the initiator IP address.
The connection setting unit 122 allocates the initiator IP address based on DHCP allocation information described below using
The host MAC address is information to uniquely identify the host port 21 linked up with the CA port 13. For example, “E0CA94C5AD47” or “E0CA94C5AD57” is entered in the host MAC address.
When the storage apparatus 10 and the host apparatus 20 are linked up, the connection setting unit 122 receives a host MAC address sent from the host apparatus 20, and searches for DHCP management information using the received host MAC address as a key. When the received host MAC address is not entered in the DHCP management information, the connection setting unit 122 has the initiator IP address for the host MAC address allocated by a DHCP server 15. On the other hand, when the received host MAC address is entered in the DHCP management information, the connection setting unit 122 reallocates the initiator IP address entered in the DHCP management information for the host MAC address. This is because the initiator IP address is already allocated for the host MAC address, and the initiator IP address is entered in the DHCP management information.
When a linkdown occurs between the storage apparatus 10 and the host apparatus 20, the connection setting unit 122 deletes the host MAC address entered in the DHCP management information.
The DHCP allocation information indicates the range of the initiator IP address allocated to the linked-up host port 21 for each of the CA ports 13. The DHCP allocation information is stored in the DHCP server 15 (described below using
The DHCP allocation table illustrated in
CM#, CA#, and Port# are information to identify the port 13 of the storage apparatus 10. For example, “CM#0 CA#0 Port#0” or “CM#1 CA#0 Port#0” is entered in CM#, CA#, and Port#.
The allocated IP address indicates the range of the IP address that can be allocated to the host port 21 linked up with each of the CA ports 13. For example, “192.168.10.2 to 192.168.10.254” or “192.168.20.2 to 192.168.20.254” is entered in the allocated IP address.
In
The iSNS management information is information to group and manage the one or the plurality of host ports 21 linked up within the second specified time T2 using the iSCSI initiator node name as a key. The iSNS management information is stored in, for example, the memory 130.
The iSNS management table illustrated in
The iSCSI initiator node name is the name to identify the group of the host ports 21 linked up within the second specified time. For example, “ipn.1986-03.com.sun:01:e00000000000.5436ada1” is entered as the iSCSI initiator node name.
The connection setting unit 122 acquires the iSCSI initiator node name from the host apparatus 20, and enters the acquired iSCSI initiator node name in iSNS management information.
The initiator IP addresses 1 to 8 indicate the host ports 21 linked up with the storage apparatus 10. The connection setting unit 122 enters the initiator IP address of the linked-up host port 21 by referring to the DHCP management information as the initiator IP address 1 to 8. For example, “192.168.10.2” or “192.168.20.2” is entered as the initiator IP address 1 to 8.
The iSCSI port parameter management information is information to associate and manage the iSCSI target name, initiator IP address, and target IP address for each of the linked-up ports 13 of the storage apparatus 10.
The iSCSI port parameter management table illustrated in
The port is information to identify the linked-up CA port 13. For example, “CM#0 CA#0 Port#0” or “CM#1 CA#0 Port#0” is entered as the port.
The iSCSI target name is a name to identify the linked-up CA port 13. For example, “iqn.2000-09.com.xxxxxxx-storage-system.yyyyyyy-dxm:00d20215:cm0ca0q0” or “iqn.2000-09.com.xxxxxxx-storage-system.yyyyyyy-dxm:00d20215:cm1ca0q0” is entered as the iSCSI target name.
The connection setting unit 122 acquires the iSCSI target name corresponding to the linked-up CA port 13 from, for example, the memory 130, and enters the acquired iSCSI target name in the iSCSI port parameter information.
The initiator IP address indicates an IP address allocated to the host port 21 linked up with each of the CA ports 13. For example, “192.168.10.2” or “192.168.20.2” is entered as the initiator IP address.
The connection setting unit 122 enters the initiator IP address in the iSCSI port parameter information based on the DHCP management information and the iSNS management information described using
The target IP address indicates an IP address allocated to the CA port 13 linked-up with each of the host ports 21. For example, “192.168.10.1” or “192.168.20.1” is entered in the target IP address.
The connection setting unit 122 enters the target IP address fixed for each of the CA ports 13 in the iSCSI port parameter information.
The connection setting unit 122 makes iSCSI basic settings. In the iSCSI basic settings, the connection setting unit 122 generates a plurality of commands, and executes the generated commands. The connection setting unit 122 performs, for example, setting processing to connect to an iSCSI target. More specifically, the connection setting unit 122 acquires the target IP address from iSCSI port parameter information, generates a command to connect to the iSCSI target, and executes the generated command in the host apparatus 20. The connection setting unit 122 generates, for example, “# iscsiadm add discovery-address 192.168.10.1” as a command to connect to the iSCSI target.
The connection setting unit 122 also makes settings for the target to authenticate the initiator. In the settings for the target to authenticate the initiator, the connection setting unit 122 generates a plurality of commands and executes the generated commands. The connection setting unit 122 performs, for example, enable processing of Challenge-Handshake Authentication Protocol (CHAP). More specifically, the connection setting unit 122 acquires the iSCSI target name from iSCSI port parameter information using the target IP address as a key, generates a command to enable CHAP, and executes the generated command. The connection setting unit 122 creates, for example, “# iscsiadm modify initiator-node-authentication CHAP” and “# iscsiadm modify target-param-a CHAP iqn.2000-09.com.xxxxxxx:storage-system.yyyyyyy-dxm:00d20215:cm0ca0p0” as commands to enable CHAP.
Further, the connection setting unit 122 makes settings for the initiator to authenticate the target. In the settings for the initiator to authenticate the target, the connection setting unit 122 generates a plurality of commands and executes the generated commands. The connection setting unit 122 performs, for example, CHAP authentication setting processing. More specifically, the connection setting unit 122 acquires the iSCSI target name from iSCSI port parameter information using the target IP address as a key, generates a command to set the CHAP authentication of the target, and executes the generated command. The connection setting unit 122 creates, for example, “# iscsiadm modify target-param-authentication CHAP iqn.2000-09.com.xxxxxxx:storage-system.yyyyyyy-dxm:00d20215:cm0ca0p0” and “# iscsiadm modify target-param-authentication CHAP iqn.2000-09.com.xxxxxxx:storage-system.yyyyyyy-dxm:00d20215:cm0ca0p0” as commands to set the CHAP authentication of the target.
[B-2] Operation
The connection setting processing in CM as an example of the second embodiment configured as described above will be described with reference to
The storage apparatus 10 includes, as illustrated in
In the example illustrated in
Also, the port#0 included in CA#0 of CM#1 identified by the target IP address “192.168.20.1” is linked up with the host port 21 identified by the MAC address “E0CA94C5AD57” and the initiator IP address “192.168.20.2”.
First, the CPU 110 performs the creation processing of a port group table described above using
The protocol determination unit 121 determines whether the interface between the storage apparatus 10 and the host apparatus 20 is iSCSI (step S92 in
When the interface is not iSCSI (see No route in step S92 in
On the other hand, when the interface is iSCSI (see Yes route in step S92 in
The connection setting unit 122 determines whether the saved MAC address is already entered in the DHCP management information (step S94 in
When the MAC address is already entered (see Yes route in step S94 in
On the other hand, if the MAC address is not entered (see No route in step S94 in
The connection setting unit 122 updates the DHCP management information (step S97 in
The connection setting unit 122 updates the iSNS management information (step S98 in
The connection setting unit 122 updates the iSCSI port parameter information (step S99 in
The connection setting unit 122 makes iSCSI basic settings (step S100 in
The connection setting unit 122 makes settings for the target to authenticate the initiator (step S101 in
The connection setting unit 122 makes settings for the initiator to authenticate the target (step S102 in
That is, the storage apparatus 10 is remotely connected to the host apparatus 20 to make iSCSI basic settings and authentication settings (reference sign A4 in
Next, disconnection setting processing in CM as an example of the second embodiment will be described according to the flow chart (steps S41 to S57, S111, and S112) illustrated in
The processing illustrated in steps S41 to S57 in
In step S53, the logical volume information deletion unit 120 deletes the LUN group corresponding to the deleted access processing group from the LUN group table 105.
Then, the protocol determination unit 121 determines whether the interface between the storage apparatus 10 and the host apparatus 20 is iSCSI (step S111).
When the interface is not iSCSI (see No route in step S111), the processing terminates.
On the other hand, when the interface is iSCSI (see Yes route in step S111), the connection setting unit 122 releases the initiator IP address allocated to the host port 21 in the DHCP management information (step S112), and the processing terminates.
Next, new connection setting processing in CM as an example of the second embodiment will be described according to a sequence diagram (steps S121 to S138) illustrated in
The linkup detector 111 detects a linkup of the storage apparatus 10 and the host apparatus 20, and the CM 11 performs connection control processing (step S121 in
The connection setting unit 122 of the CM 11 acquires the MAC address of the host port 21 from the host apparatus 20 (step S122 in
The connection setting unit 122 searches for DHCP management information (step S123 in
In the example illustrated in
The connection setting unit 122 makes a request to the DHCP server 15 for the allocation of an initiator IP address to the host port 21 (step S125 in
The DHCP server 15 allocates an initiator IP address to the host port 21 by referring to DHCP allocation information (step S126 in
The connection setting unit 122 enters the MAC address acquired from the host apparatus 20 in the DHCP management information (step S127 in
The connection setting unit 122 enters the initiator IP address allocated to the host port 21 by the DHCP server 15 in the DHCP management information (step S128 in
The connection setting unit 122 requests the notification of an iSCSI initiator node name from the host apparatus 20 (step S129 in
The host apparatus 20 provides notification (response) of the iSCSI initiator node name to the CM 11 (step S130 in
The connection setting unit 122 enters the iSCSI initiator node name notified from the host apparatus 20 in the iSNS management information (step S131 in
The connection setting unit 122 enters the initiator IP address allocated to the host port 21 by the DHCP server 15 in the iSNS management information (step S132 in
The connection setting unit 122 enters the iSCSI target name of the linked-up CA port 13 in the iSCSI port parameter management information (step S133 in
The connection setting unit 122 enters the initiator IP address acquired from the host apparatus 20 in the iSCSI port parameter management information (step S134 in
The connection setting unit 122 enters the target IP address of the linked-up CA port 13 in the iSCSI port parameter management information (step S135 in
The connection setting unit 122 makes iSCSI basic settings between the storage apparatus 10 and the host apparatus 20 (step S136 in
The connection setting unit 122 makes settings for the target to authenticate the initiator between the storage apparatus 10 and the host apparatus 20 (step S137 in
The connection setting unit 122 makes settings for the initiator to authenticate the target between the storage apparatus 10 and the host apparatus 20 (step S138 in
Next, reconnection processing in CM as an example of the second embodiment will be described according to the sequence diagram (steps S141 to S147) illustrated in
The linkup detector 111 detects a linkup between the storage apparatus 10 and the host apparatus 20, and the CM 11 performs the connection control processing (step S141).
The connection setting unit 122 of the CM 11 acquires the MAC address of the host port 21 from the host apparatus 20 (step S142).
The connection setting unit 122 searches for DHCP management information (step S143).
In the example illustrated in
The connection setting unit 122 acquires the initiator IP address corresponding to the MAC address acquired from the host apparatus 20 from the DHCP management information (steps S145 and S146).
The connection setting unit 122 notifies the host apparatus 20 of the initiator IP address acquired from the DHCP management information (step S147), and the processing terminates.
[B-3] Effect
Thus, according to the CM (connection control apparatus) 11 as an example of the second embodiment, the same effect as that of the CM 11 as an example of the first embodiment can be achieved, and also, for example, the following effect can be achieved.
The connection setting unit 122 creates management information associating identification information to identify the host apparatus 20 and target information to the port 13 of the storage apparatus 10. Also, the connection setting unit 122 makes connection settings to the host apparatus 20 by executing a command created based on the management information. Accordingly, basic settings of iSCSI and authentication settings can automatically be made between the storage apparatus 10 and the host apparatus 20 that are linked up.
The protocol determination unit 121 determines the protocol to the host apparatus 20. When the protocol is determined to be iSCSI by the protocol determination unit 121, the connection setting unit 122 makes connection settings to the host apparatus 20. Accordingly, even when there is a plurality of types of interface between the storage apparatus 10 and the host apparatus 20, basic settings of iSCSI and authentication settings can appropriately be made.
The disclosed technology is not limited to each of the above embodiments, and can be carried out in various modifications without deviating from the spirit of each embodiment. Each configuration and each piece of processing of each embodiment can be selected as needed or can be combined as appropriate.
In an example of the first embodiment described above, the CPU 110 manages each type of the access processing information 100, the host group information 101, the port group information 103 and the logical volume group information 105 as a table, but the first embodiment is not limited to such an example. The CPU 110 can manage the access processing information 100, the host group information 101, the port group information 103 and the logical volume group information 105 by using various methods.
According to a disclosed connection control apparatus, the procedure for recognition of a logical volume by a higher-level apparatus can be simplified.
All examples and conditional language recited herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2014-234808 | Nov 2014 | JP | national |
2015-156069 | Aug 2015 | JP | national |