isa*_*ndi 7 storage file-server nfs4
关于 pNFS 有很多令人困惑的信息,我有一些非常简单的问题:
nfs-kernel-server
使用 pNFS?pNFS 是 NFSv4.1 规范的可选部分。IOW,您需要 nfs 服务器和客户端来对话 nfsv4.1+ 才能使用它。由于这是一个选项功能,您的客户端和服务器应该支持它。Linux 内核从 3.9 版开始支持 pNFS,并且随着每个新版本的发布,它变得更加成熟。
一般来说,pNFS 允许将对单个文件的请求传播到多个所谓的数据服务器。例如,应用程序发出 16MB 读取,但 NFS 服务器将 2MB 读取发送到具有所需块的 8 个不同服务器。有几种支持 pnfs 的服务器实现:
我不能谈论其他系统,但我们每天在具有数百个 pNFS 数据服务器(作为单个 NFS 服务器公开)的系统上移动数 TB 的数据。
检查您的 NFS 服务器的 pNFS 功能。在客户端,确保服务器安装有nfsv4.1或更高版本。如果服务器支持 pNFS,那么您应该会看到适当的布局驱动程序作为内核模块加载:
$ lsmod | grep layout
nfs_layout_nfsv41_files 36864 0
nfs_layout_flexfiles 53248 0
nfsv4 708608 11 nfs_layout_flexfiles,nfs_layout_nfsv41_files
nfs 323584 3 nfsv4,nfs_layout_flexfiles,nfs_layout_nfsv41_files
sunrpc 454656 22 nfsv4,auth_rpcgss,nfs_layout_flexfiles,lockd,nfs_layout_nfsv41_files,rpcsec_gss_krb5,nfs
$
Run Code Online (Sandbox Code Playgroud)
以及相应的内核消息:
$ dmesg | grep Layout
[41827.049921] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
$
Run Code Online (Sandbox Code Playgroud)
布局类型指定客户端如何与各种数据服务器通信。检查RFC 5661 中的存储协议部分。