一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种磁盘隔离方法、系统、设备及存储介质与流程

2022-07-13 12:16:35 来源:中国专利 TAG:


1.本发明属于数据存储技术领域,更具体地涉及一种磁盘隔离方法、系统、设备及存储介质。


背景技术:

2.磁盘作为分布式存储系统中数据最终存储的地方,磁盘的异常状态在存储系统可能会导致系统进程受到影响,尤其是磁盘运行过程出现异常但是并未出现读写错误,无法及时对处于异常状态的故障磁盘进行数据迁移,并及时隔离异常状态的故障磁盘,导致存储系统的读写性能可能会受到明显的影响,存储系统读写性能下降,进而影响集群整体的io性能。
3.于现有技术中,常见的磁盘探测方法和隔离行为,往往都是针对单块磁盘和单个服务器来进行的,这种方式只能对单个节点的磁盘进行判断或者预判,单个节点向集群主控中心汇报的容量信息可能存在延迟,无法保证集群多个节点上的数据副本的安全性,对于异常状态的故障磁盘隔离导致会威胁数据副本的安全性,对于多节点集群的节点上的数据,无法在磁盘出现异常时及时给予存储系统预警,大大降低磁盘上的数据安全性。
4.同时,存储系统的数据存储服务,在对磁盘进行探测时,探测到的故障磁盘直接剔除了磁盘,单个节点上的存储服务崩溃,单个节点的存储网络断开,磁盘故障,直接从操作系统层面消失,等都会导致集群容量下降。


技术实现要素:

5.基于现有技术中异常状态的故障磁盘不能及时隔离,数据迁移不及时,影响集群整体的io性能,同时降低磁盘的数据安全性的问题,本技术提出来一种磁盘隔离方法、系统、设备及存储介质。
6.在本技术的第一方面提供了一种磁盘隔离方法,具体包括:
7.获取集群中每个节点的磁盘的工作状态,工作状态包括正常状态、异常状态;
8.在存在节点的任一磁盘处于异常状态的情况下,将磁盘标记为故障磁盘,并将故障磁盘的异常状态和异常数据存储至中心数据库;
9.根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果;
10.在视图状态结果为标记故障磁盘为待隔离磁盘的情况下,存储系统接收磁盘隔离指令并隔离待隔离磁盘。在上述第一方面的一种可能的实现中,故障磁盘的预设隔离约束条件包括:
11.磁盘容量预设约束条件磁盘容量预设约束条件包括:第一预设容量阈值的约束和第二预设容量阈值的约束;
12.预设视图变更条件,预设视图变更条件根据节点的视图变更动作确定。
13.在上述第一方面的一种可能的实现中,
14.根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果包括:
15.获取集群整体磁盘剩余存储和集群整体磁盘累计扣除存储;
16.判断集群整体磁盘剩余存储是否大于第一预设容量阈值,并将大于第一预设容量阈值的故障磁盘标记为第一异常磁盘;
17.判断集群整体磁盘累计扣除存储是否小于第二预设容量阈值,并将小于第二预设容量阈值的第一异常磁盘标记为第二异常磁盘;
18.判断节点对第二异常磁盘的视图变更是否满足预设视图变更条件,并将满足预设视图变更条件的第二异常磁盘更新至视图;
19.获取更新第二异常磁盘的视图状态结果,显示为故障磁盘为待隔离磁盘的视图状态结果。
20.在上述第一方面的一种可能的实现中,节点对第二异常磁盘的视图变更满足预设视图变更条件包括:
21.获取节点保存的视图的第一视图状态和节点在当前的一个周期对第二异常磁盘执行视图变更动作的视图的第二视图状态,
22.在第一视图状态与第二视图状态一致的情况下,节点对第二异常磁盘的视图变更满足预设视图变更条件。
23.在上述第一方面的一种可能的实现中,
24.根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果还包括:
25.节点执行的视图变更操作根据不重叠的周期累加变化,依次更新视图,获取故障磁盘的视图状态结果
26.在上述第一方面的一种可能的实现中,
27.标记故障磁盘为待隔离磁盘的情况还包括:
28.根据一个周期获取故障磁盘的异常数据的时间序列关系,标记一个满足预设隔离约束条件的故障磁盘为待隔离磁盘。
29.在上述第一方面的一种可能的实现中,
30.标记故障磁盘为待隔离磁盘的情况还包括:
31.在相同数据副本对应的至少两个磁盘标记为故障磁盘的情况下,对满足预设隔离约束条件的任一故障磁盘标记为第一待隔离磁盘;
32.在第一待隔离磁盘的数据副本备份完成的情况下,执行第二待隔离磁盘的标记。
33.本技术的第二方面提供了一种磁盘隔离系统,其特征在于,应用于前述第一方面的一种磁盘隔离方法中,磁盘隔离系统具体包括:
34.磁盘状态获取模块:获取集群中每个节点的磁盘的工作状态,工作状态包括正常状态、异常状态;
35.磁盘异常存储模块:在存在节点的任一磁盘处于异常状态的情况下,将磁盘标记为故障磁盘,并将故障磁盘的异常状态和异常数据存储至中心数据库;
36.磁盘异常处理模块:根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果;
37.磁盘异常隔离模块:磁盘异常隔离模块:在视图状态结果为标记故障磁盘为待隔离磁盘的情况下,存储系统接收磁盘隔离指令并隔离待隔离磁盘。
38.本技术的第三方面提供了一种电子设备,包括:
39.存储器,存储器用于存储处理程序;
40.处理器,处理器执行处理程序时应用于如前述第一方面的一种磁盘隔离方法。
41.本技术的第三方面提供了一种可读存储介质,可读存储介质上存储有处理程序,处理程序被处理器执行时,应用于如前述第一方面的一种磁盘隔离方法。
42.本技术具备以下有益技术效果:
43.通过本技术提出的技术方案能够基于中心数据库存储集群中节点的磁盘的异常状态,并结合当前集群中所有节点的状态,通过多节点处理处于异常状态的故障磁盘,标记满足预设隔离条件的故障磁盘为待隔离磁盘在每一次探测周期中,实时判断当前磁盘存储容量和集群整体磁盘累计扣除存储,进而给予存储系统对故障磁盘进行及时隔离,实现在数据丢失真实发生之前,有效地向存储系统提供预警,预先处理好磁盘上的数据,在维持集群整体io性能较佳的同时,保证了数据副本的安全性。
附图说明
44.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
45.图1根据本技术的实施例,示出了一种磁盘隔离方法的流程示意图;
46.图2根据本技术的实施例,示出了一种预设隔离约束条件流程示意图;
47.图3根据本技术的实施例,示出了一种故障磁盘的视图变更是否满足预设视图变更的流程示意图;
48.图4根据本技术的实施例,示出了一种标记故障磁盘为待隔离磁盘的流程示意图;
49.图5根据本技术的实施例,示出了一种磁盘隔离系统的系统框图。
具体实施方式
50.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
51.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
52.为了解决现有技术中磁盘隔离不及时导致磁盘存储数据副本的安全性降低以及故障磁盘的读写延迟等问题导致集群整体io性能下降等列问题,本技术提出了一种磁盘隔离方法、系统、设备及存储介质。通过磁盘隔离方法,能够数据丢失真实发生之前,有效地向存储系统提供预警,预先处理好磁盘上的数据,在维持集群整体io性能较佳的同时,保证了数据副本的安全性。
53.具体地,图1根据本技术的一些实施例,示出了一种磁盘隔离方法的流程示意图,具体包括:
54.步骤s1:获取集群中每个节点的磁盘的工作状态,工作状态包括正常状态、异常状态。可以理解的是,分布式存储系统中磁盘的生命周期中一般会经历三个阶段,第一阶段是无任何异常的阶段,一般称作正常状态;第二阶段是出现了各种异常的阶段,如出现磁盘坏道、高温、慢盘、卡顿、及各类读写错误等情况,一般称作亚健康状态;第三阶段就是磁盘功能出现停滞的故障阶段,处于第二或第三阶段的磁盘均属于处在异常状态。
55.步骤s2:在存在节点的任一磁盘处于异常状态的情况下,将磁盘标记为故障磁盘,并将故障磁盘的异常状态和异常数据存储至中心数据库。可以理解的是,处于第二阶段异常状态的磁盘,磁盘的io相关数据,日志等信息已经影响满足存储系统的io性能,该磁盘在一段时间内会出现故障,此时可以认为处于此种异常状态下的磁盘已经为故障磁盘,集群中多节点的多个磁盘存储相应的数据副本,开始进行数据迁移等操作,并将该故障磁盘的具体异常状态和对应的异常数据在中心数据库进行存储标记,并被写入到视图中,还并未被纳入隔离的考虑以便结合集群中其他节点的状态对该故障磁盘进行相应的操作,从而避免了故障出现后再进行事后处理所带来的风险,比如等出现故障后再处理时,有可能在处理过程中又出现其他磁盘故障,从而造成出现多点故障引起数据丢失等问题。
56.步骤s3:根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果。可以理解的是,为了保证集群整体数据安全,当集群的节点出现故障磁盘的情况下,每一个节点在将任意一块磁盘标记为故障之前,都需要获知集群中其他节点的当前状态,通过判断集群中节点的存储空间是否在隔离故障磁盘后还可以实现正常的数据读写,同时是否集群是否绝大部分的磁盘已经处于隔离状态,如果进一步的隔离磁盘会导致存储系统的空间已经小于集群中单个节点提供的存储空间,导致存储系统性能不佳。进一步地,同一时刻隔离磁盘的数量过多或者存储相同数据副本的磁盘先后被隔离,导致数据副本的安全性降低,因此需要根据故障磁盘的预设隔离约束条件,在满足预设隔离约束条件的情况下,进一步根据故障磁盘的视图状态结果,确定磁盘在存储系统过程的隔离。
57.步骤s4:在视图状态结果为标记故障磁盘为待隔离磁盘的情况下,存储系统接收磁盘隔离指令并隔离待隔离磁盘。可以理解的是,在视图状态结果为标记故障磁盘为待隔离磁盘的情况下,根据当前的视图状态通知存储系统,生成相应的隔离请求向存储系统发送介入请求,存储系统会接收相应的隔离指令即响应介入,此时执行隔离待隔离磁盘,并会并扣除隔离磁盘对应的存储容量。在视图状态更新成功且视图更新的动作为将故障磁盘被纳入隔离考虑,所有节点都需要知道这一信息,存储系统介入处理,同时执行磁盘隔离并对应的将隔离的磁盘的存储容量进行扣除,此时对应被隔离的磁盘不再参与磁盘对应的数据存储。
58.于本技术的一些实施例中,磁盘的监测数据在不满足预设标准值的情况下,即认为该磁盘处于故障状态,此时磁盘应该处于第二阶段的异常状态,可以通过一种类型的监测操作所获取的监测数据的具体内容以及异常信息项数应根据实际需求而定,在此不做具体限定。例如,可以通过探测磁盘读写性能小于预设读写性能指标,读写性能出现延迟;s.m.a.r.t.,(self-monitoring analysis and reporting technology即自检监测),传感计数器监测,操作系统异常日志监测、磁盘拓展卡状态监测、主板带外系统监测等数据信息,该项数据信息与不满足磁盘正常工作状态的预设阈值的情况下,则判断该磁盘处于异常状态。
59.于上述步骤s3中,故障磁盘的预设隔离约束条件包括:磁盘容量预设约束条件和预设视图变更条件;其中,磁盘容量预设约束条件包括:第一预设容量阈值的约束和第二预设容量阈值的约束。可以理解的是,集群中多个节点的磁盘存储容量可随着磁盘的隔离容量逐渐减小,对于异常状态故障磁盘隔离需要考虑集群中多个节点的磁盘存储空间以及被隔离的磁盘或者其他不能存储数据副本的磁盘的空间,当视图遵守这两个约束条件时时,对集群中的磁盘进行隔离,使得隔离该故障磁盘不会影响存储系统的运行及磁盘中数据副本的安全性。
60.于上述实施例中,预设视图变更条件,预设视图变更条件根据节点的视图变更确定。各个节点对视图执行变更的动作至少包括:将检查到的故障盘更新至视图中;将已经被管理员从集群中移除的磁盘从视图中移出,根据存储系统对磁盘的处理,将视图状态按状态机路径更新写入下一状态包括将满足预设隔离约束条件的磁盘标记为待隔离磁盘等。
61.在本技术的一些实施例中,以下将对上述步骤s3中的一种具体实现方式进行进一步阐释和说明:
62.具体地,图2根据本技术的实施例,示出了一种预设隔离约束条件流程示意图,可以应用至前述步骤s3中,根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果还包括:
63.步骤s31a:获取集群整体磁盘剩余存储和集群整体磁盘累计扣除存储。可以理解的是,为了保证集群整体数据安全,在各个节点对存储故障磁盘的异常数据的中心数据库的视图进行变更之前,需要对集群中由于该故障磁盘可能被隔离导致的集群的磁盘容量进行初步计算,以便在该故障磁盘被隔离的情况下,存储系统的工作性能及数据副本的安全性进行初步的评估。
64.步骤s32a:判断集群整体磁盘剩余存储是否大于第一预设容量阈值,并将大于第一预设容量阈值的故障磁盘标记为第一异常磁盘。可以理解的是,首先需要获取当前节点对应的扣除故障磁盘容量后的剩余容量,得到集群整体磁盘剩余存储,比较集群整体磁盘剩余存储是否大于第一预设容量阈值,在大于第一预设容量阈值的情况下,判断故障磁盘满足预设异常标记的第一条件,即标记为第一异常磁盘。
65.在本技术的一些实施例中,集群整体磁盘剩余存储可以为磁盘的剩余存储空间也可以为集群整体磁盘剩余存储空间在集群中剩余存储空间的占有比例,在此不做限定。
66.在本技术的一些实施例中,第一预设容量阈值可以根据磁盘的实际存储容量空间或者当前存储系统的数据副本存储容量等进行预设,为具体存储空间的容量值也可以为集群整体磁盘剩余存储的百分比的预设值,根据实际集群整体磁盘剩余存储进行设定,在此不做限定。
67.在本技术的一些实施例中,集群整体磁盘剩余存储为集群整体磁盘剩余存储空间的情况下,集群整体磁盘剩余存储等于集群当前剩余存储容量去除视图中所有需要隔离的磁盘容量及视图中所有存储系统已经介入处理的磁盘的容量,此时第一预设容量阈值可以根据当前集群的存储容量空间及当前数据存储量设定。
68.在本技术的一些实施例中,集群整体磁盘剩余存储可为集群整体磁盘剩余存储占有比例的情况下,集群整体磁盘剩余存储等于扣除故障磁盘容量后的剩余存储容量与扣除故障磁盘容量后集群剩余的总存储容量的比值,此时第一容量阈值为预设的比值,例如地,
扣除故障磁盘容量后的剩余容量与扣除故障磁盘容量后集群剩余的总容量比值至少大于0.1。
69.进一步地,扣除故障磁盘容量之后的集群剩余的总存储容量等于集群当前总容量去除视图中所有需要隔离的磁盘容量及视图中所有存储系统已经介入处理的磁盘的容量。
70.步骤s33a:判断集群整体磁盘累计扣除存储是否小于第二预设容量阈值,并将小于第二预设容量阈值的第一异常磁盘标记为第二异常磁盘。可以理解的是,对于标记为第一异常磁盘还存在第二个约束条件即,需要将第一异常磁盘作为不能进行数据存储的隔离磁盘进行纳入集群中进行磁盘累计扣除的计算,以便保证在存储系统不会因为当前处于隔离中的磁盘过多,导致集群中单个节点提供给存储池的容量不足以满足当前第二异常磁盘的数据存储,需要进一步对集群整体磁盘累计扣除存储进行计算,判断在小于第二预设容量阈值的情况下,判断故障磁盘满足预设异常标记的第二条件,即标记为第二异常磁盘。
71.在本技术的一些实施例中,第二预设容量阈值可以根据磁盘累计扣除的存储容量空间等进行预设,可以为具体存储空间的累计扣除存储容量值,根据实际集群整体磁盘累计扣除存储进行设定,在此不做限定。
72.在本技术的一些实施例中,当前集群整体磁盘累计扣除存储等于当前中心数据库的视图中所有需要隔离的磁盘容量以及视图中所有存储系统已介入处理的磁盘的容量以及视图中所有已扣除的磁盘的容量,第二预设阈值可以根据集群整体磁盘累计扣除存储与集群中单个节点的存储容量进行比较。例如地,第二阈值可以设置为集群中单个节点的存储容量,在此不做限定。
73.步骤s34a:判断节点对第二异常磁盘的视图变更是否满足预设视图变更条件,并将满足预设视图变更条件的第二异常磁盘更新至视图。可以理解的是,集群中的每个节点在执行探测故障磁盘,探测到的故障磁盘将会加入视图中,加入视图的故障磁盘在满足相应的变更条件的情况下均可以执行对应的视图变更,为了避免集群中两个或者多个节点未识别该视图已经被其他节点更改,同时的发出变更视图的动作,同一个周期对视图的状态执行多次变更,需要对第二异常磁盘所要执行的视图变更新是否满足预设视图变更条件行进一步判断,预设视图变更条件将在下文中详细描述。
74.步骤s35a:获取更新第二异常磁盘的视图状态结果,显示故障磁盘为待隔离磁盘的视图状态结果。可以理解的是,各个节点对视图执行变更的动作至少包括前述:更新视图、移除视图、写入视图状态机路径包括更新视图状态为待隔离磁盘的状态等,根据中心数据库的视图的状态更新,获取更新第二异常磁盘的视图状态结果。第二异常磁盘满足预设视图变更条件的情况下,即当前视图状态在当前一个周期并未被其他节点更改,对应视图的状态依然为上一个周期保存的视图状态,此时本节点执行视图更新的请求,可以根据节点对中心数据库的视图的状态更新,获取基于第二异常磁盘更新视图的视图状态结果,例如包括移除视图或者加入故障视图的情况下,无需满足预设视图变更的条件,可以直接执行变更视图包括加入视图、移除视图等。
75.本技术的一些实施例中,由于异常状态的故障磁盘探测到时,数据尚未发生实际的丢失,后续的数据副本的安全需由存储系统自身来保证,在对故障磁盘的视图状态更新时,尤其是针对待隔离磁盘的标记时,需要集群整体磁盘剩余存储和集群整体磁盘累计扣除存储的因素及预设视图的变更条件,视图的变更可能包括探测到故障、需要隔离故障磁
盘、存储系统已介入处理、磁盘容量已扣除、磁盘数据已备份等状态,具体地见下述表1中根据视图状态改变时集群整体磁盘剩余存储和集群整体磁盘累计扣除存储的因素是否需要考虑进行了具体说明:
76.表1
[0077][0078][0079]
于上述实施例中,其中步骤s31a-s35a顺序执行,当视图变更为故障磁盘更新该视图状态的结果为需要隔离该故障磁盘,此时将新的故障磁盘标记为需要隔离,需要考虑集群整体磁盘剩余存储和集群整体磁盘累计扣除存储,进而在满足预设变更条件的情况下,标记为待隔离磁盘,存储系统介入处理进行数据的备份和磁盘的隔离,存储系统隔离的磁盘将不再存储数据,不会作为存储而直接作为磁盘累计扣除存储考虑在内。
[0080]
于上述实施例中,基于步骤s35a中,进一步地,图3根据本技术的实施例,示出了一种故障磁盘的视图变更满足预设视图变更的流程示意图具体地,节点对故障磁盘的视图变更满足预设视图变更条件包括:
[0081]
步骤s35a1:获取节点保存的视图的第一视图状态和节点在当前的一个周期对第二磁盘执行视图变更动作的视图的第二视图状态。可以理解是,对于执行该视图变更需要判断当前视图状态在一个周期内是否存在其它的节点执行视图的变更,以便进一步地判断能否将第二异常磁盘的待隔离状态更新至视图中,基于彼此分立的节点视图变更的状态,在每个节点记录各自节点获取的视图的状态数字,当节点再次凭借这个数字对视图进行查询更新时,如果由于视图状态与当前节点记录的数据状态比较已经发生改变,则说明视图已经被集群中的其他节点所更改,因此当前节点对此视图的变更失败,此时故障磁盘不会更新对应的视图,需要本数据节读取新的视图,根据视图进行新一轮的条件约束的计算,重新尝试执行视图变更的操作。
[0082]
步骤s35a2:在第一视图状态与第二视图状态一致的情况下,节点对第二异常磁盘的视图变更满足预设视图变更条件。可以理解的是,若未有其他节点参与变更,则本节点本
周期内可以对视图执行变更。反之本节点放弃本周期的变更,重新读取视图,待下一个周期重新计算状态结果,并进行相同的判定和执行新的变更。
[0083]
于上述实施例中,具体地,例如,当前数据节1探测到故障磁盘,并标记为第二异常磁盘,此时第二异常磁盘是否可以实现存储至中心数据库实现视图的变更将对应的第二异常磁盘标记为待隔离磁盘,当前节点1在执行视图变更前,读取需要变更的视图的状态为a1,与上一个周期即探测周期中探测记录的视图状态a1保持一致,则认为当前视图未被其他节点执行更改,此时当前节点可以执行当前视图的变更,将探测到的第二异常磁盘写入当前视图中,此时视图的状态从a1变化为b1,于同一探测周期内,该视图的状态b1不会发生变化,进一步地,且当视图状态为待隔离状态的情况下,此时在存储系统介入前,当前视图的状态不会发生变更。
[0084]
于本技术的一些实施例中,以下将对上述步骤s3的一种具体实现方式进行进一步阐释和说明:根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果还包括:节点执行的视图变更操作根据不重叠的周期累加变化,依次更新视图,获取故障磁盘的视图状态结果。可以理解的是,在同一个节点的一个周期内只能一个节点在一个周期内只会标记一块磁盘为待隔离,多个节点在多个周期内可以标记多块磁盘,但每一次视图变更操作都是这样一个一个不重叠的周期累加变化的。
[0085]
具体地,例如,当节点1和节点2均处于各自的一个探测周期内,当周期时间t1和t2出现重叠的情况下,节点1和节点2在当前的各自的一个周期内,均要将视图状态从a1执行变更,当节点1将视图状态从a1变更为b1执行完成的情况下,此时视图状态b1的值会在发生变更前发送至节点2,节点2保存的仍然为视图状态a1,因此节点2对当前视图变更会出现无法查询到当前视图的结果,因此节点2对视图转态a1的变更失败,此时节点2读取视图状态b1,并保存,重新执行下一个周期的查询变更。
[0086]
在本技术的一些实施例中,标记故障磁盘为待隔离磁盘的情况还包括:根据一个周期获取故障磁盘的异常数据的时间序列关系,标记一个满足预设隔离约束条件的故障磁盘为待隔离磁盘。可以理解的是,约定在一次视图变更中,在任意一个节点的一次完整的周期中,按照时间序列的先后顺序最多只能有一块磁盘的状态从探测到故障转为需要隔离标记为待隔离磁盘,当磁盘被标记为待隔离磁盘时,需要对集群整体磁盘剩余存储和累计扣除存储进行进一步的判断,当出现多个磁盘需要在集群整体中考虑的情况下,按照时间序列关系选择一个满足预设隔离条件的故障磁盘进行待隔离标记,对于其他状态的变化,包括探测到故障,存储系统已介入处理,磁盘容量已扣除的视图状态则可以有多块磁盘同时进行。
[0087]
图4根据本技术的实施例,示出了一种标记故障磁盘为待隔离磁盘的流程示意图。标记故障磁盘为待隔离磁盘的情况还包括:
[0088]
步骤s31b:在相同数据副本对应的至少两个磁盘标记为故障磁盘的情况下,对满足预设隔离约束条件的任一故障磁盘标记为第一待隔离磁盘。可以理解的是,当第二异常磁盘被标记的情况下,但此前存储系统尚未介入,第二异常磁盘上的数副本仍然处于随时变化的状态,对于第二异常磁盘更新至视图的情况,可能会出现承载同一个数据块的两个副本的两块磁盘,在集群中的至少两个节点上,先后发生了隔离,存储系统的多个数据副本需要明确的感知当前的状态,避免出现在磁盘的数据副本冗余量不足的情况下,没有及时
将数据副本完全迁出故障磁盘,导致数据丢失。
[0089]
具体地,一个周期的数据副本可以通过不断获取某个时刻的一个快照,实现一个周期中被隔离的数据副本通过某个时刻的快照获取。
[0090]
步骤s32b:在第一待隔离磁盘的数据副本备份完成的情况下,执行第二待隔离磁盘的标记。可以理解的是,在第二异常磁盘中存储的数据副本的迁出未完成的情况下,需要做到当针对这个数据块的读写请求到来时,仍然允许读取这些数据副本,而对这个数据副本的写入则可以直接在其他未隔离的磁盘上进行,只有在第一待隔离磁盘被存储系统介入,数据备份完成的情况下,才会依次的将其余的故障磁盘进行预设隔离条件约束的判断,可能被标记为第二待隔离磁盘,在存在多个相同数据副本的故障磁盘的情况下,可以按照预设的视图优先级后者视图顺序等实现依次实现各个故障磁盘的判断。
[0091]
具体地,可以理解的是,约定在一次视图变更中,在多个数据副本出现重复的情况下,如果探测到至少两个故障硬盘的存在重叠的数据副本,为了保证数据副本的安全性,在根据预设隔离约束条件实现待隔离磁盘标记的过程中,当出现一个故障磁盘被标记为待隔离磁盘的情况下,其余具备相同数据副本的故障磁盘将不会被标记为待隔离磁盘,具备相同数据副本的故障磁盘最多只能有一块磁盘的状态从探测到故障转为待隔离的故障磁盘。
[0092]
在本技术的一些实施例中,图5根据本技术的实施例,示出了一种磁盘隔离系统的系统框图,应用于前述实施例所提供的磁盘隔离方法中,该种磁盘隔离系统具体可以包括:
[0093]
磁盘状态获取模块1:获取集群中每个节点的磁盘的工作状态,工作状态包括正常状态、异常状态;
[0094]
磁盘异常存储模块2:在存在节点的任一磁盘处于异常状态的情况下,将磁盘标记为故障磁盘,并将故障磁盘的异常状态和异常数据存储至中心数据库;
[0095]
视图状态更新模块3:根据故障磁盘的预设隔离约束条件,获取故障磁盘的视图状态结果;
[0096]
磁盘异常隔离模块4:在视图状态结果为标记故障磁盘为待隔离磁盘的情况下,存储系统隔离待隔离磁盘并扣除隔离磁盘对应的存储容量。
[0097]
可以理解的是,上述磁盘隔离系统各个功能模块执行与前述隔离方法相同的步骤流程,在此不做赘述。
[0098]
在本技术的一些实施例中,还提供了一种电子设备。该种电子设备中包含存储器和处理器,其中存储器用于对处理程序进行存储,处理器则根据指令对处理程序进行执行。当处理器对处理程序进行执行时,使得前述实施例中的磁盘隔离方法得以实现。
[0099]
在本技术的一些实施例中,还提供了一种可读存储介质,该可读存储介质可以为非易失性可读存储介质,也可以为易失性可读存储介质。该可读存储介质中存储有指令,当该指令在计算机上运行时,使得包含该种可读存储介质的电子设备执行前述的磁盘隔离方法。
[0100]
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0101]
本技术提出的技术方案涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程
序指令。
[0102]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0103]
附图中的流程图和框图显示了根据本技术公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同与附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用以执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0104]
通过本技术提出的技术方案能够基于中心数据库存储集群中节点的磁盘的异常状态,并结合当前集群中所有节点的状态,通过多节点处理处于异常状态的故障磁盘,标记满足预设隔离条件的故障磁盘为待隔离磁盘在每一次探测周期中,实时判断当前磁盘存储容量和集群整体磁盘累计扣除存储,进而给予存储系统对故障磁盘进行及时隔离,实现在数据丢失真实发生之前,有效地向存储系统提供预警,预先处理好磁盘上的数据,在维持集群整体io性能较佳的同时,保证了数据副本的安全性。
[0105]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献