分布式文件系统中的文件读/写方法、装置和设备制造方法及图纸

技术编号:37789903 阅读:20 留言:0更新日期:2023-06-09 09:20
本发明专利技术提供一种分布式文件系统中的文件读/写方法、装置和设备,用于解决分布式系统中快照锁互斥竞争导致文件读/写性能较低的技术问题。本发明专利技术在未进行快照处理的情况下,普通读/写IO只需申请所读/写的文件的上一级目录的读/写锁,有效降低快照处理所涉及的目录下文件读/写的互斥锁竞争和IO时延,同时为了保证快照业务的可靠性,在快照配置处理流程中加入预检查precheck流程,通过预检查流程在确保没有拿非全路径的snaplock读/写锁的读/写请求的情况下,才开始执行快照处理。本发明专利技术能够在MDS中减少文件读写对快照锁的互斥竞争,提升分布式文件系统的文件读/写性能,并可保证快照配置的可靠性。快照配置的可靠性。快照配置的可靠性。

【技术实现步骤摘要】
分布式文件系统中的文件读/写方法、装置和设备


[0001]本专利技术涉及通信及云计算
,尤其涉及一种分布式文件系统中的文件读/写方法、装置和设备。

技术介绍

[0002]目前,很多厂商正逐步采用全闪存储,例如在存储子系统中使用通过非易失性内存主机控制器接口规范(Non Volatile Memory Express,NVMe)连接固态硬盘(Solid State Disk或Solid State Drive,SSD)或其他闪存介质代替传统硬盘(Hard Disk Drive,HDD)。所以,在全闪存储版本中,底层的磁盘不再是性能瓶颈,而且文件系统客户端从内核态cephfs转为用户态libcephfs,nfsd(基本的NFS守护进程)也从内核态nfsd转为用户态ganesha

nfsd,可以减少以往由于内核态的软件缺陷(bug)导致整个节点崩溃(crash)的问题,但是用户态的性能相比内核态会有所降低。
[0003]快照可以认为是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。一般通过集群管理页面可以进行快照配置,可对打快照的目录、快照名、过期时间等参数进行配置。
[0004]Ceph文件系统(Ceph file system,Cephfs)为了确保快照特性的可靠,在相关读/写输入/输出(Input/Output,IO)流程中都需要获取全路径分布式快照锁即snaplock的读锁,对快照配置相关流程都需要获取snaplock写锁。在当前的元数据服务(MetaData Service,MDS)多线程架构下,涉及snaplock状态机变化的流程都加互斥锁进行保护。在小文件覆盖写较多的应用场景下,MDS中相关互斥锁的竞争很大,导致IO流程时延变大,大部分线程处于空闲等待状态,对于性能影响很大。

技术实现思路

[0005]有鉴于此,本专利技术提供一种分布式文件系统中的文件读/写方法、装置和设备,用于解决分布式系统中快照锁互斥竞争导致文件读/写性能较低的技术问题。
[0006]基于本专利技术实施例的一方面,本专利技术提供一种分布式文件系统中的文件读/写方法,该方法包括:
[0007]在无快照客户端执行快照处理期间,对根目录下的文件读/写IO都只申请所读/写文件上一级目录的非全路径快照读/写锁;
[0008]在快照客户端执行快照处理期间,对根目录下的文件读/写IO都需申请全路径快照读/写锁;
[0009]在快照客户端执行快照处理之前,需等待所有获取非全路径快照读/写锁的读/写IO都处理完成后,再开始执行快照处理。
[0010]进一步地,所述文件读/写IO通过快照锁定标记(snaplocking)来获知当前是否在进行快照处理;所述快照锁定标记(snaplocking)由所述快照客户端在执行快照处理前设
置为真(true),在执行完快照处理后设置为假(false),所述快照锁定标记(snaplocking)为全局变量。
[0011]进一步地,所述文件读/写IO通过非快照请求计数(nosnapreq)来告知当前有申请到非全路径快照读/写锁的读/写IO在执行,所述非快照请求计数(nosnapreq)为全局变量;
[0012]所述文件读/写IO在申请成功非全路径快照读/写锁后将非快照请求计数(nosnapreq)加一,在释放非全路径快照读/写锁后将非快照请求计数(nosnapreq)减一。
[0013]进一步地,所述等待所有获取非全路径快照读/写锁的读/写IO都处理完成后,再开始执行快照处理步骤的方法为:
[0014]所述快照客户端在执行快照准备(do_prepare)前通过发起预检查(precheck)流程来设置快照锁定标记(snaplocking)来通知文件读/写IO当前在进行快照处理,并通过非快照请求计数(nosnapreq)等待当前申请到非全路径快照读/写锁的读/写IO执行完毕。
[0015]进一步地,所述预检查(precheck)流程包括:
[0016]所述快照客户端(snapclient1)在执行快照准备(do_prepare)前发起预检查(precheck)流程,所述预检查流程包括:
[0017]所述快照客户端(snapclient1)通知快照服务端(snapserver)发起预检查步骤;
[0018]所述快照服务端通知分布式文件系统中的所有快照客户端(snapclient1、snapclient2)执行预检查;
[0019]所述快照客户端(snapclient1、snapclient2)在接收到执行预检查的通知后,更新快照锁定标记(snaplocking)为真(true);
[0020]所述快照客户端(snapclient1、snapclient2)循环检查非快照请求计数(nosnapreq)是否为0,在判定非快照请求计数(nosnapreq)为0时,向快照服务端反馈预检查响应;
[0021]当快照服务端接收到所有快照客户端的预检查响应时,通知发起预检查步骤的快照客户端(snapclient1)执行快照准备(do_prepare)步骤。
[0022]进一步地,所述方法还包括:
[0023]所述快照客户端(snapclient1)在收到快照服务端发送的重置快照标签的通知(TABLECLIENT_OP_RESETSNAP)后,更新快照锁定标记(snaplocking)为假(false),以通知文件读/写IO快照处理流程执行完毕。
[0024]基于本专利技术实施例的另一方面,本专利技术还提供一种分布式文件系统中的文件读/写装置,该装置包括:
[0025]第一锁请求模块,用于在无快照客户端执行快照处理期间,对根目录下的文件读/写IO都只申请所读/写文件上一级目录的非全路径快照读/写锁;
[0026]第二锁请求模块,用于在快照客户端执行快照处理期间,对根目录下的文件读/写IO都需申请全路径快照读/写锁。
[0027]基于本专利技术实施例的另一方面,本专利技术还提供一种分布式文件系统中的快照处理装置,该装置应用于所述快照客户端。该装置可以软件、硬件或软硬结合的方式实现。当以软件模块方式实现时,当该软件模块的程序代码被加载到设备的存储介质中,由处理器读取存储介质中的程序代码进行执行,从而实现该装置中各组成模块的功能。该装置包括:
[0028]预检查模块,用于所述快照客户端在执行快照准备(do_prepare)前通过发起预检
查(precheck)流程来设置快照锁定标记(snaplocking)来通知文件读/写IO当前在进行快照处理,并通过非快照请求计数(nosnapreq)等待当前申请到非全路径快照读/写锁的读/写IO执行完毕;
[0029]全局标记更新模块,用于所述快照客户端(snapclient1)在收到快照服务端发送的重置快照标签的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式文件系统中的文件读/写方法,其特征在于,方法包括:在无快照客户端执行快照处理期间,对根目录下的文件读/写IO都只申请所读/写文件上一级目录的非全路径快照读/写锁;在快照客户端执行快照处理期间,对根目录下的文件读/写IO都需申请全路径快照读/写锁;在快照客户端执行快照处理之前,需等待所有获取非全路径快照读/写锁的读/写IO都处理完成后,再开始执行快照处理。2.根据权利要求1所述的方法,其特征在于,所述文件读/写IO通过快照锁定标记来获知当前是否在进行快照处理;所述快照锁定标记由所述快照客户端在执行快照处理前设置为真,在执行完快照处理后设置为假,所述快照锁定标记为全局变量。3.根据权利要求1所述的方法,其特征在于,所述文件读/写IO通过非快照请求计数来告知当前有申请到非全路径快照读/写锁的读/写IO在执行,所述非快照请求计数为全局变量;所述文件读/写IO在申请成功非全路径快照读/写锁后将非快照请求计数加一,在释放非全路径快照读/写锁后将非快照请求计数减一。4.根据权利要求1所述的方法,其特征在于,所述等待所有获取非全路径快照读/写锁的读/写IO都处理完成后,再开始执行快照处理步骤的方法为:所述快照客户端在执行快照准备前,通过发起预检查流程来设置快照锁定标记以通知文件读/写IO当前在进行快照处理,并通过非快照请求计数等待当前申请到非全路径快照读/写锁的读/写IO执行完毕。5.根据权利要求4所述的方法,其特征在于,所述预检查流程包括:所述快照客户端在执行快照准备前发起预检查流程,所述预检查流程包括:所述快照客户端通知快照服务端发起预检查步骤;所述快照服务端通知分布式文件系统中的所有快照客户端执行预检查;所述快照客户端在接收到执行预检查的通知后,更新快照锁定标记为真;所述快照客户端循环检查非快...

【专利技术属性】
技术研发人员:姚茜茜
申请(专利权)人:新华三信息技术有限公司
类型:发明
国别省市:

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

1