如何检测硬盘是否正常(新买的机械硬盘检测方法)

快速检测数据中心机械硬盘异常的方法

魏 坤,沈记全

(河南理工大学 计算机科学与技术学院,河南 焦作 454000)

[摘 要]针对性能异常的机械硬盘在数据读写时出现的带宽不稳和时延增大,导致数据中心存储集群性能下降及不稳定的问题,提出一种基于高斯分布算法检测性能异常硬盘的方法。通过滑动平均算法对健康硬盘性能的样本数据进行预处理,以确定健康硬盘性能数据集,然后采用高斯分布异常检测算法对预处理的数据集进行预测故障模型的训练与建立。实验表明,该方法能快速检测性能异常的硬盘,对于拥有大规模存储集群的数据中心,以及对负载均衡和性能要求较高的工程领域均有较好的应用价值。

[关键词]硬盘;滑动算法;高斯异常检测;存储集群

0 引言

硬盘本身具有“健康、亚健康、濒临故障、故障”的必然性周期。硬盘故障必然会带来集群本身的性能下降,如果在硬盘发生故障前进行有效的数据转移,则可以避免数据丢失及性能下降的风险[4-6]。在存储系统层面,稳定的带宽和时延是符合高斯分布的,也就是说系统在90%的情况下都是非常稳定的,而对性能和稳定性要求较高的数据中心,则需要在当前的业务模型下监控硬盘的运行状态,预测硬盘带宽和时延的异常,并将业务变化控制在一定的阈值范围内[7-8]。

1 相关研究

目前,存储集群在提升硬盘性能与数据保护方面主要采用被动容错技术、磁盘冗余阵列技术、副本技术、纠删技术及哈希校验等。集群故障处理的通用流程是在发生故障后,定位原因,并修复故障问题[7-8]。硬盘发生故障后,容错技术可满足读写校验和数据安全的需求,但容错技术有比较明显的缺陷,比如空间利用率较低,以及数据恢复过程存在业务性能下降甚至数据丢失的风险等。

随着数据安全技术的发展,目前各大硬盘厂商普遍采用的自我检测分析报告技术(Self-Monitoring Analysis and Reporting Technology,SMART),已成为业界一种标准的硬盘故障状态检测和预警技术。基于该技术对硬盘状态特征进行统计归纳取得了很多研究成果,主流方案是通过采集硬盘SMART的状态信息来建立硬盘故障预测模型,主要采用机器学习算法、统计学习算法等模型[9-10]。但上述方法存在一些局限性:预测模型受限于样本训练集,因为训练集往往在特定型号的硬盘上进行学习训练,所以其泛化能力较差,需要在实际生产环境中选用不同的预测模型;另外,上述解决方案虽然在故障预测方面达到了一定的精度,但在工程领域中的应用并不理想,有研究表明,大约有36%的硬盘设备在不满足任何SMART阈值的情况下发生故障,这就极大地限制了SMART技术在存储系统中的应用。为了解决上述问题,本文拟通过硬盘性能数据的表征建立硬盘基准模型,推测机械硬盘个体性能是否异常。

2 算法设计和实现2.1 基于滑动平均算法的数据预处理

数据异常点按照在时间上的连续性可分为孤立的异常点和连续的异常点。对于孤立的异常点,可能是由于环境不稳定导致数据的临时跳变,只要下个检测周期恢复正常一般不做进一步处理。但对于连续的异常点,有可能是硬盘本身出现故障,也有可能是系统本身出现故障,需进一步排查。对此,本文对硬盘的性能数据进行滑动平均算法处理,以确保数据样本的有效性。滑动平均算法是根据时间序列资料逐项推移,依次计算包含一定项数的序时平均值,以反映长期趋势的方法。因此,当时间序列的数值由于受周期变动和随机波动的影响起伏较大,不易反映事件的发展趋势时,使用滑动平均算法可以消除这些因素的影响,反映事件的发展方向与趋势(即趋势线),依趋势线分析预测序列的长期趋势。

我们采用业内通用的性能测试工具fio,对健康硬盘进行4k随机写,获取的原始数据集作为训练集;对已确定的异常硬盘进行4k随机写,获取的原始数据集作为测试集。采集的数据集定义如式(1):

D={(Sv|w,Tv|w),i=1,2,…,N}。

(1)

其中,Sv为单位窗口期内通过链路的I/O数据量;Tv为每次设备I/O响应的服务时间,这个参数值是由窗口期内消耗在I/O访问上的时间累加值除以这段时间内的I/O请求次数而得到的;w为一定时间间隔期内的数据点集合。

考虑到数据量计算与有效性的问题,采用滑动平均算法来统计分析数据集。该算法将限定的窗口时间周期内的数据乘以不同的数值,其计算方法如式(2):

vt=bvt-1 (1-b)θt。

(2)

其中,θt为第t天的实际观察值;vt为要代替θt的估计值,也就是第t天的指数加权平均值;b为vt-1的权重,是可调节的参数, 0 <b< 1 。在计算中往往由于前期的指数加权平均存在较大误差,一般需要修正误差,如式(3):

如何检测硬盘是否正常(新买的机械硬盘检测方法)

(3)

滑动平均算法的处理过程为:

1)输入:原始数据集。

2)设置滑动平均算法的窗口值为w,衰减因子为b。

3)设置循环:t=1;t≤n。

4)当t<nmax时,进行循环。

5)根据原始数据集,叠加获取的上个数值乘以衰减因子b。

6)获取当前数值,叠加步骤3)的数值,得到新的“上个窗口值”的指标数据。

7)当t>n时,结束循环。

8)输出:经过滑动平均算法处理的性能数据集。

2.2 高斯异常检测算法模型的建立与实现

高斯异常检测算法是一种被广泛应用的聚类算法,它可以将数据聚类成若干个基于高斯概率密度函数形成的模型,因此,它几乎可以拟合逼近各种分布。我们根据式(3)的滑动平均算法进行处理后,得到响应数和带宽的数据集,再采用高斯分布算法处理,可得到高斯分布模型,如图1所示。

图1 高斯分布模型Fig.1 The Gaussian Distribution Model

由此可见,两个属性基本服从高斯分布,设μ为均值,N为n×n维协方差矩阵,|N|为矩阵N的行列式,高斯多元分布模型概率如式(4):

(4)

对于参数μ和N的计算,假设上述两种特征均符合高斯分布,各维度之间的关系通过协方差来描述。我们对期望作如下定义:

(5)

(6)

高斯算法的预测模型训练步骤如下:

1)从高斯分布中选取特征向量。

2)计算每个特征的均值μ和协方差矩阵N。

3)建立高斯模型,计算期望。

4)通过最大似然估计得到每个高斯分布的参数,计算F的最大值,从而得到最佳阈值ε。

5)对于新样本x,若p(x)<ε,则是异常的。

为了判断一个新样本是否异常,将计算出来的概率值与高斯分布的异常阈值ε进行比较,若期望小于ε,则认为异常。将已知数据集中的一部分数据标记为异常并建立验证集,通过验证集计算评估参数F1,通过重试ε并选择F1的最大值。F1值是对模型进行综合评价的标准之一,数值越大说明模型性能越好。参数F1的计算公式如式(7):

(7)

其中,

式中:tp为正确的正样本个数,表示算法能够正确地将其识别为异常样本;fp为错误的正样本个数,表示算法将正常样本识别为异常样本;fn为错误的负样本数量,表示算法将异常样本识别为正常样本。

综上所述,基于滑动平均算法的多元高斯分布异常检测的综合算法主要包括以下几点,流程图如图2所示。

图2 异常检测流程图Fig.2 Anomaly Detection Flow Chart

1)收集判定为健康硬盘的性能数据集,去除无效数据,获得原始数据集。

2)采用滑动平均算法对数据集进行预处理,得到服从高斯分布的数据。

3)采用高斯模型计算硬盘性能异常的概率p(x),利用验证集确定最佳阈值ε。如果预测概率p(x)<ε,则认为新观测到的样本值异常。

3 实验结果分析3.1 实验数据

为验证本文提出的检测方法的有效性,本实验采用某数据中心存储集群硬盘的性能监测数据为实验数据集,硬盘是厂商为希捷、型号为ST32000644NS的机械硬盘。实验采集了2020年8月16日至2020年9月26日期间的硬盘监测数据,若硬盘在此期间发生故障, 判断其故障风险高,否则为无故障。实验数据集中共包含硬盘14 400块, 其中已经检测并标记故障的硬盘为29块。

3.2 实验环境

本次实验的预测模型采用Python编程,并在Linux系统的物理服务器上独立运行,服务器的相关配置信息如表1所示。

表1 物理服务器配置信息Table 1 Physical Server Configuration Information

3.3 实验结果与分析

根据上述算法模型,采用fio随机写4k的压力,并从29块异常硬盘中选取3块硬盘的性能指标作为异常性能基准的验证集,以确定高斯异常检测模型的最佳阈值ε。根据预测模型对数据集检测异常的数据,采用上述方法搜集硬盘的时延与带宽,如图3所示。

图3 原始数据Fig.3 Original Data

使用滑动窗口算法合并后,硬盘数据的波动范围更小,如图4所示。

图4 合并数据Fig.4 Merged Data

采用4k随机写的压力测试模型散点图如图5所示,其中29块已确认为异常硬盘的正确检测数为28块,同时共检出其他异常硬盘41块,检测准确率为96.5%,且没有误报;准确率、召回率和F1值如图6所示。

图5 数据异常散点图Fig.5 Data Anomaly Scatter Diagram

图6 评估指标Fig.6 Evaluation Indicator

3.4 能耗分析

在存储系统中,节点的负载能力是非常重要的,预测模型是否在负载波动范围内可在一定程度上反映模型的易用性和实用性。实验结果表明,异常检测程序运行时的负载值虽有所增大,但是基本控制在5%的负载区间,在分布式存储集群性能冗余的范围内,对大规模存储系统影响很微小,业务和用户基本是无感知的,并符合该数据中心商用检测的要求,故检测方案达到了预期效果。

4 结束语

本文针对数据中心因为硬盘性能异常而造成的集群不稳定问题设计了一种基于高斯异常检测算法的预测模型,整个过程包括两部分:数据集的预处理与高斯异常算法预测模型的建立。预处理可以有效降低离散性能异常点的影响,从而获得更符合高斯分布的数据集。该方法能快速检测硬盘性能异常,从而进一步发现潜在的性能问题,解决以往通过SMART信息预测濒临故障的硬盘实用性较差的问题。通过在实验环境中对分布式存储集群的模拟和实验表明,该方法具有较好的易用性,并且具有较高的检测效率。

[参考文献]

[1] CORTEZ E, BONDE A, MUZIO A, et al. Resource central: understanding and predicting workloads for improved resource management in large cloud platforms[C]//Proceedings of the 26th Symposium on Operating Systems Principles. New York:ACM,2017:153-167.

[2] MISHRA N, IMES C, LAFFERTY J D, et al. CALOREE: learning control for predictable latency and low energy[C]//Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). New York: ACM, 2018:184-198.

[3] Lifeline Data Centers. What data center downtime costs[EB/OL]. [2021-11-15].https://lifelinedatacenters.com/data-center/data-center-downtime-costs/.

[4] CAO Z, TARASOV V, RAMAN H P, et al. On the performance variation in modern storage stacks[C]// Proceedings of the 15th USENIX Conference on File and Storage Technologies. Berkeley: USENIX Association, 2017: 329-344.

[5] HE J, KANNAN S, ARPACI-DUSSEAU A C, et al.The unwritten contract of solidstate drives[C]//Proceedings of the Twelfth European Conference on Computer Systems. New York: ACM, 2017: 127-144.

[6] JACOB B, KLIGYS S, CHEN B, et al. Quantization and training of neural networks for efficient integer-arithmetic-only inference[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway: IEEE, 2018: 2704-2713.

[7] CHOW M, MEISNER D, FLINN J, et al. The mystery machine: end-to-end performance analysis of large-scale internet services[C]// Proceedings of the 11th USENIX Conference on Operating Systems Design and Implementation (OSDI 14). Berkeley: USENIX Association, 2014: 217-231.

[8] DELIMITROU C, KOZYRAKIS C. Quasar: resource-efficient and QoS-aware cluster management[J].ACM SIGPLAN Notices, 2014, 49(4): 127-144.

[9] BOTEZATU M M, GIURGIU I, BOGOJESKA J, et al. Predicting disk replacement towards reliable data centers [C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM,2016:39-48.

[10] SHEN J, WAN J, LIM S J,et al. Random-forest-based failure prediction for hard disk drives[J].International Journal of Distributed Sensor Networks,2018,14(11):1-15.

The Method for Quickly Detecting Abnormality of Mechanical Hard Disks in the Data Center

WEI Kun, SHEN Jiquan

(School of Computer Science and Technology, Henan Polytechnic University, Jiaozuo Henan 454000, China)

Abstract:An algorithm based on Gaussian bandwidth is proposed to detect the abnormal performance of the hard disk when the read/write performance of the hard disk is unstable. The moving average algorithm is used to preprocess the performance sample data of the healthy hard disk to determine the performance data set of the healthy hard disk, and then the Gaussian distribution anomaly detection algorithm is used to train and establish the predictive fault model for the preprocessed data set. Experiments show that this method can quickly detect abnormal hard disks, and it has good application value for data centers with large-scale storage clusters and engineering fields with high requirements for load balancing and performance.

Keywords:Hard disks;Sliding algorithm;Gaussian anomaly detection;Storage clusters

DOI:10.16255/j.cnki.ldxbz.2022.02.009

[收稿日期]2021-11-16

[基金项目]国家自然科学基金项目(61972134)。

[中图分类号]TP181

[文献标志码]A

[文章编号]1005-0310(2022)02-0047-05

发表评论

登录后才能评论