一种分布式存储的硬盘故障模拟系统、方法、设备及介质技术方案

技术编号:31231945 阅读:38 留言:0更新日期:2021-12-08 10:07
本申请公开了一种分布式存储的硬盘故障模拟系统、方法、设备及介质,包括:包括故障注入管理节点以及部署于分布式存储集群中每个分布式存储节点上的故障注入代理服务;其中,所述故障注入管理节点,用于根据预设故障规则,从所述分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;所述目标节点为所述目标硬盘所在的分布式存储节点;所述故障注入代理服务,用于在接收到所述故障注入指令后,执行所述故障注入指令,以对相应的所述目标节点上的所述目标硬盘进行故障注入。这样,利用故障注入管理节点统一管理,能够模拟对多个节点的多个硬盘的硬盘故障场景,操作简单,提升了故障模拟效率。提升了故障模拟效率。提升了故障模拟效率。

【技术实现步骤摘要】
一种分布式存储的硬盘故障模拟系统、方法、设备及介质


[0001]本申请涉及存储
,特别涉及一种分布式存储的硬盘故障模拟系统、方法、设备及介质。

技术介绍

[0002]在分布式存储系统中,所有的硬件部件里,故障率最高的是硬盘。当硬盘发生故障时,分布式存储系统需要保证用户的读写业务不中断。因此,在分布式存储系统的研发、测试环境,对硬盘故障后系统的异常处理的测试非常重要。但是,在实际的开发、测试过程中,分布式存储的硬盘故障相关测试有以下主要问题:1)硬盘的故障是随机的,实际的物理硬盘故障在实验室不易发生。2)分布式存储有多个节点,特别是在大规模集群中,同时发生多块硬盘故障的情况发生的概率更小,但是影响更大,需要进行充分的模拟测试。
[0003]目前,Linux内核中提供了故障注入的相关功能,但是仅仅针对单一节点、逐个硬盘的进行配置,操作繁琐。

技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种分布式存储的硬盘故障模拟系统、方法、设备及介质,能够模拟对多个节点的多个硬盘的硬盘故障场景,操作简单,提升了故障模拟效率。其具体方案如下:
[0005]第一方面,本申请公开了一种分布式存储的硬盘故障模拟系统,包括故障注入管理节点以及部署于分布式存储集群中每个分布式存储节点上的故障注入代理服务;其中,
[0006]所述故障注入管理节点,用于根据预设故障规则,从所述分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;其中,所述目标节点为所述目标硬盘所在的分布式存储节点;
[0007]所述故障注入代理服务,用于在接收到所述故障注入指令后,执行所述故障注入指令,以对相应的所述目标节点上的所述目标硬盘进行故障注入。
[0008]可选的,所述故障注入管理节点,具体用于:
[0009]根据预设故障规则,从所述分布式存储集群中随机的选中进行故障注入的目标硬盘;
[0010]或,根据预设故障规则,从所述分布式存储集群中选中指定的进行故障注入的目标硬盘。
[0011]可选的,所述故障注入管理节点,具体用于:
[0012]基于SSH协议调用预设命令行接口,向部署于各目标节点的故障注入代理服务发送故障注入指令;
[0013]或,基于HTTP协议调用预设REST接口,向部署于各目标节点的故障注入代理服务发送故障注入指令。
[0014]可选的,所述故障注入管理节点,还用于:
[0015]配置所述分布式存储集群中每个分布式存储节点的IP地址以及鉴权规则。
[0016]可选的,所述故障注入代理服务,具体用于:
[0017]在接收到所述故障注入指令后,执行所述故障注入指令,修改所述目标节点的节点故障注入参数以及所述目标硬盘的硬盘故障注入参数,以对相应的所述目标节点上的所述目标硬盘进行故障注入。
[0018]可选的,还包括:
[0019]Linux内核配置模块,用于编译并更新所述分布式存储集群中每个分布式存储节点上的Linux内核。
[0020]可选的,所述故障注入管理节点,还用于:
[0021]向部署于各所述目标节点的故障注入代理服务发送故障注入状态查询指令;
[0022]相应的,所述故障注入代理服务,用于在接收到所述故障注入状态查询指令后,执行所述故障注入状态查询指令,以返回所述目标硬盘的故障注入状态。
[0023]第二方面,本申请公开了一种分布式存储的硬盘故障模拟方法,包括:
[0024]根据预设故障规则,从分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;其中,所述目标节点为所述目标硬盘所在的分布式存储节点;
[0025]通过所述故障注入代理服务,在接收到所述故障注入指令后,执行所述故障注入指令,以对相应的所述目标节点上的所述目标硬盘进行故障注入。
[0026]第三方面,本申请公开了一种电子设备,包括:
[0027]存储器,用于保存计算机程序;
[0028]处理器,用于执行所述计算机程序,以实现前述的分布式存储的硬盘故障模拟方法。
[0029]第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的分布式存储的硬盘故障模拟方法。
[0030]可见,本申请公开的分布式存储的硬盘故障模拟系统,包括故障注入管理节点以及部署于分布式存储集群中每个分布式存储节点上的故障注入代理服务;其中,所述故障注入管理节点,用于根据预设故障规则,从所述分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;其中,所述目标节点为所述目标硬盘所在的分布式存储节点;所述故障注入代理服务,用于在接收到所述故障注入指令后,执行所述故障注入指令,以对相应的所述目标节点上的所述目标硬盘进行故障注入。这样,利用故障注入管理节点统一管理,选中进行故障注入的目标硬盘,再将故障注入指令发送给目标硬盘所在节点的代理服务,通过代理服务执行故障注入指令,不仅能够实现单个硬盘、单个节点的多个硬盘的故障模拟,还能够模拟对多个节点的多个硬盘的硬盘故障场景,操作简单,提升了故障模拟效率。
附图说明
[0031]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
提供的附图获得其他的附图。
[0032]图1为本申请公开的一种分布式存储的硬盘故障模拟系统结构示意图;
[0033]图2为本申请公开的一种分布式存储的硬盘故障模拟方法流程图;
[0034]图3为本申请公开的一种电子设备结构图。
具体实施方式
[0035]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]目前,Linux内核中提供了故障注入的相关功能,但是仅仅针对单一节点、逐个硬盘的进行配置,操作繁琐。为此,本申请提供了一种分布式存储的硬盘故障模拟方案,能够模拟对多个节点的多个硬盘的硬盘故障场景,操作简单,提升了故障模拟效率。
[0037]参见图1所示,本申请实施例公开了一种分布式存储的硬盘故障模拟系统,包括故障注入管理节点11以及部署于分布式存储集群中每个分布式存储节点上的故障注入代理服务12;其中,
[0038]所述故障注入管理节点11,用于根据预设故障规则,从所述分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;其中,所述目标节点为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储的硬盘故障模拟系统,其特征在于,包括故障注入管理节点以及部署于分布式存储集群中每个分布式存储节点上的故障注入代理服务;其中,所述故障注入管理节点,用于根据预设故障规则,从所述分布式存储集群中选中进行故障注入的目标硬盘,并向部署于各目标节点的故障注入代理服务发送故障注入指令;其中,所述目标节点为所述目标硬盘所在的分布式存储节点;所述故障注入代理服务,用于在接收到所述故障注入指令后,执行所述故障注入指令,以对相应的所述目标节点上的所述目标硬盘进行故障注入。2.根据权利要求1所述的分布式存储的硬盘故障模拟系统,其特征在于,所述故障注入管理节点,具体用于:根据预设故障规则,从所述分布式存储集群中随机的选中进行故障注入的目标硬盘;或,根据预设故障规则,从所述分布式存储集群中选中指定的进行故障注入的目标硬盘。3.根据权利要求1所述的分布式存储的硬盘故障模拟系统,其特征在于,所述故障注入管理节点,具体用于:基于SSH协议调用预设命令行接口,向部署于各目标节点的故障注入代理服务发送故障注入指令;或,基于HTTP协议调用预设REST接口,向部署于各目标节点的故障注入代理服务发送故障注入指令。4.根据权利要求1所述的分布式存储的硬盘故障模拟系统,其特征在于,所述故障注入管理节点,还用于:配置所述分布式存储集群中每个分布式存储节点的IP地址以及鉴权规则。5.根据权利要求1所述的分布式存储的硬盘故障模拟系统,其特征在于,所述故障注入代理服务,具体用于:在接收到所述故障注入指令后,执...

【专利技术属性】
技术研发人员:梁鑫辉王团结李强苏楠
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1