云环境下的存储故障模拟方法、装置、设备及存储介质制造方法及图纸

技术编号:36844594 阅读:10 留言:0更新日期:2023-03-15 16:18
本申请是关于一种云环境下的存储故障模拟方法、装置、设备及存储介质,具体涉及云计算技术领域。所述方法应用于Kubernetes集群,所述方法包括:生成存储故障实验的资源实体;对资源实体进行解析,得到存储故障实验的创建请求,创建请求中携带故障类型,故障类型包括如下中的至少一种:容量超分,目标存储模式故障;响应于创建请求,获取故障类型对应的故障实验目标;在存储故障实验的持续期间,对故障实验目标的状态进行监听;将目标事件添加到资源实体的事件属性中,目标事件是监听到的影响故障实验目标的状态的事件,事件属性表示存储故障实验的模拟结果。基于本申请提供的技术方案,可以保障存储故障实验的可控性。可以保障存储故障实验的可控性。可以保障存储故障实验的可控性。

【技术实现步骤摘要】
云环境下的存储故障模拟方法、装置、设备及存储介质


[0001]本申请涉及云计算
,具体涉及一种云环境下的存储故障模拟方法、装置、设备及存储介质。

技术介绍

[0002]在云环境下,可以通过进行存储故障模拟的方式,来测试云环境的稳定性和可靠性。
[0003]相关技术中,存储故障模拟使用的是传统的物理环境实验,直接在底层进行存储故障模拟。比如:针对容量超分这一种类型的存储故障,关注于磁盘或目录级别的存储故障模拟,也即,执行存储故障模拟的实验目标为磁盘或目录,通过对磁盘进行缩容或者添加数据的方式,使得磁盘可用的剩余容量小于需要进行分配的容量,以模拟容量超分。
[0004]基于上述技术方案进行存储故障模拟,影响范围大,存储故障模拟的可控性不高。

技术实现思路

[0005]本申请提供了一种云环境下的存储故障模拟方法、装置、设备及存储介质。该技术方案如下。
[0006]一方面,提供了一种云环境下的存储故障模拟方法,所述方法应用于Kubernetes集群,所述方法包括:
[0007]生成存储故障实验的资源实体;
[0008]对所述资源实体进行解析,得到所述存储故障实验的创建请求,所述创建请求中携带故障类型,所述故障类型包括如下中的至少一种:容量超分,目标存储模式故障;
[0009]响应于所述创建请求,获取所述故障类型对应的故障实验目标;
[0010]在所述存储故障实验的持续期间,对所述故障实验目标的状态进行监听;
[0011]将目标事件添加到所述资源实体的事件属性中,所述目标事件是监听到的影响所述故障实验目标的状态的事件,所述事件属性表示所述存储故障实验的模拟结果。
[0012]又一方面,提供了一种云环境下的存储故障模拟装置,所述装置应用于Kubernetes集群,所述装置包括:
[0013]资源实体生成模块,用于生成存储故障实验的资源实体;
[0014]资源实体解析模块,用于对所述资源实体进行解析,得到所述存储故障实验的创建请求,所述创建请求中携带故障类型,所述故障类型包括如下中的至少一种:容量超分,目标存储模式故障;
[0015]实验目标获取模块,用于响应于所述创建请求,获取所述故障类型对应的故障实验目标;
[0016]实验目标监听模块,用于在所述存储故障实验的持续期间,对所述故障实验目标的状态进行监听;
[0017]事件添加模块,用于将目标事件添加到所述资源实体的事件属性中,所述目标事
件是监听到的影响所述故障实验目标的状态的事件,所述事件属性表示所述存储故障实验的模拟结果。
[0018]在一种可能的实现方式中,所述实验目标获取模块,用于:
[0019]在所述故障类型为容量超分的情况下,响应于所述创建请求,在所述资源实体对应的节点创建Pod,并确定持久化卷声明(Persistent Volume Claim,PVC),所述PVC中所声明的PV大小大于所述节点的PV池的剩余空间;
[0020]将所述Pod与所述PVC进行绑定,并将所述Pod作为所述故障实验目标。
[0021]在一种可能的实现方式中,所述创建请求中还携带所述资源实体中的存储类(storageClass)、容器存储接口驱动(CSI Driver);
[0022]所述实验目标获取模块,用于:
[0023]基于所述创建请求中的所述storageClass、所述CSI Driver,查询所述资源实体所对应的卷组VG;
[0024]基于所述VG的总空间大小、所述VG下的所有LV的已分配空间大小,计算得出所述节点的PV池的剩余空间;
[0025]在所述节点创建所述Pod,并确定PVC中声明的PV大小大于所述节点的PV池的剩余空间。
[0026]在一种可能的实现方式中,所述创建请求中还携带所述资源实体中的CSI Driver;
[0027]所述实验目标获取模块,用于:
[0028]在所述故障类型为目标存储模式故障的情况下,响应于所述创建请求,查询所述CSI Driver中用于为所述目标存储模式提供支持的目标功能组件;
[0029]将所述目标功能组件作为所述故障实验目标,并为所述目标功能组件设置不可用的节点选择器,删除所述目标功能组件已调度的Pod。
[0030]在一种可能的实现方式中,所述装置还包括实验目标恢复模块;
[0031]所述实验目标恢复模块,用于在所述存储故障实验停止后,将所述故障实验目标恢复为原状。
[0032]在一种可能的实现方式中,所述实验目标恢复模块,用于:
[0033]在所述故障类型为容量超分,所述故障实验目标为创建的Pod的情况下,对创建的Pod进行删除,以及将所述Pod与PVC解绑,并回收PV;
[0034]在所述故障类型为目标存储模式故障,所述故障实验目标为CSI Driver中用于为所述目标存储模式提供支持的目标功能组件的情况下,移除为所述目标功能组件设置的不可用的节点选择器,并为所述目标功能组件设置初始的节点选择器。
[0035]在一种可能的实现方式中,所述资源实体生成模块,用于:
[0036]接收输入的容器存储接口故障实验(Container Storage Interface

Chaos,CSI

Chaos)数据;
[0037]对所述CSI

Chaos数据进行合法性验证,在验证通过的情况下,将所述CSI

Chaos数据写入所述Kubernetes集群中,写入所述Kubernetes集群中的所述CSI

Chaos数据为所述资源实体。
[0038]在一种可能的实现方式中,所述资源实体生成模块,用于:
[0039]在所述故障类型为容量超分的情况下,验证所述CSI

Chaos数据中的storageClass是否在容器集群中,和/或,验证所述CSI

Chaos数据中的CSIDriver是否在集群节点中运行;
[0040]在所述故障类型为目标存储模式故障的情况下,验证所述CSI

Chaos数据中的CSI Driver是否在集群节点中运行,和/或,验证所述CSI

Chaos数据中的CSI Driver是否运行在所述目标存储模式。
[0041]再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述云环境下的存储故障模拟方法。
[0042]再一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的云环境下的存储故障模拟方法。
[0043]再一方面,还提供了一种计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云环境下的存储故障模拟方法,其特征在于,所述方法应用于Kubernetes集群,所述方法包括:生成存储故障实验的资源实体;对所述资源实体进行解析,得到所述存储故障实验的创建请求,所述创建请求中携带故障类型,所述故障类型包括如下中的至少一种:容量超分,目标存储模式故障;响应于所述创建请求,获取所述故障类型对应的故障实验目标;在所述存储故障实验的持续期间,对所述故障实验目标的状态进行监听;将目标事件添加到所述资源实体的事件属性中,所述目标事件是监听到的影响所述故障实验目标的状态的事件,所述事件属性表示所述存储故障实验的模拟结果。2.根据权利要求1所述的方法,其特征在于,在所述故障类型为容量超分的情况下,所述响应于所述创建请求,获取所述故障类型对应的故障实验目标,包括:响应于所述创建请求,在所述资源实体对应的节点创建Pod,并确定持久化卷声明PVC,所述PVC中所声明的PV大小大于所述节点的PV池的剩余空间;将所述Pod与所述PVC进行绑定,并将所述Pod作为所述故障实验目标。3.根据权利要求2所述的方法,其特征在于,所述创建请求中还携带所述资源实体中的存储类storageClass、容器存储接口驱动CSIDriver;所述响应于所述创建请求,在所述资源实体对应的节点创建Pod,并确定PVC,包括:基于所述创建请求中的所述storageClass、所述CSIDriver,查询所述资源实体所对应的卷组VG;基于所述VG的总空间大小、所述VG下的所有LV的已分配空间大小,计算得出所述节点的PV池的剩余空间;在所述节点创建所述Pod,并确定所述PVC中声明的PV大小大于所述节点的PV池的剩余空间的。4.根据权利要求1所述的方法,其特征在于,所述创建请求中还携带所述资源实体中的CSIDriver;在所述故障类型为目标存储模式故障的情况下,所述响应于所述创建请求,获取所述故障类型对应的故障实验目标,包括:响应于所述创建请求,查询所述CSIDriver中用于为所述目标存储模式提供支持的目标功能组件;将所述目标功能组件作为所述故障实验目标,并为所述目标功能组件设置不可用的节点选择器,删除所述目标功能组件已调度的Pod。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述存储故障实验停止后,将所述故障实验目标恢复为原状。6.根据权利要求5所述的方法,其特征在于,所述将所述故障实验目标恢复为原状,包括:在所述故障类型为容量超分,所述故障实验目标为创建的Pod的情况下,对创建的Pod进行删除,以及将所述Pod与PVC解绑,并回收PV;在所述故障类型为目标存储模式故障,所述故障实验目标为CSIDriver中用于为所述目标存储模式提供支持的目标功能组件的情况下,移除为所述目标功能组件设...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:安超云软件有限公司
类型:发明
国别省市:

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

1