CN114281591A - 存储节点故障处理方法、装置、设备及存储介质 - Google Patents
存储节点故障处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114281591A CN114281591A CN202111660461.8A CN202111660461A CN114281591A CN 114281591 A CN114281591 A CN 114281591A CN 202111660461 A CN202111660461 A CN 202111660461A CN 114281591 A CN114281591 A CN 114281591A
- Authority
- CN
- China
- Prior art keywords
- metadata
- node
- stripe
- failure
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000011084 recovery Methods 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012546 transfer Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Landscapes
- Retry When Errors Occur (AREA)
Abstract
本申请公开了一种存储节点故障处理方法、装置、电子设备及计算机可读存储介质,主节点在正常处理待写入数据时,将对应的条带元数据发送至从节点处备份,当主节点发生故障时,可以由目标从节点接替主节点的工作,由于目标从节点具有主节点的条带元数据的备份,因此其接替工作后能够保证集群的数据一致性。当主节点故障恢复后,目标从节点可以将其在主节点故障恢复期间新生成的新增条带元数据发发送至主节点,使得主节点能够根据新增条带元数据继续执行写入工作,业务从目标从节点到主节点的转移同样可以保证集群的数据一致性,解决了节点故障导致的数据不一致的问题。
Description
技术领域
本申请涉及存储技术领域,特别涉及一种存储节点故障处理方法、存储节点故障处理装置、电子设备及计算机可读存储介质。
背景技术
在存储技术领域,RAID(Redundant Array of Independent Disks)即独立磁盘冗余阵列,通常简称为磁盘阵列。RAID是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。RAID的两个关键目标是提高数据可靠性和I/O性能。磁盘阵列中,数据分散在多个磁盘中,然而对于计算机系统来说,就像一个单独的磁盘。通过把相同数据同时写入到多块磁盘(典型地如镜像),或者将计算的校验数据写入阵列中来获得冗余能力,当单块磁盘出现故障时可以保证不会导致数据丢失。
在实际应用中,存储系统多是集群的方式运行,双控或者更多的节点组成的集群,集群中由于硬件故障,电源故障,软件故障等不可避免的会发生节点故障,在节点故障过程中也会发生节点重启、节点失效、节点更换等操作,在节点发生故障后,如何保障数据的一致性和正确性至关重要。
发明内容
有鉴于此,本申请的目的在于提供一种存储节点故障处理方法、存储节点故障处理装置、电子设备及计算机可读存储介质,保证集群的数据一致性。
为解决上述技术问题,本申请提供了一种存储节点故障处理方法,应用于存储集群中的主节点,所述存储集群中还包括从节点,所述方法包括:
获取第一待写入数据,并将所述第一待写入数据存入磁盘阵列;
生成所述第一待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至所述从节点;
更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和所述从节点能够访问的存储位置;
将所述校验元数据和条带元数据存入所述磁盘阵列;
若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便所述从节点中的目标从节点响应于所述故障通知,利用所述条带元数据和所述元数据位图信息执行元数据写入业务;
在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,并利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务。
可选地,所述利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务,包括:
从所述磁盘阵列中读取所述新增条带元数据对应的目标第一待写入数据,并生成所述目标第一待写入数据对应的目标校验元数据;
基于所述元数据位图信息,将所述目标校验元数据和所述新增条带元数据写入所述磁盘阵列。
可选地,所述在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,包括:
在故障恢复启动成功后,判断所述目标从节点是否处于故障状态;
若处于所述故障状态,则等待所述目标从节点故障恢复启动成功后,接收所述目标从节点发送的新增条带元数据;
若不处于所述故障状态,则接收所述目标从节点发送的新增条带元数据。
可选地,在确定所述目标从节点处于所述故障状态后,还包括:
响应于所述目标从节点故障恢复失败,清空所述主节点和所述从节点分别对应的条带元数据,并重建所述元数据位图信息;
将所述磁盘阵列中所有写入数据读出,并生成各个所述写入数据分别对应的重构校验元数据和重构条带元数据,并将所述重构校验元数据和所述重构条带元数据写入所述磁盘阵列中所述写入数据对应的位置;
可选地,还包括:
在将目标校验元数据和目标条带元数据存入所述磁盘阵列后,向所述从节点发送删除所述目标条带元数据的删除指令。
本申请还提供了一种存储节点故障处理方法,应用于存储集群中的目标从节点,所述存储集群还包括主节点,所述方法包括:
获取并存储所述主节点发送的条带元数据;
响应于所述主节点对应的故障通知,利用所述元数据位图信息和所述条带元数据执行元数据写入业务;
获取第二待写入数据,并将所述第二待写入数据存入磁盘阵列;
生成所述第二待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至其他从节点;
更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和从节点能够访问的存储位置;
将所述校验元数据和条带元数据存入所述磁盘阵列;
响应于所述主节点故障恢复启动成功,向所述主节点发送新增条带元数据。
可选地,还包括:
响应于所述主节点发送的删除所述目标条带元数据的删除指令,删除所述目标条带元数据。
可选地,还包括:
若检测到节点故障,则执行故障恢复启动处理,并触发目标从节点故障通知,以便所述其他从节点中的指定从节点作为新的目标从节点利用所述条带元数据和所述元数据位图信息执行元数据写入业务。
可选地,还包括:
若故障恢复启动失败,则脱离集群,删除所述条带元数据,并重新加入集群。
本申请还提供了一种存储节点故障处理装置,应用于存储集群中的主节点,所述存储集群中还包括从节点,所述装置包括:
第一获取模块,用于获取第一待写入数据,并将所述第一待写入数据存入磁盘阵列;
第一生成模块,用于生成所述第一待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至所述从节点;
第一更新模块,用于更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和所述从节点能够访问的存储位置;
第一存储模块,用于将所述校验元数据和条带元数据存入所述磁盘阵列;
故障恢复模块,用于若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便所述从节点中的目标从节点响应于所述故障通知,利用所述条带元数据和所述元数据位图信息执行元数据写入业务;
第一执行模块,用于在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,并利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务。
本申请还提供了一种存储节点故障处理装置,应用于存储集群中的目标从节点,所述存储集群还包括主节点,所述装置包括:
第二获取模块,用于获取并存储所述主节点发送的条带元数据;
第二执行模块,用于响应于所述主节点对应的故障通知,利用所述元数据位图信息和所述条带元数据执行元数据写入业务;
第三获取模块,用于获取第二待写入数据,并将所述第二待写入数据存入磁盘阵列;
第二生成模块,用于生成所述第二待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至其他从节点;
第二更新模块,用于更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和从节点能够访问的存储位置;
第二存储模块,用于将所述校验元数据和条带元数据存入所述磁盘阵列;
发送模块,用于响应于所述主节点故障恢复启动成功,向所述主节点发送新增条带元数据。
本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的存储节点故障处理方法,和/或,上述的存储节点故障处理方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的存储节点故障处理方法,和/或,上述的存储节点故障处理方法。
本申请提供的应用于存储集群中的主节点的存储节点故障处理方法,存储集群中还包括从节点,主节点获取第一待写入数据,并将待写入数据存入磁盘阵列;生成第一待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至从节点;更新元数据位图信息;其中,元数据位图信息存储于主节点和从节点能够访问的存储位置;将校验元数据和条带元数据存入磁盘阵列;若检测到节点故障,则执行故障恢复启动处理,并向从节点发送故障通知,以便从节点中的目标从节点利用条带元数据和元数据位图信息执行元数据写入业务;在故障恢复启动后,获取目标从节点发送的新增条带元数据,并利用新增条带元数据和元数据位图信息执行元数据写入业务。
本申请提供的应用于存储集群中的目标从节点的存储节点故障处理方法,获取并存储主节点发送的条带元数据;响应于主节点发送的故障通知,利用元数据位图信息和条带元数据执行元数据写入业务;获取第二待写入数据,并将第二待写入数据存入磁盘阵列;生成第二待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至其他从节点;更新元数据位图信息;其中,元数据位图信息存储于主节点和从节点能够访问的存储位置;将校验元数据和条带元数据存入磁盘阵列;响应于主节点故障恢复启动,向主节点发送新增条带元数据。
本申请提供的存储节点故障处理方法中,主节点在正常处理待写入数据时,将对应的条带元数据发送至从节点处备份,当主节点发生故障时,可以由目标从节点接替主节点的工作,由于目标从节点具有主节点的条带元数据的备份,因此其接替工作后能够保证集群的数据一致性。当主节点故障恢复后,目标从节点可以将其在主节点故障恢复期间新生成的新增条带元数据发发送至主节点,使得主节点能够根据新增条带元数据继续执行写入工作,业务从目标从节点到主节点的转移同样可以保证集群的数据一致性,解决了节点故障导致的数据不一致的问题。
此外,本申请还提供了存储节点故障处理装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种存储节点故障处理方法流程图;
图2为本申请实施例提供的一种具体的存储节点故障处理方法流程图;
图3为本申请实施例提供的另一种具体的存储节点故障处理方法流程图;
图4为本申请实施例提供的一种存储节点故障处理装置的结构示意图;
图5为本申请实施例提供的另一种存储节点故障处理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例提供的一种存储节点故障处理方法流程图。本申请提供的存储节点故障处理方法由主节点和目标从节点配合完成,整个过程可以包括:
S101:获取第一待写入数据,并将第一待写入数据存入磁盘阵列。
本步骤由主节点执行,第一待写入数据,是指主节点获取到的需要被写入磁盘整列的待写入数据,数据写入磁盘整列的过程包括待写入数据本身写入磁盘阵列的过程和待写入数据的元数据写入磁盘阵列的过程。元数据,是指描述待写入数据状态的数据,其具体内容不做限定,例如可以包括校验元数据和条带元数据,校验元数据用于对待写入数据进行校验,以便保证待写入数据的准确。条带元数据,是指待写入数据的属性数据,例如待写入数据的状态、待写入数据的读写类型等。
为了提高待写入数据的写入速度,整个写入过程分为两部分执行,在获取到第一待写入数据后,主节点首先将其写入磁盘阵列,其对应的元数据在后续陆续写入。
S103:生成第一待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至从节点。
本步骤由主节点执行,在获取到第一待写入数据后,生成其对应的校验元数据和条带元数据,校验元数据采用具体的校验算法对第一待写入数据本身进行计算得到,条带元数据的生成方式不做限定,例如可以获取与第一待写入数据对应的属性信息,并对其进行封装得到条带元数据。生成的条带元数据被发送至各个从节点,以便从节点对其进行备份,并在主节点发生故障后继续执行元数据写入操作,继续向外提供服务的同时保证数据的一致性。需要说明的是,该步骤可以与将第一待写入数据写入磁盘阵列的步骤并行执行,或者可以串行执行。
S202:获取并存储主节点发送的条带元数据。
该步骤由目标从节点执行,从节点的数量可以为一个或多个,目标从节点可以为任意一个从节点,其具体为在主节点发生节点故障后接替主节点执行数据写入业务的从节点。可以理解的是,由于从节点同样可能发生故障,因此目标从节点的身份可以从一个从节点处转移至另一个从节点处。
S105:更新元数据位图信息。
该步骤由主节点执行。元数据位图信息,是指描述元数据存储位置的信息,其具体内容可以参考相关技术。元数据位图信息存储于主节点和从节点能够访问的存储位置,例如与主节点和每个从节点均进行通信的电子设备,或者可以为主节点和所有从节点均能够访问的存储路径,例如某个非易失性内存。
S107:将校验元数据和条带元数据存入磁盘阵列。
该步骤由主节点执行,主节点在检测到需要写入元数据时,可以将校验元数据和条带元数据写入磁盘阵列。本实施例并不限定校验元数据和条带元数据的具体存储位置,可以参考相关技术。本实施例也不限定S107步骤的执行触发条件,例如可以为周期触发,或者可以为未写入的元数据数据量大于预设阈值,触发写入。
可以理解的是,已经写入磁盘阵列的条带元数据已经无效,无需继续保留,因此在将目标校验元数据和目标条带元数据存入磁盘阵列后,主节点可以向从节点发送删除目标条带元数据的删除指令。从节点(包括目标从节点)响应于主节点发送的删除目标条带元数据的删除指令,删除目标条带元数据。
S109:若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便从节点中的目标从节点响应于故障通知,利用条带元数据和元数据位图信息执行元数据写入业务。
本步骤由主节点执行,主节点在检测到节点故障后,可以执行故障恢复启动处理,通过故障恢复和重新启动解决节点故障。本实施例并不限定节点故障的生成原因,例如可以为软件故障、硬件故障、在线升级宕机等原因。主节点发生故障后,可以触发故障通知,具体触发方式不做限定。例如,主节点可以主动向从节点发送故障通知,或者,集群内存在集群控制节点,集群控制节点能够读取各个节点的工作状态标识,当检测到主节点的工作状态标识不处于正常状态时,集群控制节点向从节点发送故障通知。故障通知的具体形式和内容不做限定。
S204:响应于主节点对应的故障通知,利用元数据位图信息和条带元数据执行元数据写入业务。
本步骤由目标从节点执行,当目标从节点接收到主节点对应的故障通知后,可以确定主节点发生故障,在这种情况下,目标从节点可以利用元数据位图信息和条带元数据执行元数据写入业务。元数据写入业务包括条带元数据写入操作和校验元数据写入操作,目标从节点不具有校验元数据,因此可以从磁盘阵列中重新读出条带元数据对应的第一待写入数据,并利用第一待写入数据计算得到对应的校验元数据。
S206:获取第二待写入数据,并将第二待写入数据存入磁盘阵列。
S208:生成第二待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至其他从节点。
S210:更新元数据位图信息。
S212:将校验元数据和条带元数据存入磁盘阵列。
S206至S212步骤由目标从节点执行,具体与S101、S103、S105、S107类似,区别在于处理的对象为第二待写入数据。第二待写入数据,是指由非主节点获取并写入的待写入数据,其与第一待写入数据的区别在于由非主节点处理。
S214:响应于主节点故障恢复启动成功,向主节点发送新增条带元数据。
该步骤由目标从节点执行。主节点的故障恢复启动需要一定的时间,当检测到主节点故障恢复启动成功后,目标从节点可以向主节点发送新增条带元数据。新增条带元数据,是指对第二待写入数据进行写入时新生成的条带元数据,可以确定的是,新增条带元数据为主节点必然不具有的条带元数据。除此之外,若还存在主节点故障后仍未处理完毕的、由主节点生成的条带元数据,则可以将这部分条带元数据再发送给主节点,由主节点继续处理。
S111:在故障恢复启动成功后,获取目标从节点发送的新增条带元数据,并利用新增条带元数据和元数据位图信息执行元数据写入业务。
该步骤由主节点执行,在故障恢复启动成功后,可以从目标从节点处获取新增条带元数据,并执行元数据写入业务。具体的,主节点可以从磁盘阵列中读取新增条带元数据对应的目标第一待写入数据,并生成目标第一待写入数据对应的目标校验元数据。基于元数据位图信息,将目标校验元数据和新增条带元数据写入磁盘阵列。
可以理解的是,目标从节点在运行过程中同样可能发生故障,当存在多个从节点时,可以通过转移目标从节点身份的方式来延续集群。具体的,对于目标从节点来说,若检测到节点故障,则执行故障恢复启动处理,并触发目标从节点故障通知,以便其他从节点中的指定从节点响应于该目标从节点故障通知,作为新的目标从节点利用条带元数据和元数据位图信息执行元数据写入业务。并在主节点恢复后向其提供新增条带元数据。
在另一种实施方式中,若整个集群仅包括一个从节点,在这种情况下,若从节点也发生故障,为了保证数据一致性,主节点在故障恢复启动成功后,仍无法直接对外提供服务,由于目标从节点比主节点故障时间更晚,因此恢复的时间也相对更晚,主节点需要等待目标从节点的故障恢复。具体的,在故障恢复启动成功后,判断目标从节点是否处于故障状态,若处于故障状态,则等待目标从节点故障恢复启动成功后,接收目标从节点发送的新增条带元数据。若不处于故障状态,则接收目标从节点发送的新增条带元数据。
此外,若唯一一个目标从节点无法恢复正常,则主节点响应于目标从节点故障恢复失败,清空主节点和从节点分别对应的条带元数据,并重建元数据位图信息。为了保证数据一致性,主节点还可以将磁盘阵列中所有写入数据读出,并生成各个写入数据分别对应的重构校验元数据和重构条带元数据,并将重构校验元数据和重构条带元数据写入磁盘阵列中写入数据对应的位置,通过该方式保证元数据可靠。对于目标从节点来说,若故障恢复启动失败,则目标从节点可以脱离集群,删除自身存储的所有条带元数据,并重新加入集群。
应用本申请实施例提供的存储节点故障处理方法,主节点在正常处理待写入数据时,将对应的条带元数据发送至从节点处备份,当主节点发生故障时,可以由目标从节点接替主节点的工作,由于目标从节点具有主节点的条带元数据的备份,因此其接替工作后能够保证集群的数据一致性。当主节点故障恢复后,目标从节点可以将其在主节点故障恢复期间新生成的新增条带元数据发发送至主节点,使得主节点能够根据新增条带元数据继续执行写入工作,业务从目标从节点到主节点的转移同样可以保证集群的数据一致性,解决了节点故障导致的数据不一致的问题。
请参考图2和图3,图2为本申请实施例提供的一种具体的存储节点故障处理方法流程图,图3为本申请实施例提供的另一种具体的存储节点故障处理方法流程图。具体的,存储节点故障处理方法实现时主要包括以下几个步骤:
(1)集群正常运行,NODE A为主写节点,A/B节点元数据(具体为条带元数据)保持同步,A节点保存待写入数据、校验元数据以及条带信息(即条带元数据),B节点保存条带信息,元数据位图信息存储与A和B均能够访问的存储器memory,即MMA/B。
(2)NODE A因为软硬件故障或者在线升级节点宕机,此时集群识别到NODE A故障,控制B节点接管业务,B节点通过保存的条带信息恢复正在写的校验数据进行刷写,恢复后通过实时同步的元数据信息继续处理读写IO,并实时更新元数据位图信息;
(3)此时若节点B发生软硬件故障宕机,节点A故障后启动,满足先挂先起。A节点启动后,读取自身的非易失内存中的元数据,识别为OLD,即旧的元数据。此时元数据管理模块标记元数据位图信息离线,A节点无法继续处理业务,A节点将RAID设置为离线状态,停止处理IO,防止数据错误。
(4)由于节点B为后挂的节点,包含最新的RAID元数据信息(即新增条带元数据),因此节点A需要等待节点B重新加入,等待过程中通知用户元数据无法访问。
(5)如果节点B能够自动恢复,如附图2,则节点B向节点A同步新增条带元数据,同步完成后,两节点包含节点故障后最新的条带元数据,恢复RAID上线,继续处理IO,恢复正常。
(6)如果节点B无法自动加回集群,如附图3,则A节点RAID只能保持离线状态,此时需要通过设置节点B重新加入集群进行恢复;
(7)如果节点B因为硬件故障进入服务模式,在人工更换硬件后,将节点B首先移除集群,非易失内存中的条带元数据删除,元数据信息被清空后,将节点B重新加入集群。
(8)节点A检查到节点B以新节点方式加入,无可用同步元数据信息,进入集群DEAD状态,根据当前RAID的配置信息,重新构建元数据位图信息,完成后,重新分配位图。
(9)节点A重新分配位图后,将其同步到节点B,恢复RAID上线,以新元数据位图信息继续处理新的主机IO;
(10)同时,节点A重新分配位图恢复RAID上线后需保证原磁盘数据的一致性,触发全盘的校验重构任务,即读取原写入数据,利用其重新计算校验值,并重新写入校验值(即校验元数据);
(11)在检验完成后,RAID恢复正常状态,集群恢复正常处理业务状态。
下面对本申请实施例提供的存储节点故障处理装置进行介绍,下文描述的存储节点故障处理装置与上文描述的存储节点故障处理方法可相互对应参照。
请参考图4,图4为本申请实施例提供的一种存储节点故障处理装置的结构示意图,应用于存储集群中的主节点,存储集群中还包括从节点,装置包括:
第一获取模块110,用于获取第一待写入数据,并将待写入数据存入磁盘阵列;
第一生成模块120,用于生成第一待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至从节点;
第一更新模块130,用于更新元数据位图信息;其中,元数据位图信息存储于主节点和从节点能够访问的存储位置;
第一存储模块140,用于将校验元数据和条带元数据存入磁盘阵列;
故障恢复模块150,用于若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便从节点中的目标从节点响应于故障通知,利用条带元数据和元数据位图信息执行元数据写入业务;
第一执行模块160,用于在故障恢复启动成功后,获取目标从节点发送的新增条带元数据,并利用新增条带元数据和元数据位图信息执行元数据写入业务。
可选地,第一执行模块160,包括:
读取单元,用于从磁盘阵列中读取新增条带元数据对应的目标第一待写入数据,并生成目标第一待写入数据对应的目标校验元数据;
写入单元,用于基于元数据位图信息,将目标校验元数据和新增条带元数据写入磁盘阵列。
可选地,第一执行模块160,包括:
故障判断单元,用于在故障恢复启动成功后,判断目标从节点是否处于故障状态;
等待接收单元,用于若处于故障状态,则等待目标从节点故障恢复启动成功后,接收目标从节点发送的新增条带元数据;
直接接收单元,用于若不处于故障状态,则接收目标从节点发送的新增条带元数据。
可选地,第一执行模块160,还包括:
清空单元,用于响应于目标从节点故障恢复失败,清空主节点和从节点分别对应的条带元数据,并重建元数据位图信息;
更新单元,用于将磁盘阵列中所有写入数据读出,并生成各个写入数据分别对应的重构校验元数据和重构条带元数据,并将重构校验元数据和重构条带元数据写入磁盘阵列中写入数据对应的位置。
可选地,还包括:
删除指示模块,用于在将目标校验元数据和目标条带元数据存入磁盘阵列后,向从节点发送删除目标条带元数据的删除指令。
下面对本申请实施例提供的存储节点故障处理装置进行介绍,下文描述的存储节点故障处理装置与上文描述的存储节点故障处理方法可相互对应参照。
请参考图5,图5为本申请实施例提供的另一种存储节点故障处理装置的结构示意图,应用于存储集群中的目标从节点,存储集群还包括主节点,装置包括:
第二获取模块210,用于获取并存储主节点发送的条带元数据;
第二执行模块220,用于响应于主节点对应的故障通知,利用元数据位图信息和条带元数据执行元数据写入业务;
第三获取模块230,用于获取第二待写入数据,并将第二待写入数据存入磁盘阵列;
第二生成模块240,用于生成第二待写入数据对应的校验元数据和条带元数据,并将条带元数据发送至其他从节点;
第二更新模块250,用于更新元数据位图信息;其中,元数据位图信息存储于主节点和从节点能够访问的存储位置;
第二存储模块260,用于将校验元数据和条带元数据存入磁盘阵列;
发送模块270,用于响应于主节点故障恢复启动成功,向主节点发送新增条带元数据。
可选地,还包括:
删除模块,用于响应于主节点发送的删除目标条带元数据的删除指令,删除目标条带元数据。
可选地,还包括:
从节点故障恢复模块,用于若检测到节点故障,则执行故障恢复启动处理,并触发目标从节点故障通知,以便其他从节点中的指定从节点作为新的目标从节点利用条带元数据和元数据位图信息执行元数据写入业务。
可选地,还包括:
失败处置模块,用于若故障恢复启动失败,则脱离集群,删除条带元数据,并重新加入集群。
下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的存储节点故障处理方法可相互对应参照。
请参考图6,图6为本申请实施例提供的一种电子设备的结构示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成上述的存储节点故障处理方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的存储节点故障处理方法。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的存储节点故障处理方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的存储节点故障处理方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种存储节点故障处理方法,其特征在于,应用于存储集群中的主节点,所述存储集群中还包括从节点,所述方法包括:
获取第一待写入数据,并将所述第一待写入数据存入磁盘阵列;
生成所述第一待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至所述从节点;
更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和所述从节点能够访问的存储位置;
将所述校验元数据和条带元数据存入所述磁盘阵列;
若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便所述从节点中的目标从节点响应于所述故障通知,利用所述条带元数据和所述元数据位图信息执行元数据写入业务;
在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,并利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务。
2.根据权利要求1所述的存储节点故障处理方法,其特征在于,所述利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务,包括:
从所述磁盘阵列中读取所述新增条带元数据对应的目标第一待写入数据,并生成所述目标第一待写入数据对应的目标校验元数据;
基于所述元数据位图信息,将所述目标校验元数据和所述新增条带元数据写入所述磁盘阵列。
3.根据权利要求1所述的存储节点故障处理方法,其特征在于,所述在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,包括:
在故障恢复启动成功后,判断所述目标从节点是否处于故障状态;
若处于所述故障状态,则等待所述目标从节点故障恢复启动成功后,接收所述目标从节点发送的新增条带元数据;
若不处于所述故障状态,则接收所述目标从节点发送的新增条带元数据。
4.根据权利要求3所述的存储节点故障处理方法,其特征在于,在确定所述目标从节点处于所述故障状态后,还包括:
响应于所述目标从节点故障恢复失败,清空所述主节点和所述从节点分别对应的条带元数据,并重建所述元数据位图信息;
将所述磁盘阵列中所有写入数据读出,并生成各个所述写入数据分别对应的重构校验元数据和重构条带元数据,并将所述重构校验元数据和所述重构条带元数据写入所述磁盘阵列中所述写入数据对应的位置。
5.根据权利要求1所述的存储节点故障处理方法,其特征在于,还包括:
在将目标校验元数据和目标条带元数据存入所述磁盘阵列后,向所述从节点发送删除所述目标条带元数据的删除指令。
6.一种存储节点故障处理方法,其特征在于,应用于存储集群中的目标从节点,所述存储集群还包括主节点,所述方法包括:
获取并存储所述主节点发送的条带元数据;
响应于所述主节点对应的故障通知,利用所述元数据位图信息和所述条带元数据执行元数据写入业务;
获取第二待写入数据,并将所述第二待写入数据存入磁盘阵列;
生成所述第二待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至其他从节点;
更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和从节点能够访问的存储位置;
将所述校验元数据和条带元数据存入所述磁盘阵列;
响应于所述主节点故障恢复启动成功,向所述主节点发送新增条带元数据。
7.根据权利要求6所述的存储节点故障处理方法,其特征在于,还包括:
响应于所述主节点发送的删除所述目标条带元数据的删除指令,删除所述目标条带元数据。
8.根据权利要求6所述的存储节点故障处理方法,其特征在于,还包括:
若检测到节点故障,则执行故障恢复启动处理,并触发目标从节点故障通知,以便所述其他从节点中的指定从节点作为新的目标从节点利用所述条带元数据和所述元数据位图信息执行元数据写入业务。
9.根据权利要求8所述的存储节点故障处理方法,其特征在于,还包括:
若故障恢复启动失败,则脱离集群,删除所述条带元数据,并重新加入集群。
10.一种存储节点故障处理装置,其特征在于,应用于存储集群中的主节点,所述存储集群中还包括从节点,所述装置包括:
第一获取模块,用于获取第一待写入数据,并将所述第一待写入数据存入磁盘阵列;
第一生成模块,用于生成所述第一待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至所述从节点;
第一更新模块,用于更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和所述从节点能够访问的存储位置;
第一存储模块,用于将所述校验元数据和条带元数据存入所述磁盘阵列;
故障恢复模块,用于若检测到节点故障,则执行故障恢复启动处理,并触发故障通知,以便所述从节点中的目标从节点响应于所述故障通知,利用所述条带元数据和所述元数据位图信息执行元数据写入业务;
第一执行模块,用于在故障恢复启动成功后,获取所述目标从节点发送的新增条带元数据,并利用所述新增条带元数据和所述元数据位图信息执行元数据写入业务。
11.一种存储节点故障处理装置,其特征在于,应用于存储集群中的目标从节点,所述存储集群还包括主节点,所述装置包括:
第二获取模块,用于获取并存储所述主节点发送的条带元数据;
第二执行模块,用于响应于所述主节点对应的故障通知,利用所述元数据位图信息和所述条带元数据执行元数据写入业务;
第三获取模块,用于获取第二待写入数据,并将所述第二待写入数据存入磁盘阵列;
第二生成模块,用于生成所述第二待写入数据对应的校验元数据和条带元数据,并将所述条带元数据发送至其他从节点;
第二更新模块,用于更新元数据位图信息;其中,所述元数据位图信息存储于所述主节点和从节点能够访问的存储位置;
第二存储模块,用于将所述校验元数据和条带元数据存入所述磁盘阵列;
发送模块,用于响应于所述主节点故障恢复启动成功,向所述主节点发送新增条带元数据。
12.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至5任一项所述的存储节点故障处理方法,和/或,如权利要求6至9任一项所述的存储节点故障处理方法。
13.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的存储节点故障处理方法,和/或,如权利要求6至9任一项所述的存储节点故障处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111660461.8A CN114281591A (zh) | 2021-12-30 | 2021-12-30 | 存储节点故障处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111660461.8A CN114281591A (zh) | 2021-12-30 | 2021-12-30 | 存储节点故障处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281591A true CN114281591A (zh) | 2022-04-05 |
Family
ID=80879050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111660461.8A Pending CN114281591A (zh) | 2021-12-30 | 2021-12-30 | 存储节点故障处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281591A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454727A (zh) * | 2022-11-11 | 2022-12-09 | 苏州浪潮智能科技有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
CN115543692A (zh) * | 2022-11-16 | 2022-12-30 | 苏州浪潮智能科技有限公司 | Raid控制器恢复元数据的方法、装置、设备及介质 |
CN115826876A (zh) * | 2023-01-09 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 数据写入方法、系统、存储硬盘、电子设备及存储介质 |
CN116662081A (zh) * | 2023-08-01 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 一种分布式存储冗余方法、装置、电子设备和存储介质 |
-
2021
- 2021-12-30 CN CN202111660461.8A patent/CN114281591A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115454727A (zh) * | 2022-11-11 | 2022-12-09 | 苏州浪潮智能科技有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
CN115454727B (zh) * | 2022-11-11 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种数据恢复方法、装置、设备及可读存储介质 |
CN115543692A (zh) * | 2022-11-16 | 2022-12-30 | 苏州浪潮智能科技有限公司 | Raid控制器恢复元数据的方法、装置、设备及介质 |
CN115826876A (zh) * | 2023-01-09 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 数据写入方法、系统、存储硬盘、电子设备及存储介质 |
CN116662081A (zh) * | 2023-08-01 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 一种分布式存储冗余方法、装置、电子设备和存储介质 |
CN116662081B (zh) * | 2023-08-01 | 2024-02-27 | 苏州浪潮智能科技有限公司 | 一种分布式存储冗余方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281591A (zh) | 存储节点故障处理方法、装置、设备及存储介质 | |
US20230117542A1 (en) | Remote Data Replication Method and System | |
US9367598B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
US7987158B2 (en) | Method, system and article of manufacture for metadata replication and restoration | |
EP3125120A1 (en) | System and method for consistency verification of replicated data in a recovery system | |
CN106951345B (zh) | 一种虚拟机磁盘数据的一致性测试方法及装置 | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
CN110543386B (zh) | 一种数据存储方法、装置、设备和存储介质 | |
EP3474143B1 (en) | Method and apparatus for incremental recovery of data | |
US8229892B2 (en) | Storage apparatus and data restoring method used therein | |
CN110825562B (zh) | 数据备份方法、装置、系统和存储介质 | |
CN110825546A (zh) | 一种面向高可用数据库集群的恢复方法、系统及设备终端 | |
JP7215971B2 (ja) | 記憶機器のデータ位置の処理方法及び処理装置、コンピュータ機器並びにコンピュータ読み取り可能な記憶媒体 | |
JP2016181142A (ja) | バックアップ制御装置、バックアップ制御方法、及び、プログラム | |
CN107329699B (zh) | 一种纠删重写方法及系统 | |
JP2016143134A (ja) | 関連情報提供方法、関連情報提供装置及び関連情報提供プログラム | |
US11150831B2 (en) | Virtual machine synchronization and recovery | |
JP6251965B2 (ja) | 情報システムおよびデータベース復旧方法 | |
JP2013186857A (ja) | ストレージ装置、データ復旧方法およびプログラム | |
JP2019159882A (ja) | コントローラ及びデータ保存方法 | |
JP7180319B2 (ja) | 情報処理装置、及び情報処理装置のダンプ管理方法 | |
CN111984460B (zh) | 元数据的恢复方法及装置 | |
CN115344424A (zh) | 一种同步状态恢复方法、装置、设备及存储介质 | |
CN117785546A (zh) | 数据库备份的方法、系统和计算设备集群 | |
CN115657934A (zh) | 业务与元数据同步并行处理的方法、装置、服务器及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |