一、RDMA概要
1. 基礎理論
網上有很多rdma基礎理論介紹,可以去搜索,當然如果深入了解,還是需要看RDMA協議標準
簡單參考:
深入了解:
項目首頁 - RDMARoCEv2標準協議快速掌握:RDMA RoCEv2標準協議快速掌握 - GitCode
2.部分工具和含義
RDMA 有一堆的管理工具和測試工具,慢慢都歸集于https://github.com/linux-rdma/rdma-core項目下,甚至這些工具都有 man 手冊,比如https://man7.org/linux/man-pages/man1/ibv_devices.1.html,可以說非常友好了,你只需要知曉有哪些工具,大概是干什么的,具體使用的時候查詢它的 man 手冊就好了。
我根據 Red Hat/CentOS 系統中不同的包所包含的工具分類進行介紹。你可以通過下面的命令安裝這些工具:
這些工具主要用于:
- RDMA 設備狀態檢查
- 網絡連接測試
- 性能測試和基準測試
- 故障排除
- 網絡拓撲發現
建議在使用這些工具時查看各自的 man 頁面獲取詳細用法:
1. libibverbs-utils 包
- ibv_devices:列出系統中所有的 IB 設備
- ibv_devinfo:顯示 IB 設備的詳細信息
- ibv_rc_pingpong:RC(Reliable Connection)模式的 ping-pong 測試工具
- ibv_uc_pingpong:UC(Unreliable Connection)模式測試工具
- ibv_srq_pingpong:Shared Receive Queue 測試工具
2. infiniband-diags 包
- ibstat:顯示 IB 適配器和端口狀態
- ibstatus:顯示 IB 設備狀態信息
- ibhosts:顯示 IB 子網中的主機
- ibnetdiscover:發現并顯示 IB 網絡拓撲
- iblinkinfo:顯示 IB 網絡鏈路信息
3. rdma-core 包
- rdma:RDMA 子系統管理工具
- rxe_cfg:軟件 RDMA 配置工具,棄用,逐步被 rdma 命令替代
4. perftest 包
- ib_send_bw:帶寬測試工具
- ib_read_bw:RDMA read 帶寬測試
- ib_write_bw:RDMA write 帶寬測試
- ib_send_lat:延遲測試工具
- ib_read_lat:RDMA read 延遲測試
- ib_write_lat:RDMA write 延遲測試
5. librdmacm-utils 包
- rping:RDMA ping 測試工具
- ucmatose:UC 連接測試工具
- rdma_client/rdma_server:RDMA 客戶端/服務器測試程序
二、RDMA之perftest
perftest是常用的用戶態 rdma測試工具,可以測試rdma 基礎Verbs 功能、性能
參考鏈接:
源碼地址:
GitHub - linux-rdma/perftest: Infiniband Verbs Performance Tests
詳細使用方法可以看軟件README,有介紹
三、RDMA存儲---nvme
RDMA目前結合存儲使用場景較多,主要就是nvme over rdma。工具主要為SPDK
GitHub - spdk/spdk: Storage Performance Development Kit
使用方法可以參考:
SPDK: NVMe over Fabrics TargetT端SPDK----I端nvme-cli,這種場景是T端用戶態,I端內核態
配置完成nvme 掛好盤,可以lsblk看到I端從T端掛過來的遠端盤,此時可以進行fio讀寫:
fio工具可以yum或apt 直接安裝,也可以github源碼安裝
GitHub - axboe/fio: Flexible I/O Tester
fio命令:注意/dev/nvme盤名字對應lsblk看到的,如果系統盤是nvme,千萬注意不要寫錯,不然要重裝系統了
fio --name=rw_iops --filename=/dev/nvme77n1 --filename=/dev/nvme78n1 --bs=4k --direct=1 --rw=randrw --ioengine=libaio --iodepth=128 --numjobs=32 --group_reporting
--norandommap --time_based --runtime=10h
fio詳細介紹和使用,可以deepseek問下
四、RDMA存儲---ISER
待補充
五、RDMA存儲---NFS
待補充
六、RDMA存儲---SMB
待補充
浙公網安備 33010602011771號