Chapter 4. Configuring the core RDMA subsystem
rdma service configuration manages the network protocols and communication standards such as InfiniBand, iWARP, and RoCE.
4.2. Increasing the amount of memory that users are allowed to pin in the system
Remote direct memory access (RDMA) operations require the pinning of physical memory. As a consequence, the kernel is not allowed to write memory into the swap space. If a user pins too much memory, the system can run out of memory, and the kernel terminates processes to free up more memory. Therefore, memory pinning is a privileged operation.
If non-root users need to run large RDMA applications, it is necessary to increase the amount of memory to maintain pages in primary memory pinned all the time.
rootuser, create the file
/etc/security/limits.confwith the following contents:
@rdma soft memlock unlimited @rdma hard memlock unlimited
Log in as a member of the
rdmagroup after editing the
Note that Red Hat Enterprise Linux applies updated
ulimitsettings when the user logs in.
ulimit -lcommand to display the limit:
$ ulimit -l unlimited
If the command returns
unlimited, the user can pin an unlimited amount of memory.
4.3. Enabling NFS over RDMA (NFSoRDMA)
In Red Hat Enterprise Linux 9, Remote direct memory access (RDMA) service on RDMA-capable hardware provides Network File System (NFS) protocol support for high-speed file transfer over the network.
# dnf install rdma-core
Verify the lines with
svcrdmaare not commented out in the
# NFS over RDMA client support xprtrdma # NFS over RDMA server support svcrdma
On the NFS server, create directory
/mnt/nfsordmaand export it to
# mkdir /mnt/nfsordma # echo "/mnt/nfsordma *(fsid=0,rw,async,insecure,no_root_squash)" >> /etc/exports
On the NFS client, mount the nfs-share with server IP address, for example,
# mount -o rdma,port=20049 172.31.0.186:/mnt/nfs-share /mnt/nfs
# systemctl restart nfs-server