Storage management method and server
Summary by NHIP
Storage Load Balancing System
The system manages storage loads by moving logical volumes between RAID groups to eliminate bottlenecks. It identifies applications whose I/O can increase after the move and checks performance of related resources on the I/O path.
Claim Score by NHIP
Abstract
When the application I/O performance problem is solved, the I/O amount from the application is increased. In the conventional technique, no consideration has been taken on the affect of the increase of the application I/O performance to other applications. A resource whose I/O load is reduced by setting modification of a storage subsystem is specified and the application using this resource is specified as an application whose I/O processing amount may be increased. Furthermore, the resource used by the specified application and another application using this resource are specified as a resource and an application whose I/O processing performance may be lowered by the setting modification.

Term
Term ended
Expired 8 May 2026, 0.4 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
17 claims: 3 independent, 14 dependent
- 1A system comprising:at least one server;at least one storage subsystem;and a storage management server connected to the at least one storage subsystem and the at least one server via network, the storage management server comprising: a first collecting unit configured to collect information on connection relationship between resources on an I/O path from each of applications in the server to a logical volume used by the applications as configuration information from the server and the storage subsystem;a second collecting unit configured to collect performance information on each of the resources on the I/O path from each of the applications in the server to the logical volume used by the applications from the server and the storage subsystem;an inputting unit configured to input a setting modification definition for balancing an I/O load of the storage subsystem, the setting modification definition being configured to eliminate a predicted bottleneck that may occur between the server and the storage subsystem, the setting modification definition defining movement of the logical volume from a first RAID Group to a second RAID Group;a first identifying unit configured to identify a plurality of first applications using the first RAID Group from applications, whose I/O load is reduced on the I/O path after the movement of the logical volume based on the configuration information, as candidate applications whose I/O amount can be increased, and displaying the first applications in a first window;a checking unit configured to check the performance information of a plurality of first resources related to the plurality of first applications to the first RAID Group on the I/O path each including at least one of server side ports and storage side ports, by determining whether a utilization ratio of the server side ports and storage side ports exceeds a predetermined value or not on a basis of the first applications;a first specifying unit configured to specify a second application from the plurality of first applications as a target application whose I/O amount can be increased, if none of the utilization ratio of the server side ports and storage side ports exceeds the predetermined value as a result of the performance information of the first resources on a first I/O path from the second application;a second identifying configured to identify second resources related to the second application from the server to the storage subsystem, and determining whether the second application accesses a third RAID Group for data;a first determining unit configured to determine whether or not any of the second resources on a second I/O path from the second application to the first RAID Group and the third RAID Group will have a corresponding I/O load that exceeds a processing-enabled amount;a third identifying unit configured to identify, when it is determined that the second application accesses the third RAID Group for data, a third application from the applications that use the third RAID Group;a second determining unit configured to determiner a change in I/O amount for the third application due to the move of the logical volume from the first RAID Group to the second RAID Group;and a second specifying unit configured to specify, before the movement of the logical volume is executed, the third application as an affected application whose I/O performance is lowered by an increase of I/O amount of the second application.
- 7A system comprising:at least one server;at least one storage subsystem;and a storage management server connected to the at least one storage subsystem and the at least one server via network, the storage management server comprising: a first collecting unit configured to collect information on connection relationship between resources on an I/O path from each of applications in the server to a logical volume used by the applications as configuration information from the server and the storage subsystem;a second collecting unit configured to collect performance information on each of the resources on the I/O path from each of the applications in the server to the logical volume used by the applications from the server and the storage subsystem;an inputting unit configured to input a setting modification definition for balancing an I/O load of the storage subsystem, the setting modification definition being configured to eliminate a predicted bottleneck that may occur between the server and the storage subsystem, the setting modification definition defining movement of the logical volume from a first RAID Group to a second RAID Group;a first identifying unit configured to identify a plurality of first applications using the first RAID Group from applications, whose I/O load is reduced on the I/O path after the movement of the logical volume based on the configuration information, as candidate applications whose I/O amount can be increased, and displaying the first applications in a first window;a checking unit configured to check the performance information of a plurality of first resources related to the plurality of first applications to the first RAID Group on the I/O path each including at least one of server side ports and storage side ports, by determining whether a utilization ratio of the server side ports and storage side ports exceeds a predetermined value or not on a basis of the first applications;a first specifying unit configured to specify a second application from the plurality of first applications as a target application whose I/O amount can be increased, if none of the utilization ratio of the server side ports and storage side ports exceeds the predetermined value as a result of the performance information of the first resources on a first I/O path from the second application;a first determining unit configured to determine whether the second application accesses a third RAID Group for data;a second determining unit configured to determine whether or not any of second resources on a second I/O path from the second application to the first RAID Group and the third RAID Group will have a corresponding I/O load that exceeds a processing-enabled amount;a second identifying unit configured to identify, when it is determined that the second application accesses the third RAID Group for data, a third application from the applications that use the third RAID Group;a third determining unit configured to determine a change in I/O amount for the third application due to the move of the logical volume from the first RAID Group to the second RAID Group;and a second specifying unit configured to specify, before the movement of the logical volume is executed, the third application as an affected application whose I/O performance is lowered by an increase of I/O amount of the second application.
- 10Broadest claimClaim Score 13, narrow(NHIP)A system, comprising:at least one server;at least one storage subsystem;and a storage management server connected to the at least one storage subsystem and the at least one server via a network, the storage management server comprising: a storage device for storing configuration information indicating connection relationship between resources on an I/O path from each of applications in the storage to a logical volume used by applications and performance information on each resource;an I/O amount increase application search device for inputting a setting modification definition for balancing an I/O load of the storage subsystem, the setting modification definition defining movement of the logical volume from a first RAID Group to a second RAID Group and being configured to eliminate a predicted bottleneck that may occur between the server and the storage subsystem, identifying a plurality first applications using the first RAID Group from applications whose I/O load is reduced on the I/O path after the movement of the logical volume based on the configuration information, as candidate applications whose I/O amount can be increased, checking the performance information of a plurality of first resources related to the plurality of first applications to the first RAID Group on the I/O path each including at least one of server side ports and storage side ports, by determining whether a utilization ratio of the server side ports and storage side ports exceeds a predetermined value or not on a basis of the first applications, specifying a second application from the plurality of first applications as an application whose I/O amount can be increased, if none of the utilization ratio of the server side ports and storage side ports exceeds the predetermined value as a result of the performance information of the first resources on a first I/O path from the second application;and a display device, wherein second resources related to the second application from the server to the storage subsystem are identified, and a determination is made as to whether the second application accesses a third RAID Group for data;wherein a determination is made as to whether or not any of the second resources on a second I/O path from the second application to the first RAID Group and the third RAID Group will have a corresponding I/O load that exceeds a processing-enabled amount;wherein, when it is determined that the second application accesses the third RAID Group for data, a third application from the applications that use the third RAID Group is identified;wherein a change in I/O amount for the third application due to the move of the logical volume from the first RAID Group to the second RAID Group is determined;wherein, before the movement of the logical volume is executed, the third application is specified as an affected application whose I/O performance is lowered by an increase of I/O amount of the second application;and wherein the third application and the second resources are displayed on the display device.
Independent claims3
149 paragraphs in 5 sections, as filed
CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
Japan Priority Application JP-2006-055695, filed Mar. 2, 2006 including the specification, drawings, claims and abstract, is incorporated herein by reference in its entirety. This application is a Continuation of U.S. application Ser. No. 11/429,238, filed May 8, 2006, incorporated herein by reference in its entirety.
BACKGROUND OF THE INVENTION
The present invention relates to a performance analysis method in an environment having at least one server and at least one storage subsystem.
As the storage capacity of each enterprise increases, more attention is paid on the techniques to reduce the storage management cost. One of such techniques is SAN (Storage Area Network). By using the SAN, a single storage device is shared by a plurality of task servers so as to localize the storage operation task, thereby reducing the storage operation management cost.
In a SAN environment, a single storage device is shared by a plurality of task servers and accordingly, I/O from the servers are concentrated in the single storage. For this, a storage administrator should periodically monitor the performance of the storage device so as to prevent an occurrence of a performance problem.
As a conventional technique for preventing the performance problem, for example, there is a method for realizing I/O load control between disk devices (for example, U.S. Pat. No. 6,446,161). In this method, according to the I/O load information in each disk device, data is moved from a disk device having a high I/O load to a disk device having a low I/O load, thereby realizing the I/O load distribution.
SUMMARY OF THE INVENTION
When an application performance problem is caused by the I/O performance in a SAN environment, a position of the I/O bottleneck should be identified and the storage setting should be modified. For example, when a performance problem is caused in a particular application by high loads of a disk device in the storage subsystem, a storage administrator allocates the I/O loads of the disk device to another disk device so as to reduce the loads of the disk device and solve the problem of the application I/O performance.
When the application I/O performance problem is solved, accesses from the application which has been suppressed by the high I/O loads are released and the I/O amount from the application is increased. However, as will be shown in a specific example below, it is known that such an increase of the application I/O performance may affect another application. That is, this may affect another system such as an online transaction system for which a high-speed I/O performance is required.
The affect of this problem will be explained in a specific example.
In the case of a database system requiring a high-speed response time, each time an update process is executed, user data is updated and a log file is updated. When the user data and the log file are stored in a single disk device, an I/O collision may occur and accordingly, they are normally stored in separate disk devices. Suppose an I/O performance problem has occurred in a disk device storing the user data. As the amount of the updated user data is lowered, the amount of updated log file acquired in synchronism with the updated user data is also lowered. Here, if the administrator improves the disk device performance containing the user data by the conventional technique, i.e., the I/O load distribution due to data migration, I/O processes which have been suppressed are released and accordingly, the amount of the updated log file is also increased and the I/O loads on the disk device containing the log file are also increased. Moreover, the I/O loads of resources or parts existing on the I/O path reaching the disk device are also increased. By increase of the loads of the resources or the parts, the I/O performance of the other application using them is deteriorated and a new performance problem may be caused.
Thus, when the application I/O performance is deteriorated by the storage subsystem as the bottleneck, setting of the storage subsystem should be modified. However, the conventional method does not identify the range of an affect to another application by solution of the bottleneck.
It is therefore an object of the present invention to grasp, in advance, an affect to the performance of the application, especially deterioration of the performance caused by storage subsystem setting modification for reducing the I/O loads. More specifically, the object of the present invention is to identify the application whose I/O performance is improved by the storage setting modification by using performance of a server or a storage and the I/O path information from the application.
Another object of the present invention is to identify a resource which exists on another path used by an application and whose I/O load may be increased by the increase of the I/O amount of the application whose I/O performance is improved.
Still another object of the present invention is to identify an application whose I/O performance may be deteriorated by the increase of the I/O amount from the application whose I/O performance is improved.
In a SAN environment including at least one storage subsystem and at least one server, each server constituting the SAN environment has a server information acquisition program for collecting information on applications operating on the server, devices as I/O operation objects of the applications, server side ports for SAN connection used by the devices, and connection between storage side ports and logic volumes as server side configuration information, and further collecting the CPU use ratio of the server and the use ratio of each server side port as server side performance information, and storing the collected information in a storage management server.
The storage management server firstly acquires information on a storage side port, a cache, and RAID group used by each of the logical volumes as the storage side configuration information and further acquires the use ratio concerning the logical volume, the storage side port, the cache, and the RAID group as the storage side performance information, and stores the acquired information in the storage management server. Furthermore, the storage management server displays a setting modification definition view for defining the contents of the setting to be modified for the storage subsystem and identifies the resource whose I/O load is reduced by the modification of the setting according to the setting contents set in the definition view and the acquired configuration information. Furthermore, the storage management server identifies applications using the identified resource according to the configuration information and identifies, among the identified applications, an application whose resource performance processing amount appearing on the path reaching the identified resource from the identified application does not exceed a processing-enabled amount and displays it as an application whose I/O processing amount may be increased. Thus, it is possible to identify an application whose I/O processing amount may be increased by the storage setting modification.
Moreover, the storage management server acquires a resource used by the application whose I/O processing amount may be increased from the configuration information and specifies the acquired resource as a resource whose I/O processing performance may be lowered by the storage setting modification.
Furthermore, the storage management server acquires another application using the resource whose I/O processing performance may be lowered from the configuration information and specifies the acquired application as an application whose I/O processing performance may be lowered.
According to the present invention, it is possible to identify an application whose I/O amount may be increased by eliminating the bottleneck, and a resource and an application whose I/O performance may be lowered by the increase of the I/O amount of the application.
Other objects, features and advantages of the invention will become apparent from the following description of the embodiments of the invention taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram showing system configuration of the present embodiment.
<figref idref="DRAWINGS">FIG. 2</figref> explains the I/O flow from an application to an external storage device in the embodiment.
<figref idref="DRAWINGS">FIG. 3</figref> explains data flows between programs in the embodiment.
<figref idref="DRAWINGS">FIG. 4</figref> explains a performance information table <b>201</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 5</figref> explains an I/O path information table <b>202</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 6</figref> explains a setting information input view <b>301</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 7</figref> explains an I/O amount increase application display view <b>302</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 8</figref> explains an I/O performance lowering storage resource display view <b>303</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 9</figref> explains an I/O performance lowering application display view <b>304</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 10</figref> explains an I/O amount increase application search engine <b>111</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 11</figref> explains an I/O performance lowering storage resource search engine <b>112</b> and an I/O performance lowering application search engine <b>113</b> in the embodiment.
<figref idref="DRAWINGS">FIG. 12</figref> shows an example of the SAN environment in the embodiment.
<figref idref="DRAWINGS">FIG. 13</figref> is a specific resource list for identifying a resource whose performance is improved.
<figref idref="DRAWINGS">FIG. 14</figref> shows relationships between the search engines and the processes.
DESCRIPTION OF THE EMBODIMENTS
A storage management system in the embodiment below is simplified as compared to an ordinary storage management system for simplifying the explanation. However, the scope of invention is not to be limited to the embodiment.
Description will now be directed to a first embodiment of the present invention.
(1) System Configuration
Firstly, referring to <figref idref="DRAWINGS">FIG. 1</figref>, explanation will be given on the system configuration of the present embodiment.
The system includes a plurality of storage subsystems <b>020</b>, a plurality of servers <b>001</b>, a management server <b>004</b>, a LAN (Local Area Network) <b>003</b> connecting these components from one to another, and a SAN <b>002</b> connecting the storage subsystems <b>020</b> to the servers <b>001</b>. In <figref idref="DRAWINGS">FIG. 1</figref>, for simplification, only one storage subsystem <b>020</b> and only one server <b>001</b> are shown. It should be noted that the LAN is connected to the components via respective LAN connection ports <b>017</b>. Moreover, the SAN <b>002</b> is connected to the components via ports <b>023</b> and <b>024</b>.
The server <b>001</b> includes a CPU <b>011</b>, a memory <b>015</b>, an external storage device <b>016</b>, a LAN connection port <b>017</b>, and a server side port <b>023</b>. The management server <b>004</b> includes a CPU <b>011</b>, a display device <b>012</b>, a key adapter (keyboard) <b>013</b>, a mouse <b>014</b>, a memory <b>015</b>, an external storage device <b>016</b>, and a LAN connection port <b>017</b>. In each server <b>001</b>, a server information acquisition program <b>100</b> is executed. It should be noted that the server information acquisition program <b>100</b> is a program for acquiring operation information on the server <b>001</b>. This will be detailed later.
Furthermore, in the management server <b>004</b>, a storage performance analysis program <b>110</b> is executed. Moreover, information required for executing the storage performance analysis program <b>110</b> is held in a data storage area <b>200</b> in the external storage device <b>016</b>. The storage performance analysis program <b>110</b> is a program for specifying the range of the affect to the application and the storage subsystem <b>020</b> by the storage configuration modification. This will be detailed later.
The storage subsystem <b>0202</b> is an apparatus including at least one external storage device <b>016</b>, at least one LAN connection port <b>017</b>, at least one cache memory (hereinafter, referred to as a cache) <b>021</b>, a micro-program <b>022</b>, and at least one storage side port <b>024</b>.
It should be noted that the storage side port <b>024</b> reads data from the cache <b>021</b> or the external storage device <b>016</b> and writes data into the cache <b>021</b> or the external storage device <b>016</b> according to an I/O command sent from the server side port <b>023</b>.
Moreover, the micro-program has a function for acquiring performance information on the external storage device <b>016</b>, the cache <b>021</b>, and the storage side port <b>024</b> and a function for modifying the setting of the storage configuration. More specifically, the micro-program <b>022</b> has a function constituting a RAID (Redundant Array of Inexpensive Disks) group having a RAID level specified by a plurality of external storage devices <b>016</b> and a function for creating a volume having a specified capacity from the RAID group. It should be noted that a volume created in the storage subsystem will be expressed as a logical volume. Moreover, the micro-program <b>022</b> also has a function to move a logical volume to another RAID group. Moreover, the micro-program <b>022</b> has a function for making data in a particular logical volume resident in the cache <b>021</b>. Furthermore, the micro-program <b>022</b> has a function for suppressing the I/O amount from the particular server <b>001</b> or a device <b>032</b> shown in <figref idref="DRAWINGS">FIG. 2</figref> for the particular storage side port <b>024</b> to a predetermined amount.
(2) I/O Flow
Next, explanation will be given on connection relationship between an application program (hereinafter, referred to simply as an application) and a storage subsystem with reference to <figref idref="DRAWINGS">FIG. 2</figref>. The micro-program <b>022</b> builds a RAID group <b>033</b> having a particular RAID level by a plurality of external storage devices <b>016</b>. Moreover, the micro-program <b>022</b> creates a logical volume <b>034</b> having a specified capacity from the RAID group <b>033</b>. The created logical volume <b>034</b> is recognized in the server <b>001</b>, as a device <b>032</b> to which a file system <b>031</b> accesses via the storage side port <b>024</b> and the server side port <b>023</b>. That is, device <b>016</b> is the target resource of the I/O operation when viewed from the file system <b>031</b>, and one of resources on the path which I/O issues when viewed from a resource of the server side port <b>023</b> et seq. For example, the device <b>032</b> is a device driver for controlling a peripheral device. An OS (Operating System) on the server <b>001</b> creates a file having a particular size by the file system <b>031</b> according to a request from the application <b>030</b>.
The I/O issued by the application <b>030</b> is sent to the storage side port <b>024</b> via the file system <b>031</b>, the device <b>032</b>, and the server side port <b>023</b>. When a data acquisition I/O is sent to the storage side port <b>024</b> and the requested data is present in the cache <b>021</b>, the data is returned. If the data is not present in the cache <b>021</b>, data is acquired from the logical volume <b>034</b> used by the application <b>030</b>. When a data write I/O is sent to the storage side port <b>024</b>, data is written into the cache <b>021</b> and write completion is reported to the server <b>001</b>. Furthermore, the requested data in the cache <b>021</b> is written into the logical volume <b>0334</b> used by the application <b>030</b>.
It should be noted that for simplifying the explanation below, the device <b>032</b>, the server side port <b>023</b>, the storage side port <b>024</b>, the cache <b>021</b>, the logical volume <b>034</b>, and the RAID group <b>033</b> will be called “resources” as a whole.
(3) Relationship Between Programs
Referring to <figref idref="DRAWINGS">FIG. 3</figref>, explanation will be given on the relationship between a server information acquisition program <b>100</b> operating in the server <b>001</b>, a micro-program <b>022</b> operating in the storage subsystem <b>020</b>, and a storage performance analysis program <b>110</b> operating in the management server <b>004</b>.
The server information acquisition program <b>100</b> periodically acquires performance information on the server <b>001</b> and the I/O path information and stores the acquired information in a data storage area <b>200</b>. It should be noted that the data storage area <b>200</b> is formed by a performance information table <b>201</b> holding performance information and an I/O path information table <b>202</b> holding the I/O path information.
More specifically, the server information acquisition program <b>100</b> acquires performance information on the CPU <b>011</b> in the server <b>001</b>, the device <b>032</b>, and the server side port <b>023</b> and stores the information in the performance information table <b>201</b>. The performance information can be acquired by using a system call provided by the OS. Moreover, the server information acquisition program <b>100</b> acquires information on the file system <b>031</b> used by the application <b>030</b> and information on the device <b>032</b> used by the file system <b>031</b>, the server side port <b>023</b> used by the device <b>032</b>, and the logical volume <b>034</b> and stores these information in the I/O path information table <b>202</b>. The relationship between the application <b>030</b> and the file system <b>031</b> can be acquired, for example, from API (Application Program Interface) provided by the application <b>030</b>. Moreover, the relationship between the file system <b>031</b> and the device <b>032</b> can be acquired, for example, by using the OS system call. Furthermore, the relationship between the device <b>032</b>, the server side port <b>023</b>, and the logical volume <b>034</b> can be acquired, for example, by using an inquiry command of a SCSI (Small Computer System Interface).
As shown in <figref idref="DRAWINGS">FIG. 3</figref>, the storage performance analysis program <b>110</b> is formed by a storage information acquisition engine <b>101</b>, an I/O amount increase application search engine <b>111</b>, an I/O performance lowering storage resource search engine <b>112</b>, and an I/O performance lowering application search engine <b>113</b>.
The storage information acquisition engine <b>101</b> is a program for periodically acquiring performance information and configuration information on various devices in the storage subsystem <b>020</b> and storing the acquired information in the performance information table <b>201</b> and the I/O path information table <b>202</b>.
The I/O amount increase application search engine <b>111</b> is a subprogram for acquiring setting modification for reducing the I/O load to be executed for the storage subsystem <b>020</b> by the storage administrator and identifying an application whose I/O amount may be increased by the setting modification. The I/O amount increase application search engine <b>111</b> displays a setting information input view <b>301</b> for inputting the setting modification, identifies an application whose I/O amount may be increased by using the contents set in the setting information input view <b>301</b>, the performance information table <b>201</b>, and the I/O path information table <b>202</b>, and displays the identified result on the I/O amount increase application table view <b>302</b>. This will be detailed later.
The I/O performance lowering storage resource search engine <b>112</b> is a program for identifying a resource in the storage whose I/O load may be increased by the setting modification specified on the setting information input view <b>301</b> and the I/O amount increase from the application <b>030</b> displayed on the I/O amount increase application display view <b>302</b>. According to the output result of the I/O amount increase application search engine <b>111</b> and the data in the I/O path information table <b>202</b>, the I/O performance lowering storage resource search engine <b>112</b> identifies a resource in the storage whose I/O performance may be lowered and outputs it to the I/O performance lowering storage resource display view <b>303</b>. This will be detailed later.
The I/O performance lowering application search engine <b>113</b> is a program for identifying an application <b>030</b> whose I/O performance may be lowered by the increase of the I/O amount from the resource displayed on the I/O performance lowering storage resource display view <b>303</b>. According to the output result of the I/O performance lowering storage resource search engine <b>112</b> and the data in the I/O path information table <b>202</b>, the I/O performance lowering application search engine <b>113</b> identifies an application whose I/O performance may be lowered and outputs it to the I/O performance lowering application display view <b>304</b>. This will be detailed later.
Referring to <figref idref="DRAWINGS">FIG. 14</figref>, explanation will be given on outline of the processes performed by the search engines <b>111</b>, <b>112</b>, and <b>113</b> and the relationship with the object to be processed. The arrows shown by solid broken lines in <figref idref="DRAWINGS">FIG. 14</figref> indicate processes for extracting a particular resource and application contained in the path by searching the I/O path information table <b>202</b>.
An application AP<b>1</b> uses a logical volume VOL <b>1</b> via a path <b>1</b> and an application AP<b>2</b> uses a logical volume VOL <b>2</b> via a path <b>2</b>-<b>1</b> and a logical volume VOL <b>3</b> via a path <b>2</b>-<b>2</b>. The logical volume VOL <b>1</b> and VOL <b>2</b> belong to the same RAID group. An application AP<b>3</b> uses a logical volume VOL <b>4</b> via a path <b>3</b> and some of the resources on the path <b>3</b> are common to the path <b>2</b>-<b>2</b>. Hereinafter, it is assumed that the I/O load is reduced for the logical volume VOL <b>2</b> used by the application AP<b>2</b>.
[1] When setting modification (such as movement of a logical volume) for reducing the I/O load for the logical volume VOL <b>2</b> is performed, the I/O amount increase application search engine <b>111</b> searches the I/O path (path <b>2</b>-<b>1</b>) from VOL <b>2</b> to the application AP<b>2</b> and the I/O path (path <b>1</b>) from the logical volume VOL <b>1</b> sharing the RAID group with VOL <b>2</b> to the application AP<b>1</b> according to the I/O path information table <b>202</b> and identifies an application (AP<b>2</b> in the figure) connected to the path containing a resource whose I/O amount may be increased among the resources on the I/O path according to the performance information table <b>201</b>. As for the application AP<b>1</b>, suppose that the I/O amount of at least one resource contained on the I/O path (path <b>1</b>) connected to the AP<b>1</b> has already (before setting modification) reached the upper limit according to the performance information table <b>201</b>. As a result, the application AP<b>1</b> judges that the possibility of increase of the I/O amount is low even if setting modification is performed so as to reduce the I/O load for the logical volume VOL <b>2</b>.
[2] The I/O performance lowering storage resource search engine <b>112</b> searches another path (path <b>2</b>-<b>2</b>) connected to the identified I/O amount increase application (AP<b>2</b>) according to the I/O path information table <b>202</b>, thereby identifying a resource on a path (path <b>2</b>-<b>2</b>) whose I/O performance may be lowered by increase of the I/O amount of the I/O amount increase application (AP<b>2</b>).
[3] The I/O path performance application search engine <b>113</b> searches further another path (path <b>3</b>) commonly containing the resource identified by [2] according to the I/O information table <b>202</b> and identifies the application (AP<b>3</b>) connected to the searched path as an I/O performance lowering application. That is, the application connected to still another path (path <b>3</b>) sharing some of the resources on the other path (path <b>2</b>-<b>2</b>) containing a resource whose I/O performance may be lowered by the I/O amount increase of the I/O amount increase application is identified as an application whose I/O performance may be lowered.
(4) Data Storage Area
Explanation will be given on a data storage area according to an embodiment of the present invention. Tables explained below are contained in a data storage area <b>200</b> in the external storage device <b>016</b> of the management server <b>004</b>.
Firstly, referring to <figref idref="DRAWINGS">FIG. 4</figref>, explanation will be given on a performance information table <b>201</b>. The performance information table <b>201</b> has columns as follows: a resource name <b>501</b>, a performance type <b>502</b>, a performance value <b>503</b>, and a data collection time <b>504</b>. The server information acquisition program <b>100</b> and the storage information acquisition engine <b>101</b> acquire various performances of the server <b>001</b> or the storage subsystem <b>020</b> and add the acquired information as a record to the performance information table <b>201</b>.
For example, the server information acquisition program <b>100</b> periodically acquires the use ratio of the CPU <b>011</b> and stores “CPU (server <b>1</b>)” in the resource name <b>501</b>, “CPU use ratio” in the performance ratio <b>502</b>, the acquired performance value in the performance value <b>503</b>, and the data acquisition time in the data acquisition time <b>504</b>. These information are configured as a single record. Moreover, the server information acquisition program <b>100</b> can also store the use ratio of the server side port <b>023</b> similarly in the performance information table. Moreover, the storage information acquisition engine <b>101</b>, similarly, periodically can acquire the use ratio of the storage side port <b>0224</b>, the use ratio of the cache <b>021</b>, and the use ratio of the RAID group <b>033</b> and store the acquired information as a record in the performance information table <b>201</b>.
Next, referring to <figref idref="DRAWINGS">FIG. 5</figref>, explanation will be given on an I/O path information table <b>202</b>. The I/O path information table <b>202</b> has following columns: an application name <b>401</b>, a server name <b>409</b>, a device name <b>402</b>, a server side port name <b>403</b>, a storage name <b>404</b>, a storage side port name <b>405</b>, a RAID group name <b>406</b>, a cache name <b>407</b>, and a logical volume name <b>408</b>. The table shows configuration of a plurality of resources on the path and connection relationships between resources. The server information acquisition program <b>100</b> and the storage information acquisition engine <b>101</b> acquire configuration information on the server <b>001</b> or the storage subsystem <b>020</b> and add the acquired information as a record to the I/O path information table <b>202</b>.
For example, the server information acquisition program <b>100</b> acquires the name of the application <b>030</b> and the device <b>032</b> used by the application <b>030</b> by the API provided by the application <b>030</b> and stores the acquired information in the application name <b>401</b> and the device name <b>402</b>, respectively. Moreover, the server name is acquired from the server <b>001</b> and the acquired information is stored in the server name <b>409</b>. Furthermore, the server information acquisition program <b>100</b> executes the inquiry command of SCSI to each device registered in the device name <b>402</b> so as to acquire the server side port <b>023</b> used by the device <b>032</b>, the storage <b>020</b>, the storage side port <b>0224</b>, and the name of logical volume <b>034</b> and registers the acquired information in the respective columns. Moreover, the storage information acquisition engine <b>101</b> acquires the RAID group <b>033</b> used by the logical volume <b>034</b> and the name of the cache <b>021</b> from the micro program <b>022</b> for each of logical volumes <b>034</b> contained in the I/O path information table <b>202</b> and registers the acquired information in the respective columns.
(5) Explanation of Views
Next, referring to <figref idref="DRAWINGS">FIG. 6</figref> to <figref idref="DRAWINGS">FIG. 9</figref>, detailed explanation will be given on each of the views displayed on the display device <b>012</b> of the management server <b>004</b> by the storage performance analysis program <b>110</b>.
(5-1) Setting Information Input View <b>301</b>
<figref idref="DRAWINGS">FIG. 6</figref> shows an example of a setting information input view <b>301</b> according to the present embodiment. The setting information input view <b>301</b> is plotted by the I/O amount increase application search engine <b>111</b> for receiving information on the operation set for the storage subsystem <b>020</b> to be executed by the storage administrator. Moreover, the setting information input view <b>301</b> is formed by a resource selection area <b>610</b> and an operation setting area <b>620</b>. The I/O amount increase application search engine <b>111</b> displays a list of object resources whose setting is to be modified in the resource selection area <b>610</b>. For example, the storage side port <b>024</b>, the cache <b>021</b>, and the logical volume <b>034</b> contained in the I/O path information table <b>202</b> are displayed. Moreover, the I/O amount increase application search engine <b>111</b> displays a list <b>622</b> of resources associated with an operation list <b>621</b> of the operations associated with the resources selected in the resource selection area <b>610</b>.
Correspondence relationships between the contents displayed in the resource selection area <b>610</b>, the operation list <b>621</b>, and the resource list <b>622</b> are stored in a table shown in <figref idref="DRAWINGS">FIG. 13</figref> which will be detailed later.
For example, if the storage side port <b>024</b> is selected from the object resource list in the resource selection area <b>610</b>, the I/O amount increase application search engine <b>111</b> displays “I/O amount suppression from a particular device” and “I/O amount priority from a particular device” as the operation list <b>621</b>. Furthermore, the I/O amount increase application search engine <b>111</b> displays a list of devices using the storage side port <b>024</b> specified in the resource selection area <b>610</b>, in the resource list <b>622</b>. It should be noted that information in the resource list <b>622</b> may be searched from the information in the I/O path information table <b>202</b>.
Moreover, if the cache <b>021</b> is selected from the object resources in the resource selection area <b>610</b>, the I/O amount increase application search engine <b>111</b> displays “setting a particular logical volume to a resident state” and “release of the resident state of a particular logical volume” as the operation list <b>621</b>. Furthermore, the I/O amount increase application search engine <b>111</b> displays a list of logical volume <b>034</b> using the cache <b>021</b> specified in the resource selection area <b>610</b>, in the resource list <b>622</b>. It should be noted that the information in the resource list <b>622</b> may be searched from the information in the I/O path information table <b>202</b>.
Moreover, if the logical volume <b>034</b> is selected from the object resources in the resource selection area <b>610</b>, the I/O amount increase application search engine <b>111</b> displays “used port modification”, “used cache modification”, and “used RAID group modification” as an operation list <b>621</b>. Furthermore, when “used port modification” is selected in the operation list <b>621</b>, the I/O amount increase application search engine <b>111</b> displays a port list in the resource list <b>622</b>. Moreover, when “used cache modification” is selected in the operation list <b>621</b>, a cache list is displayed on the resource list <b>622</b>. Moreover, when “used RAID group modification” is selected on the operation list <b>621</b>, a RAID group list is displayed on the resource list <b>622</b>. Information in these resource lists <b>622</b> may be searched from the information in the I/O path information table <b>202</b>.
(5-2) I/O Amount Increase Application Display View <b>302</b>
<figref idref="DRAWINGS">FIG. 7</figref> shows an example of the I/O amount increase application display view <b>302</b> according the present embodiment. The I/O amount increase application display view <b>302</b> is plotted by the I/O amount increase application search engine and outputs the output result of the I/O amount increase application search engine <b>111</b>.
As shown in <figref idref="DRAWINGS">FIG. 7</figref>, the I/O amount increase application display view <b>302</b> is formed by an application list display table <b>700</b>. The application list display table <b>700</b> has following columns: an application name <b>701</b>, I/O prediction amount after modification <b>702</b>, and remarks <b>703</b>. The display contents of the columns <b>702</b> and <b>703</b> of the table <b>700</b> shown in <figref idref="DRAWINGS">FIG. 7</figref> are obtained from the performance information table <b>201</b> and the execution result of the I/O amount increase application search engine <b>111</b>.
(5-3) I/O Performance Lowering Storage Display View <b>303</b>
<figref idref="DRAWINGS">FIG. 8</figref> shows an example of the I/O performance lowering storage display view <b>303</b> in the present embodiment. The I/O performance lowering storage display view <b>303</b> is plotted by the I/O performance lowering storage resource search engine <b>112</b> and outputs the output result of the I/O performance lowering storage resource search engine <b>112</b>.
As shown in <figref idref="DRAWINGS">FIG. 8</figref>, the I/O performance lowering storage display view <b>303</b> is formed by an I/O performance lowering storage resource list table <b>800</b>. The I/O performance lowering storage resource list table <b>800</b> has following columns: a resource name <b>801</b> and a lowering condition <b>802</b>. The display contents of the column <b>802</b> of the table <b>800</b> shown in <figref idref="DRAWINGS">FIG. 8</figref> can be obtained from the execution result of the I/O performance lowering storage resource search engine <b>112</b>.
(5-4) I/O Performance Lowering Application Display View <b>304</b>
<figref idref="DRAWINGS">FIG. 9</figref> shows an example of the I/O performance lowering application display view <b>304</b> in the present embodiment. The I/O performance lowering application display view <b>304</b> is plotted by the I/O performance lowering application search engine <b>113</b> and outputs the output result of the I/O performance lowering application search engine <b>113</b>.
As shown in <figref idref="DRAWINGS">FIG. 9</figref>, the I/O performance lowering application display view <b>304</b> is formed by a performance deterioration list table <b>900</b>. The performance deterioration application list table <b>900</b> has following columns: an application name <b>901</b>, a cause <b>902</b>, a generation condition <b>903</b>, and a countermeasure plan <b>904</b>. The display contents of the column <b>902</b> of the table <b>900</b> shown in <figref idref="DRAWINGS">FIG. 9</figref> can be obtained from the execution result of the I/O performance lowering application search engine <b>113</b>. The display contents of the column <b>903</b> of the table <b>900</b> shown in <figref idref="DRAWINGS">FIG. 9</figref> can be obtained from the execution result of the I/O performance lowering storage resource search engine <b>112</b> like the column <b>802</b> of <figref idref="DRAWINGS">FIG. 8</figref>. Furthermore, a IF-THEN type rule having the display contents of the columns <b>902</b> and <b>903</b> in the preamble and the display contents of the column <b>904</b> in the conclusion is stored in a rule table in advance so that the display contents of the column <b>904</b> are displayed by using the rule table.
(6) Storage Performance Analysis Program Details
Next, detailed explanation will be given on the I/O amount increase application search engine <b>111</b>, the I/O performance lowering storage resource search engine <b>112</b>, and the I/O performance lowering application search engine <b>113</b>.
(6-1) I/O Amount Increase Application Search Engine <b>111</b>
Firstly, <figref idref="DRAWINGS">FIG. 10</figref> shows an example of the I/O amount increase application search engine <b>111</b>.
The I/O amount increase application search engine <b>111</b> firstly displays a setting information input view <b>301</b> (step <b>1001</b>).
Next, according to the information inputted by the setting information input view <b>301</b>, a resource whose performance is improved is identified (step <b>1002</b>). <figref idref="DRAWINGS">FIG. 13</figref> shows a list <b>1300</b> of resources whose performance is improved. The list <b>1300</b> shown in <figref idref="DRAWINGS">FIG. 13</figref> is stored in the data storage area <b>200</b> in the external storage device <b>016</b> of the management server <b>004</b>. The list <b>1300</b> has following columns: a case <b>1301</b>, a resource selection <b>1302</b>, an operation list <b>1303</b>, a resource list <b>1304</b>, and a performance improvement resource <b>1305</b>. The columns <b>1302</b>, <b>1303</b> and <b>1304</b> correspond to the contents displayed in the areas <b>610</b>, <b>621</b> and <b>622</b> of <figref idref="DRAWINGS">FIG. 6</figref>, respectively.
Contents of <figref idref="DRAWINGS">FIG. 13</figref> are as follows. When operations shown in the operation list <b>621</b> are executed for the resources shown in the resource selection <b>610</b>, the I/O amount is modified from the associated resources shown in the resource list <b>622</b> to the resources shown in the resource list <b>610</b> in the case of (a) to (d) and the I/O load of the associated resources shown in the resource list <b>622</b> is reduced in the case if (e) to (g).
This step identifies a resource whose performance is improved according to the list shown in <figref idref="DRAWINGS">FIG. 13</figref>. More specifically, a resource is identified as follows.
(a) Case when the storage side port <b>024</b> is selected in the resource selection area <b>610</b> and “I/O amount priority from a particular device” is selected in the operation list <b>621</b>:
In this case, the I/O request to the storage side port <b>024</b> selected in the resource selection area <b>610</b> from the device <b>032</b> selected in the resource list <b>622</b> has a higher priority. Accordingly, the response performance of the I/O issued to the selected storage side port <b>024</b> from the device <b>032</b> is normally improved. The I/O amount increase application search engine <b>111</b> acquires the device <b>032</b> selected in the resource list <b>622</b> and specifies the acquired device <b>032</b> as a resource whose I/O performance is improved.
(b) Case when the storage side port <b>024</b> is selected in the resource selection area <b>610</b> and “I/O amount suppression from a particular device” is selected in the operation list <b>621</b>:
In this case, the I/O request to the storage side port <b>024</b> selected in the resource selection area <b>610</b> from the device <b>032</b> selected in the resource list <b>622</b> is suppressed. Accordingly, the load of the selected storage side port <b>024</b> is reduced and the performance of the selected storage side port <b>024</b> is normally improved. The I/O amount increase application search engine <b>111</b> acquires the storage side port <b>024</b> selected in the resource selection area <b>610</b> and specifies the acquired storage side port <b>024</b> as a resource whose I/O performance is improved.
(c) Case when the cache <b>021</b> is selected in the resource selection area <b>610</b> and “setting a particular volume to a resident state” is selected in the operation list <b>621</b>:
In this case, data in the logical volume <b>034</b> selected in the resource list <b>622</b> is resident in the cache <b>021</b> and the I/O response performance of the selected logical volume <b>034</b> is normally improved. The I/O amount increase application search engine <b>111</b> acquires the logical volume <b>034</b> selected in the list <b>622</b> and specifies the acquired logical volume <b>034</b> as a resource whose I/O performance is improved.
(d) Case when the cache <b>021</b> is selected in the resource selection area <b>610</b> and “release of a particular volume from the resident state” is selected in the operation list <b>621</b>:
In this case, the area of the cache <b>021</b> used by the logical volume <b>034</b> is released and accordingly, the performance of the cache <b>021</b> which has been used is improved. The I/O amount increase application search engine <b>111</b> acquires the cache <b>021</b> selected in the resource selection area <b>610</b> and specifies the acquired cache <b>021</b> as a resource whose I/O performance is improved.
(e) Case when the logical volume <b>034</b> is selected in the resource selection area <b>610</b> and “used port modification” is selected in the operation list <b>621</b>:
In this case, the load on the storage side port <b>024</b> selected in the resource list <b>622</b> from the logical volume <b>034</b> selected in the resource selection area <b>610</b> is reduced. Accordingly, the load on the selected storage side port <b>024</b> is normally reduced. The I/O amount increase application search engine <b>111</b> acquires the storage side port <b>024</b> selected in the resource list <b>622</b> and specifies the acquired storage side port <b>024</b> as a resource whose I/O performance is improved.
(f) Case when the logical volume <b>034</b> is selected in the resource selection area <b>610</b> and “used cache modification” is selected in the operation list <b>621</b>:
In this case, the load on the cache <b>021</b> selected in the resource list <b>622</b> from the logical volume <b>034</b> selected in the resource selection area <b>610</b> is reduced. Accordingly, the load on the selected storage side cache <b>021</b> is normally reduced. The I/O amount increase application search engine <b>111</b> acquires the storage side cache <b>021</b> selected in the resource list <b>622</b> and specifies the acquired cache <b>021</b> as a resource whose I/O performance is improved.
(g) Case when the logical volume <b>034</b> is selected in the resource selection area <b>610</b> and “used RAID group modification” is selected in the operation list <b>621</b>:
In this case, the load on the RAID group <b>033</b> selected in the resource list <b>622</b> from the logical volume <b>034</b> selected in the resource selection area <b>610</b> is reduced. Accordingly, the load on the selected RAID group <b>033</b> is normally reduced. The I/O amount increase application search engine <b>111</b> acquires the RAID group <b>033</b> selected in the resource list <b>622</b> and specifies the acquired RAID group <b>033</b> as a resource whose I/O performance is improved.
Furthermore, the I/O amount increase application search engine <b>111</b> searches for an application <b>030</b> containing a resource which has been specified in step <b>1002</b> as a resource whose performance is improved in the I/O path, from the I/O path information table <b>202</b> (step <b>1003</b>). For example, when the resource specified in step <b>1002</b> is a RAID group <b>033</b>, a record having the name of the RAID group <b>033</b> in the RAID group name <b>406</b> is searched from the I/O path table <b>202</b>, thereby specifying an application.
It should be noted that in this step some applications are excluded according to the contents specified in the operation setting area <b>620</b>. More specifically, when “suppression of I/O amount from a particular device” or “release of the resident state of a particular logical volume” is selected, it is clear that the application performance will not be improved and the application using the device <b>032</b> or the logical volume <b>034</b> selected in the resource list <b>622</b> is excluded. Moreover, when the logical volume <b>034</b> is selected in the resource selection area <b>610</b>, the application <b>030</b> using the logical volume <b>034</b> is excluded. The application <b>030</b> to be excluded can be searched from the I/O path information table <b>202</b>.
Furthermore, the I/O amount increase application search engine <b>111</b> checks (step <b>1004</b>) whether the process of step <b>1005</b> et seq. have been performed for the application <b>030</b> acquired in step <b>1003</b>. If the processes have been executed for all the searched applications <b>030</b>, the processing is terminated. Otherwise, one of the applications <b>030</b> is selected from the application list acquired in step <b>1003</b> and control is passed to step <b>1005</b>.
Next, the I/O amount increase application search engine <b>111</b> searches (step <b>1005</b>) for resources appearing on the I/O path from the application <b>030</b> selected in step <b>1004</b> to the resource selected in step <b>1002</b>. It should be noted that the resource on the I/O path can be acquired from the I/O path information table <b>202</b>. More specifically, a record having the application <b>030</b> selected in step <b>1004</b> and the resource acquired in step <b>1002</b> as values is searched from the I/O path information table <b>202</b>, thereby acquiring the resource on the I/O path.
Moreover, the I/O amount increase application search engine <b>111</b> acquires performance information for each of the resources acquired in step <b>1005</b>, from the performance information table <b>201</b> (step <b>1006</b>).
Furthermore, the I/O amount increase application search engine <b>111</b> checks whether the performance information acquired in step <b>1006</b> includes a resource exceeding the upper limit of the processing. If such a resource exists, control is passed to step <b>1008</b>. Otherwise, control is passed to step <b>1009</b> (step <b>1007</b>).
It should be noted that the processing upper limit can be checked, for example, by checking the I/O processing time per unit time. For example, when the CPU use ratio or resource use ratio is 100%, it is judged that the server having the CPU or the resource has reached the processing upper limit. Moreover, the I/O amount increase application search engine <b>111</b> displays a view for setting the processing upper limit and can judge whether the processing upper limit is reached, by using the set value.
Furthermore, when the function provided by the micro-program <b>022</b> to suppress the I/O amount from a particular device <b>032</b> for a particular storage side port <b>024</b> is used or when the I/O amount from the device <b>032</b> for the storage side port <b>024</b> exceeds a predetermined amount, it is possible to assume that the storage side port <b>024</b> has reached the processing upper limit. It should be noted that the setting information may be acquired, for example, from the micro-program <b>022</b>.
In step <b>1008</b>, the application <b>030</b> selected in step <b>1004</b> is displayed as an application <b>0303</b> which cannot increase the I/O amount in the I/O amount increase application display view <b>302</b>. Moreover, the performance type which disabled I/O increase is also displayed. Thus, it is possible to grasp the application <b>030</b> whose I/O performance is not improved even if the modification set in the setting information input view <b>301</b> is modified. Furthermore, by displaying not only the application <b>030</b> but also the performance type disabling the I/O amount increase, it is possible to know which performance information is the performance bottleneck and which performance information should be improved to improve the I/O performance of the application <b>030</b>. For example, when the server CPU use ratio is the cause, an unnecessary service is stopped and the CPU is intensified so as to improve the performance.
In step <b>1009</b>, the application selected in step <b>1004</b> is displayed as the application <b>030</b> whose I/O amount can be increased on the I/O amount increase application display view <b>302</b>. Thus, it is possible to grasp the application <b>030</b> whose I/O performance may be improved by the modification set in the setting information input view <b>301</b>. Furthermore, by displaying the grasped applications <b>030</b> in a list, it is possible to confirm that the I/O performance of the application <b>030</b> not requiring a high-speed I/O performance such as a test application is not improved.
(6-2) I/O Performance Lowering Storage Resource Search Engine <b>112</b>
<figref idref="DRAWINGS">FIG. 11</figref> shows an I/O performance lowering storage resource search engine <b>112</b> according to an embodiment.
Firstly, the I/O performance lowering storage resource search engine <b>112</b> specifies a resource used by the application <b>030</b> whose I/O amount may be increased according to the I/O path information table <b>202</b>, from the applications <b>030</b> which are displayed on the I/O amount increase application display view <b>302</b> as applications whose I/O amount may be increased (step <b>1101</b>). For example, a record having the application <b>030</b> displayed on the I/O amount increase application display view <b>302</b> as applications whose I/O amount may be increased is searched from the I/O path information table <b>202</b> and by referencing the storage side port name <b>405</b>, the RAID group name <b>406</b>, the cache name <b>407</b>, and the logical volume name <b>408</b> from the searched record, it is possible to acquire a list of resources used by the application <b>030</b> whose I/O amount may be increased.
Next, the I/O performance lowering storage resource search engine <b>112</b> displays the resource acquired in step <b>1101</b> on the I/O performance lowering storage resource display view <b>303</b> (step <b>1102</b>). Thus, it is possible to grasp the range of affect of the storage setting modification to the resource in the storage.
In general, when the I/O performance of the storage side port <b>024</b>, the cache <b>021</b>, the RAID group <b>033</b> is deteriorated by execution of a plenty of I/O commands issued to a particular device <b>032</b>, it is effective to suppress the I/O amount between the device <b>032</b> and the storage side port <b>024</b> used by the device <b>032</b>. By using this method, it is possible to solve the problem of the performance of the storage side port <b>024</b>, the cache <b>021</b>, or the RAID group <b>033</b>.
According to the present embodiment, as shown in <figref idref="DRAWINGS">FIG. 8</figref>, the application <b>030</b> whose I/O amount may be increased by the setting modification of the storage subsystem <b>020</b> and the storage side port <b>024</b> used by the application are displayed at the lowering condition <b>802</b> and the resource used by the application whose I/O amount may be increased is displayed at the resource name <b>801</b>. Accordingly, the storage administrator can judge a method to prevent an affect of the application <b>030</b> whose I/O amount is increased by the setting modification of the storage subsystem <b>020</b>. It should be noted that the information for judging the affect can be acquired by fetching the application name <b>401</b> and the storage side port name <b>405</b> from the record acquired in step <b>1101</b>.
For example, suppose that setting modification of the storage subsystem <b>020</b> is found to increase the I/O amount from the application <b>020</b> (application A) requiring a high-speed I/O performance such as a DB server and an application <b>020</b> (application B) not requiring a high-speed I/O performance such as a test server. In this case, the I/O amount from the application B is limited at the storage side port <b>024</b>, so as to prevent the affect by the I/O amount increase of the application B.
(6-3) I/O Performance Lowering Application Search Engine <b>113</b>
<figref idref="DRAWINGS">FIG. 11</figref> shows an I/O performance lowering application search engine <b>113</b> according to an embodiment.
Firstly, the I/O performance lowering application search engine <b>113</b> searches for the application <b>030</b> including the resource searched in step <b>1101</b> in the I/O path from the I/O path information table <b>202</b> (step <b>1103</b>). For example, the I/O performance lowering application search engine <b>113</b> searches for a record having the resource specified in step <b>1101</b> and contained in one of the storage side port name <b>405</b>, the RAID group name <b>406</b>, the cache name <b>407</b>, and the logical volume name <b>408</b>, from the I/O path information table <b>202</b> and acquires the application name <b>401</b> contained in the searched record.
Step <b>1103</b> specifies the application connected to another path commonly including the I/O performance lowering resource contained in the path used by the I/O amount increase application, as the I/O performance lowering application.
Next, the I/O performance lowering application search engine <b>113</b> displays the application <b>030</b> acquired in step <b>1103</b> on an I/O performance lowering application display view <b>304</b> (step <b>1104</b>). Thus, it is possible to grasp the range of affect of the storage setting modification to the application <b>030</b>.
Moreover, as shown in <figref idref="DRAWINGS">FIG. 9</figref>, the resource specified in step <b>1101</b> can be displayed in the cause <b>902</b> as a resource causing lowering of the I/O performance of the application <b>030</b> specified in step <b>1103</b>. Thus, the application <b>030</b> whose I/O performance may be lowered by the storage modification is displayed in the application name <b>901</b>, and the resource as the cause is displayed in the cause <b>902</b>, thereby specifying a resource to be monitored after the storage setting modification. Moreover, by setting the relationship between the cause of the I/O performance lowering and its countermeasure in advance, it is possible to indicate a countermeasure candidate for preventing the I/O resource performance lowering of the resource displayed in the cause <b>902</b> as shown in the countermeasure candidate in <figref idref="DRAWINGS">FIG. 9</figref>.
For example, when the storage side port <b>024</b> causes the I/O performance lowering of the application <b>030</b> whose I/O performance may be lowered, it is possible to prevent the I/O performance lowering of the application or reduce the degree of the affect by “setting a higher priority to the I/O amount from the application <b>030</b>”. Moreover, when the cache <b>021</b> causes the I/O performance lowering of the application <b>030</b>, it is possible to prevent the I/O performance lowering of the application <b>030</b> or reduce the degree of the affect by “setting the logical volume used by the application <b>0303</b> to a state resident in the cache <b>021</b>”. It should be noted that the logical volume used by the application <b>030</b> can be acquired by referencing the logical volume name <b>408</b> contained in the I/O path information table <b>202</b>. Furthermore, when the RAID group <b>033</b> causes the I/O performance lowering of the application <b>030</b>, it is possible to prevent the I/O lowering of the application <b>030</b> or reduce the degree of the affect by “reducing the load on the RAID group <b>033</b>”.
By using the aforementioned methods, it is possible to judge which of the methods is to be used to eliminate affect by the application <b>030</b> which can increase the I/O amount by the setting modification of the storage subsystem <b>020</b>. For example, suppose that the I/O amounts from the application (application A) requiring a high-speed I/O performance such as a DB server and an application (application B) not requiring a high-speed I/O performance such as a test server are to be increased. In this case, by limiting the I/O amount from the application B at the storage side port <b>024</b>, it is possible to eliminate the affect by the I/O amount increase of the application B.
(7) Specific Examples
Referring to a specific example shown in <figref idref="DRAWINGS">FIG. 12</figref>, explanation will be given on the outline of the present processing. It should be noted that to simplify the explanation, explanation on the cache <b>021</b>, the file system <b>031</b>, and the device <b>032</b> is omitted. The I/O path information table <b>202</b> corresponding to the system configuration shown in <figref idref="DRAWINGS">FIG. 12</figref> is shown in <figref idref="DRAWINGS">FIG. 5</figref>.
Suppose that the logical volume <b>034</b><i>f </i>used by the application <b>030</b><i>f </i>is moved from the RAID group <b>033</b><i>a </i>to the RAID group <b>033</b><i>d</i>. Here, the I/O amount increase application search engine <b>111</b> firstly identify a resource whose performance is improved by the method shown in step <b>1002</b>. In the case shown in <figref idref="DRAWINGS">FIG. 12</figref>, the logical volume <b>034</b><i>f </i>is moved to another RAID group <b>033</b><i>d </i>and it is judged that the load of the RAID group <b>033</b><i>a </i>is reduced.
Next, by using the method shown in step <b>1003</b>, the I/O amount increase application search engine <b>111</b> specifies the application <b>030</b> using the RAID group <b>033</b><i>a</i>. More specifically, the I/O amount increase application search engine <b>111</b> searches for a record having the RAID group <b>033</b><i>a </i>in the RAID group name <b>406</b> from the I/O pass information table <b>202</b> and checks the application name <b>401</b> contained in the searched record. This specifies the application <b>030</b><i>a </i>and the application <b>030</b><i>b </i>as the application <b>030</b> whose I/O may be increased.
Furthermore, by using the method shown in steps <b>1005</b> and <b>1006</b>, the I/O amount increase application search engine <b>111</b> acquires the resource used by the application <b>030</b> and performance information on each resource and lastly, according to the acquired performance information, judges whether the I/O amount of the application <b>030</b><i>a </i>and <b>030</b><i>b </i>may be increased by the method shown in step <b>1007</b>.
In the case shown in <figref idref="DRAWINGS">FIG. 12</figref>, for example, the application <b>030</b><i>b </i>is specified as the application whose I/O may be increased according to a procedure as follows. Firstly, a record having the application <b>030</b><i>a </i>and the application <b>030</b><i>b </i>in the application name <b>401</b> is searched from the I/O path information table <b>202</b>. Next, from the searched record, the server name <b>409</b>, the server side port name <b>403</b>, the storage side port name <b>405</b>, and the RAID group name <b>406</b> are acquired. In this case, a server <b>001</b><i>a </i>and a server <b>001</b><i>b </i>are acquired as the server <b>001</b>; a server side port <b>023</b><i>a </i>and a server side port <b>023</b><i>b </i>are acquired as the server side port <b>0223</b>; a storage side port <b>024</b><i>a </i>and a storage side port <b>024</b><i>b </i>are acquired as the storage side port <b>024</b>; and a RAID group <b>033</b><i>a </i>is acquired as the RAID group <b>033</b>.
Next, performance of the acquired resource is acquired from the performance information table <b>201</b> and it is judged whether the I/O amount of the application <b>030</b><i>a </i>and <b>030</b><i>b </i>may be increased. For example, when the CPU use ratio of the server <b>001</b><i>a </i>or the use ratio of the server side port <b>023</b><i>a </i>is 100%, the I/O amount from the application <b>030</b><i>a </i>operating in the server <b>001</b> a to the RAID group <b>033</b><i>a </i>will not be increased. Accordingly, the application <b>030</b><i>a </i>is specified as the application whose I/O amount will not be increased. Moreover, when the use ratios of the server <b>001</b><i>b</i>, the server side port <b>0234</b><i>b</i>, and the storage side port <b>024</b><i>b </i>are all below 100%, the application <b>030</b><i>b </i>using the ports <b>023</b><i>b</i>, <b>024</b><i>b </i>is specified as the application whose I/O amount may be increased.
Next, according to the method shown in step <b>1101</b>, the I/O performance lowering storage resource search engine <b>112</b> specifies a resource whose I/O load is increased by the I/O amount increase of the application <b>030</b><i>b</i>. In the example shown in <figref idref="DRAWINGS">FIG. 12</figref>, for example, according to a procedure shown below, the server side port <b>023</b><i>b</i>, the server side port <b>023</b><i>c</i>, the storage side port <b>024</b><i>b</i>, the storage side port <b>024</b><i>c</i>, the RAID group <b>033</b><i>a</i>, and the RAID group <b>033</b><i>b </i>are specified as the resources whose I/O load may be increased. Firstly, a record having the application <b>030</b><i>b </i>for the application name <b>401</b> is searched from the I/O path information table <b>202</b>. Next, from the searched record, the server side port name <b>403</b>, the storage side port name <b>405</b>, and the RAID group name <b>406</b> are acquired. Thus, it is possible to acquire the server side port <b>023</b><i>b</i>, the server side port <b>023</b><i>c</i>, the storage side port <b>024</b><i>b</i>, the storage side port <b>024</b><i>c</i>, the RAID group <b>033</b><i>a</i>, and the RAID group <b>033</b><i>b</i>. Moreover, the I/O performance lowering storage resource search engine <b>112</b> specifies the acquired resource as the resource whose I/O performance may be lowered.
Lastly, the I/O performance lowering application search engine <b>113</b> specifies an application having the resource specified by the I/O performance lowering storage resource search engine <b>112</b> in the I/O path according to step <b>1103</b>. In the example shown in <figref idref="DRAWINGS">FIG. 12</figref>, according to a procedure explained below, the application <b>030</b><i>a </i>and the application <b>030</b><i>c </i>are specified as the application <b>030</b> whose I/O performance may be deteriorated by the setting modification of the storage subsystem <b>020</b>. Firstly, the I/O performance lowering application search engine <b>113</b> searches for a record having the server side port <b>023</b><i>c </i>for the server side port name <b>403</b> or a record having the storage side port <b>024</b><i>b </i>or the storage side port <b>024</b><i>c </i>for the storage side port name <b>405</b> or a record having the RAID group <b>033</b><i>a </i>or the RAID group <b>033</b><i>b </i>for the RAID group name <b>406</b> from the I/O path information table <b>202</b> and acquires the application name <b>401</b> of the searched record. In this case, it is possible to acquire the application <b>030</b><i>a </i>using the RAID group <b>033</b><i>a </i>and the application <b>030</b><i>c </i>using the storage side port <b>024</b><i>c</i>. The I/O performance lowering application search engine <b>113</b> specifies the applications <b>030</b><i>a </i>and <b>030</b><i>c </i>as the application <b>030</b> whose I/O performance may be lowered.
(8) Other Embodiments
According to the present embodiment, it is possible to identify the application <b>030</b> whose I/O amount may be increased by eliminating the bottleneck and a resource and the application <b>030</b> whose I/O performance may be lowered by the I/O amount increase of the application <b>030</b> when performing setting modification of the storage subsystem <b>020</b>.
It should be noted that the setting information input view <b>301</b> in the aforementioned embodiment may be extended and a plurality of setting contents may be inputted. By simultaneously inputting a plurality of setting contents, for example, it is possible to identify the range of affect to another application <b>030</b> when the I/O path used by the server <b>001</b> is modified. When switching of the I/O path used by the server <b>001</b> causes modification of the storage side port <b>024</b>, the cache <b>021</b>, and the RAID group <b>033</b> used by the application <b>030</b>, the I/O loads on the storage side port <b>024</b>, the cache <b>021</b>, and the RAID group <b>033</b> which have been used by the application are decreased. For this, the aforementioned case is identical to the case when the logical volume <b>034</b> is moved to another storage side port <b>0224</b>, cache <b>021</b>, and RAID group <b>033</b>. Accordingly, by inputting a plurality of setting information in the setting information input view <b>301</b>, it is possible to identify the application <b>030</b> whose I/O amount may be increased by the I/O path modification and the resource and the application <b>030</b> whose I/O performance may be lowered by the I/O increase of the application <b>030</b>.
Furthermore, by applying the present embodiment, when reducing the I/O load on the RAID group, it is possible to decide the logical volume to be moved considering the range of affect of the I/O volume increase of the application <b>030</b> using the RAID group to another application <b>030</b>. More specifically, the processes which will be explained below are executed for each of the logical volumes <b>034</b> contained in a particular RAID group <b>033</b>.
Firstly, a logical volume <b>034</b> to be moved is specified in the resource selection region <b>610</b> in the setting information input view shown in <figref idref="DRAWINGS">FIG. 6</figref>. Next, the movement of the logical volume <b>034</b> is selected in the operation list <b>621</b>. Next, the storage performance analysis program <b>110</b> executes the process explained in the example and displays the I/O performance lowering storage resource display view <b>303</b> and the I/O performance lowering application display view <b>304</b>. Whereby, it is possible to identify the resource and the application which are affected by the movement of each logical volume <b>034</b> and accordingly, it is possible to select the setting modification which will not affect a particular application. Moreover, it is possible to select the setting modification which minimizes the number of applications whose I/O performance is affected. It should be noted that here, a list of resources and applications which are affected is displayed. However, it is also possible to display the number of resources and the number of applications which are affected.
Furthermore, it is also possible to display the performance of each resource corresponding to the resource name <b>801</b> on the I/O performance storage resource display view <b>303</b> after the storage setting modification. Moreover, it is also possible to display the performance of each resource corresponding to the lowering condition <b>802</b>. This enables check of the I/O amount increase from the application. Moreover, since the range affected by the storage setting modification is identified, it is possible to immediately detect deterioration of the I/O performance caused by the storage setting modification. On the other hand, in the conventional method, a user should manually specify the range of affect, which requires a certain time. This embodiment reduces the labor required for detecting the problem.
By displaying the I/O amount increase application, the I/O performance lowering storage resource, and the I/O performance lowering application on the system configuration of <figref idref="DRAWINGS">FIG. 12</figref> displayed on the display view, it is possible to rapidly grasp the range affected by the storage setting modification. Furthermore, by displaying the resource affecting others and the resource affected by the setting modification on the system configuration shown in <figref idref="DRAWINGS">FIG. 12</figref>, it is possible to grasp the details of affect caused by the setting modification.
When a task system is formed by a plenty of applications and relationship between some applications is known in advance, this relationship may be used to narrow the application candidates included in the range affected by the setting modification.
It should be further understood by those skilled in the art that although the foregoing description has been made on embodiments of the invention, the invention is not limited thereto and various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims.
Contents5
15 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15
Every citation, both waysCites: the store holds 25 of 26
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2001337790A | Cites | Japan | Applicant |
| US2003005119A1 | Cites | United States of America | Applicant |
| US2004002880A1 | Cites | United States of America | Applicant |
| JP2004246412A | Cites | Japan | Applicant |
| US2005088976A1 | Cites | United States of America | Applicant |
| JP2005309748A | Cites | Japan | Applicant |
| US2007061446A1 | Cites | United States of America | Applicant |
| US2008098110A1 | Cites | United States of America | Applicant |
| US5088058A | Cites | United States of America | Applicant |
| US6446161B1 | Cites | United States of America | Applicant |
| US6564174B1 | Cites | United States of America | Applicant |
| US6640278B1 | Cites | United States of America | Applicant |
| US6779078B2 | Cites | United States of America | Applicant |
| US7412504B2 | Cites | United States of America | Applicant |
| US7702962B2 | Cites | United States of America | Applicant |
| JPH10320126A | Cites | Japan | Applicant |
| US20030005119A1 | Cites | United States of America | Third party observation |
| US20040002880A1 | Cites | United States of America | Third party observation |
| US20050088976A1 | Cites | United States of America | Third party observation |
| US20070061446A1 | Cites | United States of America | Third party observation |
| US20080098110A1 | Cites | United States of America | Third party observation |
| JP10320126 | Cites | Japan | Third party observation |
| JP2001337790 | Cites | Japan | Third party observation |
| JP2004246412 | Cites | Japan | Third party observation |
| JP2005309748 | Cites | Japan | Third party observation |
| Japan Patent Office office action on application No. 2006-055695 dated Apr. 19, 2011; pp. 1-2. | Non-patent | – | Applicant |
| Japan Patent Office office action on application No. 2006-055695 dated Apr. 19, 2011; pp. 1-2. | Non-patent | – | Third party observation |
9 members in 3 offices
Priority claims11
| Document | Office | Kind | Date |
|---|---|---|---|
| 2006055695 | Japan | – | |
| 2006055695 | Japan | A | |
| 2006055695 | Japan | A | |
| 42923806 | United States of America | A | |
| 42923806 | United States of America | A | |
| 89371810 | United States of America | A | |
| 11429238 | – | – | – |
| 2006055695 | – | – | – |
| JP20060055695 | – | – | – |
| US20060429238 | – | – | – |
| US20100893718 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| EP1830259A1 | European Patent Office (EPO) | A1 | |
| JP2007233783A | Japan | A | |
| US2007226328A1 | United States of America | A1 | |
| US7822847B2 | United States of America | B2 | |
| US2011016273A1 | United States of America | A1 | |
| US8041813B2This record | United States of America | B2 | |
| US2012011255A1 | United States of America | A1 | |
| JP4857818B2 | Japan | B2 | |
| US8200817B2 | United States of America | B2 |
41 transactions on the USPTO file
Allowed after 1 non-final rejection and 1 final rejection.
- Non-final rejections
- 1
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Paralegal or electronic terminal disclaimer approvedP574 | P574 | |
| Terminal Disclaimer FiledDIST | DIST | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Response after Final ActionA.NE | A.NE | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Paralegal TD Not acceptedP575 | P575 | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Terminal Disclaimer FiledDIST | DIST | |
| Response after Non-Final ActionA... | A... | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Cleared by OIPE CSRL194 | L194 | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request from applicant for the USPTO to retrieve the Priority DocumentPDREQUST | PDREQUST | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF |
Numbers
- Publication
- 08041813
- Publication, DOCDB
- 8041813
- Publication, EPODOC
- US8041813
- Application
- 12893718
- Application, DOCDB
- 89371810
- Application, EPODOC
- US20100893718
Titles
- English
- Storage management method and server
Patent term adjustment
- Applicant delay
- −6 days
- Net adjustment
- 0 days
Classification
- CPC, 9
- G06F9/50
- H04L41/0816
- H04L41/083
- H04L41/0883
- H04L67/1097
- H04L67/1008
- H04L67/101
- H04L67/1031
- H04L67/1001
- IPC, 1
- G06F15 173
- USPC, 2
- 709224000
- 711114000