首页> 中国专利> 多因素云服务存储设备错误预测

多因素云服务存储设备错误预测

摘要

本文中描述了用于多因素云服务存储设备错误预测的系统和技术。一组存储设备度量和一组计算系统度量可以被获取。特征集可以使用该一组存储设备度量和该一组计算系统度量而被生成。特征集的成员可以通过使用特征集的成员评估验证训练数据集而被验证。已修改特征集可以基于验证而被创建。存储设备故障模型可以使用已修改特征集而被创建。存储设备额定范围可以通过使存储设备的误分类成本最小化而被确定。待标记的一组存储设备可以被标识为具有高故障概率。

著录项

  • 公开/公告号CN112771504A

    专利类型发明专利

  • 公开/公告日2021-05-07

    原文格式PDF

  • 申请/专利权人 微软技术许可有限责任公司;

    申请/专利号CN201880095070.6

  • 发明设计人 徐勇;林庆维;隋楷心;

    申请日2018-06-29

  • 分类号G06F11/22(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人辛鸣

  • 地址 美国华盛顿州

  • 入库时间 2023-06-19 10:52:42

说明书

技术领域

本文中描述的实施例总体上涉及计算机磁盘错误检测,并且在一些实施例中更具体地涉及多因素存储设备错误预测。

背景技术

云服务提供商维护数据存储、计算和网络服务,以供服务提供商组织外部的实体使用。数据存储可以包括存储设备(例如,硬盘驱动器、固态驱动器、非易失性存储器等)的集群。计算服务可以包括托管虚拟计算机设备的计算节点的集群,每个虚拟计算机设备使用可用于计算节点或集群的计算硬件的一部分。联网服务可以包括用于互连虚拟计算设备的虚拟网络基础设施。给定虚拟计算设备的操作系统和数据可以位于跨数据存储系统而被分布的一个或多个存储设备上。如果保存虚拟计算设备的操作系统或数据的存储设备遇到错误,则虚拟计算设备可能会遇到意外关机或者可能会遇到操作问题(例如,服务丢失、响应时间缓慢、数据丢失、错误等)。检测和替换遇到错误的存储设备可以使云服务提供商将虚拟计算设备的资源重新定位到不同的存储设备,以减轻服务中断。

自我监测、分析和报告技术(S.M.A.R.T.)是一种被包括在某些类型的存储设备中的监测系统。S.M.A.R.T.可以监测存储设备,并且可以提供存储设备错误的通知。S.M.A.R.T.错误可以提供发生故障的驱动器的指示。但是,当S.M.A.R.T.错误报告已经被触发时,正在使用存储设备的虚拟计算设备可能已经遇到服务中断。

附图说明

在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述相似的组件。具有不同字母后缀的相似数字可以表示相似组件的不同实例。附图通过示例而非限制的方式大体上示出了本文档中讨论的各种实施例。

图1是根据一个实施例的用于多因素云服务存储设备错误预测的环境和系统的示例的框图。

图2是示出根据一个实施例的用于多因素云服务存储设备错误预测的过程的示例的流程图。

图3是示出根据一个实施例的用于多因素云服务存储设备错误预测的特征选择的过程的示例的流程图。

图4是示出根据一个实施例的用于多因素云服务存储设备错误预测的方法的示例的流程图。

图5是示出可以在其上实现一个或多个实施例的机器的示例的框图。

具体实施方式

高服务可用性对于云系统至关重要。典型的云系统使用大量的物理存储设备。如本文中使用的,术语存储设备是指在云存储系统中使用的任何持久性存储介质。存储设备可以包括例如硬盘驱动器(HDD)、固态驱动器(SSD)、非易失性存储器(例如,符号NVM(NVMe)标准、非易失性存储器主机控制器接口规范(NVMHCIS)标准等)等。

存储设备错误可能是导致云服务提供商无法使用服务的主要原因。存储设备错误(例如,扇区错误、等待时间错误等)可以被视为一种形式的灰色故障,这可能是细微的故障,这种故障即使在导致应用错误时也很难发现。本文中讨论的系统和技术可以通过在存储设备错误对云系统造成更严重损害之前前摄地预测存储设备错误来减少由于存储设备错误而导致的服务中断。预测故障存储设备的能力使得能够对现有虚拟机(VM)(例如,虚拟计算设备等)进行实时迁移并且将新的虚拟机分配给健康存储设备。

前摄地将工作负载转移到健康存储设备也可以提高服务可用性。为了建立准确的在线预测模型,评估存储设备级传感器(S.M.A.R.T.)数据和系统级信号两者以标识可能发生故障的存储设备。使用成本敏感的基于排名的机器学习模型,该模型可以学习先前故障存储设备的特性并且基于当前存储设备近期出现错误的可能性对当前存储设备排名。本文中讨论的解决方案通过包括系统级信号而胜过了传统的检测存储设备错误方法。个体系统级信号本身可能并不指示故障。但是,系统级信号和存储设备级传感器数据的组合可以提供存储设备发生故障的可能性的指示。可以对照故障预测模型来评估系统级因素和存储设备级因素。故障预测模型可以表示可以确定给定存储设备将发生故障的概率的多因素分析模型。与包括存储设备级数据或系统级数据的单因素分析相比,系统级和存储设备级数据的收集和分析可以产生对存储设备故障的更准确的预测。

近年来,软件应用越来越多地作为在线服务部署在云计算平台上。全球数以百万计的用户可以在24/7/365的基础上使用云服务平台。因此,高可用性已经成为基于云的服务提供商必不可少的。尽管很多云服务提供商都以高服务可用性为目标(例如,99.999%的正常运行时间等),但服务可能会发生故障并且引起用户极大的不满和收入损失。例如,根据对来自美国63个数据中心组织的数据进行的一项研究,停机时间的平均成本从2010年的505,502美元/小时稳定增长到2016年的740,357美元/小时。

有几种传统的存储设备错误检测解决方案可用。例如,一些现有方法已经尝试根据历史存储设备故障数据来训练预测模型,并且使用已训练模型来预测存储设备在不久的将来是否将发生故障(例如,存储设备是否将运行)。然后可以采取前摄性补救措施,诸如替换容易发生故障的存储设备。但是,预测模型主要是使用S.M.A.R.T.数据构建的,S.M.A.R.T.数据是由嵌入在存储设备驱动器中的固件提供的存储设备级传感器数据。

这些现有方法可以专注于预测完全的存储设备故障(例如,存储设备是可操作的/不可操作的)。然而,在云环境中,在完全的存储设备故障之前,上层服务可能已经受到存储设备错误(例如,经历等待时间错误、超时错误、扇区错误等)的影响。这些症状可以包括例如文件操作错误、VM无法响应于通信请求等。这些细微的故障可能不会触发存储设备错误检测系统进行快速且确定性的检测。如果不采取任何措施,则可能会出现更严重的问题或可能会发生服务中断。使用本文中讨论的解决方案对磁盘故障的早期预测可以允许前摄性修复,包括例如错误感知VM分配(例如,将VM分配给更健康存储设备)、实时VM迁移(例如,将VM从故障存储设备移动到健康存储设备)等。这可以允许在出现可能导致服务中断的错误之前停止使用存储设备。

存储设备错误可以由诸如操作系统(OS)事件等系统级信号来反映。可以使用预测算法来对同时包含S.M.A.R.T.数据和系统级信号两者的云存储系统中的存储设备的健康排名。机器学习算法可以用于使用历史数据来训练预测模型。输出是用于预测短期内可能发生故障的存储设备的模型。可以使用预测模型根据每个存储设备的错误倾向程度对所有存储设备排名,从而使得云服务计算系统可以在成本和容量约束下分配新的VM并且将现有VM迁移到排名为最健康的存储设备。

预测云服务存储系统中的存储设备错误提出了挑战。云存储系统中的数据不平衡使预测更加困难。例如,每天1,000,000个存储设备中可能有300个出现故障。从系统移除健康存储设备的成本很高,并且可能会导致不必要的容量损失。因此,使用成本敏感的排名模型来应对这一挑战。根据存储设备的错误倾向对存储设备排名,并且通过使总成本最小化来标识故障驱动器。使用成本敏感的排名模型,可以标识最容易出错的r个存储设备,而不是将容易出错的存储设备归类为故障存储设备。以这种方式,可以按照更严密地表示实际预期故障率的成本有效的方式从云存储系统移除容易出错的存储设备。

一些特征、尤其是系统级信号可能是时间敏感的(例如,值随时间持续急剧变化)或环境敏感的(例如,由于云环境不断变化,其数据分布将发生显著变化)。使用这些不稳定特征而构建的模型可能会在交叉验证时导致良好结果(例如,将数据随机分为训练和测试集),但在真实世界在线预测时表现不佳(例如,按时间将数据分为训练和测试集)。为了应对这一挑战,使用独特的特征选择技术来执行系统性特征工程,以选择稳定且可预测的特征。

与传统的存储设备错误检测解决方案相比,本文中公开的系统和技术提供了更健壮和更早期的存储设备错误检测和缓解。对云存储系统中的存储设备执行多因素评估。使用唯一特征选择模型来评估系统级因素和存储设备级因素两者,以选择存储设备故障预测特征。成本敏感的排名模型用于根据存储设备的错误倾向来对存储设备排名。该解决方案的优势在于,容易出错的存储设备可以被尽早标识,并且可以在存储设备导致系统停机之前从云存储系统中被移除。通过使用成本敏感的排名,易于出错的存储设备可以按照接近预期实际故障率的速率从云存储系统中被移除,这可以使云存储提供商提前移除存储设备的成本最小化。

图1是根据一个实施例的用于多因素云服务存储设备错误预测的环境100和系统120的示例的框图。环境100可以包括云服务基础设施105,该云服务基础设施105包括云存储系统110(例如,存储区域网络(SAN)、超融合计算系统、廉价存储设备冗余阵列(RAID)阵列等),该云服务系统110包括保存操作系统(OS)数据和虚拟机(VM)(例如,共享主机计算节点的物理计算硬件的虚拟计算设备等)115的其他数据的多个存储设备。云存储系统110和虚拟机115可以通信地耦合(例如,经由有线网络、无线网络、蜂窝网络、共享总线等)到系统120。在一个示例中,系统120可以是多因素存储设备错误检测引擎。系统120可以包括各种组件,诸如度量收集器125、特征集生成器130、特征选择器135、模型生成器140、比较器145、(多个)数据库150和存储管理器155。

云存储系统110可以包含服务于各种服务和应用的多达数亿个存储设备。存储设备可以用在各种类型的集群中,诸如例如用于数据存储的集群和用于云应用的集群。数据存储群集可以使用冗余机制,诸如廉价存储设备(RAID)冗余阵列技术,这些冗余机制可以增加存储设备的容错能力。云应用群集可以托管大量虚拟机115,并且应当理解,存储设备错误可能导致对由虚拟机115托管的服务和应用的不希望的中断。本文中讨论的技术可以通过在存储设备导致服务故障之前预测存储设备错误来减少中断。

服务中断可能导致收入损失和用户不满。因此,服务提供商竭尽全力提高服务可用性。例如,服务提供商可以寻求将可靠性从“四个九”(例如,99.99%)增加到“五个九”(例如,99.999%),然后增加到“六个九”(例如,99.9999%)。存储设备是云服务基础设施105中最经常出现故障的组件之一,并且因此是提高可靠性的重要工作重点。

对存储设备故障的发生的自动预测可以允许云服务提供商避免导致系统故障(例如,对虚拟机115的操作的影响等)的存储设备错误。以这种方式,可以采取诸如存储设备替换等前摄性措施。传统的存储设备错误预测解决方案可以使用自我监测、分析和报告技术(S.M.A.R.T.)数据来监测个体存储设备的内部属性,以构建故障预测模型。

但是,在存储设备完全发生故障之前,该存储设备可能已经开始报告错误。存在各种存储设备错误,例如存储设备分区错误(例如,存储设备卷和卷大小变得异常)、等待时间错误(例如,对数据的请求与数据返回之间的意外的长延迟)、超时错误(例如,超过预定义的存储设备超时值)和扇区错误(例如,存储设备上的个体扇区变得不可用)等。存储设备故障可以通过常规系统故障检测机制来检测。但是,这些常规机制通常采用其中存储设备正在运行或发生故障的过于简单的故障模型。这样的常规机制不足以处理存储设备错误,因为它们可能表现为细微的灰色故障。

存储设备错误很常见,并且可能影响上层应用的正常运行并且可能导致VM 115意外停机。症状可以包括I/O请求超时、VM 115或容器未响应于通信请求等。如果不采取任何措施,则可能会出现更严重的问题,甚至服务中断。因此,重要的是,在VM 115错误发生之前捕获和预测存储设备错误。

度量收集器125可以从云存储系统110中的存储设备获取一组存储设备度量,并且从虚拟机115获取一组计算系统度量。度量收集器125可以将所获取的度量存储在(多个)数据库150中(例如,由度量与物理存储设备之间的关系等来布置)。收集两类数据:存储设备度量(例如,S.M.A.R.T.数据等)和计算系统度量(例如,系统级信号等)。例如,S.M.A.R.T.数据可以从每个存储设备的监测固件获取,该监测固件允许该存储设备报告有关其内部活动的数据。

表1提供了S.M.A.R.T.特征的一些示例。

表1

在云系统中,还存在各种系统级事件,这些系统级事件可以周期性地(例如,每小时等)收集。这些系统级事件中的很多(例如,OS事件、文件系统操作错误、意外的遥测丢失等)是存储设备错误的早期信号。表2给出了一些系统级信号的描述。在一个示例中,该一组计算系统度量包括来自虚拟机的系统级信号,其中操作系统数据驻留在云计算存储系统中的存储设备上。例如,FileSystemError是由存储设备相关错误引起的事件,该错误可以被追溯到坏扇区或存储设备完整性损坏。这些计算系统度量可以对应于包含虚拟机115的数据的存储设备,并且可以被包括在计算系统度量中。

表2

特征集生成器130可以使用该一组存储设备度量和该一组计算系统度量来生成特征集。该特征集可以被存储在(多个)数据库150中。除了直接从原始数据中标识出的特征,还可以计算一些统计特征,诸如:

Diff:特征值随时间的变化可以有助于区分存储设备错误。给定一个时间窗w,在时间戳t处特征x的Diff定义如下:

Diff(x,t,w)=x(t)-x(t-w)

Sigma:Sigma计算特定时段内属性值的方差。给定时间窗w,在时间戳t处属性x的Sigma定义为:

Sigma(x,t,w)=E[(X-μ)

并且

Bin:Bin计算窗口w中的属性值之和,如下:

在计算Diff、Bin和Sigma时可以使用三种不同的窗口大小(例如,3、5、7)。可以从存储设备度量和计算系统度量中标识出多个特征(例如,457个特征等)。但是,并非所有特征都可以区分健康和故障存储设备,尤其是在在线预测的情况下。因此,特征选择器135可以通过使用特征集中的特征评估验证训练数据集,来执行对特征集中的特征的验证。

在一个示例中,可以将验证训练数据集按时间划分为训练数据集和测试数据集。可以使用训练数据集来训练预测模型。可以通过使用预测模型来在测试数据集中预测结果来计算参考准确度结果。可以移除特征集中的特征,并且可以在没有特征集中的特征的情况下重新训练预测模型。可以通过使用重新训练的预测模型在测试数据集中预测结果来计算特征准确度结果。特征集中的特征也可以从测试数据集被移除。如果参考准确度结果大于特征集准确度结果,则可以验证特征集中的特征。换言之,如果与具有特征的模型相比,预测模型更准确地预测没有特征的模型,则将从特征集移除该特征,因为确定该特征不是预测特征。

特征集生成器130可以基于验证来创建已修改特征集。事实证明,特征选择过程对于选择用于构建机器学习模型的相关特征非常有用。现有的特征选择方法分为两大类:统计指示符(例如,卡方、互信息等)和基于机器学习的方法(例如,随机森林等)。由于存在时间敏感和环境敏感特征,因此传统的特征选择方法可能无法获取良好的预测性能。这些特征所携带的信息与训练时段高度相关,但可能不适用于预测下一时间段的样本。这些表示非预测性特征,这表示它们在在线预测中没有预测性能力。

模型生成器140可以使用已修改特征集来创建存储设备故障模型。存储设备故障模型可以表示给定存储设备可能发生故障的概率。在已经从历史数据中收集特征之后,然后构建存储设备故障模型(例如,预测模型)以预测未来几天存储设备的错误倾向。将预测问题表述为排名问题而不是分类问题。也就是说,不是简单地判断存储设备是否有故障,而是根据其错误倾向对存储设备排名。排名方法减轻了故障数据极端不平衡的问题,因为它对类不平衡不敏感。

为了训练排名模型,获取关于存储设备的历史故障数据,并且根据存储设备的相对故障时间对存储设备排名(例如,收集数据之间的天数并且检测第一错误)。采用“学习排名”的概念,该概念可以从大量数据中自动学习优化排名模型以使损失函数最小化。可以使用FastTree算法(它是一种形式的“多重加法回归树”(MART)梯度提升算法)以便以逐步方式构建每个回归树(例如,这是在它的叶子中具有标量值的决策树)。

比较器145可以通过使存储设备的误分类成本最小化来确定存储设备额定范围(rating range)。为了提高服务可用性,可以将新的VM 115分配给更健康的存储设备(例如,被排列为最不容易出错的存储设备等),从而使得这些VM 115在不久的将来不太可能遇到存储设备错误。为了实现这一点,基于故障和健康存储设备发生故障的概率来标识故障和健康存储设备。由于大多数存储设备是健康的,并且只有一小部分存储设备是故障的,因此由排名模型返回所选择的前r个结果作为故障存储设备。

在一个示例中,可以标识将存储设备误分类为具有高故障概率的第一成本和将存储设备误分类为不具有高故障概率的第二成本。存储设备额定范围可以是导致误分类存储设备的数目乘以第一成本和第二成本中的每个成本的最低总和的该数目。例如,选择最佳的前r个存储设备使得它们可以使总误分类成本最小化:

cost=Cost 1*FP

其中FP

Costl和Cost2的值可以由产品团队的专家凭经验确定。在一个示例中,由于对VM115迁移成本和云容量的担忧,Cost1可能比Cost2高得多(例如,精确度的价值大于召回的价值)。Cost1与Cost2之间的比率可以由领域专家设置为例如3:1。通过从历史数据中获取的误报率和漏报率来估计误报和漏报数目。最佳r值是通过使总误分类成本最小化来确定的。前r个存储设备是预测的故障存储设备,它们是高风险的存储设备,并且因此托管在其上的VM 115应当被迁移出去。

比较器145可以将一组存储设备标识为要被标记为具有高故障概率。该一组存储设备可以包括等于存储设备额定范围的多个存储设备。可以基于使用存储设备故障模型对存储设备的评估来对该一组存储设备中的存储设备排名。

所排名的存储设备可以由存储管理器155标记为退役(例如,替换、移除、数据迁移等),并且可以在云服务基础设施105中生成新的VM 115时被避免使用。附加地或备选地,VM115数据可以从所标记的存储设备迁移到健康存储设备。健康存储设备可以被标识为被排名为具有最低故障概率的一系列存储设备。在一个示例中,所标识的健康存储设备的数目可以等于所标记的存储设备的数目,其容量等于由所标记的存储设备存储的数据等。在一个示例中,数据可以基于其排名从所标记的存储设备中迁移出来。

在一个示例中,可以基于使用存储设备故障模型对健康存储设备的评估来标识健康存储设备。可以确定驻留在该一组存储设备中的成员存储设备上的虚拟机的数据,并且可以将虚拟机的数据从存储设备的成员迁移到健康存储设备。

在另一示例中,可以基于使用存储设备故障模型对存储设备的评估来标识健康存储设备。可以接收用以创建新虚拟机115的请求,并且可以在健康存储设备而不是该一组存储设备上创建虚拟机的数据。

预测模型可以被周期性地更新以捕获在云服务基础设施105中发生的变化。例如,可以每天获取存储设备度量和计算系统度量,并且可以每天对存储设备排名和标记。当标识出新特征或更新历史数据时,还可以周期性地更新特征选择,以指示可以预测存储设备故障的其他特征。因此,随着新类型的存储设备被添加到云存储系统110以及随着云服务基础设施105的发展,预测模型可以发展。另外,随着新技术变得可用于管理VM 115的存储,可以调节成本计算功能以允许误报和漏报检测的竞争成本的可变变化。

图2示出了根据一个实施例的用于多因素云服务存储设备错误预测的过程200的示例的流程图。过程200可以提供如图1所述的特征。

本文中讨论的系统和技术基于对历史数据的分析来预测存储设备的错误倾向。预测存储设备错误的能力可以通过前摄地将VM分配给更健康的存储设备而不是故障存储设备,并且将VM从预测的故障存储设备前摄地迁移到健康存储设备,来帮助提高服务可用性。使用机器学习技术基于历史存储设备错误数据构建预测模型,然后使用该模型预测存储设备在不久的将来出现错误的可能性。在为大型云服务系统设计存储设备错误预测模型时,存在一些技术挑战:

(a)数据极度不平衡:对于大型云服务系统,每天可能只有万分之三的存储设备出现故障。不平衡的存储设备故障率给训练分类模型带来困难。有了这种不平衡的数据,幼稚的分类模型可能会尝试判断所有存储设备是否健康,因为以这种方式,它做出错误猜测的可能性最低。一些方法可能会应用数据重新平衡技术(诸如过采样和欠采样技术)来尝试解决这一挑战。这些方法可能有助于提高召回率,但同时可能引入大量的误报,这可能导致精确度降低。移除错误地检测到的存储设备可能会减少容量并且可能会由于导致不必要的VM迁移而使成本较高。

(b)在线预测:传统解决方案可能会以交叉验证的方式解决预测问题。但是,交叉验证可能不是评估存储设备错误预测模型的最有效解决方案。在交叉验证中,数据集可以随机分为训练集和测试集。因此,训练集可能包含部分将来数据,而测试集可能包含部分过去数据。但是,当涉及在线预测时(例如,使用历史数据来训练模型并且预测未来状态),训练和测试数据不会有时间重叠。

在存储设备错误预测中,某些数据(尤其是系统级信号)是时间敏感的(例如,其值随时间而急剧变化)或环境敏感的(例如,其数据分布可能由于不断变化的云环境而改变)。例如,如果存储设备机架由于电压不稳定或OS升级而发生环境变化,则其上的所有存储设备都将经历变化。使用交叉验证,环境特定知识可以传播到训练集和测试集两者。从训练集学到的知识可以被应用于测试集。因此,为了在实践中构造有效的预测模型,使用在线预测代替交叉验证。预测时不应当知道将来的知识。

云磁盘错误预测(CDEF)可以通过预测存储设备错误来提高服务可用性。过程200示出了CDEF的概述。首先,收集有关故障和健康存储设备的历史数据。通过现场工程师对服务问题的根本原因分析来获取存储设备错误标签210。特征数据包括S.M.A.R.T.数据205和系统级信号215。

CDEF通过结合特征工程过程220来解决云系统中存储设备错误检测的一些挑战。可以在操作225处标识特征。特征可以包括基于来自S.M.A.R.T.数据205的原始数据的特征和与错误标签210对应的系统级信号215。

然后由特征选择过程230处理特征,以选择稳定的和预测性的特征。生成排名模型235,并且将其用于提高成本敏感的在线预测的准确度。在操作230处,选择稳定和预测性的特征以进行训练。基于所选择的特征,构建对成本敏感的排名模型235,该模型235对存储设备排名。

可以标识使预测的故障存储设备的误分类成本最小化的前r个存储设备245。例如,最容易出错的前一百个存储设备可以被标识为有故障250。剩余的存储设备可以未标记或者可以被标记为健康255。当新数据240由排名模型235评估时,被标识为故障的存储设备的数目以及被标识为故障的存储设备的特性可能会发生变化。

图3示出了根据一个实施例的用于多因素云服务存储设备错误预测的特征选择的过程300的示例的流程图。过程300可以提供如图1和图2所述的特征。

诸如SeekTimePerformance等某些特征可以是非预测性特征。训练集中的健康存储设备随时间的特征值以及训练集中的故障存储设备的特征值可以证明,健康存储设备的平均特征值低于故障存储设备的平均特征值。但是,事实并非如此。测试集中的健康和故障存储设备随时间的特征值可以表明,健康存储设备的平均特征值高于故障存储设备的平均特征值。因此,该特征的行为是不稳定的。因此,该特征被认为是非预测性特征,并且不适合于在线预测。作为比较,诸如ReallocatedSectors等预测性特征可以证明行为稳定——在训练和测试集两者中,健康存储设备的值接近零并且故障存储设备的值随时间不断增加。

为了选择稳定和预测性特征,执行特征选择过程300以修剪掉将在预测中性能不佳的特征。过程300的目标是模拟训练集上的在线预测。

利用包括特征(f

使用包括该特征的模型来计算准确度结果(例如,在操作320处)。并且使用不包括该特征的模型来计算准确度结果(例如,在操作325处)。如果在删除一个特征之后验证集上的性能变得更好,则该特征被删除(例如,在操作330处)。评估特征,直到剩余特征的数目小于特征总数的θ%(例如,如在判定335处确定的)。在一个示例中,在默认情况下,θ被设置为等于10%,这表示如果剩余特征的数目少于10%,则修剪过程将停止。如果剩余特征在阈值之上,则评估其他特征(例如,在操作315处)。如果剩余特征低于或等于阈值,则返回已修改特征集(例如,在操作340处)。然后,使用零均值归一化如下重新缩放所有选择的特征的范围:x

图4示出了根据一个实施例的用于多因素云服务存储设备错误预测的方法400的示例。方法400可以提供如图1至图3所述的特征。

可以获取一组存储设备度量和一组计算系统度量(例如,由如图1所述的度量收集器125)(例如,在操作405处)。在一个示例中,该一组存储设备度量可以包括来自云计算存储系统中的存储设备的自我监测、分析和报告技术(S.M.A.R.T.)信号。在一个示例中,该一组计算系统度量包括来自虚拟机的系统级信号,其中操作系统数据驻留在云计算存储系统中的存储设备上。

可以使用该一组存储设备度量和该一组计算系统度量来生成特征集(例如,由图1所述的特征集生成器130)(例如,在操作410处)。在一个示例中,特征集可以包括用于计算针对被包括在数据集中的时间窗口的统计值的统计特征。

可以通过使用特征集的成员评估验证训练数据集来验证特征集的成员(例如,由如图1所述的特征选择器135)(例如,在操作415处)。在一个示例中,可以将验证训练数据集按时间划分为训练数据集和测试数据集。可以使用训练数据集来训练预测模型。可以通过使用预测模型在测试数据集中预测结果来计算参考准确度结果。可以移除特征集的成员,并且可以在没有特征集的成员的情况下重新训练预测模型。在特征集的成员已经从测试数据集被移除的情况下,可以通过使用重新训练的预测模型在测试数据集中预测结果来计算特征准确度结果。如果参考准确度结果大于特征准确度结果,则可以验证特征集的成员。

可以基于验证来创建已修改特征集(例如,由如图1所述的特征集生成器130)(例如,在操作420处)。可以使用已修改特征集来创建存储设备故障模型(例如,由如图1所述的模型生成器140)(例如,在操作425处)。存储设备故障模型可以表示给定存储设备可能发生故障的概率。

可以通过使存储设备的误分类成本最小化来确定存储设备额定范围(例如,由如图1所述的比较器145)(例如,在操作430处)。在一个示例中,可以标识将存储设备误分类为具有高故障概率的第一成本和将存储设备误分类为不具有高故障概率的第二成本,并且存储设备额定范围可以是导致误分类存储设备的数目乘以第一成本和第二成本中的每个成本的最低总和的该数目。

一组存储设备可以被标识为要被标记为具有高故障概率。该一组存储设备可以包括等于存储设备额定范围的多个存储设备。可以基于使用存储设备故障模型对存储设备的评估来对该一组存储设备中的存储设备排名。

在一个示例中,可以基于使用存储设备故障模型对健康存储设备的评估来标识健康存储设备。可以确定驻留在该一组存储设备中的成员存储设备上的虚拟机的数据,并且可以将来自该存储设备的成员的虚拟机的数据迁移到健康存储设备。

在另一示例中,可以基于使用存储设备故障模型对健康存储设备的评估来标识健康存储设备。可以接收用以创建新虚拟机的请求,并且可以在健康的存储设备上而不是在该一组存储设备上创建虚拟机的数据。

图5示出了可以在其上执行本文中讨论的任何一种或多种技术(例如,方法)的示例机器500的框图。在替代实施例中,机器500可以作为独立设备操作,或者可以连接(例如,联网)到其他机器。在网络部署中,机器500可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力操作。在一个示例中,机器500可以在对等(P2P)(或其他分布式)网络环境中充当对等机器。机器500可以是个人计算机(PC)、平板计算机、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络设备、网络路由器、交换机或网桥、或者能够执行指令(顺序或以其他方式)的任何机器,这些指令指定要由该机器执行的操作。此外,虽然仅示出了单个机器,但是术语“机器”也应当被理解为包括任何机器集合,这些机器个体地或共同地执行一组(或多组)指令以执行本文中讨论的任何一种或多种方法,诸如云计算、软件即服务(SaaS)和其他计算机集群配置。

如本文所述,示例可以包括逻辑或多个组件或机制或者可以由逻辑或多个组件或机制来操作。电路集是在包括硬件的有形实体中实现的电路的集合(例如,简单电路、门、逻辑等)。电路集成员资格可以随时间推移以及潜在的硬件可变性而变得灵活。电路集包括在操作时可以单独或组合执行指定操作的成员。在一个示例中,电路集的硬件可以被不变地设计为执行特定操作(例如,硬连线)。在一个示例中,电路集的硬件可以包括可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),包括被物理地修改(例如,磁性、电学、不变质量的粒子的可移动放置等)以对特定操作的指令进行编码的计算机可读介质。在连接物理组件时,硬件组件的基础电性能会发生变化,例如从绝缘体改变为导体,反之亦然。指令使得嵌入式硬件(例如,执行单元或加载机构)能够通过可变连接以硬件创建电路集的成员,以在操作时执行特定操作的部分。因此,当设备操作时,计算机可读介质通信地耦合到电路集成员的其他组件。在一个示例中,任何物理组件可以在一个以上的电路集的一个以上的成员中使用。例如,在操作下,执行单元可以在一个时间点在第一电路集中的第一电路中使用,并且在不同时间,可以由第一电路集中的第二电路或由第二电路集中的第三电路重用。

机器(例如,计算机系统)500可以包括硬件处理器502(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合)、主存储器504和静态存储器506,其中的一些或全部可以经由互连链路(例如,总线)508彼此通信。机器500还可以包括显示单元510、字母数字输入设备512(例如,键盘)和用户界面(UI)导航设备514(例如,鼠标)。在一个示例中,显示单元510、输入设备512和UI导航设备514可以是触摸屏显示器。机器500可以另外包括存储设备(例如,驱动单元)516、信号生成设备518(例如,扬声器)、网络接口设备520和一个或多个传感器521,诸如全球定位系统(GPS)传感器、指南针、加速度计或其他传感器。机器500可以包括输出控制器528,诸如串行(例如,通用串行总线(USB))、并行或其他有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以通信或控制一个或多个外围设备(例如,打印机、读卡器等)。

存储设备516可以包括机器可读介质522,该机器可读介质522上存储有由本文中描述的任何一种或多种技术或功能体现或利用的一组或多组数据结构或指令524(例如,软件)。在机器500执行指令524期间,指令524也可以全部或至少部分驻留在主存储器504内,在静态存储器506内或在硬件处理器502内。在一个示例中,硬件处理器502、主存储器504、静态存储器506或存储设备516的中一个或任何组合可以构成机器可读介质。

虽然机器可读介质522被示出为单个介质,但是术语“机器可读介质”可以包括被配置为存储一个或多个指令524的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。

术语“机器可读介质”可以包括能够存储、编码或携带由机器500执行的指令并且引起机器500执行本公开的任何一种或多种技术或者能够存储、编码或携带由这样的指令使用或与这样的指令相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。在一个示例中,机器可读介质可以排除暂态传播信号(例如,非暂态机器可读介质)。非易失性机器可读介质的特定示例可以包括:非易失性存储器,诸如半导体存储设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,诸如内部硬盘和可移除磁盘;磁光盘;CD-ROM和DVD-ROM磁盘;等。

在一个示例中,机器可读介质可以包括云服务平台(例如,云服务基础设施105等)中的存储设备。在一个示例中,存储设备可以包括硬盘驱动器(HDD)、固态驱动器(SSD)、非易失性存储器(例如,符合NVM(NVMe)标准、非易失性存储器主机控制器接口规范(NVMHCIS)标准等)等。

指令524还可以使用多种传输协议(例如,帧中继、网际协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任何一种经由网络接口设备520使用传输介质通过通信网络526来传输或接收。示例通信网络可以包括局域网(LAN)、广域网(WAN)、分组数据网络(例如,互联网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络、和无线数据网络(例如,被称为

示例1是一种用于前摄性存储设备错误预测的系统,所述系统包括:至少一个处理器;以及包括指令的存储器,所述指令在由所述至少一个处理器执行时,使得所述至少一个处理器执行操作以:获取一组存储设备度量和一组计算系统度量;使用所述一组存储设备度量和所述一组计算系统度量生成特征集;通过使用所述特征集中的特征评估验证训练数据集,来执行对所述特征集中的特征的验证;创建包括所述特征集中的已验证特征的已修改特征集;使用所述已修改特征集创建存储设备故障模型,其中所述存储设备故障模型确定给定存储设备可能发生故障的概率;通过存储设备的误分类成本的最小化来确定存储设备额定范围;以及标识一组存储设备以产生具有高故障概率的存储设备的指示,其中所述一组存储设备包括在所述存储设备额定范围内的多个存储设备,并且其中所述一组存储设备中的存储设备基于使用所述存储设备故障模型对所述存储设备的评估而被排名。

在示例2中,示例1的主题包括,所述存储器还包括用于以下的指令:基于使用所述存储设备故障模型对健康存储设备的评估来标识所述健康存储设备;确定驻留在所述一组存储设备中的成员存储设备上的虚拟机的数据;以及将所述虚拟机的所述数据从所述成员存储设备迁移到所述健康存储设备。

在示例3中,示例1至2的主题包括,所述存储器还包括用于以下的指令:基于使用所述存储设备故障模型对所述存储设备的评估来标识健康存储设备;接收用以创建新虚拟机的请求;以及代替所述一组存储设备中的存储设备在所述健康存储设备上创建所述新虚拟机的数据。

在示例4中,示例1至3的主题包括,其中用于执行对所述特征集中的所述特征的验证的指令还包括用于以下的指令:按时间将所述验证训练数据集划分为训练数据集和测试数据集;使用所述训练数据集训练预测模型;通过使用所述预测模型在所述测试数据集中预测结果来计算参考准确度结果;移除所述特征集中的特征,并且在没有所述特征集中的所述特征的情况下重新训练所述预测模型;通过使用重新训练的所述预测模型在所述测试数据集中预测结果来计算特征准确度结果,其中所述特征集中的所述特征已经从所述测试数据集被移除;以及如果所述参考准确度结果大于所述特征准确度结果,则验证所述特征集中的所述特征。

在示例5中,示例1至4的主题包括,其中所述一组存储设备度量包括来自云计算存储系统中的存储设备的自我监测、分析和报告技术(S.M.A.R.T.)信号。

在示例6中,示例1至5的主题包括:其中所述一组计算系统度量包括来自相应虚拟机的系统级信号,其中操作系统数据驻留在云计算存储系统中的存储设备上。

在示例7中,示例1至6的主题包括,其中用于确定所述存储设备额定范围的所述指令还包括用于以下的指令:标识将存储设备误分类为具有高故障概率的第一成本和将所述存储设备误分类为不具有高故障概率的第二成本,其中所述存储设备额定范围是导致误分类存储设备的数目乘以所述第一成本和所述第二成本中的每个成本的最低总和的所述数目。

在示例8中,示例1至7的主题包括,其中所述特征集包括用于计算针对被包括在数据集中的时间窗口的统计值的统计特征。

示例9是至少一种机器可读存储介质,包括用于前摄性存储设备错误预测的指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器执行操作以:获取一组存储设备度量和一组计算系统度量;使用所述一组存储设备度量和所述一组计算系统度量生成特征集;通过使用所述特征集中的特征评估验证训练数据集,来执行对所述特征集中的特征的验证;创建包括所述特征集中的已验证特征的已修改特征集;使用所述已修改特征集创建存储设备故障模型,其中所述存储设备故障模型确定给定存储设备可能发生故障的概率;通过存储设备的误分类成本的最小化来确定存储设备额定范围;以及标识一组存储设备以产生具有高故障概率的存储设备的指示,其中所述一组存储设备包括在所述存储设备额定范围内的多个存储设备,并且其中所述一组存储设备中的存储设备基于使用所述存储设备故障模型对所述存储设备的评估而被排名。

在示例10中,示例9的主题包括用于以下各项指令:基于使用所述存储设备故障模型对健康存储设备的评估来标识所述健康存储设备;确定驻留在所述一组存储设备中的成员存储设备上的虚拟机的数据;以及将所述虚拟机的所述数据从所述成员存储设备迁移到所述健康存储设备。

在示例11中,示例9至10的主题包括用于以下的指令:基于使用所述存储设备故障模型对所述存储设备的评估来标识健康存储设备;接收用以创建新虚拟机的请求;以及代替所述一组存储设备中的存储设备在所述健康存储设备上创建所述新虚拟机的数据。

在示例12中,示例9至11的主题包括,其中用于执行对所述特征集中的特征的验证的指令还包括用于以下的指令:按时间将所述验证训练数据集划分为训练数据集和测试数据集;使用所述训练数据集训练预测模型;通过使用所述预测模型在所述测试数据集中预测结果来计算参考准确度结果;移除所述特征集中的特征,并且在没有所述特征集中的所述特征的情况下重新训练所述预测模型;通过使用重新训练的所述预测模型在所述测试数据集中预测结果来计算特征准确度结果,其中所述特征集中的所述特征已经从所述测试数据集被移除;以及如果所述参考准确度结果大于所述特征准确度结果,则验证所述特征集中的所述特征。

在示例13中,示例9至12的主题包括,其中所述一组存储设备度量包括来自云计算存储系统中的存储设备的自我监测、分析和报告技术(S.M.A.R.T.)信号。

在示例14中,示例9至13的主题包括:其中所述一组计算系统度量包括来自相应虚拟机的系统级信号,其中操作系统数据驻留在云计算存储系统中的存储设备上。

在示例15中,示例9至14的主题包括,其中用于确定所述存储设备额定范围的所述指令还包括用于以下的指令:标识将存储设备误分类为具有高故障概率的第一成本和将所述存储设备误分类为不具有高故障概率的第二成本,其中所述存储设备额定范围是导致误分类存储设备的数目乘以所述第一成本和所述第二成本中的每个成本的最低总和的所述数目。

在示例16中,示例9至15的主题包括,其中所述特征集包括用于计算针对被包括在数据集中的时间窗口的统计值的统计特征。

示例17是一种用于前摄性存储设备错误预测的方法,所述方法包括:获取一组存储设备度量和一组计算系统度量;使用所述一组存储设备度量和所述一组计算系统度量生成特征集;通过使用所述特征集中的特征评估验证训练数据集,来执行对所述特征集中的特征的验证;创建包括所述特征集中的已验证特征的已修改特征集;使用所述已修改特征集创建存储设备故障模型,其中所述存储设备故障模型确定给定存储设备可能发生故障的概率;通过使存储设备的误分类成本最小化来确定存储设备额定范围;以及标识一组存储设备以产生具有高故障概率的存储设备的指示,其中所述一组存储设备包括在所述存储设备额定范围内的多个存储设备,并且其中所述一组存储设备中的存储设备基于使用所述存储设备故障模型对所述存储设备的评估而被排名。

在示例18中,示例17的主题包括:基于使用所述存储设备故障模型对健康存储设备的评估来标识所述健康存储设备;确定驻留在所述一组存储设备中的成员存储设备上的虚拟机的数据;以及将所述虚拟机的所述数据从所述成员存储设备迁移到所述健康存储设备。

在示例19中,示例17至18的主题包括:基于使用所述存储设备故障模型对所述存储设备的评估来标识健康存储设备;接收用以创建新虚拟机的请求;以及代替所述一组存储设备中的存储设备在所述健康存储设备上创建所述新虚拟机的数据。

在示例20中,示例17至19的主题包括,其中执行对所述特征集中的所述特征的验证还包括:按时间将所述验证训练数据集划分为训练数据集和测试数据集;使用所述训练数据集训练预测模型;通过使用所述预测模型在所述测试数据集中预测结果来计算参考准确度结果;移除所述特征集中的特征,并且在没有所述特征集中的所述特征的情况下重新训练所述预测模型;通过使用重新训练的所述预测模型在所述测试数据集中预测结果来计算特征准确度结果,其中所述特征集中的所述特征已经从所述测试数据集被移除;以及如果所述参考准确度结果大于所述特征准确度结果,则验证所述特征集中的所述特征。

在示例21中,示例17至20的主题包括,其中所述一组存储设备度量包括来自云计算存储系统中的存储设备的自我监测、分析和报告技术(S.M.A.R.T.)信号。

在示例22中,示例17至21的主题包括,其中所述一组计算系统度量包括来自相应虚拟机的系统级信号,其中操作系统数据驻留在云计算存储系统中的存储设备上。

在示例23中,示例17至22的主题包括,其中确定所述存储设备额定范围还包括:标识将存储设备误分类为具有高故障概率的第一成本和将所述存储设备误分类为不具有高故障概率的第二成本,其中所述存储设备额定范围是导致误分类存储设备的数目乘以所述第一成本和所述第二成本中的每个成本的最低总和的所述数目。

在示例24中,示例17至23的主题包括,其中所述特征集包括用于计算针对被包括在数据集中的时间窗口的统计值的统计特征。

示例25是至少一种包括指令的机器可读介质,所述指令在由处理电路系统执行时,使得所述处理电路系统执行用于实现示例1至24中的任何一个的操作。

示例26是一种包括用于实现示例1至24中的任何一个的模块的装置。

示例27是一种实现示例1至24中的任何一个的系统。

示例28是一种实现示例1至24中的任何一个的方法。

上面的详细描述包括对附图的引用,这些附图形成详细描述的一部分。附图通过说明的方式示出了可以实践的特定实施例。这些实施例在本文中也被称为“示例”。这样的示例除了示出或描述的元素外,还可以包括其他元素。然而,本发明人还设想了其中仅提供示出或描述的元素的示例。此外,本发明人还设想了针对特定示例(或其一个或多个方面)或针对本文中示出或描述的其他示例(或其一个或多个方面)使用示出或描述的元素(或其一个或多个方面)的任何组合或排列的示例。

本文中引用的所有出版物、专利和专利文件都通过引用整体并入本文,就好像通过引用个体地并入。如果本文档与通过引用并入的文档之间的用法不一致,则应当将并入的(多个)引用中的用法视为对本文档中的用法的补充;对于不能协调的不一致,以本文档中的用法为准。

在本文档中,术语“一个(a)”或“一个(an)”如专利文档中那样使用,以包括一个或一个以上,独立于“至少一个(at least one)”或“一个或多个(one or more)”的任何其他情况或用法。在本文档中,除非另外指出,否则术语“或(or)”用于表示非排他性的或,从而使得“A或B”包括“A但不包括B”、“B但不包括A”和“A和B”。在所附权利要求中,术语“包括(including)”和“其中(in which)”被用作相应术语“包括(comprising)”和“其中(wherein)”的普通英语等效词。而且,在以下权利要求中,术语“包括(including)”和“包括(comprising)”是开放式的,即,除了权利要求中在该术语之后列出的元素之外还包括其他元素的系统、设备、物品或过程仍被认为落入该权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅用作标签,并且不旨在对其对象施加数字要求。

上面的描述意图是说明性的,而不是限制性的。例如,上述示例(或其一个或多个方面)可以彼此组合使用。在回顾以上描述之后,例如可以由本领域的普通技术人员使用其他实施例。“摘要”是为了使得读者能够快速地确定技术公开的性质,并且是在摘要被理解为不会被用来解释或限制权利要求的范围或含义的前提下提交的。另外,在以上“具体实施方式”中,可以将各种特征分组在一起以简化本公开。这不应当被解释为意在意欲使未要求保护的公开特征对于任何权利要求都是必不可少的。相反,发明主题可以在于少于特定公开实施例的所有特征。因此,所附权利要求据此被结合到“具体实施方式”中,其中每个权利要求独立地作为单独的实施例。实施例的范围应当参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号