nfs服务检测与自动恢复

本文针对nfs服务异常导致的目录无法显示问题,提出了一个检测和恢复方案。通过设定系统定时任务,检查.nfs标识文件来判断服务状态。在服务异常时卸载目录,超时未恢复则放弃。测试验证了开机自动挂载、服务异常时的恢复以及新增目录的自动挂载等场景。
摘要由CSDN通过智能技术生成

场景分析

平台目前使用的存储为nfs和gluster网络文件系统,出现的问题一般是C/S端服务异常。nfs服务异常时会导致目录列表(df -h 或者cd)无法输出,主要是因为系统后台一直在尝试挂载,虽然nfs有retry尝试次数选项,但是服务端恢复就没法及时挂载上(目录依旧无法显示)。看来只能自己动手,丰衣足食了。

检测思路

脚本主要包含两个方面,分别对应开机挂载和异常处理两种情形。思路如下:

  1. 使用系统定时任务实现,流程:尝试挂载》异常卸载目录并报错》下次检测继续挂载,超时放弃。

  2. nfs存储目录里都会有.nfs标识文件,判断.nfs是否存在即可,当服务异常时则先卸载目录(针对服务无响应目录无法显示情形),下一次则尝试挂载恢复,超时则放弃。

  3. 尝试挂载部分,针对目录集合遍历循环开启多线程,每个线程检测.nfs文件是否存在。python不支持kill线程,但是有个setDaemon方法,其作用是只要主线程完成了,不管子线程是否完成,都要和主线程一起退出。在超时时间内,能挂载好的就都挂上了,挂不上的话只要主线程结束就停止挂载了。

测试用例验证

  1. 开机启动是否能够自动挂载

  2. 本机对外提供存储,存储目录是否被挂载,存储自身重启

  3. 挂载好的目录掉线是否能够自动恢复挂载

  4. 服务端异常是否能够自动卸载并不影响ls目录

  5. 新增挂载目录是否会自

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值