首页 / 专利库 / 电脑编程 / 计算机程序 / 用于支持盘故障预测的方法、设备和计算机程序产品

用于支持盘故障预测的方法、设备和计算机程序产品

阅读:233发布:2020-05-08

专利汇可以提供用于支持盘故障预测的方法、设备和计算机程序产品专利检索,专利查询,专利分析的服务。并且本公开的 实施例 提供了用于支持盘故障预测的方法、设备和 计算机程序 产品。一种支持盘故障预测的方法包括获取与多个盘相关联的操作信息和故障信息,多个盘包括由故障信息指示存在故障的第一组盘和由故障信息指示不存在故障的第二组盘;基于与包括第一组盘的相应存储系统相关的系统上下文信息,确定与第一组盘相关联的故障信息的有效性;以及响应于确定与第一组盘中的至少一个盘相关联的故障信息有效,基于与至少一个盘和第二组盘相关联的操作信息和故障信息来确定 机器学习 模型,机器学习模型具有从盘的操作信息预测盘的故障的能 力 。以此方式,通过过滤无效信息,其余信息更利于机器学习模型的确定,使机器学习模型能更准确预测盘故障。,下面是用于支持盘故障预测的方法、设备和计算机程序产品专利的具体信息内容。

1.一种支持盘故障预测的方法,包括:
获取与多个盘相关联的操作信息和故障信息,所述多个盘包括由所述故障信息指示存在故障的第一组盘和由所述故障信息指示不存在故障的第二组盘;
基于与包括所述第一组盘的相应存储系统相关的系统上下文信息,确定与所述第一组盘相关联的故障信息的有效性;以及
响应于确定与所述第一组盘中的至少一个盘相关联的故障信息有效,基于与所述至少一个盘和所述第二组盘相关联的操作信息和故障信息来确定机器学习模型,所述机器学习模型具有从盘的操作信息预测盘的故障的能
2.根据权利要求1所述的方法,其中所述系统上下文信息包括指示所述相应存储系统中至少一个存储系统所使用的盘固件出错的固件错误信息,确定与所述第一组盘相关联的故障信息是否有效包括:
基于所述固件错误信息,确定与所述第一组盘中使用出错的所述盘固件的盘相关联的故障信息无效。
3.根据权利要求1所述的方法,其中所述系统上下文信息包括所述相应存储系统的拓扑信息和指示所述相应存储系统中的连接组件是否存在故障的另一故障信息,确定与所述第一组盘相关联的故障信息的有效性包括:
响应于所述另一故障信息指示所述连接组件存在故障,基于所述拓扑信息标识所述第一组盘中无需经由所述连接组件可访问的至少一个盘;以及
确定与所标识的至少一个盘相关联的故障信息有效。
4.根据权利要求1所述的方法,其中所述系统上下文信息包括所述相应存储系统的故障盘的预定故障率,所述故障信息还指示所述第一组盘的故障的发生时间,确定与所述第一组盘相关联的故障信息的有效性包括:
确定在预定时间段内所述相应存储系统的故障率是否超过所述预定故障率,所述预定时间段包括所述发生时间;以及
响应于确定至少一个存储系统的故障率未超过所述预定故障率,确定与所述第一组盘中由所述至少一个存储系统包括的盘相关联的故障信息有效。
5.根据权利要求1所述的方法,其中确定所述机器学习模型还包括:
还基于第一性能度量来确定所述机器学习模型,所述第一性能度量指示所述机器学习模型将所述第一组盘中的所述至少一个盘正确检测为存在故障的概率或者将所述第二组盘错误检测为存在故障的概率。
6.根据权利要求1所述的方法,还包括:
基于与所述至少一个盘和所述第二组盘相关联的操作信息和故障信息以及第二性能度量来确定另一机器学习模型,所述第二性能度量指示所述另一机器学习模型将所述第一组盘中的所述至少一个盘正确检测为存在故障的概率或者将所述第二组盘错误检测为存在故障的概率;
其中所述机器学习模型和所述另一机器学习模型基于与待检测盘所在的待检测存储系统的稳定性平相对应的性能度量而被选择用于预测所述待检测盘的故障。
7.根据权利要求6所述的方法,其中所述待检测存储系统的稳定性水平基于所述待检测存储系统中已经故障的盘的数目被确定。
8.根据权利要求1所述的方法,其中所述机器学习模型基于以下至少一项:随机森林模型、支持向量机模型和神经网络模型。
9.根据权利要求1所述的方法,其中所述操作信息包括以下至少一项:在所述多个盘的操作期间记录的操作状态统计信息、所述多个盘的类型、所述多个盘的型号、以及所述多个盘的供应商。
10.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
获取与多个盘相关联的操作信息和故障信息,所述多个盘包括由所述故障信息指示存在故障的第一组盘和由所述故障信息指示不存在故障的第二组盘;
基于与包括所述第一组盘的相应存储系统相关的系统上下文信息,确定与所述第一组盘相关联的故障信息的有效性;以及
响应于确定与所述第一组盘中的至少一个盘相关联的故障信息有效,基于与所述至少一个盘和所述第二组盘相关联的操作信息和故障信息来确定机器学习模型,所述机器学习模型具有从盘的操作信息预测盘的故障的能力。
11.根据权利要求10所述的设备,其中所述系统上下文信息包括指示所述相应存储系统中至少一个存储系统所使用的盘固件出错的固件错误信息,确定与所述第一组盘相关联的故障信息是否有效包括:
基于所述固件错误信息,确定与所述第一组盘中使用出错的所述盘固件的盘相关联的故障信息无效。
12.根据权利要求10所述的设备,其中所述系统上下文信息包括所述相应存储系统的拓扑信息和指示所述相应存储系统中的连接组件是否存在故障的另一故障信息,确定与所述第一组盘相关联的故障信息的有效性包括:
响应于所述另一故障信息指示所述连接组件存在故障,基于所述拓扑信息标识所述第一组盘中无需经由所述连接组件可访问的至少一个盘;以及
确定与所标识的至少一个盘相关联的故障信息有效。
13.根据权利要求10所述的设备,其中所述系统上下文信息包括所述相应存储系统的故障盘的预定故障率,所述故障信息还指示所述第一组盘的故障的发生时间,确定与所述第一组盘相关联的故障信息的有效性包括:
确定在预定时间段内所述相应存储系统的故障率是否超过所述预定故障率,所述预定时间段包括所述发生时间;以及
响应于确定至少一个存储系统的故障率未超过所述预定故障率,确定与所述第一组盘中由所述至少一个存储系统包括的盘相关联的故障信息有效。
14.根据权利要求10所述的设备,其中确定所述机器学习模型还包括:
还基于第一性能度量来确定所述机器学习模型,所述第一性能度量指示所述机器学习模型将所述第一组盘中的所述至少一个盘正确检测为存在故障的概率或者将所述第二组盘错误检测为存在故障的概率。
15.根据权利要求10所述的设备,其中所述动作还包括:
基于与所述至少一个盘和所述第二组盘相关联的操作信息和故障信息以及第二性能度量来确定另一机器学习模型,所述第二性能度量指示所述另一机器学习模型将所述第一组盘中的所述至少一个盘正确检测为存在故障的概率或者将所述第二组盘错误检测为存在故障的概率;
其中所述机器学习模型和所述另一机器学习模型基于与待检测盘所在的待检测存储系统的稳定性水平相对应的性能度量而被选择用于预测所述待检测盘的故障。
16.根据权利要求15所述的设备,其中所述待检测存储系统的稳定性水平基于所述待检测存储系统中已经故障的盘的数目被确定。
17.根据权利要求10所述的设备,其中所述机器学习模型基于以下至少一项:随机森林模型、支持向量机模型和神经网络模型。
18.根据权利要求10所述的设备,其中所述操作信息包括以下至少一项:在所述多个盘的操作期间记录的操作状态统计信息、所述多个盘的类型、所述多个盘的型号、以及所述多个盘的供应商。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使设备执行根据权利要求1至9中任一项所述的方法。

说明书全文

用于支持盘故障预测的方法、设备和计算机程序产品

技术领域

[0001] 本公开的实施例涉及存储技术,并且更具体地,涉及用于支持盘故障预测的方法、电子设备和计算机程序产品。

背景技术

[0002] 各类盘被用作存储系统的主要存储设备。例如,多个盘可以组成一个存储系统,例如一个独立磁盘冗余阵列(RAID)或RAID组,以提供数据存储。由于自身和/或环境因素的影响,存储系统中的一个或多个盘可能会损坏。为了降低在盘损坏的情况下导致的数据损失,期望在盘损坏之前将该盘中存储的数据复制或“重构”到其他存储介质。这种数据复制需要耗费一些时间。此外,为了确保存储系统持续正常运行,要损坏的盘还应被修复或者替换。因此,能够提前正确预测盘故障是数据存储中的一个重要任务。
发明内容
[0003] 本公开的实施例提供了一种用于支持盘故障预测的方案。
[0004] 在本公开的第一方面,提供了一种支持盘故障预测的方法。该方法包括:获取与多个盘相关联的操作信息和故障信息,多个盘包括由故障信息指示存在故障的第一组盘和由故障信息指示不存在故障的第二组盘;基于与包括第一组盘的相应存储系统相关的系统上下文信息,确定与第一组盘相关联的故障信息的有效性;以及响应于确定与第一组盘中的至少一个盘相关联的故障信息有效,基于与至少一个盘和第二组盘相关联的操作信息和故障信息来确定机器学习模型,机器学习模型具有从盘的操作信息预测盘的故障的能
[0005] 在本公开的第二方面,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作,动作包括:获取与多个盘相关联的操作信息和故障信息,多个盘包括由故障信息指示存在故障的第一组盘和由故障信息指示不存在故障的第二组盘;基于与包括第一组盘的相应存储系统相关的系统上下文信息,确定与第一组盘相关联的故障信息的有效性;以及响应于确定与第一组盘中的至少一个盘相关联的故障信息有效,基于与至少一个盘和第二组盘相关联的操作信息和故障信息来确定机器学习模型,机器学习模型具有从盘的操作信息预测盘的故障的能力。
[0006] 在本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备执行根据第一方面的方法。
[0007] 提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。附图说明
[0008] 通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
[0009] 图1示出了常规的盘故障预测的环境的示意框图
[0010] 图2示出了根据本公开的一些实施例的盘故障预测的环境的示意框图;
[0011] 图3示出了根据本公开的另一些实施例的盘故障预测的环境的示意框图;
[0012] 图4示出了根据本公开的一些实施例的用于支持盘故障预测的过程的流程图
[0013] 图5示出了根据本公开的另一些实施例的用于支持盘故障预测的过程的流程图;以及
[0014] 图6示出了可以用来实施本公开的实施例的示例设备的框图。

具体实施方式

[0015] 下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
[0016] 在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0017] 如以上提及的,盘故障预测是降低数据损失和/或保持系统持续正常运行的一个重要方面。很多盘制备商提供盘的操作状态监测。例如,可以采用自我监测、分析和报告技术(S.M.A.R.T),实时监测盘的各种属性值,诸如温度、加电次数、启动重试次数、盘校准重试次数、重定位扇区次数、使用的备用的技术、擦除失败技术、运行时失败技术、不可修复的错误技术、可校正错误的错误率、循环冗余错误计数、逻辑块地址写入量等等。基于S.M.A.R.T的盘故障预测通常使用一种阈值算法来实现。具体地,如果检测到任何属性值超过对应的预定阈值,则触发一个S.M.A.R.T标志来指示盘故障。在这种情况中,阈值的选择将决定盘故障预测的准确度。然而,很多制备商对阈值的选择是很保守的,以避免将正常工作的盘预测为将发生故障。因此,仅仅基于S.M.A.R.T的阈值预测,对盘故障预测率非常低(大约3%至10%)。
[0018] 还提出了一种利用统计模型来预测盘故障的方案。可以收集在较长一段时间内盘的操作信息(例如,S.M.A.R.T的属性值)和故障信息(例如,指示盘何时故障),然后针对每种盘的模型,确定盘的故障随着相应S.M.A.R.T属性的分布。然后,可以基于这种分布,确定不同故障类型的阈值。然后,在使用中发现,这种方案仍然难以获得令人满意的故障预测率。此外,需要针对不同盘模型都执行相应的故障分布确定和阈值确定,因此通用性较差。
[0019] 近年来,随着机器学习(ML)技术的深入研究和广泛应用,已经想到可以将ML技术用于预测盘故障。ML技术要求建立一个ML模型。这个ML模型基于与盘故障相关的训练数据来构建。模型的训练数据主要来自盘的监测数据,诸如以上提及的S.M.A.R.T属性值等,以及盘健康或故障的结果。
[0020] 图1示出了常规的基于机器学习的盘故障预测的环境100的示意框图。在环境100中,故障预测系统100包括模型训练器112,用于基于训练数据来训练机器学习模型120。所采用的训练数据可以包括与盘相关联的操作信息102以及指示相应盘是否故障的故障信息104。经过训练后,机器学习模型120可以由盘故障预测器114用于预测存储系统130中的各个盘(例如,盘131-1、131-2、……、131-N中的一个,N是大于等于1的整数)是否将发生故障。
机器学习模型120可以基于与存储系统130中的盘相关联的操作信息来确定该盘是否将故障。例如,机器学习模型120可以基于盘132-2相关联的操作信息确定盘132-2将要故障。盘故障预测器110将输出预测结果106,指示盘132-2将要故障。这个预测结果106可以被提供给存储系统130或者其他系统/设备,以便于能够针对这样的盘故障预测结果执行相应动作,例如备份盘132-2上的数据、替换/修复盘132-2等等。
[0021] 在基于机器学习模型的盘故障预测中,机器学习模型的预测准确性依赖于模型训练所使用的数据。当前很多机器学习模型在实验使用的训练数据基础上能够给出较好结果。然而,当发明人将工业现场采集到的训练数据(例如从实际运行的存储系统中采集到的与盘相关联的操作信息和/或故障信息)用于训练机器学习模型时,模型无法获得令人满意的结果。经过分析发现,这是因为训练数据中存在很多噪声(错误信息),严重影响模型的预测。
[0022] 通常,盘本身或者存储系统会统计和记录与各个盘相关联的操作信息。故障信息、即盘是否故障的指示基于该盘是否能够处理输入/输出(I/O)请求来确定。这种故障确定仅是从软件度进行判断。通常,难以从硬件角度来直接自动判断盘是否故障。然而,这样的故障判断可能是不准确的。除了盘实际故障的原因之外,还有许多其他原因可能导致盘无法处理I/O请求、从而被标记为故障。这些原因与存储系统的具体上下文相关。
[0023] 具体地,发明人通过检查故障信息后发现,存储系统中所使用的盘固件如果发生错误,将会导致相关联的多个盘在短时间内均被标记为故障,这种故障率远超过存储系统的正常故障率。此外,在存储系统的拓扑中,提供实际存储空间的盘还与连接组件相连,实现相互连接或者与其他设备连接。这些连接组件例如可以包括主机总线适配器(HBA)、扩展器、底板等。这些连接组件和盘的故障是相关的。如果这些连接组件发生故障(硬件故障或者固件故障),也会导致无法访问直接或间接相连的盘,因而影响盘的I/O请求响应。例如,已知某些连接组件固件故障可能会引起连接问题,使得相连的盘(例如,软盘)一直在线或离线,使得该盘无法正常处理I/O请求。另一个示例是当多种不兼容的盘混合在同一条链中,例如如果串行高级技术附件(SATA)盘和串行连接(SA)小型计算机系统接口(SCSI)盘(即SAS盘)被包括在同一SAS链中时,会导致该链不稳定,从而无法正常响应I/O请求。
[0024] 根据本公开的实施例,提出了一种用于促进盘故障预测的方案。为了更好地确定用于盘故障预测的机器学习模型,所获得的与多个盘相关联的操作信息和故障信息将被过滤。多个盘包括由故障信息指示存在故障的第一组盘和由故障信息指示不存在故障的第二组盘。在故障信息指示存在故障的第一组盘中,基于与包括第一组盘的相应存储系统相关联的系统上下文信息来确定与该组盘相关联的故障信息是否有效。如果与第一组盘中至少一个盘相关联的故障信息有效,与至少一个盘和第二组相关联的操作信息和故障信息用于确定机器学习模型,以用于盘故障预测。通过这个方案,从整个系统角度过滤影响机器学习模型的训练的无效信息,其余信息将更利于机器学习模型的确定,使所获得的机器学习模型能更准确预测盘故障。
[0025] 下面将结合附图来详细描述本公开的实施例。
[0026] 图2示出了根据本公开的一些实施例的盘故障预测的环境200的示意框图。在环境200中,盘故障预测系统210包括信息过滤器211和模型训练器212。信息过滤器211用于对与多个盘相关联的操作信息202和故障信息204进行过滤。盘故障预测系统210还包括模型训练器212,用于接收信息过滤器211过滤后的操作信息202’和故障信息204’,并且基于所获得的信息来确定机器学习模型220。虽然被示出为分离的组件,然而应当理解,信息过滤器
211和模型训练器212可以被实现为同一计算设备或者被包括在同一计算设备内,以实现训练机器学习模型220的目的。
[0027] 所确定的机器学习模型220被提供给盘故障预测器214,以用于预测盘故障,例如预测存储系统230中的盘232-1、232-2、……、232-N中的任一盘的故障(N是大于等于1的整数)。盘故障预测器214提供机器学习模型220的预测结果206。存储系统230可以被称为待检测存储系统,并且存储系统230中要被检测的一个或多个盘可以被称为待检测盘。
[0028] 在预测盘故障时,盘故障预测器214可以从存储系统230获得与待检测盘相关联的操作信息(例如与训练机器学习模型220的操作信息的类型相同的操作信息),并且获得的操作信息作为机器学习模型220的输入。已训练的机器学习模型220可以基于这样的输入来确定待检测盘的故障作为预测结果206。预测结果206指示待检测盘在一段时间内是否将会故障。例如,在图2的示例中,预测结果206可以指示存储系统230中的盘232-2将要故障。
[0029] 盘故障预测器214用于在机器学习模型220已经被训练后的模型使用,因此可以被实现为与信息过滤器211和/或模型训练器212分离的计算设备,例如被部署在需要对存储系统执行盘故障预测的各个站点。当然,盘故障预测系统210中的三个部件也可以由同一计算设备来实现。
[0030] 为便于说明,下文将参考流程图来描述信息过滤器211和模型训练器212如何确定用于盘故障预测的机器学习模型。图3示出了根据本公开的实施例的支持盘故障预测的过程300的流程图。过程300由图2的信息过滤器211和模型训练器212实现。为便于说明,参考图2来描述过程300。
[0031] 在框310,信息过滤器211获取与多个盘相关联的操作信息202和故障信息204。在信息过滤过程中,信息过滤器211获得的与多个盘相关联的操作信息202和故障信息204可以由这些盘自身或相应存储系统所采集,并且可以被预先记录在一个或多个数据库中。
[0032] 与每个盘相关联的操作信息202可以包括与该盘的操作相关联的各类属性信息。操作信息202的示例包括在每个盘的操作期间监测或记录的操作状态统计信息,诸如盘的S.M.A.R.T属性值、电池管理系统(BMS)统计信息(对于SAS盘尤其适用),以及其他统计信息。这类统计信息通常还包括对应的时间戳。备选地或附加地,操作信息还可以包括盘的固有属性,包括以下一项或多项:盘的类型、型号、供应商等。盘的类型可以包括各类存储设备,诸如硬盘、软盘、磁盘、磁带等。不同类型的盘还可以进一步被细分。例如,当前很多类型的硬盘因其大容量而被广泛用于存储系统,这类硬盘包括SATA盘、SAS盘、固态硬盘(SSD)、硬盘驱动器(HDD)等等。
[0033] 与每个盘相关联的故障信息204可以指示该盘是否存在故障。这种故障信息可以基于相应存储系统的操作系统对盘是否能够处理I/O请求的监测。如果监测到一个盘不能够处理I/O请求,该盘可以被标记为故障。如果监测到该盘能够正常处理I/O请求,该盘可以被标记为健康。这种健康或故障的标签可以作为与盘相关联的故障信息204,被周期性地采集和记录。每个盘204的故障信息204除了指示盘是健康或者故障之外,还可以包括时间信息,指示盘被监测为健康或故障的发生时间。
[0034] 操作信息202和故障信息204可以来源于一个或多个存储系统。相应存储系统可以监测和上报在运行过程中监测到的硬件配置、运行时统计和时间日志上传到数据分析系统。然后,通过对这些原始数据的解析和格式化,可以以结构化数据的形式呈现对应盘的操作信息和故障信息。
[0035] 在一些实施例中,取决于故障信息204,相关联的多个盘包括故障信息指示存在故障的第一组盘和故障信息指示不存在故障的第二组盘。根据本公开的实施例,信息过滤器211将从与第一组盘相关联的操作信息202和故障信息204中过滤出噪声信息(即错误信息,特别是错误的故障信息)。
[0036] 在框320,信息过滤器211基于与包括第一组盘的相应存储系统相关的系统上下文信息,确定与第一组盘相关联的故障信息204的有效性。故障信息的有效性用于衡量该盘自身发生故障或者是由于盘外部的系统原因而导致故障。如果是由于盘外部的系统原因而导致盘被错误标记为故障,这样的故障信息是无效的。与盘所在的存储系统相关的系统上下文信息指示盘所处的系统上下文,从而可以从整个系统而不是盘自身的角度来观察造成盘故障的原因。由此,可以确定导致故障信息204指示盘存在故障的另外的原因(不是盘本身的硬件错误)。可以针对第一组盘中的每个盘,判断相关联的故障信息是否有效。
[0037] 在一些实施例中,系统上下文信息可以与盘的其他方面,例如固件方面相关的错误信息,因为盘固件的错误可能影响盘对I/O请求的处理。因此,系统上下文信息可以包括固件错误信息,指示相应存储系统中至少一个存储系统所使用的盘固件出错。在另外一些实施例中,系统上下文信息还可以包括相应存储系统的拓扑信息和指示相应存储系统中的连接组件存在故障的另一故障信息。盘通常会经由连接组件相互耦合,对盘的访问因而需要经由这些连接组件。如果连接组件发生故障,那么盘将无法正常处理I/O请求,从而可能被标记为故障。此外,系统级的故障(例如盘固件错误和/或连接组件错误)通常会影响到多个设备,如果在短时间内系统中被标记为存在故障的盘的数目突增,也可能会存在系统级错误而不是盘自身错误。因此,系统上下文信息还可以包括存储系统的预定故障率。
[0038] 信息过滤器211可以基于以上一项或多项系统上下文信息来确定故障信息204的有效性。图4示出了基于以上三方面的系统上下文信息来确定与第一组盘中的一个盘(下文被称为当前盘)相关联的故障信息的有效性的过程400。过程400可以被认为是过程300的框320的一个实现,因而可以由信息过滤器211实现。
[0039] 在框410,信息过滤器211确定当前盘所在的存储系统在预定时间段内的故障盘的故障率是否超过预定故障率。故障率指的是在单位时间内存储系统中被标记为存在故障(由故障信息标记)的盘的数目与盘的总数目之间的比率。作为一种系统上下文信息,预定故障率是存储系统在正常情况下故障盘的可接受故障率。这个故障率可以从长时间段内的该系统的历史故障率分布来确定。通常,每个存储系统的预定故障率维持在一个较稳定的平。在一个存储系统中,某个预定时间段内的故障盘可以包括相关联的故障信息所指示的故障的发生时间。换言之,考虑在该盘被标记为故障的一段时间内该存储系统中发生故障的盘的数目。
[0040] 如果在某个时间段内系统中故障盘的数目未超过预定故障率,这意味着当前盘的故障属于该系统的正常故障范围内,因此在框460,信息过滤器211确定与该盘相关联的故障信息有效。如果在某个时间段内确定系统中故障盘的数目突增,这意味着可能存在一个系统级错误导致盘故障。在这种情况下,信息过滤器21继续考虑其他系统上下文信息。
[0041] 具体地,过程400行进到框420,其中信息过滤器211确定当前盘所使用的盘固件是否出错。信息过滤器211可以基于当前盘所在的存储系统所使用的盘固件出错的固件错误信息来确定。盘固件通常被应用到多个盘。盘固件出错可能由于盘固件的版本出错或者盘固件的当前版本无法支持处理存储系统中某些I/O请求。例如,某些盘固件版本可能无法同时处理混合的读/写请求和非读/写请求,这会导致盘内部重置、从而盘被下线并且无法处理后续I/O请求。盘固件错误虽然导致盘无法处理I/O请求,但是该盘自身硬件上可能未损坏,并且在盘固件问题被排除之后仍然可以继续工作。
[0042] 如果基于固件错误信息确定当前盘使用的盘固件出错,信息过滤器211在框450确定与该盘相关联的故障信息无效。如果基于固件错误信息确定当前盘未使用出错的盘固件,信息过滤器211可以确定与该盘相关联的故障信息有效,或者可以继续参考其他系统上下文信息来做进一步判断。例如,在图4的示例中,如果确定当前盘未使用出错的盘固件,信息过滤器211可以继续基于与系统连接相关的因素来进一步确定故障信息是否有效。
[0043] 具体地,在框430,信息过滤器211确定当前盘所在的存储系统中的连接组件是否存在故障。连接组件的故障可以由系统上下文信息中与连接组件相关联的另一故障信息所指示。连接组件是存储系统中用于将不同盘互相连接的组件,以构成拓扑结构,例如构成一个或多个独立磁盘冗余阵列(RAID)或RAID组。连接组件例如可以包括主机总线适配器(HBA)、HBA端口、磁盘阵列存储模块(DAE)、扩展器、底板、机架、各种连接线等。
[0044] 连接组件的故障可以包括由连接组件所使用的固件的故障(固件故障)和/或连接组件在硬件上的故障(硬件故障)。如果一个存储系统中的连接组件发生故障,那么经由该连接组件可访问的盘都无法处理I/O请求,从而相关联的故障信息都将标记该盘存在故障。通常,连接组件的固件故障可以被直接标记(例如,通过已知的固件问题来确定)。连接组件的硬件故障可以通过记录在给定时间窗口内发生的硬件错误来确定,或者可以间接确定。
在间接确定的情况中,可以确定经由该连接组件可访问的所有盘均是否都被标记为存在故障,如果所有盘均被标记为存在故障,那么故障原因可能是连接组件而不是盘本身。例如,如果属于同一DAE或者附接到同一HBA端口的所有盘均被标记为存在故障,那么可以确定DAE或HBA端口存在故障,从而导致这些盘中的一些或全部盘被标记为故障。
[0045] 如果信息过滤器211确定没有连接组件被标记为存在故障,那么可以在框460确定与当前盘相关联的故障信息是有效的。如果确定连接组件存在故障,信息过滤器211在框440基于拓扑信息来标识当前盘是否需经由连接该连接组件可访问。拓扑信息也是一种系统上下文信息,指示存储系统中的各个组件相互之间如何连接。基于拓扑信息,信息过滤器
211可以确定对当前盘的访问必需经由那个存在故障的连接组件。
[0046] 如果确定当前盘需经由存在故障的连接组件来访问,信息过滤器211在框450确定与当前盘相关联的故障信息无效。在这种情况中,连接组件的故障可能是造成当前盘被标记为存在故障的原因,当前盘本身在硬件上可能仍然能够正常运行。因此,相关联的故障信息是无效的,不能被使用。如果确定当前盘无需经由故障的连接组件来访问,信息过滤器211在框460确定与当前盘相关联的故障信息有效。
[0047] 应当理解,虽然图4以特定顺序示出了多个框,然而这个顺序仅是示例。过程400还可以包括未示出的附加框和/或可以省略所示出的框并且框之间的顺序也可以改变。例如,可以仅考虑以上提及的一个或多个方面的系统上下文信息,从而相应框将从图4中被删除。例如,信息过滤器211可以在框420判断盘故障未出错之后确定与该盘相关联的故障信息有效,而无需继续执行后续步骤。在一些示例中,框410也可以省略。在另外一些示例中,框420可以与框430和440并行执行。
[0048] 对于第一组盘中的每个盘,均可以按照过程400来判断其有效性。由此,可以确定第一组盘中具有有效故障信息204的盘和具有无效故障信息204的盘。
[0049] 继续参考过程300,在框330,经过对第一组盘中的每个盘的有效性验证后,信息过滤器211确定与第一组盘中的至少一个盘相关联的故障信息是否是有效。信息过滤器211可以过滤掉无效故障信息204,并且确定与无效故障信息相关联的盘,进而过滤掉与所确定的盘相关联的操作信息202。信息过滤器211可以从第一组盘中确定具有有效故障信息的至少一个盘。信息过滤器211可以将过滤后的操作信息202’和故障信息204’提供给模型训练器212。过滤后的操作信息202’和故障信息204’将包括与第一组盘中所标识的至少一个盘以及第二组盘相关联的操作信息和故障信息。
[0050] 如果确定与第一组盘中的至少一个盘相关联的故障信息有效,在框340,模型训练器212可以基于与至少一个盘和第二组盘相关联的操作信息202’和故障信息204’来确定机器学习模型220。所确定的机器学习模型因而可以具有从盘的操作信息预测盘的故障的能力。机器学习模型可以被认为是表示输入(操作信息)与输出(故障信息)之间的关系或映射的函数。机器学习模型的训练过程是利用训练数据(即操作信息202’和故障信息204’)来不断更新函数所涉及的参数,从而达到收敛目标。
[0051] 在一些实施例中,模型训练器212可以选择各种类型的机器学习模型。一些机器学习模型的示例可以包括随机森林模型、决策树支持向量机模型(SVM)和神经网络模型。这些机器学习模型的结构根据需要被设计和选择。通常,如果机器学习模型被设计为更深(即具有更多层、更多节点),那么机器学习模型的能力将会更强。模型训练器212可以利用各种模型训练算法来训练机器学习模型,诸如随机梯度下降、前向传播、后向传播等。模型训练器212所采用的机器学习模型的类型和训练算法可以是任何当前已知的或将来待开发的模型类型和算法,本公开的范围在此方面不受限制。
[0052] 根据本公开的实施例,通过从用于训练的操作信息和故障信息中过滤掉无效(噪声)的信息部分,可以改进机器学习模型的训练,以使得机器学习模型能够学到更有效且准确的盘故障预测。对于训练数据的过滤可以适用于训练各种机器学习模型,以实现盘预测的目的。因此,这种训练数据的过滤具有通用性和可扩展性,不局限于针对特定存储系统和/或特定类型的机器学习模型的应用场景。
[0053] 在一些实施例中,如果确定对第一组盘相关联的故障信息204的有效性进行验证之后,在框330确定全部故障信息204均无效,那么模型训练器212将不会利用所获得的操作信息202和故障信息204进行机器学习模型确定。可以获取与其他盘相关联的另外的操作信息和故障信息用于确定机器学习模型。当然,另外的操作信息和故障信息也需要经由信息过滤器211执行过滤。
[0054] 在一些实施例中,还可以基于性能度量(也被称为第一性能度量)来确定机器学习模型220。性能度量指的是机器学习模型的处理准确率的度量。性能度量可以表示机器学习模型220从多个盘中正确预测第一组盘中故障信息有效的盘的概率或者机器学习模型220将第二组盘错误预测为故障的概率。
[0055] 用于机器学习模型的性能度量可以有多种。在一个示例中,假设将盘存在故障的预测结果标记为正(例如,预测结果取值为1),并且将盘不存在故障的预测结果标记为负(例如,预测结果取值为0)。在统计学上,机器学习模型220从多个盘中正确预测第一组盘中故障信息有效的盘的概率可以被称为真正率(True Positive Rate,TPR),即模型给出正确报警的能力。机器学习模型220将第二组盘错误预测为故障的概率可以被称为假正率(False Positive Rate,FPR),即模型给出假报警的概率。TPR和FPR可以被呈现为受试者工作特征(ROC)曲线。理想情况下,期望TPR越高越好,并且FPR越小越好。然而,在机器学习中,无法同时获得期望的TPR和FPR,这意味着更高的TPR往往伴随着更高的FPR。
[0056] 通常,在模型训练时,可以配置一个阈值TPR或阈值FPR,然后基于该阈值TPR或阈值FPR来选择机器学习模型的具体配置、超参数、训练方案(例如,训练的迭代次数、训练数据的使用、收敛目标、训练算法等)等等。通过训练来对模型参数不断调优,使得机器学习模型220满足预定的性能度量。
[0057] 然而,训练后的机器学习模型关注于单个盘的故障预测,仅是针对单个盘相关联的操作信息来预测该盘是否将发生故障。单个机器学习模型220没有从系统级别来查看盘故障预测的性能。换言之,单个机器学习模型具有固定的TPR或FPR值,因而在所有情况下对待预测的存储系统的盘故障预测能力是一样的。然而,在存储系统的实际运行中,系统稳定性会发生变化。例如,如果一个系统(例如RAID6系统)中的较多盘已经故障,与不存在故障盘的状况相比,使用具有更高TPR的机器学习模型可能才能够正确预测其余盘的故障。因此,经训练的单个机器学习模型来持续执行存储系统的盘故障预测,无法始终获得令人满意的预测结果。
[0058] 在本公开的一些实施例中,提出了确定具有不同性能度量的多个机器学习模型。在这种情况下,在模型使用时可以基于待检测的存储系统的稳定性来选择多个机器学习模型中的一个用于盘故障预测。图5示出了这样的盘故障预测系统200的示例。在图5中,除了机器学习模型220之外,模型训练器212还基于过滤后的操作信息202’和故障信息204’来训练一个或多个另外的机器学习模型,例如机器学习模型522、524。机器学习模型522和/或
524的训练与机器学习模型220类似。
[0059] 虽然基于与机器学习模型220的相同训练数据(即202’和故障信息204’),然而模型训练器212可以基于与机器学习模型220不同的性能度量来训练机器学习模型522和/或524。机器学习模型522和/或524可以具有与机器学习模型220不同的模型类型。例如机器学习模型220可以是神经网络模型,机器学习模型522可以是随机森林模型,而机器学习模型
524可以是支持向量机模型。备选地,机器学习模型220、522和524可以是同一类型的模型,但是模型配置、超参数、训练方案等等可以不一样。由此,可以使得这些机器学习模型具有不同的性能度量,例如不同的TPR或FPR。
[0060] 应当理解,虽然图5中示出了三个机器学习模型,然而模型训练器212可以确定更少(例如两个)或者更多的机器学习模型。
[0061] 模型训练器212示出的机器学习模型220、522和524被提供给盘故障预测器214。在使用时,盘故障预测器214可以基于待检测存储系统230的稳定性水平502相对应的性能度量,来选择机器学习模型220、522和524中的一个机器学习模型,以用于预测待预测盘(例如,盘232-1、232-2、……232-N中的任一个)的故障。存储系统230的稳定性水平502指的是存储系统230所包括的用于存储的盘能够稳定操作,具体可以由基于存储系统230中已经故障的盘的数目被确定。因此,随着存储系统230的运行,稳定性水平可能随着时间而变化。
[0062] 如果存储系统230中有一个或多个盘已经故障,这意味着该存储系统230的稳定性水平502较低。相反,如果存储系统230中没有盘故障或者仅有较少数目的盘故障,这意味着存储系统230的稳定性较高。在存储系统230的稳定性水平502较低的情况下,盘故障预测器214可以从机器学习模型220、522和524中选择具有较高TPR(从而可能具有较高FPR)的机器学习模型来执行盘故障预测,从而可以更快速且可靠地检测盘的故障。
[0063] 在图2的示例中利用机器学习模型220或者在图5的示例中利用从多个机器学习模型中选择的一个模型来执行盘故障预测时,如果机器学习模型输出的预测结果206指示待检测盘在未来时间段内将要故障,那么该盘可以被标记为“将要故障”或“垂死”,例如盘232-2可以被标记为“将要故障”。不同于被标记为“已故障”的盘,“将要故障”的盘仍然能够处理I/O请求,因而不会对存储系统的其他盘造成额外I/O处理压力。
[0064] 在预测盘将要故障的情况下,可以采取一些动作来应对盘将要故障这种情况。在一个示例中,由于该盘仍然能够处理I/O请求,可以执行复制重构,以从盘的健康区段中的数据复制到其他盘,而不涉及其他盘I/O重构。这种复制重构可以加速重构,并且对存储系统230的正常I/O造成压力。复制重构可以由系统210或者由获得预测结果206的其他系统或设备来执行。
[0065] 在一些示例中,如果被标记为“将要故障”的盘后续实际发生故障。复制重构过程可以停止,该盘被标记为“已故障”。如果数据复制没有完成,可以利用正常的盘重构过程来继续重构数据。当存储系统230的盘已经故障(例如,盘232-2被标记为“已故障”)时,存储系统230的稳定性水平将会降低。之后,在预测存储系统230中的其他盘是否故障时,可以基于降低后的稳定性水平,选择不同的机器学习模型来继续执行盘故障预测。
[0066] 图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。设备600可以被实现为图2和/或图4的信息过滤器211、模型训练器212和/或盘故障检测器214。设备600可以用于实现图3的过程300和/或图4的过程400。
[0067] 如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
[0068] 设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0069] 处理单元601执行上文所描述的各个方法和处理,例如过程300和/或过程400。例如,在一些实施例中,过程300和/或过程400可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的过程300和/或过程400的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程300和/或过程400。
[0070] 本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
[0071] 应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
[0072] 以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈