CN107729185A - 一种故障处理方法及装置 - Google Patents

一种故障处理方法及装置 Download PDF

Info

Publication number
CN107729185A
CN107729185A CN201711015125.1A CN201711015125A CN107729185A CN 107729185 A CN107729185 A CN 107729185A CN 201711015125 A CN201711015125 A CN 201711015125A CN 107729185 A CN107729185 A CN 107729185A
Authority
CN
China
Prior art keywords
osd
target storage
storage node
node
threshold value
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.)
Granted
Application number
CN201711015125.1A
Other languages
English (en)
Other versions
CN107729185B (zh
Inventor
顾雷雷
乔辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201711015125.1A priority Critical patent/CN107729185B/zh
Publication of CN107729185A publication Critical patent/CN107729185A/zh
Application granted granted Critical
Publication of CN107729185B publication Critical patent/CN107729185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种故障处理方法及装置,该方法包括:获取存储节点的可用内存容量和对象存储设备OSD数量的信息;当确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。应用本发明可以规避存储节点上内存故障后可能出现OSD性能瓶颈和数据恢复失败的风险。

Description

一种故障处理方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种故障处理方法及装置。
背景技术
Ceph(分布式存储***)是一个开源项目,提供软件定义的、统一的存储解决方案,具备可大规模扩展、高性能、无单点故障的优点。
一个典型的Ceph集群部署,会在集群节点中为每一块物理硬盘创建一个OSD(Object Storage Device,对象存储设备)。
Ceph集群的故障域通常包括磁盘、节点(即服务器)、机架、电源电路等。当故障域内任何组件发生故障之后,会导致部署在其上的相应OSD会发生故障,Ceph集群会将这些OSD标记为Down(非工作)状态,并进行初始化操作,重新组织发生故障的节点上受影响的数据。
然而实践发现,在现有Ceph集群实现方案中,由于存储节点的部分内存不可用并不会直接影响OSD的状态,因此,当存储节点的部分内存不可用时,Ceph集群并不会对OSD的状态进行调整,但是此时若Ceph集群发生数据恢复或再平衡事件,其会严重影响Ceph集群的处理性能,甚至导致数据恢复失败的情况发生。
发明内容
本发明提供一种故障处理方法及装置,以解决现有技术中存储节点内存故障可能会降低Ceph集群处理性能,甚至导致Ceph集群数据恢复失败的问题。
根据本发明实施例的第一方面,提供一种故障处理方法,该方法包括:
获取存储节点的可用内存容量和对象存储设备OSD数量的信息;
当确定所述存储节点中目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。
根据本发明实施例的第二方面,提供一种故障处理方法,该方法包括:
获取自身可用内存容量和对象存储对象设备OSD数量的信息;
向监视器上报自身可用内存容量和OSD数量的信息。
根据本发明实施例的第三方面,提供一种故障处理装置,该装置包括:
获取单元,用于获取存储节点的可用内存容量和对象存储设备OSD数量的信息;
确定单元,用于确定所述存储节点中是否存在目标存储节点的内存容量和对象存储设备OSD数量的比值小于第一预设阈值;
处理单元,用于当所述确定单元确定所述存储节点中目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。
根据本发明实施例的第四方面,提供一种故障处理装置,该装置包括:
获取单元,用于获取自身可用内存容量和对象存储对象设备OSD数量的信息;
发送单元,用于向监视器上报自身可用内存容量和OSD数量的信息。
应用本发明实施例,通过设置用于指示存储节点的内存资源不足的第一预设阈值,当确定存储节点中的目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对目标存储节点的OSD增加操作,并将目标存储节点的部分OSD设置为第一类型Down状态,以使目标存储节点的可用内存容量和其余OSD数量的比值大于等于第一预设阈值,规避了存储节点上内存故障后可能出现OSD性能瓶颈和数据恢复失败的风险。
附图说明
图1是本发明实施例提供的一种故障处理方法的流程示意图;
图2是本发明实施例提供的一种故障处理方法的流程示意图;
图3是本发明实施例提供的一种故障处理装置的结构示意图;
图4是本发明实施例提供的另一种故障处理装置的结构示意图;
图5是本发明实施例提供的一种故障处理装置的结构示意图;
图6是本发明实施例提供的一种监视器和存储节点位于同一物理主机的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种故障处理方法的流程示意图,其中,该故障处理方法可以应用于Ceph集群的存储节点,如图1所示,该故障处理方法可以包括以下步骤:
需要说明的是,在本发明实施例中,若未特殊说明,内存容量以G为单位,存储节点的OSD数量是存储节点中处于UP(工作)状态的OSD,本发明实施例后续不再复述。
步骤101、获取自身可用内存容量和OSD数量的信息。
步骤102、向监视器上报自身可用内存容量和OSD数量的信息。
本发明实施例中,为了保证Ceph集群中各存储节点的OSD能正常工作,需要保证存储节点中各OSD配置有足够的内存,对于存储节点整体而言,就需要保证存储节点的可用内存容量和OSD数量的比值足够大。
当存储节点初始化运行时,通常会为OSD预留充足的内存资源,但是,当存储节点内部分内存发生故障时,如内存条松动、内存条接口故障等,存储节点的可用内存容量和OSD数量的比值会下降,甚至导致可用内存不足以满足OSD正常工作的需求。
因此,在本发明实施例中,存储节点可以按照预设策略向监视器上报自身可用内存容量和OSD数量的信息,如可用内存容量和OSD数量的比值。
例如,存储节点可以定时(如周期性地)向监视器上报自身可用内存容量和OSD数量的比值;或者,存储节点可以在自身可用内存容量和OSD数量的比值满足指定条件时,向监视器上报自身可用内存容量和OSD数量的比值。
在本发明其中一个实施例中,上述向监视器上报自身可用内存容量和OSD数量的信息,可以包括:
当自身可用内存容量和OSD数量的比值小于第一预设阈值时,向监视器发送第一类型报告。
在该实施例中,可以预先在各存储节点中设定一个阈值(本文中称为第一预设阈值),该阈值用于判断为OSD预留的内存资源是否满足OSD能够正常工作的最低需求,即当存储节点的可用内存容量和OSD数量的比值大于等于该第一预设阈值时,表明该存储节点为OSD预留的内存资源满足OSD能够正常工作的最低需求,否则,表明该存储节点为OSD预留的内存资源不满足OSD能够正常工作的最低需求。其中,该第一预设阈值可以根据实际场景设定,如根据存储节点的实际硬盘容量确定。
可选地,该第一预设阈值可以为0.5~1.5范围内的任意值。
相应地,在该实施例中,存储节点可以实时获取自身可用内存容量和OSD数量的比值,以确定自身可用内存容量和OSD数量的比值是否小于第一预设阈值,并当确定自身可用内存容量和OSD数量的比值小于第一预设阈值时,向监视器发送报告(本文中称为第一类型报告),以通知监视器该存储节点的可用内存容量和OSD数量的比值小于第一预设阈值,即该存储节点的可用内存容量以不足于满足OSD正常工作的最低需求,以触发监视器执行步骤202。
举例来说,存储节点可以实时获取自身可用内存容量和OSD数量的比值,并由OSD守护进程周期性地(该周期可以根据实际场景设定,如300秒)轮询该可用内存容量和OSD数量的比值,并判断该可用内存容量和OSD数量的比值是否超过第一预设阈值,并当OSD守护进程确定该可用内存容量和OSD数量的比值低于第一预设阈值时,向监视器发送第一类型报告。
其中,考虑到存储节点通常会存在多个OSD守护进程(与OSD数量一致),为了避免同一存储节点中的多个OSD守护进程重复向监视器发送第一类型报告,各OSD守护进程可以以不同的周期进行可用内存容量和OSD数量的比值的轮询,或者,以相同的周期但不同的时刻开始轮询。
例如,假设存储节点创建有32个OSD,相应地,该存储节点中会运行32个OSD守护进程(OSD守护进程1~32),存储节点中各OSD守护进程均以300秒的周期向存储节点轮询可用内存容量和OSD数量的比值,例如,OSD守护进程2可以在OSD守护进程1轮询起始时间的5秒之后开始轮询,OSD守护进程3可以在OSD守护进程2轮询起始时间的5秒之后开始轮询…OSD守护进程32可以在OSD守护进程31轮询起始时间的5秒之后开始轮询。
当任一OSD守护进程发现存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,该OSD守护进程可以向监视器发送第一类型报告;监视器接收到该第一类型报告时,可以回应一个确认消息,如ACK(确认)消息;OSD守护进程接收到监视器返回的确认消息之后,可以向其它OSD守护进程发送通知消息,使得其它OSD守护进程接收到该通知消息之后,会在一定时长内处于静默状态,即在预设时长内不进行可用内存容量和OSD数量的比值的轮询。其中,各OSD守护进程静默的时长需要大于各OSD守护进程进行可用内存容量和OSD数量的比值的轮询周期,如当轮询周期为300秒时,静默的时长可以为900秒或1800秒等。当OSD守护进程在静默的时长内接收到其它OSD守护进程发送的通知消息,则OSD守护进程可以对静默时间的计时归零,重新开始静默时间的计时;否则,即OSD守护进程在静默时长内未接收到其它OSD守护进程发送的通知消息时,OSD守护进程可以开始在到达下一次的轮询开始时刻时,进行可用内存容量和OSD数量的比值的轮询。
本发明实施例中,监视器接收到存储节点上报的第一类型报告时,一方面,可以拒绝针对该存储节点的OSD增加操作;另一方面,可以对存储节点上的部分OSD进行去工作处理,即将存储节点上的部分OSD设置为第一类型Down状态(本文中也可以称为管理Down状态),以使存储节点的可用内存容量与其余OSD数量的比值大于等于第一预设阈值,其具体实现可以参见图2所示方法流程中的相关描述,本发明实施例在此不做赘述。
其中,该其余OSD是指存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD(即UP状态的OSD);第一类型Down与现有Ceph集群中OSD的Down的区别在于:前者OSD并未故障,即OSD具有工作的能力,但是被设置为非工作状态;后者OSD发生故障,即OSD不具有工作的能力,而设置为Down状态。
可见,在图1所示方法流程中,通过存储节点获取自身可用内存容量和OSD数量的比值,并当向监视器上报自身可用内存容量和OSD数量的比值,以使监视器在确定存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,将存储节点上的部分OSD设置为第一类型Down状态,使存储节点的可用内存容量和其余OSD数量的比值大于等于第一预设阈值,即保证存储节点为OSD预留有足够的可用内存容量,规避了存储节点上内存故障后可能出现OSD性能瓶颈和数据恢复失败的风险。
请参见图2,为本发明实施例提供的一种故障处理方法的流程示意图,其中,该方法可以应用于Ceph集群中的监视器(Monitor),如图2所示,该故障处理方法可以包括以下步骤:
需要说明的是,在本发明实施例中,监视器与存储节点可以部署在不同物理主机上,也可以部署在同一物理主机。存储节点可以理解为至少包括起到存储功能的OSD的集合,当然存储节点还可以包括具备控制功能的处理器。
步骤201、获取存储节点的可用内存容量和OSD数量的信息。
本发明实施例中,为了避免存储节点上内存故障后可能出现OSD性能瓶颈和数据恢复失败的风险,监视器可以获取存储节点的可用内存容量和OSD数量的信息,以便在确定存储节点的可用内存容量和OSD数量的比值过低时,采取相应策略以提高存储节点的可用内存容量和OSD数量的比值。其中,上述获取的存储节点的可用存储容量和OSD数量的信息针对的是整个集群。但是获取上述信息的过程,是以物理主机为单位进行获取的,即获取的参数针对是同一个物理主机,也就是获取的存储节点的可用内存容量(OSD的集合的总的可用内存容量)和OSD的数量是同一物理主机的参数。
在本发明其中一个实施例中,上述获取存储节点的可用内存容量和OSD数量的信息,可以包括:
接收存储节点上报的可用内存容量和OSD数量的信息。
在该实施例中,存储节点向监视器上报可用内存容量和OSD数量的信息的具体实现可以参见图1所示方法实施例中的相关描述,本发明实施例在此不再赘述。
在本发明另一个实施例中,上述获取存储节点的可用内存容量和OSD数量的信息,可以包括:
探测所述存储节点的可用容量和OSD数量的信息。
在该实施例中,监视器可以主动探测存储节点的可用容量和OSD数量的信息,例如,监视器可以定时(如周期性地)探测存储节点的可用容量和OSD数量的信息。
需要说明的是,在该实施例中,可以由Ceph集群内任一监视器探测Ceph集群内所有存储节点的可用内存容量和OSD数量的比值,或者,可以根据Ceph集群内监视器的数量,将Ceph集群内所有存储节点划分为多个分组,该分组的数量可以与监视器的数量一致,一个监视器探测一个分组内的存储节点的可用内存容量和OSD数量的比值,其具体实现在此不做赘述。
步骤202、当确定存储节点中的目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对目标存储节点的OSD增加操作,并将目标存储节点的部分OSD设置为第一类型非工作Down状态,以使目标存储节点的可用内存容量和其余OSD数量的比值大于等于第一预设阈值。
本发明实施例中,目标存储节点并不特指某一固定的存储节点,而是可以指代Ceph集群中任一存储节点。
在本发明其中一个实施例中,确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值,可以包括:
接收到目标存储节点发送的第一类型报告。
其中,目标存储节点向监视器发送第一类型报告的具体实现可以参见图1所示方法流程中的相关描述,本发明实施例在此不再赘述。
在该实施例中,当监视器接收到目标存储节点发送的第一类型报告时,可以确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值。
在本发明另一个实施例中,确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值,可以包括:
探测到目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值。
在该实施例中,监视器可以周期性探测Ceph集群内各存储节点的可用内存容量和OSD数量的比值,并判断各存储节点的可用内存容量和OSD数量的比值是否小于第一预设阈值。
本发明实施例中,当监视器确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,一方面,监视器需要拒绝针对该目标存储节点的OSD增加操作,即当监视器接收到需要在目标存储节点上增加OSD的通知消息时,禁止此次OSD增加操作,避免目标存储节点上数量的增加进一步降低目标存储节点的可用内存容量和OSD数量的比值,加剧目标存储节点出现OSD性能瓶颈和数据恢复失败的风险。
另一方面,监视器可以对目标存储节点的部分OSD进行去工作处理,即将目标存储节点的部分OSD设置为第一类型Down状态,以使目标存储节点的可用内存容量和其余OSD数量的比值大于等于第一预设阈值,即保证目标存储节点的内存资源能够满足处于UP状态的OSD的正常工作的最低需求。
举例来说,假设第一预设阈值为h1,目标存储节点的初始可用内存容量为M0,初始OSD数量为N0,M0/N0≥h1;若某一时刻,目标存储节点内部分内存故障,导致可用内存容量变化为M1,且M1/N0<h1,目标存储节点会向监视器上报第一类型报告,此时,监视器可以从目标存储节点中选择N1个OSD设置为第一类型Down状态,使得M1/(N0-N1)≥h1。可选的,选择出的设置为第一类型Down状态的OSD的数量可以为满足M1/(N0-N1)≥h1的N1的最小值。
进一步地,在本发明实施例中,当监视器对存储节点进行了上述处理之后,若存储节点的内存故障得到修复,则存储节点的可用内存容量会增加,相应地,存储节点的可用内存容量与OSD数量的比值也会增加,此时,监视器可以将该存储节点上部分或全部被设置为第一类型Down状态的OSD恢复为UP状态。
而为了避免监视器将存储节点中部分或全部被设置为第一类型Down状态的OSD恢复为UP状态之后,存储节点的可用内存容量与OSD数量的比值再次降低至小于第一预设阈值,导致需要重新将存储节点的部分OSD设置为第一类型Down状态,从而形成震荡,可以预先设定另一个阈值(本文中称为第二预设阈值),该第二预设阈值用于判断是否允许将存储节点上被设置为第一类型Down状态的OSD恢复为UP状态。其中,该第二预设阈值大于第一预设阈值。
优选地,该第二预设阈值为理想状态下的可用内存容量与OSD的比值,即可用内存容量与OSD之间的最佳或者较佳比例。
可选的,第二预设阈值可以为1.5~2.0范围内的任意值,其中,当第一预设阈值为1.5时,第二预设阈值需要大于1.5。
相应地,在本发明其中一个实施例中,上述将目标存储节点的部分OSD设置为第一类型Down状态之后,还可以包括:
当确定目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,允许针对目标存储节点的OSD增加操作,并以恢复后的可用内存容量和OSD数量的比值大于等于第二预设阈值的原则,将目标存储节点中被设置为第一类型Down状态的部分OSD中的部分或全部OSD恢复为UP状态。
在该实施例,监视器确定目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值可以包括:
接收到目标存储节点上报的第二类型报告,或,探测到目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值。
其中,该第二类型报告是目标存储节点确定自身可用内存容量和OSD数量的比值由小于第一预设阈值变化为大于第二预设阈值时发送的,以触发监视器执行允许针对目标存储节点的OSD增加操作,并以恢复后的可用内存容量和OSD数量的比值大于等于第二预设阈值的原则,将目标存储节点中被设置为第一类型Down状态的部分OSD中的部分或全部OSD恢复为UP状态的操作。
其中,目标存储节点向监视器发送第二类型报告的具体实现与目标存储节点向监视器发送第一类型报告的实现相类似,本发明实施例在此不做赘述。
在该实施例中,当监视器确定目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,监视器可以确定目标存储节点为OSD预留有足够的内存资源,此时,可以允许目标存储节点增加OSD数量。
相应地,一方面,监视器可以允许针对目标存储节点的OSD增加操作;另一方面,监视器可以将目标存储节点中部分或全部被设置为第一类型Down状态的OSD恢复为UP状态。
其中,监视器对目标存储节点进行上述恢复处理时,需要保证目标存储节点恢复处理后的可用内存容量和OSD数量的比值大于等于第二阈值。
举例来说,仍以上一示例为例,假设第二预设阈值为h2,若某一时刻,目标存储节点可用内存容量恢复为M2(M1<M2≤M0),且M2/(N0-N1)>h2,此时,监视器可以从目标存储节点中被设置为第一类型Down状态的OSD中选择N2(0<N2<N1)个OSD恢复为UP状态,其中,M2/(N0-N1+N2)≥h2。
进一步地,在本发明其中一个实施例中,当监视器确定目标存储节点的可用内存容量和OSD数量的比值大于等于第一预设阈值,且小于第二预设阈值时,拒绝针对存储节点的OSD增加操作。
在该实施例中,监视器确定目标存储节点的可用内存容量和OSD数量的比值大于等于第一预设阈值,且小于第二预设阈值可以包括接收到目标存储节点发送的第三类型报告,或,探测到目标存储节点的可用内存容量和OSD数量的比值大于等于第一预设阈值,且小于第二预设阈值。
其中,该第三类型报告是目标存储节点确定自身可用内存容量和OSD数量的比值大于等于第一预设阈值,且小于第二预设阈值时发送的,进而触发监视器拒绝针对存储节点的OSD增加操作。
其中,目标存储节点向监视器发送第三类型报告的具体实现与目标存储节点向监视器发送第一类型报告的实现相类似,本发明实施例在此不做赘述。
需要说明的是,当目标存储节点的可用内存容量和OSD数量的比值由小于第一预设阈值变化为大于等于第一预设阈值,且小于第二预设阈值时,说明此时存储节点可以维持OSD的正常工作,但是已经不满足OSD与可用内存容量间的最佳或者较佳的分配,此时监视器可以保持拒绝针对目标存储节点的OSD增加操作,而不需要进行其它特殊处理。
进一步地,在本发明其中一个实施例中,当监视器确定目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值,或,大于等于第一预设阈值且小于第二预设阈值时,监视器可以生成***健康日志,该***健康日志用于记录目标存储节点发生内存故障,从而,管理员可以根据该***健康日志获知目标存储节点发生内存故障的情况,并根据需求进行相应处理。
需要说明的是,在本发明实施例中,由于存储节点的OSD状态发生变化后,Ceph集群的Leader(领导者)需要更新集群Map(映射),因此,若非Leader的监视器将存储节点中部分OSD设置为第一类型Down状态之后,还需要通知Leader节点,由Leader节点更新集群Map,因此,为了提高集群Map更新效率,可以由Ceph集群的Leader执行上述处理操作。
为了使本领域技术人员更好地理解本发明实施例提供技术方案,下面结合具体实例对本发明实施例提供的技术方案进行说明。
在该实施例中,假设第一预设阈值(h1)为1,第二预设阈值(h2)为1.5;假设目标存储节点的初始可用内存容量为64G(假设由16根4G内存提供),OSD数量为32个。则该实施例中故障处理方法流程如下:
1、当目标存储节点中5根内存出现故障时,目标存储节点的可用内存容量和OSD数量的比值(以下描述为h3)为h3=(64-4*5)/32=1.375,即h1<h3<h2,此时目标存储节点可以通过OSD守护进程向监视器上报,即向监视器发送第三类型报告;
监视器接收到目标存储节点发送的第三类型报告时,确定目标存储节点处于h1<h3<h2的状态,此时,监视器可以执行如下处理:
a、生成***健康日志,记录目标存储节点发生内存故障;
b、拒绝针对目标存储节点的OSD增加操作;
2、当目标存储节点另外4根内存出现故障(即共9根内存出现故障)时,目标存储节点的h3=(64-4*9)/32=0.875,即h3<h1,此时,目标存储节点可以通过OSD守护进程向监视器上报,即向监视器发送第一类型报告;
监视器接收到目标存储节点发送的第一类型报告时,确定目标存储节点处于h3<h1的状态,此时,监视器可以执行如下处理:
a、生成***健康日志,记录目标存储节点发生严重内存故障;
b、拒绝针对目标存储节点的OSD增加操作;
c、对目标存储节点上部分OSD进行去工作处理,其实现如下:
i、计算需要去工作处理的OSD的数量o1,以保证处理后的目标存储节点的h3大于h1,即,1≤(64-4*9)/(32-o1),因此,o1的最小值为4;
ii、监视器将目标存储节点上的随机4个OSD进行去工作处理,即将选出的4个OSD设置为管理Down状态(即第一类型Down状态),并通过数据恢复动作将这4个OSD上的数据移动到Ceph集群的其它正常OSD上;
其中,监视器在对目标存储节点的4个OSD进行了去工作处理之后,可以周期性地探测目标存储节点的h3值;
3、当管理员发现***健康日志并根据该***健康日志找到目标存储节点,并进行内存恢复处理(假设恢复后的可用内存容量为M)时,目标存储节点的h3会增加,当监视器探测到目标存储节点处于h3>h2的状态(即h3>1.5)时,监视器可以执行如下处理:
a、允许针对目标存储节点的OSD增加操作;
b、将目标存储节点上部分或全部管理Down状态的OSD恢复为UP状态,其实现如下:
i、计算需要恢复为UP状态的OSD的数量o2,以保证处理后的目标存储节点的h3大于等于h2,即1.5≤M/(28+o2);
ii、监视器将目标存储节点上管理Down状态的OSD中o2数量的OSD恢复为UP状态,并进行再平衡处理。
其中,监视器根据存储节点的可用内存容量和OSD数量的比值的变化执行的不同操作的示意图可以如图3所示。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过设置用于指示存储节点的内存资源不足的第一预设阈值,当确定存储节点中的目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对目标存储节点的OSD增加操作,并将目标存储节点的部分OSD设置为第一类型Down状态,以使目标存储节点的可用内存容量和其余OSD数量的比值大于等于第一预设阈值,规避了存储节点上内存故障后可能出现OSD性能瓶颈和数据恢复失败的风险。
请参见图4,为本发明实施例提供的一种故障处理装置的结构示意图,其中,该装置可以应用于上述方法实施例中的监视器,如图4所示,该故障处理装置可以包括:
获取单元410,用于获取存储节点的可用内存容量和对象存储设备OSD数量的信息;
确定单元420,用于确定所述存储节点中是否存在目标存储节点的内存容量和对象存储设备OSD数量的比值小于第一预设阈值;
处理单元430,用于当所述确定单元420确定所述存储节点中目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。
在可选实施例中,所述获取单元410,具体用于接收所述存储节点上报的可用内存容量和OSD数量的信息;或,探测所述存储节点的可用容量和OSD数量的信息。
在可选实施例中,所述处理单元430,还用于当所述确定单元420当确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,允许针对所述目标存储节点的OSD增加操作,并以恢复处理后的可用内存容量和OSD数量的比值大于等于所述第二预设阈值的原则,将所述目标存储节点中被设置为第一类型Down状态的部分OSD中的部分或全部OSD恢复为工作UP状态;其中,所述第一预设阈值小于所述第二预设阈值。
在可选实施例中,所述获取单元410,还用于探测所述目标存储节点的可用内存容量和OSD数量的比值;
所述确定单元420,具体用于当探测到所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值。
在可选实施例中,所述处理单元430,还用于当确定所述目标存储节点的内存容量和OSD数量的比值大于等于所述第一预设阈值,且小于所述第二预设阈值时,拒绝针对所述目标存储节点的OSD增加操作。
请参见图5,为本发明实施例提供的一种故障处理装置的结构示意图,其中,该装置可以应用于上述方法实施例中的存储节点,如图5所示,该故障处理装置可以包括:
获取单元510,用于获取自身可用内存容量和对象存储对象设备OSD数量的信息;
发送单元520,用于向监视器上报自身可用内存容量和OSD数量的信息。
图6为本公开示例提供的一种监视器和存储节点位于同一物理主机的硬件结构示意图。但应当理解的是监视器和存储节点可以位于不同的物理主机。本实施例以图6的情况进行说明。该物理主机可包括处理器601、存储有机器可执行指令的机器可读存储介质602以及用于存储数据对象的元数据和/或副本的OSD603。
处理器601与机器可读存储介质602以及OSD603可经由***总线604通信。并且,通过读取并执行机器可读存储介质602中与故障处理逻辑对应的机器可执行指令,处理器601可执行上文描述的故障处理方法。
本文中提到的机器可读存储介质602可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。OSD603可以包括但不限于物理磁盘。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (12)

1.一种故障处理方法,其特征在于,该方法包括:
获取存储节点的可用内存容量和对象存储设备OSD数量的信息;
当确定所述存储节点中目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。
2.根据权利要求1所述的方法,其特征在于,所述获取存储节点的可用内存容量和OSD数量的信息,包括:
接收所述存储节点上报的可用内存容量和OSD数量的信息;或,
探测所述存储节点的可用容量和OSD数量的信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标存储节点的部分OSD设置为第一类型Down状态之后,还包括:
当确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,允许针对所述目标存储节点的OSD增加操作,并以恢复处理后的可用内存容量和OSD数量的比值大于等于所述第二预设阈值的原则,将所述目标存储节点中被设置为第一类型Down状态的部分OSD中的部分或全部OSD恢复为工作UP状态;其中,所述第一预设阈值小于所述第二预设阈值。
4.根据权利要求3所述的方法,其特征在于,所述确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值,包括:
探测所述目标存储节点的可用内存容量和OSD数量的比值;
当探测到所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当确定所述目标存储节点的内存容量和OSD数量的比值大于等于所述第一预设阈值,且小于所述第二预设阈值时,拒绝针对所述目标存储节点的OSD增加操作。
6.一种故障处理方法,其特征在于,该方法包括:
获取自身可用内存容量和对象存储对象设备OSD数量的信息;
向监视器上报自身可用内存容量和OSD数量的信息。
7.一种故障处理装置,其特征在于,该装置包括:
获取单元,用于获取存储节点的可用内存容量和对象存储设备OSD数量的信息;
确定单元,用于确定所述存储节点中是否存在目标存储节点的内存容量和对象存储设备OSD数量的比值小于第一预设阈值;
处理单元,用于当所述确定单元确定所述存储节点中目标存储节点的可用内存容量和OSD数量的比值小于第一预设阈值时,拒绝针对所述目标存储节点的OSD增加操作,并将所述目标存储节点的部分OSD设置为第一类型非工作Down状态,以使所述目标存储节点的可用内存容量和其余OSD数量的比值大于等于所述第一预设阈值;其中,所述其余OSD是指所述目标存储节点的OSD中除被设置为第一类型Down状态的部分OSD之外的可用OSD。
8.根据权利要求7所述的装置,其特征在于,
所述获取单元,具体用于接收所述存储节点上报的可用内存容量和OSD数量的信息;或,探测所述存储节点的可用容量和OSD数量的信息。
9.根据权利要求7所述的装置,其特征在于,
所述处理单元,还用于当所述确定单元当确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,允许针对所述目标存储节点的OSD增加操作,并以恢复处理后的可用内存容量和OSD数量的比值大于等于所述第二预设阈值的原则,将所述目标存储节点中被设置为第一类型Down状态的部分OSD中的部分或全部OSD恢复为工作UP状态;其中,所述第一预设阈值小于所述第二预设阈值。
10.根据权利要求9所述的装置,其特征在于,
所述获取单元,还用于探测所述目标存储节点的可用内存容量和OSD数量的比值;
所述确定单元,具体用于当探测到所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值时,确定所述目标存储节点的可用内存容量和OSD数量的比值大于第二预设阈值。
11.根据权利要求9所述的装置,其特征在于,
所述处理单元,还用于当确定所述目标存储节点的内存容量和OSD数量的比值大于等于所述第一预设阈值,且小于所述第二预设阈值时,拒绝针对所述目标存储节点的OSD增加操作。
12.一种故障处理装置,其特征在于,该装置包括:
获取单元,用于获取自身可用内存容量和对象存储对象设备OSD数量的信息;
发送单元,用于向监视器上报自身可用内存容量和OSD数量的信息。
CN201711015125.1A 2017-10-26 2017-10-26 一种故障处理方法及装置 Active CN107729185B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711015125.1A CN107729185B (zh) 2017-10-26 2017-10-26 一种故障处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711015125.1A CN107729185B (zh) 2017-10-26 2017-10-26 一种故障处理方法及装置

Publications (2)

Publication Number Publication Date
CN107729185A true CN107729185A (zh) 2018-02-23
CN107729185B CN107729185B (zh) 2020-12-04

Family

ID=61213886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711015125.1A Active CN107729185B (zh) 2017-10-26 2017-10-26 一种故障处理方法及装置

Country Status (1)

Country Link
CN (1) CN107729185B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101357A (zh) * 2018-07-20 2018-12-28 广东浪潮大数据研究有限公司 一种osd故障的检测方法及装置
CN109213637A (zh) * 2018-11-09 2019-01-15 浪潮电子信息产业股份有限公司 分布式文件***集群节点的数据恢复方法、装置及介质
CN109614276A (zh) * 2018-11-28 2019-04-12 平安科技(深圳)有限公司 故障处理方法、装置、分布式存储***和存储介质
CN109669822A (zh) * 2018-11-28 2019-04-23 平安科技(深圳)有限公司 电子装置、备用存储池的创建方法和计算机可读存储介质
CN109710456A (zh) * 2018-12-10 2019-05-03 新华三技术有限公司 一种数据恢复方法及装置
CN115543862A (zh) * 2022-09-27 2022-12-30 超聚变数字技术有限公司 内存管理方法及相关装置
CN118035924A (zh) * 2024-04-11 2024-05-14 国网山东省电力公司电力科学研究院 一种基于电力大数据电力设备故障数据处理方法和***
CN118035924B (zh) * 2024-04-11 2024-06-21 国网山东省电力公司电力科学研究院 一种基于电力大数据电力设备故障数据处理方法和***

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693177A (zh) * 2011-03-23 2012-09-26 ***通信集团公司 虚拟机故障诊断方法、处理方法及其装置和***
US20150149423A1 (en) * 2013-10-18 2015-05-28 Hitachi Data Systems Engineering UK Limited Data redundancy in a cluster system
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller
CN105119737A (zh) * 2015-07-16 2015-12-02 浪潮软件股份有限公司 一种通过Zabbix监控Ceph集群的方法
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法
CN106302717A (zh) * 2016-08-12 2017-01-04 浪潮(北京)电子信息产业有限公司 一种ceph***的资源优化方法及装置
CN107045469A (zh) * 2017-03-28 2017-08-15 北京精强远科技有限公司 一种智能语音报警***和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693177A (zh) * 2011-03-23 2012-09-26 ***通信集团公司 虚拟机故障诊断方法、处理方法及其装置和***
US20150149423A1 (en) * 2013-10-18 2015-05-28 Hitachi Data Systems Engineering UK Limited Data redundancy in a cluster system
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller
CN105119737A (zh) * 2015-07-16 2015-12-02 浪潮软件股份有限公司 一种通过Zabbix监控Ceph集群的方法
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法
CN106302717A (zh) * 2016-08-12 2017-01-04 浪潮(北京)电子信息产业有限公司 一种ceph***的资源优化方法及装置
CN107045469A (zh) * 2017-03-28 2017-08-15 北京精强远科技有限公司 一种智能语音报警***和方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101357A (zh) * 2018-07-20 2018-12-28 广东浪潮大数据研究有限公司 一种osd故障的检测方法及装置
CN109213637B (zh) * 2018-11-09 2022-03-04 浪潮电子信息产业股份有限公司 分布式文件***集群节点的数据恢复方法、装置及介质
CN109213637A (zh) * 2018-11-09 2019-01-15 浪潮电子信息产业股份有限公司 分布式文件***集群节点的数据恢复方法、装置及介质
CN109614276A (zh) * 2018-11-28 2019-04-12 平安科技(深圳)有限公司 故障处理方法、装置、分布式存储***和存储介质
CN109669822A (zh) * 2018-11-28 2019-04-23 平安科技(深圳)有限公司 电子装置、备用存储池的创建方法和计算机可读存储介质
CN109669822B (zh) * 2018-11-28 2023-06-06 平安科技(深圳)有限公司 电子装置、备用存储池的创建方法和计算机可读存储介质
WO2020107829A1 (zh) * 2018-11-28 2020-06-04 平安科技(深圳)有限公司 故障处理方法、装置、分布式存储***和存储介质
CN109614276B (zh) * 2018-11-28 2021-09-21 平安科技(深圳)有限公司 故障处理方法、装置、分布式存储***和存储介质
CN109710456B (zh) * 2018-12-10 2021-03-23 新华三技术有限公司 一种数据恢复方法及装置
CN109710456A (zh) * 2018-12-10 2019-05-03 新华三技术有限公司 一种数据恢复方法及装置
CN115543862A (zh) * 2022-09-27 2022-12-30 超聚变数字技术有限公司 内存管理方法及相关装置
CN115543862B (zh) * 2022-09-27 2023-09-01 超聚变数字技术有限公司 内存管理方法及相关装置
CN118035924A (zh) * 2024-04-11 2024-05-14 国网山东省电力公司电力科学研究院 一种基于电力大数据电力设备故障数据处理方法和***
CN118035924B (zh) * 2024-04-11 2024-06-21 国网山东省电力公司电力科学研究院 一种基于电力大数据电力设备故障数据处理方法和***

Also Published As

Publication number Publication date
CN107729185B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CN107729185A (zh) 一种故障处理方法及装置
CN109407976B (zh) 一种分布式存储方法及分布式存储装置
CN106170971A (zh) 一种集群脑裂后仲裁处理方法、仲裁存储装置以及***
EP2606607B1 (en) Determining equivalent subsets of agents to gather information for a fabric
CN107817950A (zh) 一种数据处理方法及装置
CN106911728A (zh) 分布式***中主节点的选取方法和装置
CN108984107A (zh) 提高存储***的可用性
CN109274544A (zh) 一种分布式存储***的故障检测方法及装置
US20060117101A1 (en) Node discovery and communications in a network
JP2015530639A5 (zh)
CN104572344B (zh) 一种多云间数据备份的方法和***
US10999131B2 (en) Method and system for detecting abnormalities in network element operation
CN106933659A (zh) 管理进程的方法和装置
CN109710456B (zh) 一种数据恢复方法及装置
CN101631048A (zh) 一种监视被管理对象的方法、装置及***
CN106330531A (zh) 节点故障记录和处理的方法以及装置
CN107065616A (zh) 联动控制方法及装置、计算机可读存储介质
US7840725B2 (en) Capture of data in a computer network
CN102981939B (zh) 磁盘监控方法
CN106911519A (zh) 一种数据采集监控方法及装置
KR20120030938A (ko) 분산된 데이터 저장 시스템에서 데이터 복제의 방법 및 이에 대응하는 디바이스
CN110532096B (zh) 一种多节点分组并行部署的***和方法
US8612524B2 (en) Cessation of sending network status messages to a server
CN107547301A (zh) 一种主备设备倒换方法及装置
JP2010160660A (ja) ネットワークインタフェース、計算機システム、それらの動作方法、及びプログラム

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
GR01 Patent grant
GR01 Patent grant