System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息共享,尤其涉及一种监控nfs客户端状态的方法、装置及系统。
技术介绍
1、nfs(网络文件系统)是在网络环境下实现不同计算机之间的共享数据,nfs客户端可以像访问本地硬盘中的文件一样访问挂载到本地nfs服务器上的共享文件。当前nfs系统中通常仅关注nfs服务器实际上所链接的客户端数量是否要小于理论上所链接的客户端的数量,及服务端的连接客户端数量和带宽分配不合理等问题,并不能准确获知客户端是否连接nfs服务或正在使用文件系统的状态,也无法判定客户端是暂时未使用nfs服务还是已处于宕机等状态。而在进行nfs系统维护或升级等情况时,nfs存储系统的管理员需要先关闭nfs共享文件系统,再对nfs系统进行相关操作。如果直接关闭nfs共享文件系统,会导致已连接的客户端和正在读写的nfs客户端出现卡死和业务中断等现象,进而造成数据丢失等后果。
2、现有技术中要实现设备或服务信息的监控通常都是定时获取设备或服务的某一状态信息,且需要被监控方的状态值可以直接获取,获取方式可以是由监控方主动向被监控方查询状态信息,也可以是由被监控方主动向监控方上报。但这需要被监控方有获取状态值和与监控方通信的能力。如果考虑采用传统监控信息的方式对客户端连接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共享文本文档来自技高网...
【技术保护点】
1.一种监控NFS客户端状态的方法,其特征在于,包括:
2.根据权利要求1所述的监控NFS客户端状态的方法,其特征在于,当服务端接收到客户端请求时,如果所述客户端请求为除挂载、卸载以外的请求,判断请求是否执行成功,若执行成功则根据客户端请求的活跃类型更新对应的客户端状态,否则将客户端IP和文件系统名称对应的客户端状态更新为错误状态;
3.根据权利要求2所述的监控NFS客户端状态的方法,其特征在于,所述根据客户端请求的活跃类型更新对应的客户端状态包括:
4.根据权利要求1所述的监控NFS客户端状态的方法,其特征在于,还包括预先对各状态进行等级划分,定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新,使得在指定时长内如果存在目标状态未发生改变则将目标状态降低为指定等级的状态。
5.根据权利要求4所述的监控NFS客户端状态的方法,其特征在于,各状态按照等级高低依次配置为活跃状态、非活跃状态、断开和错误状态,所述定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新的步骤包括:
...【技术特征摘要】
1.一种监控nfs客户端状态的方法,其特征在于,包括:
2.根据权利要求1所述的监控nfs客户端状态的方法,其特征在于,当服务端接收到客户端请求时,如果所述客户端请求为除挂载、卸载以外的请求,判断请求是否执行成功,若执行成功则根据客户端请求的活跃类型更新对应的客户端状态,否则将客户端ip和文件系统名称对应的客户端状态更新为错误状态;
3.根据权利要求2所述的监控nfs客户端状态的方法,其特征在于,所述根据客户端请求的活跃类型更新对应的客户端状态包括:
4.根据权利要求1所述的监控nfs客户端状态的方法,其特征在于,还包括预先对各状态进行等级划分,定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新,使得在指定时长内如果存在目标状态未发生改变则将目标状态降低为指定等级的状态。
5.根据权利要求4所述的监控nfs客户端状态的方法,其特征在于,各状态按照等级高低依次配置为活跃状态、非活跃状态、断开和错误状态,所述定期根据状态类型以及在指定时长内的更新趋势对状态数据库中记录的各状态进行降级更新的步骤...
【专利技术属性】
技术研发人员:张国华,郭家勇,胡磊,李庆节,崔潜,王鹏,唐伟,
申请(专利权)人:湖南国科亿存信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。