RDMA
为什么 NFS Over RDMA 比 NFS 的 FIO 大块读性能好很多
· ☕ 2 分钟
1. 背景 在测试 NFS Over RDMA 的性能时,发现 4M 的文件的读取性能竟然能达到 45GB/s。 1 2 3 fio -numjobs=128 -fallocate=none -iodepth=2 -ioengine=libaio -direct=1 -rw=read -bs=4M --group_reporting -size=100m -time_based -runtime=30 -name=fio-test -directory=/data1/nfs READ: bw=42.3GiB/s (45.4GB/s), 42.3GiB/s-42.3GiB/s (45.4GB/s-45.4GB/s), io=1269GiB (1363GB), run=30019-30019msec 而磁盘的 4M 多线程读取性能只有 6 GB/s 1 2 3 fio -numjobs=128 -fallocate=none -iodepth=2 -ioengine=libaio -direct=1 -rw=read -bs=4M --group_reporting -size=100m -time_based -runtime=30 -name=fio-test -directory=/data1/host READ: bw=6190MiB/s (6491MB/s), 6190MiB/s-6190MiB/s (6491MB/s-6491MB/s), io=182GiB (196GB), run=30152-30152msec 2. NFS Over RDMA VS NFS 3. 数据拷贝路径比较 3.1 NFS

NFS Over RDMA
· ☕ 3 分钟
1. 前置条件 存储与使用存储的节点组成 RDMA 网络 RDMA 设备配置了 IP 地址 如果使用的是 Mellanox 网卡,在安装驱动时需要加上参数 -with-nfsrdma 1 ./mlnxofedinstall --with-nfsrdma 2. 服务端启动 安装依赖 1 apt install nfs-kernel-server rdma-core -y 加载内核模块 1 modprobe svcrdma 将端口加入 portlist 1 echo 'rdma 20049' | tee /proc/fs/nfsd/portlist 挂载目录 1 mkdir /data1/nfs 1 2 3 vim /etc/exports /data1/nfs *(rw,sync,no_root_squash,no_all_squash) 启动 NFS 服务 1 systemctl start nfs-server.service 检测挂载

RDMA 技术
· ☕ 4 分钟
1. 什么是 RDMA RDMA(Remote Direct Memory Access,远程直接内存访问)是一种为了解决网络传输中服务器端数据处理延迟而产生的技术。 TCP/IP 传输时,数据经过网络堆栈,再经过网卡发送,接收端接收后,按照序列号组装数据。 DMA 传输时,可以直接在设备和内存之间传输数据,不需要经过网