技术新讯 > 信息存储应用技术 > 一种卷自动检测方法和系统与流程  >  正文

一种卷自动检测方法和系统与流程

  • 国知局
  • 2024-07-31 19:13:36

本发明属于分布式存储,特别涉及一种卷自动检测方法和系统。

背景技术:

1、2015年云原生计算基金会(cncf)成立,把云原生定义为容器化封装+自动化管理+面向微服务。随着云原生的快速发展,基于k8s编排的容器化应用越来越多。其中,k8s:是kubernetes的简称;k8s支持容器应用自动化部署、大规模可伸缩、应用容器化管理。真正实现了应用的可移植、可扩展、自动化。容器应用的广泛应用,客户对业务可靠性的要求越来越高,特别是对于业务应用数据的可靠性,特别是对金融客户和安全客户容器业务应用数据持久化在业务运行过程中非常重要。业务数据的持久化需要容器挂载存储卷。

2、容器业务应用挂载存储卷之后是否可读写以及业务在运行一段时间后存储卷是否能够继续读写是关系到应用是否正常可用的关键环节。目前容器健康检查更多是针对服务本身的健康检查,服务本身健康检查是基于服务应用存活状态和运行状态,其中服务应用存活状态通过存活探针方式检测;运行状态通过就绪探针方式检测。但是这种检查只能发现服务本身是否运行正常,并不能及时发现应用本身存储卷是否能够正常读写。例如服务运行正常,这时在后台删除了该应用挂载的存储卷内容,应用还是在继续运行,但是存储卷文件系统完整性被破坏。

技术实现思路

1、为了解决上述技术问题,本发明提出了一种卷自动检测方法、系统、设备和存储介质,基于k8s容器服务的健康检查策略实现对挂载存储卷的可用性检查,实现对应用存储卷的读写功能自动化检测,从而来保障业务功能的可用性和稳定性。

2、为实现上述目的,本发明采用以下技术方案:

3、一种卷自动检测方法,包括以下步骤:

4、对容器进行数据持久化操作,将持久化操作的目录挂载到外部存储卷,实现对存储卷下数据的持久化;

5、利用第一探针对存储卷下挂载目录进行读写操作实现存储卷可用性检测,如果存储卷不可用,则重启容器编码的最小单元;

6、利用第二探针对存储卷下挂载目录进行读写操作实现存储卷稳定性检测;如果存储卷未就绪,则改变容器编码的最小单元状态,且不再将业务流量发送至改变状态后的容器编码的最小单元。

7、进一步的,所述利用第一探针对存储卷下挂载目录进行读写操作实现存储卷可用性检测的具体过程包括:在容器内设置第一探针,通过配置对存储卷的可用性检测命令,周期性的对存储卷的读写功能和文件系统完整性进行检测实现对存储卷可用性检测。

8、进一步的,所述在容器内设置第一探针,通过配置对存储卷的可用性检测命令,周期性的对存储卷的读写功能和文件系统完整性进行检测实现对存储卷可用性检测的详细过程包括:

9、在容器内设置第一探针时,采用shell命令对挂载目录读写操作进行验证和采用shell命令对文件系统完整性进行检测;

10、将第一探针和shell命令行配置到负载文件中,第一探针参数设置首次检查延时、检查周期、检查超时时间,成功阈值和失败阈值,实现周期性的对挂载目录读写操作进行验证和对文件系统完整性进行检测;

11、如果探测到该存储卷无法写或者无法读,或者缺少某个或者某些目录会自动返回码非0,表明检测状态异常;如果存储卷读写功能正常,或者文件目录完整则执行命令行返回码为0;在特定周期内如果返回0状态的次数符合设定的第一探针的成功阈值,则表明存储卷的状态正常;如果返回非0状态的次数符合失败的阈值,则表明存储卷状态异常。

12、进一步的,所述对存储卷的读写功能检测的详细过程包括:

13、在容器内设置第一探针时,采用shell对挂载目录读写操作进行验证,当进行写操作检测时,往存储卷指定目录下创建文件并写入内容,如果写文件正常shell执行返回结果为0,说明挂载目录写操作正常;如果写入无权限或者写入异常则shell返回值为非0,则表明挂载卷写异常;

14、对于读操作检查,读取存储卷的指定文件内容,如果读文件正常,则shell返回为0,表明挂载目录读功能正常;否则shell返回值为非0,表明读功能异常。

15、进一步的,所述对存储卷的读写功能检测时还包括:对于高并发要求的存储卷,通过dd命令,一次性写入预设规模数据来检验存储卷的高并发。

16、进一步的,所述文件系统完整性进行检测的过程包括:在容器内设置第一探针时,如果检测到指定目录下的文件夹或者文件存在,并且读写功能正常,shell脚本返回值为0,说明挂载卷文件系统完整;如果检测到某个文件夹或者某个文件被删除,shell命令返回值为非0,说明挂载卷文件系统被破坏,存在异常风险。

17、进一步的,所述设置首次检查延时的指令为:initial delay seconds;设置检查周期的指令为period seconds;设置检查超时时间的指令为timeout seconds;设置成功阈值的指令为success threshold和设置失败阈值的指令为failure threshold。

18、进一步的,所述利用第二探针对存储卷下挂载目录进行读写操作实现存储卷稳定性检测的具体过程包括:在容器内设置第二探针,通过配置对存储卷的稳定性检测命令,周期性的对存储卷的读写功能和文件系统完整性进行检测实现对存储卷稳定性检测。

19、进一步的,所述在容器内设置第二探针,通过配置对存储卷的稳定性检测命令,周期性的对存储卷的读写功能和文件系统完整性进行检测实现对存储卷稳定性检测的详细过程包括:

20、在容器内设置第二探针时,采用shell命令对挂载目录读写操作进行验证和采用shell命令对文件系统完整性进行检测;

21、将第二探针和shell命令行配置到负载文件中,第一探针参数设置首次检查延时、检查周期、检查超时时间,成功阈值和失败阈值,实现周期性的对挂载目录读写操作进行验证和对文件系统完整性进行检测;

22、如果探测到该存储卷无法写或者无法读,或者缺少某个或者某些目录会自动返回码非0,表明检测状态异常;如果存储卷读写功能正常,或者文件目录完整则执行命令行返回码为0;在特定周期内如果返回0状态的次数符合设定的第二探针的成功阈值,则表明存储卷的状态正常;如果返回非0状态的次数符合失败的阈值,则表明存储卷状态异常。

23、本发明还提出了一种卷自动检测系统,包括持久化模块、第一检测模块和第二检测模块;

24、所述持久化模块用于对容器进行数据持久化操作,将持久化操作的目录挂载到外部存储卷,实现对存储卷下数据的持久化;

25、所述第一检测模块用于利用第一探针对存储卷下挂载目录进行读写操作实现存储卷可用性检测,如果存储卷不可用,则重启容器编码的最小单元;

26、所述第二检测模块用于利用第二探针对存储卷下挂载目录进行读写操作实现存储卷稳定性检测;如果存储卷未就绪,则改变容器编码的最小单元状态,且不再将业务流量发送至改变状态后的容器编码的最小单元。

27、技术实现要素:中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

28、本发明提出了一种卷自动检测方法和系统,该方法包括以下步骤:对容器进行数据持久化操作,将持久化操作的目录挂载到外部存储卷,实现对存储卷下数据的持久化;利用第一探针对存储卷下挂载目录进行读写操作实现存储卷可用性检测,如果存储卷不可用,则重启容器编码的最小单元;利用第二探针对存储卷下挂载目录进行读写操作实现存储卷稳定性检测;如果存储卷未就绪,则改变容器编码的最小单元状态,且不再将业务流量发送至改变状态后的容器编码的最小单元。基于一种卷自动检测方法,还提出了一种卷自动检测系统。本发明从k8s容器应用的可靠性和稳定性角度,对k8s业务容器应用采用健康检查的方式对应用持久化存储卷进行自动化检查,及时发现挂载的存储卷的读写功能是否正常及挂载卷文件系统是否完整,从而来保障业务功能的可用性和稳定性。

本文地址:https://www.jishuxx.com/zhuanli/20240731/181933.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。