一种存储故障修复方法、系统、设备及介质与流程

未命名 08-17 阅读:271 评论:0


1.本发明属于计算机领域,具体涉及一种存储故障修复方法、系统、设备及介质。


背景技术:

2.在超融合系统中,在每台服务器节点上,一般采用服务器节点上不同性能的存储介质进行存储虚拟化,进而将超融合系统中所有服务器节点组成一个分布式的存储池。常见的存储介质包含ssd硬盘、sata硬盘等,超融合系统通过多副本方式来确保某台服务器节点离线不影响用户数据的正常使用。
3.但常见的存储介质都有一定的故障率,在超融合系统中涉及的大量服务器和存储介质,因此,服务器和存储介质故障无法避免,超融合系统需要有效应对存储介质故障,保证多副本的有效性。
4.因此,如何快速地感知存储介质故障并高效地恢复受故障影响的数据,就是一个亟需解决的问题。


技术实现要素:

5.为解决上述问题,本发明提出一种存储故障修复方法,包括:获取存储节点数据传输过程中的传输信息;基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;根据所述运行状态执行修复。
6.在本发明的一些实施方式中,获取存储节点数据传输过程中的传输信息的步骤包括:监控相同数据在互为备份的存储节点的数据传输状态信息;以及监控相同数据在互为备份的存储介质的读写状态信息。
7.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储节点的数据传输差异,根据传输差异计算对应的第一差异率,并判断所述第一差异率是否超过预设值;响应于所述第一差异率超过预设值,将所述互为备份的存储节点中数据传输性能较低的存储节点的异常事件计数器的值加一,并判断所述异常事件计数器的值是否超过第一警戒值;响应于所述异常事件计数器的值超过第一警戒值,将所述数据传输性能较低的存储节点作为异常节点。
8.在本发明的一些实施方式中,对比相同数据在互为备份的存储节点的数据传输差
异,根据传输差异计算对应的第一差异率的步骤包括:通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值;根据所述状态分值计算互为备份的存储节点的所述第一差异率。
9.在本发明的一些实施方式中,通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:通过任意数据块在传输过程中的理论时间减去所述数据块在传输队列中的等待时间得到所述数据块的传输时间。
10.在本发明的一些实施方式中,通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:基于数据块的大小除以所述数据块在传输过程中的带宽得到所述数据块的在传输过程中的理论时间。
11.在本发明的一些实施方式中,根据所述状态分值计算互为备份的存储节点的所述第一差异率的步骤包括:将所述数据块对应的状态分值乘以所述数据块在传输队列中的优先级得到权重状态分值;获取任意数据块在到达传输队列时已有的数据块的个数,通过所述传输队列中已有的数据块的个数减去所述权重状态分值得到所述数据块的优先级状态分值;根据预定时间内每个存储节点的多个数据块的优先级状态分值构建每个存储节点对应的数据传输的关联关系函数;通过傅里叶变换将每个存储节点的关联关系函数从预定时间映射到频域空间;计算所述每个存储节点对应的关联关系函数在频域空间的方差,并将互为备份的存储节点的方差进行相减,将得到的结果作为所述互为备份的存储节点的所述第一差异率。
12.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:将互为备份的多个存储节点的实时数据传输速率作为数据传输关系函数;根据每个存储节点的所述数据传输关系函数中的数据传输速率的波峰和波谷进行截取,得到每个存储节点的数据传输波动函数;通过傅里叶变换将每个存储节点的数据传输波动函数由时域空间转换到频域空间,并计算每个存储节点的数据传输波动函数在频域空间的方差;将互为备份的存储节点的方差进行相减,判断所述相减的结果的绝对值是否大于预定值,响应于所述绝对值大于所述预定值,将所述互为备份的存储节点中方差较大的存储节点设为异常节点。
13.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储介质的读写差异,根据所述读写差异计算对应的
第二差异率,并判断所述第二差异率是否超过预设值;响应于所述第二差异率超过预设值,将互为备份的存储介质中读写性能较低的存储介质的异常事件计数器的值加一,并判断所述异常事件计数器的值是否超过第二警戒值;响应于所述异常事件计数器的值超过第二警戒值,将所述读写性能较低的存储介质作为异常存储介质并将所述存储介质所在的存储节点作为异常节点。
14.在本发明的一些实施方式中,方法还包括:监听存储介质的事件并判断事件类型;根据不同的事件类型对所述存储介质进行标记。
15.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:响应于所述事件类型为读写异常事件,将所述读写异常事件计数器的值加一,并判断所述读写异常事件计数器的值是否超过所述第二警戒值,响应于超过所述第二警戒值,将所述存储介质标记为故障;以及响应于所述事件类型为故障,将所述存储介质标记为故障。
16.在本发明的一些实施方式中,根据所述运行状态执行修复的步骤包括:响应于所述存储节点的运行状态为异常,确认所述异常是存储节点异常还是存储介质异常;响应于所述异常为存储节点异常,对所述异常节点的数据读写请求重定向到互为备份的正常的存储节点。
17.在本发明的一些实施方式中,方法还包括:响应于所述异常为存储介质异常,判断所述存储介质的状态是否为故障;响应于所述存储介质的状态为故障,将对所述存储介质的访存请求重定向到互为备份的存储节点中正常的存储节点或互为备份的存储介质中正常的存储介质上。
18.在本发明的一些实施方式中,方法还包括:响应于所述存储介质的状态不为故障,确定所述存储介质中出现错误的存储区块所对应的数据块的编号;响应于存在对所述编号的数据块的访问请求,将所述访问请求重定向到互为备份的存储节点中正常的存储节点上或互为备份的存储介质中正常的存储介质上。
19.在本发明的一些实施方式中,方法还包括:响应于所述存储介质的状态为故障,判断所述存储介质是否发生更换;响应于不存在对所述存储介质的更换,将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质所在的存储节点上的其他正常的存储介质中。
20.在本发明的一些实施方式中,将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质的节点上的其他正常的存储介质中的步骤包括:对待写入的数据进行分块并编号,将正常状态下分配给所述故障存储介质的数据块均匀地分配到所述节点上的其他存储介质中。
21.在本发明的一些实施方式中,方法还包括:
响应于所述故障的存储介质被替换,根据正常状态下分配给所述故障存储介质的数据块的编号从所述存储节点的其他存储介质中取出对应的数据块并写入到替换后的存储介质中。
22.在本发明的一些实施方式中,方法还包括:响应于所述故障的存储介质被替换,从与所述故障的存储介质所在的节点互为备份的节点中取回所述故障的存储介质原有的数据内容。
23.本发明的另一方面还提出一种存储故障修复系统,包括:存储状态监控模块,所述存储状态监控模块配置用于获取存储节点数据传输过程中的传输信息;存储状态判断模块,所述存储状态判断模块配置用于基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;存储修复模块,所述存储修复模块配置用于根据所述运行状态执行修复。
24.本发明的又一方面还提出一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
25.本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
26.通过本发明提出的一种存储故障修复方法,通过对互为备份的存储节点和存储介质的差异对比发现异常的存储节点和/或存储介质,并对异常的存储节点或存储介质的运行状态及时调整对应的访问策略,可有效保障超融合系统中数据业务的稳定性。
27.进一步,对存储节点中的传输状态采用傅里叶变换的方式将互为备份的存储节点对相同数据的传输情况由时域空间变换到频域空间,并在频域空间对比互为备份的存储节点的状态差异,可以有效保证对不同存储节点的运行状态判断的准确性。
附图说明
28.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明实施例提供的一种存储故障修复方法的流程示意图;图2为本发明实施例提供的一种存储故障修复系统的结构示意图;图3为本发明实施例提供的一种计算机设备的结构示意图;图4为本发明实施例提供的一种计算机可读存储介质的结构示意图。
具体实施方式
30.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照
附图,对本发明实施例进一步详细说明。
31.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
32.本发明旨在解决传统的超融合系统中的存储节点的故障问题,存储节点中用于存储业务需要大量的磁盘作为存储介质。而由于磁盘存在一定的故障率会导致存储节点的业务也会因此受到影响,进而导致超融合系统的稳定性下降。
33.如图1所示,为解决上述问题,本发明提出一种存储故障修复方法,包括:步骤s1、获取存储节点数据传输过程中的传输信息;步骤s2、基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;步骤s3、根据所述运行状态执行修复。
34.在本发明的一些实施例中,存储节点数据传输过程中的传输信息并不仅仅是指存储节点之间或者存储节点与相应的客户端的传输信息,而是指存储节点在数据传输过程中,不同的数据处理流程处理数据或输入输出数据的传输信息,包括:从网络接收数据,对数据进行解码、或者解密等计算处理的流程;将相应的数据写入磁盘或者是从磁盘读取相应的数据的流程,以及通过光纤通道或者其他数据传输通道向对应的数据存储节点发送数据或接收其他存储节点的数据的过程。
35.在步骤s1中,通过相应的监测工具实时监测存储节点中处理存储业务的进程“搬运”数据的传输信息,即如前所述,包括从网络中接收客户端的数据,以及将相应的数据缓存到内存中并进行后续处理,然后再将相应的数据写入到磁盘等过程中,即数据从其他渠道到一种存储介质的传输信息,传输信息的形式通常为数据的传输速率,或者是与数据传输过程相关的信息。
36.在步骤s2中,在获取到各个存储节点中在不同阶段的传输信息,将互为备份的存储节点或者是互为备份的存储介质的传输信息进行对比计算,得到互为备份的存储节点和/或存储介质的差异率信息,并通过差异率信息判断互为备份的存储节点和/或存储介质的运行状态,即是正常还是异常。
37.在步骤s3中,根据步骤s2中的判断结果对异常的存储介质或存储节点执行相应的修复策略进行修复。
38.在本发明的一些实施方式中,获取存储节点数据传输过程中的传输信息的步骤包括:监控相同数据在互为备份的存储节点的数据传输状态信息;以及监控相同数据在互为备份的存储介质的读写状态信息。
39.在本实施例中,获取存储节点的数据传输过程中的传输信息主要包括两方面,一是在互为备份的存储节点之上,对于同一份数据在不同存储节点(这些存储节点互为备份)的数据传输状态信息,该数据传输状态信息包含了上述实施例中的数据通过网络或其他传输途径到达存储节点的传输过程、存储节点对通过网络或其他传输途径的数据的处理过程,例如网络数据解析存到内存空间,以及当需要对该数据进行解密或者其他处理时的处
理过程的状态信息。
40.另一方面则是在数据落盘时在互为备份的存储介质上的读写状态信息,即同一个数据在一个存储节点向多个互为备份的磁盘中写入数据时的读写状态信息,读写状态信息包括对数据的修改、删除等情况下的读写速度等。
41.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储节点的数据传输差异,根据传输差异计算对应的第一差异率,并判断所述第一差异率是否超过预设值;响应于所述第一差异率超过预设值,将所述互为备份的存储节点中数据传输性能较低的存储节点的异常事件计数器的值加一,并同时判断所述异常事件计数器的值是否超过第一警戒值;响应于所述异常事件计数器的值超过第一警戒值,将所述数据传输性能较低的存储节点作为异常节点。
42.在本实施例中,假设在存储节点的层面上,传输过程包括:通过网络接收数据、对数据进行解析或解密、将数据写入到磁盘。则在本实施例中,对比互为备份的存储节点之间在上述三个过程中各个存储节点对应的处理速度,对同一个数据或者说数据块,假设互为备份的存储节点是两个存储节点,则对比存储节点1和存储节点2在通过网络接收该数据块的传输速率、接收该数据后对该数据进行解析或解密过程中的解析或解密速率、以及对比存储节点1和节点2在将该数据写入到磁盘的过程中写入磁盘的速率。
43.在本发明的一些实施例中,所谓对比是指将互为备份的存储节点在上述过程中对应的速率参数进行相减,得到对应的差值即第一差异率,并判断该第一差异率是否超过预设的参考值,如果超过了则说明这两个存储节点在对应的处理过程中存在严重的性能失衡,即存在某个节点的性能大幅低于另一个相同功能的节点。则将性能较低的存储节点的异常事件计数器的值加一。
44.进一步,在将异常事件计数器的值加一之后,进一步判断该异常事件计数器的值是否超过第一警戒值,如果超过该第一警戒值则说明该存储节点出现问题的情况是较频繁,该存储节点可能出现异常,将该存储节点的运行状态设定为异常节点。
45.在本发明的一些实施例中,异常事件计数器的实现可分为两种,一种是以短时间内的作为参考的异常事件计数器,即以一定时间为滑动窗口,只统计该滑动窗口对应的时间范围内的异常次数,超过该时间范围的异常次数需要及时剔除,以此来降低因突发业务引起的数据传输或数据处理的异常。通常情况下此类型的异常事件计数器所对应的第一警戒值的数值设定较小。
46.另外一种情况的异常事件计数器则是以长时间统计异常次数的参考方式,即统计存储节点产生的异常次数,即只要和其他存储节点相比产生了异常即将对应的异常事件计数器加1。此种类型的异常事件计数器对应的第一警戒值的数值设定较高。
47.在本发明的一些实施方式中,对比相同数据在互为备份的存储节点的数据传输差异,根据传输差异计算对应的第一差异率的步骤包括:通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间
得到每个存储节点的状态分值;根据所述状态分值计算互为备份的存储节点的所述第一差异率。
48.在本发明的一些实施方式中,通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:通过任意数据块在传输过程中的理论时间减去所述数据块在传输队列中的等待时间得到所述数据块的传输时间。
49.在本发明的一些实施方式中,通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:基于数据块的大小除以所述数据块在传输过程中的带宽得到所述数据块的在传输过程中的理论时间。
50.在本发明的一些实施例中,在每个存储节点以数据块为单位计算数据块在每个存储节点对应的不同传输过程中的状态分值,即以数据块的大小除以在每个传输过程中的该大小的数据块的理论时间得到一个状态分值。
51.具体地,以存储节点接收其他节点或客户端的数据传输过程为例,在每个存储节点记录一个数据块的io完成时间t,该数据块的排队时间为p,数据块所在的存储介质(此时可以是内存或磁盘中)的io带宽b,数据块大小为s,io队列中的io个数q,可以得到一个数据块i在对应存储介质的一个分量xi:;其中ti为第i个数据块完成io所需要的时间,ni为数据块i的io操作到达时队列中需要完成的数据块io个数,pi表示数据块i在超融合调度队列中的排队时间,xi表示数据块i的实际io完成时间与理论完成时间的比值即状态分值。
52.进一步,将互为备份的每个存储节点的状态分值进行差分运算得到互为备份的存储节点的差异率。
53.在本发明的一些实施方式中,根据所述状态分值计算互为备份的存储节点的所述第一差异率的步骤包括:将所述数据块对应的状态分值乘以所述数据块在传输队列中的优先级得到权重状态分值;获取任意数据块在到达传输队列时已有的数据块的个数,通过所述传输队列中已有的数据块的个数减去所述权重状态分值得到所述数据块的优先级状态分值;根据预定时间内每个存储节点的多个数据块的优先级状态分值构建每个存储节点对应的数据传输的关联关系函数;通过傅里叶变换将每个存储节点的关联关系函数从预定时间映射到频域空间;计算所述每个存储节点对应的关联关系函数在频域空间的方差,并将互为备份的存储节点的方差进行相减,将得到的结果作为所述互为备份的存储节点的所述第一差异率。
54.进一步,在本发明的一些实施例中,在通过上述的状态分值计算其差异率时,进一步引入数据块在io队列中的优先级,即数据块的队列优先级j,优先级越高j的取值越小,优先级越低j的取值越大,见下表1。
55.表1 优先级分类示例优先级分类可如上表所示,共有高中低三个等级。由此,基于优先级的方式可以得到基于优先级的权重状态分值如下:;其中xi表示数据块i的实际io完成时间与理论完成时间的比值,即上文实施例中的状态分值。ji为数据块i的优先级,qi为数据块i到达io队列时队列中等待io的数据块个数,f(i)表示数据块i的完成时间分量与当时io队列中io个数的一种关联关系函数。
56.进一步,由于在互为备份的存储节点上对于同一个数据块的传输情况无法有效的量化,也即如果是对比数据块的传输时间只能得到时间维度,如果是只是对比速率的到只是平均速度,难以体现在数据块的传输过程的变化情况,因此,本发明提出通过傅里叶变换将每个存储节点的关联关系函数f(i)由时间域转变到频域,实现在一定时间内每个存储节点上对多个数据块的传输的综合传输情况的评估方式,即将一段时间内存储节点的处理的多个数据块的时间与速率关系由时间域变换到频域。
57.进一步,在变换到频域之后计算每个存储节点对应的一段时间内数据传输在频域空间的方差,并对比得到互为备份的存储节点在频域空间的差值,将该差值作为第一差异率,如果该差值高于第一警戒值,则说明两个存储节点的性能差异太大。按照上文中的差异决策方式进行处理即可。
58.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:将互为备份的多个存储节点的实时数据传输速率作为数据传输关系函数;根据每个存储节点的所述数据传输关系函数中的数据传输速率的波峰和波谷进行截取得到每个存储节点的数据传输波动函数;通过傅里叶变换将每个存储节点的数据传输波动函数由时域空间转换到频域空间,并计算每个存储节点的数据传输波动函数在频域空间的方差;将互为备份的存储节点的方差进行相减,判断所述相减的结果的绝对值是否大于预定值,响应于所述绝对值大于所述预定值,将所述互为备份的存储节点中方差较大的存储节点设为异常节点。
59.在本发明的一些实施例中,将互为备份的多个存储节点在不同的数据处理阶段(即包括数据接收、数据处理、数据落盘)对应的处理速率和时间作为数据传输关系函数,进一步,确定该数据传输关系函数的波峰和波谷,波峰是指存储节点在对应的数据处理阶段的最高处理速率或传输速率。波谷是指存储节点在对应的数据处理阶段最低的处理速率或传输速度。
60.进一步,对每个存储节点的传输关系函数在时间维度上减去最低波谷速率得到只包含了波峰到波谷数值范围的数据传输波动图形,并对该数据传输波动图形进行拟合得到对应的数据传输波动函数;
进一步,对每个存储节点数据传输波动函数进行傅里叶变换将其由时间域变换到频率域,并按照上述方法计算每个存储节点的在一定时间内对应的传输速率在频域的方差,然后将互为备份的存储节点对应该方差进行对比即相减得到第一差异率。进一步,如果第一差异率大于预设的数值,则将将所述互为备份的存储节点中方差较大的存储节点设为异常节点。
61.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储介质的读写差异,根据所述读写差异计算对应的第二差异率,并判断所述第二差异率是否超过预设值;响应于所述第二差异率超过预设值,将互为备份的存储介质中读写性能较低的存储介质的异常事件计数器的值加一,并判断所述异常事件计数器的值是否超过第二警戒值;响应于所述异常事件计数器的值超过第二警戒值,将所述读写性能较低的存储介质作为异常存储介质并将所述存储介质所在的存储节点作为异常节点。
62.在本发明的一些实施例中,对于存储介质的状态的判断主要是对比同一存储节点内的互为备份的存储介质的数据落盘或修改情况,其计算差异率的情况完全可按照上述实施例中对存储节点的第一差异率的方式。
63.以数据落盘为例,即以数据块的大小除以在每个传输过程中传输该大小的数据块的理论时间得到一个状态分值。在每个存储介质记录一个数据块落盘的io完成时间t,该数据块的在磁盘的处理队列中排队时间为p,数据块所要存储的存储介质(此时为磁盘)的io带宽b,数据块大小为s,io队列中的io个数q,可以得到一个数据块i在对应存储介质的一个分量xi:;其中ti为第i个数据块完成io所需要的时间,ni为数据块i的io操作到达时队列中需要完成的数据块io个数,pi表示数据块i在磁盘的调度队列中的排队时间,xi表示数据块i的实际io完成时间与理论完成时间的比值即状态分值。
64.进一步,将互为备份的存储介质的状态分值进行差分运算得到互为备份的存储介质的差异率,即第二差异率。
65.在本发明的一些实施例中,进一步,在本发明的一些实施例中,在通过上述的状态分值计算其差异率时,进一步引入数据块在磁盘io队列中的优先级,即数据块的队列优先级j,优先级越高j的取值越小,优先级越低j的取值越大,同样见表1中的示例。
66.优先级分类可如表1所示,共有高中低三个等级。由此,基于优先级的方式可以得到基于优先级的权重状态分值如下:;其中xi表示数据块i的实际io完成时间与理论完成时间的比值,即上文实施例中的状态分值。ji为数据块i的优先级,qi为数据块i到达io队列时队列中等待io的数据块个数,f(i)表示数据块i的完成时间分量与当时io队列中io个数的一种关联关系函数。
67.进一步,由于在互为备份的磁盘上对于同一个数据块的传输情况无法有效的量化,也即如果是对比数据块的传输时间只能得到时间维度,如果是只是对比速率的到只是数据传输的平均速度,难以体现在数据块的传输过程的变化情况,因此,对于存储介质的状态判断同样可以通过傅里叶变换将每个存储介质的关联关系函数f(i)由时间域转变到频域,实现在一定时间内每个存储介质上对多个数据块的传输的综合传输情况的评估方式,即将一段时间内存储节点的处理的多个数据块的时间与速率关系由时间域变换到频域。
68.进一步,在变换到频域之后计算每个存储介质对应的一段时间内数据传输在频域空间的方差,并对比得到互为备份的存储节点在频域空间的差值,将该差值作为第二差异率,如果该差值高于第二警戒值,则说明两个存储介质的性能差异太大。将传输性能差的存储介质的状态设置为异常。同时也需要将该存储介质所在的存储节点的异常次数加1。
69.在本发明的一些实施方式中,方法还包括:监听存储介质的事件并判断事件类型;根据不同的事件类型对所述存储介质进行标记。
70.在本发明的一些实施方式中,基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:响应于所述事件类型为读写异常事件,将所述读写异常事件计数器的值加一,并判断所述读写异常事件计数器的值是否超过所述第二警戒值,响应于超过所述第二警戒值,将所述存储介质标记为故障;以及响应于所述事件类型为故障,将所述存储介质标记为故障。
71.在本发明的一些实施例中,还包括采用传统的状态评估方式,即监听存储节点上的系统事件。即监听存储介质的相关事件,对存储介质是否发生故障进行识别,识别到存储介质故障之后,将存储介质对应标识标记为发生故障,触发故障数据块收集受到影响的数据块信息;故障识别的方式包含监听相关事件、统计读写失败次数等,如果是监听到存储介质故障事件,那么将存储介质标识标记为故障;如果是统计读写失败次数超过一定阈值之后,该存储介质被标记为故障,那么读写失败的这些请求需要存储读写失败的记录。
72.在本发明的一些实施方式中,根据所述运行状态执行修复的步骤包括:响应于所述存储节点的运行状态为异常,确认所述异常是存储节点异常还是存储介质异常;响应于所述异常为存储节点异常,对所述异常节点的数据读写请求重定向到互为备份的正常的存储节点。
73.在本发明的一些实施例中,当存储节点被认定为异常之后,进一步确定该存储节点被认为是异常节点的原因是存储介质导致的异常还是由于存储节点整个系统的异常,如果是存储节点异常,则将在超融合系统中将对该存储节点的数据访问请求重定向到与该存储节点互为备份的其他存储节点。
74.在本发明的一些实施方式中,方法还包括:响应于所述异常为存储介质异常,判断所述存储介质的状态是否为故障;响应于所述存储介质的状态为故障,将对所述存储介质的访存请求重定向到互为备份的存储节点中正常的存储节点或互为备份的存储介质中正常的存储介质上。
75.进一步,如果确定存储介质异常,则将对应该存储介质的访存请求重定向到互为备份的存储节点中正常的存储节点或该与该异常存储介质互为备份的存储介质中(主要是访问请求,存储请求必然会落盘到对应的存储介质)。
76.在本发明的一些实施方式中,方法还包括:响应于所述存储介质的状态不为故障,确定所述存储介质中出现错误的存储区块所对应的数据块的编号;响应于存在对所述编号的数据块的访问请求,将所述访问请求重定向到互为备份的存储节点中正常的存储节点上或互为备份的存储介质中正常的存储介质上。
77.进一步,如果存储介质的状态不是故障状态,则进一步确定存储介质中出现错误的存储区块对应的数据块的编号,当该存储介质收到访问该编号的数据块的请求时,将对该编号的访问请求重定向到互为备份的存储节点中正常的存储节点上或互为备份的存储介质中正常的存储介质上。
78.在本发明的一些实施方式中,方法还包括:响应于所述存储介质的状态为故障,判断所述存储介质是否发生更换;响应于不存在对所述存储介质的更换,将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质所在的存储节点上的其他正常的存储介质中。
79.在本发明的一些实施方式中,将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质的节点上的其他正常的存储介质中的步骤包括:对待写入的数据进行分块并编号,将正常状态下分配给所述故障存储介质的数据块均匀地分配到所述节点上的其他存储介质中。
80.在本发明的一些实施方式中,方法还包括:响应于所述故障的存储介质被替换,根据正常状态下分配给所述故障存储介质的数据块的编号从所述存储节点的其他存储介质中取出对应的数据块并写入到替换后的存储介质中。
81.在本发明的一些实施例中,当存储介质被认定为故障后,通过存储介质的序列号或其他唯一识别手段判断该存储介质是否发生替换,如果没有发生替换,则在接收到向该存储介质落盘的数据时,将对应原本写入到该存储介质的数据写入到该故障的存储介质所在的存储节点中的其他存储介质中,即假设磁盘1损坏,磁盘2为与磁盘1互为备份的磁盘,存储节点还包括磁盘2,3
……
8,则将原本计划写入到磁盘1的数据以分散的方式均匀写入到磁盘3~8中。同时磁盘2中的写入数据不变。
82.进一步,当磁盘1被更换后,则从磁盘3~8中分别获取对应的磁盘数据并重新写入到磁盘1中。
83.在本发明的一些实施方式中,方法还包括:响应于所述故障的存储介质被替换,从与所述故障的存储介质所在的节点互为备份的节点中取回所述故障的存储介质原有的数据内容。
84.在本实施例中,当对应的故障的磁盘被替换后,需要将该位置的原有的数据重新写入到磁盘中。因此需要将原有的数据填充到该磁盘上,而具备该磁盘位置的原有的数据的介质或节点包括:与该磁盘互为备份的本地存储介质,以及互为备份的存储节点当中的两个互为备份的磁盘。即共有三种方式,从速率上来讲在本地的互为备份的存储介质的数
据拷贝最快。但是,如果以本地的互为备份的存储介质来恢复该磁盘的数据,可能会导致该存储节点的存储介质被占用,例如上述的磁盘1故障,如果从磁盘2中获取数据恢复磁盘1,可能会影响磁盘2的其他业务,进而会导致存储节点1的性能跟着降低。
85.对于此,本发明采用跨节点的方式从与故障磁盘所在的存储节点互为备份的存储节点中远程获取相应的数据恢复故障磁盘的数据,并且将从互为备份的存储节点中远程获取相应的数据恢复故障磁盘的数据的业务在超融合系统中的数据传输优先级降为最低。优先保证超融合系统的正常业务。
86.进一步,从互为备份的存储节点获取恢复数据时,可以根据该存储节点上两个互为备份的存储介质的io压力灵活调度切换对应的数据来源,即如果互为备份的存储节点上的磁盘1的io任务多于磁盘2,则从磁盘2中读取相应的数据传输到故障存储介质所在存储节点上的磁盘1中,相应的如果磁盘2(正常的存储节点上的磁盘2)的io任务多于磁盘1(正常的存储节点上的磁盘1),则从磁盘1(正常的存储节点上的磁盘1)中读取相应的数据传输到故障存储介质所在的存储节点上的磁盘1中。
87.进一步,如前所述共有3个磁盘具有故障磁盘需要的数据,因此在超融合系统中,可以根据这3个磁盘的空闲情况从3个磁盘中获取相应的数据用来恢复故障的磁盘。
88.通过本发明提出的一种存储故障修复方法,通过对互为备份的存储节点和存储介质的差异对比发现异常的存储节点和/或存储介质,并对异常的存储节点或存储介质的运行状态及时调整对应的访问策略,可有效保障超融合系统中数据业务的稳定性。
89.进一步,对存储节点中的传输状态采用傅里叶变换的方式将互为备份的存储节点对相同数据的传输情况由时域空间变换到频域空间,并在频域空间对比互为备份的存储节点的状态差异,可以有效保证对不同存储节点的运行状态判断的准确性,杜绝采用传输速度或传输时间等单一维度的判断方式。
90.如图2所示,本发明的另一方面还提出一种存储故障修复系统,包括:存储状态监控模块1,所述存储状态监控模块1配置用于获取存储节点数据传输过程中的传输信息;存储状态判断模块2,所述存储状态判断模块2配置用于基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;存储修复模块3,所述存储修复模块3配置用于根据所述运行状态执行修复。
91.如图3所示,本发明的又一方面还提出一种计算机设备,包括:至少一个处理器2001;以及存储器2002,所述存储器2002存储有可在所述处理器2001上运行的计算机指令2003,所述指令2003由所述处理器2001执行时实现上述实施方式中任意一项所述方法的步骤。
92.如图4所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
93.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例
的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
94.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
95.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
96.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
97.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术特征:
1.一种存储故障修复方法,其特征在于,包括:获取存储节点数据传输过程中的传输信息;基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;根据所述运行状态执行修复。2. 根据权利要求1所述的方法,其特征在于,所述获取存储节点数据传输过程中的传输信息的步骤包括:监控相同数据在互为备份的存储节点的数据传输状态信息;以及监控相同数据在互为备份的存储介质的读写状态信息。3.根据权利要求2所述的方法,其特征在于,所述基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储节点的数据传输差异,根据传输差异计算对应的第一差异率,并判断所述第一差异率是否超过预设值;响应于所述第一差异率超过预设值,将所述互为备份的存储节点中数据传输性能较低的存储节点的异常事件计数器的值加一,并判断所述异常事件计数器的值是否超过第一警戒值;响应于所述异常事件计数器的值超过第一警戒值,将所述数据传输性能较低的存储节点作为异常节点。4.根据权利要求3所述的方法,其特征在于,所述对比相同数据在互为备份的存储节点的数据传输差异,根据传输差异计算对应的第一差异率的步骤包括:通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值;根据所述状态分值计算互为备份的存储节点的所述第一差异率。5.根据权利要求4所述的方法,其特征在于,所述通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:通过任意数据块在传输过程中的理论时间减去所述数据块在传输队列中的等待时间得到所述数据块的传输时间。6.根据权利要求4所述的方法,其特征在于,所述通过每个存储节点的数据块传输时间除以所述数据块在传输过程中的理论时间得到每个存储节点的状态分值的步骤包括:基于数据块的大小除以所述数据块在传输过程中的带宽得到所述数据块的在传输过程中的理论时间。7.根据权利要求4所述的方法,其特征在于,所述根据所述状态分值计算互为备份的存储节点的所述第一差异率的步骤包括:将所述数据块对应的状态分值乘以所述数据块在传输队列中的优先级得到权重状态分值;获取任意数据块在到达传输队列时已有的数据块的个数,通过所述传输队列中已有的数据块的个数减去所述权重状态分值得到所述数据块的优先级状态分值;根据预定时间内每个存储节点的多个数据块的优先级状态分值构建每个存储节点对
应的数据传输的关联关系函数;通过傅里叶变换将每个存储节点的关联关系函数从预定时间映射到频域空间;计算所述每个存储节点对应的关联关系函数在频域空间的方差,并将互为备份的存储节点的方差进行相减,将得到的结果作为所述互为备份的存储节点的所述第一差异率。8.根据权利要求1所述的方法,其特征在于,所述基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:将互为备份的多个存储节点的实时数据传输速率作为数据传输关系函数;根据每个存储节点的所述数据传输关系函数中的数据传输速率的波峰和波谷进行截取,得到每个存储节点的数据传输波动函数;通过傅里叶变换将每个存储节点的数据传输波动函数由时域空间转换到频域空间,并计算每个存储节点的数据传输波动函数在频域空间的方差;将互为备份的存储节点的所述方差进行相减,判断所述相减的结果的绝对值是否大于预定值,响应于所述绝对值大于所述预定值,将所述互为备份的存储节点中方差较大的存储节点设为异常节点。9.根据权利要求2所述的方法,其特征在于,所述基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:对比相同数据在互为备份的存储介质的读写差异,根据所述读写差异计算对应的第二差异率,并判断所述第二差异率是否超过预设值;响应于所述第二差异率超过预设值,将互为备份的存储介质中读写性能较低的存储介质的异常事件计数器的值加一,并判断所述异常事件计数器的值是否超过第二警戒值;响应于所述异常事件计数器的值超过第二警戒值,将所述读写性能较低的存储介质作为异常存储介质并将所述存储介质所在的存储节点作为异常节点。10.根据权利要求9所述的方法,其特征在于,还包括:监听存储介质的事件并判断事件类型;根据不同的事件类型对所述存储介质进行标记。11. 根据权利要求10所述的方法,其特征在于,所述基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态的步骤包括:响应于所述事件类型为读写异常事件,将读写异常事件计数器的值加一,并判断所述读写异常事件计数器的值是否超过所述第二警戒值,响应于超过所述第二警戒值,将所述存储介质标记为故障;以及响应于所述事件类型为故障,将所述存储介质标记为故障。12.根据权利要求1所述的方法,所述根据所述运行状态执行修复的步骤包括:响应于所述存储节点的运行状态为异常,确认所述异常是存储节点异常还是存储介质异常;响应于所述异常为存储节点异常,对所述异常节点的数据读写请求重定向到互为备份的正常的存储节点。
13.根据权利要求12所述的方法,其特征在于,还包括:响应于所述异常为存储介质异常,判断所述存储介质的状态是否为故障;响应于所述存储介质的状态为故障,将对所述存储介质的访存请求重定向到互为备份的存储节点中正常的存储节点或互为备份的存储介质中正常的存储介质上。14.根据权利要求13所述的方法,其特征在于,还包括:响应于所述存储介质的状态不为故障,确定所述存储介质中出现错误的存储区块所对应的数据块的编号;响应于存在对所述编号的数据块的访问请求,将所述访问请求重定向到互为备份的存储节点中正常的存储节点上或互为备份的存储介质中正常的存储介质上。15.根据权利要求13所述的方法,其特征在于,还包括:响应于所述存储介质的状态为故障,判断所述存储介质是否发生更换;响应于不存在对所述存储介质的更换,将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质所在的存储节点上的其他正常的存储介质中。16.根据权利要求15所述的方法,其特征在于,所述将计划写入到所述故障的存储介质中的数据写入到所述故障的存储介质的节点上的其他正常的存储介质中的步骤包括:对待写入的数据进行分块并编号,将正常状态下分配给所述故障存储介质的数据块均匀地分配到所述节点上的其他存储介质中。17.根据权利要求16所述的方法,其特征在于,还包括:响应于所述故障的存储介质被替换,根据正常状态下分配给所述故障存储介质的数据块的编号从所述存储节点的其他存储介质中取出对应的数据块并写入到替换后的存储介质中。18.根据权利要求17所述的方法,其特征在于,还包括:响应于所述故障的存储介质被替换,从与所述故障的存储介质所在的节点互为备份的节点中取回所述故障的存储介质原有的数据内容。19.一种存储故障修复系统,其特征在于,包括:存储状态监控模块,所述存储状态监控模块配置用于获取存储节点数据传输过程中的传输信息;存储状态判断模块,所述存储状态判断模块配置用于基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;存储修复模块,所述存储修复模块配置用于根据所述运行状态执行修复。20.一种计算机设备,其特征在于,包括:至少一个处理器;存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-18任意一项所述方法的步骤。21.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-18任意一项所述方法的步骤。

技术总结
本发明属于计算机领域,具体涉及一种存储故障修复方法、系统、设备及介质。其中方法包括:获取存储节点数据传输过程中的传输信息;基于所述传输信息计算互为备份的存储节点和/或互为备份的存储介质在数据传输过程中的差异率信息,并通过所述差异率信息判断所述存储节点和/或存储介质的运行状态;根据所述运行状态执行修复。通过本发明提出的一种存储故障修复方案,通过对互为备份的存储节点和/或存储介质的差异对比发现异常的存储节点和/或存储介质,并根据异常的存储节点和/或存储介质的运行状态及时调整对应的访问策略,可有效保障超融合系统中数据业务的稳定性。障超融合系统中数据业务的稳定性。障超融合系统中数据业务的稳定性。


技术研发人员:杨岳川
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.07.11
技术公布日:2023/8/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐