The present invention relates to a computer system and particularly to management of storage resources in a computer system.
An amount of data used by companies and individuals has been rapidly increasing in recent years. Thus, a computer system including a plurality of storage arrays in which technologies such as SAN (Storage Area Network) and NAS (Network Attached Storage) are used so as to connect storage arrays and host computers by switches or hubs and to enable flexible data management is widely used.
Moreover, with complication of the computer system, reduction of an operating cost of a computer system has become an important problem in recent years. As a method of solving this problem, integrated management of a configuration of a computer system such as a storage array, a host computer, a switch, a hub and the like by management software can be cited.
Such methods include one disclosed in Patent Literature 1, for example. By using this kind of technologies, an administrator of a storage system can perform a management operation such as search for a storage resource meeting a condition from storage resources (hereinafter also referred to simply as a resource) owned by a plurality of storage arrays, and assignment thereof to a host computer.
On the other hand, in recent years, the number of storage arrays and host computers installed in a data center of a company and the like is increasing, and the size of a computer system is getting bigger. In such a large-scale storage environment, with the purpose of reduction of its administration cost, a storage resource having some typical configurations may be generated in advance so that it can be used later as necessary.
Particularly, such an operation is often performed in a storage array used as applications including a storage destination of data with a low usage or a backup destination of data. Moreover, a resource of this type of storage array generally has a lower frequency of maintenance by an administrator (deletion of unnecessary storage resources and the like) than that of a storage array used as a storage destination of data with a high usage.
The resources of such storage arrays include a storage resource that was considered to have a high usage at the time of generation, for example, but has gradually become unable to satisfy a requirement in continuation of an operation of the computer system and is hardly used in the end.
However, with methods according to prior art, a storage resource meeting a condition can be efficiently found but a storage resource not meeting a condition any longer cannot be found efficiently. Thus, storage resources which hardly matches the condition designated by a user and is hardly used (that is, unnecessary) remain in the system, and that causes a problem that utilization efficiency of the storage resources lowers. Moreover, the larger the system becomes, the more difficult for an administrator to specify an unnecessary storage resource comes to be.
Therefore, a technology for efficiently using a storage resource even in a large-scale system is desired.
An aspect of the invention is a computer system including one or more storage arrays providing a plurality of storage resources and a management system managing the one or more storage arrays. The management system stores configuration information of the plurality of storage resources. The management system specifies a non-applicable free storage resource for a configuration condition including one or more predesignated condition items in response to a predesignated event and records information of the specified free storage resource and a non-applicable reason in condition non-applicable storage resource information. The management system repeats the specifying and the recording in response to the predesignated event. The management system selects a free storage resource applicable to a predesignated unnecessary storage resource condition from the condition non-applicable storage resource information after the repetition as an unnecessary storage resource candidate.
Other features of the present invention will be partly specified by the following description, partly more apparent from the following description or learned from exploitation of the present invention. Aspects of the present invention are achieved and realized by elements and a combination of various elements, and the following detailed description and attached aspects of the claims.
It should be understood that the above and following description is for typical explanation and do not limit the claims and applications of the present invention in any sense.
According to the present invention, a storage resource can be used efficiently even in a large-scale system.
Embodiments of the present invention will be described below with reference to the attached drawings. In the attached drawings, the functionally same elements might be indicated by the same numerals. The attached drawings illustrate specific embodiments and implementation examples in compliance with the principle of the present invention but they are for understanding of the present invention and not to be used for interpreting the present invention in a limited manner at all.
In this embodiment, sufficiently detailed explanation is given for those skilled in the art to put the present invention into practice but it should be understood that other implementations/forms are possible and changes in the configuration/structures and replacement of various elements are possible without departing from the scope and the spirit of the technical idea of the present invention. Therefore, the following description should not be interpreted as a limitation
Moreover, the embodiments of the present invention may be implemented by software running on a general-purpose computer or may be implemented by dedicated hardware or a combination of software and hardware as will be described later.
In the following explanation, each piece of information of the present invention will be described in a “table” format but the information does not necessarily have to be expressed in a data structure using a table and may be expressed in a data structure using a list, a DB, a queue and the like or any other formats. Thus, in order to indicate that information does not depend on the data structure, “table”, “list”, “DB”, “queue” and the like might be referred to simply as “information”. Moreover, when explaining contents of each piece of the information, expressions like “identification information”, “identifier”, “name”, and “ID” can be used, and they can be replaced with each other.
In the following, each processing in the embodiment of the present invention will be described by using a term of a “program” as a subject (subject of action), but since the program is executed by a processor so as to perform predetermined processing by using a memory and a communication port (communication controller), the processor may be used as the subject in the explanation.
Moreover, the processing disclosed by using the program as the subject may be considered as processing executed by a computer such as a management computer or an information processor. A part of or the whole of the program may be realized by dedicated hardware or may be modularized. Various programs may be installed in the computer or the information processor by using a program distribution server or non-temporary memory medium.
The processor operates in compliance with the program so as to be a functional unit realizing a predetermined function. For example, the processor functions as a control unit by operating in compliance with a control program and functions as a management unit by operating in compliance with a management program. A device and a system including the processor is a device and a system including these functional units.
A configuration example in this embodiment records a score indicating a degree of a storage resource not matching a condition (the number of times not matching the condition as the result of search, for example) and a reason thereof (the condition not matching at the search) when a storage resource matching the condition is searched from the storage resources included in the computer system by a management system.
On the other hand, for the storage resource matching the condition, time and date determined to match the condition are recorded. The management system detects a resource which has been hardly used in a period determined in advance prior to the current time and date on the basis of the information and presents the information of the storage resource (configuration information, the above-described score, and the above-described reason, for example) to an administrator who is a user.
Moreover, the management system records the condition designated by the administrator along with the designation number of times and a ratio at which the storage resource satisfying the condition is not found in every time the storage resource is searched. The management system determines a measure for improving utilization efficiency of the storage resource for the storage resource determined to hardly match the condition designated by the user on the basis of the information, and presents the measure to the user.
In
The storage array 1000, the second storage array 6000, and the host computer 2000 are connected to a network via the switch device 3000. Moreover, the storage array 1000, the second storage array 6000, the host computer 2000, and the management computer 4000 are connected to the network via the switch device 5000.
The switch device 3000 and the switch device 5000 may be the same device. Moreover, the switch device 5000 may be divided into an device for connecting the storage array 1000, the second storage array 6000, and the management computer 4000 and a device for connecting the host computer 2000 and the management computer 4000.
The switch device 5000 includes an I/F (Interface) (A) 5100 for connection with the storage array 1000 and the second storage array 6000, an I/F (B) 5200 for connection with the management computer 4000, and an I/F (C) 5300 for connection with the host computer 2000.
A network protocol used among the storage array 1000, the second storage array 6000, the management computer 4000, the host computer 2000, and the switch device 5000 for connecting them includes, but is not particularly limited to, TCP/IP and the like. Moreover, there are one I/F (A) 5100, one I/F (B) 5200, and one I/F (C) 5300 in the figure, but the number of each of them does not necessarily have to be such but they may be provided one or more for each.
Moreover, in
(i) Storage Array
The storage array 1000 includes disk drives 1100 and a disk controller 1200. The disk drives 1100 include a physical resource 1121 and a pool 1120. Here, the physical resource 1121 represents a resource of a storage area provided by a physical device such as an HDD (Hard Disk Drive), an SSD (Solid State Drive) and the like. However, the type of the physical device providing the physical resource 1121 is not particularly limited. The pool 1120 is a group of the physical resources 1121.
In general, the pool 1120 is comprised by making the physical resource 1121 redundant by using a technology called RAID (Redundant Array of Independent Disks), but this does not intend limiting, and it is only necessary that one or more physical resources 1121 are grouped. In the figure, there are four pools 1120 and five physical resources 1121 but the numbers are not limited as above and it is only necessary that they are provided one or more of each.
For example, the pool 1120 connected to the logical volume 1110 (1) is comprised of the RAID, and the pool 1120 connected to the logical volume 1110 (2) is comprised to provide a virtual volume by using Thin Provisioning technology or Automated Tiering technology. However, it does not intend limiting, and both may comprise the RAID or both may be configured to provide the virtual volumes.
Moreover, the pool 1120 providing a virtual volume may be comprised not of the physical resource 121 but of the logical volume 1110 depending on hardware designation of the storage array 1000. In this case, the physical resource 1121 configures the pool 1120 comprising the RAID, the logical volume 1110 (1) cut out of the pool 1120 comprising the RAID configures the pool 1120 providing a virtual volume, and the logical volume 1110 (2) is cut out of the pool 1120 providing the virtual volume. The configuration of the pool 1120 providing a virtual volume is not particularly limited.
The disk controller 1200 includes a memory 1210, a controller (also referred to as a processor) 1220, an I/F (A) 1230 for connection with the switch device 3000, an I/F (B) 1240 for connection with the switch device 5000, and a disk I/F 1250 for connection with the disk drives 1100. These constituent elements are connected to each other via a bus.
The disk controller 1200 further includes the logical volume 1110. The logical volume 1110 represents a logical storage area comprising one or more physical resources and is provided to the host computer 2000 by the disk controller 1200.
Here, the logical volume 1110 (1) is comprised of one or more physical resources 1121 which are assigned in advance, and the capacity of the logical volume 1110 (1) is equal to the total capacity of the physical resources 1121 configuring it. However, if the physical resource has been made redundant by the RAID, the capacity of the logical volume 1110 (1) might be smaller than the total capacity of the physical resources 1121 configuring it.
On the other hand, the logical volume 1110 (2) is a virtual logical volume provided to the host computer 2000 and the physical resource 1121 is assigned thereto in response to a writing request from the host computer 2000. Specifically, when the disk controller 1200 receives a request of writing data in the logical volume 1110 (2), if a physical resource has not been assigned to a target area of the writing request, the disc controller 1200 assigns a storage area of the physical resource 1121 to the logical volume 1110 (2) and writes the data in the storage area of the assigned physical resource.
As a result, the storage capacity of the logical volume 1110 (2) provided to the host computer 2000 can be made larger than a total capacity of the actually assigned physical resource 1121. A technology to realize this is called the Thin Provisioning technology.
Moreover, if the logical volume 1110 (2) is comprised of a plurality of the physical resources 1121, the type of the physical device (HDD, SSD or the like) which is the providing source of the physical resource 1121 may be different. Furthermore, the physical resource which is a storage destination of the data written in the logical volume 1110 (2) can be dynamically changed in accordance with an access frequency from the host computer 2000 or the like by the Automated Tiering function of the storage array 1000.
As a result, such control can be made that data with a high access frequency from the host computer 2000 is stored in the physical resource provided from a high-speed but expensive physical media (physical storage drive) such as an SSD and data with a low access frequency from the host computer 2000 is stored in the physical resource provided from a low-speed but inexpensive physical media such as SATA, for example.
In
The memory 1210 stores a program and data used by the controller 1220. Particularly, the memory 1210 includes a storage information providing program 1211, a storage configuration information table group 1212, a storage virtualization program 1213, and a storage failure notification program 1214.
The storage information providing program 1211 is a program which collects configuration information of the storage array 1000 and transmits the information to another program (configuration management program 4110).
The storage configuration information table group 1212 is a collection of tables which store configuration information of the storage array 1000.
The storage virtualization program 1213 is a program for realizing a virtualization function. Specifically, the storage virtualization program 1213 has a function of mapping a logical volume 6110 in the second storage array 6000 connected via the switch device 3000 in the logical volume 1110 in the first storage array 1000. As a result, the logical volume 6110 of the second storage array 6000 can be provided to the host computer 2000 as a logical volume of the first storage array 1000.
In this embodiment, the virtualization function disclosed in Patent Literatures 2 and 3 can be used, for example. When the logical volume 6110 of the second storage array 6000 is mapped in the logical volume 1110 of the first storage array 1000, the logical volume 6110 may be mapped as the logical volume 1110 or the logical volume 6110 is mapped as the pool 1120 and then, the logical volume 1110 may be cut out of the pool.
Moreover, the logical volume 6110 may be mapped as the physical resource 1121, and a pool may be configured from the physical resource and then, the logical volume 1110 may be cut out. Moreover, the virtualization function may be realized by the switch device 3000. Moreover, the first storage array 1000 and the second storage array 6000 may have one-to-one relationship or a relationship of one-to-many, many-to-one or many-to-many.
The storage failure notification program 1214 is a program which notifies information of a failure occurring in the storage array 1000 to another program (configuration management program 4110). The type of the failure includes, but is not limited to, a failure of the physical device providing the physical resource 1121, for example.
The controller 1220 controls execution of a program in the memory 1210 and input/output of data and input/output of data and a control command via each I/F of the disk controller 1200. In addition to the above, the storage array 1000 has general functions as a storage array such as a function of configuring the pool 1120 from the physical resource 1121, a function of generating the logical volume 1110 from the pool 1120, a function of assigning the logical volume to the host computer 2000 via the I/F (A) 1230, a function of receiving a request of changing a configuration or setting of the storage array 1000 from the management computer 4000 and the like.
Moreover, the storage array 1000 may also include an input device for a user of the storage array 1000 to input data and an output device to present information to the user of the storage array 1000, but since they are not directly related to the present invention, they are not shown in the figures. The configuration of the second storage array 6000 is similar to the storage array 1000 and explanation thereof is omitted.
(ii) Host Computer
The host computer 2000 includes a memory 2100, a controller (also referred to as a processor) 2200, an I/F (A) 2300 for connection with the switch device 3000, and an I/F (B) 2400 for connection with the switch device 5000. These constituent elements are connected to each other via a bus. The memory 2100 stores a program and data used by the controller 2200. Particularly the memory 2100 includes an application program 2110 and a host information providing program 2120.
The application program 2110 may be any program. The host information providing program 2120 is a program which collects configuration information of the host computer 2000 and transmits the information to another program (configuration management program 4110). The host information providing program may be a separate program from the OS (Operating System) or may be realized as a function of the OS itself. The controller 2200 controls execution of the program in the memory 2100 and input/output of data, and input/output of data and a control command via the I/F (A) 2300 and the I/F (B) 2400.
The host computer 2000 may include an input device for a user of the host computer 2000 to input data (a keyboard, a pointing device such as a mouse and the like, a sound input device and the like), an output device for presenting information to the user of the host computer 2000 (a display device, a printer, a sound output device and the like), and a secondary memory device for storing data other than the above but since they are not directly related to the present invention, they are not shown in the figures.
The switch device 3000 includes an I/F (A) 3100 for connection with the storage array 1000 and the second storage array 6000 and an I/F (B) 3200 for connection with the host computer 2000. A network protocol used among the storage array 1000, the second storage array 6000, the host computer 2000, and the switch device 3000 which connects them includes, but is not particularly limited to, FC (Fibre Channel) and iSCSI. Moreover, in the figure, there are one unit of the I/F (A) 3100 and one I/F (B) 3200, but the number of the devices is not limited as above and may be any as long as there is one or more each.
(iii) Management Computer
The management computer 4000 includes a memory 4100, a controller (also referred to as a processor) 4200, and an I/F 4300 for connection with the switch device 5000. The memory 4100 stores a program and data used by the controller 4200.
For example, the memory 4100 includes a configuration management program 4110, a configuration information table group 4120, an unnecessary resource specification program 4130, and a table group 4140 for unnecessary resource specification.
The configuration management program 4110 is a program for managing configurations of the storage array 1000, the second storage array 6000, and the host computer 2000. The configuration management program 4110 has a function of obtaining configuration information of the storage array 1000 by communicating with the storage information providing program 1211 of the storage array 1000, for example.
Other than the above, the configuration management program 4110 has a function of obtaining configuration information of the host computer 2000 by communicating with the host information providing program 2120 of the host computer 2000 and a function of receiving information relating to a failure having occurred in the storage subsystem 1000 or the host computer 2000 from the storage failure notification program 1213 or a host failure notification program 2130, for example.
The configuration management program 4110 may obtain other information such as performance information other than the configuration information of the storage array 1000 and the host computer 2000. The configuration management program 4110 also has general functions as the management computer.
Specifically, they are a function of configuring the pool 1120 by the physical resource 1121, a function of generating the logical volume 1110 from the pool 1120, a function of assigning the logical volume 1110 to the host computer 2000 via the I/F (A) 1230, a scheduler function of executing specific processing at specific time, a function of searching a resource such as a logical volume of the storage array, and the like.
The configuration management program 4110 provides a user interface for performing display of the configuration information of the storage array 1000 and the host computer 2000 and a management operation to the storage array 1000 and the host computer 2000.
The configuration information table group 4120 is a collection of tables storing the configuration information of the storage array 1000 and the host computer 2000.
The unnecessary resource specification program 4130 is a program for identifying a resource which is hardly used any longer in the resources of the storage array 1000 and the second storage array 6000.
The table group 4140 for unnecessary resource specification is collection of tables storing information used by the unnecessary resource specification program 4130 for identifying a resource which is hardly used any longer in the resources of the storage array 1000 and the second storage array 6000.
The management computer 4000 may include an input device for a user of the management computer 4000 to input data, an output device for presenting information to the user of the management computer 4000, and a secondary memory device for storing data. Moreover, each table of the management computer 4000 may be held not only on the memory but also on the secondary memory device.
Instead of the input device and a display device (output device) of the management computer 4000, a serial interface or Ethernet interface may be used as an input/output device, and a computer for display including a display, a keyboard or a pointer device may be connected to the interface so that display is made on the computer for display by transmitting information for display thereto or by receiving information for input therefrom and thus, input and display of the input/output device can be substituted.
Moreover, by providing a program in the memory 4100 of the management computer 4000 into the memory 1210 of the storage array 1000 and by having the controller 1220 execute the program, the function similar to the management computer 4000 may be realized. Furthermore, the management computer 4000 may also include a program for managing the switch device 3000 and the switch device 5000.
In the following, a collection of one or more computers, each managing the computer system 100 and indicating information for display of the invention of this application, will be referred to as a management system in some cases. If the management computer 4000 displays the information for display, the management computer 4000 is the management system, and a combination of the management computer 4000 and the computer for display is also the management system. Furthermore, the processing similar to that by the management computer may be realized by a plurality of computers for higher speed and higher reliability of management processing, and in this case, the plurality of computers (if the display is made by the computer for display, the computer for display is included) are the management system.
<Storage Configuration Information Table Group>
The volume assignment table 12120 is a table for storing information of the logical volume 1110 assigned to the host computer 2000. The physical resource assignment table 12121 is a table for storing information of assignment of the physical resource to each segment of the logical volume 1110.
<Configuration Example of Volume Assignment Table>
In
Moreover, in
<Configuration Example of Physical Resource Assignment Table>
The physical resource assignment table 12121 further has, as configuration items, a storage ID 121213 for identifying the storage array which is a providing source of the physical resource, a physical resource ID 121214 for identifying a physical resource assigned to each segment of the logical volume 1110, and an LBA area 121215 for identifying a storage area of the physical resource 1121 assigned to each segment of the logical volume 1110.
In this embodiment, not only the storage area of the physical resource 1121 of the first storage array 1000 itself but also the storage area of the logical volume 6110 of the second storage array 6000 can be assigned to the segment of the logical volume 1110.
Thus, if the storage area of the logical volume 6110 of the second storage array 6000 is assigned to the segment of the logical volume 1110 (the row in which the volume ID 121210 is “Vol. 1” and the segment ID 121211 is “Seg. 1” in
On the other hand, if the storage area of the physical resource 1121 of the storage array 1000 itself is assigned to the segment of the logical volume 1110, information identifying the first storage array 1000 is stored in the storage ID 121213 and information identifying the physical resource 1121 is stored in the physical resource ID 121214, respectively. A method indicating the relationship of virtualizing/being virtualized by the storage virtualization program is not limited to the expressions in
The volume ID 121210, the segment ID 121211, the storage array ID 121213, and the physical resource ID 121214 are information that can uniquely identify the logical volume 1110, the segment in the logical volume 1110, the storage array 1000 or the second storage array 6000, and the physical resource 1121 or the logical volume 6110 of the second storage array 6000, respectively. Therefore, they are not limited to the notation in
Moreover, the volume LBA area 121212 and the LBA area 121215 are not limited to the notation in
In
<Configuration Information Table Group>
The storage information table 4121 is a table for storing information of the storage array 1000 and the second storage array 6000. The volume information table 4122 is a table for storing information of the logical volume 1110 of the storage array 1000 and the logical volume 6110 of the second storage array 6000.
The pool information table 4123 is a table for storing information of the pool 1120 of the storage array 1000 and the pool 6120 of the second storage array 6000. The physical resource information table 4124 is a table for storing information of the physical resource 1121 of the storage array 1000 and the physical resource 6121 of the second storage array 6000.
The pool/resource related information table 4125 is a table for storing information of relationship between the pool 1120 and the physical resource 1121 of the storage array 1000 and the relationship between the pool 6120 and the physical resource 6121 of the second storage array 6000.
The host information table 4126 is a table for storing information of the host computer 2000. The volume assignment information table 4127 is a table indicating a relationship between the host computer 2000 and the logical volume 1110 or the logical volume 6110 assigned to the host computer 2000.
<Configuration Example of Storage Information Table>
The storage information table 4121 further includes, as configuration items, a total free space 41213 of the pools 1120 of the storage array 1000 or the pools 6120 of the second storage array 6000, a total volume number 41214 which is a total number of the logical volumes 1110 of the storage array 1000 or a total number of the logical volumes 6110 of the second storage array 6000.
The storage information table 4121 may store not only the information illustrated in
<Configuration Example of Volume Information Table>
The volume information table 4122 further includes, as configuration items, a pool ID 41222 for identifying a pool 1120 of which the logical volume 1110 is cut out or the pool 6120 of which the logical volume 6110 is cut out, a capacity 41223 of the logical volume 1110 or the logical volume 6110, and a state 41224 indicating a working state of the logical volume 1110 or the logical volume 6110
In
<Configuration Example of Pool Information Table>
The pool information table 4123 further includes, as configuration items, a total capacity 41232 of the pool 1120 or the pool 6120, a free space 41233 of the pool 1120 or the pool 6120, a type 41234 indicating a type of the pool 1120 or the pool 6120, an RAID level 41235 configured for the pool 1120 or the pool 6120, and a state 41236 indicating the working state of the pool 1120 or the pool 6120.
Here, the RAID level 41235 is information indicating the type of the RAID technology applied to the pool 1120 or the pool 6120, that is, information indicating the degree of redundancy of the pool 1120 or the pool 6120.
Moreover, when
In
Moreover, the pool 1120 having the type 41234 of “Thin Provisioning” indicates a pool capable of assigning the physical resource 1121 to the logical volume 1110 (2) in response to a writing request from the host computer 2000.
Furthermore, the pool 1120 having the type 41234 of “Automated Tiering” indicates the pool comprised of the physical resources provided by a plurality of types of the physical devices and capable of the following.
That is, the pool is capable of assigning the physical resource 1121 to the logical volume 1110 (2) in response to a writing request from the host computer 2000. It is possible to change the type of the physical resource 1121 to be assigned to the logical volume 1110 (2) in accordance with a frequency of an I/O access from the host computer 2000 to the logical volume 1110 (2). It is possible to migrate data having been written in the storage area of the already-assigned physical resource 1121 onto the storage area of another physical resource 1121.
In
<Physical Resource Information Table>
The physical resource information table 4124 further includes, as configuration items, a media type 41243 indicating a type of a providing source media (storage drive) of the storage area in the physical resource 1121 or the physical resource 6121, a disk rotation speed 41244 of the providing source media of the storage area in the physical resource 1121 or the physical resource 6121, and a state 41245 indicating the working state of the physical resource 1121 or the physical resource 6121.
In
In this embodiment, if the media type 41243 is “SSD”, the disk rotation speed 41244 stores “null”. This indicates that SSD has no disk and thus, disk rotation cannot occur. A method of indicating that there is no disk rotation is not limited to that but may be other methods of expression.
Moreover, in
<Configuration Example of Pool/Resource Related Information Table>
If the providing source of the storage area of the pool 1120 is the logical volume 6110 of the second storage array 6000, the pool/resource related information table 4125 further includes, as configuration items, an external storage ID 41253 for identifying the second storage array 6000 and an external volume ID 41254 for identifying the logical volume 6110 of the second storage device 6000.
In
Moreover, the pool/resource related information table 4125 may store not only the information illustrated in
<Configuration Example of Host Information Table>
In this example, WWN assigned to the I/F (A) 2300 of the host computer 2000 is stored in the address 41261, but this is not limiting, and it may be any information as long as it indicates a network address assigned to the I/F (A) 2300. Moreover, the host information table 4126 may store not only the information illustrated in
<Configuration Example of Volume Assignment Information Table>
The volume assignment information table 4127 further includes, as configuration items, a storage ID 41272 for identifying the storage array 1000 or the second storage array 6000, a target address 41273 indicating an address assigned to the I/F (A) 1230 of the storage array 1000 or the second storage array 6000, and a volume ID 41274 for identifying the logical volume 1110 or the logical volume 6110.
The volume assignment information table 4127 may store not only the information illustrated in
<Table Group for Unnecessary Resource Specification>
The condition non-applicable resource information table 4141 is a table which stores information indicating a degree of difficulty for the storage resource such as the logical volume, pool, physical resource and the like (hereinafter also collectively referred to simply as a resource or a storage resource) of the storage array 1000 or the second storage array 6000 in matching a condition requested by the administrator (hereinafter also referred to simply as a condition) and information indicating why the storage resource did not match the condition.
<Condition Non-Applicable Resource Information Table>
In
A specific calculation method of the information to be stored in the condition non-applicable score 41411 will be described later, but the condition non-applicable scorer 41411 stores the number of accumulated times of search in which the resource did not match the condition when the configuration management program 4110 searched the resource.
Moreover, a specific calculation method of the information to be stored in the condition non-applicable reason count 41413 will also be described later, but the condition non-applicable reason count 41413 stores the number of accumulated times when the condition was not matched for each reason corresponding to the unsatisfied condition if the resource did not match the condition.
Here, values to be stored in the condition non-applicable score 41411, the condition applicable final time and date 41412, and the condition non-applicable reason count 41413 will be described by using the logical volume A having a capacity of 1 TB and the logical volume B having a capacity of 500 GB as a specific example. Here, initial values of the condition non-applicable score 41411, the condition applicable final time and date 41412, and the condition non-applicable reason count 41413 are assumed to be “0”, “null” and “0”, respectively.
If a logical volume is searched with designating a condition that “the capacity is 700 GB or more”, for example, the logical volume A having the capacity of 1 TB matches the condition, but the logical volume B having the capacity of 500 GB does not match the condition. Here, the condition non-applicable score 41411 of the logical volume A remains “0”, while “1” is stored in the condition non-applicable score 41411 of the logical volume B.
Moreover, since the logical volume A matched the condition, the time and date when the search was executed (“2011/11/1 20:00”, for example) is stored in the condition applicable final time and date 41412. Since the logical volume B did not match the condition, the condition applicable final time and date 41412 of the logical volume B remains “null”. Furthermore, the items of the condition non-applicable reason count 41413 of the logical volume A all remain “0”, while “1” is stored in the item that “the capacity is small” of the condition non-applicable reason count 41413 of the logical volume B.
If a search is made with designating a condition other than the capacity or if a search is made with designating a plurality of conditions, the condition non-applicable score 41411, the condition applicable final time and date 41412, and the condition non-applicable reason count 41413 are also updated by the similar procedure.
<Management Registration Processing>
First, at Step S1000, an administrator (user) instructs registration of the storage array 1000 and the host computer 2000 as management targets of the configuration management program 4110 through a user interface of the configuration management program 4110, and the configuration management program 4110 receives the instruction.
In this embodiment, if the administrator (user) designates the storage array 1000 or the host computer 2000 which has been already registered, it is assumed that the administrator instructs to re-obtain and update the configuration information of the storage array 1000 or the host computer 2000 stored in the configuration information table group 4120.
Subsequently, at Step S1010, the configuration management program 4110 conducts communication with the storage information providing program 1211 on the storage array 1000 or the host information providing program 2120 on the host computer 2000, obtains the configuration information of the storage array 1000 and the host computer 2000 and stores it in the configuration information table group 4120.
Finally, at Step S1020, the configuration management program 4110 notifies the administrator that the storage array 1000 and the host computer 2000 have been registered as the management targets. Notification methods include, but are not particularly limited to, a method of notification via a user interface such as GUI (Graphical User Interface) or CLI (Command Line Interface) and a method of outputting a message on a log.
Through the above-described processing, the processing of registering the storage array 1000 and the host computer 2000 as the management targets of the configuration management program 4110 is completed. This processing does not necessarily have to be executed with registration by the user of the storage array 1000 and the host computer 2000 as the management targets of the configuration management program 4110 as a trigger. That is, the configuration management program 4110 may detect presence of the storage array 1000 or the host computer 2000 connected via the switch device 5000 by using a technology such as SLP (Service Location Protocol), and, triggered by that, the registration processing may be executed.
<Search Processing of Free Resource 1>
First, at Step S1000, the administrator (user) instructs execution of search with a condition (search condition) for searching a specific free resource via the user interface of the configuration management program 4110, and the configuration management program 4110 receives the instruction.
Subsequently, at Step S2010, the configuration management program 4110 compares the information stored in the configuration information table group 4120 with the condition (search condition) inputted by the user and obtains the information of the resource matching the search condition and whose state is “normal” from the free resources. An example of a method of determining whether or not the resource is free is as follows.
For example, if the resource to be searched is the logical volume 1110, the configuration management program 4110 determines that the resource is free if the logical volume is not assigned to the host computer. If the resource to be searched is the pool 1120, the configuration management program 4110 determines that the resource is free if a free space of the pool is 0 or more. If the resource to be searched is the physical resource 1121, the configuration management program 4110 determines that the resource is free if the physical resource does not configure a pool.
Moreover, methods for determining whether or not the search condition is matched include a method of determining that the search condition is matched if the value indicated in the search condition fully matches the value obtained from the configuration information table group 4120, and a method of determining that the search condition is matched if the value obtained from the configuration information table group 4120 is included in the value indicated in the search condition, for example.
The former is a method of determining that only the logical volume whose capacity is exactly 500 GB matches the search condition if the logical volume is searched on a search condition of “the capacity is 500 GB”, for example. On the other hand, the latter is a method of determining that the logical volume whose capacity is 500 GB or the logical volume whose capacity is 1 TB matches the condition if a logical volume is searched on a search condition that “the capacity is 500 GB or more”, for example.
Subsequently, at Step S2020, the configuration management program 4110 increments the condition non-applicable score 41411 of the condition non-applicable resource information table 4141 for the free resource for which the information was not obtained at Step S2010 (a free resource not applicable to the conditions at Step S2010, that is, a free resource not matching the search condition or a free resource whose state is not “normal”) and further increments the item of the condition non-applicable reason count 41413 corresponding to the condition not satisfied by the resource.
Moreover, regarding the resource matching the condition at Step S2010, that is, the free resource matching the search condition and also determined to be “normal”, the configuration management program 4110 stores the current time and date in the condition applicable final time and date 41412 of the condition non-applicable resource information table 4141.
Subsequently, at Step S2030, the configuration management program 4110 determines whether or not there is information of one or more resources obtained at Step S2010 (that is, whether or not there is one or more resources determined to match the condition at Step S2010).
If there is information of one or more applicable resources (YES at Step S2030), the configuration management program 4110 proceeds to Step S2040. If there is no information of the one or more applicable resources (NO at Step S2030), the configuration management program 4110 proceeds to Step S2050.
At Step S2040, the configuration management program 4110 displays the information of the resource obtained at Step S2010 as a search result of the resource via the user interface.
At Step S2050, the configuration management program 4110 automatically generates a resource matching the condition designated by the user. In accordance with a use case of the search function, the processing at Step S2050 is not necessarily executed. For example, if the search function is used in a series of processing configuring a management operation to assign the logical volume 1110 to the host computer 2000, when there is no logical volume matching the condition, the configuration management program 4110 may automatically generate a logical volume matching the condition by the processing at Step S2050.
On the other hand, if the user executes the management operation with selecting the resource obtained as the search result after the search function is executed, the configuration management program 4110 does not have to execute the processing at Step S2050. As described above, the configuration management program 4110 can determine whether or not the processing at Step S2050 is to be executed in accordance with which processing the processing in
Through the above-described processing, the processing of searching a free resource from the resources of the storage array 1000 and the second storage array 6000 is completed.
<Search Processing of Free Resource 2>
In
Moreover, in
Here, a difference in an aim between the processing in
On the other hand, in the processing in
The condition non-applicable score 41411 is information indicating a degree of difficulty for the resource in matching the condition and its aim is to detect a resource, from the resources of the storage array 1000 or the second storage array 6000, which was considered to have a high usage at the time of generation but, during continuation of the operation of the system, gradually stops satisfying the requested requirement and is hardly used (the processing for that will be described later).
In the processing in
<Search Processing of Free Resource 3>
In
p=NUMe×We+NUMo×Wo [Formula 1]
Here, “NUMe” is the number of unsatisfied indispensable conditions, “We” is a weight determined in advance for the indispensable condition, “NUMo” is the number of the unsatisfied optional conditions, and “Wo” is a weight determined in advance for the optional condition.
When the processing at Step S2015a2 is completed, the configuration management program 4110 proceeds to Step S2020a2. At Step S2020a2, the configuration management program 4110 adds the penalty value (p) calculated at Step S2015a2 to the condition non-applicable score 41411 of the condition non-applicable resource information table 4141 and increments the condition non-applicable reason count 41413 corresponding to the unsatisfied condition. Moreover, the configuration management program 4110 stores the current time and date in the condition applicable final time and date 41412 for the resource matching the condition.
As described above, in the processing in
Here, the difference in calculation of the condition non-applicable score 41411 between the processing in
In this case, with the method of processing in
<Search Processing of Free Resource 4>
In
Here, Bi is a constant which is 1 if the i-th condition is not satisfied and is 0 when satisfied, NUMi is the number of resources satisfying the i-th condition, and C is a constant determined in advance (100, for example).
The processing in
Here, calculation of the condition non-applicable score 41411 by the processing in
Here, if it is assumed, for example, that the logical volume A does not satisfy the condition of “type”, while the logical volume B satisfies none of the three conditions, with the method of processing in
<Example of User Interface Relating to Search for Free Resource>
(i) In
The search user interface UI41100 for a free resource further includes, as constituent elements, a condition input area UI411004 relating to an RAID level, a condition input area UI411005 relating to a media type, a condition input area UI411006 relating to a disk rotation speed, a button UI411007 for instructing execution of a search, and a button UI411008 for instructing execution cancellation of a search.
The constituent elements of the search user interface UI41100 for a free resource are not limited to the expressions in
Such other attributes include a condition of whether or not data in the logical volume is to be encrypted, a condition of presence of a function to bring a working state of a physical media which is a providing source of a storage area of the logical volume into a power-saving state (or a stop state) if no access is made from the host computer to the logical volume for a certain period of time, and the like, for example. Moreover, the search condition may be provided separately for the logical volume, the pool and the physical resource in the search target selection area UI411000, for example, display of a condition input area of the user interface UI41100 may be dynamically switched when the search target is selected.
The search target selection area UI411000 is an area for selecting a type of the search target, and in
The storage array condition input area UI411001 is an area into which a condition for narrowing the storage array is to be inputted, and in
Here, “Storage A”, “Storage B”, and “Storage C” are all examples of the names of the storage arrays under the control of the configuration management program 4110. If “ANY” is designated, the resource of all the storage arrays under the control of the configuration management program 4110 becomes search targets.
The condition input area UI411002 relating to capacity in
In
In the condition input area UI411004 relating to an RAID level, any one of “ANY”, “RAID5”, “RAID6”, and “RAID1+0” can be selected in
In the condition input area UI41005 relating to a media type, any one of “ANY”, “SSD”, “SAS”, and “SATA” can be selected in
In the condition input area UI411006 relating to a disk rotation speed, any one of “ANY”, “15000 rpm”, “10000 rpm”, and “7200 rpm” can be selected in
In this embodiment, the condition input area from which “ANY” can be selected indicates that designation of the condition is optional. That is, in
If the button UI411007 instructing execution of a search is pressed after the condition is selected or inputted, any one of the search processing for a free resource illustrated in
(ii) In
The logical volume search result UI411010 in
Moreover, the user interface UI41101 indicating a result of a search for the logical volume may include buttons for instructing execution of other configuring operations to the logical volume, not limited to the button UI411011 for instructing assignment of the logical volume to the host computer, the button UI1411012 for instructing virtualization of the logical volume, and the button UI411013 for instructing deletion of a logical volume.
(iii) In
The pool search result UI411020 in
Moreover, the user interface UI41102 indicating a result of a search for the pool may include buttons for instructing execution of other configuring operations to the pool, not limited to the button UI411021 for instructing generation of the logical volume from the pool and the button UI411022 for instructing deletion of the pool.
(iv) In
The physical resource search result UI411030 in
Moreover, the user interface UI41103 indicating a result of a search for physical resource may include buttons for instructing execution of other configuring operations to the physical resource, not limited to the button UI411031 for instructing generation of the pool from the physical resource.
<Identification Processing 1 of Unnecessary Resource>
First, at Step S3000, the unnecessary resource specification program 4130 compares the condition applicable final time and date 41412 of the condition non-applicable resource information table 4141 with the current time and date and obtains a record in which the difference is longer than a period determined in advance (6 months, for example).
Subsequently, at Step S3010, the unnecessary resource specification program 4130 sorts the information obtained at Step S3000 in the order from the larger value of the condition non-applicable score 41411. At Step S3020, the unnecessary resource specification program 4130 obtains one of sorted records from the highest order.
At Step S3030, the unnecessary resource specification program 4130 determines whether or not there is the record. If there is the record (YES at Step S3030), the unnecessary resource specification program 4130 proceeds to Step S3040. If there is no record (NO at Step S3030), the unnecessary resource specification program 4130 proceeds to Step S3050.
If it is determined at Step S3030 that there is the record (YES at Step S3030), at Step S3040, the unnecessary resource specification program 4130 calculates a ratio by dividing the values of each item in the condition non-applicable reason count 41413 by a total value of all the items of the condition non-applicable reason count 41413 for the record obtained at Step S3020. When the processing at Step S3040 is completed, the unnecessary resource specification program 4130 returns to Step S3020.
If it is determined at Step S3030 that there is no record (NO at Step S3030), at Step S3050, it is determined whether or not the unnecessary resource specification program 4130 has executed the processing at Step S3040 has executed once or more. If the processing at Step S3040 has been executed once or more (YES at Step S3050), the unnecessary resource specification program 4130 proceeds to Step S3060. If the processing at Step S3040 is not executed (NO at Step S3050), this flow is finished.
At Step S3060, the unnecessary resource specification program 4130 displays the resource information and the ratio calculated at Step S3040 via the user interface.
<Example of User Interface Relating to Display of Unnecessary Resource Candidate>
(i) In
The user interface in
i)
In
The user interface UI41105 indicating the detailed information of the unnecessary resource candidates may display other types of detailed information relating to the unnecessary resource candidates, not limited to the expressions in
(iii)
The area UI411060 for indicating the list of the storage arrays is an area for indicating a list of all the storage arrays under the control of the configuration management program 4110 and one of the storage arrays can be selected.
The area UI411061 indicating information of the storage array is an area for indicating the information of the storage array selected at the area UI411060 indicating a list of the storage arrays. The information to be displayed is not limited to the expressions in
The area UI411062 indicating a list of logical volumes is an area for indicating the list of the logical volumes of the storage array selected in the area UI411060 indicating the list of the storage arrays. In
<Conclusion>
In the first embodiment, when the management computer (management software) searches a usable resource matching a condition designated by a user (administrator) from the resources of the storage arrays, the management computer records the time and date for the resources matching the condition and the number of accumulated times and the condition not satisfied by the resource for the resource not matching the condition. Moreover, the administrator calculates a score indicating a degree of difficulty for each resource in matching the condition designated by the user on the basis of the information.
The score may be based on the number of accumulated times of the resource not matching the condition or the number of conditions not satisfied by the resource. For the resource which matches the condition but is determined to be not usable due to a temporary factor such as a failure in a storage, the score may be adjusted so that it is not determined to be difficult for the resource to match the condition designated by the user. Furthermore, if the score is calculated on the basis of the number of conditions not satisfied by the resource, weights which are different between the conditions for which designation is indispensable and optional may be used, or the calculation may be made in accordance with the ease of satisfying each condition (the number of resources satisfying each condition).
On the basis of the information, the management computer determines a resource not matching the condition within a period determined in advance prior to the current time and date and presents a score indicating a degree of difficulty for the resource in matching the condition and the condition not satisfied by the resource to the user. By performing as above, the resource with difficulty in matching the condition designated by the user can be identified, and moreover, the condition for which it is difficult for the resource to match can be identified.
Therefore, even in a large-scale storage system, an unnecessary resource can be efficiently discovered from the resources of the storage array. The targets managed by the management software are not limited to the storage arrays but may include a host computer, a switch, a hub, an application program running on the host computer and the like.
The management computer presents a score indicating a degree of difficulty for the resource in matching the condition and the condition not satisfied by the resource to the user via the user interface relating to the list display of the resources having difficulty in matching the condition designated by the user. Then, if a target whose detailed information of the resource is to be displayed (a logical volume, for example) is selected from the user interface of the list display, in response to the selection operation, the management computer displays the detailed configuration information of the resource on the display screen via the user interface of the detailed display.
Moreover, when the list of resources is displayed on the display screen via the user interface relating to the list display of the resources, the management computer presents a score indicating a degree of difficulty for the resource in matching the condition and the condition not satisfied by the resource to the user. By performing as above, the resource which hardly matches the condition designated by the user can be provided to the administrator easily to be seen.
The management computer may determine the unnecessary resource candidate on a condition different from the condition of the above-described condition non-applicable period. For example, the management computer may determine the unnecessary resource candidate on the basis of the number of times of condition non-applicability. The unnecessary resource candidate may be determined on a condition that the number of times of continuation of the condition non-applicability reaches a threshold value or that the number of times of condition non-applicability reaches a threshold value in a predetermined number of times of making determination.
The management computer may compare the above-described score with the threshold value and determine the unnecessary resource candidate based on the comparison result. A threshold value used in the determination of the unnecessary resource candidate is a fixed value or a variable value. The management computer may execute a flow in
In the figure, there are two storage arrays 1000 and one host computer 2000, one switch device 3000, one management computer 4000b, and one switch device 5000, but the number of the devices is not limited as above and may be any as long as there is one or more each. Moreover, in the figure, there are two storage arrays 6000, but the number of the devices is not limited as above and may be three or more. Since most of this configuration is equal to the configuration of the first embodiment, a difference will be described below.
A difference from the computer system 100 illustrated in
<Table Group for Unnecessary Resource Specification>
<Configuration Example of Management Operation Execution Frequency Table>
In
<Configuration Example of Condition Non-Applicable Times Table for Each Management Operation>
For example, an example of a search for a free logical volume when a user executes a management operation of assigning a logical volume to the host computer through the configuration management program 4110 is assumed. Here, for the resource not matching the condition inputted by the user, a value in the column of “volume assignment” of the condition non-applicable times 4143b1 for each management operation is incremented. Specific processing at this time will be described later.
<Configuration Example of Unnecessary Resource Determination Threshold Value Table>
<Contents of Data Processing>
Since most of the processing in this embodiment is the same as the processing contents of the first embodiment, a difference will be described below. Differences between the data processing in the first embodiment and the data processing in this embodiment are a processing sequence when a configuration management program 4110b makes a search for a free resource in the resources of the storage array 1000 and the second storage array 6000 and processing in which the unnecessary resource specification program 4130b identifies a resource hardly matching the condition designated by the user from the resources of the storage array 1000 and the second storage array 6000. These differences will be described below.
<Search Processing of Free Resource 5>
First, at Step S4000, the configuration management program 4110b receives a search request of a free resource from a user via the user interface. Subsequently, at Step S4010, the configuration management program 4110b compares the configuration information table group 4120 with a search condition inputted by the user and obtains information of a resource matching the condition and whose state is “normal” from the free resources.
Subsequently, at Step S4020, the configuration management program 4110b refers to the condition non-applicable resource information table 4141 for the resource not matching the condition at Step S4010 and increments the item of the condition non-applicable reason count 41413 corresponding to the unsatisfied condition. Moreover, the configuration management program 4110b stores the current time and date in the condition applicable final time and date 41412 for the resource matching the condition at Step S4010.
Subsequently, at Step S4030, the configuration management program 4110b determines whether or not there is information of one or more resources obtained at Step S4010. If there is information of one or more resources (YES at Step S4030), the configuration management program 4110b proceeds to Step S4040. If there is no information of one or more resources (NO at Step S4030), the configuration management program 4110b proceeds to Step S4070.
At Step S4030, if it is determined that there is information of one or more resources (YES at Step S4030), the configuration management program 4110b displays the information of the resource obtained at Step S4010 as a search result of the resource via the user interface at Step S4040.
Subsequently, at Step S4050, the configuration management program 4110b executes a management operation by using the free resource obtained as the search result. Examples of the management operation include, but are not particularly limited to, processing of assigning a logical volume to the host computer. Moreover, since this processing is executed by using a general storage management function of the configuration management program 4110b, the explanation will be omitted.
Subsequently, at Step S4060, the configuration management program 4110b increments a corresponding value of the execution times 4142b2 of the management operation execution frequency table 4142b for the management operation executed at Step S4010.
Subsequently, at Step S4070, the configuration management program 4110b updates the condition non-applicable times table 4143b for each management operation for the resource not matching the condition at Step 4010. That is, the configuration management program 4110b increments the item of the condition non-applicable times 4143b1 for each management operation corresponding to the management operation executed at Step S4010.
Subsequently, at Step S4080, the configuration management program 4110b executes update processing of the unnecessary resource determination threshold value. Details of this processing will be described later. Finally, at Step S4090, the configuration management program 4110b executes condition non-applicable score calculation processing in the light of an execution frequency of the management operation. This processing will be described later, too.
As described above, in the second embodiment, the processing in which the configuration management program 4110b searches a free resource from the resources of the storage array 1000 and the second storage array 6000 is completed.
<Update Processing of Unnecessary Resource Determination Threshold Value>
Subsequently, at Step S5010, the configuration management program 4110b calculates an unnecessary resource determination threshold value (t) by using a value calculated at Step S5000 and the following formula:
Xi is a value calculated at Step S5000 for a management operation and Yi is a value of an execution ratio 4142b3 corresponding to a management operation i.
Here, calculation of the unnecessary resource determination threshold value (t) will be described by using a specific example. For example, information of the management operation execution frequency table 4142b illustrated in
Finally, at Step S5020, the configuration management program 4110b stores a value calculated at Step S5010 in the unnecessary resource determination threshold value 4144b0 of the unnecessary resource determination threshold value table 4144b.
Through the above-described processing, the processing of updating the unnecessary resource determination threshold value by the configuration management program 4110b is completed.
<Condition Non-Applicable Score Calculation Processing in the Light of Execution Frequency of Management Operation>
First, at Step S6000, the configuration management program 4110b calculates the condition non-applicable score (s) by using the following formula for the resource determined not to match the condition at Step S4010.
Here, Xi is the condition non-applicable times 4143b1 for the management operation i and Yi is the execution ratio 4142b3 corresponding to the management operation i.
In the above-described processing of calculating the unnecessary resource determination threshold value (t), assuming that the constant determined in advance is set to 2, a condition non-applicable score (s) if the condition non-applicable times for each management operation is exactly a half of the search execution times is considered as the unnecessary resource determination threshold value (t).
Finally, at Step S6020, the configuration management program 4110b updates the condition non-applicable score 41411 of the condition non-applicable resource information table 4141 by a value calculated at Step S6000.
Through the above-described processing, the processing in which the configuration management program 4100b calculates the condition non-applicable score 41411 in the light of the execution frequency of the management operation is completed in the second embodiment. As described above, in the processing in
<Identification Processing of Unnecessary Resource 2>
In
As described above, the difference from the processing in
<Conclusion>
In the embodiments in the second embodiment, the management computer records the execution frequency of the management operation when the management computer executes the management operation by using an available resource matching the condition designated by the user (an operation of assigning a logical volume to the host computer, for example). Moreover, the management computer records the number of times for each type of the management operation for the resources not matching the condition.
The management computer calculates a score indicating a degree of difficulty for the resource in matching the condition by using the number of times of the resource not matching the condition and the execution frequency of the management operation for each type of the management operation. By performing as above, in the resource search executed with the management operation with a high execution frequency, the less the resource matches the condition, the higher the possibility to be an unnecessary resource can be determined to be.
In the figure, there are two storage arrays 1000 and one host computer 2000, one switch device 3000, one management computer 4000c, and one switch device 5000, but the number of the devices is not limited as above and may be any as long as there is one or more each. Moreover, in the figure, there are two storage arrays 6000, but the number of the devices is not limited as above and may be three or more. Since most of this configuration is equal to the configuration of the first embodiment, a difference will be described below.
A difference from the computer system 100 illustrated in
<Resource Group Information Table Group>
The user information table 4151c is a table for storing information of a user (administrator). The resource group information table 4152c is a table for storing information of a group of the resources of the storage array 1000 and the second storage array 6000. The resource/resource group correspondence information table 4153c is a table for storing information relating to a correspondence relationship between the resource of the storage array 1000 or the second storage array 6000 and the resource group. The user/resource group correspondence information table 4154c is a table for storing information relating to a correspondence relationship between the user (administrator) and the resource group.
<Configuration Example of User Information Table>
Here, the higher-order user is a user having a higher-order management authority than a management authority of the other users. For example, an operation to classify the resources of the storage array 1000 and the second storage array 6000 into several resource groups is performed by the higher-order user, and a user is assigned to each of the resource groups for managing each of them.
In
<Configuration Example of Resource Group Information Table>
<Configuration Example of Resource/Resource Group Correspondence Information Table>
<Configuration Example of User/Resource Group Correspondence Information Table>
<Contents of Data Processing>
Since most of the processing in this embodiment is the same as the processing contents of the first embodiment, a difference will be described below. A difference between the data processing in the first embodiment and the data processing in this embodiment is processing in which the unnecessary resource specification program 4130c specifies a resource hardly matching the condition designated by a user from the resources of the storage array 1000 and the second storage array 6000 and the processing in which the unnecessary resource specification program 4130c presents the applicable information of the resource to a user.
<Identification Processing 3 of Unnecessary Resource>
In
Moreover, in
<Unnecessary Resource Display Processing with Considering Resource Group>
First, at Step S7000, the unnecessary resource specification program 4130c refers to information of a resource obtained at Step S3020 and the resource/resource group correspondence information table 4153c, and obtains information of a user associated with the applicable resource.
Subsequently, at Step S7010, the unnecessary resource specification program 4130c determines whether or not the applicable resource is associated with a plurality of different users. If a plurality of different users are associated (Step S7010: YES), the program proceeds to Step S7030. If the resource is not associated with a plurality of different users (Step S7010: NO), the program proceeds to Step S7020.
At Step S7020, the unnecessary resource specification program 4130c sets a user operating the management computer 4000c as a display target of the information of the unnecessary resource. At Step S7030, the unnecessary resource specification program 4130c refers to the user information table 4151c and obtains information of a higher-order user assigned to the applicable plurality of users.
Subsequently, at Step S7040, the unnecessary resource specification program 4130c determines whether or not a common higher-order user is assigned to the applicable user. If the common higher-order user is assigned (Step S7040; YES), the program proceeds to Step S7060. If the common higher-order user is not assigned (Step S7040: NO), the program proceeds to Step S7050.
At Step S7050, the unnecessary resource specification program 4130c sets all the plurality of users obtained at Step S7000 as display targets of the information of the unnecessary resources. At Step S7060, the unnecessary resource specification program 4130c sets the common higher-order user obtained at Step S7030 as display targets of the information of the unnecessary resources.
Finally, at Step S7070, the unnecessary resource specification program 4130c displays the information of the resource obtained at Step S3020 and the ratio calculated at Step S2040 to the user of a display target via the user interface.
As described above, in the third embodiment, the unnecessary resource specification program 4130c can indicate to the user the information of the resource hardly matching the condition designated by the user from the resources of the storage array 1000 and the second storage array 6000 in the light of the resource group.
<Conclusion>
In the third embodiment, the management computer includes the information of the user using the management computer, the information of the higher-order user having a higher-order management authority to the user, and the information of the resource for which the user has the management authority. On the basis of the information, the management computer determines a user as a target to whom the information of the resource with difficulty in matching the condition designated by the user is to be presented.
Methods for realizing this include, for example, a method in which, if a single user has a management authority to a resource with difficulty in matching the condition, the user is set as a user as a presentation target of the information, while if a plurality of users have management authority to the resource with difficulty in matching the condition, the higher-order user of the user is specified, and if there is a higher-order user, the higher-order user is set as a presentation target user of the information, while if there is no higher-order user, the plurality of users are set as presentation target users of the information. By configuring as above, the information of the resource with difficulty in matching the condition designated by the user can be presented to an appropriate user.
In the figure, there are two storage arrays 1000 and one host computer 2000, one switch device 3000, one management computer 4000d, and one switch device 5000, but the number of the devices is not limited as above and may be any as long as there is one or more each. Moreover, in the figure, there are two second storage arrays 6000, the number of the devices is not limited as above and may be three or more.
Since most of this configuration is equal to the configuration of the first embodiment, a difference will be described below. A difference from the computer system 100 illustrated in
<Contents of Data Processing>
Since most of the processing in this embodiment is equal to the processing contents of the first embodiment, only a difference will be described below. A difference between the data processing in the first embodiment and the data processing in this embodiment is a processing sequence in which the configuration management program 4110d searches a free resource from the resources of the storage array 1000 and the second storage array 6000. This difference will be described below.
<Search Processing of Free Resource 6>
In
At Step S2060d, the configuration management program 4110d re-executes a free resource search by changing the conditions of a part of or the whole of the search conditions to “ANY”. However, for the condition of the type in which a numeral value is inputted, a search is re-executed on condition within ±r[%] (r is a constant determined in advance) of the original value.
Subsequently, at Step S2070d, the configuration management program 4110d displays the information indicating that there is no resource matching the condition inputted at Step S2000 and the search condition and the result of the search executed at Step S2050 via the user interface.
<Example of User Interface Relating to Search for Free Resource>
In
In
The area UI411010d indicating a search result of a logical volume is not limited to the expressions in
<Conclusion>
In the embodiments of the fourth embodiment, when the management computer searches an available resource matching the condition designated by a user (administrator) from the resources of the storage arrays, if there is no resource matching the condition, the management computer executes a search for a resource again by using a search condition of the case where the conditions are not designated or a search condition of the case where a value to be designated to each condition is changed within a range determined in advance (hereinafter noted as a neighborhood condition) for a part of or the whole of one or more designated conditions.
Moreover, the management computer displays on a screen a neighborhood condition and a result of a resource search by the neighborhood condition together with information indicating that there is no available resource matching the condition designated by the user via the user interface relating to the display of a search result. By performing as above, the user can easily find an available alternative resource and thus, utilization efficiency of the resource of the storage array can be improved.
In the figure, there are two storage arrays 1000 and one host computer 2000, one switch device 3000, one management computer 4000e, and one switch device 5000, but the number of the devices is not limited as above and may be any as long as there is one or more each. Moreover, in the figure, there are two second storage arrays 6000, but the number of the devices is not limited as above and may be three or more. Since most of this configuration is equal to the configuration of the first embodiment, a difference will be described below.
Difference from the computer system 100 illustrated in
<Frequent Appearance Condition Table Group>
The volume frequent appearance condition table 4161e is a table for storing a condition which has ever been designated in a free resource search relating to the logical volume. The pool frequent appearance condition table 4162e is a table for storing a condition which has ever been designated in a free resource search relating to a pool. The physical resource frequent appearance condition table 4163e is a table for storing a condition which has ever been designated in a free resource search relating to a physical resource.
<Configuration Example of Volume Frequent Appearance Condition Table>
<Configuration Example of Pool Frequent Appearance Condition Table>
<Configuration Example of Physical Resource Frequent Appearance Condition Table>
<Details of Data Processing>
Since most of the processing in this embodiment is equal to the processing contents of the first embodiment, a difference will be described below. A difference between the data processing in the first embodiment and the data processing in this embodiment is the processing in which the unnecessary resource specification program 4130e specifies a resource hardly matching the condition designated by a user from the resources of the storage array 1000 and the second storage array 6000. This difference will be described below.
<Identification Processing 4 of Unnecessary Resource>
In
Finally, at Step S3060e, the unnecessary resource specification program 4130e displays information of the applicable resource, a ratio calculated at Step S3040, and a measure selected at Step S3055e via the user interface. At Step S3060e, the measure selected at Step S3055e may be automatically executed by the configuration management program 4110.
<Selection Processing of Measure for Unnecessary Resource>
First, at Step S8000, the unnecessary resource specification program 4130e refers to the condition non-applicable resource information table 4141 and calculates a total value of all the items of the condition non-applicable reason count 41413 and a total value of the item indicating a reason (“media type=SATA”, “disk rotation speed slow” and the like) due to the physical characteristics of the resource in the condition non-applicable reason count 41413 for each storage array for the resources obtained at Step S3000.
The relationship between the resource and the storage array is found out by, if the resource is a logical volume, for example, comparing the resource ID 41410 of the condition non-applicable resource information table 4141 with the volume ID 41220 of the volume information table 4122 and obtaining the storage ID 41221 of the volume information table 4122 for a record in which these ID match. The same applies to the other resources such as a pool and a physical resource.
Subsequently, at Step S8010, the unnecessary resource specification program 4130e calculates a ratio by dividing a total value of the items indicating a reason due to the physical characteristic of the resource in the condition non-applicable reason count 41413 by a total value of all the items of the condition non-applicable reason count 41413. Subsequently, at Step S8020, the unnecessary resource specification program 4130e determines whether or not the ratio calculated at Step S8010 exceeds a threshold value determined in advance. If the threshold value is exceeded, the processing is made to proceed to Step S8030. If the threshold value is not exceeded, the processing is made to proceed to Step S8090.
At Step S8030, the unnecessary resource specification program 4130e refers to the configuration information table group 4120 and calculates the total number of resources of each type (logical volume, pool, physical resource and the like) for each storage array.
Subsequently, at Step S8040, the unnecessary resource specification program 4130e collects the number of resources obtained at Step S3000 in
Subsequently, at Step S8060, the unnecessary resource specification program 4130e determines whether or not the ratio calculated at Step S8050 exceeds a threshold value determined in advance. If the threshold value is exceeded, the processing is made to proceed to Step S8070. If the threshold value is not exceeded, the processing is made to proceed to Step S8080.
At Step S8070, the unnecessary resource specification program 4130e selects discard of the applicable storage array as a measure. At Step S8080, the unnecessary resource specification program 4130e selects discard of the physical resource configuring the resource obtained at Step S3000 in
Here, the unnecessary resource specification program 4130e refers to the physical resource frequent appearance condition table 4163e, calculates a value obtained by multiplying the value of the condition designation number of times 4163e2 by the resource shortage rate 4163e3 and by dividing the result by the constant 100, and obtains “capacity”, “media type”, and “disk rotation speed” of the condition 4163e1 for the physical resource whose value is the largest, and introduction of the physical resource matching the “capacity”, “media type”, and “disk rotation speed” instead of the physical resource to be discarded may be added as a measure.
At Step S8090, the unnecessary resource specification program 4130e executes resource remake determination processing. The contents of this processing will be described later. Finally, at Step S8100, the unnecessary resource specification program 4130e selects deletion of the resource which could not be remade at Step S8090 in the resources obtained at Step S3000 in
By performing as above, in the fifth embodiment, the processing in which the unnecessary resource specification program 4130e selects a measure for improving the utilization efficiency of the resource to the resource hardly matching the condition designated by the user is completed.
In the flow in
<Resource Remake Determination Processing>
First, at Step S9000, the unnecessary resource specification program 4130e refers to the table group 4150e and obtains a record in which the condition designation number of times and the resource shortage rate both exceed threshold values determined in advance. Subsequently, at Step S9010, the unnecessary resource specification program 4130e determines whether or not there is an applicable record.
If there is a record (Step S9010: YES), the program proceeds to Step S9020. If there is no record (Step S9010: NO), this flow is finished.
Subsequently, at Step S9020, the unnecessary resource specification program 4130e compares the information obtained at Step S9000 with the information of the resource obtained at Step S3000 in
Subsequently, at Step S9030, it is determined whether or not there is a resource that can be remade to a resource satisfying the condition obtained at Step S9000 in the resources obtained at Step S3000 in
Subsequently, at Step S9040, the unnecessary resource specification program 4130e selects a resource required to create a resource satisfying the condition obtained at Step S9000 from the information of the resource obtained at Step S3000 in
Through the above-described processing, the processing is completed in which the unnecessary resource specification program 4130e determines remaking of the resource hardly matching the condition designated by the user to a resource with another configuration as a measure for improving the utilization efficiency of the resource.
Here, a specific example of remaking of a resource obtained at Step S3000 in
(i) Example of Remaking of Logical Volume to Logical Volume with Large Capacity
The unnecessary resource specification program 4130e extracts all the information of the logical volume with the largest value (hereinafter noted as remaking target volume information) in the item of “capacity is small” in all the items in the condition non-applicable reason count 41413 of the condition non-applicable resource information table 4141, targeting the information of all the logical volumes obtained at Step S3000 in
Subsequently, the unnecessary resource specification program 4130e extracts all the information of the logical volume with the type of “Basic” in the remaking target volume information by referring to the configuration information table group 4120. Moreover, the unnecessary resource specification program 4130e refers to the configuration information table group 4120 and groups the information of the applicable volume so that the storage ID, the pool ID, the RAID level, the media type, and the disk rotation speed become the same. Finally, the unnecessary resource specification program 4130e remakes the whole of or a part of the logical volume for each group to a logical volume with a large capacity.
Methods of remaking some logical volumes into a logical volume with a large capacity include a method in which, after the capacity assigned to a logical volume is returned to a free capacity of a pool by deleting some logical volumes, a logical volume with a desired capacity is newly created from the applicable pool and a method of realizing that by using a capacity expanding function of the logical volume of the storage array, but they are not limiting.
Moreover, methods of determining the size of a desired capacity include a method in which the volume frequent appearance condition table 4161e is referred to, a value is calculated by multiplying the value of the condition designation number of times 4161e2 by the value of the resource shortage rate 4161e3 and dividing the result by the constant 100 for the logical volume with the value of “type” in the condition 4161e1 is “Basic”, and the value of the “capacity” of the condition 4161e1 of a record in which the applicable value is the largest is determined to be a desired capacity.
In this case, it is possible to use as a target only those whose “RAID level”, “media type”, and “disk rotation speed” of the condition 4161e1 match the “RAID level”, “media type”, and “disk rotation speed” of the remaking target volume information as a target.
(ii) Example of Remaking of Capacity of Logical Volume to Free Capacity of Pool
The unnecessary resource specification program 4130e refers to the pool frequent appearance condition table 4162e, calculates a value obtained by multiplying the value of the condition designation number of times 4162e2 by the value of the resource shortage rate 4162e3 and by dividing the result by the constant 100 for the pool whose value of “type” of the condition 4162e1 is “Automated Tiering” and obtains the “RAID level”, “media type”, and “disk rotation speed” of the pool whose applicable value is the largest (hereinafter noted as capacity expansion target pool).
Subsequently, the unnecessary resource specification program 4130e obtains the information of all the logical volumes matching the “RAID level”, “media type”, and “disk rotation speed” of the capacity expansion target pool from the information of all the logical volumes obtained at Step S3000 in
Methods of remaking the logical volume to a free capacity of a capacity expansion target pool include, in the case of a storage array in which the pool is comprised of a logical volume, for example, a method of adding a logical volume to a pool. Moreover, in the case of a storage array in which a pool comprises a physical resource, there is a method of adding a physical resource (physical storage area) configuring the applicable pool to a capacity expansion target pool by deleting the logical volume and then deleting a pool of a cut-out source of the logical volume.
Since another logical volume is cut out of the pool of a cut-out source of the logical volume, there can be a case where the applicable pool cannot be deleted. In such a case, the applicable pool can be deleted after another logical volume is migrated to another pool by using a volume migration function of the storage array.
The volume migration function is a function of migrating data stored in the logical volume to another logical volume without changing a configuration of an I/O access path in a host computer using a logical volume of the storage array. The volume migration function first copies data from a logical volume to another logical volume and then, deletes the data in the logical volume of the copy source.
Address management of data at a copy source and a copy destination is processed by an address management program of the storage array. In the case of an access to the address from the host computer during data migration, if it is a data reading request, an access processing program provides data of an address managed by the address management program to a host. If it is data writing, the writing data is held in a cache memory and the data is written in a logical volume of a migration destination later. By performing the above-described processing, replacement of the logical volumes is realized.
Moreover, in order to remake the logical volume 6110 of the second storage array 6000 to a free capacity of the capacity expansion target pool 1120 of the storage array 1000, there is a method in which the logical volume 6110 of the second storage array 6000 is virtualized to the storage array 1000 by using the storage virtualization program 1213 of the storage array 1000, for example, and the capacity is added to the capacity expansion target pool.
<Example of User Interface Relating to Display of Unnecessary Resource>
The user interface in
In
The user interface UI41105 further includes, as constituent elements, a button UI411051 for instructing assignment of a logical volume to the host computer, a button UI411052 for instructing virtualization of the logical volume, a button UI411053 for instructing deletion of the logical volume, and a button UI411055e for instructing execution of a measure indicated on the area UI411054e for indicating a measure for improving the utilization efficiency of the resource.
Since an area UI411050 for indicating the details of the logical volume, a button UI411051 for instructing assignment of the logical volume to the host computer, a button UI411052 for instructing virtualization of the logical volume, and a button UI411053 for instructing deletion of the logical volume are similar to those in
The area UI411054e for indicating a measure for improving the utilization efficiency of the resource includes a button for selecting a measure and an area for indicating the contents of a measure as constituent elements. In the area for indicating the contents of a measure, a measure determined to be feasible by processing illustrated in
The button UI411055e for instructing execution of a measure indicated in the area UI411054e for indicating the measure for improving the utilization efficiency of the resource is a button for instructing execution of the measure selected by the user in the area UI411054e for indicating the measure for improving the utilization efficiency of the resource via the configuration management program 4110.
<Conclusion>
In the fifth embodiment, the management computer records the number of accumulated times for each search condition designated by the user and a ratio that the resource matching the condition does not exist as the result of a search for the resource on the basis of the condition. The management computer specifies a resource having a high frequency of being searched and a good possibility of not existing (hereinafter noted as insufficient resource) on the basis of the information.
The management computer determines a measure for making the management cost and the utilization efficiency of the resource proper on the basis of information of a resource having difficulty in matching the condition designated by the user and the insufficient resource. Methods of realizing this may be remaking of a resource having difficulty in matching the condition to an insufficient resource or deletion of a resource having difficulty in matching the condition, for example.
In the case of a logical volume, for example, one or more logical volumes having difficulty in matching the condition due to a small capacity may be deleted and a new logical volume may be generated in accordance with the capacity of the insufficient logical volume.
Moreover, if a free capacity of a pool is insufficient, a logical volume cut out of the pool may be deleted, a physical resource released by deletion of another pool may be added to the pool, or a logical volume of another storage array is virtualized as a capacity of the storage array including the pool and this may be added to the pool.
Furthermore, when a pool is to be remade to another configuration, if the pool cannot be remade due to a reason that the logical volume cut out of the pool is used by the host computer or the like, the logical volume may be migrated to another pool by using a volume migration technology and then, the configuration of the pool may be remade.
Moreover, in the case of a resource having difficulty in matching the condition due to a physical characteristic of the resource, a measure can be taken that the physical resource configuring the resource is discarded. Moreover, if a ratio of such a resource occupying in all the resources of the storage array is large, discard of the storage array may be employed as a measure.
(6) Others
The present invention can be also realized by a program code of software realizing the functions of the embodiments. In this case, a storage medium recording the program code is provided to the system or the device, and a computer (or a CPU or a MPU) of the system or the device reads out the program code stored in the storage medium.
In this case, the program code itself read out of the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing it configure the present invention. As a storage medium for providing such a program code, a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an optical disk, a magneto-optical disk, a CD-R, a magnetic tape, a non-volatile storage card, a ROM and the like are used, for example.
Moreover, OS (operating system) running on the computer may execute a part of or the whole of the actual processing on the basis of an instruction of the program code so that the functions of the above-described embodiments are realized by the processing. Furthermore, after the program code read out of the storage medium is written in the memory on the computer, the CPU of the computer or the like may execute a part of or the whole of the actual processing so as to realize the functions of the above-described embodiments by the processing on the basis of an instruction of the program code.
Moreover, by distributing the program code of the software for realizing the functions of the embodiments via a network, the program code may be stored in storage means such as a hard disk, memory and the like of the system or the device or a storage medium such as CD-RW, CD-R and the like so that the computer (or the CPU or the MPU) of the system or the device reads out and execute the program code stored in the storage means or the storage medium.
Finally, it should be understood that the process and technology described herein do not substantially relate to any specific device but can be implemented in any appropriate combination of components. Furthermore, various types of general-purpose devices can be used in accordance with teaching described herein.
It might be understood that construction of a dedicated device is advantageous in executing steps of the methods described here. Moreover, various inventions can be formed by appropriate combinations of the plurality of constituent elements disclosed in the embodiments. For example, some constituent elements may be deleted from all the constituent elements illustrated in the embodiments.
Furthermore, the constituent elements across the different embodiments may be combined as appropriate. The present invention has been described in relation with the specific examples but these are not for limitation but for explanation from all the viewpoints. Those skilled in this field may understand that there are a large number of combinations of appropriate hardware, software, and firmware in putting the present invention into practice. For example, the above-described software can be implemented with a wide range of programs or script languages such as assembler, C/C++, perl, Shell, PHP, Java (registered trademark) and the like.
Moreover, in the above-described embodiments, the control lines and information lines considered to be necessary in explanation are illustrated and all the control lines or information lines on the product are not necessarily illustrated. All the configurations may be mutually connected.
In addition, other implementations of the present invention will be made obvious for those ordinarily skilled in this technical field from observation on the designation and embodiments of the present inventions disclosed here. The various aspects and/or components of the described embodiments can be used singularly or in any combination in a computerized storage system having the function of managing data. The specification and specific examples are only typical ones and the scope and spirit of the present invention will be made clear in the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2012/051853 | 1/27/2012 | WO | 00 | 7/30/2012 |