存储系统故障预测方法和装置的制作方法

文档序号:6398661阅读:147来源:国知局
专利名称:存储系统故障预测方法和装置的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种存储系统故障预测方法和装置。
背景技术
随着互联网和电子商务的快速发展,网络数据信息呈现爆炸性增长趋势,存储网络技术越来越被企业所接受,并在企业的商业活动中充当非常重要的角色。构建高可用性的存储网络是至关重要的,若存储网络系统发生故障,如服务器故障或各种设备故障,造成系统服务中断将会造成客户的流失和企业收入的损失。研究表明,在网络存储系统中,若系统发生I小时的停机,企业将损失15万美元到645万美元之间。为了保证企业达到24小时*365天的应用需求,必须构建高可用存储系统。实现高可用存储系统的关键技术之一是故障的失效检测。通过失效检测技术,可以及时发现系统的故障设备、节点或应用程序,然后通过资源切换、状态恢复或重启,来保证系统服务的连续性。高可用存储系统中的故障发展呈现出以下特点:1、具有突发性,并可在短时间内产生大量数据丢失,造成业务中断。例如:银行系统掉电故障;2、具有滞后性,使得存储系统不会及时发现故障,故障不断注入,造成系统业务运行不顺畅,甚至中断时间较长。例如:网线被拔出;3、故障对节点上运行的其他程序影响范围越来越大,例如:CPU的不断升高,内存的不断降低,必然成为其他程序正常运行的瓶颈;4、具有多样性,使得存储系统对故障检测识别度降低,易有遗漏。系统故障的突发性和滞后性使其成为高可用存储系统的杀手锏,如何有效地检测及预测故障,提供一种灵活的故障预测机制成为衡量存储系统高可用性好坏的标准。目前,高可用存储系统中,对于节点自身故障的处理是通过系统中其他节点来判断,其他节点如果在超时时间仍收不到该节点的心跳,则认为该节点出现故障,以进行故障处理和资源切换。而这种方式属于故障发现故障再处理,即对于已出现的故障进行分析,并不能对故障的发展趋势进行预测,会使得业务中断时间延时,无法满足高可用性要求高的存储系统。

发明内容
本发明提供了一种存储系统故障预测方法和装置,解决了现有处理方式无法满足高可用性要求高的存储系统的问题。一种系统故障预测方法,包括:收集系统内不同故障类型的故障信息;对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列;预测所述子故障类型对应的故障的下一次发生时间。
优选的,所述故障类型包括处理器(CPU)故障、内存故障、文件访问故障、网卡流量故障和主机硬件故障。优选的,对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列包括:获取各故障类型的聚类信息,所述聚类信息包括相关系数、最大值、最小值、中间值、平均值、出现频率最高的值和标准差;分别对各故障类型的聚类特征使用K - MEANS聚类算法进行聚类,将每个故障类型细化成多个具有相似聚类特征的子故障类型;获取各子故障类型中故障发生的时间序列。优选的,所述预测所述子故障类型对应的故障的下一次发生时间具体为:构建ARIMA模型;检测所述ARIMA模型的有效性;在所述ARIMA模型有效时,使用子故障类型中故障发生的时间序列作为输入,预测下一次所述子故障类型对应的故障发生的时间。优选的,所述使用子故障类型中故障发生的时间序列作为输入,预测下一次所述子故障类型对应的故障发生的时间包括:从所述时间序列中提取当前时刻的前P个数据点代入所述ARIMA模型,预测出下q个时刻的故障值及其置信区间,其中P>q>0。优选的,所述检测所述ARIMA模型的有效性的步骤之后,还包括:在所述ARIMA模型无效时,重新估计该ARIMA模型的参数。优选的,所述预测所述子故障类型对应的故障的下一次发生时间的步骤之后,还包括:验证当前时刻的实际故障值是否偏离所述置信区间;在所述当前的实际故障值偏离所述置信区间时,判定故障异常,通过邮件日志、系统日志、短信通知进行故障报警,并进行故障数据处理。优选的,所述预测所述子故障类型对应的故障的下一次发生时间的步骤之后,还包括:验证当前时刻的实际故障值是否偏离所述置信区间;在所述当前的实际故障值位于所述置信区间时,判断当前时间的实际故障值与前一时刻的实际故障值之差的绝对值是否大于模型临界值;在所述绝对值大于所述模型临界值时,启动所述ARIMA模式的再学习,修改所述ARIMA模型的模型参数。优选的,所述判断当前时间的实际故障值与前一时刻的实际故障值之差的绝对值是否大于模型临界值的步骤之后,还包括:在所述绝对值不大于所述模型临界值时,时刻比较变量进行加I操作,并判断其值是否等于P;在所述时刻比较变量的值超过P时,将所述时刻比较变量恢复为初始值。本发明还提供了一种存储系统故障预测装置,包括:数据收集模块,用于收集系统内不同故障类型的故障信息;
数据聚类模块,用于对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列;数据预测模块,用于预测所述子故障类型对应的故障的下一次发生时间。本发明提供了一种存储系统故障预测方法和装置,收集系统内不同故障类型的故障信息,对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列,预测所述子故障类型对应的故障的下一次发生时间,避免了故障发现时故障再处理的滞后性,通过故障预测,有效预防故障对存储网络及网络节点上运行的其他程序带来的影响,解决了现有处理方式无法满足高可用性要求高的存储系统的问题。


图1是本发明的实施例一提供的一种存储系统故障预测装置的结构示意图;图2是本发明的实施例二提供的一种存储系统故障预测方法中建立ARIMA模型前的数据收集和聚类流程示意图;图3是本发明的实施例二提供的一种存储系统故障预测方法中预测子故障类型对应的故障的下一次发生时间的流程示意图。
具体实施例方式系统故障的突发性和滞后性使其成为高可用存储系统的杀手锏,如何有效地检测及预测故障,提供一种灵活的故障预测机制成为衡量存储系统高可用性好坏的标准。目前,高可用存储系统中,对于节点自身故障的处理是通过系统中其他节点来判断,其他节点如果在超时时间仍收不到该节点的心跳,则认为该节点出现故障,以进行故障处理和资源切换。而这种方式属于故障发现故障再处理,即对于已出现的故障进行分析,并不能对故障的发展趋势进行预测,会使得业务中断时间延时,无法满足高可用性要求高的存储系统。为了解决上述问题,本发明的实施例提供了一种存储系统故障预测方法和装置,基于ARIMA模型的自学习,一方面可以根据不同类型故障的历史数据对故障进行预测,当实时故障数据超过预测故障的置信区间时,进行报警;一方面对ARIMA模型进行了改进,通过数据本身的特点进行实时的模型修正,使得模型吻合当前的数据特性。ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一定的数学模型来近似描述这个序列。这个模型一旦被识别后就可以从时间序列的过去值及现在值来预测未来值。(参见 George E.P.Box, Gwilym M.Jenkins.Time Series Forecasting andControl[M].Prentice Hall.1976.)ARIMA(p, d, q)过程可以分为两部分:AR(p)过程和MA(q)过程。(参见中国人民银行调查统计司.时间序列X-12-ARIMA季节调整[M]:原理与方法.中国金融出版社.2006.以及冯文权.经济预测与决策技术[M].武汉大学出版社.2002.) AR称为自回归模型,MA称为移动平均模型。其中,AR(p)过程表示的是预测值受到的观察值序列的影响,MA(q)过程表示的是预测值受到的随机干扰的影响,P和q是ARIMA模型的第一和第二参数。由于许多随机过程并不能纯粹用这两个过程表示,且随机序列也不一定是平稳的。因此在这两个过程计算之前做了 d次差分,使序列变成一个平稳的随机序列。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。 首先结合附图,对本发明的实施例一进行说明。本发明实施例提供了一种存储系统故障预测装置,该装置的结构如图1所示,包括:数据收集模块101,用于收集系统内不同故障类型的故障信息;数据聚类模块102,用于对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列;数据预测模块103,用于预测所述子故障类型对应的故障的下一次发生时间。优选的,该装置还包括:数据处理模块104,用于根据预测的故障发生时间,选择存储系统中最优机下达失效切换指令进行业务资源切换,从而保障存储系统的高可用。数据收集模块101收集高可用存储系统主机的故障信息,涉及不同的资源耗费信息,包括CPU、内存、进程访问控制信息、网卡流量和主机硬件属性信息等。数据聚类模块102,用于按类统计高可用存储系统中故障信息。数据预测模块103,对于每一种故障类型采用ARIMA模型建立预测因子,预测故障发生时间。根据所采集的故障信息,对每种故障类型的数据量进行预处理,获取每种故障的聚类特征。其中,聚类特征包括:相关系数、最大值、最小值、中间值、平均值、出现频率最高的值和标准差。根据每种故障的聚类特征,采用K-MEANS聚类算法依次对每个故障类型进行聚类,并将每个故障类型细化成多个具有相似聚类特征(例如,根据CPU、内存、进程访问控制信息、网卡流量和主机硬件属性信息等,对每一种故障类型根据聚类特征进行聚类,以提高故障预测的准确度)的子故障类型,同时获得为进行数据预测所需的各子故障类型对应故障发生的时间序列。数据预测模块103的工作流程如下:步骤1:通过历史数据学习,估计ARIMA模型的第一参数和第二参数,并检验该ARIMA模型的有效性,从而获得初始的差分自回归移动平均ARIMA模型;步骤2:将某一子故障类型时间序列的当前时刻的前P个数据点代入上述ARIMA模型中进行计算,预测出下q个时刻的故障数据及其置信区间,其中P>q>0 ;步骤3:判断实际的故障值(如CPU使用百分比、内存容量等)是否位于所属类型模型预测的置信区间内,如果不在所述置信区间内,则执行步骤4 ;如果位于置信区间内,则执行步骤5 ;步骤4:通过邮件日志、系统日志、短信通知进行故障报警,以提醒用户对故障进行处理;当故障报警后,系统将选择最优机进行资源业务切换;步骤5:将当前时刻的实际值与前一时刻实际的故障值作差,若所得差的绝对值大于模型临界值,则启动该类别故障ARIMA模型进行再学习,以修改该模型参数;若所得差的绝对值小于等于模型临界值,则时刻比较变量(用来记录已经进行了多少次的当前时刻与前一时刻故障差的计算)自动加1,当时刻比较变量值等于P时,需要对该模型修正参数进行再学习。数据处理模块104,根据所预测的故障发生时间,选择最优机(指集群中没有故障的优先级最高的机器,将组资源切换到这个最优机上,从而保证资源的高可用)下达失效切换指令,如果有异常故障数据,则进行故障报警。至此,已经完整实现了基于ARIMA模型的智能化高可用的存储系统故障预测装置,该装置与传统的故障发现故障再分析处理方式相比,可以实时预测故障发展趋势,避免了业务因故障检测不当带来的中断。同时,对故障进行聚类分析,获取故障数据本身的特性,并在故障检测正常运行中,可以进行自学习,修改模型参数,取得更精确预测效果。因此,采用该存储系统故障预测装置,使其应用在高可用存储系统中,能够使故障检测更加灵活,并根据故障数据统计信息,选择最优机下达失效切换指令,达到真正的高可用。下面结合附图,对本发明的实施例二进行说明。本发明实施例提供了一种存储系统故障预测方法,与图1所示的存储系统故障预测装置相结合,能够实现对存储系统故障的预测。首先,对建立ARIMA模型前的数据收集和聚类流程进行说明,如图2所示,包括:步骤201、收集系统内不同故障类型的故障信息;数据预测模型建立前,如何对大量具有多样性的故障信息进行收集和聚类是非常重要的,需要通过聚类建立每种故障类型的时间序列,以进行精确预测。首先,需要根据先验知识将可预测故障分为五种类型:CPU、内存、进程访问控制信息、网卡流量和主机硬件属性信息,对于像硬关机、掉电故障存在突发性和偶然性,不属于可预测故障。步骤202、对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列;本步骤中,对每种故障类型,按照聚类特征采用K-MEANS聚类算法依次对每个类型的故障进行聚类,并将每个故障类型细化成多个具有相似聚类特征的子故障类型,同时获得为进行数据预测所需的时间序列。步骤203、预测所述子故障类型对应的故障的下一次发生时间;在完成聚类和获取时间序列后,就可以根据每种子故障类别的历史数据(即时间序列),建立相应的ARIMA模型进行故障预测,ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列视为一个随机序列,用一个数学模型来近似描述这个序列。这个模型一旦被识别后,就可以从时间序列的过去值及现在值来预测未来值。利用ARIMA模型预测子故障类型对应的故障的下一次发生时间的流程具体如图3所示,包括:步骤301、构建ARIMA模型;本步骤中,通过数据聚类模块获取的故障历史数据的学习,估计初始ARIMA模型的参数,检验是否具有统计意义。步骤302、检测所述ARIMA模型的有效性;本步骤中,对ARIMA模型的有效性进行检验。如果无效,则重新估计该ARIMA模型的参数,执行步骤301 ;如果有效,执行步骤303。步骤303、从所述时间序列中提取当前时刻的前P个数据点代入所述ARIMA模型;其中p>0。步骤304、预测出下q个时刻的故障值及其置信区间;
其中q>0 且 p>q>0。步骤305、判断当前时刻的实际故障值是否位于预测所述的置信区间内;本步骤中,如果不在置信区间内,则认为故障异常,通过邮件日志、系统日志、短信通知进行故障报警,并进行故障数据处理。如果位于置信区间内,则执行步骤306。步骤306、判断当前时刻的实际故障值与前一时刻的实际故障值之差的绝对值是否大于模型临界值;若超过,则执行步骤307 ;否则,执行步骤308。模型临界值是指:对历史故障值做差分,得到一个满足均值为O的正态分布的差分序列,计算纵轴为0.90以上的置信区间[_a,+a],a即为临界值。步骤307、启动再学习,修改ARIMA模型参数,以进行精确预测。步骤308、时刻比较变量进行加I操作,并判断其值是否等于P ;若超过,则将其恢复成初始值,执行步骤307 ;否则,进入下一时刻实际故障值的判断。本发明提供了一种存储系统故障预测方法和装置,收集系统内不同故障类型的故障信息,对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列,预测所述子故障类型对应的故障的下一次发生时间,避免了故障发现时故障再处理的滞后性,通过故障预测,有效预防故障对存储网络及网络节点上运行的其他程序带来的影响,解决了现有处理方式无法满足高可用性要求高的存储系统的问题。本发明的实施例提供了基于时间序列ARIMA模型的故障检测技术,通常用于高可用存储系统,旨在最优化地发现节点故障,将资源切换到最优机,防止因节点中断(宕机,掉电,死机等)对业务造成的影响,最大化保证存储网络的高可用性和高可靠性。采用该技术一方面避免了故障发现时故障再处理的滞后性,一方面通过故障预测,有效预防故障对存储网络及网络节点上运行的其他程序带来的影响。基于ARIMA模型的智能化高可用存储系统故障检测装置对系统故障进行聚类,根据不同类型的故障以及故障本身具有的特性进行预测,从而做到定制性检测需求;其次,本发明提供的技术方案可以对故障的发展趋势进行预测,相比当前对已出现的故障进行分析再处理的方式,减少甚至避免了业务中断时间;然后,在ARIMA模型正常运作时,实时判别ARIMA模型的参数是否仍适用于当前的实际值,若发现不再适用时,自动进行再学习,通过再学习获得新的模型参数,以此提高模型预测的准确性。因此将本发明的实施例提供的存储系统故障预测方法和装置应用于高可用存储系统中,能够对系统的故障设备、节点或应用程序进行提前感知和及时发现,减少业务中断时间,进一步提闻系统的闻可用性。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之
一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种存储系统故障预测方法,其特征在于,包括: 收集系统内不同故障类型的故障信息; 对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列; 预测所述子故障类型对应的故障的下一次发生时间。
2.根据权利要求1所述的存储系统故障预测方法,其特征在于,所述故障类型包括处理器(CPU)故障、内存故障、文件访问故障、网卡流量故障和主机硬件故障。
3.根据权利要求1所述的存储系统故障预测方法,其特征在于,对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列包括: 获取各故障类型的聚类信息,所述聚类信息包括相关系数、最大值、最小值、中间值、平均值、出现频率最高的值和标准差; 分别对各故障类型的聚类特征使用K - MEANS聚类算法进行聚类,将每个故障类型细化成多个具有相似聚类特征的子故障类型; 获取各子故障类型中故障发生的时间序列。
4.根据权利要求3所述的存储系统故障预测方法,其特征在于,所述预测所述子故障类型对应的故障的下一次发生时间具体为: 构建ARIMA模型; 检测所述ARIMA模型的有效性; 在所述ARIMA模型有效时,使用子故障类型中故障发生的时间序列作为输入,预测下一次所述子故障类型对应的故障发生的时间。
5.根据权利要求4所述的存储系统故障预测方法,其特征在于,所述使用子故障类型中故障发生的时间序列作为输入,预测下一次所述子故障类型对应的故障发生的时间包括: 从所述时间序列中提取当前时刻的前P个数据点代入所述ARIMA模型,预测出下q个时刻的故障值及其置信区间,其中P>q>0。
6.根据权利要求4所述的存储系统故障预测方法,其特征在于,所述检测所述ARIMA模型的有效性的步骤之后,还包括: 在所述ARIMA模型无效时,重新估计该ARIMA模型的参数。
7.根据权利要求5所述的存储系统故障预测方法,其特征在于,所述预测所述子故障类型对应的故障的下一次发生时间的步骤之后,还包括: 验证当前时刻的实际故障值是否偏离所述置信区间; 在所述当前的实际故障值偏离所述置信区间时,判定故障异常,通过邮件日志、系统日志、短信通知进行故障报警,并进行故障数据处理。
8.根据权利要求5所述的存储系统故障预测方法,其特征在于,所述预测所述子故障类型对应的故障的下一次发生时间的步骤之后,还包括: 验证当前时刻的实际故障值是否偏离所述置信区间; 在所述当前的实际故障值位于所述置信区间时,判断当前时间的实际故障值与前一时刻的实际故障值之差的绝对值是否大于模型临界值;在所述绝对值大于所述模型临界值时,启动所述ARIMA模式的再学习,修改所述ARIMA模型的模型参数。
9.根据权利要求8所述的存储系统故障预测方法,其特征在于,所述判断当前时间的实际故障值与前一时刻的实际故障值之差的绝对值是否大于模型临界值的步骤之后,还包括: 在所述绝对值不大于所述模型临界值时,时刻比较变量进行加I操作,并判断其值是否等于P; 在所述时刻比较变量的值超过P时,将所述时刻比较变量恢复为初始值。
10.一种存储系统故障预测装置,其特征在于,包括: 数据收集模块,用于收集系统内不同故障类型的故障信息; 数据聚类模块,用于对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列; 数据预测模块,用于预测所述子故障类型对应的故障的下一次发生时间。
全文摘要
本发明提供了一种存储系统故障预测方法和装置。涉及计算机应用领域;解决了现有处理方式无法满足高可用性要求高的存储系统的问题。该方法包括收集系统内不同故障类型的故障信息;对各个故障类型的故障信息分别进行预处理,获取各故障类型下的子故障类型和各子故障类型对应的故障发生的时间序列;预测所述子故障类型对应的故障的下一次发生时间。本发明提供的技术方案适用于高可用存储系统,实现了高准确性的故障预测。
文档编号G06F11/00GK103116531SQ20131003055
公开日2013年5月22日 申请日期2013年1月25日 优先权日2013年1月25日
发明者王佳 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1