The present application relates to and claims priority from Japanese application No. P2004-290946 filed on Oct. 4, 2004, the content of which is hereby incorporated by reference into this application.
1. Field of the Invention
The present invention relates to technology that controls communication bands between server devices and storage devices connected by a network.
2. Description of the Related Art
In the past, for the connection between server devices and storage devices, there was a great deal of use of storage area networks that use fiber channel protocol (hereafter called “FC-SAN”). With an FC-SAN, there are few types of communication bands that are supported due to the scale of the fiber channel, and it was possible for an administrator to make connections without being very conscious of the server devices or storage devices and the communication band of the network devices that connect these.
However, in recent years, the market needs are shifting from the FC-SAN to a storage area network that uses a general use internet protocol (hereafter called “IP-SAN”) (see U.S. patent No. U.S. 2004/0010605 A1). With an IP-SAN, rather than using a fiber channel for the connection between server devices and storage devices, an IP network that has a very high number of communication band variations is used. Because of this, when each device is connected as with the prior art FC-SAN, for example with a narrow band for the communication band of the server device and storage device, there were cases of band allocation mismatch occurring when viewed as the overall IP-SAN, such as cases of the communication band within the IP network between these becoming a broad band, etc.
When a mismatch of allocation for the communication band occurs as described above, there are cases when the band is insufficient for communication between the server device and storage device, and due to a dependency on narrow band circuits, there were also cases when it was not possible to effectively make use of broad band circuits. This kind of problem was not limited to IP-SAN, but was a problem also common to FC-SAN when the band types were increased as well as other storage area networks.
The present invention was created taking into consideration the problems noted above, and its purpose is to execute efficient data transfer for storage area networks on which many communication band variations exist.
Considering the purpose noted above, the key points of the band controller of the present invention are that it is a band controller that controls the communication band between a server device and a storage device connected by a network, wherein the server device establishes a plurality of sessions which are logical communication routes to the storage device via network routes that differ for each session, and comprises: a bandwidth information acquisition unit that acquires bandwidth information relating to the communication band used by the session for each of the sessions, a detection unit that detects insufficient band sessions for which the communication band is insufficient, and a band allocation unit that, for the insufficient band sessions, allocates at least part of the communication band of the network route used by another session selected based on a specified index used for allocation of band.
With the band controller of the present invention, when the communication band of a session established between a server device and storage device is insufficient, it is possible to allocate communication band of the network route used by another session. Therefore, even for a storage area network on which a large number of communication band variations exist, it is possible to efficiently transfer data between server devices and storage devices.
For a band controller with the structure noted above, it is also possible to have the detection unit judge that the communication band of the session is insufficient when the communication band of at least part of the circuits in a network route used by the session is a communication band that is narrower than the circuits of other parts.
With this kind of structure, it is possible to allocate band to sessions for which there are parts with band mismatch on the network route.
For a band controller with this structure, it is also possible to have the band information acquisition unit further comprise a supported band information acquisition unit that acquires information relating to the communication bands supported by each device from the server devices and the storage devices and the network devices that are interposed within the network, and for the detection unit to detect circuits with the narrow communication bands based on information acquired by the supported band information acquisition unit.
It is also possible to have the band information acquisition unit further comprise an actually measured band information acquisition unit that acquires information relating to the actually measured values of the communication band for each device from the server devices and the storage devices and the network devices that are interposed in the network, and to have the detection unit detect circuits of the narrow communication band based on the information acquired by the actually measured band information acquisition unit.
With this kind of structure, it is possible to easily detect sessions for which the communication band is insufficient. Note that it is also possible to detect circuits with narrow communication band based on both the communication bands supported by each device and the actually measured values of the communication band.
For a band controller of the structure noted above, it is also possible to have the detection unit comprise a means of notifying the administrator of information relating to the insufficient band sessions when the insufficient band sessions are detected.
With this kind of structure, it is easy for the administrator to judge whether or not to perform communication band allocation. The information relating to insufficient band sessions can be, for example, information displayed on a monitor, or can be notified by voice.
For the band controller of the structure noted above, it is possible to have the specified index noted above indicates importance preset for each of the sessions, for the band information to include information that shows this importance, and for the band allocation unit to has a means of selecting another of the sessions based on the information. Or, it is also possible to have the specified index noted above be the use-rate of the network route used by each of the sessions, to include information that shows this use-rate in the band information, and to have the band allocation unit comprise a means of selecting another of the sessions based on this use-rate.
With this kind of structure, for example, it is possible to allocate the communication band of sessions with low importance or sessions with a low use-rate to sessions for which the band is insufficient.
For the band controller of the structure noted above, it is also possible to have the sessions be established between the application executed by the server device and the logical volume within the storage device that is the access point of that application, and for the band allocation unit to comprise a means of switching the access point of another session to the access point of the insufficient band session when allocating communication band to the insufficient band session.
With this kind of structure, it is possible to have the sessions that receive band allocation access the same logical volume as before allocation using the newly allocated communication band.
Note that for the present invention, in addition to the structures as the band controller described above, it is also possible to use a structure, for example, of a band control method or a computer program that controls communication band between the server devices and storage devices connected by a network. This computer program can be realized within a carrier wave as data signals, or can be recorded on a recording medium that can be read by a computer. As the recording medium, it is possible to use a CD-ROM, flexible disk, photo magnetic disk, or DVD, etc.
Following, we will explain in the following sequence embodiments of the present invention based on working examples.
A. Overall Structure of the Computer System:
The work server 100 is a general purpose computer that executes various work applications, and comprises a CPU 110, a memory 120, a disk device 130, a bus interface 140, a monitor 150, and three physical ports P01, P02, and P11. The physical port P01 and physical port P02 respectively support 5 Gbps communication bands, and are connected via an IP network to the physical ports P03 and P04 of the router 300. Also, the physical port P11 is connected to the physical port P15 of the band controller 500 via a specified communication circuit.
The router 300 is a network relay device that transfers received network packets to the optimal route according to its destination, and comprises a CPU 310, a memory 320, a bus interface 340, and four physical ports P03, P04, P05, and P12. Of the four physical ports, the physical port P03 and the physical port P04 each respectively support a 5 Gbps communication band, and are connected to the physical ports P01 and P02 of the work server 100 via an IP network. In contrast to this, the physical port P05 supports a 10 Gbps communication band, and is connected to the physical port P06 of the router 400 via an IP network. Also, the physical port P12 is connected to the physical port P15 of the band controller 500 via a specified communication circuit.
Like with the router 300, the router 400 also comprises a CPU 410, a memory 420, a bus interface 440, and four physical ports P06, P07, P08, and P13. Of these, the physical port P06 supports a 10 Gbps communication band, and is connected to the physical port P05 of the router 300 via an IP network. In contrast to this, the physical ports P07 and P08 respectively support 5 Gbps communication bands, and are connected to the physical ports P09 and P10 of the storage device 200 via an IP network. Also, the physical port P13 is connected to the physical port P15 of the band controller 500 via a specified communication circuit.
The storage device 200 is a device for storing data transferred from the work server 100 via an IP network, and it comprises a CPU 210, a memory 220, a large capacity disk device 230 and 235, a bus interface 240, and three physical ports P09, P10, and P14. Of the three physical ports, the physical ports P09 and P10 respectively support 5 Gbps communication bands, and are connected to the physical ports P07 and P08 of the router 400 via an IP network. Also, the physical port P14 is connected to the physical port P15 of the band controller 500 via a specified communication circuit.
The band controller 500 is a general purpose computer that comprises a CPU 510, a memory 520, a disk device 530, a bus interface 540, a monitor 550, and a physical port P15, and is a device for controlling the communication band of iSCSI sessions that are established between the work server 100 and the storage device 200. The physical port P15 is connected to all devices described above via a specified communication circuit such as an IP network, an RS-232C, or a public circuit network, etc.
With this working example, the application AP1 establishes an iSCSI session called “session 1” between the logical volume LV1 within the storage device 200. Also, the application AP2 establishes an iSCSI session called “session 2” between the logical volume LV2. The data that is sent and received by the session 1 flows within a network route formed by the physical port P01, the physical port P03, the physical port P05, the physical port P06, the physical port P07, and the physical port P09. Also, the data that is sent and received by the session 2 flows within a network route formed by the physical port P02, the physical port P04, the physical port P05, the physical port P06, the physical port P08, and the physical port P10. Specifically, each of the iSCSI sessions are established via a different network route between the work server 100 and the storage device 200. Note that for the two network routes, if all of the routes are not completely matched, even if part overlaps, it can be said that the two network routes are different.
The iSCSI drivers of the work server 100 and the storage device 200 respectively manage the map information that defines the relationship between the iSCSI session and the physical port that is used by that session. For example, in the map information MP1 managed by the work server 100, it is defined that the session 1 uses the physical port P01 and the session 2 uses the physical port P02. Also, it is defined in the map information MP2 that is managed by the storage device 200 that the session 1 uses the physical port P09 and the session 2 uses the physical port P10. This map information is stored in the memory of each device or inside a disk device.
The work server 100, the storage device 200, and the routers 300 and 400 hold the interface (F) information in the memory of each or within the disk device. The IF information is information that relates to the network interface on which the physical port is mounted, and contains information such as the number of physical ports, the physical port number, the maximum communication band supported by that physical port, the current circuit use-rate, and the physical port link status (up/down), etc. Each device, by executing the internal program, always monitors these pieces of information, and updates the IF information.
Installed inside the disk device 530 of the band controller 500 is a program for adjusting the communication band of each of the iSCSI sessions established between the work server 100 and the storage device 200. The CPU 510 functions as the illustrated information acquisition unit 511, the insufficient band detection unit 512, and the band allocation unit 513 by executing this program.
By using the SNMP protocol, the information acquisition unit 511 has a function of acquiring from the work server 100, the storage device 200, and the routers 300 and 400 the respective map information and IF information and default gateway definition information, etc. The insufficient band detection unit 512 has a function of detecting whether or not insufficient band has occurred for each iSCSI session based on the various pieces of information acquired in this way. The band allocation unit 513 has a function of allocating the communication band of the network route used by another iSCSI session to an iSCSI session for which a band insufficiency has occurred by giving an instruction to each iSCSI driver.
B. Various Tables Managed by the Band Controller:
Next, we will explain the various tables that are generated and managed based on information acquired from each device by the band controller 500. Each of the tables shown below is stored in the memory 520 of the band controller 500 or the disk device 530.
C. Process Executed by the Band Controller:
The band controller 500 acquires from the iSCSI driver that the work server 100 and the storage device 200 have information that shows the relationship between the application and the iSCSI session, and also acquires information that shows the importance level of applications or iSCSI sessions set in advance by the administrator. At this time, when it is not possible to acquire the information that shows the importance level, it is also possible to make a notification to the administrator to urge setting of the importance level. Then, the band controller 500 generates the application table AT shown in
Next, the band controller 500 generates the port table PT shown in
Furthermore, the band controller 500 acquires IF information from all the devices within the computer system 1000, and based on this IF information, generates the band table BT shown in
The band controller 500 generates the band management table MT shown in
Next, the band controller 500 detects an iSCSI session for which the communication band is insufficient (hereafter called an “insufficient band session”) based on the band management table MT generated with step S180 noted above (step S190). Whether or not the communication band is insufficient is determined as follows. Specifically, for the network route on which the iSCSI session is established, when there are circuit parts for which there is a band difference (gap) greater than a specified threshold value (e.g. 3 Gbps) with another circuit band, in other words, when there is a circuit part that becomes a bottleneck, and furthermore, the use-rate of the circuit that is a bottleneck is greater than a specified threshold value (e.g. 80%, etc.), that iSCSI session is judged to have insufficient band. For example, with the band management table MT shown in
As a result of the detection of step S190 noted above, when an insufficient band session is not detected (step S200: No), the process returns to the aforementioned step S120. Meanwhile, when an insufficient band session is detected (step S200: Yes), for this insufficient band session, a candidate is selected to be an iSCSI session that performs communication band allocation (hereafter called a “band allocation session”) (step S210). With this process, of the iSCSI sessions which have an importance level or circuit use-rate that is lower than the insufficient band session, an iSCSI session which can access the same logical volume as the access point of the insufficient band session, in other words, an iSCSI session that accesses the same storage device as the insufficient band session, is selected.
Next, the band controller 500 notifies the administrator by making a display on the monitor 550 to the effect that an insufficient band session has occurred (step S220). Note that this notification may also be made by voice.
We will return to
Next, the band controller 500 judges whether or not the use-rate of the physical port on the network route used by the band allocation session is lower than a threshold value preset by the administrator (e.g. 70%) (step S250). When lower than the threshold value, the physical port used by the band allocation session is opened to the insufficient band session (step S260), and when it is over the threshold value, opening is stopped (step S270). Note that with this process, rather than the physical port use-rate, it is possible to set as the threshold value, for example, the time that a band allocation session is able to occupy a physical port with its own communication. In this case, when the threshold value is exceeded, the physical port is opened to the insufficient band session. The band controller 500 repeatedly executes the band control process routine explained above.
D. Process Executed by the Work Server and Storage Device:
Next, when the work server 100 and the storage device 100 receive a request for band allocation from the band controller 500 (step S320), part or all of the network route used by the band allocation session is allocated to the insufficient band session (step S330). When there is a specification of the circuit capacity allocated from the band controller 500, band is allocated according to that specification. Then, the access point of the band allocation session is switched to the access point of the insufficient band session (step S340). At this time, if security settings such as LUN masking processing are required, the work server 100 and the storage device 200 perform these together. The work server 100 and the storage device 200 repeatedly execute the process explained above.
With the band controller 500 and the computer system 1000 of this working example constructed as described above, even if there is a part for which the communication band does not match within the IP network, it is possible to dynamically allocate the communication band of the network route used by another iSCSI session to an iSCSI session for which the communication band is insufficient. Therefore, it is possible to make effective use of broad band circuits within an IP network, and also to increase the overall processing capability of the computer system 1000, and to perform effective transfer of data. Also, the server device 100 and the storage device 200 may perform band adjustment for each session according to instructions from the band controller 500, and since it is not necessary to perform complicated processing for band adjustment, it is possible to attempt to make suitable the processing share for the overall computer system 1000.
Above, we explained a working example of the present invention, but the present invention is not limited to the working examples, and it goes without saying that a variety of embodiments may be implemented in a scope that does not stray from the key points of the present invention. For example, the selection of the band allocation session was performed based on the iSCSI session importance level and the physical port use-rate, but it is also possible to make a selection based on other parameters.
Also, with the working examples noted above, we assumed a case when the session 1 and the session 2 both have 5 Gbps of communication band between the work server 100 and the router 300, but for actual operation, there does not necessarily have to be equivalent band design. Therefore, when selecting a band allocation session, rather than judging simply based on whether or not that iSCSI session can access the target logical volume, the band controller 500 can also select an iSCSI session that has a more suitable band from among multiple iSCSI session candidates.
Also, with the working examples noted above, examples were listed of cases when there is broad band within the IP network, but it is also possible to have a case of narrow band within the IP network while there is broad band on the work server 100 side and the storage device 200 side. In such a case, it is also possible to have the circuit that is a bottleneck within the IP network be detected automatically, and to secure the band required for this, to dynamically change the physical port within the IP network by giving specified commands to the routers 300 and 400. It is possible to change the allocation of the physical port by accessing the routers, for example, using a protocol such as TELNET, HTTP, or SNMP, or using a router specific protocol, or by changing the device setting (configuration), etc.
Also, with the working examples noted above, the band controller 500 was explained as being an independent device, but it is also possible to have it incorporated within the work server 100, the storage device 200, or the routers 300 or 400. Also, with the working examples noted above, the work server 100 and the storage device 200 are connected by an IP-SAN, but it is also possible to connect them by an FC-SAN.
Having described a preferred embodiment of the invention with reference to the accompanying drawings, it is to be understood that the invention is not limited to the embodiments and that various changes and modifications could be effected therein by one skilled in the art without departing from the spirit or scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2004-290946 | Oct 2004 | JP | national |