# Patent

## Title
Volume and failure management method on a network having a storage device

## Abstract

Provided is an environment that storage device configuration management can be efficiently done in a data center having a virtualization device. A SAN manager acquires configuration information from a device constituting a SAN and prepares a correspondence relationship between a host computer and a virtual volume in the SAN, and a corresponding relationship between the host computer and a real volume, depending upon the acquired information. Based on the corresponding relationship, the SAN manager outputs a correspondence relationship of between virtual and real volumes. Meanwhile, by interpreting a failure-notification message received from the devices of the SAN, detected and outputted is an influence upon an access to a real or virtual volume as to the failure. Furthermore, when a plurality of failure notifications are received from the devices connected to the SAN, a plurality of failure notifications are associatively outputted depending upon a correspondence relationship of between real and virtual volumes.

## Background
This application relates to and claims priority from Japanese Patent Application No. 2005-364214, filed on Dec. 19, 2005, the entire disclosure of which is incorporated herein by reference.
BACKGROUND
The present invention relates to a storage system for use in a computer system. More particularly, the invention relates to a method and apparatus for managing a volume configuration and failure, on a storage area network (hereinafter, referred to as SAN) that the real volume provided from a storage system is to be provided as a virtual volume to a host computer through a volume virtualization function of a virtualization device.
(1) SAN
Recently, there is a glowing spread of SANs, the networks exclusive for storage inputs/outputs integrated by separating the storage devices from the host computers. By introducing the SAN, it is possible to realize high-speed data transfer, high extensibility and usability for the storage system, and effective utilization of storage resources.
(2) SAN Management
The SAN-based high extensibility of storage system allows a plurality of vendor devices (host computers, switches, storage devices) to coexist on the SAN. SAN management is required in order to operate such a SAN without shutdown. Of SAN management, particularly important is operation status monitoring of the devices to be connected to the SAN, that forms a basis of routine operations. The software, for monitoring the status of SAN operation, is hereinafter referred to as a SAN manager.
The SAN manager possesses two major functions, i.e. configuration management function and failure monitoring function.
The configuration management function is a function to acquire information at a regular interval from the management agents existing in the devices connected to the SAN, detect a physical connection relationship (topology) over the SAN from the acquired information, and visualize at all times the newest topology to be supplied to the user of the SAN manager, in other words, to the SAN administrator.
The failure monitoring function is a function to grasp an event occurrence, such as a failure and performance lowering, depending upon the event notification as to hardware malfunction and performance lowering issued from the devices connected to the SAN or the device information periodically acquired from the management agents existing in the devices and notify the event to the SAN administrator.
By virtue of the two functions, the SAN administrator is allowed to manage the device operation status in a centralized fashion by use of the SAN manager. This can reduce the operation cost, including personnel reduction on the SAN administrator.
(3) Virtualization Device
There is a virtual volume technology as an art to manage the storage over the SAN. The virtual volume technology is disclosed in GB-A-2351375, whose description discloses that the device called a storage host computer possesses the following two functions.
1) The function of managing a volume (hereinafter, real volume) as a storage domain in a storage medium being included in each storage device connected to the storage host computer and producing a volume pool.
2) The function of producing a virtual volume based on one or more real volumes of the volume pool and converting sequentially the I/O access from the host computer to the virtual volume into an I/O request for real volume thereby making a response to the I/O from the host computer.
The device having the two functions is hereinafter referred to as a virtualization device. By introducing the virtualization device onto the SAN, the volume allocation onto the host computer is centralized by means of the virtual volume thus eliminating the necessity of being conscious of the physical configuration of the storage devices connected to the virtualization device. Namely, the SAN administrator is allowed to allocate volumes in a centralized manner.
SUMMARY
Providing a virtual volume by the virtualization device enhances the freedom of a volume configuration to be provided to the host computer. However, the SAN administrator is required to operate the SAN while always grasping the both relationships, i.e. the relationship between a host computer and a virtual volume and the relationship between a virtual volume and a real volume. The SAN becomes difficult to grasp its configuration as the scale of the SAN increases, i.e. as the connection relationship is complicated by the increase in the number of virtualization and storage devices.
Meanwhile, owing to the failure monitoring function possessed by the SAN manager, the SAN administrator is allowed to conduct the operation for segmenting in what point of what device the cause of a failure is constituted, on the basis of the event issued from a plurality of devices. Hereinafter, this is referred to as “failure segmentation”. Providing a virtual volume by the virtualization device enhances the freedom in a volume configuration to be supplied to the host computer. However, in segmenting a failure depending upon a failure message (SNMP Trap, etc.) issued from a plurality of vendor devices, it is the current practice to rely upon the manual operation of the SAN administrator having a high level of knowledge on the individual devices. Thus, there is a problem of quite high management cost.
Meanwhile, the SAN manager has a failure notification function including to notify the event to a management software (hereinafter, referred to as the higher-order system management software) administrating the business system overall in accordance with the seriousness (hereinafter, referred to as severity) of a failure, and to send a mail to the SAN administrator. However, because the definition of failure severity relies upon the devices connected to the SAN, the SAN administrator, each time, is required to decide what event of what device has high severity, thus raising a problem that time is required in taking a measure against failures.
A first object of the present invention is to provide an art for easily grasping the corresponding relationship between a real volume and a virtual volume over a SAN.
A second object of the invention is to assist a SAN administrator to segment a failure in the case a failure message is issued from a device connected to the SAN.
A third object of the invention is to enable, on the SAN, the SAN administrator or the higher-order system management software to receive required failure information among the failure messages issued from the devices connected to the SAN.
In the invention, the volume configuration on the SAN is to be managed by use of management agents provided in the devices constituting the SAN and a SAN manager provided in the management computer the SAN administrator is to use.
For the first object, the SAN manager acquires the information about a data I/F and volume from the management agents provided in host computers, the information about a data I/F connection status from the management agents provided in switches, the information about a data I/F and volume from the management agents provided in storage devices, and the information about a virtual volume from the management agents provided in virtualization devices. Based on the acquired information, the SAN manager detects a corresponding relationship on the SAN between the host computer and the virtual volume (hereinafter, referred to as a virtual volume mapping), and manages the corresponding relationship as virtual-volume mapping information. Furthermore, based on the virtual volume mapping and virtual-volume configuration information, the SAN manager detects a corresponding relationship between the host computer and the real volume (hereinafter, referred to as a real volume mapping), and manages the corresponding relationship as real-volume mapping information. On the basis of those pieces of configuration information, the SAN manager provides the flowing three functions. Firstly, virtual volume mapping information and real volume mapping information are outputted, to present a corresponding relationship between the both (virtual volume configuration managing function) to the SAN administrator. Secondly, by holding an event dictionary for construing the content of the failure notification message received from the device of the SAN, a failure notification issued from the device is received to detect an influence of the failure upon I/O accesses to a real volume and a virtual volume depending upon the SAN configuration information acquired from the event dictionary and management agents and stored in a real topology repository (failure influential range detecting function). Thirdly, when the storage administrator produces a virtual volume by utilization of the SAN manager, related pieces of virtual and real volume mapping information are provided to thereby assist the SAN administrator in performing a virtual-volume production operation (volume allocating function).
For the second object, the SAN manager, receiving a plurality of failure notifications from the device connected to the SAN, is to output the plurality of failure notifications by an association on the basis of the corresponding relationship between real and virtual volumes being managed by the virtualization device (failure associating function).
For the third object, the SAN manager, receiving a plurality of failure notifications from the device connected to the SAN, is to change the information representative of a significance-degree of failure information based on different criterions respectively contained in the failure notifications into information representative of a significance-degree of failure information based on a common criterion, to thereby process the failure notifications depending upon the changed significance degree (failure significance-degree change function).



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a diagram showing a configuration example of a storage network system having a virtualization switch;
FIG. 2 is a diagram showing a configuration example of a management computer;
FIG. 3 is a diagram showing a configuration example of a host computer;
FIG. 4 is a diagram showing a configuration example of a virtualization switch;
FIG. 5 is a diagram showing a configuration example of a storage device;
FIG. 6 is a figure showing an example of a real-volume mapping management table held by the management computer;
FIG. 7 is a figure showing an example of a virtual-volume mapping management table held by the management computer;
FIG. 8 is a figure showing an example of a device detecting list held by the management computer;
FIGS. 9A and 9B are figures showing an example of a data I/F management table held by the host computer;
FIGS. 10A and 10B are figures showing an example of a volume management table held by the host computer;
FIG. 11 is a figure showing an example of an FC-connection management table held by the switch;
FIG. 12 is a figure showing an example of a data I/F management table held by the switch;
FIG. 13 is a figure showing an example of a virtual-volume management table held by the virtualization device;
FIGS. 14A and 14B are figures showing an example of a data I/F management table held by the storage device;
FIGS. 15A and 15B are figures showing an example of a real-volume management table held by the storage device;
FIG. 16 is a flowchart showing an example of real-topology and virtual-topology display process over the storage network to be executed by the management computer;
FIGS. 17A and 17B are flowcharts showing a detailed process content example of a virtual-volume mapping management table producing step to be executed by the management computer;
FIG. 18 is a flowchart showing a detailed process content example of a real-volume mapping management table producing step to be executed by the management computer;
FIG. 19 is a figure showing an example of real topology display and virtual topology display outputted by the management computer;
FIG. 20 is a diagram showing a configuration example of the management computer;
FIG. 21 is a figure showing an example of an event dictionary concerning storage held by the management computer;
FIG. 22 is a figure showing an example of a failure log held by the management computer;
FIG. 23 is a flowchart showing an example of a failure monitoring process to be executed by the management computer;
FIG. 24 is a figure showing an example of failure notification display outputted by the management computer;
FIG. 25 is a flowchart showing an example of a volume-configuration-change checking process to be executed by the management computer;
FIGS. 26A and 26B are figures showing a structural example of a SNMP Trap message;
FIG. 27 is a diagram showing a configuration example of a storage network system having a virtualization storage device;
FIG. 28 is a diagram showing a configuration example of a storage network system having a virtualization storage device;
FIG. 29 is a diagram showing a configuration example of a storage network system having a virtualization storage device;
FIG. 30 is a diagram showing a configuration example of a switch;
FIG. 31 is a diagram showing a configuration example of a virtualization storage device.
FIG. 32 is a figure showing an example of a real-volume mapping management table held by the management computer;
FIG. 33 is a figure showing an example of a virtual-volume mapping management table held by the management computer;
FIG. 34 is a figure showing an example of a device detecting list held by the management computer;
FIGS. 35A and 35B are figures showing an example of a data I/F management table held by the host computer;
FIG. 36 is a figure showing an example of a volume management table held by the host computer;
FIG. 37 is a figure showing an example of an FC-connection management table held by the switch;
FIGS. 38A and 38B are figures showing an example of a data I/F management table held by the switch;
FIGS. 39A and 39B are figures showing an example of a real-volume management table held by the storage device;
FIG. 40 is a figure showing an example of a virtual-volume management table held by the virtualization device;
FIGS. 41A and 41B are flowcharts showing a detailed process content example of a virtual-volume mapping management table producing step to be executed by the management computer;
FIG. 42 is a figure showing an example of real topology display and virtual topology display outputted by the management computer;
FIG. 43 is a figure showing an example of an event dictionary concerning storage held by the management computer;
FIG. 44 is a figure showing an example of a failure log held by the management computer;
FIG. 45 is a figure showing an example of failure notification display outputted by the management computer;
FIG. 46 is a diagram showing a configuration example of the management computer;
FIGS. 47A to 47D are figures showing an example of an event dictionary concerning storage held by the management computer;
FIG. 48 is a figure showing a failure log held by the management computer;
FIG. 49 is a figure showing a failure severity change table held by the management computer;
FIGS. 50A to 50B are flowchart showing an example of a detailed process content of a failure associating process to be executed by the management computer;
FIG. 51 is a figure showing an example of failure-association result display outputted by the management computer;
FIG. 52 is a flowchart of a failure-significant-degree-change process;
FIG. 53 is a diagram showing a configuration example of a virtualization storage device;
FIG. 54 is a diagram showing a configuration example of a virtualization switch;
FIGS. 55A and 55B are a flowchart showing the detail of a failure associating process to be made by the virtualization device; and
FIG. 56 is a figure showing an example of result display of a failure associating process to be made by the virtualization device.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Embodiments of the present invention will now be described with reference to the drawings. Note that those are not to limit the invention. The present embodiment illustrates a configuration management function as to the virtual volume that the SAN manager is allowed to easily manage the corresponding relationship between a virtual volume and a real volume by producing a virtual volume mapping and real volume mapping from the configuration information of the devices connected to the SAN by the SAN manager, in a SAN having switches and virtualization devices.
SAN Configuration
Description is now made on a SAN configuration in the present embodiment. FIGS. 1 to 5 show a configuration example of the SAN and the devices connected to the SAN while FIGS. 8 to 15 show the respective pieces of management information provided in the devices.
FIG. 1 illustrates a configuration example of the SAN. The SAN, in the invention, includes one or more host computers each having a management agent, one or more switches each having a management agent, one or more virtualization devices each having a management agent, one or more storage devices having a management agent, and one management computer having a SAN manager. On the SAN in embodiment 1, connection is assumed to be provided between two host computers (H1, H2) 20000, a virtualization switch (SW1) 30000 for playing a role as one switch-and-virtualization device, and two storage devices (S1, S2), through a fiber channel 60000, for the convenience sake of the following explanations. Meanwhile, the management computer 10000 is connected to the host computers, the virtualization switches and the storage devices through a management network 70000 so that communication is possible between the management agent of each device and the SAN manager 13100 of the management computer 10000 through the management network. The SAN manager 13100 is to manage the configuration of virtual and real volumes on the SAN by the processing referred later.
FIG. 2 shows a configuration example of the management computer 10000. The management computer 10000 has a processor 11000, a main memory 12000, a nonvolatile memory 13000 such as a hard disk, a management I/F 14000 connected to the management network 70000, an output section such as a display device for outputting an execution result of the processing, referred later, when the process, referred later, is executed by the SAN manager 1300, and an input section 16000 such as a keyboard or a mouse. Those are to be mutually connected through a communication line 17000 such as an internal bus. The nonvolatile memory 13000 is stored with a SAN manager 13100 as a program to be executed by the management computer, a real-volume mapping management table 13200 holding the real-volume mapping information over the SAN, a virtual-volume mapping management table 13300 holding the virtual-volume mapping information over the SAN, a real topology repository 13400 as a domain for storing the information collected from the management agents provided in the devices on the SAN, and a device detecting list 13500 for holding a listing of the devices the SAN manager 13100 is to manage over the SAN. Note that an OS (operating system) is stored in the nonvolatile memory 13000 though not shown. The processor 11000 is to load the OS, SAN manager 13100 and table of in the nonvolatile memory 13000 onto the main memory and execute the processing for the management computer.
FIG. 3 shows a configuration diagram of the host computer 20000. The host computer 20000 has a processor 21000, a main memory 22000, a nonvolatile memory 23000 such as a hard disk, a management I/F 24000 to be connected to the management network 70000, and one or more data IF 26000 to be connected to a fiber channel 60000. Those are to be mutually connected through a communication line 27000 such as an internal bus. The nonvolatile memory 23000 is stored with a management agent 23100 as a program to communicate with the SAN manager 13100 and exchange the management information of the host computer therewith, a data I/F management table 23200 for holding the management information about the data I/F of the relevant host computer, and a volume management table 23300 for holding the management information about a volume the relevant host computer is to access. Note that, although the embodiment had one data I/F in each of the host computers H1, H2, the data I/F may be provided in plurality. Meanwhile, the data I/F of the host computer is assigned with an identifier (data I/F ID) unique in the host computer. In this embodiment, the data I/F ID of the host computer H1 is assumed having a value a1 while the data I/F ID of the host computer H2 having a value b1. Note that an OS (operating system) and an application program are stored in the nonvolatile memory 23000 though (not shown). The processor 21000 is to load the OS, application program, management agent 23100 and table within the nonvolatile memory 23000 onto the main memory and execute the processing for the host computer.
FIG. 4 shows a configuration example of the virtualization switch 30000. The virtualization switch 30000 has a controller 31000 realizing a switching and virtual storage function of the data to be exchanged through the fiber channel 60000, a nonvolatile memory 33000 such as a hard disk, a management I/F 34000 to be connected to the management network 70000, and one or more data I/Fs 36000 to be connected to the fiber channel 60000. Those are to be mutually connected through the controller 31000. The nonvolatile memory 33000 is stored with a management agent 33100 as a program to communicate with the SAN manager 13100 and exchange the management information of the relevant virtualization switch therewith, a volume virtualization program 33200 for realizing a volume virtualization function, an FC connection management table 33300 of the information representative of a connection relationship between the virtualization switch and the host computers and storage devices through the fiber channel 60000, a data I/F management table 33400 for holding the management information about the data I/F of the virtualization switch, and a virtual-volume management table 33500 for holding the management information about the virtual volume which the relevant virtualization switch is providing to the host computers. Note that, although the virtualization switch this embodiment structurally has six data I/Fs, the data I/Fs may be any in the number. Each of the data I/F has an identifier (data I/F ID) unique in the device, whose value is assumed s1, s2, s3, s4, s5 and s6 in this embodiment. Incidentally, a control program for switch-control is stored in a nonvolatile memory 33000 though not shown. At a start up of the switch, the control program in the nonvolatile memory 33000, the volume virtualization program 33200, the management agent 23100 and the table are loaded onto the controller 31000 so that the processing can be executed as a switch having a volume virtualization function.
FIG. 5 shows a detailed configuration example of the storage device S1. The storage device 40000 has a controller 41000 for internally controlling the storage device, a nonvolatile memory 43000 such as a hard disk, a management I/F 44000 to be connected to the management network 70000, one or more data I/Fs 46000 to be connected to the fiber channel 60000, and one or more real volumes 47000 as storage domains to be provided to the host computer and virtualization switch. Those are to be mutually connected through the controller 41000. The nonvolatile memory 43000 is stored with a management agent 43100 as a program to communicate with the SAN manager 13100 and exchange the management information of the storage device S1 therewith, a data I/F management table 43200 for holding the management information about the data I/F of the storage device, and a real-volume management table 43300 for holding the management information about a real volume 47000 of the storage device S1. Note that, although the storage device S1 in this embodiment has the two data I/Fs and four real volumes, the data I/Fs and the real volumes are any in the number. The data I/F and the real volumes respectively have identifiers (data I/F IDs and volume IDs) unique in the device wherein, in this embodiment, data I/F ID values are assumed c1, c2 and volume ID values are va1, va2, va3, va4. Note that a control program for controlling the storage device is stored in the nonvolatile memory 43000 through not shown. At a start up of the storage device, the control program in the nonvolatile memory 43000, the management agent 43100 and the table are loaded onto the controller 4100 so that the processing can be executed for the storage device.
The storage device S2 has a similar configuration to the storage device S1. Note that the storage device S2, in this embodiment, also has two data I/Fs and four real volumes. The storage device S2 is assumed having data I/F ID values of d1, d2 and volume ID values of vb1, vb2, vb3, vb4.
FIG. 8 shows an example of a device detecting list 13500 held by the management computer 10000. In FIG. 8, a subject-of-detection ID column is registered with numbers desirably assigned in the management computer, a device type column is with types of in-SAN devices, a device information column is with device vendors, device names, etc., an IP address information column is with device addresses on the management network 70000, and a virtualization function column is with whether or not each device has a volume virtualization function. Based on the list, the SAN manager 13100 specifies a management agent for the device and communicates with the relevant management agent. Incidentally, those pieces of information may be previously registered from the management computer 10000 by the SAN administrator. Meanwhile, the information of the device may be acquired from a name service or the like on the fiber channel or the management network without an input given by the SAN administrator.
FIGS. 9A and 9B show an example of the data I/F management table held by each of the host computers 20000 wherein FIG. 9A is a table in the host computer H1 while FIG. 9B is a table in the host computer H2. Those hold the respective pieces of information about data I/F, the IDs of which are a1 and b1, respectively. In the FIG. 9 data I/F ID column, there are registered data I/F ID values held by the respective host computers. In a WWN (World Wide Name) column, there is registered a WWN of the relevant data IF while, in a SCSI ID column, there is registered an identifier of a SCSI target device (SCSI ID number) to which the data I/F is connected. Here, WWN means an identifier to unambiguously identify the data I/F over the fiber channel 60000.
FIGS. 10A and 10B show an example of the volume management table held by the host computer 20000, wherein FIG. 10A is a table in the host computer H1 while FIG. 10B is a table in the host computer H2. The host computer H1 is provided with two volumes while the host computer H2 is with one volume. The host computer holds the information of a volume provided to itself, in its volume management table. The volume manage table has an LU ID column registered with an identifier that is desirably assigned to the volume provided to itself in each of the host computers. A data I/F column is registered with an identifier of on-host-computer data I/F for use in accessing the volume. A SCSI ID column is registered with a SCSI ID number of a SCSI target device to which the data I/F is connected. An LUN column is registered with a SCSI logical unit number for accessing the volume of the SCSI target device. A volume information column is registered with a vendor name and device name, providing a volume to the host computer, to be acquired by means of a SCSI INQUIRY command, and an identifier of the volume.
FIG. 11 shows an example of the FC connection management table 33300 held by the virtualization switch 30000. The FC connection management table holds the information about the destinations of connections of the data IFs s1-s6 of the virtualization switch 30000. The FC connection management table has a data I/F ID column registered with ID values of the data I/Fs of the virtualization switch 30000. A switch-side WWW column is registered with a WWWN of the data I/F while a destination-of-connection WWN column is registered with a WWN of the data I/F of the host computer or storage device to which the relevant data I/F is connected.
FIG. 12 shows an example of the data I/F management table 33400 held by the virtualization switch 30000. In FIG. 12, the virtualization switch 30000 at its data I/F s1, s2 is providing a virtual volume wherein s1, s2 are recognized as virtual data I/F vs1 and vs2 of from the host computers. In a data I/F ID column of the data I/F management table, registered is an ID value of the data I/F of the virtualization switch 30000. A virtual data I/F ID column is registered with an identifier value that is recognized as an identifier of the relevant data I/F by the host computers. A SCSI ID column is registered with a SCSI ID number assigned to the virtual data I/F.
FIG. 13 shows an example of the virtual volume management table 33500 held by the virtualization switch 30000. First, explained is the content of the virtual volume column. In a virtual data IF ID column, registered is an identifier value of virtual data I/F held by the virtualization switch 30000 (identifier value registered in the FIG. 12 virtual data I/F ID column). In a SCSI ID column, registered is a SCSI ID number assigned to the virtual data I/F. In an LUN column, registered is a SCSI logical unit number for accessing the virtual volume provided to the host computer through the virtual data I/F. In a virtual volume ID column, registered is an identifier desirably assigned to the virtual volume provided to the host computer through the virtual data I/F. In this embodiment, the virtualization switch 30000 provides a virtual volume vv1 through its virtual data I/F vs1 and a virtual volume vv2 through its virtual data I/F vs2. Here, the reason why two entries concerning the virtual data I/F vs1 are present in the virtual volume column is because the virtual volume vv1 provided from the virtual data I/F vs1 is constituted by two real volumes va2 and vb1. Incidentally, in the case the allocation of a virtual volume to the host computer is not decided, “N/A (Not Applicable)” representative of a value absence is assumed stored in the virtual volume column.
Now description is made on the real volume column content of the virtual volume management table 33500. In a real data I/F ID column, registered is a data IF identifier of the virtualization switch 30000 that is to be used in accessing a real volume constituting a virtual volume designated by an identifier registered in a virtual volume ID column. In a SCSI ID column, registered is a SCSI ID number of a SCSI target device to which the real data I/F is connected. In an LUN column, registered is a SCSI logical unit number for accessing the volume to be provided from the storage device through the real data I/F. In a real volume information column, registered is a name of the storage device providing the real volume accessed through the real data I/F, and an identifier and storage capacity of the real volume which can be acquired by means of a SCSI command. Incidentally, the real volumes va3, va4 accessible from the data I/F s4 and the real volume vb3 accessible from the data I/F s6 are recognized by the virtualization switch 30000. Those, in the future, are allowed to constitute a virtual volume to be provided to the host computer, but currently not being provided as a virtual volume to the host computer. Accordingly, the information about the real volume va3, va4, vb3 is registered only in the real volume column without registered in the virtual volume column. Meanwhile, because the real volume va1 accessible from the data I/F s3 is to be provided to the host computer without virtualized in the virtualization switch 30000, the information about va1 is not registered in the virtual volume management table 33500.
FIGS. 14A and 14B show an example of the data I/F management table held by the storage device, wherein FIG. 14A is a table held by the storage device S1 while FIG. 14B is a table held by the storage device S2. The data I/F management table has a data I/F ID column registered with an identifier value of the data I/F held by the storage device. In a WWN column, registered is a WWN of the data I/F.
FIGS. 15A and 15B show an example of the real volume management table held by the storage device, wherein FIG. 15A is a table held by the storage device S1 while FIG. 15B is a table held by the storage device S2. The real volume management table has a real volume ID column registered with an ID value of the real volume held by the storage device. In a path presence/absence column, registered is a presence/absence of a path to be used in an access of another device to the real volume. In a data I/F column, registered is an identifier value of the data I/F of the storage device that is to be used in accessing the volume. In a SCSI ID column, registered is a SCSI ID number assigned to the data I/F. In a SCSI LUN column, registered is a SCSI logical unit number for accessing the real volume. Incidentally, in the case no real volume is allocated to the host computer or virtualization switch, “absence” is given in the path presence/absence column of real volume, and “N/A (Not Applicable)” representative of a value absence is stored in the data I/F ID column, SCSI ID column and SCSI LUN column.
Virtual-and-Real Volume Configuration Management Process
Description is now made on the virtual-and-real volume configuration management process to be executed by the SAN manager 13100 on the management computer 10000. The steps in the below are assumed to be executed by the SAN manager 13100 unless otherwise described.
FIG. 16 shows a flowchart 1700 outlining a real-topology and virtual-topology display process to be executed by the SAN manager 13100. The SAN manager 13100 detects in-SAN devices on the basis of the device detecting list 13500 and communicates with the management agents of the devices, to copy the respective pieces of information, shown in FIGS. 9 to 15, held by the devices (step 1710).
Then, the SAN manager 13100 stores the copied information in a real-topology repository 13400 (step 1720).
Thereafter, a virtual-volume mapping management table 13300, referred later, is produced on the basis of the information stored at the step 1720 (step 1730).
Furthermore, a real-volume mapping management table 13200, referred later, is produced on the basis of the information in the real-topology repository 13400 and the virtual-volume mapping management table 13300 (step 1740).
Finally, real and virtual topologies are outputted based on the content of the virtual-volume mapping management table 13300 and real-volume mapping management table 13200 (step 1750), thus ending the process.
The real-topology and virtual-topology display process is as per the above.
Incidentally, the real and virtual topologies may be displayed on the same screen.
FIGS. 17A and 17B show a flowchart representing a detailed process of the virtual-volume mapping management table producing step 1730 to be executed by the SAN manager 13100. Meanwhile, there is shown in FIG. 7 an example of the virtual-volume mapping management table 13300 produced by the process shown in FIG. 17.
The SAN manager 13100 executes the following process on every entry of the volume management table, as to all the volume management tables 23300 received from the host computers and stored in the real-topology repository 13400 (step 1810).
First, the SAN manager produces a new entry in the virtual-volume mapping management table and registers a newly assigned virtual mapping ID 13301. Furthermore, the SAN manager registers a source host computer name 13302 of the volume management table 23300 now under processing, and the data IF ID 13304 and LU ID 13303 stored in the volume management table (step 1820).
Then, the SAN manager investigates the data I/F of a switch to which the data I/F 13304 registered is to be connected, and registers a switch name 13305 and data IF ID 13306. Specifically, the SAN manager first retrieves a data I/F management table 23200 received from the host computer and stored in the real topology depository 13400 by use, as a key, of the data IF ID 13304 of host computer registered in the virtual-volume mapping management table 13300, thus examining a WWN of the relevant data IF ID. Furthermore, the SAN manager retrieves an FC-connection switch table 333000 received from the virtualization switch 30000 and stored in the real depository 13400 by use of the WWN as a key, and retrieves which data IF of which switch the relevant host computer is being connected so that a result thereof can be registered as a destination-of-connection switch name 13305 and destination-of-connection switch data I/F ID 13306 (step 1830).
Owing to the above process, the information about the host computer is registered in the left half (host computer column) of the virtual-volume mapping management table 13300.
Then, the SAN manager performs a process for registering information in the left half (storage column) of the virtual-volume mapping management table 13300.
The SAN manager examines whether or not the volume registered in the volume management table is provided by the virtualization switch 30000, from the vendor name and device name registered as volume information in the volume management table 23300. Specifically, the SAN manager retrieves a device detecting list 13500 by use of the device name as a key, and checks the relevant device for a presence/absence of a virtualization function. In the case it has a virtualization function, decision is as provision from the virtualization switch 30000 (step 1840).
Incidentally, in the present embodiment, in the case the volume is provided from the switch A, the relevant volume is decided provided from the virtualization switch 30000. Depending upon the result of step 1840, the process branches as in the following (step 1850).
In the case the volume is provided from the other device than the virtualization switch 30000, the SAN manager registers the device name and volume ID registered in the volume information column of the volume management table 23300, as a storage name 13309 and volume ID 13311 in the storage column of the virtual-volume mapping management table 13300. Furthermore, the SAN manager retrieves the real-volume management table received from the storage device by use of the registered volume ID 13311 as a key, and investigates the ID of the data I/F for use in accessing the real volume thereby registering a result thereof as a storage data I/F ID 13310 (step 1860).
The SAN manager investigates the data I/F of a switch to which the registered storage data IF 13310 is to be connected, and registers a name and data I/F ID of the switch. Specifically, the SAN manager first retrieves the data I/F management table received from the storage device by use of the storage data I/F ID 13310 as a key, and investigates the WWN of the storage data I/F. Further, it retrieves the FC-connection switch table 33300 received from the virtualization switch 30000 by use of the WWN as a key and examines to which data I/F of which switch the relevant storage data I/F is connected. Then, the SAN manager registers an investigation result as a destination-of-connection switch name 13307 and destination-of-connection switch data I/F ID 13308 (step 1870).
At step 1850, in the case decided that the volume is provided from the virtualization device, the SAN manager performs the following process. First, the SAN manager registers the device name and volume ID registered in the volume information column of the volume management table 23300, as a storage name 13309 and volume ID 13311 in the virtual-volume mapping management table 13300. Furthermore, the SAN manager retrieves the virtual-volume management table 33500 received from the virtualization switch 30000 by use of the registered volume ID 13311 as a key, and investigates a virtual data I/F ID of the virtualization switch 30000 for use in accessing the virtual volume, thus registering a result thereof as a storage data I/F ID 13310 (step 1861).
Then, investigation is made for a switch data I/F corresponding to the virtual data I/F of the virtualization switch 30000, to register a switch name and data I/F ID. Specifically, the SAN manager retrieves the data I/F management table 33400 received from the virtualization switch 30000 by use of the storage data I/F ID 13310 as a key, and investigates a switch data I/F ID corresponding to the relevant virtual data I/F, thus registering a result thereof as a destination-of-connection switch name 13307 and destination-of-connection switch data I/F ID 13308 (step 1871).
In the case the volume management table 23300 is not stored in the real topology repository 13400 because the device is unregistered in the device detecting list 13500 and in the case the device is not provided with a management I/F, device type is exceptionally impossible to decide at the step 1850. Where there is no information registered in the volume information column of the volume management table 23300 in this manner, the storage column is rendered blank (step 1862).
When the SAN manager has executed the above step on all the entries in the volume management table received from the host computers and stored in the real topology repository 13400, the process of step 1730 completes.
The virtual-volume mapping management table producing step 1730 is as per the above.
FIG. 18 shows a detailed process flow of the real-volume mapping management table producing step 1740 to be executed by the SAN manager 13100. Meanwhile, FIG. 6 shows an example of the real-volume mapping management table produced by the process shown in FIG. 18.
The SAN manager 13100 executes the following process on all the entries of the virtual-volume mapping management table 13300 produced at step 1730 (step 1910).
First, the SAN manager produces a new entry and registers a newly assigned real mapping ID 13201 (step 1920). Then, based on the storage names of the entries in the virtual-volume mapping management table 13300, the SAN manager decides whether or not the device represented by the storage name has a virtualization function. Specifically, the device detecting list 13500 is looked up by use of the storage name 13309 as a key, to check for a presence/absence of virtualization function in the relevant device (step 1930).
In the case of having a virtualization function, the SAN manager performs the following steps. The SAN manager retrieves the virtual-volume management table 33500 received from the device represented by the storage name 13309 by use, as a key, of the volume ID 13311 in the entries of the virtual-volume mapping management table, and extracts an entry of virtual volume ID matched to the volume ID 13311 (step 1940).
Then, the SAN manager prepares the entries the same in the number as the entries obtained by the retrieval, in the real-volume management mapping table (step 1950).
Then, the SAN manager copies, for the prepared entry, the content (13202 to 13306) in the host computer column of the entry being currently processed of the virtual-volume mapping management table 13300, to the host computer column (13202 to 13206). To the switch data I/F ID column 13208 of the storage column, copied is the real data I/F ID content of the real-volume information column of the entry in the virtual-volume management table 33500 extracted at the step 1940. Meanwhile, to the storage name entry 13209 and volume ID entry 13211 of the storage column, copied is the storage name and volume ID registered as real-volume information in the real-volume information column of the relevant entry in the virtual-volume management table 33500. Meanwhile, to the corresponding virtual mapping ID column 13212, registered is the virtual mapping ID 13301 content of the virtual-volume mapping management table 13300. To the switch name column 13207 of the storage column, copied is the switch name 13307 content of the storage column of the virtual-volume mapping management table (step 1960).
Furthermore, the SAN manager retrieves the real-volume management table 43300 received from the storage device by use, as a key, of the volume ID registered in the volume ID 13211 of the storage column of the real-volume mapping management table 13212 to thereby retrieve the data I/F ID to which the relevant volume is to be connected, and registers it in the storage data I/F ID 13210 of the storage column of the virtual-volume mapping management table.
In the case decided not having a virtualization function at the step 1930, the SAN manager copies the entry now under processing (13302 to 13311) of the virtual-volume mapping management table 13300 to the entry (13202 to 13211) of the real-volume mapping management table 13200, to thereby register the virtual mapping ID 13301 content of the virtual-volume mapping management table 13300 to the corresponding virtual mapping ID 13212 of the real-volume mapping management table 13200.
By virtue of the above process, the entries 13201 to 13212 of the real-volume mapping management table 13200 are registered.
When the above steps have been executed on all the entries of the virtual-volume mapping management table 13300 by the SAN manager, the process shown at the step 1740 completes.
The real-volume mapping management table producing step 1740 is as per the above.
FIG. 19 shows an example of real-topology and virtual-topology display which the SAN manager 13100 has outputted onto the output section 15000, based on the mapping table shown in FIGS. 6 and 7. A real topology display 2010 is an output example representing the connection relationship between the host computers, the switches and the storages, depending upon the content of the real-volume mapping management table 13200. A virtual topology display 2020 is an output example representing the connection relationship between the host computers, the switches and the storages (including virtual storages) depending upon the content of the virtual-volume mapping management table 13300.
Consider the case that the SAN administrator gives an instruction to the input section of the management computer to designate a virtual mapping 2021 of from virtual volume vv1 to host computer H1, on the virtual topology display 2020, for example.
The virtual mapping 2021 is displayed based on the data registered on the line where the virtual mapping ID 13301 is given vm2 in the virtual-volume mapping management table 13300 shown in FIG. 7. When such a virtual mapping 2021 is designated by the SAN administrator, the SAN manager retrieves the real-volume mapping management table 13200 shown in FIG. 6 by use, as a key, of the virtual mapping ID vm2 corresponding to the virtual mapping 2021. Then, the SAN manager displays a real mapping in the real topology display 2010, depending upon the data registered for all the lines where the corresponding mapping ID 1312 is given vm2, in the real-volume mapping management table 13200. The real mapping displayed as a result thereof is the real mapping 2011 shown in FIG. 19.
Meanwhile, consider the case that the SAN administrator gives an instruction to the input section of the management computer to designate a real mapping of from real volume va2 to host computer H1, on the real topology display 2010, for example.
The virtual mapping of from real volume va2 to host computer H1 is displayed based on the data registered for the line where the real mapping ID 13201 is given pm2 in the real-volume mapping management table 13200 shown in FIG. 6. When such a real mapping is designated by the SAN administrator, the SAN manager retrieves the virtual-volume mapping management table 13300 shown in FIG. 7 by use, as a key, of the virtual mapping ID 13212 value vm2 stored in the real mapping entry. Then, the SAN manager displays a real mapping 2021 in the virtual topology display 2020, depending upon the data registered for all the lines where the corresponding mapping ID 1312 is given vm2 in the virtual-volume mapping management table 13300. Meanwhile, the SAN manager also retrieves the real-volume mapping management table 13200 shown in FIG. 6 by use, as a key, of the value vm2 of virtual mapping ID 13212, thus retrieving the other lines where the virtual mapping ID 13212 has a value vm2. In case there is a matched one, the matched real mapping is displayed in the real topology display 2010. The virtual mapping displayed as a result thereof is the virtual mapping 2021 shown in FIG. 19.
Incidentally, though not shown in detail, there can be considered the following three methods as other ways to output a result in the embodiment.
The first method is a method that, by giving an instruction to the input section of the management computer by the SAN administrator, configuration information, such as a real-volume mapping table, a virtual-volume mapping table and a corresponding relationship between a real volume and a virtual volume, is outputted in a format readable by the SAN administrator, e.g. in a text form.
The second method is a method that, by giving a command input at the input section of the management computer by the SAN administrator, configuration information like the above is outputted as an output result of the input command.
The third method is a method that another SAN-management software, etc. executes an application program interface (hereinafter, abbreviated as API) disclosed in order for the SAN manager to output the configuration information, to give an output as an API return value.
As a result of those, the SAN administrator is allowed to easily know a relationship between a real volume and a virtual volume through a mutual topology display as a start point.
By virtue of the configuration management technique of virtual and real volumes shown in the embodiment, the SAN administrator is allowed to easily know the relationship between host computer and virtual volume and the relationship between virtual and real volumes even where the SAN is in a complicated configuration.
Description is now made on modifications to the embodiment. The present modification demonstrates a failure influential range detecting function which is to detect an influential range of a storage system failure upon real and virtual volumes by use of the corresponding relationship between real and virtual volumes on a storage network, in a SAN having a switch-and-virtualization device.
For the failure monitor function based on the existing SAN management software, it is a frequent practice to use an SMP protocol trap message, defined under RFC1157 “A Simple Network Management Protocol (SNMP)” prepared by IETF (Internet Engineering Task Force). However, because the volume allocated to the host computer is virtualized by the virtual storage technique, there is a difficulty in specifying a failure point on a virtual-volume level.
For this reason, in this modification, the management computer holds an event dictionary for construing the content of a failure notification message received from the devices on the SAN, in addition to the configuration shown in FIG. 2. The SAN manager, received a failure notification issued from the device, is to detect an influence of the failure upon the I/O access to a real volume, based on the SAN configuration information acquired from the event dictionary or the management agent and stored in the real topology depository. Furthermore, the SAN manager is to look up virtual-volume mapping information and detect an influence of the failure upon the I/O access to a virtual volume. The SAN manager outputs the detection result of those by an association with virtual-volume and real-volume mapping information, thereby relieving the SAN manager of the burden imposed in specifying a failure and taking a measure.
SAN Configuration
Description is made on the configuration of a SAN and devices on the SAN in the present modification, only on the point different from the foregoing embodiment.
FIG. 20 shows a configuration example of a management computer 10000 in the present modification. In this modification, the management computer 10000 has, in the nonvolatile storage memory 13000, one or more event dictionaries 13600 for construing the content of a failure notification message received from the device on the SAN, and a failure log 13700 for recording event contents.
FIGS. 26A and 26B show a format of a SNMP Trap message the SAN manager on the management computer 10000 is to receive from the devices on the SAN, and an example of an SNMP Trap message. Here, the SNMP message refers to a failure notification message to be sent by the management agent of the in-SAN device to the management computer 10000. FIG. 26A illustrates a SNMP Trap message format. The SNMP message is structured with the fields of a message header, a community name the message is to be sent, a PDU (Protocol Data Unit) Type representative of a message type, Enterprise representative of a vendor name of destination device, Agent Address representative of a destination IP address, Generic Trap Type and Specific Trap Type representative of a Trap message type, Time Stamp representative of a message transmission time, and a Variable Bindings storing a message content. When the PDU Type field has a value “4”, the relevant message is identified as an SNMP Trap message. Meanwhile, when the Genetic Trap Type field has a value “6”, the relevant SNMP Trap message is identified as a Trap message based on the definition unique to a source device vendor. There is a need to construe a Trap message depending upon the content of the Specific trap field and Variable Binding field (the underlined in the figure).
FIG. 26B shows an example of an SNMP Trap message which the storage device S1 40000 is to forward in order to notify a hardware failure in its own device, in the present modification. The message shown in FIG. 26B is to be recognized as an SNMP Trap message because its PDU Type is “4”, and as a Trap message based on the definition unique to the source vendor because its Generic Trap Type is “6”. Furthermore, this modification is assumed under the vendor's definition that failure codes are stored to represent a failure type in the Specific Trap Type and a failure occurrence point in the Variable Bindings. Accordingly, the SNMP Trap message shown in FIG. 26B represents that a hardware failure is occurring at a point identified by a failure code 30c1.
FIG. 21 shows an example of a SNMP Trap message conversion list concerned with storage device S1 which the management computer 10000 possess in the event dictionary 13600. This list is a listing of in what point a failure is represented by the failure code in the Variable Bindings field of the SNMP Trap message issued by the storage device S1, being registered with a failure occurrence point corresponding to the failure code and an identifier of the relevant failure occurrence point.
FIG. 22 shows a failure log 13700 possessed by the management computer 10000. The failure log is registered with an event ID assigned upon receiving a failure notification message by the SAN manager, a source device name of the failure notification message, an in-device point of trouble occurrence, an ID of the real mapping including the point, and an ID of the virtual mapping including the point.
Failure Influential Range Detecting Process Upon Real and Virtual Volumes in Storage System Failure
FIG. 23 shows a flowchart 2400 of a failure influential range detecting process to be executed by the SAN manager 13100 on the management computer 10000. The steps in the below are assumed to be executed by the SAN manager 13100 unless otherwise described.
The SAN manager 13100 waits until an SNMP Trap message is received from a certain device (step 2410).
After receiving a message, the SAN manager extracts an IP address of message-issued device from the Agent Address field of the message (step 2415) and retrieves the device detecting list 13500 stored in the real topology repository 13400 by use of the extracted IP address as a key (step 2420).
In the case there is no IP address in the device detecting list 13500, the SAN manager is not allowed to analyze a Trap message content because the Trap message is from an unregistered device. Accordingly, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, to output an IP address as a failure device and a Trap message itself as a failure point (step 2465), thus ending the process.
At step 2420, in the case the IP address as extracted is present in the device detecting list 13500 and hence the device issued the Trap message can be specified, the SAN manager confirms whether the management computer 10000 has an event dictionary for the relevant device (step 2425).
In the case detected as a presence of an event dictionary, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, thus registering a device name (step 2430).
Subsequently, the SUN manager retrieves the event dictionary by use, as a key, of the Variable Bindings field of the Trap message, and specifies a failure point, thus registering the failure point and its identifier in the failure log 13700 (step 2430).
In the case there is provided no event dictionary at the step 2425, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, thus registering a device name (step 2431).
Meanwhile, the SAN manager regards the failure point as the device entirety and hence registers the device entirety as a failure point in the failure log 13700, thus continuing the subsequent step (step 2436).
After registering the failure point in the failure log 13700, the SAN manager examines whether the registered point has a relation to a real volume (step 2440).
Specifically, the SAN manager retrieves whether there is a matching entry in the real-volume mapping management table 13200, by use, as a key, of a failure device name and a failure point or its identifier. In case there is a matching entry, the SAN manager extracts a real mapping ID 13201 and virtual mapping ID 13212 from the entry, and copies those respectively as a real volume and a virtual volume to the entry under production of the failure log 13700 (step 2445).
Finally, the SAN manager outputs the entry content of the produced failure log, as a failure message (step 2450).
After processing the above, the flowchart 2400 is ended.
FIG. 22 shows a failure log produced as a result of executing the process shown in FIG. 23 by the SAN manager received a SNMP Trap message, when SNMP Trap message is issued, including a failure code 30c2 representative of a failure on the data I/F c2, from the storage A.
The data I/F c2 of the storage A, in the real-volume management table 13200, is corresponded to the virtual mapping ID vm2 while the virtual mapping ID vm2, in the real-volume management table 13200, is corresponded to the real mapping ID pm2 and real mapping ID pm3. Thus, the failure log 13700 has such a content as shown in FIG. 22.
FIG. 24 shows an example of a failure notification message which the SAN manager is to output to the output section 15000 with reflecting the content of the failure log shown in FIG. 22 in the real topology display and virtual topology display shown in FIG. 19.
The output example based on the content of the real-volume mapping management table 13200 is the real topology display 2010. In the real topology display, a real mapping represented by a real mapping ID registered in the failure log 13700 is displayed as a real mapping 2111 to undergo the influence of failure. Furthermore, displayed is an LU ID 13203 registered in the real-volume mapping management table 13200 correspondingly to the failure device name registered in the failure log 13700, the failure point and the real mapping ID registered in the failure log (in-real-topology-display failure notification message 2012).
Furthermore, the SAN manager displays a virtual mapping represented by the virtual mapping ID registered in the failure log 13700, as a virtual mapping 2121 to undergo the influence of failure, in the virtual topology display 2020 outputted based on the content of the virtual-volume mapping management table 13300. Meanwhile, displayed also is a volume ID 13311 registered in the virtual mapping management table 13300 correspondingly to the failure device name registered in the failure log 13700, the failure point and the real mapping ID registered in the failure log (in-virtual-topology-display failure notification message 2012).
Incidentally, the following six methods can be considered as other ways to output a result in the present modification, though not shown in detail.
The first method is a method to output the failure log held in the management computer in a format the SAN manager can read, e.g. in a text form, by giving an instruction at the input section of the management computer by the SAN manager.
The second method is a method to output the failure log as an output result of the input command by giving a command-input at the input section of the management computer by the SAN manager.
The third method is that other SAN management software, etc. executes the API disclosed in order to output the configuration information by the SAN manager, thereby making an output as an API return value.
The fourth method is a method that the management computer outputs a failure log in compliance with a log output protocol, e.g. syslog protocol.
The fifth method is a method that the management computer outputs, as a SNMP Trap, a failure log to another SAN management program established beforehand by the SAN administrator.
The sixth method is a method that the management computer notifies a failure log to a management-operator's mail/cellular phone/pager established beforehand by the SAN administrator.
By using the failure management function for detecting an influential range of a storage system failure upon real and virtual volumes shown in this modification, the SAN administrator is allowed to easily know what affection the hardware failure of the device exerts to a real and virtual volumes.
By virtue of the virtual-volume management function of the virtualization device, the SAN administrator is allowed to allocate a virtual volume on the host computer without being conscious with the real volume of a multiplicity of storage devices different in kind. Nevertheless, where allocating a virtual volume on the host computer in consideration of performance and reliability for example, the SAN administrator, in a certain case, desires to allocate the virtual volume consciously of the connection relationship between the real volume constituting a virtual volume and the host computer and its real volume. Meanwhile, on the SAN requiring such high availability and reliability as 24-hour-based operation without shutdown all the year round, a configuration for fail-over, i.e. normal and standby systems, is provided in preparation for emergency. In such an environment, there is a need of a system design conscious of a physical configuration not to share resource between the normal and standby systems. Accordingly, when producing a virtual or real volume in a virtualization environment, there is a need of a function to check by which physical resource the volume is to be provided.
Therefore, the following modification (hereinafter, “modification 2”) shows a volume allocating function to be provided by the SAN manager, on the SAN having a switch-and-virtualization device. Specifically, described is an art that, when the SAN administrator produces a virtual volume by use of the SAN manager, the SAN manager provides a related piece of virtual-volume mapping information or real-volume mapping information thereby assisting the SAN administrator in producing a virtual volume. In this modification, the management computer checks the SAN administrator's virtual-volume producing request, on the basis of the virtual-volume or real-volume mapping information. The management computer is configured such that, when the volume, being requested to produce, shares resource with the volume already allocated, the fact is outputted and notified to the SAN administrator.
SAN Configuration
The SAN and the devices on the SAN, in this modification 1, may be configured similarly to the embodiment or the modification, and hence omitted to explain.
Volume Allocation Process
FIG. 25 shows a volume allocation processing flowchart 2600 to be executed by the SAN manager 13100 on the management computer 10000. The steps in the below are assumed to be executed by the SAN manager 13100 unless otherwise described. The SAN manager 13100 accepts an input value for volume allocation from the SAN administrator (step 2610). Here, the input value means virtual-volume attributes (host computer destined for allocation, capacitance, required performance, etc.) which the SUN manager intends to produce. Meanwhile, although the virtual-volume management table 14130 copied in the real-topology repository 13400 is already recognized with a virtualization switch 30000, it also registered with the information of a real volume not yet used as a virtual volume (hereinafter, unused real volume). Accordingly, it can be considered to input one or more unused volumes for producing a virtual volume and directly designate the unused volume instead of inputting a capacity or performance by the SAN administrator.
Using the provided input value as a key, the SAN manager 13100 retrieves the real-volume mapping management table 13200 and virtual-volume mapping management table 13300 (step 2620). Specifically, the SAN manager 13100 retrieves the real-volume mapping management table and virtual-volume mapping management table by use, as a key, of the host computer destined for allocation accepted from the san administrator, and extracts the information of a virtual volume already allocated to the allocated host computer and of a real volume corresponding to the virtual volume. Meanwhile, in the case not designated with an unused volume constituting the virtual volume as an input value, the SAN manager extracts the information of one or more unused volumes matched to the condition represented by the input value such as a capacity by retrieving the virtual-volume management table 33500.
Based on a retrieval result, the SAN manager outputs a list of unused volumes constituting a virtual volume to be allocated and the information of the virtual volume already allocated to the host computer destined for allocation and of the real volume corresponding to the virtual volume (step 2630).
On this occasion, in the case resource is shared between the unused volume to be allocated to the host computer and the virtual volume already allocated to the relevant host computer and the real volume corresponding to the virtual volume (e.g. there is a real volume held by the same storage device), the fact thereof is outputted. This allows the SAN administrator to allocate the virtual volume to the host computer such that resource is not shared between the normal and standby systems (e.g. not to use the storage domain of the same storage device). Namely, in the case outputted is a massage that resource is shared by the unused volume to be allocated to the host computer and the volume allocated to the relevant host computer, it is satisfactory to input the fact, not to implement a configuration change, to the management computer.
Then, the SAN manager accepts a result of a SAN administrator's decision of whether to implement a configuration change according to the output information (step 2640). In case the change is allowed, the change is implemented (step 2650). If not so, the change is canceled (step 2660). Following the above, the flowchart 2600 is ended. Incidentally, in the case resource is shared between the unused volume to be allocated to the host computer and the volume already allocated to the relevant host computer, the SAN management computer may take a control not to implement a configuration change.
By the volume allocation process shown in this modification, the SAN administrator is allowed to easily produce a virtual volume consciously of a real volume even in an operation status of the virtual-volume management function.
The embodiment, the modification thereof and the modification 1 were assumed based on the configuration with a virtualization switch. In another modification (hereinafter, “modification 2”), the storage device is assumed based on a virtualization storage device having a volume virtualization program, in which configuration the configuration management function, failure management function and volume allocation function can be also realized as is shown.
SAN Configuration
Description is made on the SAN configuration in modification 2. This embodiment has a configuration nearly similar to the foregoing modification but different in that a switch SW2 is a switch not having a volume-virtualization function and in that a storage device S3 is a virtualization storage device having a volume virtualization function. Hence, different points only are shown in FIGS. 27 to 31, to omit the other explanations.
FIG. 27 shows a SAN configuration example in the present modification. On the SAN in this embodiment, mutual connection is assumed to be provided between two host computers (H1, H2) 20000, one switch (SW2) 80000, one virtualization storage device (S3) 90000 and one storage device (S2) 50000, through a fiber channel 60000. In this connection form, the virtualization storage device S3 90000 is to recognize a real volume 57000 of the storage device S2 50000 through the switch 30000. By applying a volume virtualization function, it is provided as a virtualization volume by the virtualization storage device S3 9000 to the host. Incidentally, as for the connection form between the virtualization storage device S3 90000 and the storage device S2 50000, the virtualization storage device S3 90000 and the storage device S2 50000 may be directly connected by a fiber channel 60000, as in the configuration shown in FIG. 28 for example. Besides, direct connection and via-switch connection may be both used as in the configuration example shown in FIG. 29.
The management computer 10000, the host computer 20000 and the storage device S2 50000 are similar in configuration to those of embodiment 2, and hence omitted to explain.
FIG. 30 shows a configuration example of the switch 80000 in this modification. The difference between the switch 80000 and the virtualization-and-switch 30000 in embodiment 2 lies in that there are stored, on a nonvolatile memory 83000 such as a hard disk, only a management agent 83100 as a program to communicate with the SAN manager 13100 and exchange the management information about the switch SW2 therewith, and an FC-connection management table 83200 as information representative of a connection relationship between the switch and the servers and storage devices through the fiber channel 60000. In other words, there are not stored a volume virtualization program 33200 and a virtual-volume management table 33500.
FIG. 31 shows a detailed configuration example of the virtualization storage device S3 as a virtualization-and-storage device in this modification. The difference of the virtualization storage device S3 90000 from the storage device S1 40000 in the modification lies in that having one or more virtual volumes 88000 as a storage domain for providing a real volume held by another storage device to the server through virtualization by means of a virtual volume function and in that storing, in the nonvolatile memory 83000 such as a hard disk, a volume virtualization program 83400 for realizing the volume virtualization function and a virtual-volume management table 83500 holding virtual-volume management information to be provided to the servers by the relevant storage device. Incidentally, although in this modification the virtualization storage device S3 has two data I/Fs, two real volumes and two virtual volumes, the data I/F, real volume and virtual volume may be any in the number. The data I/F, the real volume and the virtual volume each have an identifier unique within the device (data I/F ID, real volume ID, virtual volume ID). In this embodiment, the data I/F ID is assumed a value c1, c2, the volume ID is assumed a value va1, va2 and the virtual volume ID is assumed a value vv1, vv2.
Now description is made on the management information provided in the device in this modification, only on the points different from the foregoing modification.
FIG. 34 shows an example of a device detecting list 13500 held by the management computer 10000. The device detecting list 13500 is not different in table structure from FIG. 8. The difference in the modification lies in that the switch SW2 does not have a virtualization function and the virtualization storage device S3 has a virtualization function.
FIGS. 35A and 35B show an example of a data I/F management table held by each of the host computers 20000. This is not different in table structure and content from FIG. 9.
FIG. 36 shows an example of a volume management table held by each of the host computer. The volume management table is not different in table structure from FIG. 10. The difference in this embodiment lies in that the host computer H1 is provided with three volumes while the host computer H2 is not provided with a volume at all.
FIG. 37 shows an example of an FC-connection management table 83300 held by the switch. The FC-connection management table is also not different in table structure and content from FIG. 11.
FIG. 38A shows an example of a data I/F management table 93200 held by the virtualization storage device S3 while FIG. 38B shows an example of a data I/F management table 53200 held by the storage device S2. The data I/F management table is also not different in table structure and content from FIG. 14.
FIG. 39A shows an example of a real-volume management table 93300 held by the virtualization storage device S3 while FIG. 38B shows an example of a real-volume management table 53300 held by the storage device S2. The real-volume management table is not different in table structure from FIG. 15. The difference in content lies in that the volumes possessed by the virtualization storage device S3 and storage device S2 are different and in that the volume va2 possessed by the virtualization storage device S3 has a value “virtual” stored in the path presence/absence column in order to show that it is to be provided as a virtual volume by the volume virtualization function. When the value “virtual” is stored in the path presence/absence column, “N/A (Not Applicable)” representative of a value absence is stored in the columns of data I/F ID, SCSI ID and SCSI LUN.
FIG. 40 shows an example of a virtual-volume management table 93500 held by the virtualization storage device S3. The virtual-volume management table is not different in table structure from FIG. 13. The difference in content lies in a difference in the virtual volume provided by the virtualization storage device S3. Incidentally, in this modification, the virtual volume vv1 is constituted by two real volumes va2 and vb1. Meanwhile, the virtual volume vv2 is constituted by one real volume vb2, whose volume is not yet allocated to the host. Hence, “N/A (Not Applicable)” representative of a value absence is stored in the columns of data I/F ID, SCSI ID and SCSI LUN.
Configuration Management Function
Description is now made on the real-and-virtual volume configuration management process to be executed by the SAN manager 13100 on the management computer 10000 in this modification 2.
In the real-and-virtual topology display process flowchart 1700 described in the embodiment, there are no steps to be undergone by the existence of the volume virtualization function in the storage device. Accordingly, the real-and-virtual topology display process flowchart 1700 in this modification is the same as the above embodiment. Explanation is omitted.
In the detailed process flow of the virtual topology mapping management table producing step 1730 described in the embodiment, there are steps to be undergone by the existence of the volume virtualization function in the storage device, as described later. Accordingly, description is made on the detailed process flow 1730 of the virtual topology mapping table producing step 1730 in this modification, as to the difference from the embodiment.
FIG. 41 shows a flowchart representing a detailed process of the virtual-volume mapping management table producing step 1730 to be executed by the SAN manager 13100.
The steps 1810 to 1850 are similar to those in the FIG. 17 flowchart, and hence omitted to explain.
At step 1850, the flow, in the case decided that the volume is provided from the other storage device than the virtualization device, is similar to that in FIG. 17 flowchart, and hence omitted to explain.
Meanwhile, explanation is omitted for the flows for the case the volume management table 23300 is not stored in the real topology repository 13400 because the device is unregistered in the device detecting list 13500, and for the case the device does not have a management I/F, because they are similar to those in FIG. 17 flowchart.
At step 1850, in the case decided the volume is provided from the virtualization device, the SAN manager executes the following process. First, the SAN manager decides whether the relevant volume is a real volume of a virtualization device or a virtual volume (step 1880). Specifically, it is satisfactory to examine whether the volume ID of the relevant volume exists in a real volume management table of a virtualization storage device or in a virtual volume management table.
At step 1880, when the relevant volume is decided as a real volume, the process jumps over to step 1860 in order to handle the relevant volume as a real volume in the subsequent process.
At step 1880, when the relevant volume is decided as a virtual volume, the process jumps over to step 1861 in order to handle the relevant volume as a virtual volume in the subsequent process.
The flow of the step 1861 and subsequent is similar to that of the FIG. 17 flowchart, and hence omitted to explain.
The virtual-volume mapping management table producing step 1730, to be executed by the SAN manager 13100, is as per the above. Incidentally, the present flow may be operated as a virtual-volume mapping management table producing step 1730 in embodiment 1.
In the detailed process flow 1740 of the real-volume mapping management table producing step 1740 described in the embodiment, there are no steps to be undergone by the existence of the volume virtualization function in the storage device. Accordingly, the detailed process flow 1740 of the real-volume mapping management table producing step 1740 described in the embodiment is similar to that of the flowchart 1740 shown in FIG. 18, and hence omitted to explain.
FIG. 32 shows a real-volume mapping management table while FIG. 33 shows a virtual-volume mapping management table, those of which are to be produced as a result of a virtual-volume and real-volume configuration management process executed by the SAN manager in this modification. Here, the entry, whose virtual mapping ID is vm1 in the virtual-volume mapping management table, has been decided and produced as a real volume due to the addition of the virtual-volume mapping management table producing step 1880 shown in FIGS. 41A and 41B described in the present embodiment. Meanwhile, the entry, whose virtual mapping ID is vm2 in the virtual-volume mapping management table, has been decided and produced as a virtual volume due to the addition of the foregoing step 1880. In this manner, by the addition of the step 1880, the SAN manager is allowed to produce a virtual-volume mapping management table even where the virtualization device is in a configuration having a real volume.
FIG. 42 shows an example of a real topology display and virtual topology display which the SAN manager 13100 has outputted onto the output section 15000 depending upon the mapping table shown in FIGS. 32 and 33. As for virtual topology display 2020, virtual mapping 2021, real topology display 2010 and real mapping 2011, display is possible by using the method described in the embodiment. Thus, explanation is omitted.
Incidentally, other three methods of outputting a result described in the embodiment are also applicable to this modification though the detail thereof is not shown.
Failure Influential Range Detecting Function
In the failure influential range detecting process flowchart 2400 shown in the modification, there are no steps to be undergone by the existence of the volume virtualization function in the storage device. Accordingly, the failure influential range detecting process flowchart, to be executed by the SAN manager 13100 on the management computer 10000 in this modification, is similar to the flowchart 2400 in the embodiment. Explanation is omitted.
For example, consider the case that there is provided an event dictionary related to the virtualization storage device S3 as shown in FIG. 43 while an SNMP Trap message containing a failure code 30va2 representative of a real volume va2 failure has been issued from the virtualization storage device S3.
The SAN manager received the SNMP Trap message is allowed to generate a failure log as shown in the event ID 1001 in FIG. 44 by executing the failure influential range detecting process flowchart 2400.
Meanwhile, in case using the failure log, the SAN manager is allowed to display an in-real-topology-display failure notification message 2012 and in-virtual-topology-display failure notification message 2022 as shown in FIG. 45 by the same method as the method described in the modification.
Incidentally, other six methods of outputting a result described in the embodiment are also applicable to this modification though the detail thereof is not shown.
Volume Allocation Function
In the volume allocation process flowchart 2600 described in modification 2, there are no steps to be undergone by the existence of the volume virtualization function in the storage device. Accordingly, the volume allocation process flowchart 2600 in this modification is the same as that of modification 2.
In also the configuration that the storage device is a virtualization storage device having a volume virtualization program, realized is the configuration management function, failure management function and volume allocation function.
In the following modification 3, description is made on a failure associating function and failure-significance-degree changing function for relieving the SAN administrator of a management burden on the SAN having a storage-and-virtualization device.
The failure associating function is concretely a function that the SAN manager, received a failure notification issued by a plurality of devices, analyzes whether it is a failure message related to the relevant failure message among the failure messages received in a constant period before receiving the failure message, on the basis of the SAN configuration information acquired from the event dictionary or the management agents and stored in the real topology repository and examine the relationship among the failure messages.
Meanwhile, the failure-significance-degree changing function is concretely a function that consistent severity is defined for the failure messages on a plurality of devices to be received by the SAN manager thus allowing the SAN manager to inform a failure by a method according to the definition.
SAN Configuration
The SAN configuration in this modification is similar to the SAN configuration shown in FIG. 27. However, because the table held by the management computer 10000 is partly different, description is made only on the different points.
FIG. 46 shows a detailed configuration of a management computer 10000 in this modification. The difference from the modification 2 management computer 10000 lies in that the event dictionary 13600 is different in table structure, in that the failure log 13700 is different in table structure and in that a failure severity-change table 13800 is provided. The others than that are similar to the detailed configuration of the modification 2 management computer 10000, and hence omitted to explain.
FIGS. 47A to 47D show an example of the event dictionary 13600 possessed by the SAN management server 10000. FIG. 47A shows an event dictionary on the virtualization storage device S3, FIG. 47B an event dictionary on the storage device S2, FIG. 47C an event dictionary on the host computer H1 and FIG. 47D an event dictionary on the switch SW2. Those dictionaries are for use in analyzing the SNMP Trap message issued from the device during a failure occurrence, which are detailed later. The failure code column is registered with a failure code in the Variable Bindings field of the SNMP message, the failure point column is with a failure occurrence point corresponding to the failure code, the identifier column is with an identifier for specifying a failure occurrence point, the cause column is with a cause of message issuance, the severity column is with a Trap severity in the Specific Trap Type field of a SNMP message.
FIG. 48 shows a failure log 13700 possessed by the SAN management server 10000. The failure log is registered with an event ID allocated when the SAN manager receives a failure notification message, a time of failure occurrence, a source device name of a failure notification message, a failure code in a failure notification message, an ID of a real mapping including the relevant point, an ID of a virtual mapping including the relevant point, and a relation with another failure event.
FIG. 49 shows an example of a failure severity-change table possessed by the SAN management server 10000. This conversion table defines a common severity with respect to the failure messages on a plurality of devices to be received by the SAN manager and an operation the SAN manager is to perform in accordance with the common severity, in a failure notification process including a severity-change function for the SAN manager, referred later. This table is assumed to be defined by the SAN administrator during architecting a SAN environment.
The failure severity-change table is registered with a common severity with respect to failure messages on a plurality of devices, severities of the respective devices corresponding to the common severity, and an operation the SAN manager is to carry out in accordance with the common Severity.
In the FIG. 49 case for example, when the virtualization storage device S3 has a severity “3” and when the storage device S2 has a severity “4”, “5” or “6”, the common severity is regarded as “3” on the SAN environment. As a result, the SAN manager sends only the failure message information about the virtualization storage device S3 as a SNMP Tap, and sends it by mail to the SAN administrator.
Incidentally, the severity-change table is defined based on the configuration information about the SAN. In the severity-change table shown in FIG. 49, the severity 3 on the virtualization storage device S3 and the severity 4-5 on the storage device S2 are associated as a common severity 3. As for a failure notification message on the common severity 3, definition is made to send only the failure information about the virtualization storage device S3 as a SNMP Trap, and send it by mail to the SAN administrator. This is because the virtualization storage device S3 provides, by virtualization, the real volume held by the storage device S2 to the host computer so that the input/output request exchanged with the storage device S2 can be exchanged with the host computer through the virtualization storage device S3. Accordingly, definition is made such that the severity on the virtualization storage device S3 and the severity on the storage device S2 are associated to output only the failure information about the virtualization storage device S3 for virtualization of the real volume of the virtualization storage device S3 and storage device S2.
Failure Associating Function
FIGS. 50A and 50B show a flowchart 2400 illustrating an example of a failure associating process to be executed by the SAN manager 13100. The steps in the below are assumed to be executed by the SAN manager 13100 unless otherwise described.
The SAN manager 13100 waits until a SNMP Trap message is received from a certain device (step 2410).
After receiving the message, the SAN manager extracts an IP address of message-issued device out of the Agent Address field of the message (step 2415) and retrieves the device detecting list 13500 stored in the real-topology repository 13400 by use of the extracted IP address as a key (step 2420).
In the case there is no IP address in the device detecting list 13500, the SAN manager cannot analyze the content of the Trap message because the Trap message is from a unregistered device. Accordingly, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, to output an IP address as a failure device and a Trap message itself as a failure point (step 2465). The process jumps to step 2455, referred later.
At step 2420, in the case the extracted IP address exists in the device detecting list 13500 and the device issued the Trap message can be specified, the SAN manager confirms whether there is provided an event dictionary as to the relevant device (step 2425).
In the case there is provided an event dictionary at the step 2425, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, and extracts a failure occurrence time from the Timestamp field of the message and registers it in the time column, further registering a device name. Furthermore, the event dictionary is retrieved by use, as a key, the Variable Bindings field of the Trap message. In case there is registered a failure code, the relevant failure code is registered in the failure code column (step 2430).
In the case decided that there is not provided an event dictionary at the step 2425, the SAN manager produces a new entry in the failure log 13700 and allocates an event ID thereon, and extracts a failure occurrence time from the Timestamp field of the message and registers it in the time column, further registering the device name. Furthermore, the SAN manager regards the failure point as the device entirety and registers it as “device entirety” in the failure code column, continuing the following steps (step 2431).
After ending the step 2430 or step 2431, the SUN manager examines whether the failure point represented by the registered failure code has a relation to a real-volume mapping or virtual-volume mapping (step 2435). Specifically, a failure point and its identifier is retrieved through the entries of the event dictionary of a registered failure device name by use of the failure code as a key. Then, the real-volume mapping management table 13200 is retrieved whether there is a matching entry by use, as a key, of the failure device name and the failure point or failure point identifier. In case there is a matching entry, the SAN manager extracts a real mapping ID 13201 and virtual mapping ID 13212 from the entry, and registers it in a real-volume column and virtual-volume column of an entry under production of the failure log 13700.
Thereafter, the SAN manager examines whether the specified failure point has a relation to virtual-volume management (step 2440). Specifically, the virtual-volume management table 43500 is retrieved whether there is a matching entry by use, as a key, of the failure device name retrieved at the step 2435 and the failure point or failure point identifier. In case there is a matching entry, the SAN manager extracts a virtual volume ID from the entry. Furthermore, by using the extracted virtual-volume ID as a key, the real-volume mapping management table 13200 is retrieved whether there is a matching entry, to extract a real mapping ID 13201 and virtual mapping ID 13212 into registration in an actual volume column and real volume column of an entry under production of the failure log 13700.
After registering the relationship between a real volume mapping and a virtual volume mapping in the entry under production of the failure log at steps 2435 and 2440, the SAN manager examines a relation of the relevant entry under production with another failure log entry. First, the SAN manager examines whether the entry under production is due to a hardware malfunction or an erroneous access to other point (step 2445). Specifically, the cause is retrieved through the entries of the event dictionary of a registered failure device name by use of the failure code as a key.
In the case the cause examined at the step 2445 is a hardware malfunction, the event under production is decided as a “parent event” possibly to trigger other failures and registered as a “parent event” in the event-related column (step 2450).
In the case the cause investigated at the step 2445 is due to an erroneous access to other point, the event under production is decided as a “child event” possibly occurred by the other cause of other failure event and registered as a “child event” in the event-related column (step 2451).
Finally, the SAN manager outputs the entry content of the produced failure log as a failure message (step 2455). By the above, the flowchart 2400 is ended.
The failure associating process flowchart is as per the above.
Here, description is made on the concrete example of a failure associating process on the SAN manager 10000 illustrated by the flowchart 2400.
FIG. 51 is a figure showing an example as to in what way the failure log entry described in FIG. 48 is outputted by the failure associating process shown by the flowchart 2400. Here, event IDs 1000, 1001, 1002, 1003 are four failure messages occurred by a hardware malfunction at the data I/F ID d1 of the storage device S2. Accordingly, description is made below as to in what way the four failure messages are to be analyzed and associated together.
When receiving a failure message of event ID 1000, the SAN manager at step 2430 analyzes it as a hardware malfunction at the data IF ID d1 of the storage device S2. Furthermore, at step 2435, it can be known related to a real-volume mapping pm2 and virtual-volume mapping vm2. Furthermore, from step 2445, the hardware malfunction is known as a “parent event”.
Then, when receiving a failure message of event ID 1001, the SAN manager at step 2430 analyzes that an erroneous access is caused upon expanding the virtual-volume vv1 I/O of the virtualization storage device S3 in a real volume vb1. Furthermore, at step 2435, it can be known related to a real-volume mapping pm2 and virtual-volume mapping vm2. Furthermore, from step 2445, the erroneous access is known as a “child event”. Likewise, the failure message of event ID 1002 and the failure message of event ID 1003 are known as “child events”.
In outputting a failure message at step 2455, the SAN manager examines the real volume column, virtual volume column and event-related column of the failure messages issued within a constant time, and specify the presence/absence of relation to failure messages and any one of “parent event” and “child event” when related. Here, the “constant time” is a time the SAN administrator previously designated and constituting a unit of failure association. The event IDs 1000, 1001, 1002, 1003, in FIG. 17, are each associated with the real volume mapping pm2 and virtual volume mapping vm2, and wherein the event ID 1000 can be seen as a parent event. Accordingly, in the failure-event list window 2030 in FIG. 23, it is possible to show an association, e.g. a symbol 2031, in the event-related column, for example.
Meanwhile, when the SAN administrator designates a certain particular failure event, e.g. event designation 2032, the SAN manager 10000 may illustrate a real topology mapping corresponding to the designated event, e.g. real topology mapping display 2011, in a real-topology display window 2010. Furthermore, the designated event may be displayed in a manner easy to understand, just like a failure notification window 2012.
Meanwhile, although not shown in detail, the following six methods can be considered as other ways to output a result in the present modification.
The first method is a method to output the failure log, held in the management computer, in a format the SAN manager can read, e.g. in a text form, by giving an instruction at the input section of the management computer by the SAN manager.
The second method is a method to output the failure log as an output result of the input command by giving a command-input at the input section of the management computer by the SAN manager.
The third method is a method that other SAN management software, etc. execute the API to be disclosed in order to output the configuration information by the SAN manager, thereby making an output as an API return value.
The fourth method is a method that the management computer outputs a failure log in compliance with a log output protocol, e.g. syslog protocol.
The fifth method is a method that the management computer outputs, as a SNMP Trap, a failure log to another SAN management program established beforehand by the SAN administrator.
The sixth method is a method that the management computer notifies a failure log by an administrator's mail/cellular phone/pager established beforehand by the SAN administrator.
According to the above, the SAN manager, when receiving a failure message from a plurality of devices constituting the SAN, can automate the analysis of the failure message and the association thereof with other failure messages by the failure associating process, thus relieving the SAN administrator of a burden in failure segmentation.
Failure-Significance-Degree Conversion function
The failure-significance-degree conversion function by the SAN manager is shown in the following. In this function, the SAN manager, when receiving a failure message, makes a notification to the higher-order management program or administrator according to a common severity converted, of the severities of a plurality of storage devices connected to the virtualization device, by means of a conversion table as to failure severity defined beforehand by the SAN administrator.
FIG. 52 shows a failure-significance-degree conversion process flowchart 2500 to be executed by the SAN manager 13100. The steps in the below are assumed to be executed by the SAN manager 13100 unless otherwise described.
The SAN manager 13100 waits until a SNMP Trap message is received from a certain device (step 2510).
Receiving a message, the SAN manager extracts an IP address of message-issued device out of the Agent Address field of the message (step 2515).
Based on the extracted IP address, the SAN manager examines whether or not the message-issued device has a relation to the common severity (step 2520). Specifically, the message-issued device is first specified by examining whether or not the extracted IP address is present in the device detecting list 13500. Then, it is examined whether or not the severity column concerning the specified device is present in the failure severity-change table 13800.
In the case decided, at step 2520, that the message-issued device does not have a relation to the common severity, the SAN manager transfers the Trap message as it is to the higher-order management software without applying the severity-change function (step 2526). Here, as the transfer method, there can be considered a method to issue a SNMP Trap to the higher-order management software, a method to send a message on a protocol unique to the higher-order management software, and so on.
In the case decided, at the step 2520, that the message-issued device has a relation to the common severity, the severity of message-issued device is extracted from a Specific Trap Type field of the SNMP Trap message (step 2525).
Based on a message-issued device name and extracted severity, a failure severity-change table 13800 is examined to specify a common severity and action (step 2530).
Finally, the action specified at the step 2530 is performed (step 2535).
Following the above, the flowchart 2500 is ended.
The failure-significance-degree conversion process flowchart is as per the above.
Here, description is made on a concrete example of the failure notification by the SAN manager 10000 shown in the flowchart 2500. Consider the case that an event of event ID 2000 is received out of the failure log entries described in FIG. 17.
The failure message of event ID 2000, at step 2515, is decided that the storage device B is the device-issued and hence decided, at step 2520, that it is a case related to a common severity definition.
Because the severity in the Trap message is “4” at step 2525, the action “Trap-send and mail-send the information of virtualization storage device S3” described in the failure severity-change table 13800. Thus, the failure message of event ID 2000 is not notified to the higher management software and the SAN administrator.
Thus, by making a notification including a severity-change function, the SAN manager is allowed to define a consistent severity on the failure messages the SAN manager is to receive from a plurality of storage devices, and provide a SAN manager's failure notification function in accordance with the definition.
Incidentally, as for the failure associating function and failure-significance-degree change function to be performed by the SAN manager, the storage device S3 is assumed in a configuration of a virtualization device. However, in the process flow of the failure associating function and failure-significance-degree change function, there are no processes dependent upon the device having a volume virtualization function. Accordingly, the failure associating function and failure-significance-degree change function can be realized also in the configuration that the switch is a virtualization device as described in the embodiment 2, by applying the same flowchart.
More specifically, the SAN manager collects failure information from the virtualization-device switches, the usual switches and storage devices in plurality, and associates the failure information as noted before, thus making a display similarly to FIG. 51. Device configuration displayed is in a configuration as in the embodiment 2, for example.
According to the foregoing embodiments and modifications, in a SAN having a virtualization device, when the device a SAN manager is executed receives failure messages from a plurality of devices constituting the SAN, the SAN manager automates the analysis of the failure message and the association with other message, thus relieving the SAN administrator of a burden in failure segmentation.
Meanwhile, by defining a consistent severity on the failure messages the SAN manager is to receive from a plurality of storage devices, the SAN manager is allowed to notify the failure by a method according the definition. The San administrator or the higher-order system management software is to receive only necessary-and-sufficient information, making it possible to speed up the measure against failure after the notification.
Modification 3 explained the failure associating function and the failure-significant-degree converting function, in the structure having a virtualization device (volume-virtualization function be mounted on any of a switch or a storage device) and for gathering failure messages by the management computer.
Modification 4 further explains a failure associating function, in a configuration the virtualization device has a SAN manager.
SAN Configuration
For a SAN configuration in Modification 4, there can be considered two configurations, i.e. a configuration the storage device serves also as a virtualization device, and a configuration the switch serves also as a virtualization device.
The configuration the storage device serves also as a virtualization device is similar to the SAN configuration of Modification 3 shown in FIG. 27. However, the virtualization storage device S3 80000 has a SAN manager 13100, a real-topology repository 13400, a device detecting list 13500, a real-volume mapping management table 13200 and a virtualization-volume mapping management table 13300, as shown in FIG. 53. Furthermore, the virtualization storage device S3 80000 may have an event dictionary 13600 as shown in FIGS. 46 and 47 (not shown).
The configuration the switch serves also as a virtualization device is similar to the SAN configuration in the FIG. 1 modification. However, the virtualization switch SW1 30000 has a SAN manager 131000, a real-topology repository 13400, a device detecting list 13500, a real-volume mapping management table 13200 and a virtualization-volume mapping management table 13300, as shown in FIG. 54. Furthermore, the virtualization switch SW 13000 may have an event dictionary 13600 as shown in FIGS. 46 and 47 (not shown).
In both cases, there may be a plurality of virtualization devices wherein any of the virtualization switches has a SAN manager and other tables, etc. noted above while another virtualization device has a SAN agent. In such a case, the virtualization devices are connected together by a management network. Meanwhile, any of the virtualization devices having the SAN manager may be connected to the storage device having a real volume virtualized by another virtualization device through a management network so that the virtualization device having the SAN manager can receive an SNMP Trap event from the relevant storage device.
Failure Associating Function
FIGS. 55A and 55B show a flowchart showing an example of a failure associating process to be executed by the SAN manager 13100, in Modification 4. Unless otherwise noted, the steps are assumably executed by the SAN manager 13100.
In the present embodiment, the SAN manager 13100 is provided in the virtualization device. This makes it possible to detect a fact that the virtualization device failed a read/write access to a real volume, from a result of actual read/write access instead of an SNMP trap.
As shown in FIG. 55A, the SAN manager at step 2411 is to receive not only an SNMP Trap event from another device but also an event related to the virtualization device itself, e.g. a failure in the virtualization device itself and access error of from the virtualization device to a real volume via a fiber channel.
When the SAN manager at step 2411 received an SNMP trap, the process jumps to step 2415. The step 2415 and subsequent steps are similar to those of FIG. 50 flow shown in the present modification except that those are to be executed by the virtualization device in place of the SAN management server, and hence omitted to explain.
When the SAN manager at step 2411 received an event concerning the virtualization device itself, a new entry is prepared in a failure log 13700 and assigned with an event ID, to register therein failure-log information based upon the virtualization-device event information, referred to later. Then, the process jumps to step 2445 (step 2412). Here, the event as to the virtualization device itself refers to a fact that the virtual-volume managing program in the virtualization device failed the read/write access to a real volume or that the management agent in the virtualization device detected a failure of the virtualization device. In this case, the virtualization-volume managing program or management agent in the virtualization device sends the event information about the virtualization device to the SAN manager. There is no limitation in using a protocol for exchanging messages. The event information has, in its data structure, a failure code column, a failure point column, an identifier column, a cause column and a severity column, similarly to the event dictionary 13600. It also has a time column concerning an event occurrence time. The SAN manager may newly prepare failure-log information by copying the in-column values of received event information to the columns of failure-log information 13700. The step 2445 and subsequent steps are similar to those of the FIG. 50 flow shown in this modification, and hence omitted to explain.
FIG. 56 shows a figure showing an example in what way a failure log is outputted by applying the failure associating process in the embodiment to a SAN having a virtualization storage device. This is similar in concrete indication way to the present modification, and omitted to explain. The error concerning event ID 1001, in FIG. 56, is a volume-access error that has been detected due to a read/write access via a fiber channel by the virtualization device. The event concerning event ID 1001 can be displayed in relation to the event received by another SNMP Trap.
Incidentally, as for the other six ways to output a result described in the modification, output is available even in Modification 3 though not shown in detail.
The failure association process shown in FIGS. 55A and 55B does not have an effect upon the steps regardless of on which device the volume-virtualization program is installed. Thus, the relevant process can be applied also to the SAN having a virtualization switch.
According to the present embodiment, the provision of the SAN manager in the virtualization device allows for association not only with a failure message of via a managing network but also with a failure of through a fiber channel. Namely, the provision of the SAN manager in the virtualization device allows for monitoring a failure of via a fiber channel, in addition to a failure message of through a management network.
Meanwhile, the SAN administrator can be relieved of the burden in failure separation by an association of between a failure message of via a management network and a failure of through a fiber channel.
According to any of the foregoing embodiments, it is possible to easily operate a multiplicity of volumes of configuration management in a large-scale data center.
The invention allows the SAN administrator to easily grasp the corresponding relationship between real and virtual volumes over a storage network.
Meanwhile, in the case a failure message is issued from the device connected to the SAN, assistance is possible for the failure segmentation by the SAN administrator.
Meanwhile, on the SAN, the SAN administrator or the higher-order system management software is allowed to receive a required piece of failure information among the failure messages issued from the devices existing on the SAN.
Meanwhile, the SAN administrator can be relieved of the burden in failure separation by an association of between a failure message of via a management network and a failure of through a fiber channel.

## Claims

1. A computer system being adapted to be coupled to a plurality of host computers, the computer system comprising:
a management server;
a switch device transferring data between the host computers and a plurality of storage devices;
a first storage device of the plurality of storage devices comprising a first real volume that stores data utilized by the host computers, and a first controller that controls an access targeted to the first real volume; and
a second storage device of the plurality of storage devices comprising a second real volume that stores data utilized by the host computers, and a second controller that controls an access targeted to the second real volume,
wherein, if the switch device as a virtualization device configures a first virtual volume by using the second real volume of the second storage device, the switch device provides the first virtual volume as an access target to the host computers,
wherein, if the second storage device as the virtualization device configures a second virtual volume by using the first real volume of the first storage device and the second real volume of the second storage device, the second controller provides the second virtual volume as an access target to the host computers,
wherein the management server, if the second storage device as the virtualization device configures the second virtual volume, creates a first correspondence relationship among the second virtual volume, the first real volume and the second real volume based on not only condition of whether or not the second storage device is the virtualization device, but also condition of whether or not each of the second virtual volume and the second real volume is a virtual volume,
wherein the second storage device has a failure detecting section that detects error information indicative of an error, related to the first or second virtual volume, which occurred at the second storage device,
wherein the management server, if the switch device as the virtualization device configures the first virtual volume, associates between access-error information and the error information depending upon a second correspondence relationship between the first virtual volume and the second real volume,
wherein the management server, if the second storage device as the virtualization device configures the second virtual volume, associates between the access-error information and the error information depending upon the first correspondence relationship,
wherein the management server, if the switch device as the virtualization device configures the first virtual volume, outputs the second correspondence relationship by displaying a first real access path from the host computers to the second real volume of the second storage device, and by displaying a first virtual access path from the host computers to the first virtual volume, wherein the switch device in a display of the first virtual access path is displayed by being divided to the switch device and a virtual storage device including the first virtual volume, and
wherein the management server, if the second storage device as the virtualization device configures the second virtual volume, outputs the first correspondence relationship by displaying a second real access path from the host computers to the first real volume of the first storage device and the second real volume of the second storage device, and by displaying a second virtual access path from the host computers to the second virtual volume, wherein the second storage device in a display of the second virtual access path is displayed by being divided to a first type of second storage device including the second real volume and a second type of second storage device as the virtual storage device including the second virtual volume, whereas the first storage device is displayed as one storage device including the first real volume.

2. The computer system of claim 1,
wherein each of the plurality of host computers comprises a failure-information notifying section that detects a failure and notifies a failure notification related to a detected failure to the management server device through a network,
wherein the management server comprises a failure receiving section that receives the failure notification from each of the plurality of host computers through the network, the management server further associating the failure notification with the access-error information and with the error information.

3. The computer system of claim 2, wherein the management server specifies whether or not to be a failure related to the first or second virtual volume, depending upon the error information.

4. The computer system of claim 1, wherein the second storage device comprises a storage-failure detecting section that detects a failure related to the second storage device, the storage-failure detecting section sending a storage-failure notification to the management server when detecting a failure, the management server associating together the storage-failure notification, the access-error information and the error information.

5. The computer system of claim 4, wherein the management server specifies whether or not to be a failure related to the first or second virtual volume, depending upon the storage-failure information.

6. The computer system of claim 4, wherein the storage-failure notification, the error information and the access-error information are SNMP Traps.

7. The computer system of claim 1,
wherein the second storage device, if the second storage device as the virtualization device configures the second virtual volume, comprises an input/output-request receiving section receiving a request for inputting/outputting data to/from the second virtual volume, and
wherein the failure detecting section detecting error information is indicative of a failure related to the second real volume possessed by second storage device.

8. The computer system of claim 1,
wherein the switch device comprises:
a transfer control section that receives from one of the plurality of host computers a request for an access to the first or second virtual volume, sends the request for an access to the first real volume or the second virtual volume, receives from the first or second storage device an answer to the request for an access to the first real volume or the second virtual volume, and sends the answer to the one of the plurality of host computers; and
a failure detecting section that, when the switch device received from the first or second storage device an error notification responsive to the access request, sends the error notification to the management server, detects a failure of the switch device, and sends switch-failure information about a failure of the switch device to the management server,
wherein the management server receives at least one of the switch-failure information and the error notification from the switch device.

9. A failure management method in a computer system, the computer system including a plurality of host computers, a management server, a switch device transferring data between the host computers, a plurality of storage devices, a first storage device and a second storage device, and the first storage device of the plurality of storage devices comprising a first real volume, that stores data utilized by the host computers, and a first controller that controls an access targeted to the first real volume, and the second storage device of the plurality of storage devices comprising a second real volume, that stores data utilized by the host computers, and a second controller that controls an access targeted to the second real volume, the failure management method comprising:
providing, by the switch device, a first virtual volume as an access target to the host computers, if the switch device as a virtualization device configures the first virtual volume by using the second real volume of the second storage device;
providing, by the second controller, a second virtual volume as an access target to the host computers, if the second storage device as the virtualization device configures the second virtual volume by using the first real volume of the first storage device and the second real volume of the second storage device;
if the second storage device as the virtualization device configures the second virtual volume, creating, by the management server, a first correspondence relationship among the second virtual volume, the first real volume and the second real volume based on not only condition of whether or not the second storage device is the virtualization device, but also condition of whether or not each of the second virtual volume and the second real volume is a virtual volume;
detecting, by the second storage device, error information indicative of an error, related to the first or second virtual volume, which occurred at the second storage device;
if the switch device as the virtualization device configures the first virtual volume, associating, by the management server, between access-error information and the error information depending upon a second correspondence relationship between the first virtual volume and the second real volume;
if the second storage device as the virtualization device configures the second virtual volume, associating, by the management server, between the access-error information and the error information depending upon the first correspondence relationship;
if the switch device as the virtualization device configures the first virtual volume, outputting, by the management server, the second correspondence relationship by displaying a first real access path from the host computers to the second real volume of the second storage device, and by displaying a first virtual access path from the host computers to the first virtual volume,
wherein the switch device in a display of the first virtual access path is displayed by being divided to the switch device and a virtual storage device including the first virtual volume; and
if the second storage device as the virtualization device configures the second virtual volume, outputting, by the management server, the first correspondence relationship by displaying a second real access path from the host computers to the first real volume of the first storage device and the second real volume of the second storage device, and by displaying a second virtual access path from the host computers to the second virtual volume,
wherein the second storage device in a display of the second virtual access path is displayed by being divided to a first type of second storage device including the second real volume and a second type of second storage device as the virtual storage device including the second virtual volume, whereas the first storage device is displayed as one storage device including the first real volume.