一种Ceph系统数据清洗方法、装置、设备及介质制造方法及图纸

技术编号:29788490 阅读:13 留言:0更新日期:2021-08-24 18:06
本发明专利技术涉及一种Ceph系统数据清洗方法、装置、设备及介质,所述方法包括状态判断步骤和数据清洗步骤,其中,所述状态判断步骤具体为:采集Ceph系统实时状态信息,循环判断当前Ceph系统是否同时满足以下判定条件:负载低于第一阈值;可用内存高于第二阈值;PG所对应的OSD iops低于第三阈值;若是,则启动所述数据清洗步骤,若否,则返回状态判断步骤。与现有技术相比,本发明专利技术能够有效减少数据清洗对系统可用性和性能的影响。

【技术实现步骤摘要】
一种Ceph系统数据清洗方法、装置、设备及介质
本专利技术属于云计算
,涉及一种分布式存储系统,尤其是涉及一种Ceph系统数据清洗方法、装置、设备及介质。
技术介绍
Ceph作为一个分布式存储系统,在云计算行业爆发式增长的背景下,得到了越来越多的应用。Ceph分布式存储采用数据多副本备份机制来保证数据的可靠性。其中,cephPG是一个放置策略组,它是对象的集合,相同PG内的对象都会放到相同的硬盘上,cephOSD是负责物理存储的进程,一般配置成和磁盘一一对应,一块磁盘启动一个OSD进程。Ceph系统为了维护数据干净和一致性,OSD守护进程可以在PG内清洗对象。Ceph的数据清洗包括轻清洗和深度清洗两种,轻清洗是指OSD守护进程在PG内和其他OSD的对象副本比较元数据,捕获bugs或者文件系统错误。深度清洗是指OSD守护进程通过逐位比较PG中所有对象的数据执行更深层的清洗。可以发现轻清洗不能发现的硬盘坏扇区。在数据清洗之前,相关的OSD会锁定对象的读写请求。在传统模式下,Ceph系统数据清洗开始之前会判定所在系统的负载(CPUload)是否超过相关配置的阈值,在负载不超过阈值的情况下即可开启清洗操作,以此来避免Ceph清洗对系统负载的负担,以可能出现的数据清洗错误和卡死。但这种模式考虑因素较少,会较为频繁地启动清洗操作。除此以外,Ceph系统的深度清洗一旦开始,若因为系统原因导致无法结束是没有主动停止的能力的,也就是说PGscrub会持续很长时间,在这期间相关的对象都是被锁死的,这会严重影响Ceph整个存储系统的可用性和性能。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种Ceph系统数据清洗方法、装置、设备及介质,以减少数据清洗对系统可用性和性能的影响。本专利技术的目的可以通过以下技术方案来实现:一种Ceph系统数据清洗方法,包括状态判断步骤和数据清洗步骤,其中,所述状态判断步骤具体为:采集Ceph系统实时状态信息,循环判断当前Ceph系统是否同时满足以下判定条件:负载低于第一阈值;可用内存高于第二阈值;PG所对应的OSDiops低于第三阈值;若是,则启动所述数据清洗步骤,若否,则返回状态判断步骤。进一步地,所述数据清洗步骤包括:执行数据清洗过程中,实时判断清洗持续时长是否超过第四阈值,若是,则中断数据清洗。进一步地,所述第一阈值、第二阈值、第三阈值和第四阈值Ceph系统运行环境确定。进一步地,所述Ceph系统运行环境包括Ceph所在系统的CPU核数、内存大小、硬盘正常情况下的IOPS指标和Ceph系统在该硬件环境下正常运行时的延时性能。本专利技术还提供一种Ceph系统数据清洗装置,包括状态判断模块和数据清洗模块,其中,所述状态判断模块包括:采集单元,用于采集Ceph系统实时状态信息;判断单元,用于循环判断当前Ceph系统是否同时满足以下判定条件:负载低于第一阈值;可用内存高于第二阈值;PG所对应的OSDiops低于第三阈值;若是,则产生清洗指令,若否,则产生重新判断指令;所述数据清洗模块响应所述清洗指令执行数据清洗过程。进一步地,所述数据清洗模块包括:监听模块,用于在执行数据清洗过程中,实时判断清洗持续时长是否超过第四阈值,若是,则中断数据清洗。进一步地,所述第一阈值、第二阈值、第三阈值和第四阈值Ceph系统运行环境确定。进一步地,所述Ceph系统运行环境包括Ceph所在系统的CPU核数、内存大小、硬盘正常情况下的IOPS指标和Ceph系统在该硬件环境下正常运行时的延时性能本专利技术还提供一种电子设备,包括:一个或多个处理器;存储器;和被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如上所述Ceph系统数据清洗方法的指令。本专利技术还提供一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述Ceph系统数据清洗方法的指令。与现有技术相比,本专利技术具有以下有益效果:1、本专利技术在数据清洗是否启动的判定中,同时利用系统的负载、可用内存以及PG所对应的OSDiops进行条件判定,既能够避免系统出现内存抢占、导致部分进程被杀死的情况,又能够避免当前的数据清洗操作卡死、导致相关osd对象长时间被锁定无法读写的情况,消除ceph系统数据清洗的隐患,有效提高了存储系统的可用性和性能。2、本专利技术在数据清洗过程中实时监听清洗过程是否超时,进一步减少数据清洗对系统可用性和性能的影响。3、本专利技术的设置的各项阈值可以根据Ceph系统运行环境确定,更符合实际运行情况,提高数据清洗准确性和效率。附图说明图1为本专利技术的流程示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。实施例1参考图1所示,本实施例提供一种Ceph系统数据清洗方法,包括状态判断步骤和数据清洗步骤,其中,所述状态判断步骤具体为:采集Ceph系统实时状态信息,循环判断当前Ceph系统是否同时满足以下判定条件:负载低于第一阈值osd_scrub_load_threshold;可用内存高于第二阈值osd_scrub_mem_threshold;PG所对应的OSDiops低于第三阈值osd_scrub_iops_threshold;若是,则启动所述数据清洗步骤,若否,则返回状态判断步骤。上述数据清洗(PGscrub)方法在负载判定的基础上增加两个判定条件:a.osd_scrub_mem_threshold阈值判定,判断当前的剩余可用内容是否不低于这个阈值,如果低于这个阈值,在这个情况下开启数据清洗操作则可能导致系统出现内存抢占的情况,会导致部分进程被杀死,影响整个系统的可用性和性能;b.osd_scrub_iops_threshold阈值判定,判断当前数据清洗pg相关的osd对应的硬盘的IOPS是否高于这个阈值,如果高于这个阈值,标明当前的磁盘处于高速读写的状态中,在这个情况下开启数据清洗操作可能导致当前的数据清洗操作卡死,导致相关osd对象长时间被锁定无法读写,影响存储系统的可用性和性能。在优选的实施方式中,所述数据清洗步骤包括:在数据清洗过程开启之后,对数据清洗过程的进行监听,实时判断清洗持续时长是否超过第四阈值osd_scrub_time_threshold,若是,则主动中断数据清洗。上述第一阈值sd_scrub_load_threshold、第二阈值osd_scrub_mem_threshold、第三阈值osd_scrub_iops_threshold和第四阈值osd_scrub_time_t本文档来自技高网
...

【技术保护点】
1.一种Ceph系统数据清洗方法,其特征在于,包括状态判断步骤和数据清洗步骤,其中,所述状态判断步骤具体为:/n采集Ceph系统实时状态信息,循环判断当前Ceph系统是否同时满足以下判定条件:/n负载低于第一阈值;/n可用内存高于第二阈值;/nPG所对应的OSD iops低于第三阈值;/n若是,则启动所述数据清洗步骤,若否,则返回状态判断步骤。/n

【技术特征摘要】
1.一种Ceph系统数据清洗方法,其特征在于,包括状态判断步骤和数据清洗步骤,其中,所述状态判断步骤具体为:
采集Ceph系统实时状态信息,循环判断当前Ceph系统是否同时满足以下判定条件:
负载低于第一阈值;
可用内存高于第二阈值;
PG所对应的OSDiops低于第三阈值;
若是,则启动所述数据清洗步骤,若否,则返回状态判断步骤。


2.根据权利要求1所述的Ceph系统数据清洗方法,其特征在于,所述数据清洗步骤包括:
执行数据清洗过程中,实时判断清洗持续时长是否超过第四阈值,若是,则中断数据清洗。


3.根据权利要求2所述的Ceph系统数据清洗方法,其特征在于,所述第一阈值、第二阈值、第三阈值和第四阈值Ceph系统运行环境确定。


4.根据权利要求3所述的Ceph系统数据清洗方法,其特征在于,所述Ceph系统运行环境包括Ceph所在系统的CPU核数、内存大小、硬盘正常情况下的IOPS指标和Ceph系统在该硬件环境下正常运行时的延时性能。


5.一种Ceph系统数据清洗装置,其特征在于,包括状态判断模块和数据清洗模块,其中,所述状态判断模块包括:
采集单元,用于采集Ceph系统实时状态信息;
判断单元,用于循环判断当前Ceph系统是否同时满足以下判定条件:
负载低于第一阈值;...

【专利技术属性】
技术研发人员:王洋
申请(专利权)人:上海仪电集团有限公司中央研究院
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1