我在客户端和服务器上都使用 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
目前我还不知道是否有益。
- 默认情况下仅