WO2024171443A1 - 故障検知システム、故障検知方法および記録媒体 - Google Patents

故障検知システム、故障検知方法および記録媒体 Download PDF

Info

Publication number
WO2024171443A1
WO2024171443A1 PCT/JP2023/005777 JP2023005777W WO2024171443A1 WO 2024171443 A1 WO2024171443 A1 WO 2024171443A1 JP 2023005777 W JP2023005777 W JP 2023005777W WO 2024171443 A1 WO2024171443 A1 WO 2024171443A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage device
abnormality
performance data
degree
data
Prior art date
Application number
PCT/JP2023/005777
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/JP2023/005777 priority Critical patent/WO2024171443A1/ja
Publication of WO2024171443A1 publication Critical patent/WO2024171443A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

Definitions

  • This disclosure relates to a fault detection system, etc.
  • the stable operation of storage devices is an important element in improving the availability of an information processing system.
  • storage devices are operated in a redundant configuration using, for example, RAID (Redundant Arrays of Inexpensive Disks).
  • RAID Redundant Arrays of Inexpensive Disks
  • the failure prediction device in Patent Document 1 measures the access time of a hard disk drive using an access pattern for checking for abnormalities. If the measured access time exceeds a threshold, the failure prediction device in Patent Document 1 records the location being accessed as an abnormal location.
  • the failure prediction device in Patent Document 1 may have difficulty in accurately detecting failures in storage devices.
  • the present disclosure aims to provide a fault detection system etc. that can reduce false positives of faults in storage devices in order to solve the above problems.
  • the failure detection system disclosed herein includes a data acquisition means for acquiring performance data of the storage device, a log acquisition means for acquiring an error log relating to operational abnormalities of the storage device, a calculation means for calculating the degree of abnormality of the storage device using a calculation model for calculating the degree of abnormality of the storage device from the performance data based on the performance data acquired by the data acquisition means, a determination means for determining whether the storage device is normal based on the degree of abnormality and the error log, and an output means for outputting the result of the determination.
  • the failure detection method disclosed herein acquires performance data of a storage device, acquires an error log related to operational abnormalities of the storage device, calculates the degree of abnormality of the storage device based on the acquired performance data using a calculation model that calculates the degree of abnormality of the storage device from the performance data, and determines whether the storage device is normal based on the degree of abnormality and the error log, and outputs the result of the determination.
  • the recording medium of the present disclosure non-temporarily records a fault detection program that causes a computer to execute the following processes: acquiring performance data of a storage device; acquiring an error log related to an operational abnormality of the storage device; calculating the degree of abnormality of the storage device using a calculation model that calculates the degree of abnormality of the storage device from the performance data based on the acquired performance data; determining whether the storage device is normal based on the degree of abnormality and the error log; and outputting the result of the determination.
  • FIG. 1 illustrates an example of a configuration according to an embodiment of the present disclosure.
  • 1 is a diagram illustrating an example of a configuration of a failure detection system according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram illustrating an example of a calculation flow of an abnormality degree according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating an example of time-series data of scores according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating an example of time-series data of scores according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating an example of time-series data of scores according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram illustrating an example of a verification result of fault detection according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an example of an operation flow of the failure detection system according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of a
  • FIG. 1 is a diagram showing an overview of the configuration of an information processing system.
  • the information processing system includes a fault detection system 10 and a storage device 20.
  • the fault detection system 10 is connected to the storage device 20 via a network, for example.
  • the number of storage devices 20 may be set as appropriate.
  • RAID Redundant Arrays of Inexpensive Disks
  • the information processing system includes, for example, a RAID controller.
  • the failure detection system 10 is a system that detects failures in the storage device 20.
  • the failure detection system 10 detects, for example, signs of failure in the storage device 20.
  • the failure detection system 10 detects signs of failure based on, for example, performance data and error logs of the storage device 20.
  • Performance data is, for example, historical data relating to the write and read performance of the storage device 20.
  • Performance data is, for example, historical data relating to the write and read speed of the storage device 20.
  • Performance data is, for example, historical data relating to the time required to write and read from the storage device 20.
  • An error log is information that records errors that occur during the write and read processing of the storage device 20. Specific examples of performance data and log data will be explained later.
  • the performance data and log data are acquired, for example, by a control device of the storage device 20.
  • the performance data and log data are acquired, for example, by a RAID controller.
  • the performance data and log data are recorded when the storage device 20 is operating. For this reason, the performance data and log data are data that, for example, do not impose additional load on the storage device 20 in order to acquire them.
  • a sign of failure refers, for example, to a state in which the performance data and log data indicate that there is a high possibility of a failure occurring if the operation of the storage device 20 is continued.
  • the performance data of the storage device 20 When there is a sign of failure, the performance data of the storage device 20, for example, indicates a value different from that in normal times. When there is a sign of failure, for example, errors are recorded in the log data of the storage device 20 at a higher frequency than normal times. In such a case, the state of the storage device 20 is, for example, a state in which replacement or a change in settings is required to avoid the occurrence of a failure.
  • the fault detection system 10 detects a fault in the storage device 20, for example, based on the degree of abnormality of the storage device 20 calculated from performance data and an error log related to writing and reading of the storage device 20.
  • the degree of abnormality is, for example, an index showing the extent to which the performance data of the storage device 20 differs from a normal state. For example, the higher the value of the degree of abnormality, the greater the difference between the performance data when the degree of abnormality is calculated and the performance data in a normal state.
  • the fault detection system 10 calculates the degree of abnormality of the storage device 20, for example, based on the performance data of the storage device 20.
  • the fault detection system 10 calculates the degree of anomaly of the storage device 20, for example, using a calculation model.
  • the calculation model is, for example, a learning model that uses performance data as input to calculate the degree of anomaly. A specific example of the calculation model will be described later.
  • the fault detection system 10 calculates the degree of anomaly of each of the multiple storage devices 20.
  • the degree of anomaly is calculated, for example, based on the difference in performance data between the multiple storage devices 20.
  • the failure detection system 10 refers to the log data relating to the storage device 20 with the degree of abnormality equal to or greater than a standard.
  • the standard of the degree of abnormality is set, for example, lower than the degree of abnormality of the storage device when a failure occurs. Then, if an error is recorded in the log data a standard number of times or more, the failure detection system 10 detects that there is a sign of a failure in the storage device 20.
  • the failure detection system 10 determines that there is a sign of a failure in the storage device 20. For example, if the performance data is an error related to writing, the failure detection system 10 determines that there is a sign of a failure in the storage device 20 when a write error is recorded a standard number of times or more in the log data. Also, in order to detect a failure at the stage of a sign of a failure, the standard of the degree of abnormality and the standard of the error log are set, for example, lower than the value of the performance data and the number of errors when a failure occurs.
  • the failure detection system 10 determines whether there is a sign of a failure in the storage device 20 by a two-stage determination based on the degree of abnormality calculated from the performance data and the error log.
  • the failure detection system 10 may calculate the degree of abnormality based on the performance data and determine whether there is a sign of a failure in the storage device 20 based on the calculated degree of abnormality.
  • FIG. 2 is a diagram showing an example of the configuration of the fault detection system 10.
  • the fault detection system 10 basically includes a data acquisition unit 11, a log acquisition unit 12, a calculation unit 13, a determination unit 14, and an output unit 15.
  • the fault detection system 10 may further include a model generation unit 16 and a storage unit 17.
  • the data acquisition unit 11 acquires performance data of the storage device 20 that is the target of failure warning detection. For example, if there are multiple storage devices 20, the data acquisition unit 11 acquires performance data for each of the multiple storage devices 20.
  • the data acquisition unit 11 acquires, for example, performance data related to writing or reading of the storage device 20.
  • the data acquisition unit 11 may acquire performance data related to both writing and reading of the storage device 20.
  • the data acquisition unit 11 acquires data on at least one or more items of the average write response time (Average Write Response Time), maximum write response time (Max Write Response Time), average read response time (Average Read Response Time), and maximum read response time (Max Read Response Time) of the storage device as performance data of the storage device 20 that is the target for detecting signs of failure.
  • the unit of data for each item is, for example, microseconds.
  • the data acquisition unit 11 may acquire data on one or more items of the number of writes (Write Count), write transfer rate (Write Transfer Rate), number of reads (Read Count), read transfer rate (Read Transfer Rate), busy ratio (Busy Ratio), and busy time (Busy Time) as performance data.
  • the units of the data for the write transfer speed and read transfer speed are, for example, megabytes/second.
  • the units of the data for the busy rate are, for example, percentages.
  • the units of the data for the busy time are, for example, milliseconds.
  • the units of each piece of performance data are not limited to the above.
  • the performance data acquired by the data acquisition unit 11 is not limited to the above.
  • the data acquisition unit 11 may acquire performance data when the storage device 20 is operating normally.
  • the data acquisition unit 11 may acquire, for example, time series data of the performance data of the storage device 20 that is the target of fault detection as performance data to be used in generating the calculation model.
  • the data acquisition unit 11 may acquire, for example, performance data of the same model as the storage device 20 that is the target of abnormality detection as performance data to be used in generating the calculation model.
  • the same model may include models that can be considered to be the same. For example, when the data acquisition unit 11 acquires performance data, it stores the acquired performance data in the storage unit 17.
  • the log acquisition unit 12 acquires an error log related to an operational abnormality of the storage device 20.
  • An error log related to an operational abnormality is information that records errors related to abnormalities in the write and read operations of the storage device 20.
  • An error log related to an operational abnormality includes, for example, at least one of a log of a write error to the storage device 20 and a log of a write timeout error.
  • An error log related to an operational abnormality may include, for example, at least one of a read error from the storage device 20 and a read timeout error. However, information related to other operational abnormalities may also be recorded in the error log.
  • the error log associates, for example, the date and time of occurrence with the error that occurred.
  • a write error is, for example, an error that prevents data from being written to the storage device 20 within a set time when it is written to the storage device 20.
  • a write timeout error is, for example, an error that prevents data from being written to the storage device 20 within a set time when it is written to the storage device 20.
  • a read error is, for example, an error that prevents data from being read from the storage device 20 within a set time when it is read from the storage device 20.
  • the calculation unit 13 calculates the degree of abnormality of the storage device 20 based on the performance data acquired by the data acquisition unit 11, using a calculation model that calculates the degree of abnormality of the storage device from the performance data.
  • the calculation model for example, calculates the degree of abnormality of the storage device 20 from the performance data acquired by the data acquisition unit 11.
  • the calculation model for example, is a learning model that calculates the degree of abnormality based on the difference between the performance data acquired by the data acquisition unit 11 and the performance data under normal conditions.
  • the calculation unit 13 calculates the degree of abnormality of each of the multiple storage devices 20, for example, using a calculation model based on the performance data of each of the multiple storage devices 20.
  • the calculation unit 13 calculates the degree of anomaly using, for example, a calculation model generated by the model generation unit 16.
  • the calculation unit 13 may calculate the degree of anomaly using a calculation model that has already been generated by an external server.
  • the calculation model calculates a score indicating the difference from normal performance data for each storage device 20.
  • the normal performance data is stored, for example, in the storage unit 17.
  • the calculation model calculates the score by, for example, calculating the distance between the normal performance data and the performance data acquired by the data acquisition unit 11.
  • the calculation model is generated, for example, according to the type of storage device 20.
  • the type of storage device 20 is, for example, the difference in the storage medium used by the storage device 20, such as a hard disk drive or a solid state drive (SSD).
  • a calculation model may be generated separately, for example, when calculating the degree of abnormality of a storage device 20 with a redundant configuration and when calculating the degree of abnormality of a storage device 20 without a redundant configuration.
  • the calculation model may be generated according to at least one of the individual storage device 20, its model, and the time elapsed since the start of operation.
  • the classification for generating the generation model is not limited to the above.
  • the calculation model calculates the distance between the performance data of the storage device 20 under normal conditions and the performance data at each time acquired by the data acquisition unit 11 using the k-NN method (k-nearest neighbor algorithm).
  • the calculation model calculates the distance in feature space between the feature amount extracted from the performance data of the storage device 20 under normal conditions and the feature amount extracted from the performance data at each time acquired by the data acquisition unit 11.
  • the calculation model calculates the Euclidean distance between the performance data of the storage device 20 under normal conditions and the performance data at each time acquired by the data acquisition unit 11.
  • the distance between the performance data of the storage device 20 under normal conditions and the performance data at each time acquired by the data acquisition unit 11, calculated by the calculation model, is not limited to the Euclidean distance.
  • the calculation model is set, for example, to calculate the average distance for 10 neighbors as the score.
  • the number of neighbors for which the average distance is calculated is not limited to 10.
  • the calculation model calculates the distance in a multidimensional space according to the number of items.
  • the calculation model uses the calculated scores for each of the multiple storage devices 20 to calculate an anomaly level that indicates the degree of anomaly in the storage device 20 based on the difference in scores between the storage devices.
  • the calculation model may calculate the degree of anomaly after performing a predetermined process on the score calculated by the calculation model.
  • the predetermined process is performed, for example, to suppress the influence of sudden changes in the score value.
  • the calculation model normalizes the time series data of the score based on the score under normal conditions. For example, the calculation model normalizes the score at each time included in the time series data using the average or maximum value of the scores under normal conditions in the storage device 20.
  • the calculation model may smooth the score time series data by sequentially moving a specified time range and calculating statistics for the score time series data for each interval to which the specified time range is moved.
  • the calculation unit 13 smoothes the score time series data, for example, by moving the interval of the specified time range by one minute.
  • the unit for moving the specified time range is not limited to one minute.
  • the specified time range is set in advance according to, for example, the time interval of the score time series data.
  • the specified time range is set to, for example, 10 minutes.
  • the specified time range is not limited to 10 minutes.
  • the calculation model calculates, for example, a predetermined statistic of the time series data of the score in the predetermined time range.
  • the predetermined statistic is, for example, a maximum value.
  • the predetermined statistic may be a value other than the maximum value.
  • the calculation model replaces the score of each section in each section in which the predetermined time range is moved with the calculated predetermined statistic.
  • the calculation model smoothes the time series data by, for example, replacing the score at the first time of the time series data included in each section in the predetermined time range with the predetermined statistic.
  • the calculation unit 13 may smooth the time series data by replacing the score at the middle time of the section in the score time series data in each section in the predetermined time range with the predetermined statistic.
  • the score at which time of the score time series data in each section in the predetermined time range is replaced with the predetermined statistic is not limited to the above example.
  • the method of normalization and smoothing processing is not limited to the above example.
  • the calculation model calculates the degree of abnormality based on the difference in scores between the storage devices 20 when, for example, two storage devices 20 are used for redundancy.
  • the calculation model calculates the degree of abnormality based on the difference in scores between the storage devices 20 when, for example, RAID1 redundancy is used.
  • the configuration in which two storage devices 20 are used for redundancy is not limited to RAID1.
  • the calculation model calculates the degree of abnormality based on the difference between the score of each storage device 20 and the average score of the redundant storage devices 20 at each time. For example, in the case of RAID5, the calculation model calculates the degree of abnormality based on the difference between the score of each device and the average score.
  • the configuration in which three or more storage devices 20 are used for redundancy is not limited to RAID5.
  • FIG. 3 is a diagram showing a schematic example of a flow when the calculation unit 13 calculates the degree of abnormality of a storage device 20.
  • the calculation model calculates a score using performance data of each storage device 20 and performance data under normal conditions.
  • the calculation model normalizes the calculated score.
  • leveling process in FIG. 3, the calculation model smoothes the time series data of the score. Then, in “calculating the degree of abnormality” in FIG. 3, the calculation model calculates the degree of abnormality of the storage device 20 based on the difference in scores between the storage devices 20.
  • FIG. 4 shows an example of time series data of the scores of each storage device 20 when redundancy is provided with two storage devices 20.
  • the vertical axis of the graph in FIG. 4 indicates the score.
  • the horizontal axis of the graph in FIG. 4 indicates the time.
  • the upper and lower graphs in FIG. 4 show time series data of the scores of each of the two storage devices 20.
  • the scores of both storage devices 20 increase around time T1.
  • the two storage devices 20 are accessed at the same timing, so that under normal circumstances, the score changes around the same time.
  • the score in the upper graph increases, but the score in the lower graph does not increase. Since the trends in the score changes of the two storage devices 20 are different, it is highly likely that the two storage devices 20 are behaving differently from each other around time T2. Since the same trend of change is shown when normal, if the trends in the score change are different, it is highly likely that one of the storage devices 20 is malfunctioning. For this reason, for example, by calculating the degree of abnormality based on the difference in the scores of the two storage devices 20, it is possible to determine which storage device 20 may be malfunctioning.
  • FIG. 5 shows an example of time series data of the scores of each storage device 20 when redundancy is provided with three storage devices 20.
  • the vertical axis of the graph in FIG. 5 indicates the score.
  • the horizontal axis of the graph in FIG. 5 indicates the time.
  • the upper graph in FIG. 5 shows an example of time series data of the scores of each of the three storage devices 20 when the change in the scores is small.
  • the lower graph in FIG. 5 shows an example of time series data of the scores of each of the three storage devices 20 when the change in the scores is large.
  • Both the upper and lower graphs in FIG. 5 are examples of time series data of the scores under normal conditions.
  • a redundant configuration such as RAID5
  • data is divided and stored in each storage device 20, so as shown in the two graph examples in FIG. 5, the timing of changes in the scores of the three redundant storage devices 20 differs due to the time difference between when the data is divided and written in sequence.
  • the changes in the scores of the three redundant storage devices 20 show similar trends.
  • the score of a storage device 20 in which an abnormality has occurred shows a different trend from the other storage devices 20. Therefore, the calculation unit 13 can determine which storage device 20 may be malfunctioning by, for example, calculating the degree of abnormality based on the difference between the average score of the three storage devices 20 and the score of each storage device 20.
  • the determination unit 14 determines whether the storage device 20 is normal based on the degree of abnormality and the error log.
  • the standard for the degree of abnormality is set, for example, using the degree of abnormality calculated based on the difference between performance data when a failure occurred in the past and performance data under normal conditions. In order to detect signs of failure, the standard for the degree of abnormality is set, for example, lower than the degree of abnormality calculated based on performance data when a failure occurred in the past in order to detect signs of failure.
  • the degree of abnormality may be normalized using the maximum value of the degree of abnormality calculated based on data under normal conditions. If normalized, the determination unit 14, for example, uses the normalized degree of abnormality for each storage device 20 to determine whether the degree of abnormality is equal to or higher than a standard.
  • the determination unit 14 extracts the number of errors from the error log of the storage device 20 whose degree of abnormality is equal to or greater than the standard.
  • the number of errors is, for example, the number of errors that occurred within a set period.
  • the period for extracting the number of errors is set as a period suitable for determining whether there is a sign of failure.
  • the number of errors may be the cumulative number of errors since the storage device 20 was installed. For example, if the performance data is performance related to reading, the number of times that read errors and read time errors occurred is extracted. Then, the determination unit 14 determines that there is a sign of failure in the storage device 20 if the number of errors is equal to or greater than the standard.
  • the determination unit 14 determines that the storage device 20 is normal if the number of errors is less than the standard.
  • the standard for determining that the storage device 20 is not normal and that there is a sign of failure is set using the number of errors that are not abnormal but that maintenance work on the storage device 20 is desirable.
  • the determination unit 14 may determine the sign of failure based on the frequency of errors.
  • the determination unit 14 determines that the storage device 20 is normal if the degree of abnormality is less than the standard.
  • the judgment unit 14 judges whether the storage device 20 is normal by using the error log of the item related to writing to the storage device 20. Also, when the performance data used to calculate the degree of abnormality is performance data related to reading from the storage device 20, the judgment unit 14 judges whether the storage device 20 is normal by using the error log of the item related to reading from the storage device 20. Also, the performance data used to calculate the degree of abnormality may be both performance data related to writing and performance data related to reading. When the performance data used to calculate the degree of abnormality is both performance data related to writing and performance data related to reading, the judgment unit 14 judges whether the storage device 20 is normal by using the error log related to writing and the error log related to reading.
  • the determination unit 14 may determine whether the degree of abnormality is equal to or higher than a standard based on the degree of abnormality calculated from each of the performance data of the multiple items. For example, when the average degree of abnormality calculated from each of the performance data of the multiple items is equal to or higher than a standard, the determination unit 14 may determine whether the storage device 20 is normal based on the error log. Also, for example, when the degree of abnormality calculated from each of the performance data of the multiple items is weighted for each item and the value of the degree of abnormality calculated is equal to or higher than a standard, the determination unit 14 may determine whether the storage device 20 is normal based on the error log.
  • the weighting is performed so that the weight of an item whose value fluctuates greatly when a failure occurs in the storage device 20 is large. Also, when determining whether the storage device 20 is normal based on the error log of the multiple items, the storage device 20 may determine whether the storage device 20 is normal based on an index calculated by weighting each item.
  • the determination unit 14 may set the weight of performance data or error logs for items related to reading to be greater than that for items related to writing. For example, if an error occurs related to writing, it can be dealt with by writing to another area, but if reading is not possible, data loss can become a cause of a failure.
  • the judgment unit 14 may refer to the error log and judge whether the storage device 20 is normal based on the degree of abnormality if the number of errors is equal to or greater than a reference value. When judging whether the number of errors is equal to or greater than a reference value first, the judgment unit 14 judges whether the storage device 20 is normal based on the degree of abnormality if, for example, the number of errors in the error log is equal to or greater than a reference value. Of the two-stage judgment, judgment based on the degree of abnormality calculated from performance data and judgment based on the error log, which judgment is made first can be set as appropriate.
  • the output unit 15 outputs the judgment result by the judgment unit 14.
  • the output unit 15 outputs the judgment result as to whether the storage device 20 is normal to, for example, a server that manages the storage device 20.
  • the output unit 15 may output the judgment result to a terminal device possessed by an administrator of the storage device 20.
  • the output unit 15 may output the judgment result to a control device of the storage device 20 or a server that controls the storage device 20.
  • the output unit 15 may output the judgment result to a display device (not shown) that is connected to the failure detection system 10.
  • the output destination of the judgment result is not limited to the above examples.
  • the model generation unit 16 When generating a calculation model in the fault detection system 10, the model generation unit 16 generates a calculation model that learns normal performance data and calculates a score. For example, the model generation unit 16 generates a calculation model that learns normal performance data and calculates the degree of anomaly based on the distance between performance data. For example, the model generation unit 16 generates a calculation model that calculates the distance using the k-NN method and calculates the degree of anomaly using the distance as a score. The model generation unit 16 saves the generated calculation model and normal performance data in the memory unit 17.
  • the model generation unit 16 may, for example, learn an invariant relationship between time series data of performance data, and generate a calculation model that calculates the degree of anomaly based on a score indicating the deviation from normal times.
  • An invariant relationship between time series data refers to a relationship between time series data that does not change under normal conditions, but changes under abnormal conditions.
  • the model generation unit 16 generates, for example, a relational equation that indicates the relationship between values of performance data. Then, the model generation unit 16 calculates the degree of anomaly based on a score indicating the deviation from normal times in the relational equation that indicates the relationship between values of performance data.
  • the algorithm for generating a calculation model that calculates the degree of anomaly is not limited to the above.
  • the model generation unit 16 generates a calculation model for each type of storage device 20, for example.
  • the model generation unit 16 generates a calculation model corresponding to each of different types of storage devices 20, such as a hard disk and an SSD.
  • the model generation unit 16 generates a calculation model for each storage device 20.
  • the model generation unit 16 may generate a calculation model for each group of redundant configurations.
  • a group of redundant configurations refers to, for example, when three storage devices 20 are used for redundancy, the three storage devices 20 are grouped into one group.
  • the model generation unit 16 may generate a calculation model for each type of RAID.
  • the model generation unit 16 may also generate a calculation model for each storage device 20 of the same model.
  • the same model includes models that can be considered to be the same.
  • the classification of targets when generating a calculation model is not limited to the above.
  • the model generation unit 16 may generate a calculation model according to the time that has elapsed since the start of use of the storage device 20. For example, the model generation unit 16 may generate a calculation model for the period immediately after use begins and for the period when changes over time have occurred.
  • the storage unit 17 may store, for example, a calculation model used by the calculation unit 13 to calculate the score and performance data under normal conditions.
  • the storage unit 17 may also store performance data of the storage device 20 that is the target of fault detection acquired by the data acquisition unit 11.
  • the storage unit 17 may also store an error log of the storage device 20 that is the target of fault detection acquired by the data acquisition unit 11.
  • the storage unit 17 may also acquire the judgment result by the judgment unit 14.
  • the calculation model may also be stored in a storage means external to the fault detection system 10.
  • the storage unit 17 may also store performance data under normal conditions that the model generation unit 16 uses to generate the calculation model.
  • the storage unit 17 may also store the judgment result of whether the storage device 20 is normal, made by the judgment unit 14.
  • FIG. 6 shows an example of the results of verifying the accuracy of the results of a failure sign judgment.
  • the example results in FIG. 6 show the results of verifying the accuracy of the judgment results made by the failure detection system 10 in a RAID6 configuration.
  • the total number of times the storage device 20 was judged to be normal was 900.
  • the example results in FIG. 6 show a comparison between a case where a failure sign was judged from the degree of abnormality calculated from performance data and log data, and a case where a failure sign was judged only from the degree of abnormality calculated from performance data.
  • Periodic data + error log indicates the result when determining whether the storage device 20 is normal from the degree of abnormality calculated from the performance data and the log data.
  • Periodic data only indicates the result when determining whether the storage device 20 is normal from the degree of abnormality calculated from the performance data.
  • “Failure” indicates a storage device that was actually found to have a malfunction as a result of the analysis of the storage device.
  • “Normal (false report)” indicates a storage device that was determined to have a malfunction as a result of the analysis of the storage device, but that does not actually have a malfunction. That is, in the example results of FIG. 6, "Normal (false report)” indicates a storage device that was erroneously detected.
  • each numerical value in the table indicates the number of times the determination was made.
  • the number of times that an abnormality actually occurred was three when a judgment was made based on the degree of abnormality calculated from performance data.
  • the number of times that an abnormality actually occurred was two when a judgment was made based on the degree of abnormality calculated from performance data and log data.
  • the number of times that there was no actual abnormality and there was a false positive was 17 when a judgment was made based on the degree of abnormality calculated from performance data.
  • the number of times that there was no actual abnormality and there was a false positive was three when a judgment was made based on the degree of abnormality calculated from performance data and log data. In this way, the number of false positives is reduced when a failure detection system is used and a judgment is made based on the degree of abnormality calculated from performance data and log data.
  • the storage device 20 stores data sent from the server together with a write request.
  • the multiple storage devices 20 may be operated in a redundant configuration using RAID.
  • the storage device 20 is, for example, a hard disk drive.
  • the storage device 20 may also be an SSD.
  • the storage device 20 is not limited to the above.
  • Figure 7 is a diagram showing an example of the operation flow when the failure detection system 10 determines whether the storage device 20 is normal.
  • the data acquisition unit 11 acquires performance data of the storage device 20 (step S11).
  • the log acquisition unit 12 acquires an error log related to an operational abnormality of the storage device 20 (step S12).
  • the data acquisition unit 11 calculates the degree of abnormality of the storage device 20 based on the performance data acquired by the data acquisition unit 11 using a calculation model that calculates the degree of abnormality of the storage device from the performance data (step S13).
  • the determination unit 14 determines whether the degree of abnormality calculated by the calculation unit 13 is equal to or greater than a standard. If the degree of abnormality is equal to or greater than the standard (Yes in step S14), the determination unit 14 determines whether the storage device 20 is normal based on the error log. If the number of errors recorded in the error log is equal to or greater than a standard (Yes in step S15), the determination unit 14 determines that there are signs of a malfunction in the storage device 20 (step S16). If it is determined that there are signs of a malfunction, the output unit 15 outputs the result of the determination made by the determination unit 14 (step S17).
  • step S18 If the occurrence of errors recorded in the error log is less than the criterion in step S15 (No in step S15), it is determined that the storage device 20 is normal (step S18). If it is determined that the storage device 20 is normal, the output unit 15 outputs the result of the determination made by the determination unit 14 (step S17).
  • the determination unit 14 determines whether the storage device 20 is normal based on the error log. It determines that the storage device 20 is normal (step S18). If it is determined that the storage device 20 is normal, the output unit 15 outputs the result of the determination made by the determination unit 14 (step S17).
  • the log acquisition unit 12 may acquire an error log in step S12 before the data acquisition unit 11 acquires performance data in step S11.
  • the determination unit 14 of the failure detection system 10 may also perform the process of determining whether the number of errors that have occurred in step S15 is above a reference level before the process of determining whether the degree of abnormality in step S14 is above a reference level.
  • the determination unit 14 determines whether the storage device 20 is normal based on the degree of abnormality, for example, when the number of errors that have occurred in the error log is above a reference level. It can be set as appropriate which of the above steps of processing is performed first.
  • the fault detection system 10 acquires performance data and an error log from the storage device 20.
  • the fault detection system 10 also calculates the degree of abnormality of the storage device 20 using a calculation model based on the performance data of the storage device 20. After calculating the degree of abnormality, the fault detection system 10 extracts the number of errors from the error log if the calculated degree of abnormality is equal to or greater than a standard.
  • the fault detection system 10 determines whether the storage device 20 is normal based on the number of errors. For example, the fault detection system 10 determines that the storage device 20 is at a risk of failure if the number of errors is equal to or greater than a standard. For example, the fault detection system 10 determines that the storage device 20 is at a risk of failure if an abnormality is determined from performance data related to writing and if errors related to writing have occurred a standard number of times or more.
  • the failure detection system 10 can extract storage devices 20 whose performance may be degraded due to a malfunction. Then, by checking the presence or absence of errors related to writing or reading based on the error log of the extracted storage device 20, the failure detection system 10 can detect storage devices 20 whose performance has degraded due to a malfunction among the storage devices 20 whose performance may be degraded. Therefore, the failure detection system 10 can detect storage devices 20 that are predicting a failure while suppressing false detection.
  • FIG. 8 shows an example of the configuration of a computer 100 that executes a computer program that performs each process in the fault detection system 10.
  • the computer 100 comprises a CPU (Central Processing Unit) 101, memory 102, a storage device 103, an input/output I/F (Interface) 104, and a communication I/F 105.
  • CPU Central Processing Unit
  • the CPU 101 reads out and executes computer programs for performing each process from the storage device 103.
  • the CPU 101 may be configured by a combination of multiple CPUs.
  • the CPU 101 may also be configured by a combination of a CPU and another type of processor.
  • the CPU 101 may be configured by a combination of a CPU and a GPU (Graphics Processing Unit).
  • the memory 102 is configured by a DRAM (Dynamic Random Access Memory) or the like, and temporarily stores the computer programs executed by the CPU 101 and data being processed.
  • the storage device 103 stores the computer programs executed by the CPU 101.
  • the storage device 103 is configured by, for example, a non-volatile semiconductor storage device. Other storage devices such as a hard disk drive may be used for the storage device 103.
  • the input/output I/F 104 is an interface that accepts input from an operator and outputs display data, etc.
  • the communication I/F 105 is an interface that transmits and receives data between the storage device 20 and other information processing devices.
  • the computer programs used to execute each process can also be distributed by storing them on a recording medium that non-temporarily records data.
  • recording media examples include magnetic tapes for recording data and magnetic disks such as hard disks.
  • Optical disks such as CD-ROMs (Compact Disc Read Only Memory) can also be used as recording media.
  • Non-volatile semiconductor storage devices can also be used as recording media.
  • the determining means determines that there is a symptom of a failure in the storage device when the degree of abnormality is equal to or greater than a reference level and the number of operational abnormalities recorded in the error log is equal to or greater than a reference level.
  • the fault detection system of claim 2 comprising: [Appendix 4] the standard of the abnormality level is set lower than the abnormality level of the storage device when a failure occurs; 4.
  • [Appendix 5] the calculation model calculates the degree of abnormality based on a difference between the performance data acquired by the data acquisition means and the performance data in a normal state; 5.
  • the data acquisition means acquires performance data of each of a plurality of storage devices having a redundant configuration
  • the calculation model calculates a score indicating a difference between the performance data acquired by the data acquisition means and the performance data in a normal state for each of the plurality of storage devices, and calculates the degree of abnormality based on the difference in scores between the plurality of storage devices; 6.
  • a fault detection system according to any one of claims 1 to 5.
  • the calculation model calculates the degree of anomaly for each of the plurality of storage devices based on a difference between a statistical amount of the scores of the plurality of storage devices and the score of each of the plurality of storage devices; 7. The fault detection system of claim 6.
  • the error log is a log about at least one of a write error to the storage device, a timeout error in writing to the storage device, an error in reading from the storage device, and a timeout error in reading from the storage device; 7.
  • the performance data is data relating to at least one of a write performance to the storage device and a read performance from the storage device. 9.
  • the performance data includes at least one of an average write response time, a maximum write response time, an average read response time, and a maximum read response time; 10.
  • the failure detection system according to any one of claims 1 to 10, further comprising a generation unit that generates a calculation model that calculates an abnormality degree of the storage device from the performance data.
  • a generation unit that generates a calculation model that calculates an abnormality degree of the storage device from the performance data.
  • [Appendix 13] obtaining performance data of the storage device; Acquiring an error log regarding an operational abnormality of the storage device; A process of calculating an abnormality degree of the storage device based on the acquired performance data, using a calculation model for calculating an abnormality degree of the storage device from the performance data; a process of determining whether the storage device is normal based on the abnormality level and the error log; and a recording medium for non-temporarily recording a fault detection program for causing a computer to execute the process of outputting the result of the determination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

故障検知システムは、データ取得部と、ログ取得部と、算出部と、判定部と、出力部を備える。データ取得部は、記憶装置の性能データを取得する。ログ取得部は、記憶装置の動作異常に関するエラーログを取得する。算出部は、データ取得部が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置の異常度を算出する。判定部は、と、異常度と、エラーログに基づき、記憶装置が正常であるかを判定する。出力部は、判定の結果を出力する。

Description

故障検知システム、故障検知方法および記録媒体
 本開示は、故障検知システム等に関する。
 情報処理システムの可用性を向上する上で、記憶装置の安定稼働は、重要な要素である。可用性を向上するために、記憶装置は、例えば、RAID(Redundant Arrays of Inexpensive Disks)によって冗長化した構成で運用される。また、情報処理システムの可用性を向上するためには、記憶装置の故障の予兆を検知できることが望ましい。故障の予兆を検知することで、例えば、情報処理システムの管理者は、情報処理システムの停止につながるような故障が生じる前に、故障の予兆が検知された記憶装置の交換または調整を行うことができる。
 特許文献1の故障予測装置は、異常の確認用のアクセスパターンを用いて、ハードディスクドライブのアクセス時間を計測する。特許文献1の故障予測装置は、計測したアクセス時間が閾値を超えた場合に、アクセス対象箇所を異常箇所として記録する。
特開2019-164817号公報
 特許文献1の故障予測装置は、記憶装置の故障を精度よく検知することが難しい場合がある。
 本開示は、上記の課題を解決するため、記憶装置の故障の誤検知を抑制することができる故障検知システム等を提供することを目的とする。
 上記の課題を解決するため、本開示の故障検知システムは、記憶装置の性能データを取得するデータ取得手段と、記憶装置の動作異常に関するエラーログを取得するログ取得手段と、データ取得手段が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置の異常度を算出する算出手段と、異常度と、エラーログに基づき、記憶装置が正常であるかを判定する判定手段と、判定の結果を出力する出力手段とを備える。
 本開示の故障検知方法は、記憶装置の性能データを取得し、記憶装置の動作異常に関するエラーログを取得し、取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置の異常度を算出し、異常度と、エラーログに基づき、記憶装置が正常であるかを判定し、判定の結果を出力する。
 本開示の記録媒体は、記憶装置の性能データを取得する処理と、記憶装置の動作異常に関するエラーログを取得処理と、取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置の異常度を算出する処理と、異常度と、エラーログに基づき、記憶装置が正常であるかを判定する処理と、判定の結果を出力する処理とをコンピュータに実行させる故障検知プログラムを非一時的に記録する。
 本開示によると、処理速度の低下を生じさせずに、記憶装置の故障の誤検知を抑制することができる。
本開示の実施形態における構成の例を図である。 本開示の実施形態における故障検知システムの構成の例を示す図である。 本開示の実施形態における異常度の算出フローの例を示す図である。 本開示の実施形態におけるスコアの時系列データの例を示す図である。 本開示の実施形態におけるスコアの時系列データの例を示す図である。 本開示の実施形態における故障検知の検証結果の例を示す図である。 本開示の実施形態における故障検知システムの動作フローの例を示す図である。 本開示の実施形態における故障検知システムのハードウェア構成の例を示す図である。
 本開示の実施形態について、図を参照して詳細に説明する。図1は、情報処理システムの構成の概要を示す図である。情報処理システムは、故障検知システム10と、記憶装置20を備える。故障検知システム10は、例えば、記憶装置20とネットワークを介して接続する。記憶装置20は、複数であってもよい。記憶装置20の数は、適宜、設定され得る。記憶装置20を複数備える場合に、例えば、RAID(Redundant Arrays of Inexpensive Disks)によって冗長化した構成で運用される。RAIDによって冗長化した構成で運用される場合には、情報処理システムは、例えば、RAIDコントローラを備える。
 故障検知システム10は、記憶装置20の故障を検知するシステムである。故障検知システム10は、例えば、記憶装置20の故障の予兆を検知する。故障検知システム10は、例えば、記憶装置20の性能データとエラーログを基に故障の予兆を検知する。
 性能データは、例えば、記憶装置20の書き込みおよび読み出しの性能に関する実績データである。性能データは、例えば、記憶装置20の書き込みおよび読み出しの速度に関する実績データである。また、性能データは、例えば、記憶装置20の書き込みおよび読み出しに要する時間に関する実績データである。エラーログは、記憶装置20の書き込みおよび読み出しの処理において発生したエラーを記録した情報である。性能データとログデータの具体例は、後で説明する。
 性能データおよびログデータは、例えば、記憶装置20の制御装置によって取得される。複数の記憶装置20がRAIDによって冗長化した構成で運用される場合には、性能データおよびログデータは、例えば、RAIDコントローラによって取得される。高信頼性が要求されるシステムにおいては、記憶装置20の動作に際して、性能データおよびログデータが記録される。このため、性能データおよびログデータは、例えば、取得するために、記憶装置20に追加の負荷がかからないデータである。また、故障の予兆とは、例えば、記憶装置20の運用を続けた場合に故障が発生する可能性が高いことを性能データおよびログデータが示している状態のことをいう。故障の予兆がある場合に、記憶装置20の性能データは、例えば、正常時とは異なった値を示す。また、故障の予兆がある場合に、記憶装置20のログデータには、例えば、正常時よりも高い頻度でエラーが記録される。このような場合に、記憶装置20の状態は、例えば、故障の発生を避けるために、交換または設定の変更が必要な状態である。
 故障検知システム10は、例えば、性能データから算出する記憶装置20の異常度と、記憶装置20の書き込みおよび読み出しに関するエラーログを基に、記憶装置20の故障を検知する。異常度は、例えば、記憶装置20の性能データが正常な状態からどの程度、異なるのかを示す指標である。異常度は、例えば、値が大きいほど、異常度を算出したときの性能データと、正常な状態のときの性能データの差が大きいことを示す。故障検知システム10は、例えば、記憶装置20の性能データを基に、記憶装置20の異常度を算出する。
 故障検知システム10は、例えば、算出モデルを用いて、記憶装置20の異常度を算出する。算出モデルは、例えば、性能データを入力として、異常度を算出する学習モデルである。算出モデルの具体例については、後で説明する。複数の記憶装置20がある場合に、故障検知システム10は、複数の記憶装置20それぞれの異常度を算出する。また、情報処理システムが冗長構成の複数の記憶装置20を備える場合に、異常度は、例えば、複数の記憶装置20間の性能データの差を基に算出する。
 記憶装置20の性能データを基に算出した異常度が基準以上の場合に、故障検知システム10は、異常度が基準以上の記憶装置20に関するログデータを参照する。異常度の基準は、例えば、故障が生じたときの記憶装置の異常度よりも低く設定される。そして、ログデータにエラーが基準回数以上、記録されている場合に、故障検知システム10は、記憶装置20に故障の予兆があることを検知する。故障検知システム10は、例えば、異常度の算出に用いた性能データに対応する項目のログデータに基準回数以上のエラーが記録されている場合に、故障検知システム10は、記憶装置20に故障の予兆があると判定する。例えば、性能データが書き込みに関するエラーである場合に、故障検知システム10は、ログデータに、基準回数以上の書き込みエラーが記録されている場合に、記憶装置20に故障の予兆があると判定する。また、故障を予兆の段階で検出するために、異常度の基準およびエラーログの基準は、例えば、故障が発生したときの性能データの値およびエラーの発生回数よりも低く設定される。このように、故障検知システム10は、性能データから算出する異常度による判定と、エラーログによる判定の2段階の判定によって、記憶装置20の故障の予兆の有無を判定する。故障検知システム10は、ログデータにエラーが基準回数以上、記録されている場合に、性能データを基に異常度を算出して、算出した異常度を基に、記憶装置20の故障の予兆の有無を判定してもよい。
 ここで、故障検知システム10の構成について説明する。図2は、故障検知システム10の構成の例を示す図である。故障検知システム10は、基本構成として、データ取得部11と、ログ取得部12と、算出部13と、判定部14と、出力部15を備える。故障検知システム10は、モデル生成部16と、記憶部17をさらに備えていてもよい。
 データ取得部11は、故障の予兆の検知対象の記憶装置20の性能データを取得する。例えば、記憶装置20が複数ある場合には、データ取得部11は、複数の記憶装置20それぞれの性能データを取得する。
 データ取得部11は、例えば、記憶装置20の書き込みまたは読み出しに関する性能データを取得する。データ取得部11は、記憶装置20の書き込みおよび読み出しの両方に関する性能データを取得してもよい。データ取得部11は、例えば、故障の予兆の検知対象の記憶装置20の性能データとして、記憶装置の平均書き込み応答時間(Average Write Response Time)と、最大書き込み応答時間(Max Write Response Time)と、平均読み出し応答時間(Average Read Response Time)と、最大読み出し応答時間(Max Read Response Time)のうち、少なくとも1つ以上の項目のデータを取得する。各項目のデータの単位は、例えば、マイクロ秒である。また、データ取得部11は、性能データとして、書き込み数(Write Count)と、書き込み転送速度(Write Transfer Rate)と、読み出し数(Read Count)と、読み出し転送速度(Read Transfer Rate)と、ビジー率(Busy Ratio)と、ビジー時間(Busy Time)のうち1つまたは複数の項目のデータを取得してもよい。書き込み転送速度、読み出し転送速度のデータの単位は、例えば、メガバイト/秒である。ビジー率のデータの単位は、例えば、パーセントである。ビジー時間のデータの単位は、例えば、ミリ秒である。性能データそれぞれの単位は、上記に限られない。また、データ取得部11が取得する性能データは、上記に限られない。
 算出モデルの生成を行う場合に、データ取得部11は、記憶装置20が正常に動作している場合の性能データを取得してもよい。データ取得部11は、例えば、算出モデルの生成に用いる性能データとして、故障の検知対象の記憶装置20の性能データの時系列データを取得する。データ取得部11は、算出モデルの生成に用いる性能データとして、異常の検知対象の記憶装置20と同一機種の性能データを取得してもよい。同一機種には、同一とみなせる機種も含まれてもよい。データ取得部11は、例えば、性能データを取得した場合に、記憶部17に、取得した性能データを保存する。
 ログ取得部12は、記憶装置20の動作異常に関するエラーログを取得する。動作異常に関するエラーログは、記憶装置20の書き込みおよび読み出し動作の異常に関するエラーを記録した情報である。動作異常に関するエラーログは、例えば、記憶装置20への書き込みエラーのログおよび書き込みのタイムアウトエラーのログのうち少なくとも一方を含む。動作異常に関するエラーログは、例えば、記憶装置20からの読み出しエラーおよび読み出しのタイムアウトエラーのうち少なくとも一方を含んでいてもよい。ただし、エラーログには、これ以外の動作異常に関する情報が記録されてもよい。
 エラーログは、例えば、発生日時と、発生したエラーが関連付けられている。書き込みエラーは、例えば、記憶装置20に、データの書き込み行ったときに書き込みを行うことができないエラーである。書き込みタイムアウトエラーは、例えば、記憶装置20に、データの書き込み行ったときに設定時間内に書き込みを行うことができないエラーである。また、読み出しエラーは、例えば、記憶装置20から、データの読み出しを行ったときに読み出しを行うことができないエラーである。読み出しタイムアウトエラーは、例えば、記憶装置20から、データの読み出しを行ったときに設定時間内に書き込みを行うことができないエラーである。エラーログに記録される書き込みおよび読み出しのエラーが発生した場合には、例えば、誤り訂正または他の領域への書き込みが行われる。このように、故障検知システム10が用いるエラーログは、例えば、1回の発生では記憶装置20の停止にはつながらないが、回数が多い場合には、記憶装置20の故障が疑われる項目に関するエラーを記録した情報である。
 算出部13は、データ取得部11が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置20の異常度を算出する。算出モデルは、例えば、データ取得部11が取得した性能データから記憶装置20の異常度を算出する。算出モデルは、例えば、データ取得部11が取得する性能データと、正常時の性能データとの差を基に異常度を算出する学習モデルである。また、複数の記憶装置20がある場合には、算出部13は、例えば、複数の記憶装置20それぞれの性能データ基づき、算出モデルを用いて、複数の記憶装置20それぞれの異常度を算出する。
 算出部13は、例えば、モデル生成部16が生成した算出モデルを用いて異常度を算出する。算出部13は、外部のサーバで生成済みの算出モデルを用いて異常度を算出してもよい。
 複数の記憶装置20が冗長構成である場合を例に、算出モデルを用いて異常度を算出する処理の例を説明する。算出モデルを用いて異常度を算出する処理は、以下で説明する処理によるものに限られない。
 算出モデルは、例えば、記憶装置20ごとに、正常時の性能データとの差を示すスコアを算出する。正常時の性能データは、例えば、記憶部17に保存されている。算出モデルは、例えば、正常時の性能データと、データ取得部11が取得した性能データ間の距離を算出することでスコアを算出する。
 算出モデルは、例えば、記憶装置20の種類に応じて生成されている。記憶装置20の種類は、例えば、ハードディスクドライブまたはSSD(Solid State Drive)のように記憶装置20が用いている記憶媒体の違いである。また、算出モデルは、例えば、冗長構成の記憶装置20の異常度を算出する場合と、冗長構成ではない記憶装置20の異常度を算出する場合で、それぞれ別に生成されていてもよい。また、算出モデルは、記憶装置20の個体、機種および運用開始からの経過時間の少なくとも1つに応じて生成されていてもよい。生成モデルを生成する区分は、上記に限られない。
 算出モデルは、例えば、正常時の記憶装置20の性能データと、データ取得部11が取得した各時刻の性能データとの距離をk-NN法(k-nearest neighbor algorithm)を用いて算出する。算出モデルは、例えば、正常時の記憶装置20の性能データから抽出する特徴量と、データ取得部11が取得した各時刻の性能データから抽出する特徴量との間の、特徴空間における距離を算出する。算出モデルは、例えば、正常時の記憶装置20の性能データと、データ取得部11が取得した各時刻における性能データとのユークリッド距離を算出する。算出モデルによって算出される、正常時の記憶装置20の性能データと、データ取得部11が取得した各時刻における性能データとの距離は、ユークリッド距離に限られない。算出モデルは、例えば、近傍数10個に対する平均距離をスコアとして算出するように設定される。平均距離を算出する近傍数は、10個に限られない。算出モデルは、性能データの項目が複数の場合に、項目の数に応じた多次元の空間における距離を算出する。そして、算出モデルは、算出した複数の記憶装置20それぞれのスコアを用いて、記憶装置間のスコアの差に基づき、記憶装置20の異常の度合いを示す異常度を算出する。
 算出モデルは、算出モデルが算出したスコアに所定の処理を施した後に、異常度を算出してもよい。所定の処理は、例えば、スコアの値の突発的な変化の影響を抑制するために行われる。算出モデルは、例えば、所定の処理として、スコアの時系列データを、正常時のスコアを基に正規化する。算出モデルは、例えば、時系列データに含まれる各時刻のスコアを、記憶装置20の正常時のスコアの平均値または最大値を用いて正規化する。
 所定の処理の例として、算出モデルは、スコアの時系列データに対して、所定の時間範囲を順次動かしながら、所定の時間範囲を動かしたそれぞれ区間において、スコアの時系列データに対する統計量を算出することで平滑化してもよい。算出部13は、例えば、所定の時間範囲の区間を、1分ごとに移動させることで、スコアの時系列データを平滑化する。所定の時間範囲を移動させる単位は、1分に限られない。また、所定の時間範囲は、例えば、スコアの時系列データの時間間隔に応じてあらかじめ設定されている。所定の時間範囲は、例えば、10分間として設定される。所定の時間範囲は、10分間に限られない。
 また、所定の処理の例として、算出モデルは、例えば、所定の時間範囲のスコアの時系列データの所定の統計量を算出する。所定の統計量は、例えば、最大値である。所定の統計量は、最大値以外であってもよい。算出モデルは、所定の時間範囲を動かした各区間それぞれにおいて、各区間のスコアを、算出した所定の統計量に置き換える。算出モデルは、例えば、所定の時間範囲の各区間に含まれる時系列データのうち最初の時刻のスコアを所定の統計量に置き換えることで時系列データを平滑化する。算出部13は、所定の時間範囲の各区間において、スコアの時系列データのうち、区間の中央の時刻のスコアを所定の統計量に置き換えることで時系列データを平滑化してもよい。所定の時間範囲の各区間のスコアの時系列データのうちいずれの時刻のスコアを所定の統計量に置き換えるかは、上記の例に限られない。また、正規化および平滑化の処理の方法は、上記の例に限られない。
 算出モデルは、例えば、記憶装置20が2台で冗長化されている場合に、記憶装置20間のスコアの差に基づき、異常度を算出する。算出モデルは、例えばRAID1の冗長化が行われている場合に、記憶装置20間のスコアの差に基づき、異常度を算出する。記憶装置20が2台で冗長化されている構成は、RAID1に限られない。
 算出モデルは、例えば、記憶装置20が3台以上で冗長化されている場合に、記憶装置20それぞれのスコアと、各時刻における、冗長化されている記憶装置20のスコアの平均値との差を基に異常度を算出する。算出モデルは、例えば、RAID5の場合に、各装置のスコアと、平均値との差を基に異常度を算出する。記憶装置20が3台以上で冗長化されている構成は、RAID5に限られない。
 図3は、算出部13が記憶装置20の異常度を算出する際のフローの例を模式的に示す図である。図3の「スコア算出」において、算出モデルは、記憶装置20それぞれの性能データと、正常時の性能データと用いてスコアを算出する。図3の「正規化」において、算出モデルは、算出したスコアを、正規化する。また、図3の「平準化処理」において、算出モデルは、スコアの時系列データを平滑化する。そして、図3の「異常度を算出」において、算出モデルは、記憶装置20間のスコアの差を基に、記憶装置20の異常度を算出する。
 図4は、2台の記憶装置20で冗長化されている場合における、記憶装置20それぞれのスコアの時系列データの例を示す。図4のグラフの縦軸は、スコアを示している。図4のグラフの横軸は、時刻を示している。図4の上段のグラフと、下段のグラフは、2台の記憶装置20それぞれのスコアの時系列データを示している。
 図4の例において、時刻T1付近では、2台の記憶装置20ともにスコアが上昇している。2台の記憶装置20で冗長化されている場合に、2台の記憶装置20に対して、同じタイミングでアクセスが行われるため、正常時は、同じ時刻付近でスコアの変化が生じる。一方、時刻T2付近では、上段のグラフのスコアは上昇しているが、下段のグラフのスコアは、上昇していない。2台の記憶装置20のスコアの変化の傾向が異なるため、時刻T2付近では、2台の記憶装置20は、互いに異なる動きをしている可能性が高い。正常ならば同一の変化の傾向を示すため、スコアの変化の傾向が異なる場合には、いずれかの記憶装置20に故障が生じている可能性が高い。このため、例えば、2台の記憶装置20のスコアの差を基に異常度を算出することで、故障が生じている可能性がある記憶装置20を判定することができる。
 図5は、3台の記憶装置20で冗長化されている場合における、それぞれの記憶装置20のスコアの時系列データの例を示す。図5のグラフの縦軸は、スコアを示している。図5のグラフの横軸は、時刻を示している。図5の上段のグラフは、スコアの変化が小さい場合における、3台の記憶装置20それぞれのスコアの時系列データの例を示す図である。図5の下段のグラフは、スコアの変化が大きい場合における、3台の記憶装置20それぞれのスコアの時系列データの例を示す図である。図5の上段のグラフと下段のグラフは、ともに正常時のスコアの時系列データの例である。
 RAID5のような冗長構成では、記憶装置20それぞれに分割してデータを保存するため、図5の2つのグラフの例に示すように、冗長化された3台の記憶装置20のスコアの変化は、データを分割して順に書き込む時間差の分、変化するタイミングが異なる。しかし、図5の2つのグラフの例に示すように、広い時間スケールで見ると、冗長化された3台の記憶装置20のスコアの変化は、同様の傾向を示す。一方、異常が生じた記憶装置20のスコアは、他の記憶装置20と異なる傾向を示す。そのため、算出部13は、例えば、3台の記憶装置20のスコアの平均値と、記憶装置20それぞれのスコアとの差を基に異常度を算出することで、故障が生じている可能性がある記憶装置20を判定することができる。
 判定部14は、異常度と、エラーログに基づき、記憶装置20が正常であるかを判定する。判定部14は、例えば、記憶装置20の異常度が基準以上かを判定する。異常度の基準は、例えば、過去に故障が発生したときの性能データと正常時の性能データとの差を基に算出した異常度を用いて設定される。故障の予兆を検出するため、異常度の基準は、例えば、故障の予兆を検出するために、過去に故障が発生した際の性能データを基に算出した異常度よりも低く設定される。異常度は、正常時のデータを基に算出した異常度の最大値を用いて、正規化されてもよい。正規化されている場合に、判定部14は、例えば、記憶装置20ごとに正規化した異常度を用いて、異常度が基準以上かを判定する。
 異常度が基準以上の場合に、判定部14は、異常度が基準以上の記憶装置20のエラーログからエラーの発生回数を抽出する。発生回数は、例えば、設定された期間内のエラーの発生回数である。発生回数を抽出する期間は、故障の予兆の判定に適した期間として設定される。発生回数は、記憶装置20が取り付けられてからの積算回数であってもよい。例えば、性能データが読み取りに関する性能である場合に、読み取りエラーおよび読み取りタイムエラーの発生回数を抽出する。そして、判定部14は、エラーの発生回数が基準以上である場合に、記憶装置20に故障の予兆があると判定する。また、判定部14は、エラーの発生回数が基準未満である場合に、記憶装置20は正常であると判定する。記憶装置20は正常ではなく、故障の予兆があると判定する基準は、異常ではないが記憶装置20の保守作業が望ましい発生回数を用いて設定される。判定部14は、故障の予兆をエラーの発生頻度を基に判定してもよい。また、判定部14は、異常度が基準未満の場合には、記憶装置20は正常であると判定する。
 判定部14は、例えば、異常度の算出に用いた性能データが記憶装置20への書き込みに関する性能データである場合に、記憶装置20への書き込みに関する項目のエラーログを用いて、記憶装置20が正常であるかを判定する。また、判定部14は、例えば、異常度の算出に用いられた性能データが記憶装置20からの読み出しに関する性能データである場合に、記憶装置20からの読み出しに関する項目のエラーログを用いて、記憶装置20が正常であるかを判定する。また、異常度の算出に用いられた性能データは、書き込みに関する性能データと、読み出しに関する性能データの両方であってもよい。異常度の算出に用いられた性能データが、書き込みに関する性能データと、読み出しに関する性能データの両方である場合に、判定部14は、書き込みに関するエラーログと、読み出しに関するエラーログを用いて記憶装置20が正常であるかを判定する。
 判定部14は、複数の項目の性能データそれぞれから算出された異常度を基に、異常度が基準以上かを判定してもよい。判定部14は、例えば、複数の項目の性能データそれぞれから算出された異常度の平均が基準以上の場合に、エラーログを基に、記憶装置20が正常であるかを判定する。また、判定部14は、例えば、複数の項目の性能データそれぞれから算出された異常度に、項目ごとに重み付けを行って算出した異常度の値が基準以上の場合に、エラーログを基に、記憶装置20が正常であるかを判定してもよい。例えば、重みづけは、記憶装置20に故障が生じたときに値の変動が大きい項目の重みが大きくなるように行われる。また、複数の項目のエラーログを基に、記憶装置20が正常であるかを判定するときに、記憶装置20は、項目ごとに重み付けを行って算出する指標を基に、記憶装置20が正常であるかを判定してもよい。
 また、重み付けを行う場合に、判定部14は、読み出しに関する項目の性能データまたはエラーログの重みを、書き込みに関する項目よりも大きく設定してもよい。例えば、書き込みに関するエラーが発生した場合は、他の領域に書き込みを行うことで対応できるが、読み出しが出来ない場合には、データの欠損によって障害の発生の要因となり得るからである。
 判定部14は、エラーログを参照して、エラーの回数が基準以上の場合に、異常度を基に、記憶装置20が正常であるかを判定してもよい。エラーの発生回数が基準以上であるかの判定を先に行う場合には、判定部14は、例えば、エラーログにおいてエラーの発生回数が基準以上である場合に、異常度に基づいて、記憶装置20が正常であるかを判定する。性能データから算出した異常度を基に判定と、エラーログを基にした判定の2段階の判定のうち、いずれの判定を先に行うかは、適宜、設定し得る。
 出力部15は、判定部14による判定結果を出力する。出力部15は、例えば、記憶装置20を管理するサーバに、記憶装置20が正常であるかの判定結果を出力する。出力部15は、記憶装置20の管理者が所持する端末装置に、判定結果を出力してもよい。出力部15は、記憶装置20の制御装置または記憶装置20を制御するサーバに判定結果を出力してもよい。出力部15は、故障検知システム10に接続されている図示しない表示装置に、判定結果を出力してもよい。判定結果の出力先は、上記の例に限られない。
 モデル生成部16は、故障検知システム10において算出モデルを生成する場合に、正常時の性能データを学習し、スコアを算出する算出モデルを生成する。モデル生成部16は、例えば、正常時の性能データを学習し、性能データ間の距離を基に異常度を算出する算出モデルを生成する。モデル生成部16は、例えば、k-NN法によって距離を算出し、距離をスコアとして異常度を算出する算出モデルを生成する。モデル生成部16は、記憶部17に、生成した算出モデルと、正常時の性能データを保存する。
 モデル生成部16は、例えば、性能データの時系列データについての不変の関係を学習し、正常時からのずれを示すスコアを基に異常度を算出する算出モデルを生成してもよい。時系列データについての不変の関係は、例えば、正常時には変化しないが、異常時には変化が生じる時系列データ間の関係のことをいう。モデル生成部16は、例えば、性能データの間の値の関係を示す関係式を生成する。そして、モデル生成部16は、性能データの間の値の関係を示す関係式における正常時からのずれを示すスコアを基に、異常度を算出する。異常度を算出する算出モデルを生成するアルゴリズムは、上記に限られない。
 モデル生成部16は、例えば、記憶装置20の種類ごとに算出モデルを生成する。モデル生成部16は、例えば、ハードディスクとSSDのように、種類が異なる記憶装置20それぞれに対応する算出モデルを生成する。モデル生成部16は、記憶装置20ごとに算出モデルを生成する。モデル生成部16は、冗長構成のグループごとに算出モデルを生成してもよい。冗長構成のグループとは、例えば、3台の記憶装置20で冗長化されているときに、3台の記憶装置20を1つのグループとすることをいう。モデル生成部16は、RAIDのタイプごとに算出モデルを生成してもよい。また、モデル生成部16は、同一機種の記憶装置20ごとに算出モデルを生成してもよい。同一機種には、同一とみなせる機種も含まれる。算出モデルを生成する際の対象の区分は、上記に限られない。
 モデル生成部16は、記憶装置20の使用開始からの経過時間に応じた算出モデルを生成してもよい。例えば、モデル生成部16は、使用開始直後の時期と、経年変化が生じた時期用の算出モデルを生成してもよい。
 記憶部17は、例えば、算出部13がスコアの算出に用いる算出モデルと、正常時の性能データを保存する。また、記憶部17は、データ取得部11が取得する、故障の検知対象の記憶装置20の性能データを保存してもよい。記憶部17は、データ取得部11が取得する、故障の検知対象の記憶装置20のエラーログを保存してもよい。記憶部17は、判定部14による判定結果を取得してもよい。また、算出モデルは、故障検知システム10の外部の記憶手段に保存されていてもよい。また、記憶部17は、モデル生成部16が算出モデルの生成に用いる、正常時の性能データを保存してもよい。記憶部17は、判定部14による記憶装置20が正常であるかの判定結果を保存してもよい。
 図6は、故障の予兆の判定結果の正誤を検証した結果の例を示す図である。図6の結果の例は、RAID6の構成において、故障検知システム10による判定結果の正誤を検証した結果を示す。図6の結果の例において、記憶装置20が正常であるかを判定した総回数は、900回である。図6の結果の例は、性能データから算出した異常度およびログデータから故障の予兆を判定した場合と、性能データから算出した異常度のみから故障の予兆を判定した場合の比較結果を示している。
 図6の結果の例において、「性能データ+エラーログ」は、性能データから算出した異常度およびログデータから記憶装置20が正常であるかを判定した場合の結果を示す。また、図6の結果の例において、「性能データのみ」は、性能データから算出した異常度から記憶装置20が正常であるかを判定した場合の結果を示す。また、図6の結果の例において、「故障」は、記憶装置の解析の結果、実際に不具合が生じていた記憶装置を示す。図6の結果の例において、「正常(誤報)」は、記憶装置の解析の結果、故障と判定されたが、実際の不具合が生じていない記憶装置を示す。すなわち、図6の結果の例において、「正常(誤報)」は、誤検知された記憶装置を示す。図6の結果の例において、表中の数値それぞれは、判定された回数を示す。
 図6の結果の例では、性能データから算出した異常度を基に判定した場合に実際に異常があった回数は、3回である。そして、図6の結果の例では、性能データから算出した異常度とログデータを基に判定した場合に実際に異常があった回数は、2回である。また、図6の結果の例では、性能データから算出した異常度を基に判定した場合に、実際に異常はなく誤検出であった回数は、17回である。一方で、図6の結果の例では、性能データから算出した異常度とログデータを基に判定した場合に、実際に異常はなく誤検出であった回数は、3回である。このように、故障検知システムを用いて、性能データから算出した異常度およびログデータを基に判定した場合に、誤検出の回数が抑制されている。
 記憶装置20は、例えば、書き込み要求とともにサーバから送られてきたデータを保存する。記憶装置20は、例えば、サーバから送られてくる読み出し要求で指定されているデータを読み出し、読み出したデータをサーバに出力する。記憶装置20が複数の場合に、複数の記憶装置20は、RAIDによる冗長構成となるように運用されていてもよい。記憶装置20は、例えば、ハードディスクドライブである。記憶装置20は、SSDであってもよい。記憶装置20は上記に限られない。
 故障検知システム10において記憶装置20が正常であるかを判定する際の動作について説明する。図7は、故障検知システム10において記憶装置20が正常であるかを判定する際の動作フローの例を示す図である。
 データ取得部11は、記憶装置20の性能データを取得する(ステップS11)。また、ログ取得部12は、記憶装置20の動作異常に関するエラーログを取得する(ステップS12)。
 性能データと、エラーログが取得されると、データ取得部11が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、記憶装置20の異常度を算出する(ステップS13)。
 異常度が算出されると、判定部14は、算出部13が算出した異常度が基準以上であるかを判定する。異常度が基準以上の場合に(ステップS14でYes)、判定部14は、エラーログに基づき、記憶装置20が正常であるかを判定する。エラーログに記録されているエラーの発生回数が基準以上の場合に(ステップS15でYes)、判定部14は、記憶装置20に故障の予兆があると判定する(ステップS16)。故障の予兆があると判定されると、出力部15は、判定部14による判定の結果を出力する(ステップS17)。
 ステップS15で、エラーログに記録されているエラーの発生が基準未満の場合に、(ステップS15でNo)、記憶装置20が正常であると判定する(ステップS18)。記憶装置20が正常であると判定されると、出力部15は、判定部14による判定の結果を出力する(ステップS17)。
 また、ステップS14で異常度が基準未満の場合に(ステップS14でNo)、判定部14は、エラーログに基づき、記憶装置20が正常であるかと判定する。記憶装置20が正常であると判定する(ステップS18)。記憶装置20が正常であると判定されると、出力部15は、判定部14による判定の結果を出力する(ステップS17)。
 故障検知システム10は、ステップS11におけるデータ取得部11が性能データを取得する処理よりも、ステップS12におけるログ取得部12がエラーログを取得する処理を先に行ってもよい。また故障検知システム10の判定部14は、ステップS14における異常度が基準以上かを判定する処理よりも、ステップS15におけるエラーの発生回数が基準以上であるかを判定する処理を先に行ってもよい。エラーの発生回数が基準以上であるかを判定する処理を先に行う場合には、判定部14は、例えば、エラーログにおいてエラーの発生回数が基準以上である場合に、異常度に基づいて、記憶装置20が正常であるかを判定する。上記の各ステップの処理のうちいずれを先に行うかは、適宜、設定され得る。
 故障検知システム10は、記憶装置20から性能データとエラーログを取得する。また、故障検知システム10は、記憶装置20の性能データを基に、算出モデルを用いて、記憶装置20の異常度を算出する。異常度を算出すると、故障検知システム10は、算出した異常度が基準以上の場合に、エラーログからエラーの発生回数を抽出する。そして、故障検知システム10は、エラーの発生回数を基に、記憶装置20が正常であるかを判定する。故障検知システム10は、例えば、エラーの発生回数が基準以上の場合に、記憶装置20に故障の予兆があると判定する。例えば、故障検知システム10は、書き込みに関する性能データから異常が判定された場合に、書き込みに関するエラーが基準回数以上、発生している場合に、記憶装置20に故障の予兆があると判定する。
 このように、記憶装置20の性能データを正常時と差を示す異常度を基に、性能データが正常時とは異なっていることを判定することで、故障検知システム10は、不具合によって性能が低下している可能性がある記憶装置20を抽出することができる。そして、抽出した記憶装置20のエラーログを基に、書き込みまたは読み出しに関するエラーの有無を確認することで、故障検知システム10は、性能が低下している可能性のある記憶装置20のうち、不具合によって性能が低下している記憶装置20を検知することができる。このため、故障検知システム10は、故障の予兆のある記憶装置20を、誤検知を抑制して検知することができる。
 記憶装置20の性能データおよびログデータの取得は、データの書き込みおよびデータの読み出しの処理の負荷に対して、さらなる負荷を記憶装置20加えるものではない。このため、性能データから算出した異常度と、ログデータを基に、記憶装置が正常であるかを判定することで、稼働中の記憶装置20に処理速度の低下は生じない。また、性能データから算出した異常度と、ログデータを基に、記憶装置20が正常であるかを判定することで、故障の誤検知を抑制することができる。このため、故障検知システム10は、処理速度の低下を生じさせず、記憶装置20の故障の誤検知を抑制することができる。
 故障検知システム10おける各処理は、コンピュータプログラムをコンピュータで実行することによって実現することができる。図8は、故障検知システム10における各処理を行うコンピュータプログラムを実行するコンピュータ100の構成の例を示したものである。コンピュータ100は、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103と、入出力I/F(Interface)104と、通信I/F105を備える。
 CPU101は、記憶装置103から各処理を行うコンピュータプログラムを読み出して実行する。CPU101は、複数のCPUの組み合わせによって構成されていてもよい。また、CPU101は、CPUと他の種類のプロセッサの組み合わせによって構成されていてもよい。例えば、CPU101は、CPUとGPU(Graphics Processing Unit)の組み合わせによって構成されていてもよい。メモリ102は、DRAM(Dynamic Random Access Memory)等によって構成され、CPU101が実行するコンピュータプログラムや処理中のデータが一時記憶される。記憶装置103は、CPU101が実行するコンピュータプログラムを記憶している。記憶装置103は、例えば、不揮発性の半導体記憶装置によって構成されている。記憶装置103には、ハードディスクドライブ等の他の記憶装置が用いられてもよい。入出力I/F104は、作業者からの入力の受付および表示データ等の出力を行うインタフェースである。通信I/F105は、記憶装置20および他の情報処理装置との間でデータの送受信を行うインタフェースである。
 各処理の実行に用いられるコンピュータプログラムは、データを非一時的に記録する記録媒体に格納して頒布することもできる。記録媒体としては、例えば、データ記録用磁気テープや、ハードディスクなどの磁気ディスクを用いることができる。また、記録媒体としては、CD-ROM(Compact Disc Read Only Memory)等の光ディスクを用いることもできる。不揮発性の半導体記憶装置を記録媒体として用いてもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
[付記1]
 記憶装置の性能データを取得するデータ取得手段と、
 前記記憶装置の動作異常に関するエラーログを取得するログ取得手段と、
 データ取得手段が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出する算出手段と、
 前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定する判定手段と、
 前記判定の結果を出力する出力手段と
 を備える故障検知システム。
[付記2]
 前記判定手段は、前記異常度が基準以上であり、かつ、前記エラーログに記録されている動作異常の回数が基準以上である場合に、前記記憶装置に故障の予兆があると判定する、
 を備える付記1に記載の故障検知システム。
[付記3]
 前記判定手段は、前記算出手段が算出する前記異常度が基準以上である場合に、前記異常度が基準以上の記憶装置のエラーログを参照し、前記エラーログに基準以上の回数の前記記憶装置の動作異常が記録されている場合に、前記記憶装置に故障の予兆があると判定する、
 を備える付記2に記載の故障検知システム。
[付記4]
 前記異常度の基準は、故障が生じたときの記憶装置の異常度よりも低く設定される、
 付記2または3かに記載の故障検知システム。
[付記5]
 前記算出モデルは、データ取得手段が取得した性能データと、正常時の性能データのとの差を基に異常度を算出する、
 付記1から4いずれかに記載の故障検知システム。
[付記6]
 前記データ取得手段は、冗長構成である複数の記憶装置それぞれの性能データを取得し、
 前記算出モデルは、前記複数の記憶装置それぞれについて、前記データ取得手段が取得した性能データと、正常時の性能データのとの差を示すスコアを算出し、前記複数の記憶装置間のスコアの差を基に前記異常度を算出する、
 付記1から5いずれかに記載の故障検知システム。
[付記7]
 前記算出モデルは、前記複数の記憶装置のスコアの統計量と、前記複数の記憶装置それぞれのスコアとの差を基に、前記複数の記憶装置それぞれの前記異常度を算出する、
 付記6に記載の故障検知システム。
[付記8]
 前記エラーログは、前記記憶装置への書き込みエラー、前記記憶装置への書き込みのタイムアウトエラー、前記記憶装置からの読み出しエラー、および前記記憶装置からの読み出しのタイムアウトエラーのうちの少なくとも一方についてのログである、
 付記1から6いずれかに記載の故障検知システム。
[付記9]
 前記性能データは、前記記憶装置へ書き込みの性能および前記記憶装置からの読み出しの性能のうち少なくとも一方に関するデータである、
 付記1から8いずれかに記載の故障検知システム。
[付記10]
 前記性能データは、平均書き込み応答時間、最大書き込み応答時間、平均読み出し応答時間および最大読み出し応答時間のうち少なくとも1つを含む、
 付記9に記載の故障検知システム。
[付記11]
 性能データから記憶装置の異常度を算出する算出モデルを生成する生成手段をさらに備える
 付記1から10いずれかに記載の故障検知システム。
[付記12]
 記憶装置の性能データを取得し、
 前記記憶装置の動作異常に関するエラーログを取得し、
 取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出し、
 前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定し、
 前記判定の結果を出力する、
 故障検知方法。
[付記13]
 記憶装置の性能データを取得する処理と、
 前記記憶装置の動作異常に関するエラーログを取得処理と、
 取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出する処理と、
 前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定する処理と、
 前記判定の結果を出力する処理と
 をコンピュータに実行させる故障検知プログラムを非一時的に記録する記録媒体。
 以上、上述した実施形態を例として本開示を説明した。しかしながら、本開示は、上述した実施形態には限定されない。即ち、本開示は、本開示のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
10  故障検知システム
11  データ取得部
12  ログ取得部
13  算出部
14  判定部
15  出力部
16  モデル生成部
17  記憶部
20  記憶装置
100  コンピュータ
101  CPU
102  メモリ
103  記憶装置
104  入出力I/F
105  通信I/F

Claims (13)

  1.  記憶装置の性能データを取得するデータ取得手段と、
     前記記憶装置の動作異常に関するエラーログを取得するログ取得手段と、
     データ取得手段が取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出する算出手段と、
     前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定する判定手段と、
     前記判定の結果を出力する出力手段と
     を備える故障検知システム。
  2.  前記判定手段は、前記異常度が基準以上であり、かつ、前記エラーログに記録されている動作異常の回数が基準以上である場合に、前記記憶装置に故障の予兆があると判定する、
     を備える請求項1に記載の故障検知システム。
  3.  前記判定手段は、前記算出手段が算出する前記異常度が基準以上である場合に、前記異常度が基準以上の記憶装置のエラーログを参照し、前記エラーログに基準以上の回数の前記記憶装置の動作異常が記録されている場合に、前記記憶装置に故障の予兆があると判定する、
     を備える請求項2に記載の故障検知システム。
  4.  前記異常度の基準は、故障が生じたときの記憶装置の異常度よりも低く設定される、
     請求項2または3に記載の故障検知システム。
  5.  前記算出モデルは、データ取得手段が取得した性能データと、正常時の性能データのとの差を基に異常度を算出する、
     請求項1から4いずれかに記載の故障検知システム。
  6.  前記データ取得手段は、冗長構成である複数の記憶装置それぞれの性能データを取得し、
     前記算出モデルは、前記複数の記憶装置それぞれについて、前記データ取得手段が取得した性能データと、正常時の性能データのとの差を示すスコアを算出し、前記複数の記憶装置間のスコアの差を基に前記異常度を算出する、
     請求項1から5いずれかに記載の故障検知システム。
  7.  前記算出モデルは、前記複数の記憶装置のスコアの統計量と、前記複数の記憶装置それぞれのスコアとの差を基に、前記複数の記憶装置それぞれの前記異常度を算出する、
     請求項6に記載の故障検知システム。
  8.  前記エラーログは、前記記憶装置への書き込みエラー、前記記憶装置への書き込みのタイムアウトエラー、前記記憶装置からの読み出しエラー、および前記記憶装置からの読み出しのタイムアウトエラーのうちの少なくとも一方についてのログである、
     請求項1から6いずれかに記載の故障検知システム。
  9.  前記性能データは、前記記憶装置へ書き込みの性能および前記記憶装置からの読み出しの性能のうち少なくとも一方に関するデータである、
     請求項1から8いずれかに記載の故障検知システム。
  10.  前記性能データは、平均書き込み応答時間、最大書き込み応答時間、平均読み出し応答時間および最大読み出し応答時間のうち少なくとも1つを含む、
     請求項9に記載の故障検知システム。
  11.  性能データから記憶装置の異常度を算出する算出モデルを生成する生成手段をさらに備える
     請求項1から10いずれかに記載の故障検知システム。
  12.  記憶装置の性能データを取得し、
     前記記憶装置の動作異常に関するエラーログを取得し、
     取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出し、
     前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定し、
     前記判定の結果を出力する、
     故障検知方法。
  13.  記憶装置の性能データを取得する処理と、
     前記記憶装置の動作異常に関するエラーログを取得処理と、
     取得した性能データに基づき、性能データから記憶装置の異常度を算出する算出モデルを用いて、前記記憶装置の異常度を算出する処理と、
     前記異常度と、前記エラーログに基づき、前記記憶装置が正常であるかを判定する処理と、
     前記判定の結果を出力する処理と
     をコンピュータに実行させる故障検知プログラムを非一時的に記録する記録媒体。
PCT/JP2023/005777 2023-02-17 2023-02-17 故障検知システム、故障検知方法および記録媒体 WO2024171443A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/005777 WO2024171443A1 (ja) 2023-02-17 2023-02-17 故障検知システム、故障検知方法および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/005777 WO2024171443A1 (ja) 2023-02-17 2023-02-17 故障検知システム、故障検知方法および記録媒体

Publications (1)

Publication Number Publication Date
WO2024171443A1 true WO2024171443A1 (ja) 2024-08-22

Family

ID=92421338

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/005777 WO2024171443A1 (ja) 2023-02-17 2023-02-17 故障検知システム、故障検知方法および記録媒体

Country Status (1)

Country Link
WO (1) WO2024171443A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014113A (ja) * 1999-06-29 2001-01-19 Nec Corp ディスク装置故障検出システム
JP2002229867A (ja) * 2001-02-02 2002-08-16 Hitachi Ltd ディスク装置の故障予知装置
JP2004118397A (ja) * 2002-09-25 2004-04-15 Nec Soft Ltd 磁気ディスク装置の障害発生予測システム
JP2013246479A (ja) * 2012-05-23 2013-12-09 Fujitsu Ltd 処理装置,処理方法,処理プログラム及び管理装置
JP2013254423A (ja) * 2012-06-08 2013-12-19 Canon Inc 情報処理装置及びその制御方法、並びにプログラム
JP2017167729A (ja) * 2016-03-15 2017-09-21 日本電気株式会社 監視装置、監視方法および監視プログラム
JP2021043891A (ja) * 2019-09-13 2021-03-18 株式会社日立製作所 ストレージシステム及びその制御方法
JP2021140284A (ja) * 2020-03-03 2021-09-16 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001014113A (ja) * 1999-06-29 2001-01-19 Nec Corp ディスク装置故障検出システム
JP2002229867A (ja) * 2001-02-02 2002-08-16 Hitachi Ltd ディスク装置の故障予知装置
JP2004118397A (ja) * 2002-09-25 2004-04-15 Nec Soft Ltd 磁気ディスク装置の障害発生予測システム
JP2013246479A (ja) * 2012-05-23 2013-12-09 Fujitsu Ltd 処理装置,処理方法,処理プログラム及び管理装置
JP2013254423A (ja) * 2012-06-08 2013-12-19 Canon Inc 情報処理装置及びその制御方法、並びにプログラム
JP2017167729A (ja) * 2016-03-15 2017-09-21 日本電気株式会社 監視装置、監視方法および監視プログラム
JP2021043891A (ja) * 2019-09-13 2021-03-18 株式会社日立製作所 ストレージシステム及びその制御方法
JP2021140284A (ja) * 2020-03-03 2021-09-16 Necソリューションイノベータ株式会社 情報処理装置、情報処理方法及びプログラム

Similar Documents

Publication Publication Date Title
JP5078235B2 (ja) 磁気ディスク記憶装置におけるトラック・データ完全性の維持方法
US7971093B1 (en) Apparatus and method to proactively address hard disk drive inefficiency and failure
US7526684B2 (en) Deterministic preventive recovery from a predicted failure in a distributed storage system
CN111104293A (zh) 用于支持盘故障预测的方法、设备和计算机程序产品
TW201928684A (zh) 具有機器學習機制的儲存系統及其操作方法
US7900083B2 (en) Disk array apparatus, disk array control method and disk array controller
CN112181298B (zh) 阵列访问方法、装置、存储设备及机器可读存储介质
US11055160B2 (en) Method of determining potential anomaly of memory device
Du et al. Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data
JP7273669B2 (ja) ストレージシステム及びその制御方法
CN113918375A (zh) 一种故障处理方法、装置及电子设备和存储介质
JP5488709B2 (ja) ストレージ制御装置における基準時間設定方法
Huang et al. Characterizing disk health degradation and proactively protecting against disk failures for reliable storage systems
CN115640174A (zh) 内存故障预测方法、系统、中央处理单元及计算设备
CN116578459A (zh) 一种慢盘监测及处理方法、装置及计算机可读存储介质
CN114996065A (zh) 内存故障预测方法、装置及设备
WO2024171443A1 (ja) 故障検知システム、故障検知方法および記録媒体
JP2006092070A (ja) ディスクアレイ装置及びその制御方法並びに制御プログラム
JP4627327B2 (ja) 異常判定装置
WO2023148922A1 (ja) 異常検出システム、情報処理システム、異常検出方法および記録媒体
CN115762619A (zh) 硬盘故障预测方法、计算设备及存储介质
JP2012038362A (ja) ハードディスク故障予兆検出方法
CN111223516B (zh) Raid卡检测方法以及装置
JP2880701B2 (ja) ディスクサブシステム
US10599343B2 (en) Proactively resilvering a striped disk array in advance of a predicted disk drive failure

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: 23922777

Country of ref document: EP

Kind code of ref document: A1