一种磁盘扇区故障检测方法、装置及设备与流程

文档序号:18059231发布日期:2019-07-03 02:56阅读:192来源:国知局
一种磁盘扇区故障检测方法、装置及设备与流程

本发明涉及计算机技术领域,尤其涉及一种磁盘扇区故障检测方法、装置及设备。



背景技术:

虽然磁盘驱动器通常被认为是高度可靠的,且很少出现故障,但是在数据中心中替换频度最高的设备就是磁盘。磁盘存在多种丢失数据的可能性,包括设备级别的故障(整盘故障)和块级故障(磁盘部分故障),即磁盘上个别扇区不能够被访问。由于扇区故障是潜在的,直到受影响的扇区被访问的时候才能被磁盘发现,这使得针对它们进行的保护具有很高的挑战性。

潜在扇区故障对数据的可靠性和可用性的影响存在如下两种情形:1)如果潜在扇区故障是在系统处于降级模式(譬如,raid重建)时被发现的,将会引起数据丢失;2)如果潜在扇区故障是由读请求发现的,将会出现暂时的数据不可用。更坏的情况是,在真实场景中潜在扇区故障发生的频度非常高。最近,基于真实场景的数据场的一项研究表明,在大型生产环境中的七个最常见的磁盘型号中的两个型号的磁盘,分别有11%和25%的磁盘受到潜在扇区故障的影响。

目前,磁盘检测和磁盘内部冗余是针对潜在扇区故障的两种常用的磁盘保护措施。磁盘检测周期性地对磁盘进行扫描,磁盘内部冗余则利用纠删码技术。虽然已经有很多磁盘检测方案被提出,但是它们大部分都集中对可靠性进行提升,而忽视了成本效益。除了设计复杂的磁盘检测方案,机器学习方法也被尝试着用来对潜在扇区故障进行预测。mahdisoltani等人提出,在预测器发出故障警告的时候通过提高检测速度(频率)来提高数据可靠性,即减少故障的平均发现时间mttd(mean-time-to-detection)。如图1所示,轴线为时间轴,时间轴上的各节点标识出了现有技术中磁盘扇区故障发生和被预测、检测、发现的时间点。其中节点①代表磁盘扇区故障发生的时间点,节点②代表故障预测器预测出磁盘扇区存在故障的时间点,节点③代表加速频率后的磁盘检测发现扇区故障的时间点,节点④代表扇区故障被磁盘检测发现的时间点,节点⑤代表扇区故障被读请求发现的时间点。mttd表示从磁盘故障发生到故障被发现之间的时间间隔。其中节点①到节点⑤间的时间间隔表示不做磁盘检测下的mttd,节点①到节点④间的时间间隔表示做磁盘检测下的mttd,节点①到节点③间的时间间隔表示受扇区故障预测指导的磁盘检测下的mttd。故而,相比不做磁盘检测,做磁盘检测可以缩短mttd,同时,受扇区故障预测指导的磁盘检测可以进一步缩短mttd。需要明确的是,更短的mttd代表更高的数据可靠性。

然而,在实际环境使用故障预测来指导数据检测是非常具有挑战性的。第一个挑战是,数据检测是有开销的。尽管磁盘检测能够提高存储系统的可靠性,但磁盘检测的成本来自于多个方面,例如,能源消耗和影响性能。显而易见的是,检测的频率越高,存储系统的可靠性也会相应地提高。在另一方面,更高的检测频率较会带来更高的成本。然而,用于数据保护的预算是有限的,因此建立更高效的数据保护措施的需求是迫切的。第二个挑战是,磁盘清洗不仅与潜在扇区错误相关,也与整盘故障相关。如上所述,如果在系统处于降级模式时发现潜在扇区故障,则有可能会产生数据丢失。



技术实现要素:

本发明提出了一种新的不均衡检测的方案,该方案通过使用机器学习技术来提升磁盘检测的成本效益。与用检测开销来换取高的数据可靠性或用数据可靠性来换取低的检测开销不同,我们可以同时取得低的检测开销和高的数据可靠性。

本发明提供一种磁盘故障检测方法,所述方法包括:

监视器收集由smart采集程序报告的磁盘属性值;

潜在扇区故障预测器读取smart属性值,对潜在扇区故障进行预测;

频率调整器接受预测结果,并根据预测结果相应调整检测频率;

检测调度器在不同的磁盘上执行不同频率的检测。

具体的,所述根据预测结果相应调整检测频率包括:根据预测结果的磁盘健康状态调整检测频率,在受故障影响的磁盘上采用第一加速因子x1提升检测频率,在健康盘上采用第一减速因子y1降低检测频率。

具体的,所述方法还包括:当磁盘处于早期故障期和磨损期时,设置第二加速因子x2提升检测频率;当磁盘处于正常使用期时,设置第二减速因子y2降低检测频率。

具体的,所述早期故障期为磁盘使用第1年,所述磨损期为磁盘使用5年以后,所述正常使用期为磁盘使用第2-4年。

具体的,采用如下公式调整检测频率:

其中,x1为第一加速因子,x1≥1;y1为第一减速因子,y1≤1;x2为第二加速因子,x2≥1;y2为第二减速因子,y2≤1;r为设置的固定基准检测频率,y表示磁盘使用年数。

具体的,所述第一加速因子、第二加速因子、第一减速因子、第二减速因子为:x1=x2=2,y1=y2=1;或者x1=2,y1=0.5,x2=y2=1;优选的,所述x1=x2=2,所述y1=y2=0.5。

具体的,所述对潜在扇区故障进行预测包括:对当前检测周期w内的所有n个样本进行检测,如果有超过n/k个样本被分类为故障,则输出故障,否则输出健康,其中k为大于1小于n的常数;优选的,所述k=2,即当有超过一半以上样本被分类为故障,则输出故障。

本发明还提供一种磁盘故障检测装置,所述装置包括smart监控器、潜在扇区故障预测器、检测频率控制器和检测调度器,

所述smart监控器用于收集由smart采集程序报告的磁盘属性值;

所述潜在扇区故障预测器用于读取smart属性值,对潜在扇区故障进行预测;

所述检测频率控制器用于接受预测结果,并根据预测结果相应调整检测频率;

所述检测调度器用于在不同的磁盘上执行不同频率的检测。

本发明还提供一种终端设备,包括:处理器和存储器;所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如上所述的方法。

本发明还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如上所述的方法。

相对于现有技术,本发明的有益效果至少体现在以下三个方面:

(1)提出了一新的检测不均衡方案,本发明通过使用机器学习方法,根据磁盘的健康状态来相应调整检测频率。

(2)此外,还同时考量了整盘故障和部分故障对检测的影响,提出了一种故障感知的检测方案。

(3)基于检测的周期性特点,设计了一种新的基于投票的算法来保证预测准确度。

本发明用一个真实数据集来评估所提出的不均衡检测方案的性能。实验结果表明,通过使用不均衡检测,相比现有技术中最优的方法,也能够同时取得更低的检测成本和更高的数据可靠性。

附图说明

图1为现有技术中采用主动的故障预测缩短mttd的示意图。

图2为本发明的磁盘故障检测装置的结构示意图。

图3a-3c为本发明的磁盘故障检测方法结果图。

图4为本发明的磁盘故障检测结果对比图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图2所示,其为一种磁盘故障检测装置的结构示意图。该装置包括smart监控器2b、潜在扇区故障预测器2c、检测频率控制器2d和检测调度器2e。

该磁盘故障检测装置用于对磁盘阵列构成的数据中心2a进行故障检测。数据中心可以由多个磁盘阵列组成,磁盘阵列中的磁盘中配有smart(self-monitoring,analysisandreportingtechnology,自我监控,分析和报告技术)采集程序smartctl,该程序按天采集各个磁盘的smart信息。smart是典型的主动容错技术,几乎所有的磁盘厂商都在其产品中应用了该技术。该技术实时监测磁盘内与健康状况有关的技术监测值,比如磁盘温度、寻道出错率、重映射扇区数等信息,当某一个监测值超过了厂商预先设定的阈值,就发出预警信号。

smart监视器2b按天收集并聚集由smartctl采集到的smart属性值。

潜在扇区故障预测器2c为一个中心化的潜在扇区故障预测器。该预测器读取smart属性值,并计算使用机器学习方法得到的潜在扇区故障的概率,最后对潜在扇区故障进行提示。预测器按天进行预测,但检测是每个检测周期执行一次。根据磁盘检测的周期性特性,本发明采用基于投票的的算法。具体地,当对一块磁盘进行预测的时候,我们对当前检测周期内的所有n个样本进行检测,如果有超过n/k个样本被分类为故障,则输出故障,否则输出健康,其中k为大于1小于n的常数。优选的,k=2,即当有超过n/2个(一半以上)样本被分类为故障,则输出故障。该算法中的窗口是由磁盘检测窗口决定的,即如果当前的检测周期为w,则当前的投票窗口被设置为w。基于磁盘检测的周期性特点,通过基于投票的算法可以保证较高的预测准确性。

磁盘检测频率控制器2d接受预测结果,并通过可调节的检测频率来指导检测调度器2e。当预测结果表明磁盘处于故障状态时,采用第一加速因子为x1来提升检测频率,其中x1≥1,优选x1大于1;当预测结果表明磁盘处于健康状态时,则采用第一减速因子y1来降低检测频率,其中y1≤1,优选y1小于1。通过同时设置第一加速因子和第一减速因子,使用不均衡检测,相比当前最优的方法,能够同时取得低的检测成本和高的数据可靠性。

另外,当磁盘处于早期故障期和磨损期时,设置第二加速因子x2来提升检测频率,其中x2≥1,优选x2大于1;当磁盘处于正常使用期时,设置第二减速因子y2来降低检测频率,其中y2≤1。根据澡盆模型,磁盘投入使用的第1年为早期故障(或婴儿死亡)。在第2-4年,故障率基本维持在稳定状态。然后,在第5-7年,磨损开始出现。故而,优选在磁盘使用第1年和5年以后(包括使用的第5年),x2大于1,在磁盘使用第2-4年,y2小于等于1。通过在婴儿死亡期和磨损期以不恒定的速率进行的检测,即在婴儿死亡期和磨损期提升检测频率,在正常使用期降低检测频率,从而实现同时取得低的检测成本和高的数据可靠性。

本发明的磁盘故障检测方法包括:

监视器收集由smart采集程序报告的磁盘属性值;

潜在扇区故障预测器读取smart属性值,对潜在扇区故障进行预测;

频率调整器接受预测结果,并根据预测结果相应调整检测频率;

检测调度器在不同的磁盘上执行不同频率的检测。

所述根据预测结果相应调整检测频率包括:根据预测结果的磁盘健康状态调整检测频率,在受故障影响的磁盘上采用第一加速因子x1提升检测频率,在健康盘上采用第一减速因子y1降低检测频率。

具体的,所述方法还包括:当磁盘处于早期故障期和磨损期时,设置第二加速因子x2提升检测频率;当磁盘处于正常使用期时,设置第二减速因子y2降低检测频率。所述早期故障期为磁盘使用第1年,所述磨损期为磁盘使用5年以后(包括第5年),所述正常使用期为磁盘使用第2-4年。

具体的,采用如下公式调整检测频率:

其中,x1为第一加速因子,x1≥1,优选的,1<x1<4;y1为第一减速因子,y1≤1,优选的,0.5≤y1<1;x2为第二加速因子,x2≥1,优选的,1<x2<4;y2为第二减速因子,y2≤1,优选的,0.5≤y2<1;r为设置的固定基准检测频率,基准检测频率一般是两周一次;y表示磁盘使用年数。所述第一加速因子、第二加速因子、第一减速因子、第二减速因子可以部分设置为1。例如,设置x1>1,y1<1,x2=y2=1,该方案即只根据预测的磁盘健康状态来进行检测频率调整,当预测结果为有扇区故障时,采用第一加速因子x1提升检测频率,当预测结果为无扇区故障时,采用第一减速因子y1降低检测频率。该方案与磁盘使用时间无关。

具体的,所述第一加速因子、第二加速因子、第一减速因子、第二减速因子优选为:x1=x2=2,y1=y2=1;或者x1=2,y1=0.5,x2=y2=1;更优选的,所述x1=x2=2,所述y1=y2=0.5。

具体的,所述对潜在扇区故障进行预测包括:对当前检测周期w内的所有n个样本进行检测,如果有超过n/k个样本被分类为故障,则输出故障,否则输出健康,其中k为大于1小于n的常数;优选的,所述k=2,即当有超过一半以上样本被分类为故障,则输出故障。

smart属性的数据包括实测数据(rawvalue)和规范数据(normalizedvalue)。实测数据是指采集的没有经过数据处理的原始数据。规范数据为将实测数据归范到1-253后的数据。

特征选择。由于并不是全部采集到的smart的属性都与故障相关,利用通过每个属性与故障的相关系数来剔除不相关的属性,挑选出相关的属性。

归一化(normalization)。由于不同的smart属性的取值范围存在差异,为了获取各个smart属性的公平比较,通过z分数归一化(z-score)来对各个smart属性进行归一化。

为了评估模型,把数据集随机分为训练和测试集合。训练集包括70%的故障磁盘和健康磁盘,其余30%的磁盘都在测试集。

我们测试了6种机器学习方法作为故障扇区预测器,其中包括逻辑斯蒂回归(logisticregression,lr),随机森林,支持向量机(supportvectormachine,svm),分类与回归树(classificationandregressiontree,cart),反向传播神经网络(backwardpropagationneuralnetworks,bp)和梯度推进决策树(gradientboostingdecisiontree,gbdt)。

(1)检测成本:如图3a所示,检测开销的增加倍数是与用于加速检测的时间成正比的。也就是说,检测频率越高,检测的开销也就越大。在加速因子相同的情况下,通过设置减速因子,检测开销增加系数大大降低,节约了检测成本。

(2)mttd:如图3b所示,展示了不同加速检测时间下mttd的提升比例。我们观察到,即使我们限制系统处于加速检测模式下的时间为5%(即系统花在降速检测模式的时间占总时间的95%),mttd提升也是很可观的。

而且,在使用相同的加速因子x的情况下,较低的减速因子y导致可靠性的降低相对较少。然而,这种损失是值得的,因为健康盘占绝大多数,我们的预测器中的假阴性率是非常低的。

3)检测成本与mttd:如图3c所示,点(0,1)所指为固定检测频率的方案。与固定检测频率的方案相比,本发明优化后的自适应不均衡检测方案能够在取得mttd提升的同时降低检测开销。

图4所示为本发明的优选方案(adaptive方案,其中x1=2,y1=0.5x2=y2=1)、更优选方案(adaptive+方案,其中x1=x2=2,y1=y2=0.5)与现有技术中最好的方案检测结果对比图。从图4所示的结果来看,我们观察到adaptive+方案能够在不增加额外检测开销的情况下取得更高的mttd的提升。此外,与固定频率的方案相比,adaptive+方案可以以少于49%的扫描成本达到与前者相同的可靠性水平,或在不增加检测成本的情况下取得2.4倍的mttd的提升。与当前最好的方案(即,由mahdisoltani等提出的故障预测方案)相比,adaptive+方案可以在实现相同的mttd的水平时,降低几乎32%的检测成本。这是因为检测资源被更高效地分配,即将健康盘上不必要的检测资源用到处于故障风险的盘上。

本发明提出了一个新方案,即不均衡磁盘检测,来获取高可靠性的同时维持低的检测开销。通过使用潜在扇区故障预测的结果,在健康盘上使用更低的检测频率,在受故障影响的磁盘上使用更高的检测频率。与当前最优的方案相比较,该方案能够以更低的开销获取更高的数据可靠性。

虽然已经详细描述了本发明,但是在本发明的精神和范围内的修改对于本领域技术人员将是显而易见的。这样的修改也被认为是本公开的一部分。鉴于前面的讨论、本领域的相关知识以及上面结合背景讨论的参考或信息(均通过引用并入本文),进一步的描述被认为是不必要的。此外,应该理解,本发明的各个方面和各个实施例的各部分均可以整体或部分地组合或互换。而且,本领域的普通技术人员将会理解,前面的描述仅仅是作为示例,并不意图限制本发明。

已经出于示例和描述的目的给出了本公开的前述讨论。这并不意图将本公开限制于本文公开的形式。在前述的具体实施方式中,例如,为了简化本公开的目的,本公开的各种特征在一个或多个实施例、配置或方面中被组合在一起。实施例、配置或方面的特征可以以除上面讨论的那些之外的替代实施例、配置或方面组合。本公开的该方法不应被解释为反映本公开需要比每个权利要求中明确记载的更多特征的意图。相反,如以下权利要求所反映的,创造性方面在于少于单个前述公开的实施例、配置或方面的所有特征。因此,以下权利要求由此被并入本具体实施方式中,其中每个权利要求其自身作为本公开的单独实施例。

而且,虽然本公开的描述已经包括对一个或多个实施例、配置或方面以及某些变型和修改的描述,但是其他变型、组合和修改也在本公开的范围内,例如在本领域技术人员的技能和知识范围内,在理解了本公开之后。旨在获得在允许的程度上包括替代实施例、配置或方面的权利,所述权利包括那些要求保护的替代的、可互换的和/或等效的结构、功能、范围或步骤的权利,无论这种替代的、可互换的和/或等效的结构、功能、范围或步骤是否在本文中公开,并且无意公开奉献任何可专利的主题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1