WO2018042637A1 - 学習データ処理装置および方法 - Google Patents

学習データ処理装置および方法 Download PDF

Info

Publication number
WO2018042637A1
WO2018042637A1 PCT/JP2016/075883 JP2016075883W WO2018042637A1 WO 2018042637 A1 WO2018042637 A1 WO 2018042637A1 JP 2016075883 W JP2016075883 W JP 2016075883W WO 2018042637 A1 WO2018042637 A1 WO 2018042637A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration
information
learning data
target system
prediction formula
Prior art date
Application number
PCT/JP2016/075883
Other languages
English (en)
French (fr)
Inventor
中島 淳
峰義 増田
裕教 江丸
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2016/075883 priority Critical patent/WO2018042637A1/ja
Priority to JP2018536651A priority patent/JP6775022B2/ja
Publication of WO2018042637A1 publication Critical patent/WO2018042637A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a method for processing data acquired in IT system operation management.
  • Non-Patent Document 1 it is predicted that response performance of processing executed in an IT system is predicted from parameters related to settings such as the number of parallel processing and parameters related to processing targets such as the size of data to be processed. It describes a technique for finding a function to be made possible by learning. By using this function, for example, the response time of the process can be estimated from the parallel number of processes and the data size, so that the execution schedule of the process can be determined. In addition, since the parallel number of processes necessary to obtain the required response performance can be estimated, the amount of resources required to obtain the required response performance can be estimated.
  • Cloud service forms include IaaS (Infrastructure as a Service), PaaS (Platform as a Service), and SaaS (Software as a Service).
  • the cloud service is not suitable for use as a data storage location for highly sensitive data or applications that require real-time performance, management operations can be separated from the original functions of the IT system. It is also suitable for cloud services because of the need to pay for the usage.
  • Patent Document 1 discloses a method in which a provider monitors storage on-premises via a network and performs maintenance work such as configuration change and disk replacement when an event occurs.
  • Patent Document 1 and Non-Patent Document 1 are assumed to be used in an environment with relatively little change, and do not assume that the system configuration is frequently changed.
  • the configuration of IT systems can be changed relatively easily, and the frequency of system configuration changes is likely to increase. It is done.
  • a large amount of learning data is required to improve the accuracy of machine learning.
  • it is necessary to acquire various history information such as performance information and capacity information over a long period from each object of the IT system.
  • various history information such as performance information and capacity information
  • An object of the present invention is to provide a technique for improving the accuracy of machine learning for a system whose configuration is changed.
  • a learning data processing device includes an information collection unit that acquires learning data from components of a target system while the target system is operated, and a component between components of the target system based on the learning data.
  • a prediction expression generation unit that generates a prediction expression that expresses the relationship between the objective information and the description information, a setting change content determination unit that determines setting contents for changing the configuration of the target system, and a configuration of the target system A state where the learning data is not sufficiently acquired in the range of possible component states when the setting change content determination unit changes the configuration of the target system.
  • the setting contents to be extracted are determined to change the configuration of the target system so that the component is in a data shortage state, and the configuration changing unit determines the target system according to the determined setting contents. Change the configuration systems out, information collection unit acquires the training data when the data starved from components of the target system.
  • FIG. 1 is a configuration diagram of an example of a computer system related to Example 1.
  • FIG. It is a figure which shows an example of the related information table which concerns on Example 1.
  • FIG. FIG. 10 is a diagram showing an example of a performance history information table 1120 according to the first embodiment.
  • 6 is a diagram illustrating an example of a configuration information table 1130 according to Embodiment 1.
  • FIG. 6 is a diagram illustrating an example of a configuration information table 1130 according to Embodiment 1.
  • FIG. 6 is a diagram illustrating an example of a configuration information table 1130 according to Embodiment 1.
  • FIG. It is a figure which shows an example of the prediction formula former information table 1140 which concerns on Example 1.
  • FIG. 3 is a flowchart of a process for generating a prediction formula according to the first embodiment.
  • 6 is a flowchart of processing for determining setting change contents for acquiring learning data according to the first embodiment; It is a flowchart of the process which performs the setting change for learning data acquisition.
  • FIG. 10 is a diagram illustrating an example of a business property management table 1800 according to the second embodiment.
  • 12 is a flowchart of processing for executing learning data sharing according to the second embodiment.
  • program is used as the subject.
  • the program is executed by the processor, and processing determined by the memory and communication port (communication device, management I / F, data I / F)
  • the description may be made with the processor as the subject.
  • the processing disclosed with the program as the subject may be processing performed by a computer such as a management server (management computer) or an information processing apparatus. Further, part or all of the program may be realized by dedicated hardware.
  • Various programs may be installed in each computer by a program distribution server or a computer-readable storage medium.
  • a set of one or more computers that manage the computer system and display the display information of the present invention may be referred to as a management system.
  • the management server displays the display information
  • the management server is a management system.
  • a combination of a management server and a display computer is also a management system.
  • processing equivalent to that of the management server may be realized with a plurality of computers.
  • the plurality of computers if the display computer performs display, display (Including computers) is the management system.
  • FIG. 1 is a diagram for explaining the outline of the computer system according to the first embodiment. The operation described here is mainly executed by the setting change content determination program 1180.
  • the setting change content determination program 1180 refers to the prediction formula table 1150 and the configuration information table 1130, and extracts parameters corresponding to configuration information indicating the configuration of the computer system from the prediction formula parameters.
  • the setting change content determination program 1180 refers to the prediction formula source information table 1140, and specifies a range where the information of the learning data is insufficient within a range that can be taken from the configuration of the extracted parameters.
  • the setting change content determination program 1180 determines the parameter value so as to set the extracted parameter within the specified range, and changes the parameter setting. (4) By operating the computer system with the setting changed, it is possible to acquire the missing learning data.
  • FIG. 2 is a configuration diagram of an example of a computer system according to the first embodiment.
  • the computer system according to this embodiment includes one or more management servers 1000, one or more storage apparatuses 2000, and one or more servers 3000.
  • the server 3000 and the storage device 2000 are connected to each other via a SAN (Storage Area Network) 4000.
  • a specific example of a SAN is Fiber Channel.
  • the management server 1000, the storage device 2000, and the server 3000 are connected to each other via the management network 5000.
  • the management server 1000 includes a memory 1100, a communication device 1200, a processor 1300, an output device 1400, an input device 1500, and a storage device 1600. These are connected to each other via an internal bus 1700 in the management server 1000.
  • the memory 1100 includes a related information table 1110, a performance history information table 1120, a configuration information table 1130, a prediction formula source information table 1140, a prediction formula table 1150, an information collection program 1160, a prediction formula generation program 1170, and a setting change content determination program 1180.
  • the configuration change program 1190 is stored.
  • the communication device 1200 is a device for connecting the management server 1000 to the management network 5000.
  • the management server 1000 can communicate with a program running on the server 3000 through the management network 5000.
  • the processor 1300 executes various programs developed on the memory 1100.
  • the output device 1400 is a device that outputs a processing result executed by the management server 1000, and is, for example, a display.
  • the input device 1500 is a device for an administrator to input an instruction to the management server 1000, and is, for example, a keyboard.
  • the storage device 1600 is an HDD (Hard Disk Drive), SSD (Solid State Drive) or the like for storing information.
  • the various programs and tables are stored in the memory 1100, but may be stored in the storage device 1600 or another storage medium (not shown).
  • the processor 1300 reads the target program on the memory 1100 when executing the program, and executes the read program.
  • the above-described program and table may be stored in the memory 2100 of the storage apparatus 2000, and the storage apparatus 2000 or the physical server 3000 may execute the stored program. Further, another device such as another server 3000 or a switch (not shown) may store and execute the above-described program and table.
  • the storage apparatus 2000 includes a memory 2100, a logical volume providing unit 2200, a disk I / F controller 2300, a management I / F 2400, a processor 2500, and a data I / F 2600. These are connected via a communication path 2700 such as an internal bus in the storage apparatus 2000.
  • the memory 2100 has a disk cache 2110.
  • the memory 2100 stores a configuration performance information collection program 2120.
  • the disk cache 2110 is a storage area for temporarily storing information.
  • the configuration performance information collection program 2120 is a program for transmitting / receiving management information, performance information, and the like of the storage apparatus 2000 to / from the management server 1000.
  • the configuration change program 2130 is a program that is called from the configuration change program 1190 of the management server 1000 and changes the configuration of the storage apparatus 2000.
  • the logical volume providing unit 2200 includes a disk pool 2220 including a physical area 2230, logically divides the storage area of the disk pool 2220, and provides the logically divided storage area as a volume 2210.
  • the physical area 2230 is a parity group composed of a physical disk or a plurality of physical disks. A physical area can be accessed from a device outside the storage device 2000 via the volume 2210.
  • the physical area 2230 is assigned a physical area number
  • the disk pool 2220 is assigned a disk pool number
  • the volume 2210 is assigned a volume number.
  • the disk pool 2220 (POOL1) composed of one physical area (parity group PG1) is logically divided, and one volume 2210 (Vol1) is an apparatus outside the storage apparatus 2000, for example, a server Provided to 3000.
  • the disk I / F controller 2300 is an interface device for connecting to the logical volume providing unit 2200.
  • the management I / F 2400 is an interface device for connecting to the management network 5000.
  • the processor 2500 executes a program expanded on the memory 2100.
  • the data I / F 2600 is an interface device for connecting to the SAN 4000.
  • the configuration performance information collection program 2120 and the configuration change program 2130 are stored in the memory 2100, but are stored in another storage device (not shown) or another storage medium (not shown). May be.
  • the processor 2500 reads the configuration performance information collection program 2120 and the configuration change program 2130 on the memory 2100 during processing execution, and executes the read program.
  • the logical volume providing unit 2200 may create all the storage areas of one disk pool 2220 as one volume 2210. Further, the logical volume providing unit 2200 may be a storage area such as a physical disk itself or a flash memory other than the parity group as the physical area 2230.
  • the server 3000 is a physical server including a memory 3100, a data I / F 3200, a processor 3300, and a management I / F 3400. These are connected to each other via a communication path 3500 such as an internal bus of the server 3000.
  • the memory 3100 stores a configuration information collection program 3110, a business program 3120, and a configuration change program 3130.
  • the configuration information collection program 3110 is a program for transmitting / receiving management information, performance information, and the like of the server 3000 to / from the management server 1000.
  • the business program 3120 is a program for realizing the business executed by the 3000, and is, for example, a DBMS (Data Base Management System) or a file system.
  • the configuration change program 3130 is reserved from the configuration change program 1190 of the management server 1000 and is a program for changing the configuration of the server 3000.
  • the server 3000 executes various tasks using the volume 2210 provided from the storage apparatus 2000.
  • various programs are stored in the memory 3100, but may be stored in another storage device (not shown).
  • the processor 3300 reads the target program on the memory 3100 at the time of executing the process, and executes the read program.
  • the server A and the storage apparatus A are connected to each other via the SAN 4000.
  • the connection between the storage apparatus 2000 and the physical server 3000 is not limited to that directly connected via a fiber channel, and may be connected via one or more network devices such as a fiber channel switch.
  • the connection between the storage apparatus 2000 and the physical server 3000 may be a data communication network, and may be an IP (Internet Protocol) network.
  • FIG. 3 is a diagram illustrating an example of a related information table according to the first embodiment.
  • the related information table related information indicating a management target object whose performance is the target information and a management target object logically related to the management target object is stored.
  • An object is a component of a computer system.
  • the constituent elements include physically existing constituent elements and logically defined constituent elements.
  • the related information table 1110 is a physical information existing on an I / O (input / output) path from the business program 3120 operating on the server 3000 to the physical area constituting the volume used by the server 3000. Management of information indicating virtual devices and devices, that is, information indicating logical relationships between devices and devices based on I / O paths.
  • volume and “pool constituting the volume”, “volume” and “processor in charge of I / O processing to volume”, “volume” and “I / O to volume” Is stored based on the setting, such as “a cache that temporarily stores”.
  • the related information table 1110 includes fields of a device ID 1111, a volume ID 1112, a processor ID 1113, a cache ID 1114, a pool ID 1115, and a physical area ID 1116.
  • the device ID 1111 stores an identifier for uniquely identifying the storage 2000.
  • the volume ID 1112 stores an identifier for uniquely identifying the volume 2210.
  • the processor ID 1113 stores an identifier of the processor 2500 in charge of processing for the volume indicated by the volume ID 1112.
  • the cache ID 1114 stores an identifier that uniquely indicates the disk cache 2110 in which processing for the volume indicated by the volume ID 1112 is cached.
  • the pool ID 1115 stores an identifier for uniquely identifying the disk pool 2220 in which the volume 2210 is created.
  • the physical area ID 1116 stores an identifier for uniquely identifying a physical area 2230 constituting a disk pool, such as a parity group or a disk. Information collected from the computer system is stored in the fields of the above columns. The method for collecting and storing information is not particularly limited.
  • the related information table 1110 includes information about the processor 2500, the disk cache 2110, the disk pool 2220, and the physical area 2230 as the management target objects related to the device ID 1111 and the volume ID 1112 and the volume.
  • the present invention is not limited to this. Any managed object in the IT system can be handled in the same way.
  • the server 3000 accesses the volume 2210 indicated by the volume ID 1136, a drive for uniquely identifying the mount point of the server 3000, which is a managed object used for business access, within the server.
  • identifiers for identifying other managed objects including physical and virtual, such as server data I / F for uniquely identifying the data I / F 3200 of the server 3000 used at the time may be stored. .
  • information such as a switch data I / F may be included, and information on a business program (such as a DBMS) on the server 3000, which is a business server, may be stored in association with each other. Further, information on processing units executed by the business program may be stored in association with each other.
  • the processing A in the business program is associated with the server used to execute the processing, the CPU of the server, the memory, and the like. It may be stored.
  • FIG. 4 is a diagram illustrating an example of the performance history information table 1120 according to the first embodiment.
  • Performance history information table 1120 The performance history acquired from each managed object by the operation of the computer system is stored.
  • the performance history information table 1120 manages performance information of managed objects, for example, performance information related to the volume 2210, the disk pool 2220, etc. in the storage apparatus 2000. An entry can be added to the performance history information table 1120.
  • the performance history information table 1120 includes fields of time 1121, device ID 1122, device ID 1123, metric 1124, and performance value 1125.
  • the device ID 1122 stores an identifier (device ID) that uniquely identifies the device.
  • the device ID 1123 stores an identifier (device ID) for uniquely identifying a device for which performance information is to be acquired.
  • the metric 1124 stores information indicating the type of performance information such as the CPU usage rate, the number of I / Os per unit time (for example, 1 second) for the storage device (IOPS), and the response time for the request.
  • the performance value 1125 the value of the type of performance information indicated by the metric 1124 of the device indicated by the device ID 1123 is acquired from the apparatus including the device and stored.
  • the storage volume 2210, the processor 2500, and the disk cache 2110 are listed as the performance information acquisition target devices indicated by the device ID 1122 and the device ID 1123. It is not limited to these. It may be a VM (not shown), a storage data I / F 2600, a server data I / F 3200, a switch or a switch port (not shown), and the like.
  • FIG. 4 shows the response performance to the request, the CPU usage rate, the cache usage rate, the IOPS, the response time to the request, and the like as an example of the metric, but it is not limited to these.
  • Other metrics such as data volume, network interface error count, buffer overflow, and frame error may be used as metrics.
  • 5A, 5B, and 5C are diagrams illustrating an example of the configuration information table 1130 according to the first embodiment.
  • 5A and 5B show a state before the operation is executed by the configuration change program 1190 in step 301 of FIG. 10 described later.
  • FIG. 5C shows a state after the operation is executed by the configuration change program 1190 in step 301 of FIG.
  • the configuration information table 1130 stores configuration information of managed objects. For example, the cache size of the disk cache 2110 that is configuration information about the storage apparatus 2000 that is the management target object is stored. In addition, the disk configuration of the physical area (parity group) 2230 is stored. An entry is added to the configuration information table 1130 by a general means.
  • the configuration information table 1130 includes fields of a device ID 1131, a device ID 1132, a metric 1133, and a value 1134.
  • the device ID 1131 stores an identifier for uniquely identifying the device.
  • the device ID 1132 stores an identifier for uniquely identifying a device from which configuration information is to be acquired.
  • the metric 1133 stores information indicating the type of configuration information such as storage capacity and processing capability.
  • the value 1134 stores a value for the type of configuration information indicated by the metric 1133 of the device indicated by the device ID 1132. This value is obtained from an apparatus including the device.
  • the devices indicated by the device ID 1131 and the device ID 1132 in the configuration information table 1130 shown in FIGS. 5A to 5C are targets for acquiring the configuration information.
  • the disk cache 2110 (Cache1) and the physical area 2230 (PG1, PG5) of the storage 2000 are listed as the devices from which the configuration information is acquired.
  • Configuration information of other managed objects may be held.
  • the metric as an example of the metric, the cache size, the RAID level of the parity group, and the disk type are listed, but the metric is not limited thereto.
  • FIG. 6 is a diagram illustrating an example of the prediction formula source information table 1140 according to the first embodiment.
  • the prediction formula source information table 1140 is a table for managing information used as a basis for generating a prediction formula.
  • the prediction formula source information table 1140 manages a management target object to be predicted and its parameters, and other management target objects and parameters related to the management target object to be predicted on the I / O path.
  • the management target object to be predicted and its parameters are the target information of the prediction formula, and the related management target object and its parameters are the description information.
  • the prediction formula source information table 1140 includes fields of time information 1141, purpose information 11411, and related information 11412.
  • the time information 1141 stores data on the date and time when the information is collected from the managed object.
  • the objective information 11411 stores management target object identification information to be predicted and parameter values of the management target object.
  • the related information 11412 stores information on parameter values of other managed objects that are related to the managed object to be predicted on the I / O path.
  • device ID 1142, volume ID 1143, and volume response performance 1144 are stored as purpose information 11411.
  • the related information 11412 includes fields of Processor Busy 1145, Cache Usage 1146, Cache Size 1147, Pool Busy 1148, and PG number 1149.
  • the device ID 1142 stores an identifier (device ID) that uniquely identifies the device.
  • the volume ID 1143 stores an identifier for uniquely specifying the management target object.
  • the volume response performance 1144 stores time information from the reception of the I / O request in the volume to the completion of processing.
  • the response performance of the volume is given as an example of the purpose information 11411, and the Processor Busy 1145, Cache Usage 1146, etc. are given as examples of the related information.
  • the present invention is not limited to this.
  • the time information 1141 is 10:01 information and 10:02 information before the operation is executed by the configuration change program 1190 in step 301 of FIG.
  • the time information 1141 is 15:10 information and 15:11 information indicates the state after the operation is executed by the configuration change program 1190 in step 301 of FIG.
  • FIG. 7 is a diagram illustrating an example of the prediction formula table 1150 according to the first embodiment.
  • the prediction formula table 1150 is a table for managing information representing a prediction formula.
  • the prediction formula table 1150 stores metrics used in the prediction formula, coefficients related to each metric, and the like.
  • the prediction formula table 1150 includes fields for purpose information 11511 and explanation information 11512.
  • the purpose information 11511 stores identification information of a management target object to be predicted and parameter values of the management target object.
  • the description information 11512 stores parameters of other managed objects that can explain the parameter value of the managed object to be predicted, and information about the values.
  • device ID 1151, device ID 1152, and metric 1153 are managed as purpose information 11511, and as processing information 11512, Processor Busy 1154, Cache Size 1155, Pool Busy 1156, PG number 1157, and a field indicating a coefficient for each metric are provided. Including.
  • the response performance of the volume is given as an example of the purpose information 11411, and the Processor Busy 1154, Cache Size 1155, etc. are given as examples of the related information.
  • the present invention is not limited to this.
  • the prediction expression is an expression representing a linear relationship
  • the prediction expression table 1150 is an expression of regression analysis for identifying the linear relationship that best fits the data, but is not limited thereto.
  • the prediction formula may be a polynomial
  • the prediction formula table 1150 may manage information representing the polynomial.
  • FIG. 8 is a flowchart of a process for generating a prediction formula according to the first embodiment.
  • Prediction formula generation is to collect and learn various information on each object as learning data, and to identify the function that best fits the learning data regarding the relationship between the target element and other elements. is there.
  • This prediction formula generation process is performed by the processor 1300 of the management server 1000 executing the prediction formula generation program 1170 expanded on the memory 1100. A specific example of this flowchart is shown below.
  • the prediction formula generation program 1170 refers to the related information table 1110 illustrated in FIG. 3 and identifies a component that is a prediction formula generation target and a component related thereto (step 101).
  • the component for which the prediction formula is to be generated is selected by any method, such as being selected by the user or automatically selected by the prediction formula generation program (for example, executing for all volume response performances). May be specified.
  • generation program 1170 starts is arbitrary, such as periodic execution and execution at the arbitrary timings designated by the user.
  • the prediction formula generation program 1170 identifies Processor1, Cache1, Pool1, and PG1 as components related to Vol1 (Volume1) from the information stored in the related information table 1110 of FIG.
  • the prediction formula generation program 1170 refers to the performance history information table 1120 illustrated in FIG. 4, and as a constituent element for generating a prediction formula and related items, in step 101.
  • the performance history information of the identified component is acquired (step 102). For example, the response time of Volume1 acquired at time 10:01 is 10.2 msec, the usage rate (Busy%) of Processor1 is 40%, the usage rate (Cache%) of Cache1 is 80%, and I per unit time of Pool1 Performance information that the number of / O times is 700 IOPS and the usage rate (Busy%) is 35% is acquired.
  • the prediction formula generation program 1170 refers to the configuration information table 1130 illustrated in FIG. 5A and FIG. 5B and acquires the configuration information of the prediction formula generation target component and the component specified in step 101 (step 103). For example, from FIG. 5A, the configuration information that the size of Cache 1 of the storage A is 8 GB is acquired. Further, from FIG. 5B, for example, configuration information such as the RAID level of the physical area PG1 of the storage A being RAID 5 (3D + 1P) is acquired.
  • the prediction formula generation program 1170 stores the information related to the prediction formula generation acquired in step 102 and step 103 in the prediction formula source information table 1140 illustrated in FIG. 6 (step 104).
  • performance information acquired at time 10:01 is stored in the prediction formula original information table 1140 of Volume1.
  • the prediction formula generation program 1170 generates a prediction formula from the information in the prediction formula original information table 1140 generated in step 104 and stores it in the prediction formula table 1150 illustrated in FIG. 7 (step 105).
  • the method for generating the prediction formula in step 105 is not particularly limited, and any method including a general method such as regression analysis may be used.
  • regression analysis for example, a method of setting all of the related information 11412 shown in the prediction formula source information table 1140 as explanatory variables and removing variables having low relevance to the target information from the explanatory variables.
  • the prediction formula may be generated with
  • Cache Usage 1146 is excluded from the explanatory variables in the related information stored in the prediction formula original information table 1140 shown in FIG. 6, and is included in the information stored in the prediction formula table 1150 shown in FIG. Not.
  • FIG. 9 is a flowchart of processing for determining setting change contents for acquiring learning data according to the first embodiment.
  • This setting change content determination process 200 is implemented after the process which produces
  • This processing is performed by the processor 1300 of the management server 1000 executing the setting change content determination program 1180 expanded on the memory 1100.
  • the setting change content determination program 1180 extracts the metric of the description information 11512 in the prediction formula table 1150 illustrated in FIG. 7, and performs the following processing for each metric.
  • the setting change content determination program 1180 checks whether the metric is included in the configuration information table 1130 (step 201). If the metric is not included in the configuration information table 1130, the setting change content determination program 1180 proceeds to processing for the next metric in the prediction formula table 1150. If the metric is included in the configuration information table 1130, the setting change content determination program 1180 obtains information on the range that the metric can take (step 202).
  • the metric is the storage cache size
  • information on a range of values that can be taken as the cache size is acquired on the hardware specification. For example, information that the cache size is in the range of 1 GB to 72 GB is acquired.
  • the metric is a parity group of storage, information on the RAID level range is acquired.
  • information that the possible RAID levels are RAID0 (2D), RAID1 (1D + 1P), and RAID5 (3D + 1P) is acquired.
  • the method for obtaining the possible range of these metrics is not particularly limited.
  • information on the range that each metric can take may be stored in a table (not shown) in advance, and the setting change content determination program 1180 may acquire necessary information from the table as appropriate.
  • the setting change content determination program 1180 may be acquired by making a request to hardware such as a storage.
  • the setting change content determination program 1180 searches for a definition area with insufficient data in the range acquired in step 202 (step 203). Next, it is determined whether or not there is a domain having insufficient data (step 204). If there is no domain, the process proceeds to the process for the next metric in the prediction formula table 1150. If there is an insufficient definition area in step 204, the setting change content determination program 1180 generates a parameter for a setting change operation that enables acquisition of data of the insufficient definition area (step 205). .
  • the setting change content determination program 1180 tries to acquire data when setting is other than 8 GB. For example, the setting change content determination program 1180 generates a parameter for changing the setting of the cache size to 16 GB.
  • the setting change content determination program 1180 checks whether or not the SLA (Service Level Agreement) is satisfied when the parameter setting generated in step 205 is changed, and if the changed parameter does not satisfy the SLA. It may be excluded from the parameter setting range. For example, when the cache size of 8 GB is changed to 4 GB, a predetermined requirement (response time within 1 second or the like) is set as the performance of the volume or the performance of the business application running on the server 3000 that uses the volume. ) May not be satisfied, the parameter setting may not be changed to 4 GB.
  • SLA Service Level Agreement
  • Step 206 will be described in detail with reference to FIG.
  • FIG. 10 is a flowchart of processing for executing setting change for learning data acquisition.
  • the learning data acquisition required setting change processing 300 (learning data acquisition required setting change processing 206 in FIG. 9) is performed by the processor 1300 of the management server 1000 executing the setting change content determination program 1180 expanded on the memory 1100. It is carried out. A specific example of this flowchart is shown below.
  • the setting change content determination program 1180 requests the configuration change program 1190 to execute a setting change operation, and acquires an execution result (step 301).
  • the setting change content determination program 1180 checks whether or not an entry for the new time has been added to the prediction formula source information table 1140 (step 302).
  • the setting change content determination program 1180 acquires the number of acquired data in the target domain in the prediction formula source information table 1140 (step 303), and determines whether the data has been acquired sufficiently. Check (step 304).
  • a threshold value for the number of data is set in advance, or the number of explanatory information shown in the prediction formula table is set as a threshold value. You can keep it. If the learning data is sufficiently acquired, the setting change content determination program 1180 proceeds to the next step 305. If the learning data has not been sufficiently acquired, the setting change content determination program 1180 executes the process again from step 302.
  • step 305 the setting change content determination program 1180 requests the configuration change program 1190 to execute the setting change operation to be returned before execution of step 301, and acquires the execution result. If the setting change operation requested in step 301 or step 305 is not successful, this processing is interrupted.
  • the prediction formula source information table 1140 After obtaining sufficient learning data by executing FIG. 10, by executing the prediction formula generation process 100 shown in FIG. 8, the prediction formula source information table 1140 in a state where there is no shortage of learning data in the new configuration.
  • the prediction formula table 1150 indicating the prediction formula with high accuracy can be generated.
  • step 201 to step 204 of the setting change content determination processing 200 shown in FIG. 9 all the definition areas having insufficient data are extracted from the range that can be taken from the configuration, and then shown in FIG.
  • Data of a domain having insufficient data is acquired by the learning data acquisition setting changing process, and then a prediction formula is generated by the prediction formula generation process 100 shown in FIG.
  • a prediction formula is generated by the prediction formula generation process 100 shown in FIG.
  • every time a domain with insufficient data is extracted data for that domain is acquired, and once the data is acquired, a prediction formula is generated at that stage. You may repeat as many times as there are domain names.
  • the cache size can range from 1 GB to 72 GB.
  • the process of acquiring data, generating a prediction formula, and proceeding to the next definition area may be repeated.
  • the learning data acquisition setting change process 206 is executed. Therefore, a prediction formula is generated after data is collected for all items included in the prediction formula table 1150 and the configuration information table 1130.
  • the process of executing the learning data acquisition setting change process and the prediction expression generation process for one item included in the prediction formula table 1150 and the configuration information table 1130 and proceeding to the next item is repeated. May be.
  • a learning formula that is insufficient in a range that can be taken by the computer system is actively collected in advance, so that a prediction formula with high accuracy can be obtained early when a configuration change is made.
  • the learning time can be shortened and efficient management based on machine learning technology can be implemented immediately after the configuration change.
  • the present invention it is possible to prevent the occurrence of a failure or failure to satisfy management requirements even immediately after a configuration change or a newly constructed configuration, and to obtain an effect such as quick failure recovery when a failure occurs. Is possible.
  • the present invention can also be applied to the above-described various cloud forms, and can also be applied to forms in which management software SaaS and operation management work are contracted as services.
  • the computer system according to the second embodiment basically has the same configuration as that of the first embodiment and performs the same operation.
  • the second embodiment uses not only the related information related to the purpose information but also the information acquired in the computer system of the business having characteristics similar to the business targeted by the purpose information for generating the prediction formula. Different from the first embodiment.
  • FIG. 11 is a diagram illustrating an example of the business property management table 1800 according to the second embodiment.
  • the business property management table 1800 manages business property information for each business unit.
  • the business property management table 1800 stores business unit 18011 and business property 18012 data.
  • business units are associated with volumes, and information on I / O such as the number of I / Os and the ratio of each I / O pattern is managed for each business as business characteristics.
  • fields of business units 18011 and business characteristics 18012 are associated with the business characteristic management table 1800.
  • the business unit 18011 includes a volume ID 1801.
  • the business characteristics 18012 include fields for the number of I / O 1802, an I / O increase / decrease rate 1803, a high-frequency access 1804, and an I / O pattern 1805.
  • the volume ID 1801 stores an identifier for uniquely identifying the volume 2210.
  • the I / O number is recorded. For example, the average value or intermediate value of the IOPS of the previous month is recorded.
  • the I / O increase / decrease rate 1803 the ratio of how much the IOPS has changed in the past fixed period is recorded. For example, in a half year or one year, an average of one month of IOPS is calculated, and an increase / decrease rate of the average value of each month with respect to the average value of the previous month is calculated.
  • the I / O pattern 1805 the generation ratio of each I / O pattern of Random Read, Random Write, Sequential Read, and Sequential Write is recorded.
  • the I / O pattern having the highest rate is recorded in the high-frequency access 1804.
  • a business unit corresponds to a volume
  • the present invention is not limited to this.
  • the business unit may be a VM, a business program on the server 3000, or information on a processing unit executed by the business program.
  • FIG. 12 is a flowchart of processing for executing learning data sharing according to the second embodiment.
  • the learning required data sharing process 400 is a process in the second embodiment corresponding to step 105 of the prediction formula generation process 100 in FIG. 8 in the first embodiment. This process is performed by the processor 1300 of the management server 1000 executing the prediction formula generation program 1170 expanded on the memory 1100. A specific example of this flowchart is shown below.
  • the prediction formula generation program 1170 first acquires information of the business property management table 1800 (step 401). Next, the prediction formula generation program 1170 checks whether or not there is a constituent element of a prediction formula generation target that is used in a similar business similar to the business for which the prediction formula is generated (step 402). Here, the information of the business property management table 1800 acquired in step 401 is used to determine whether the business is used in a similar business. Similar tasks may be grouped in advance and the presence or absence of components used in the tasks belonging to the same group may be checked.
  • a business with the same high-frequency access information may be a business-similar group.
  • a decrease rate of 5% or more, an increase / decrease rate within ⁇ 5%, an increase rate of 5% or more, and the like may be set as the business similarity group.
  • the tasks may be classified into any number of groups using the k-average method.
  • the number of groups may be input in advance and the groups may be appropriately grouped according to the number of sono groups.
  • the tasks may be grouped by combining the above grouping methods.
  • grouping may be performed by any method and is not particularly limited.
  • Volume 1 and Volume 3 have the same high frequency access 1804 “RW”, the same I / O increase / decrease rate 1803 “5% or more”, and the I / O
  • the O number 1802 is “10000 or more” and is the same. Tasks may be grouped so that Volume 1 and Volume 3 are determined to be the same task similar group.
  • step 402 when there is a component used in the similar job, the prediction formula generation program 1170 uses the information in the prediction formula source information table 1140 of each component used in the similar job to predict the formula. Is stored in the prediction formula table 1150 (step 403).
  • step 402 when there is no component used in the similar job, the prediction formula generation program 1170 generates a prediction formula from information in the prediction formula original information table for each component and stores it in the prediction formula table. (Step 404).
  • step 203 of the setting change content determination process 200 shown in FIG. 9 since the missing definition area can be searched based on the configuration that has been taken in each similar business group, the missing data It is possible to reduce the time required for collection, and it is possible to perform efficient management based on machine learning technology.
  • the computer system according to each embodiment described above can be arranged in the following manner.
  • An information collection unit that acquires learning data from the constituent elements of the target system while the target system is in operation, and a relation between the constituent elements of the target system based on the learning data is expressed by a relation between purpose information and explanatory information
  • a prediction formula generation unit that generates the prediction formula, a setting change content determination unit that determines setting content for changing the configuration of the target system, and a configuration change unit that changes the configuration of the target system, In a range of the state of the component that can be taken when the setting change content determination unit changes the configuration of the target system, a state where the learning data is not sufficiently acquired is extracted as a data shortage state, and the component Determines the setting contents for changing the configuration of the target system so that the data shortage state occurs, and the configuration changing unit follows the determined setting contents.
  • the information collecting unit acquires learning data when the data starved from the components of the target system, the learning data processing apparatus.
  • the setting change content determination unit extracts a configuration in which learning data is not acquired more than a predetermined amount of data from a range of states of the components that can be taken by the target system, and determines a setting change corresponding to the configuration
  • the learning data processing apparatus according to aspect 1.
  • the setting change content determination unit temporarily changes the configuration of the target system so that the component is in the data shortage state, and the configuration change unit configures the configuration of the target system according to the determined setting content.
  • the prediction formula generation unit The learning data processing apparatus according to aspect 1, wherein the prediction formula is generated using the learning data accumulated by the information collecting unit in a configuration in which the component is in the data shortage state.
  • the prediction formula uses the performance of a target component that is a target component of the prediction formula as objective information, and uses the performance of one or more related components logically associated with the target component as explanatory information.
  • the objective information is expressed as a function of the explanation information
  • the information collection unit accumulates performance exhibited by the constituent elements of the target system as performance history information
  • the prediction formula generation unit includes the performance history
  • the learning data processing device according to aspect 1, wherein the function is calculated using information as the learning data.
  • the prediction formula is generated based on the performance history information measured and accumulated, it is possible to generate a good prediction formula by accumulating sufficient performance history information.
  • the prediction formula indicates the objective information as a sum of a product of the explanation information and a coefficient
  • the prediction formula generation unit uses the performance history information as the learning data and calculates a coefficient for each related component.
  • the learning data processing device which calculates.
  • the prediction formula is expressed by the product sum of the explanation information and the coefficient and the coefficient is calculated, a function indicating the relationship between the objective information and the explanation information can be easily calculated.
  • the prediction formula is generated using the learning data of the similar system, so that the machine learning with high accuracy can be performed from an early stage after the configuration change by increasing the usable learning data.
  • aspect 8 The aspect is described in aspect 7, wherein the target information is a performance of the storage volume, and the similarity condition is determined by a similarity degree of an I / O pattern including random read, random write, sequential read, and sequential write with respect to the volume. Learning data processing device.
  • the similarity determination is performed based on the similarity of the I / O pattern, it is possible to use the learning data collected in a task with a similar I / O pattern in the configuration change or new construction of another task.
  • the learning data within the range that the cache size can take can be covered in advance, so even if the cache size of the target system is changed, the learning formula is insufficient and the accuracy of the prediction formula is kept high. can do.
  • configuration performance information collection program 2 30 ... configuration change program, 2200 ... logical volume providing unit, 2210 ... volume, 2220 ... disk pool, 2230 ... physical area, 2300 ... Disk I / F controller, 2500 ... Processor, 2600 ... Data I / F, 2700 ... Communication path, 3000 ... Server, 3100 ... Memory, 3110 ... Configuration information collection program, 3120 ... Business program, 3130 ... Configuration change program, 3300: Processor, 3500 ... Communication path, 4000 ... SAN, 5000 ... Management network

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

学習データ処理装置は、対象システムが運用される間に対象システムの構成要素から学習データを取得する情報収集部と、学習データに基づいて対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、対象システムの構成を変更する構成変更部と、を有し、設定変更内容決定部が、対象システムの構成を変更する場合に取り得る構成要素の状態の範囲において、学習データが十分に取得されていない状態をデータ不足状態として抽出し、構成要素がデータ不足状態となるように対象システムの構成を変更する設定内容を決定し、構成変更部が、決定された設定内容に従って対象システムの構成を変更し、情報収集部が、対象システムの構成要素からデータ不足状態のときの学習データを取得する。

Description

学習データ処理装置および方法
 本発明は、ITシステム運用管理において取得されるデータの処理方法に関する。
 仮想化機構の普及やクラウド等の新たなシステム提供形態の出現に伴い、ITシステムの運用管理は複雑化している。また、ITシステムで扱われるデータ量の爆発的な増加に伴い、ITシステムの規模は年々拡大し、ITシステムを管理する管理ソフトウェアが扱うオブジェクト数(例えば、ストレージ装置が提供するボリュームの数)も増大している。複雑かつ大量なデータを持つITシステムを、管理コストを抑えて管理することが求められている。
 ITシステムの管理コストを抑えるために、管理を自動化することが考えられる。ITシステム管理の自動化において活用可能な技術の1つに、機械学習技術が存在する。ITシステムの各オブジェクトにおける各種情報を収集し、学習データとして学習することで、ITシステム内の任意の要素とそれ以外の要素との関連について、学習データに最も良くあてはまる関数を特定することが可能となる。
 例えば、非特許文献1には、ITシステムで実行する処理の応答性能を、処理の並列数などの処理をおこなう設定に関するパラメータと、処理するデータのサイズなどの処理対象に関するパラメータから予測することを可能にする関数を、学習によって求める技術について記載されている。この関数を利用することで、例えば処理の並列数とデータサイズから処理の応答時間が推定できるようになるため、処理の実行スケジュールの決定をおこなうことができる。また、必要な応答性能を出すために必要な処理の並列数を推定できるようになるため、必要な応答性能を得るために必要となるリソース量を推定することができる。
 また、インターネットを介して、ITシステムを事業者が提供し、利用に応じて利用者に課金するクラウドサービスが普及している。クラウドサービスの形態として、IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)、SaaS(Software as a Service)などの形態がある。
 加えて、クラウドサービスは、機密性が高いデータや、リアルタイム性を要求するアプリケーションのデータ格納場所として利用するには向かないものの、管理業務は、そのITシステムの本来の機能から切り離せることからも、また利用に応じて費用を支払いたいというニーズからもクラウドサービスに好適である。
 このような背景から、これまでオンプレミスで稼働していた管理ソフトのSaaS(Software as a Service)提供や、運用業務の一部をサービスとして請け負うといった動きがある。オンプレミスにあるストレージを事業者がネットワーク経由で監視し、イベントが発生した場合に構成変更やディスク交換等の保守業務を行う方式は特許文献1で開示されている。
特開2006-107080号公報
Statistics-driven workload modeling for the cloud,Archana Ganapathi,University of California at Berkeley, ICDE 2010
 特許文献1及び非特許文献1に開示されている技術は比較的変化の少ない環境での利用を想定しており、システム構成が頻繁に変更されることを想定していない。一方で、仮想化機構の普及や、クラウド等の新たなシステム提供形態の出現に伴い、ITシステムの構成を比較的容易に変更できようになっており、システム構成の変更頻度も上がることが考えられる。
 機械学習の精度を上げるには大量の学習データが必要である。ITシステムの管理においては、ITシステムの各オブジェクトから長期間にわたって性能情報や容量情報などの各種履歴情報を取得する必要がある。しかし、ITシステムにおいて構成変更が発生すると、構成変更が発生した後に再び長期間の学習をおこなう必要が生じる。そして、構成変更後しばらくは機械学習の精度が上がらず効率の良い管理業務を行うことができないことが考えられる。
 本発明の目的は、構成が変更されるシステムを対象とした機械学習の精度を高める技術を提供することである。
 本発明の一態様によれば、学習データ処理装置は、対象システムが運用される間に対象システムの構成要素から学習データを取得する情報収集部と、学習データに基づいて対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、対象システムの構成を変更する構成変更部と、を有し、設定変更内容決定部が、対象システムの構成を変更する場合に取り得る構成要素の状態の範囲において、学習データが十分に取得されていない状態をデータ不足状態として抽出し、構成要素がデータ不足状態となるように対象システムの構成を変更する設定内容を決定し、構成変更部が、決定された設定内容に従って対象システムの構成を変更し、情報収集部が、対象システムの構成要素からデータ不足状態のときの学習データを取得する。
 将来の対象システムの構成変更時に不足となる学習データを、予め対象システムの構成を一時的に変更して取得しておくことができるので、実際に構成が変更されたときに生じる学習データの不足が低減され、機械学習の精度が早期に向上する。これを構成の変更が比較的頻繁に行われる対象システムにおける機械学習を適用した場合、構成が変更されたときに生じる機械学習の精度低下を抑制することができる。
実施例1による計算機システムの概略を説明するための図である。 実施例1に係る計算機システムの一例の構成図である。 実施例1に係る関連情報テーブルの一例を示す図である。 実施例1に係る性能履歴情報テーブル1120の一例を示す図である。 実施例1に係る構成情報テーブル1130の一例を示す図である。 実施例1に係る構成情報テーブル1130の一例を示す図である。 実施例1に係る構成情報テーブル1130の一例を示す図である。 実施例1に係る予測式元情報テーブル1140の一例を示す図である。 実施例1に係る予測式テーブル1150の一例を示す図である。 実施例1に係わる予測式を生成する処理のフローチャートである。 実施例1に係わる学習データを取得するための設定変更内容を決定する処理のフローチャートである。 学習データ取得用設定変更を実行する処理のフローチャートである。 実施例2に係る業務特性管理テーブル1800の一例を示す図である。 実施例2に係る学習用データ共有を実行する処理のフローチャートである。
 幾つかの実施例を、図面を参照して説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。これらの図面において、複数の図を通じて同一の符号は同一の構成要素を示している。なお、以後の説明では「aaaテーブル」等の表現にて本発明の情報を説明するが、これら情報はテーブル等のデータ構造以外で表現されていてもよい。そのため、データ構造に依存しないことを示すために「aaaテーブル」等について「aaa情報」と呼ぶことがある。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名称」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
 以後の説明では「プログラム」を主語として説明を行う場合があるが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信デバイス、管理I/F、データI/F)を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ(管理計算機)等の計算機、情報処理装置が行う処理としてもよい。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや、計算機が読み取り可能な記憶メディアによって各計算機にインストールされてもよい。
 以後、計算機システムを管理し、本発明の表示用情報を表示する一つ以上の計算機の集合を管理システムと呼ぶことがある。管理サーバが表示用情報を表示する場合は管理サーバが管理システムである。また、管理サーバと表示用計算機との組み合わせも管理システムである。また、管理処理の高速化や高信頼化のために複数の計算機で管理サーバと同等の処理を実現してもよく、この場合は当該複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含め)が管理システムである。
 本実施例に係る計算機システムについて説明する。
 図1は、実施例1による計算機システムの概略を説明するための図である。ここで説明する動作は主に設定変更内容決定プログラム1180により実行される。
 (1)設定変更内容決定プログラム1180は、まず、予測式テーブル1150及び構成情報テーブル1130を参照し、予測式のパラメータのうち計算機システムの構成を示す構成情報にあたるパラメータを抽出する。(2)続いて、設定変更内容決定プログラム1180は、予測式元情報テーブル1140を参照し、抽出したパラメータの構成上取り得る範囲内で、学習データの情報が不足している範囲を特定する。(3)続いて、設定変更内容決定プログラム1180は、抽出したパラメータを、特定した範囲に設定するようにパラメータの値を決定し、パラメータの設定変更を行う。(4)設定を変更した状態で計算機システムを運用することにより、不足していた学習データを取得することができる。
 図2は、実施例1に係る計算機システムの一例の構成図である。本実施例に係る計算機システムは、1台以上の管理サーバ1000、1台以上のストレージ装置2000、及び1台以上のサーバ3000を備える。サーバ3000及びストレージ装置2000は、SAN(Storage Area Network)4000を介して互いに接続される。SANの具体例としてファイバチャネルがある。管理サーバ1000、ストレージ装置2000、およびサーバ3000は、管理用ネットワーク5000を介して互いに接続される。
 管理サーバ1000は、メモリ1100、通信デバイス1200、プロセッサ1300、出力デバイス1400、入力デバイス1500、および記憶デバイス1600を備えている。これらは管理サーバ1000内の内部バス1700を介して互いに接続される。
 メモリ1100には、関連情報テーブル1110、性能履歴情報テーブル1120、構成情報テーブル1130、予測式元情報テーブル1140、予測式テーブル1150、情報収集プログラム1160、予測式生成プログラム1170、設定変更内容決定プログラム1180、構成変更プログラム1190が格納される。
 通信デバイス1200は、管理サーバ1000を管理用ネットワーク5000に接続するためのデバイスである。管理サーバ1000は、管理用ネットワーク5000を通して、サーバ3000上で動作するプログラムと通信できる。プロセッサ1300は、メモリ1100上に展開されている各種プログラムを実行する。出力デバイス1400は、管理サーバ1000が実行した処理結果を出力するデバイスであり、例えばディスプレイ等である。入力デバイス1500は、管理者が管理サーバ1000に指示を入力するためのデバイスであり、例えばキーボード等である。記憶デバイス1600は、情報を格納するHDD(Hard Disk Drive)、SSD(Solid State Drive)等である。
 なお、図2に示す例では、各種プログラム及びテーブルは、メモリ1100に格納されているが、記憶デバイス1600または他の記憶媒体(図示しない)に格納されても良い。この場合、プロセッサ1300は、プログラム実行時にメモリ1100上に対象のプログラムを読みだし、読みだしたプログラムを実行する。
 また、ストレージ装置2000のメモリ2100に、前述のプログラム及びテーブルが格納され、ストレージ装置2000または物理サーバ3000が、格納されたプログラムを実行しても良い。また、他のサーバ3000またはスイッチ(図示しない)等の他の装置が、前述のプログラム及びテーブルを格納し、実行しても良い。
 ストレージ装置2000は、メモリ2100、論理ボリューム提供部2200、ディスクI/Fコントローラ2300、管理I/F 2400、プロセッサ2500、及びデータI/F 2600を備えている。これらはストレージ装置2000内の内部バス等の通信路2700を介して接続される。メモリ2100は、ディスクキャッシュ2110を有する。また、メモリ2100は、構成性能情報収集プログラム2120を格納する。ディスクキャッシュ2110は、情報を一時格納するための記憶領域である。構成性能情報収集プログラム2120は、ストレージ装置2000の管理情報及び性能情報等を管理サーバ1000との間で送受信するためのプログラムである。構成変更プログラム2130は、管理サーバ1000の構成変更プログラム1190から呼び出され、ストレージ装置2000の構成変更をおこなうためのプログラムである。
 論理ボリューム提供部2200は、物理領域2230によって構成されるディスクプール2220を備え、ディスクプール2220の記憶領域を論理的に分割し、当該論理的に分割された記憶領域をボリューム2210として提供する。ここで物理領域2230は、物理ディスクや複数の物理ディスクから構成されるパリティグループなどである。当該ストレージ装置2000外の装置からはボリューム2210経由で物理領域にアクセスすることが可能である。
 なお、物理領域2230には物理領域番号が付され、ディスクプール2220にはディスクプール番号が付され、ボリューム2210にはボリューム番号が付される。これによって、ストレージ装置2000は、物理領域2230、ディスクプール2220及びボリューム2210をそれぞれ一意に識別することができる。
 図2に示す例では、1つの物理領域(パリティグループPG1)から構成されるディスクプール2220(POOL1)が論理的に分割され、1つのボリューム2210(Vol1)がストレージ装置2000外の装置、例えばサーバ3000に提供される。
 ディスクI/Fコントローラ2300は、論理ボリューム提供部2200に接続するためのインタフェースデバイスである。管理I/F 2400は管理用ネットワーク5000に接続するためのインタフェースデバイスである。プロセッサ2500は、メモリ2100上に展開されたプログラムを実行する。
 データI/F2600は、SAN4000に接続するためのインタフェースデバイスである。図2示す例では、構成性能情報収集プログラム2120は、及び構成変更プログラム2130はメモリ2100に格納されているが、他の記憶装置(図示しない)または、他の記憶媒体(図示しない)に格納されても良い。この場合、プロセッサ2500は、処理実行時にメモリ2100上に構成性能情報収集プログラム2120及び構成変更プログラム2130を読みだし、読みだしたプログラムを実行する。
 また、論理ボリューム提供部2200は、1つのディスクプール2220の全記憶領域を1つのボリューム2210として作成しても良い。また、論理ボリューム提供部2200は、物理領域2230としてパリティグループ以外、例えば物理ディスクそのものや、フラッシュメモリ等の記憶媒体でも良い。
 サーバ3000は、メモリ3100、データI/F 3200、プロセッサ3300、及び管理I/F 3400を備えた物理サーバである。これらはサーバ3000の内部バス等の通信路3500を介して互いに接続される。
 メモリ3100は、構成情報収集プログラム3110、業務プログラム3120、構成変更プログラム3130を格納する。構成情報収集プログラム3110は、サーバ3000の管理情報、性能情報等を管理サーバ1000との間で送受信するためのプログラムである。業務プログラム3120は、3000が実行する業務を実現するためのプログラムであり、例えば、DBMS(Data Base Management System)やファイルシステム等である。構成変更プログラム3130は、管理サーバ1000の構成変更プログラム1190から予備だされ、サーバ3000の構成変更をおこなうためのプログラムである。
 サーバ3000は、ストレージ装置2000から提供されたボリューム2210を用いて、各種業務を実行する。図2に示す例では、各種プログラムはメモリ3100上に格納されているが、他の記憶装置(図示しない)に格納されていても良い。この場合、プロセッサ3300は、処理実行時にメモリ3100上の対象のプログラムを読みだし、読みだしたプログラムを実行する。図2に示す例では、サーバAとストレージ装置Aとは、SAN4000を介して互いに接続される。ストレージ装置2000と物理サーバ3000との間の接続は、ファイバチャネルを介して直接接続されるものに限定されず、1台以上のファイバチャネルスイッチ等のネットワーク機器を介して接続されても良い。また、ストレージ装置2000と物理サーバ3000との間の接続は、データ通信用のネットワークであれば良く、IP(Internet Protocol)ネットワークでも良い。
 図3は、実施例1に係る関連情報テーブルの一例を示す図である。関連情報テーブルには、その性能を目的情報とする管理対象オブジェクトと、それに論理的に関連づけられた管理対象オブジェクトとを示す関連情報が格納される。オブジェクトは計算機システムの構成要素である。なお、構成要素には、物理的に存在する構成要素と、論理的に定義された構成要素が含まれる。一例として、関連情報テーブル1110は、サーバ3000上で動作している業務プログラム3120から、サーバ3000が使用しているボリュームを構成する物理領域までのI/O(入出力)経路上に存在する物理/仮想の装置、デバイスを示す情報、すなわち、I/O経路に基づく装置及びデバイスの論理的な関係を示す情報を管理する。ここで、論理的な関係は、「ボリューム」と「ボリュームを構成するプール」、「ボリューム」と「ボリュームへのI/O処理を担当するプロセッサ」、「ボリューム」と「ボリュームへのI/Oを一時的に格納するキャッシュ」など、設定に基づいて格納される。
 関連情報テーブル1110には、装置ID 1111、ボリュームID 1112、プロセッサID 1113、キャッシュID 1114、プールID 1115、物理領域ID 1116のフィールドがある。
 装置ID 1111にはストレージ2000を一意に識別するための識別子が格納される。ボリュームID 1112には、ボリューム2210を一意に識別するための識別子が格納される。プロセッサID 1113には、ボリュームID 1112で示されるボリュームへの処理を担当するプロセッサ2500の識別子が格納される。キャッシュID 1114には、ボリュームID 1112で示されるボリュームへの処理がキャッシュされるディスクキャッシュ2110を一意に示す識別子が格納される。プールID 1115には、ボリューム2210が作成されているディスクプール2220を一意に識別するための識別子が格納される。物理領域ID 1116には、ディスクプールを構成する物理領域2230、例えばパリティグループやディスク等を一意に識別するための識別子が格納される。以上の各カラムのフィールドには計算機システムから収集された情報が格納される。情報の収集および格納の方法は特に限定されない。
 ここで、本実施例に係る関連情報テーブル1110は、装置ID 1111とボリュームID 1112とボリュームに係る管理対象オブジェクトとして、プロセッサ2500、ディスクキャッシュ2110、ディスクプール2220、物理領域2230の情報を含んでいるが、本発明がこれに限定されることは無い。ITシステムにおける如何なる管理対象オブジェクトであっても同様に扱うことができる。
 他の例として、業務アクセスの際に利用される管理対象オブジェクトである、サーバ3000のマウントポイントをサーバ内で一意に識別するためのドライブ、サーバ3000がボリュームID 1136によって示されるボリューム2210にアクセスする際に利用されるサーバ3000のデータI/F 3200を一意に識別するためのサーバデータI/F、などの物理、仮想含むその他の管理対象オブジェクトを識別するための識別子などが格納されても良い。
 また、スイッチのデータI/F等の情報を含んでもよく、また、業務サーバであるサーバ3000上の業務プログラム(DBMS等)の情報等を関連付けて格納してもよい。また、業務プログラムの実行する処理単位の情報等を関連付けて格納しても良く、例えば、業務プログラムにおける処理Aと、当該処理の実行に利用されるサーバ、当該サーバのCPU、メモリなどを関連付けて格納しても良い。
 図4は、実施例1に係る性能履歴情報テーブル1120の一例を示す図である。性能履歴情報テーブル1120計算機システムの運用により各管理対象オブジェクトから取得された性能の履歴が格納される。性能履歴情報テーブル1120は、管理対象オブジェクトの性能、例えばストレージ装置2000におけるボリューム2210、ディスクプール2220等に関する性能の情報を管理する。性能履歴情報テーブル1120にはエントリを追加するができる。
 性能履歴情報テーブル1120は、時刻1121、装置ID 1122、デバイスID 1123、メトリック1124、性能値1125のフィールドを含む。
 時刻1121には、情報を管理対象オブジェクトから収集した日時のデータが格納される。装置ID 1122には、装置を一意に特定する識別子(装置ID)が格納される。デバイスID 1123には、性能情報の取得対象となるデバイスを一意に特定するための識別子(デバイスID)が格納される。
 メトリック1124には、CPU使用率、記憶装置に対する単位時間(例えば1秒)あたりのI/O回数(IOPS)、リクエストに対するレスポンスの時間等の、性能情報の種類を示す情報が格納される。性能値1125には、デバイスID 1123によって示されたデバイスの、メトリック1124によって示された種類の性能情報の値が、デバイスを含む装置から取得されて格納される。
 ここで、図4に示す性能履歴情報テーブル1120では、装置ID 1122とデバイスID 1123によって示される、性能情報の取得対象のデバイスとして、ストレージのボリューム2210、プロセッサ2500、ディスクキャッシュ2110をあげたが、これらに限定されない。VM(図示しない)、ストレージのデータI/F 2600、サーバのデータI/F 3200や、スイッチやスイッチのポート(図示しない)等でもよい。
 また、図4には、メトリックの一例として、リクエストに対する応答性能、CPU使用率、キャッシュ使用率、IOPS、リクエストに対するレスポンスの時間等を示したが、これらに限定されることはない。I/Oビジー率、転送レート、スループット、データベース管理ソフトのバッファヒット率、挿入、更新、あるいは削除されたレコード数、Webサーバのレスポンスの時間、ファイルシステムあるいはディスクの空き容量あるいは利用率、入出力データ量、ネットワークインタフェースのエラー回数、バッファのオーバーフロー、及びフレームのエラー等の他の性能指標がメトリックとして用いられてもよい。
 図5A、図5B、図5Cは、実施例1に係る構成情報テーブル1130の一例を示す図である。図5A、図5Bには、後述する図10のステップ301における構成変更プログラム1190による操作実行前の状態が示されている。図5Cには、図10のステップ301における構成変更プログラム1190による操作実行後の状態が示されている。
 構成情報テーブル1130には、管理対象オブジェクトの構成情報が格納される。例えば、管理対象オブジェクトであるストレージ装置2000についての構成情報であるディスクキャッシュ2110のキャッシュサイズが格納される。また、物理領域(パリティグループ)2230のディスク構成が格納される。構成情報テーブル1130には一般的な手段によりエントリが追加される。
 構成情報テーブル1130には、装置ID 1131、デバイスID 1132、メトリック1133、値1134のフィールドが含まれている。装置ID 1131には装置を一意に特定するための識別子が格納される。デバイスID 1132には、構成情報の取得対象となるデバイスを一意に特定するための識別子が格納される。メトリック1133には、記憶容量や処理能力など構成情報の種類を示す情報が格納される。値1134には、デバイスID 1132によって示されたデバイスの、メトリック1133によって示された種類の構成情報についての値が格納される。この値はデバイスを含む装置から取得されたものである。
 ここで、図5A~図5Cに示す構成情報テーブル1130において装置ID 1131およびデバイスID 1132によって示されているデバイスが構成情報を取得する対象となる。ここでは、構成情報の取得対象のデバイスとして、ストレージ2000のディスクキャッシュ2110(Cache1)、物理領域2230(PG1、PG5)をあげたが、これらに限定されることはない。その他の管理対象オブジェクトの構成情報を保持しても良い。また、ここではメトリックの一例として、キャッシュのサイズ、パリティグループのRAIDレベル、およびディスク種別を挙げたが、これに限定されない。
 図6は、実施例1に係る予測式元情報テーブル1140の一例を示す図である。予測式元情報テーブル1140は、予測式を生成するための元になる情報を管理するためのテーブルである。予測式元情報テーブル1140には、予測したい管理対象オブジェクトおよびそのパラメータと、その予測したい管理対象オブジェクトとI/Oパス上において関連を持つ他の管理対象オブジェクトおよびそのパラメータとが管理される。予測したい管理対象オブジェクトおよびそのパラメータが予測式の目的情報となり、関連する管理対象オブジェクトおよびそのパラメータが説明情報となる。
 予測式元情報テーブル1140には、時刻情報1141、目的情報11411、および関連情報11412のフィールドが含まれる。時刻情報1141には、情報を管理対象オブジェクトから収集した日時のデータが格納される。目的情報11411には、予測したい管理対象オブジェクト識別情報と、当該管理対象オブジェクトのパラメータの値が格納される。関連情報11412には、予測したい管理対象オブジェクトとI/Oパス上において関連を持つ、他管理対象オブジェクトのパラメータの値の情報が格納される。本実施例では、目的情報11411として、装置ID 1142、ボリュームID 1143、およびボリューム応答性能1144が格納される。関連情報11412には、Processor Busy1145、Cache Usage1146、Cache Size1147、Pool Busy1148、PG数1149のフィールドが含まれている。
 装置ID 1142には、装置を一意に特定する識別子(装置ID)が格納される。ボリュームID 1143には、管理対象オブジェクトを一意に特定するための識別子が格納される。ボリューム応答性能1144には、ボリュームでのI/O要求受信から処理完了までにかかる時間情報が格納される。ここでは、目的情報11411の一例としてボリュームの応答性能を挙げ、関連情報の一例として、Processor Busy1145、Cache Usage1146等を挙げたが、これに限定されない。
 図6に示したテーブルに格納されている値および情報のうち、時刻情報1141が10:01の情報および10:02の情報は、後述する図10のステップ301における構成変更プログラム1190による操作実行前の状態を示し、時刻情報1141が15:10の情報および15:11の情報は、図10のステップ301における構成変更プログラム1190による操作実行後の状態を示す。
 図7は、実施例1に係る予測式テーブル1150の一例を示す図である。予測式テーブル1150は、予測式を表す情報を管理するためのテーブルである。予測式テーブル1150には、予測式で用いられるメトリック、及び各メトリックにかかる係数などが格納される。予測式h、具体的には、目的情報=説明情報1+説明情報2+説明情報3+説明情報4・・・と表すことができる。より具体的には、ストレージAのボリューム1の応答性能=係数1×Processor Busy+係数2×Cache Size+係数3×Pool Busy+係数4×PG数という学習により得られる関数の情報である。
 予測式テーブル1150は、目的情報11511と説明情報11512のフィールドを含む。目的情報11511には、予測したい管理対象オブジェクトの識別情報と、当該管理対象オブジェクトのパラメータの値が格納される。説明情報11512には、予測したい管理対象オブジェクトのパラメータの値を説明可能なその他管理対象オブジェクトのパラメータおよびその値の情報が格納される。本実施例には、目的情報11511として、装置ID1151、デバイスID1152、メトリック1153が管理され、説明情報11512として、Processor Busy1154、Cache Size1155、Pool Busy1156、PG数1157、及び各メトリックに対する係数を表すフィールドを含む。ここでは、目的情報11411の一例としてボリュームの応答性能を、関連情報の一例として、Processor Busy1154、Cache Size1155等を挙げたが、これに限定されない。
 また、ここでは予測式は線形関係を表す式であるものとし、予測式テーブル1150は、データに最も良くあてはまる線形関係を特定するための回帰分析の式を表すものとしたが、これに限定されない。他の例として、予測式は多項式であるものとし、予測式テーブル1150は多項式を表す情報を管理することにしても良い。
 次に、管理サーバ1000が実行する各処理について説明する。
 図8は、実施例1に係わる予測式を生成する処理のフローチャートである。予測式の生成とは、各オブジェクトにおける各種情報を学習データとして収集し、学習することで、目的とする要素とそれ以外の要素との関連について、学習データに最も良くあてはまる関数を特定することである。本予測式生成処理は、管理サーバ1000のプロセッサ1300が、メモリ1100上に展開された予測式生成プログラム1170を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。
 まず、予測式生成プログラム1170は、図3に例示した関連情報テーブル1110を参照し、予測式生成対象とする構成要素と、それに関連する構成要素とを特定する(ステップ101)。ここで、予測式生成対象の構成要素は、ユーザにより選択される、あるいは予測式生成プログラムにより自動的に選定される(例えば全てのボリューム応答性能について実行するなど)など、どのような方法によって選択され、指定されても良い。また、予測式生成プログラム1170が起動するタイミングは、定期的な実行、ユーザが指定した任意のタイミングで実行など任意である。
 ここでは具体例として、ユーザによりボリュームID“Vol1”で表されるボリュームが予測式を生成する対象として選択されたとする。この場合、予測式生成プログラム1170は、図3の関連情報テーブル1110に格納されている情報から、Vol1(Volume1)に関連する構成要素として、Processor1、Cache1、Pool1、およびPG1が特定される。
 図8に戻り、次に、予測式生成プログラム1170は、図4に例示した性能履歴情報テーブル1120を参照し、予測式を生成する対象の構成要素、及び、それに関連するものとして、ステップ101で特定した構成要素の性能履歴情報を取得する(ステップ102)。例えば、時刻10:01に取得されたVolume1の応答時間が10.2msec、Processor1の使用率(Busy%)が40%、Cache1の使用率(Usage%)が80%、Pool1の単位時間当たりのI/O回数が700IOPSで使用率(Busy%)が35%であったという性能の情報が取得される。
 次に、予測式生成プログラム1170は、図5A、図5Bに例示した構成情報テーブル1130を参照し、予測式生成対象の構成要素、およびステップ101で特定した構成要素の構成情報を取得する(ステップ103)。例えば、図5Aからは、ストレージAのCache1のサイズが8GBであるという構成情報が取得される。また、図5Bから、例えば、ストレージAの物理領域PG1のRAIDレベルがRAID5(3D+1P)である等の構成情報が取得される。
 次に、予測式生成プログラム1170は、ステップ102およびステップ103で取得した予測式生成に関連する情報を、図6に例示した予測式元情報テーブル1140に格納する(ステップ104)。図6を参照すると、Volume1の予測式元情報テーブル1140に、例えば、時刻10:01に取得された性能情報が格納されている。
 最後に、予測式生成プログラム1170は、ステップ104で生成した予測式元情報テーブル1140の情報から予測式を生成し、図7に例示した予測式テーブル1150に格納する(ステップ105)。例えば、図7の予測式テーブル1150には、(ストレージAのVolume1の応答性能)=33.76(係数1)×プロセッサ使用率+7.27(係数2)×キャッシュサイズ+5.1(係数3)×Poolの使用率+0.80(係数4)×物理領域PG数という予測式が格納されている。
 ステップ105にて予測式を生成する手法は特に限定されず、回帰分析などの一般的な手法を含め、どのような手法であってもよい。回帰分析の場合、例えば、予測式元情報テーブル1140に示された関連情報11412の全てを説明変数として設定した上で、目的情報との関連性の低い変数を説明変数から外していくなどの方法で予測式を生成すればよい。本実施例では、図6に示した予測式元情報テーブル1140に格納された関連情報のうちCache Usage1146は説明変数から外され、図7に示した予測式テーブル1150に格納された情報には含まれていない。
 図9は、実施例1に係わる学習データを取得するための設定変更内容を決定する処理のフローチャートである。本設定変更内容決定処理200は、例えば、図8に示した予測式を生成する処理の後に実施される。本処理は、管理サーバ1000のプロセッサ1300が、メモリ1100上に展開された設定変更内容決定プログラム1180を実行することによっておこなわれる。
 以下、本フローチャートの具体例を示す。
 はじめに、設定変更内容決定プログラム1180は、図7に例示した予測式テーブル1150における説明情報11512のメトリックを抽出し、メトリックごとに以下の処理を実施する。
 まず、設定変更内容決定プログラム1180は、メトリックが構成情報テーブル1130に含まれているかどうかをチェックする(ステップ201)。メトリックが構成情報テーブル1130に含まれていない場合、設定変更内容決定プログラム1180は、予測式テーブル1150における次のメトリックに対する処理に進む。メトリックが構成情報テーブル1130に含まれている場合、設定変更内容決定プログラム1180は、メトリックの取り得る範囲の情報を取得する(ステップ202)。メトリックがストレージのキャッシュサイズの場合、例えば、ハードウェアスペック上、キャッシュサイズとして取り得る値の範囲の情報を取得する。例えば、キャッシュサイズが1GB~72GBの範囲であるといった情報が取得される。また、メトリックがストレージのパリティグループの場合、RAIDレベルの範囲の情報を取得する。例えば、取り得るRAIDレベルが、RAID0(2D)、RAID1(1D+1P)、RAID5(3D+1P)であるといった情報が取得される。これらメトリックの取り得る範囲を取得する方法は特に限定されない。例えば、各メトリックの取り得る範囲の情報をあらかじめテーブル(図示しない)に格納しておき、設定変更内容決定プログラム1180が適宜そのテーブルから必要な情報を取得することにしてもよい。あるいは、設定変更内容決定プログラム1180がストレージなどのハードウェアに要求を出して取得することにしてもよい。
 次に、設定変更内容決定プログラム1180は、ステップ202で取得した範囲の中で、データの不足している定義域を探索する(ステップ203)。次に、データの不足している定義域が存在するかどうかを判定し(ステップ204)、存在しない場合、予測式テーブル1150における次のメトリックに対する処理に進む。ステップ204において不足している定義域が存在する場合、設定変更内容決定プログラム1180は、不足している定義域のデータの取得が可能となる設定変更操作のためのパラメータを生成する(ステップ205)。
 例えば、メトリックであるキャッシュサイズに着目すると、図6に示した予測式元情報テーブル1140のCache Size1147として8GB設定時以外のデータが存在しないとする。その場合、設定変更内容決定プログラム1180は、8GB以外に設定したときのデータを取得しようと試みる。例えば、設定変更内容決定プログラム1180は、キャッシュサイズを16GBに設定変更するパラメータを生成する。
 ここで、設定変更内容決定プログラム1180は、ステップ205で生成したパラメータの設定を変更した場合に、SLA(Service Level Agreement)を満たすかどうかチェックし、変更後のパラメータがSLAを満たさなくなる場合にはそのパラメータの設定範囲から除外するなどしても良い。例えば、キャッシュサイズの8GBを4GBに変更した場合に、ボリュームの性能や、そのボリュームを利用するサーバ3000上で動作している業務アプリケーションの性能として、あらかじめ定められた要件(応答時間1秒以内など)を満たさなくなる場合には、パラメータの設定を4GBへ変更することを実施しないことにしてもよい。
 次に、設定変更内容決定プログラム1180は、学習データ取得用設定変更処理を実行する(ステップ206)。ステップ206については図10を参照して詳細に説明する。
 図10は、学習データ取得用設定変更を実行する処理のフローチャートである。本学習データ取得要設定変更処理300(図9の学習データ取得要設定変更処理206)は、管理サーバ1000のプロセッサ1300が、メモリ1100上に展開された設定変更内容決定プログラム1180を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。
 まず、設定変更内容決定プログラム1180は、構成変更プログラム1190に設定変更の操作実行を要求し、実行結果を取得する(ステップ301)。次に、設定変更内容決定プログラム1180は、予測式元情報テーブル1140に新規時刻のエントリが追加されたかどうかを確認する(ステップ302)。
 新規時刻のエントリが追加されている場合、設定変更内容決定プログラム1180は、予測式元情報テーブル1140における対象定義域の取得データ数を取得し(ステップ303)、データを十分に取得できたかどうかをチェックする(ステップ304)。
 ここで、学習データが十分に取得できたかどうかの判定に、あらかじめデータ数の閾値を設定しておく、予測式テーブルに示す説明情報の個数を閾値として設定しておくなど、どのような方法にておいても良い。学習データを十分に取得できている場合には、設定変更内容決定プログラム1180は、次のステップ305へ進む。学習データを十分に取得できていない場合には、設定変更内容決定プログラム1180は、ステップ302から再び処理を実行する。
 ステップ305では、設定変更内容決定プログラム1180は、ステップ301実行前に戻す設定変更操作の実行を構成変更プログラム1190に要求し、実行結果を取得する。ステップ301、ステップ305において要求した設定変更操作が成功しなかった場合は、本処理を中断する。
 図10を実行して十分な学習データを取得した後に、図8に示した予測式生成処理100を実行することで、新しい構成において、学習データの不足が無い状態の予測式元情報テーブル1140から、高い精度の予測式を示す予測式テーブル1150を生成することができる。
 本実施例では、図9に示した設定変更内容決定処理200のステップ201~ステップ204において、構成上取り得る範囲からデータが不足している定義域を全て抽出し、その後、図10に示した学習データ取得用設定変更処理により、データが不足している定義域のデータを取得し、更にその後、図8に示した予測式生成処理100で予測式を生成している。しかし、これに限定されることはない。他の例として、データが不足している定義域を1つ抽出するごとにその定義域のデータを取得しデータが取得できたらその段階で予測式を生成するという処理を、データが不足している定義域の個数だけ繰り返すことにしてもよい。
 具体例を示す。ここではキャッシュサイズの取り得る範囲が1GBから72GBであるとする。例えば、キャッシュサイズの取り得る範囲のうちデータが不足している定義域を例えば1GB単位で抽出し、抽出した全ての定義域のデータを取得しきってから予測式を生成してもよい。あるいは他の例として、1GB単位で抽出したデータが不足している各定義域について、データを取得して予測式を生成し次の定義域に進むという処理を繰り返すことにしてもよい。
 また、本実施例では、図9に示した設定変更内容決定処理200において、予測式テーブル1150に含まれる項目のうち、構成情報テーブル1130に含まれている全ての項目に対して、データが不足している定義域を抽出した後、学習データ取得用設定変更処理206を実行している。そのため、予測式テーブル1150および構成情報テーブル1130に含まれる全ての項目についてデータを収集した後に予測式を生成することとなる。しかし、これに限定されることは無い。他の例として、予測式テーブル1150および構成情報テーブル1130に含まれる1つの項目に対して学習データ取得用設定変更処理および予測式生成処理を実行して次の項目に進むという処理を繰り返すことにしてもよい。
 以上、本実施例によれば、計算機システムが構成上取り得る範囲において不足している学習データを予め能動的に収集しておくことにより、構成変更が行われたとき早期に精度の高い予測式を得ることができ、学習時間を短縮し、構成変更後すぐに機械学習技術に基づく効率の良い管理を実施可能とする。
 例えば、関数を予兆監視に利用する場合、構成変更直後や新規構築された構成であっても、ITシステムから取得した実測値が、関数で示される関係とかけ離れている場合、ITシステムに問題が発生したと判断することが可能となる。
 また、関数を障害原因切り分けに利用する場合、構成変更直後や新規構築された構成であっても、ITシステムから取得した実測値が、関数で示される関係とかけ離れている場合、各説明情報の中で最も変動幅が大きい説明情報に問題が発生した可能性が高いとして、根本原因と判断することが可能となる。また、これにより、障害発生時に即座に根本原因特定を自動でおこなうことが可能となる。
 また、関数をWhat-if分析に利用する場合、構成変更直後や新規構築された構成であっても、試行したい値を関数に代入することによって、代入した値の状況での、関数に現れる他のメトリックの値をシミュレートすることが可能となる。
 このように、本発明により、構成変更直後や新規構築された構成であっても、障害発生、あるいは管理要件を満たせなくなるなどの未然防止や、障害発生時の迅速な障害回復といった効果を得ることが可能となる。本発明は、前述の各種クラウド形態にも適用可能であり、管理ソフトのSaaSや運用管理業務をサービスとして請け負う形態においても適用可能である。
 実施例2に係る計算機システムは基本的には実施例1のものと同様の構成を有し、同様の動作を行う。ただし、実施例2は、目的情報に関連する関連情報だけでなく、目的情報が対象とする業務と類似する特性を有する業務の計算機システムにおいて取得された情報を予測式の生成に利用する点で実施例1と異なる。
 図11は、実施例2に係る業務特性管理テーブル1800の一例を示す図である。業務特性管理テーブル1800は、業務単位の業務特性情報を管理する。
 業務特性管理テーブル1800には、業務単位18011と業務特性18012のデータが格納される。本実施例では、業務単位をボリュームに対応づけ、業務特性として、各業務についてI/O回数および各I/Oパタンの割合などI/Oに関する情報を管理している例を示している。図11を参照すると、業務特性管理テーブル1800には業務単位18011と業務特性18012のフィールドが対応づけられている。業務単位18011にはボリュームID1801が含まれている。業務特性18012には、I/O数1802、I/O増減率1803、高頻度のアクセス1804、I/Oパタン1805のフィールドが含まれている。
 ボリュームID1801には、ボリューム2210を一意に識別するための識別子が格納される。I/O数1802には、I/O数が記録される。例えば、前月のIOPSの平均値や中間値などを記録する。I/O増減率1803には、過去一定期間にIOPSがどれだけ変化したかの割合を記録する。例えば、半年間あるいは1年間において、IOPSの1か月の平均を算出し、各月の平均値の前月の平均値に対する増減率を算出する。I/Oパタン1805には、Random Read、Random Write、Sequential Read、Sequential Writeの各I/Oパタンの発生割合が記録される。その中で最も割合が高かったI/Oパタンが高頻度のアクセス1804に記録される。なお、ここでは業務単位がボリュームに対応する例を挙げたが、これに限定されない。他の例として、業務単位をVMにしてもよく、サーバ3000上の業務プログラムにしてもよく、あるいは業務プログラムの実行する処理単位の情報などにしても良い。
 図12は、実施例2に係る学習用データ共有を実行する処理のフローチャートである。本学習要データ共有処理400は、実施例1における図8の予測式生成処理100のステップ105に相当する実施例2における処理である。本処理は、管理サーバ1000のプロセッサ1300が、メモリ1100上に展開された予測式生成プログラム1170を実行することによっておこなわれる。以下、本フローチャートの具体例を示す。
 予測式生成プログラム1170は、まず、業務特性管理テーブル1800の情報を取得する(ステップ401)。次に、予測式生成プログラム1170は、予測式を生成する対象の業務と類似する類似業務で利用されている予測式生成対象の構成要素が存在するか否かをチェックする(ステップ402)。ここで、類似業務で利用しているかどうかの判定には、ステップ401で取得した業務特性管理テーブル1800の情報が利用される。類似する業務を予めグループ化しておき、同じグループに属する業務で利用されている構成要素の有無をチェックすればよい。
 グループ化の例として、高頻度アクセス情報が同一な業務を業務類似グループとしてもよい。あるいは、I/O増減率に関して、5%以上の減少率、プラスマイナス5%以内の増減率、5%以上の増加率等をそれぞれ業務類似グループとすることにしてもよい。あるいは、k平均法を用いて、業務をいくつのグループに分類しておいてもよい。あるいは、予めグループ数を入力しておきソノグループ数に適切にグループ分けすることにしてもよい。あるいは、上記グループ分けの方法を組み合わせて業務をグループ化してもよい。このようにグループ分けはどのような方法によっても良く、特に限定されない。
 図11に例示した業務特性管理テーブル1800の場合、Volume1とVolume3は高頻度アクセス1804が「RW」で同一であり、I/O増減率1803が「5%以上」で同一であり、かつI/O数1802が「10000以上」で同一である。Volume1とVolume3が同じ業務類似グループと判断されるように業務をグループ化をしておいてもよい。
 ステップ402において、類似業務で利用している構成要素が存在する場合、予測式生成プログラム1170は、類似業務で利用している各構成要素の予測式元情報テーブル1140の情報を利用して予測式を生成し、予測式テーブル1150に格納する(ステップ403)。ステップ402において、類似業務で利用している構成要素が存在しない場合、予測式生成プログラム1170は、構成要素単位で予測式元情報テーブルの情報から、予測式を生成し、予測式テーブルに格納する(ステップ404)。
 以上のように、業務の類似しているグループ間で学習データを共有することで、学習時間を短縮し、迅速に機械学習技術に基づく精度の高い効率の管理を実施可能とする。例えば、新しく環境を作成する場合に、通常であれば長期間、例えば数カ月にわたる性能情報および容量情報などの各種履歴情報を取得する必要がある。しかし、新たに作成する業務の環境に類似する環境の業務があれば、その類似業務グループのデータを活用し、短期間、例えば3日間で類似業務グループの判定をおこなうだけで、機械学習技術に基づく効率の良い管理を実施可能となる。また、図9に示した設定変更内容決定処理200のステップ203においても、類似業務グループそれぞれで取ったことのある構成に基づき、不足している定義域を探索できるため、不足しているデータの収集にかかる時間を短縮することが可能となり、機械学習技術に基づく効率の良い管理を実施可能となる。
 以上説明した各実施例による計算機システムは以下のような態様に整理することもできる。
 (態様1)
 対象システムが運用される間に前記対象システムの構成要素から学習データを取得する情報収集部と、前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、前記対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、前記対象システムの構成を変更する構成変更部と、を有し、前記設定変更内容決定部が、前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、学習データ処理装置。
 将来の対象システムの構成変更時に不足となる学習データを、予め対象システムの構成を一時的に変更して取得しておくことができるので、実際に構成が変更されたときに生じる学習データの不足が低減され、機械学習の精度が早期に向上する。これを構成の変更が比較的頻繁に行われる対象システムにおける機械学習を適用した場合、構成が変更されたときに生じる機械学習の精度低下を抑制することができる。
 (態様2)
 前記設定変更内容決定部は、前記対象システムが取り得る前記構成要素の状態の範囲のうち、学習データが所定データ量以上に取得されていない構成を抽出し、該構成に相当する設定変更を決定する、態様1に記載の学習データ処理装置。
 対象システムが取りうる構成のうち学習データが十分でない構成を一時的に設定し、学習データを収集しておくことが可能となり、対象システムの取り得る構成の学習データを網羅することができる。
 (態様3)
 前記設定変更内容決定部は、前記構成要素が前記データ不足状態となるように前記対象システムの構成を一時的に変更し、前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得して蓄積し、前記対象システムの構成が変更されたとき、前記予測式生成部は、前記構成要素が前記データ不足状態となる構成においては前記情報収集部により蓄積された学習データを用いて前記予測式を生成する、態様1に記載の学習データ処理装置。
 対象システムの構成が変更されたとき、変更後の構成での学習データを予め取得しておきその変更後の構成での学習データで予測式を生成するので、構成が変更されたとき短期間で精度の高い予測式を得ることができる。
 (請求項4)
 前記予測式は、該予測式の対象となる構成要素である対象構成要素の性能を目的情報とし、前記対象構成要素と論理的に関連づけられた1つ以上の関連構成要素の性能を説明情報とし、前記目的情報を前記説明情報の関数で示すものであり、前記情報収集部は、前記対象システムの構成要素が発揮した性能を性能履歴情報として蓄積し、前記予測式生成部は、前記性能履歴情報を前記学習データとして前記関数を算出する、態様1に記載の学習データ処理装置。
 測定して蓄積した性能履歴情報に基づいて予測式を生成するので、十分な性能履歴情報を蓄積しておくことにより、良好な予測式を生成することが可能になる。
 (態様5)
 前記目的情報がストレージにおけるボリュームの応答時間であり、前記説明情報には、前記ボリュームへのアクセスに用いられるプロセッサの使用率およびキャッシュのサイズが含まれる、態様4に記載の学習データ処理装置。
 (態様6)
 前記予測式は、前記目的情報を、前記説明情報と係数の積の和で示すものであり、前記予測式生成部は、前記性能履歴情報を前記学習データとして、前記関連構成要素毎の係数を算出する、態様4に記載の学習データ処理装置。
 予測式を説明情報と係数の積和で表わし、その係数を算出するので、目的情報と説明情報の関係を示す関数を容易に算出することができる。
 (態様7)
 前記予測式生成部は、前記対象システムに対して所定の類似条件を満たす類似システムにて取得された学習データを用いて前記予測式を生成する、態様1に記載の学習データ処理装置。
 対象システムに類似システムがある場合には類似システムの学習データを利用して予測式を生成するので、利用できる学習データを増やして構成変更後に早期の段階から精度の高い機械学習が可能となる。
 (態様8)
 前記目的情報が前記ストレージのボリュームの性能であり、前記類似条件は、前記ボリュームに対するランダムリード、ランダムライト、シーケンシャルリード、およびシーケンシャルライトを含むI/Oパタンの類似度合いで定められる、態様7に記載の学習データ処理装置。
 I/Oパタンの類似度で類似判断を行うので、I/Oパタンが類似する業務で収集された学習データを他の業務の構成変更あるいは新規構築にて利用することが可能である。
 (態様9)
 前記設定変更内容決定部は、前記キャッシュサイズの取りうる範囲のうち、十分な学習データが得られていないサイズに変更することを決定する、態様5に記載の学習データ処理装置。
 説明情報にキャッシュサイズがある場合、キャッシュサイズの取りうる範囲の学習データを予め網羅しておくことができるので、対象システムのキャッシュサイズを変更しても学習データ不足で予測式の精度を高く維持することができる。
1000…管理サーバ、1100…メモリ、1110…関連情報テーブル、1120…性能履歴情報テーブル、1121…時刻、1124…メトリック、1125…性能値、1130…構成情報テーブル、1133…メトリック、1134…値、1140…予測式元情報テーブル、1160…情報収集プログラム、1170…予測式生成プログラム、1180…設定変更内容決定プログラム、1190…構成変更プログラム、1200…通信デバイス、1300…プロセッサ、1400…出力デバイス、1500…入力デバイス、1600…記憶デバイス、1700…内部バス、1800…業務特性管理テーブル、2000…ストレージ装置、2100…メモリ、2110…ディスクキャッシュ、2120…構成性能情報収集プログラム、2130…構成変更プログラム、2200…論理ボリューム提供部、2210…ボリューム、2220…ディスクプール、2230…物理領域、
2300…ディスクI/Fコントローラ、2500…プロセッサ、2600…データI/F、2700…通信路、3000…サーバ、3100…メモリ、3110…構成情報収集プログラム、3120…業務プログラム、3130…構成変更プログラム、3300…プロセッサ、3500…通信路、4000…SAN、5000…管理用ネットワーク

Claims (10)

  1.  対象システムが運用される間に前記対象システムの構成要素から学習データを取得する情報収集部と、
     前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成する予測式生成部と、
     前記対象システムの構成を変更する設定内容を決定する設定変更内容決定部と、
     前記対象システムの構成を変更する構成変更部と、を有し、
     前記設定変更内容決定部が、前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、
     前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、
     前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、
    学習データ処理装置。
  2.  前記設定変更内容決定部は、前記対象システムが取り得る前記構成要素の状態の範囲のうち、学習データが所定データ量以上に取得されていない構成を抽出し、該構成に相当する設定変更を決定する、
    請求項1に記載の学習データ処理装置。
  3.  前記設定変更内容決定部は、前記構成要素が前記データ不足状態となるように前記対象システムの構成を一時的に変更し、
     前記構成変更部が、前記決定された設定内容に従って前記対象システムの構成を変更し、
     前記情報収集部が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得して蓄積し、
     前記対象システムの構成が変更されたとき、
     前記予測式生成部は、前記構成要素が前記データ不足状態となる構成においては前記情報収集部により蓄積された学習データを用いて前記予測式を生成する、
    請求項1に記載の学習データ処理装置。
  4.  前記予測式は、該予測式の対象となる構成要素である対象構成要素の性能を目的情報とし、前記対象構成要素と論理的に関連づけられた1つ以上の関連構成要素の性能を説明情報とし、前記目的情報を前記説明情報の関数で示すものであり、
     前記情報収集部は、前記対象システムの構成要素が発揮した性能を性能履歴情報として蓄積し、
     前記予測式生成部は、前記性能履歴情報を前記学習データとして前記関数を算出する、
    請求項1に記載の学習データ処理装置。
  5.  前記目的情報がストレージにおけるボリュームの応答時間であり、前記説明情報には、前記ボリュームへのアクセスに用いられるプロセッサの使用率およびキャッシュのサイズが含まれる、請求項4に記載の学習データ処理装置。
  6.  前記予測式は、前記目的情報を、前記説明情報と係数の積の和で示すものであり、
     前記予測式生成部は、前記性能履歴情報を前記学習データとして、前記関連構成要素毎の係数を算出する、
    請求項4に記載の学習データ処理装置。
  7.  前記予測式生成部は、前記対象システムに対して所定の類似条件を満たす類似システムにて取得された学習データを用いて前記予測式を生成する、請求項1に記載の学習データ処理装置。
  8.  前記目的情報が前記ストレージのボリュームの性能であり、
     前記類似条件は、前記ボリュームに対するランダムリード、ランダムライト、シーケンシャルリード、およびシーケンシャルライトを含むI/Oパタンの類似度合いで定められる、
    請求項7に記載の学習データ処理装置。
  9.  前記設定変更内容決定部は、前記キャッシュサイズの取りうる範囲のうち、十分な学習データが得られていないサイズに変更することを決定する、請求項5に記載の学習データ処理装置。
  10.  対象システムが運用される間に前記対象システムの構成要素から学習データを取得し、前記学習データに基づいて前記対象システムの構成要素間の関係を目的情報と説明情報の関係により表現した予測式を生成するための学習データ処理方法であって、
     前記設定変更内容決定手段が、
     前記対象システムの構成を変更する場合に取り得る前記構成要素の状態の範囲において、前記学習データが十分に取得されていない状態をデータ不足状態として抽出し、
     前記構成要素が前記データ不足状態となるように前記対象システムの構成を変更する設定内容を決定し、
     前記構成変更手段が、前記決定された設定内容に従って前記対象システムの構成を変更し、
     前記情報収集手段が、前記対象システムの前記構成要素から前記データ不足状態のときの学習データを取得する、
    学習データ処理方法。
PCT/JP2016/075883 2016-09-02 2016-09-02 学習データ処理装置および方法 WO2018042637A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/075883 WO2018042637A1 (ja) 2016-09-02 2016-09-02 学習データ処理装置および方法
JP2018536651A JP6775022B2 (ja) 2016-09-02 2016-09-02 学習データ処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/075883 WO2018042637A1 (ja) 2016-09-02 2016-09-02 学習データ処理装置および方法

Publications (1)

Publication Number Publication Date
WO2018042637A1 true WO2018042637A1 (ja) 2018-03-08

Family

ID=61300496

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/075883 WO2018042637A1 (ja) 2016-09-02 2016-09-02 学習データ処理装置および方法

Country Status (2)

Country Link
JP (1) JP6775022B2 (ja)
WO (1) WO2018042637A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026303A (ja) * 2005-07-20 2007-02-01 Fujitsu Ltd システム性能監視プログラム及びシステム性能監視方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007026303A (ja) * 2005-07-20 2007-02-01 Fujitsu Ltd システム性能監視プログラム及びシステム性能監視方法

Also Published As

Publication number Publication date
JP6775022B2 (ja) 2020-10-28
JPWO2018042637A1 (ja) 2019-06-24

Similar Documents

Publication Publication Date Title
US11645183B1 (en) User interface for correlation of virtual machine information and storage information
US10168946B2 (en) Extent migration in multi-tier storage systems
US9870330B2 (en) Methods and systems for filtering collected QOS data for predicting an expected range for future QOS data
US9411834B2 (en) Method and system for monitoring and analyzing quality of service in a storage system
US9635101B2 (en) Proposed storage system solution selection for service level objective management
US9547445B2 (en) Method and system for monitoring and analyzing quality of service in a storage system
US9658778B2 (en) Method and system for monitoring and analyzing quality of service in a metro-cluster
US9594515B2 (en) Methods and systems using observation based techniques for determining performance capacity of a resource of a networked storage environment
JP2021531557A (ja) データ・セットにとっておよびデータ・セットの移行にとって最適なストレージ環境の判定
US20190373060A1 (en) Methods and systems for managing a resource in a networked storage environment
US9542103B2 (en) Method and system for monitoring and analyzing quality of service in a storage system
US9270539B2 (en) Predicting resource provisioning times in a computing environment
US9304702B2 (en) System and method for parallelized performance data collection in a computing system
AU2021244852B2 (en) Offloading statistics collection
US10101917B1 (en) Evaluating and selecting data caching techniques
Awasthi et al. System-level characterization of datacenter applications
JP6100404B2 (ja) 計算機システムおよびその階層記憶の制御方法
WO2018042637A1 (ja) 学習データ処理装置および方法
JP6568232B2 (ja) 計算機システム、及び、装置の管理方法
WO2015145677A1 (ja) 管理計算機及びプラットフォーム改善方法
Palanivel Intelligent Block Level I/O workload characterization for a temporal and spatial locality aware workload generator
성민영 A Machine Learning-based Methodology to Detect I/O Performance Bottlenecks for Hadoop Systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16915194

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018536651

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16915194

Country of ref document: EP

Kind code of ref document: A1