让 NFS RDMA 在 RHEL 8 中工作

让 NFS RDMA 在 RHEL 8 中工作

我在客户端和服务器上都使用 RHEL 8.7,从 rhel-8.7-x86_64-dvd.iso 进行全新安装。

/etc/nfs.conf文件/etc/nfsmount.conf未修改。

在 nfs 服务器上

mkdir /data
chmod /data
systemctl disable firewalld --now

内容/etc/exports

/data   *(rw,async,no_root_squash)
# exportfs -s
/data  *(async,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)

在 nfs 客户端上:

# mkdir /data
# mount 192.168.1.1:/data /data
# mount | grep data

192.168.1.1:/data on /data type nfs4
(rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.2,local_lock=none,addr=192.168.1.1)

如何让 RDMA 发挥作用?

我是否正确,我应该proto=rdma在客户端的安装中看到,而不是proto=tcp?如果没有,我如何验证 RDMA 是否有效?

答案1

对于那些感兴趣的人,在 RHEL 8.7 中这就是交易

  • 从 rhel-8.7-x86_64-dvd.iso 进行全新安装
  • 在 NFS 服务器端,您必须编辑/etc/nfs.conf并取消注释rdma=n并将其设置为rdma=y。这不需要在 nfs 客户端完成。
    • 这是在块的底部[nfsd]
    • 您不需要修改此文件中的任何其他内容,其他所有内容都将被注释掉。
  • 在 nfs 客户端上,您必须执行此操作mount -o rdma <server>:/<folder> <folder>才能proto=rdma在验证时查看,mount否则它将显示为原型=tcp。你不需要这样做mount -o rdma,port=20049
  • 在服务器端和客户端,请确保/etc/rdma/modulefiles/rdma.conf没有注释掉xprtrdma{NFS over RDMA client support} 或svcrdma{NFS over RDMA server support}。默认情况下,它们不应该是这样。
    • 默认情况下仅rds_rdma被注释掉,不需要取消注释即可使 nfsproto=rdma发生。rds_rdma目前我还不知道是否有益。

相关内容