CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation of application Ser. No. 10/898,365, filed Jul. 26, 2004, and now allowed, which claims the benefit of priority Japanese Patent Application No. 2004-074749, filed Mar. 16, 004, the contents of which are incorporated herein by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to a storage management system and method, and in particular to a storage management system and method which virtualizes a plurality of storage devices distributed over a network to be managed.
Together with recent highly advanced communication technologies, enormous amounts of information such as storage data are transmitted between a host (application server or user) and one or more storage devices. For this transmission, storage virtualization technology of managing one or more storage devices distributed and arranged over the network as a virtualized single storage device has become the more important.
2. Description of the Related Art
Development of Storage Area Network (SAN)A DAS (Direct Attached Storage) configuration in which an application server (host) directly connects a storage device such as a disk device or tape drive device to the server itself was conventionally mainstream.
However, in recent years, a SAN technology has been developed by which a plurality of storage devices are connected to the application server through a network and storage devices with large capacity are provided to the server. In this SAN technology, a fiber channel (FC) protocol is generally used as a communication protocol between the application server and the storage devices.
A SAN-specific network device such as an FC switch which switches data transferred by e.g. the FC protocol is also generally used. However, the FC-based network device is more expensive compared with a device for a LAN. For this reason, the SAN has less widespread.
Debut of IP-SANAmong the communication protocol between the application server and the storage devices in the SAN, some protocols having more affinity for IP have made their debuts in recent years, instead of the FC protocol. One of the protocols especially noticed is an iSCSI (SCSI protocol over the Internet) protocol.
This iSCSI protocol prevents a SCSI (Small Computer Systems Interface) command system from being observed from outside by capsuling a SCSI command, which is a standard of a storage field, and the data with a TCP/IP packet, and enables the storage data to be transferred on an IP network. This protocol enables the storage devices to be directly connected to the IP network.
As a result, a conventional hub, router, switch and the like structuring the LAN/WAN can be used for transferring the storage data, so that a reduction of a facility cost and a management cost by integrating the SAN and the LAN is expected.
Furthermore, the iSCSI protocol has the following advantages (1)-(3):
- (1) The application server can read and write data in the same procedure as a conventional procedure for accessing a local storage device without awareness of the iSCSI protocol;
- (2) Reading from/writing to a disk is performed per block data in the same way as the conventional SAN, so that a file system such as a NAS (Network Attached Storage) is not required on the storage side;
- (3) At present, a transfer rate (1 Gbps) of a gigabit Ethernet does not differ very much from a transfer rate (1 Gbps) of the fiber channel-based SAN. However, since it can be considered that a 10 Gbps Ethernet or a higher-speed Ethernet standard makes its debut in the future, further improvements of transfer performance can be expected.
Storage VirtualizationAlso, “storage virtualization technology” has made its debut in recent years.
FIG. 17 shows this storage virtualization technology. Astorage management device500, application servers600_1-600_3 (hereinafter, occasionally represented by a reference numeral600), a plurality of storage devices such as disk arrays300_1,300_2, and a tape device300_3 (hereinafter, occasionally represented by a reference numeral300) are mutually connected through a SAN640.
A plurality of storage devices can be used as a single virtualized storage (storage pool)350 by the storage virtualization technology.
By a manual setup (see T10) from thestorage management device500, a system manager can divide the virtualizedstorage350 into e.g. virtualized storage spaces351-354, can perform pool assignment of the spaces351-353 respectively to the servers (hosts)600_1-600_3, and can leave the space354 unassigned.
Namely, the virtualizedstorage pool350 is prepared by a network connection of the storage devices300_1-300_3, for example, of a plurality of vendors, so that a physical arrangement of thestorage devices300 can be concealed from the server (or system manager)600. Also, it becomes possible to flexibly assign and rearrange a storage space independent of the physical arrangement of thestorage device300.
There are some methods for the storage virtualization technology depending on where a conversion/association between the virtualized storage space and an actual storage space is performed.
As a general method, there is a method of performing the conversion/association by a virtualization software within theapplication server600. In this method, a volume management software installed in theapplication server600 executes the management/assignment of the virtualizedstorage pool350. Also, as for the setup/management of the storage virtualization, a method that the system manager inputs/sets up a disk capacity or the like required as a virtual volume on the software is generally adopted, as shown inFIG. 17.
Also, there is a storage management system by which a SAN manager easily performs an arrangement optimization by rearranging the storage space in a plurality of storage devices in a SAN environment (see Patent Document 1).
- [Patent document 1] Japanese Patent Application Laid-open No. 2003-140836
Problem (1): Deterioration of Network Transfer PerformanceFIG. 18 shows a deterioration example (1) of a network transfer performance, and shows a network in which the storage devices are virtualized in the same way asFIG. 17. Clients610_1-610_4 and servers (hosts)600_1 and600_2 (hereinafter, occasionally represented by a reference numeral600) ofFIG. 18 correspond to theserver600 ofFIG. 17. Thedisk array300 ofFIG. 18 and other storage devices (not shown) correspond to the storage devices300 (disk arrays300_1 and300_2, and tape device300_3) ofFIG. 17. An IP-SAN network640 composed of routers/switches400_1-400_4 ofFIG. 18 corresponds to the SANnetwork640 ofFIG. 17.
In this network, the clients610_1,610_2, and the server600_1 belong to a department (business operation)620_1, while the clients610_3,610_4, and the server600_2 belong to a department620_2.
The virtualized storages350_1 and350_2 composed of thedisk arrays300 and the like are respectively assigned to the departments620_1 and620_2.
When the storage virtualization technology is thus introduced on the IP-SAN network640, storage data between the hosts and the storage devices coexist on the IP-SAN network640 to be transferred.
Namely, the storage data between different hosts and different storage devices flow on the same link on the IP-SAN network640. Thus, a shortage of a bandwidth necessary for the storage data transfer and a transfer delay occur (see fault T20), so that the network transfer performance deteriorates.
FIG. 19 shows a deterioration example (2) of the network transfer performance. InFIG. 19, the IP-SAN network640 is connected to a WAN650. In this case, not only the storage data (traffic) between the host and the storage devices, but also normal data (traffic) such as normal voice and Web transferred between the host and theWAN650 flow on the IP-SAN network640.
Namely, the normal data and the storage data coexist on the link to be transferred. As a result, congestion, a transmission delay and a bandwidth shortage caused by the congestion occur on the IP-SAN network640, so that the transfer performance deteriorates (see faults T30 and T31).
When a storage redundancy method of RAID (Redundant Arrays of Independent Disks) 5 or the like is applied in this state with a plurality of storage devices distributed over the network using the virtualization technology, for example, a rate reduction of reading/writing data occurs due to the deterioration of the network transfer performance.
Problem (2): Complicated Virtual Storage ManagementWhen the virtual volume is prepared for the host (server) with the storage virtualization technology, it is required to appropriately determine a used space of disk from the storage devices distributed over the network for a disk capacity required by the host. Namely, it is required to determine a disk space based on a disk utilization and an available space within thestorage device300. By the virtualization method presently performed, a manger estimates an available status of a disk and determines a disk capacity used for the virtual volume and thestorage device300, so that an immediate virtualization is impossible.
Furthermore, in order to perform the virtualization on the IP-SAN network640, as already mentioned, it is required to determine an appropriate transfer path of the storage data based on a position of a selected disk (storage device) and the usage (utilization) state of the IP-SAN network640. Also, it is required to set up the determined path in the host and the network device. The manual setup by a manager is a very complicated operation, so that an immediate path determination and its setup are difficult. The path determination and the path setup are not mentioned in the storage management system shown in the above-mentionedpatent document 1.
SUMMARY OF THE INVENTIONIt is accordingly an object of the present invention to provide a storage management system and method which virtualizes a plurality of storage devices distributed over a network to be managed, wherein a storage virtualization and a storage data path are set up so that storage data transfer performance may not deteriorate.
In order to achieve the above-mentioned object, a storage management system according to the present invention comprises: one or more network devices; one or more hosts and storage devices connected with storage data paths (sessions/connections) on a network composed of the network devices; and a storage management server connected to the network devices, the hosts, and the storage devices; the storage management server having a storage state manager which manages a storage usage state in each storage device, a network state manager which manages a traffic state of the network by monitoring each network device, and a path searching/setup portion which determines the storage data path to be set up in the network device based on the storage usage state and the traffic state.
FIG. 1 shows an operation principle of the storage management system according to the present invention. It shows an IP-SAN network640 composed of one or more network devices400_1-400_4 (hereinafter, occasionally represented by a reference numeral400), ahost200 and storage devices300_1 and300_2 (hereinafter, occasionally represented by a reference numeral300) connected to thenetwork640, and astorage management server100 connected to thenetwork devices400, thehost200, and thestorage devices300. Thehost200 is connected to thestorage devices300 with storage data paths (iSCSI sessions inFIG. 1)700_1 and700_2 on thenetwork640. Thestorage management server100 is provided with astorage state manager12, anetwork state manager14, and a path searching/setup portion13.
Thestorage state manager12 is connected to eachstorage device300 and manages a usage state (e.g. individual disk capacity and utilization of storage device) of eachstorage device300.
Thenetwork state manager14 is connected to eachnetwork device400, and manages a traffic state (e.g. available bandwidth and traffic used amount of transmission link) of the storage data paths700_1 and700_2, etc. by monitoring eachnetwork device400. The path searching/setup portion13 determines a path based on the usage state and the traffic state so that the storage data transfer performance does not deteriorate, and sets up the determined path in thenetwork device400.
Thus, it becomes possible to determine the storage data path corresponding to the usage state of the storage device and the traffic state of the network, and to set up the path in the network device (e.g. switch). Namely, it becomes possible to set up a storage data transfer path so that the storage data transfer performance, which is a management object, concerning thehost200 may not deteriorate.
Also, in the present invention according to the above-mentioned invention, the storage management server may be further provided with a virtual storage manager/controller selecting a storage space suitable for a storage capacity requested from the host or a system manager based on the storage usage state, and the path searching/setup portion may determine the storage data path based on the selected storage space and the traffic state.
Namely, inFIG. 1, thestorage management server100 is further provided with a virtual storage manager/controller11, which selects a storage space, e.g. the storage device or a disk device, suitable for a storage capacity requested from the host or a system manager, based on the storage usage state of each storage device, e.g. a disk device usage state within the storage device. The virtual storage manager/controller provides the selected storage space to the path searching/setup portion. It is to be noted that the selected storage space is distributed over a plurality of storage spaces (storage devices) in some cases.
The path searching/setup portion determines the storage data path based on the storage space instead of the storage usage state and the above-mentioned traffic state.
Thus, the virtual storage manager/controller may select a storage space used and provide it to the path searching/setup portion.
Also, in the present invention according to the above-mentioned invention, the storage usage state may comprise a used bandwidth of a link or a number of communication channels.
Namely, the path searching/setup portion13 may introduce a logic in which the storage traffic does not concentrate on a specific path in consideration of the network state, monitor/control e.g. the used bandwidth on the link, select a link with much available bandwidth, and determine a path.
Also, the path searching/setup portion13 may count e.g. the number of communication channels (sessions) of the iSCSI which is a storage transfer protocol on an IP network as the storage traffic state on the path (link), select a link on which the number of sessions (communication channels) is small, and determine the storage data path.
Thus, it becomes possible to determine a path by which the storage data transfer performance does not deteriorate.
Also, in the present invention according to the above-mentioned invention, when determining a storage data path of a single host, the path searching/setup portion may monitor a path usage state of another host as the traffic state, and may determine the storage data path of the host based on the traffic state.
Namely, when determining a storage data path of a single host (e.g. VLAN user when the network is VLAN), the path searching/setup portion monitors a path (link) usage state of another host as the traffic state of the network. The path searching/setup portion selects a path not used by other hosts by preference and determines it as the storage data path of the single host. Thus, it becomes possible to determine the storage data path of the single host in which the storage data transfer performance does not deteriorate.
Also, in the present invention according to the above-mentioned invention, the virtual storage manager/controller may notify the selected storage space and the determined storage data path to the host. Thus, it becomes possible to assign the storage space corresponding to the usage state of the storage device and the storage data path corresponding to the traffic state to the host.
Also, in the present invention according to the above-mentioned invention, the path searching/setup portion may prestructure a plurality of spanning trees between the host and the storage device, and may select the storage data path from among the spanning trees based on a number of iSCSI sessions or hops of the spanning trees upon a storage capacity request from the host.
Namely, the path searching/setup portion prestructures a plurality of spanning trees between the host and storage device. The path searching/setup portion selects the storage data path, in which the storage data transfer performance does not deteriorate, from among the spanning trees based on a number of iSCSI sessions or hops of the spanning trees between the host and the storage device upon a storage capacity request from the host.
Also, in the present invention according to the above-mentioned invention, the path searching/setup portion may notify the determined storage data path to the host. Thus, it becomes possible for thehost200 to transmit/receive the storage data to/from the storage space through the path set up in eachnetwork device400.
Also, in the present invention according to the above-mentioned invention, when a plurality of storage spaces are selected, the path searching/setup portion may select a storage data path by which a deviation of a delay time of the storage data paths connecting the host to the selected storage space is reduced. Thus, it becomes possible to equalize data transfer delay times of the storage data paths connecting the storage spaces (storage devices) to the host.
Also, in the present invention according to the above-mentioned invention, the storage data path may be determined by a VLAN or an MPLS system. Thus, the storage data path can be made a virtual path.
Also, in the present invention according to the above-mentioned invention, the network device may comprise an IP network device. Thus, it becomes possible to structure an IP storage network.
Also, in the present invention according to the above-mentioned invention, when a fault occurs or a fault occurrence is predicted respectively in the storage device and the network device, the path searching/setup portion may search and determine, based on the storage usage state and the traffic state, a substitute storage for a storage space in the storage device in which the fault occurs or the fault occurrence is predicted, or may search and determine a substitute path for a storage data path related to the network device in which the fault occurs or the fault occurrence is predicted.
Namely, when a fault occurs or a fault occurrence is predicted in the storage device, the path searching/setup portion may search and determine, based on the storage usage state and the traffic state, a substitute storage for a storage space in the storage device in which the fault occurs or the fault occurrence is predicted. Also, when a fault occurs or a fault occurrence is predicted in the network device, the path searching/setup portion may search and determine, based on the storage usage state and the traffic state, a substitute path for a storage data path related to the network device in which the fault occurs or the fault occurrence is predicted.
Thus, when there is a possibility that a fault occurs or a fault occurrence is predicted in the storage device and the network device, it becomes possible to switch over the storage space and the storage data path to a substitute storage space and storage data path respectively at a high speed.
It is to be noted that in the present invention various kinds of conventional technologies can be applied as means of detecting or predicting a fault occurrence in the storage device and the network device.
Also, in the present invention according to the above-mentioned invention, the host may be provided with a virtualization mapper providing a storage space allocating request to the storage management server, and associating a storage space replied to the storage space allocating request with a virtual storage, and a path information setup portion setting up path information of the storage data path in storage data so that the storage data may be transmitted through the storage data path replied to the storage space allocating request.
InFIG. 1, thehost200 is provided with avirtualization mapper31 and a path information setup portion (VLANinformation setup portion33 inFIG. 1). Thevirtualization mapper31 transmits a storage space allocating request which requests the storage from thestorage management server100. This storage space allocating request includes e.g. a disk capacity assignment request upon the initial setup, an additional capacity assignment request during operation, a capacity assignment request upon fault occurrence, or the like required by the host. Furthermore, the storage space allocating request can also include a path setup request and its priority.
For the storage space allocating request, a storage space (e.g. address information of logical volume and information of used space) and storage data path (e.g. path designated by path information such as VLAN ID) are replied from thestorage management server100. Thevirtualization mapper31 associates the storage space (logical volume) with the virtual space (virtual volume). The pathinformation setup portion33 sets up the path information (e.g. VLAN tag) of the storage data path in the storage data so as to transfer the storage data through the storage data path.
The above-mentioned associating function is regarded as a virtualization setup function of the storage management server for structuring a virtualized storage area network concerning the host. Namely, it becomes possible for the storage management server to set up (notify), to the host, a virtualization information of the logical volume (or actual volume) determined to be used for the virtual volume according to the request from the host, and for the host to access the virtual volume (storage device distributed and arranged over the network) based on the virtualization information.
It is to be noted that the above-mentioned path information may comprise a tag. Namely, by assigning e.g. a VLAN tag to the storage data, the storage data are transferred through the storage data path designated by the tag.
Also, the present invention according to the above-mentioned invention further comprises a SCSI controller converting the storage data into SCSI data. This SCSI controller converts the SCSI data into an iSCSI packet, and sets up an iSCSI session for transferring the iSCSI on an IP network. Thus, the virtualization mapper can associate the iSCSI session with the virtual storage.
InFIG. 1, thehost200 is further provided with aSCSI controller32, which sets up iSCSI sessions700_1 and700_2 on the storage data path (e.g. VLAN network660). Thevirtualization mapper31 associates the storage space (logical volume) with the iSCSI session by e.g. a logical volume information table. Thus, it becomes possible to transmit the storage data through the iSCSI session. As mentioned above, it becomes possible to structure the virtualized storage network on the IP network, and to transmit the storage data by using the iSCSI session.
Also, the present invention according to the above-mentioned invention further comprises a RAID controller realizing a RAID function between a plurality of logical storage spaces.
Namely, inFIG. 1, thehost200 is further provided with aRAID controller34, which enables a RAID function of controlling a redundancy disk configuration between a plurality of logical storage spaces (e.g. disks) used for the virtual storage (virtual volume).
Namely, it becomes possible to assign disks within a plurality of storage devices distributed over the network as redundancy disks to the virtual volume.
Furthermore, in the present invention according to the above-mentioned invention, when a fault occurs in the storage device, the RAID controller may notify the fault to the storage management server. By this fault notification, the storage management server can perform a function of assigning a substitute storage space for a storage space in which a fault has occurred.
Furthermore, in the present invention, in a storage management method of a storage management system comprising one or more network devices, one or more hosts and storage devices connected with storage data paths (sessions/connections) on a network composed of the network devices, and a storage management server connected to the network devices, the hosts, and the storage devices, the storage management server executes: a first step of managing a storage usage state of each storage device; a second step of managing a traffic state of the network by monitoring each network device; and a third step of determining the storage data path to be set up in the network device based on the storage usage state and the traffic state.
As described above, according to the storage management system of the present invention, the storage management server manages the storage (disk) state and the network state, determines the disk or the storage device used for the virtual volume according to the storage (disk) assignment request from the host, and then determines the storage data path between the host and the storage immediately based on e.g. used disk position information.
Namely, automatic and high-speed virtualization processing and network setup processing can be achieved. Thus, an immediate setup compared with a manual setup by a manager in the conventional technology can be performed, so that a management cost can be reduced.
Also, according to the storage management system of the present invention, the deterioration of the network transfer performance caused by an introduction of the storage virtualization technique can be avoided e.g. on the IP network. Thus, the storage virtualization by the IP-SAN with an inexpensive IP network can be realized with a lower facility cost compared with that of the conventional FC-based SAN without deterioration of the network transfer performance.
BRIEF DESCRIPTION OF THE DRAWINGSThe above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which the reference numerals refer to like parts throughout and in which:
FIG. 1 is a block diagram showing an operation principle of a storage management system and method according to the present invention;
FIG. 2 is a block diagram showing an embodiment of an arrangement of a storage management server in a storage management system according to the present invention;
FIG. 3 is a diagram showing an example of a storage state management table included in a storage state manager in a storage management server of a storage management system according to the present invention;
FIG. 4 is a block diagram showing an embodiment of an arrangement of a virtual storage manager/controller in a storage management server of a storage management system according to the present invention;
FIG. 5 is a diagram showing an example of a virtual volume/logical volume correspondence management table included in a virtual storage manager/controller in a storage management server of a storage management system according to the present invention;
FIG. 6 is a diagram showing an example of a network state management table included in a network state manager in a storage management server of a storage management system according to the present invention;
FIG. 7 is a block diagram showing an embodiment of an arrangement of a host in a storage management system according to the present invention;
FIG. 8 is a diagram showing an example of a virtual volume/logical volume correspondence table included in a virtualization mapper of a host in a storage management system according to the present invention;
FIG. 9 is a diagram showing an example of a logical volume information table included in a virtualization mapper of a host in a storage management system according to the present invention;
FIG. 10 is a sequence diagram showing an operation embodiment (1) (virtualization setup operation procedure at a time of a new host connection) of a storage management system according to the present invention;
FIG. 11 is a flowchart showing a virtualization processing procedure example (1) (at a time of a new host connection) of a virtual storage manager/controller included in a storage management server in a storage management system according to the present invention;
FIG. 12 is a sequence diagram showing an operation embodiment (2) (virtualization setup operation procedure at a time of a storage fault occurrence) of a storage management system according to the present invention;
FIG. 13 is a flowchart showing a virtualization processing procedure example (2) (at a time of a storage fault occurrence) of a virtual storage manager/controller included in a storage management server in a storage management system according to the present invention;
FIG. 14 is a block diagram showing an embodiment of an arrangement of a path selection processor included in a path searching/setup portion in a storage management server in a storage management system according to the present invention;
FIG. 15 is a flowchart showing an embodiment (1) of an ST selection processing operation included in a path selection processor in a storage management server of a storage management system according to the present invention:
FIG. 16 is a flowchart showing an embodiment (2) of an ST selection processing operation included in a path selection processor in a storage management server of a storage management system according to the present invention:
FIG. 17 is a block diagram showing a virtualized storage system in a conventional storage area network:
FIG. 18 is a block diagram showing a deterioration example (1) of a network transfer performance in a conventional virtualized storage system: and
FIG. 19 is a block diagram showing a deterioration example (2) of a network transfer performance in a conventional virtualized storage system.
DESCRIPTION OF THE EMBODIMENTSEmbodiment of Arrangement:Storage Management Server100FIG. 2 shows an embodiment of an arrangement of the serverstorage management server100 in the storage management system according to the present invention. Thisstorage management server100 is provided with functional portions of the virtual storage manager/controller11, thestorage state manager12, the path searching/setup portion13, thenetwork state manager14, and acommunication interface15.
The virtual storage manager/controller11 is provided with a virtual volume/logical volume correspondence management table16 and adisk searching portion17. Thestorage state manager12 is provided with a storage state management table18. The path searching/setup portion13 is provided with apath selection processor19. Thenetwork state manager14 is provided with a network state management table20.
Operation Example of Each Functional Portion ofStorage Management Server100Hereinafter, basic operation examples of the above-mentioned functional portion will be described.
(1)Storage State Manager12Thestorage state manager12 manages the state of thestorage device300 connected to theIP network640 and a logical volume (Local Unit Number; hereinafter, occasionally abbreviated as LUN) within thestorage device300 by using the storage state management table18.
FIG. 3 shows an embodiment of the storage state management table18 included in thestorage state manager12. This table18 is composed of astorage device name18a,a storagedevice IP address18b,anLUN ID18c,anLUN capacity18d,and an LUNavailable space18e.
For example, thestorage device name18acomprising “storage 300—1”, the storagedevice IP address18bcomprising “20.0.10.1”, theLUN ID18ccomprising “LUN 1” and “LUN 2”, theirLUN capacity18dcomprising “50M” and “200M”, and each LUNavailable space18ecomprising “20M” and “200M” are registered in the table18 as an entry of the storage device300_1. It is to be noted that a utilization or the like may be substituted for the LUNavailable space18e.
As means for collecting the state of thestorage device300, e.g. the following means (1)-(3) may be used.
- Means (1): Thestorage state manager12 periodically acquires MIB (Management Information Base) information managed by thestorage device300 by using an SNMP (Simple Network Management Protocol). The MIB information has storage management information prescribed by an SNIA-J (Storage Networking Industry Association Japan Forum), and the IP address, the available space, and the like are stored therein as the state information within thestorage device300.
- Means (2): Thestorage state manager12 updates and manages the capacity of the individual logical volume every time e.g. a virtual volume assignment request or a fault notification is received from a host.
- Means (3): Also, when e.g. the storage device300_2 is newly added to or removed from the network, thestorage state manager12 respectively registers the addition/removal of an entry18_2 (seeFIG. 3) of the storage device300_2 in the storage state management table18.
(2) Virtual Storage Manager/Controller11FIG. 4 shows in more detail the virtual storage manager/controller11 shown inFIG. 2. This virtual storage manager/controller11 is composed of the virtual volume/logical volume correspondence management table16 and thedisk searching portion17.
FIG. 5 shows an embodiment of the virtual volume/logical volume correspondence management table16 shown inFIG. 4. This table16 is composed ofhost information16a,virtual volume information16b,RAID information16c,andlogical volume information16d.Theinformation16a-16drespectively include ahost name16a1 and ahost IP address16a2, avirtual volume name16b1 and avirtual volume capacity16b2, aRAID level16c1, and a storagedevice IP address16d1 and an LUN identifier (hereinafter, identifier is occasionally abbreviated as ID)16d2.
In operation, the virtual storage manager/controller11 manages a correspondence between the virtual volume and the logical volume (=logical unit) composing the virtual volume by using the table16 with respect to the host200 (seeFIG. 1) connected to the network.
For example, when a virtualvolume assignment request810 is received from thehost200 through thecommunication interface15, thedisk searching portion17 in the virtual storage manager/controller11 refers to the storage state management table18 included in thestorage state manager12, searches and selects the logical volume suitable for the virtual volume (disk) capacity requested by the host, based on the information such as the LUNavailable space18eand the utilization of the logical volume of each storage device, and registers the logical volume in the table16.
Similarly, when a fault occurs in the disk (storage device) already operated, thedisk searching portion17 searches and selects a substitutable logical volume for the virtual volume in which a fault has occurred indicated in afault notification910 received from thehost200, and registers the acceptable logical volume in the table16.
With respect to a logic of a disk selection, a method of sequentially selecting the logical volume with e.g. a larger available space until the requested capacity is satisfied can be adopted.
In the table16 (seeFIG. 5), as the entry of e.g. thehost200 selected by thedisk searching portion17, the host name comprising “host 200”, the host IP address comprising “10.0.0.101”, the virtual volume name comprising “volume 1”, the virtual volume (LUN) capacity comprising “1 G byte”, the RAID level comprising “RAID 1”, the storage device IP address comprising “20.0.10.1”, “20.0.10.1”, and “30.0.10.1”, the LUN ID comprising “LUN 1”-“LUN 3” respectively corresponding to their storage device IP addresses16d1 are registered.
Also, when the logical volume used is determined, the virtual storage manager/controller11 transfers position information (e.g. IP address) of thestorage device300 including the logical volume to the path searching/setup portion13.
(3) Path Searching/Setup Portion13The path searching/setup portion13 searches a path between thehost200 andstorage device300 based on the position information (e.g. IP address) of thestorage device300 from thestorage state manager12. A path searching method in the path searching/setup portion13 will be described later.
(4)Network State Manager14Thenetwork state manager14 is provided with a network state management table20. Thenetwork state manager14 periodically accesses the network devices (nodes) within the network, and collects and holds the traffic state per link for every network device to be managed.
FIG. 6 shows an embodiment of the network state management table20. This table20 is composed of network states such as a network device (node)ID20a,anode IP address20b,alink ID20c,the number ofiSCSI sessions20d,and a used bandwidth oflink20e.
The table20 holds, as the entry of e.g. the network device400_1, theID20a=“SW400—1”, theIP address20b=“10.0.100.101”, thelink ID20c=“link 01”, the number ofiSCSI sessions20d=“1”, and the used bandwidth oflink20e=“20M”.
Collection Method of Network StatesAs the collection method of network states, the following methods (1)-(3) are exemplified:
- Method (1): A method of acquiring the MIB information held by the network device (node) by using the SNMP with respect to the used bandwidth of a link;
- Method (2): A method of receiving the virtual volume assignment request from the user (host), subtracting an available bandwidth of the used link every time a path is determined, and managing the available bandwidth of link at present;
- Method (3): A method of managing the traffic state by updating the number of iSCSI sessions of the link at the time when the VLAN path is determined, since the link between the host and the storage through which the iSCSI session passes is determined at that time, with respect to the number of iSCSI sessions.
(5)Communication Interface15Thecommunication interface15 interfaces signals transmitted/received between the above-mentioned virtual storage manager/controller11, thestorage state manager12, the path searching/setup portion13, thenetwork state manager14, and thehost200, thestorage device300, thenetwork device400.
Embodiment of Arrangement: Host200FIG. 7 shows an embodiment of an arrangement of thehost200 in the storage management system according to the present invention. The functional portions included in thehost200 are the application/OS portion30, thevirtualization mapper31, theSCSI controller32, the VLANinformation setup portion33, aRAID controller34, and acommunication interface35.
Among the above-mentioned functional portions, thevirtualization mapper31 is provided with a virtual volume/logical volume correspondence table36 and a logical volume information table37. Also, a VLAN taginformation assigning portion33ais added to the VLANinformation setup portion33.
Operation of Each Functional Portion ofHost200Hereinafter, the operation of the main functional portions mentioned above will be described.
(1)Virtualization Mapper31Thevirtualization mapper31 associates the virtual volume with the logical volume, and the logical volume with the iSCSI session based on virtualization information notified by thestorage management server100 such as virtualizedstorage mapping information830 or930. The correspondence between the virtual volume and the logical volume is shown in the virtual volume/logical volume correspondence table36.
FIG. 8 shows an embodiment of the virtual volume/logical volume correspondence table36, which is composed of avirtual volume name36a,virtualvolume sector information36b,alogical volume name36c,and logical volume sector information36d.
In the table36, thevirtual volume name36a=“Volume#1” is associated with thelogical volume name36c=logical volumes#1-#3.
The correspondence between the logical volume and the iSCSI session requires the logical volume information table37 according to the present invention.
FIG. 9 shows the logical volume information table37, which is composed of alogical volume name37a,aSCSI port ID37b,and aniSCSI session ID37c.
Namely, in the table37, theSCSI port ID37b=“Port#1” used by the logical volume and theiSCSI session ID37c=“#1” corresponding thereto are associated with thelogical volume name37a=“LUN#1”.
These elements are determined in the process of establishing the iSCSI session based on the address of the logical volume used as the virtual volume notified from thestorage management server100.
(2)SCSI Controller32TheSCSI controller32 converts actual data into storage data (SCSI data), and establishes and manages the iSCSI session for transferring the SCSI data on the network.
(3) VLANInformation Setup Portion33The VLANinformation setup portion33 has a function of assigning the VLAN ID information such as the VLAN ID and priority information notified from thestorage management server100 to an Ethernet frame through the VLAN taginformation assigning portion33aupon transferring the actual storage data.
(4)RAID Controller34TheRAID controller34 has a function of realizing the RAID function between a plurality of logical volumes used for the virtual volume. Namely, theRAID controller34 assigns data received from thevirtualization mapper31 to each logical volume according to a RAID algorithm of its own, and transfers the data to the SCSI port corresponding to each logical volume. Reversely, theRAID controller34 combines the data received from each SCSI port according to the RAID algorithm to be transferred to thevirtualization mapper31.
Also, theRAID controller34 performs thefault notification910 to thestorage management server100 upon disk fault occurrence. Thefault notification910 includes the ID information of the logical volume in which a fault has occurred, and is notified to thestorage management server100 by the normal TCP/IP communication.
Operation Embodiment: Virtualization Setup (Virtualization Volume Preparation)In case of the virtualization setup (virtualized storage (volume) preparation) between the host and the storage device, there are (1) setup at the time of host connection, and (2) setup at the time of storage (volume) fault occurrence. Hereinafter, embodiments (1) and (2) of the virtualization setup operation corresponding to setup (1) at the time of the host connection and setup (2) at the time of the storage fault occurrence respectively will be described.
Operation Embodiment (1): Operation Procedure of Virtualization Setup at the Time of Host ConnectionFIG. 10 shows the operation embodiment (1) of the storage management system according to the present invention. In this embodiment (1), an operation procedure example of virtualization setup at the time of an initial setup of thehost200, i.e. at the time of connecting thehost200 to the IP-SAN network640 (seeFIG. 1) is shown. This operation embodiment (1) will now be described.
- Step S100: TheHost200 is Connected to theNetwork640, and Executes Connection Processing.
- Step S110: Thehost200 sets up the virtual disk capacity, the RAID level, a transfer priority, the IP address of its own, etc. from e.g. a setup file of its own, a WEB input menu, etc. and transmits the virtual volume assignment request (virtualization setup processing request)810 including the above-mentioned information to thestorage management server100.
- Step S120 (virtualization processing): In thestorage management server100, the virtual storage manager/controller11 receives the virtualvolume assignment request810 and executes the virtualization processing of selecting a logical volume to be used and a VLAN path.
FIG. 11 shows in more detail the virtualization processing of step S120. This processing will now be described.
- Step S121 (selection processing of used disk): In the virtual storage manager/controller11, the disk searching portion17 (seeFIG. 3) searches a disk having an available space requested by the virtualvolume assignment request810 from among thestorage device300, referring to the storage state management table18, and selects a disk with a larger available space (logical volume), for example, from among the searched disks.
- Step S122 (VLAN path searching processing): The path searching/setup portion13 (seeFIG. 2) searches a VLAN path connecting the selected disk (storage device) to thehost200, referring to the network state management table20 (seeFIG. 6) of thenetwork state manager14. The VLAN path searching processing will be described later in more detail.
- Step S130 (network setup processing: InFIG. 10, the path searching/setup portion13 of thestorage management server100 transmits aVLAN setup request820 including the VLAN information to eachnetwork device400 related to the VLAN path determined by the above-mentioned VLAN path searching processing. Thus, the VLAN path between the selected disk (storage device) and thehost200 is set up.
- Step S140 (host setup processing): Furthermore, the path searching/setup portion13 transmits the VLAN tag/virtualstorage mapping information830 including the logical volume information, the VLAN ID, and the like to thehost200 through the communication interface15 (seeFIG. 2).
- Step S150: In thehost200, thevirtualization mapper31 receives themapping information830 and associates the virtual volume with the logical volume, and the logical volume with the iSCSI session, in order to establish aniSCSI session700 for the logical volume included in theinformation830. TheSCSI controller32 provides an iSCSIsession establishment request840 to thestorage device300 to establish the iSCSI session700 (seeFIG. 1).
- Step S160: Thus, a virtualization setup sequence is completed so that it becomes possible for the application/OS portion30 of thehost200 to read and write the virtual volume.
Operation Embodiment (2): Operation Procedure of Virtualization Setup at the Time of Storage Fault OccurrenceFIG. 12 shows an operation embodiment (2) of the storage management server according to the present invention. This embodiment (2) shows an operation procedure of searching a substitute volume and of setting up virtualization when a fault occurs in the logical volume (storage device) composing the virtual volume while thehost200 uses the virtual volume or when a fault is predicted. This operation procedure will now be described.
It is to be noted that in this embodiment (2), an operation by a RAID is supposed. RAID such as “RAID 1”, “RAID 0+1”, or “RAID 5”, respectively performs a recovery operation for a disk fault by itself. Therefore, no substitute volume is supposed to be required. However, a read/write speed of the disk or the like will be decreased due to a load of a recovery operation itself by the RAID.
Accordingly, even upon the RAID operation, an immediate exchange of the fault disk and a recovery are indispensable. By performing virtualization by the substitute volume, it becomes possible to exchange a fault disk without stopping a system.
For example, when mirroring (copy function between a plurality of volumes) is performed in the “RAID 1”, “RAID 0+1”, or the like, the virtualization setup is performed by the substitute new logical volume when a fault is detected. The former data are copied to the new logical volume, and an access switchover to the new logical volume is further performed in thehost200, whereby the virtualization setup processing is completed.
Also, with respect to a distribution method of data by a parity data addition such as “RAID 5”, since it is impossible to back up data after a fault occurs, a fault of the logical volume is predicted. When a symptom of a fault is detected, the same processing as the case of the “RAID 1” and “RAID 0+1” is performed after performing the virtualization setup by the substitute volume.
The virtualization setup sequence by a prediction can be applied to the cases of the “RAID 1” and the “RAID 0+1”. Also, with respect to the fault prediction of the disk, the conventional technology of a symptom monitoring function or the like can be used.
- Step S200: A disk fault occurs in thestorage device300, and afault signal900 is notified to thehost200.
- Step S210: Thehost200 detects thefault signal900. TheRAID controller34 of thehost200, for example, can detect a fault occurrence by the start of the recovery operation since e.g. the RAID function itself performs the inherent recovery operation upon disk fault.
- Step S220: Thehost200 provides thefault notification910 including the information of the logical volume in which the fault has occurred to thestorage management server100. It is to be noted that as notification means, the SNMP (Simple Network Management Protocol), a COPS (Common Open Policy Service), a message of a TCP/IP communication, or the like may be used.
- Step S230 (virtualization processing): In thestorage management server100, the virtual storage manager/controller11 receives thefault notification910, searches and selects the substitute logical volume for the logical volume in which the fault has occurred, and performs the virtualization processing of selecting a VLAN path.
FIG. 13 shows in more detail the virtualization processing at step S230. This processing will now be described.
- Step S231 (selection processing of used disk): The virtual storage manager/controller11 searches and selects a disk suitable for a capacity of a failed disk (logical volume).
- Step S232 (VLAN path searching processing): The virtual storage manager/controller11 searches the VLAN paths connecting a disk except the disk in which the fault has occurred to thehost200 and connecting a selected disk to thehost200. The VLAN path searching processing is the same as that at step S122 of the embodiment (1), and will be described later in more detail.
- Step S240: InFIG. 12, the path searching/setup portion13 of thestorage management server100 selects a suitable VLAN path from among the VLAN paths searched. The path searching/setup portion13 provides a newVLAN setup request920 requesting the selected VLAN path setup to thenetwork device400 related to the new VLAN path, and sets up the VLAN paths connecting the selected disk (logical volume) to thehost200 and connecting a disk in which a fault has not occurred to thehost200.
- Step S250 (host setup processing): Thestorage management server100 provides the VLAN tag/virtualstorage mapping information930 including the set up VLAN path information (e.g. tag) and the selected logical volume to thehost200.
- Step S260 (storage communication setup processing): In thehost200, thevirtualization mapper31 receives themapping information930, and associates the logical volume with the virtualization volume (seeFIG. 8) based on theinformation930, and logical volume with the iSCSI session (seeFIG. 9). TheSCSI controller32 provides an iSCSIsession establishment request940 requesting an establishment of iSCSI session associated to thestorage device300 to establish the iSCSI session.
- Steps S270-S290: After performing an access switchover to the selected logical volume (substitute volume), the VLANinformation setup portion33 transmits aswitchover completion notification950 to thestorage management server100. Thestorage management server100 releases the VLAN used before a fault occurrence for thenetwork device400.
Thus, the virtualized storage is composed in which the logical volume where a fault has occurred is switched over to the substitute logical volume.
VLAN Path Searching ProcessingHereinafter, the VLAN path searching processing described at step S122 (seeFIG. 11) of the embodiment (1) and at step S232 (seeFIG. 13) of the embodiment (2) will be described in more detail.
As a method of setting up a path between the host and the storage device, i.e. a method of structuring a virtual network, there are methods (1), (2), and the like as follows;
Path Setup Method (1)This is a path searching method of connecting the host to the storage device by using a VLAN (virtual LAN) technology. A VLAN is based on a transfer technology in anetwork layer2, or means for structuring a logical virtual network on the same network by setting up a path per user, which is generally used at present. A combination of host and storage device is called a user SAN, and the VLAN path is determined per user SAN.
Path Setup Method (2)This is a path searching method of connecting the host to the storage device by using a technology except the VLAN technology. It is also possible to structure a virtual network per user SAN by using a label path technology of an MPLS (Multi-protocol Label Switching) that is a technology oflayer3, and a virtual connection (VC) and a virtual path (VP) of an ATM (Asynchronous Transfer Mode).
In both methods (1) and (2), it is important to determine a path suitable for a storage transfer. Methods (1)-(3) of selecting a VLAN path suitable for the storage transfer based on the above-mentioned path setup method (1), i.e. the VLAN path searching processing will now be described.
Path Selection Method (1)This is a method of determining a path based on an available bandwidth reserved within a transmission link of the network. Namely, thestorage management server100 allocates a link bandwidth every time the virtual volume and the VLAN are set up in thehost200, manages the remaining bandwidth, excludes links with more available bandwidth in the VLAN path searching processing, and executes a searching of the VLAN path, whereby the bandwidth of the network is efficiently used.
Path Selection Method (2)This is a method of determining a path based on a storage traffic within the transmission link of the network. Namely, links with higher storage traffic are excluded based on the storage traffic within the links, the VLAN path is searched, and the transfer performance deterioration of the storage data is avoided. In order to estimate the storage traffic within the link, the number of iSCSI connections within the link is taken into account. Namely, the link where the number of iSCSI sessions passing through the link is larger is regarded as a link with a larger transfer amount of the storage traffic.
Path Selection Method (3)This is a method of determining a path based on a distance between the host and the storage device. As indicated in the embodiment (2), if the distance between the host and the logical volume (storage device) varies from one logical volume to another logical volume upon performing the RAID function all over the network, there is a possibility that a transfer performance deterioration occurs due to varied delays upon e.g. data reading processing.
Accordingly, it is desirable that the delay times between the host and the logical volume be as short as possible, or equal with each other. Therefore, the number of hops between the host and the storage device is noticed. A path in which the number of hops between the host and the storage device is close to the average, i.e. in which a deviation is reduced is selected.
Embodiment of Path Setup Selection Using a Plurality of Spanning TreesHereinafter, path setup selection embodiments (1) and (2) will be described. In the path setup selection embodiment (1), a plurality of spanning trees (hereinafter, occasionally abbreviated as ST) are prestructured, and a single path within a plurality of trees is selected with reference to the number of iSCSI sessions similar to the above-mentioned path selection method (2). In the path setup selection embodiment (2), a path is selected with reference to the number of hops in the same way as the above-mentioned path selection method (3).
Path Setup Selection Embodiment (1): Reference of Selection=“Number of iSCSI Sessions”In this embodiment (1), a spanning tree is selected with reference to the “number of iSCSI sessions”.
FIG. 14 shows an embodiment of an arrangement of thepath selection processor19 included in the path searching/setup portion13 (seeFIG. 2). Thepath selection processor19 is provided with anST prestructuring processor19a,an accommodatingST determination processor19b,and anST setup processor19c.The operation of thepath selection processor19 will now be described.
- Step S11: TheST prestructuring processor19apredetermines a plurality of spanning trees in which no loop occurs. TheST setup processor19ctransmits a spanning tree setup request to thenetwork device400 related to the spanning tree (path) determined and sets up the spanning tree.
- Step S12: The accommodatingST determination processor19bselects a spanning tree connecting thehost200 to thestorage device300, designated by the virtual storage manager/controller11, from among a plurality of spanning trees preset. The accommodatingST determination processor19bnotifies the VLAN information (VLAN ID) of the spanning tree selected to thehost200.
FIG. 15 shows a path selection operation embodiment (1) indicating the path selection operation of the above-mentioned step S12 in more detail. In this embodiment (1), the accommodatingST determination processor19bselects a spanning tree based on the “number of iSCSI sessions”. Hereinafter, the path selection operation embodiment (1) will be described.
- Step S300: The accommodatingST determination processor19bselects an available spanning tree from among the prestructured spanning trees based on the usedstorage device300.
- Step S310: The accommodatingST determination processor19bexcludes spanning trees including links where the number of iSCSI sessions is equal to or more than a predetermined threshold value preset.
- Steps S320 and S330: The accommodatingST determination processor19bfurther calculates a total sum of the number of iSCSI sessions per spanning tree, and selects a spanning tree where the total sum of the iSCSI sessions is minimum.
- Step S340: The accommodatingST determination processor19bnotifies the VLAN ID concerning the selected spanning tree to thehost200.
Thus, it becomes possible for thehost200 to exchange information with the virtualized storages through the spanning tree where the total sum of the iSCSI sessions is minimum, so that it is possible to reduce the deterioration of the network transfer performance due to the bandwidth shortage or the like.
Path Setup Selection Operation Embodiment (2): Reference of Selection=“Number of Hops”In this embodiment (2), a spanning tree is selected with reference to the number of hops instead of the number of iSCSI sessions in the embodiment (1).
The arrangement of thepath selection processor19 is the same as that shown inFIG. 14. The operations of theST prestructuring processor19aand the accommodatingST determination processor19bare the same as those in the path selection method (1). However, the operation of theST setup processor19cis different from that in the path selection method (1). The operation of thepath selection processor19 will now be described.
- Step S21: TheST prestructuring processor19apredetermines a plurality of spanning trees in which no loop occurs, and theST setup processor19csets up the spanning trees in the network.
- Step S22: The accommodatingST determination processor19bselects the spanning tree which thehost200 uses based on the number of hops, and notifies the VLAN information of the selected spanning tree to thehost200.
FIG. 16 shows a path selection operation embodiment (2) indicating the path selection operation of the above-mentioned step S22 in more detail. In this embodiment (2), the accommodatingST determination processor19bselects the spanning tree based on the “number of hops”. Hereinafter, the path selection operation embodiment (2) will be described.
- Step S400: The accommodatingST determination processor19b,selects an available spanning tree from among the prestructured spanning trees based on the used storage device.
- Step S410: The accommodatingST determination processor19bcalculates the number of hops, the number of average hops, and a deviation between thehost200 and the storage device with respect to all of the available spanning trees.
- Steps S420 and S430: The accommodatingST determination processor19bselects a spanning tree where the deviation is minimum and notifies the VLAN ID concerning the selected spanning tree to thehost200.
Thus, it becomes possible for thehost200 to exchange information with the virtualized storage through the spanning tree where the deviation of the number of hops is minimum, and it is possible to reduce the deterioration of the network transfer performance due to a diffusion of delays upon data read processing in the virtual storage.