一种监控NFS客户端状态的方法、装置及系统与流程

文档序号:37944309发布日期:2024-05-11 00:25阅读:28来源:国知局
一种监控NFS客户端状态的方法、装置及系统与流程

本发明涉及信息共享,尤其涉及一种监控nfs客户端状态的方法、装置及系统。


背景技术:

1、nfs(网络文件系统)是在网络环境下实现不同计算机之间的共享数据,nfs客户端可以像访问本地硬盘中的文件一样访问挂载到本地nfs服务器上的共享文件。当前nfs系统中通常仅关注nfs服务器实际上所链接的客户端数量是否要小于理论上所链接的客户端的数量,及服务端的连接客户端数量和带宽分配不合理等问题,并不能准确获知客户端是否连接nfs服务或正在使用文件系统的状态,也无法判定客户端是暂时未使用nfs服务还是已处于宕机等状态。而在进行nfs系统维护或升级等情况时,nfs存储系统的管理员需要先关闭nfs共享文件系统,再对nfs系统进行相关操作。如果直接关闭nfs共享文件系统,会导致已连接的客户端和正在读写的nfs客户端出现卡死和业务中断等现象,进而造成数据丢失等后果。

2、现有技术中要实现设备或服务信息的监控通常都是定时获取设备或服务的某一状态信息,且需要被监控方的状态值可以直接获取,获取方式可以是由监控方主动向被监控方查询状态信息,也可以是由被监控方主动向监控方上报。但这需要被监控方有获取状态值和与监控方通信的能力。如果考虑采用传统监控信息的方式对客户端连接nfs服务或正在使用文件系统的客户端状态进行监控,则需要nfs客户端必须具有获取状态或生成状态值的功能,并提供主动上报或被动获取的接口,以实现对nfs客户端状态信息的获取,即必须对nfs客户端进行修改,这会影响nfs客户端的正常运行,导致通用的nfs客户端变成专用的nfs客户端。而在实际使用环境中,会存在各种不同的客户端使用nfs服务,传统监控方式会极大影响客户端的用户体验。


技术实现思路

1、本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、适用性广的监控nfs客户端状态的方法、装置及系统,以实现对nfs存储系统的维护和管理,能够精准监控客户端与nfs服务端的连接状态,利用监控状态确定是否需要关闭nfs共享文件系统,有效避免因直接关闭nfs共享文件系统导致的业务中断、数据丢失等问题。

2、为解决上述技术问题,本发明提出的技术方案为:

3、一种监控nfs客户端状态的方法,包括:

4、定义客户端对文件系统正在进行文件或目录操作为活跃状态、指定时长内客户端未对文件系统进行文件或目录操作为非活跃状态,以及客户端对文件系统正在进行文件或目录操作时出错为错误状态以及在预设租约时间内未收到请求客户端的状态为断开状态;

5、当服务端接收到客户端请求时,获取客户端和对应文件系统的信息;

6、在服务端执行客户端的请求过程中,获取是否成功执行请求的状态以及请求的活跃类型,记录当前客户端和对应文件系统的状态,更新至对应的状态数据库中,其中如果执行请求错误则对应更新为错误状态,服务端执行请求过程中客户端对文件系统正在进行文件或目录操作则对应更新为活跃状态,如果指定时长内客户端未对文件系统进行文件或目录操作则对应更新为非活跃状态,如果判断到服务端在预设租约时间内未收到请求客户端的状态,则更新客户端对应的状态为断开状态。

7、进一步的,还包括定义服务端在预设租约时间内未收到请求客户端的状态为断开状态,如果判断到服务端在预设租约时间内未收到请求客户端的状态,则更新客户端对应的状态为断开状态。

8、进一步的,所述客户端请求包括活跃请求和非活跃请求,所述活跃请求包括除卸载请求和单一的sequence请求以外的任何请求;所述非活跃请求包括单一的sequence请求;

9、当服务端接收到客户端请求时,如果所述客户端请求为除挂载、卸载以外的请求时,判断请求是否执行成功,若执行成功则根据客户端请求的活跃类型更新对应的客户端状态,否则将客户端ip和文件系统名称对应的客户端状态更新为错误状态;

10、如果所述客户端请求为挂载请求时,则插入新的客户端活跃状态记录到数据库;

11、如果所述客户端请求为卸载请求时,则删除客户端的ip和文件系统名称对应的状态记录。

12、进一步的,所述根据客户端请求的活跃类型更新对应的客户端状态包括:

13、当所述客户端请求为非活跃请求时,维持当前客户端ip对应的非活跃状态记录;

14、当所述客户端请求是活跃请求时,检查客户端活跃状态缓存中是否存在当前客户端ip和文件系统名称对应的记录,若存在则跳过当前请求,否则更新客户端活跃状态记录。

15、进一步的,还包括预先对各状态进行等级划分,定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新,使得在指定时长内如果存在目标状态未发生改变则将目标状态降低为指定等级的状态。

16、进一步的,各状态按照等级高低依次配置为活跃状态、非活跃状态、断开和错误状态,所述定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新的步骤包括:

17、如果状态数据库中目标状态为活跃状态,且所述目标状态最后更新时间与当前时间的时间间隔超过预设租约时间,则将所述数据库中目标状态更新为非活跃状态;

18、如果状态数据库中目标状态为非活跃状态,且所述目标状态最后更新时间与当前时间的时间间隔超过预设租约时间,则将所述数据库中目标状态更新为断开状态。

19、进一步的,还包括识别客户端挂载的请求以及需要挂载的文件系统,步骤包括:

20、服务端关联保存文件系统的导出目录的文件句柄和对应的文件系统名称;

21、服务端收到会话请求时获取并保存对应客户端的ip以及session_id,使用session_id作为唯一标识设置一个对应的状态值,以用于表示对应客户端正在挂载中并记录当前的时间戳;

22、当服务端接收到查找请求时,判断session_id对应的状态值是否为客户端正在挂载中,如果不是则结束当前流程;否则判断获取的目录文件句柄是否与文件系统的导出目录的文件句柄一致,若不一致则结束此流程,若一致则判定客户端已挂载完成,通过目录的文件句柄获取对应的文件系统名称,插入活跃状态的客户端状态记录,将客户端ip和文件系统名称关联保存,并将session_id对应的状态值设置为客户端已挂载。

23、进一步的,还包括当需要关闭nfs共享文件系统时,根据状态数据库中记录的nfs客户端状态判断当前是否关闭当前nfs共享文件系统,步骤包括:

24、判断当前接收到的请求是否是强制关闭类请求,如果是则直接关闭nfs共享文件系统;

25、如果当前接收到的请求不是强制关闭类请求,获取服务端所有的文件系统名称和对应的客户端状态记录,并判断所需操作的类型,若是属于关闭nfs共享文件系统的操作,根据是否存在活跃状态或非活跃状态的客户端控制关闭nfs共享文件系统,其中若存在活跃状态或非活跃状态的客户端,阻止关闭nfs共享文件系统,否则直接关闭nfs共享文件系统;若是属于重启服务的操作,根据是否存在活跃状态的客户端控制重启nfs共享文件系统,其中若存在活跃状态的客户端,阻止重启nfs共享文件系统,否则直接重启nfs共享文件系统。

26、进一步的,所述根据状态数据库中记录的nfs客户端状态判断当前是否关闭当前nfs共享文件系统中,还包括如果是否允许后台关闭或重启nfs共享文件系统,创建后台检查任务并将其加入后台任务队列中,对后台任务队列中后台任务的处理步骤包括:

27、判断后台任务队列是否为空,若为空进入睡眠等待状态:

28、若后台任务队列不为空,获取后台任务并判断任务的类型;

29、如果判断到后台任务是属于关闭nfs共享文件系统的操作,判断是否存在活跃状态或非活跃状态的客户端,若存在活跃状态或非活跃状态的客户端,重新创建后台关闭nfs共享文件系统任务,并加入到后台任务队列中,否则直接关闭nfs共享文件系统;

30、若判断到后台任务是属于重启nfs共享文件系统的操作,判断是否存在活跃状态的客户端,若存在活跃状态的客户端,重新创建后台重启nfs共享文件系统任务,并加入到后台任务队列中,否则直接重启nfs共享文件系统。

31、一种监控nfs客户端状态的装置,包括:

32、状态定义模块,用于定义客户端对文件系统正在进行文件或目录操作为活跃状态、指定时长内客户端未对文件系统进行文件或目录操作为非活跃状态,以及客户端对文件系统正在进行文件或目录操作时出错为错误状态;

33、信息获取模块,当服务端接收到客户端请求时,获取客户端和对应文件系统的信息;

34、状态记录模块,在服务端执行客户端的请求过程中,获取是否成功执行请求的状态以及请求的活跃类型,记录当前客户端和对应文件系统的状态,更新至对应的状态数据库中,其中如果执行请求错误则对应更新为错误状态,服务端执行请求过程中客户端对文件系统正在进行文件或目录操作则对应更新为活跃状态,如果指定时长内客户端未对文件系统进行文件或目录操作则对应更新为非活跃状态。

35、一种nfs系统,包括服务端、客户端以及文件系统,还包括处理器以及存储器,所述存储器用于存储计算机程序,所述处理器用于在服务端执行客户端请求的过程中,执行所述计算机程序以执行上述方法。

36、与现有技术相比,本发明的优点在于:

37、1、本发明根据客户端对文件系统进行文件或目录操作的状态定义客户端的状态,并在服务端执行客户端的请求过程中,获取是否成功执行请求的状态以及请求的活跃类型,记录当前客户端和对应文件系统的状态,更新至对应的状态数据库中。使得服务端可以准确获知客户端连接nfs服务端的情况,以及客户端使用文件系统的状态,能够有效避免因直接关闭nfs共享文件系统而导致的已连接的客户端和正在读写的nfs客户端出现卡死和业务中断的情况,有效避免了数据丢失等后果,提高了用户的使用体验。

38、2、本发明通过实时监控客户端的操作状态,有助于发现并解决系统的潜在问题,降低系统故障率,提供系统稳定性。另外,当执行请求错误时对应更新状态数据库为错误状态,使得nfs系统管理员能够快速定位问题,有效提高问题的解决效率。

39、3、本发明进一步通过将目标状态最后更新时间与当前时间的时间间隔与预设租约时间进行比较,当目标状态最后更新时间与当前时间的时间间隔超过预设租约时间,则通过降级策略对客户端当前状态进行降级处理,以准确获知客户端状态是暂时未使用nfs服务还是已经宕机,从而合理分配服务器资源,提高整个系统的运行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1