NFS是Network File System的简写,即网络文件系统,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,而NFS客户端和NFS服务器之间正是通过NFS协议进行通信的。 目前NFS协议版本有NFSv3、NFSv4和NFSv4.1,NFSv3是无状态的,NFSv4是有状态,NFSv3和NFSv4是基于Filelayout驱动的,而NFSv4.1是基于Blocklayout驱动。本文主要使用NFSv4协议。 对于元数据操作较多的列出目录树结构操作,方案二的性能比方案一好50%左右,这是因为该测试中每一个目录查找都需要通过VFS中FUSE调用,需要从内核态的VFS到用户态的ceph-fuse,IO调用路径比ganesha直接调用libcephfs做目录查找要长,因此时间开销更多。而读取100MB大文件,方案一略优于方案二,主要是因为通过ceph-fuse在NFS服务器端构建了文件系统,因此在读文件时,NFS服务器会以默认128KB的长度预读数据,可以加速大文件的读性能。 当平台不支持ceph-fuse而又需要访问Cephfs的时候,可以将CephFS通过本文介绍的两种方式配置成NAS,这样,在该平台上就可以通过NFS协议访问CephFS。而ganesha方案相比ceph-fuse+NFSD方案在元数据操作较多的场景下性能方面有优势,但需要在MON节点上安装nfs-ganesha-fsal-ceph软件包及其依赖包。而ceph-fuse+NFSD方案在软件包的安装方面会更便捷。 |
|
来自: hello_worldw6 > 《ceph》