日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【RDMA】infiniband网卡安装|InfiniBand 连接和状态诊断工具|测试RDMA网卡是否正常工作...

發布時間:2024/3/26 编程问答 101 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【RDMA】infiniband网卡安装|InfiniBand 连接和状态诊断工具|测试RDMA网卡是否正常工作... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1. 基礎知識

一、診斷工具--翻譯中

2. 驅動安裝

3.配置IP

4. 性能測試

5. 其他問題

RDMA 、InfiniBand、IB卡、IB驅動的關系

問題記錄?


原文:infiniband網卡安裝、使用總結 - 山河故人abin - 博客園?

最近多次安裝、使用infiniband網卡,每次都要到處尋找相關資料,所以決定做此總結,方便查找。

1. 基礎知識

首先,得了解什么是RDMA,貼幾個資料:

深入淺出全面解析RDMA

RDMA技術詳解(一):RDMA概述

RDMA技術詳解(二):RDMA Send Receive操作

然后得了解如何實現,這兩個可以有個初步了解:

RDMA編程:事件通知機制

RDMA read and write with IB verbs

編程過程,真正有用的還是官方的手冊:

RDMA Aware Networks Programming User Manual

mellanox官方社區能找到很多你需要的東西:

Mellanox Interconnect Community

也下了個中文版,但我感覺英文版看著更好。中文版下載:

百度云:?百度網盤 請輸入提取碼?提取碼: rm8i

藍奏云:https://wwa.lanzous.com/iXUd6jm7qla?密碼: 4aps

RDMA編程入門可參考的項目:

https://github.com/tarickb/the-geek-in-the-corner

https://github.com/jcxue/RDMA-Tutorial

一、診斷工具--翻譯中

摘自《Mellanox_OFED_Linux_User_Manual_v4_1》

本章介紹的診斷工具提供了fabric中IB設備的連接和狀態調試方法。

工具描述
ibdump

測試流入和流出Mellanox Technologies ConnectX系列適配器InfiniBand端口的InfiniBand通信。

請注意以下幾點:

  • 虛擬功能(SR-IOV)不支持ibdump。
  • 所有HCA均支持Infiniband流量嗅探。
  • 僅在Connect-X3和Connect-X3 Pro卡上支持以太網和RoCE嗅探。

dump出來的文件,可以通過Wireshark工具加載進行圖形流量分析。

以下描述了本地HCA(適配器)嗅探的工作流程:

  • 1.運行ibdump 并給定運行選項
  • 2.運行進行IB通信的應用程序
  • 3.停止ibdump(CTRL-C)或等待數據緩沖區填充(在--mem-mode中)
  • 4.打開Wireshark并加載生成的文件。要下載適用于Linux或Windows環境的Wireshark,請訪問www.wireshark.org。

注意:盡管ibdump是Linux應用程序,但是可以在任一操作系統上分析生成的.pcap文件。 [mlx4]為了使ibdump與RoCE一起使用,必須啟用Flow Steering。

啟用步驟:

1.將以下內容添加到/etc/modprobe.d/mlnx.conf文件:options mlx4_core log_num_mgm_entry_size = -1

2.重新啟動驅動程序。

注意:如果將HCA的端口中有一個配置為InfiniBand,則ibdump要求IPoIB DMFS是使能的。有關更多信息,請參閱第3.1.12.1節,啟用/禁用流向,第103頁。有關更多信息,請參閱工具的手冊頁。

dump_fts

為子網的ibnetdiscover掃描中發現的每個交換機轉儲表。dump文件格式與使用-R file -U /path/to/dump-file語法加載到OpenSM兼容。

Dumps tables for every switch found in an ibnetdiscover scan of the subnet. The dump file format is compatible with loading into OpenSM using the -R file -U /path/to/dump-file syntax.
For further information, please refer to the tool’s man page.

ibaddr

默認情況下,可以用來顯示指定端口或本地端口的LID和GID地址。這個實用程序可以用作簡單的地址解析器。
要了解更多信息,請參考該工具的手冊頁。

Can be used to show the LID and GID addresses of the specified port or the local port by default. This utility can be used as simple address resolver.
For further information, please refer to the tool’s man page.

ib_send_bw

測試兩臺機器之間的SEND帶寬

一個充當服務器,另一個充當客戶端。服務器從客戶端接收數據包,它們都計算操作的吞吐量。該測試支持雙向功能(雙向功能可同時發送和接收),mtu大小的更改,tx大小,迭代次數,消息大小等。使用“ -a”可提供所有消息大小的結果。
有關更多信息,請參閱該工具的手冊頁。

Calculates the BW of SEND between a pair of machines. One acts as a server and the other as a client. The server receive packets from the client and they both calculate the throughput of the operation. The test supports features such as Bidirectional, on which they both send and receive at the same time, change of mtu size, tx size, number of iteration, message size and more. Using the "-a" provides results for all message sizes.
For further information, please refer to the tool’s man page.

rpingsoftRoCE連通性測試
服務端IP為:192.168.1.10,在服務端開啟RDMA
rping -s -a 192.168.1.10 -v -C 10
出現的等待窗口,
客戶端IP為:192.168.1.34,按照同樣的方式安裝RDMA(因為rping的命令需要使用以上軟件的安裝才能生成)
rping -c -a 192.168.1.10 -v -C 10

2. 驅動安裝

  • 下載驅動,進入網站選擇相應系統和軟件版本,archive versions這里可以下載舊版本驅動

    NVIDIA Mellanox InfiniBand and VPI Software | NVIDIA

    ubuntu16.04平臺5.0-2.1.8.0的下載鏈接為:

    wget http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-ubuntu16.04-x86_64.iso

    版本5.1之后鏈接細微變化,ubuntu18.04平臺5.1-2.5.8.0的下載鏈接為:

    wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.1-2.5.8.0/MLNX_OFED_LINUX-5.1-2.5.8.0-ubuntu18.04-x86_64.iso

    其它平臺和版本的驅動,可以自己修改。

  • 掛載或解壓,如果下載的iso則掛載,若是tgz就解壓,下面是掛載命令:

    sudo mount -o ro,loop MLNX_OFED_LINUX-5.0-2.1.8.0-ubuntu16.04-x86_64.iso /mnt

  • 安裝

    cd /mnt sudo ./mlnxofedinstall

    可能會提示你安裝一堆東西,復制,安裝就可以了。

    安裝成功截圖:

  • 執行以下命令:

    sudo /etc/init.d/openibd restart sudo /etc/init.d/opensmd restart

  • 查看網卡狀態:

    sudo hca_self_test.ofed

    沒有 failed 就對了。

    一些其它查看網卡信息的命令:

    ibstat ibstatus ibv_devinfo ibv_devices #查看本主機的infiniband設備 ibnodes #查看網絡中的infiniband設備

  • 3.配置IP

    見:《linux配置網口IP|RDMA配置IP|ens、eno、enp網口的區別》【linux】centOS7配置網口IP|RDMA配置IP|ens、eno、enp網口的區別_bandaoyu的note-CSDN博客

    4. 性能測試

  • 服務端運行:

    ib_send_bw -a -c UD -d mlx4_0 -i 1

    注意,參數 -i 指定端口,在一個網卡有多個網口的時候,需要指定測試的端口,具體哪個端口,通過 ibstatus 可以看到。

  • 客戶端運行:

    ib_send_bw -a -c UD -d mlx4_0 -i 1 172.16.0.102

    最后面的ip地址是服務端infiniband網卡的ip地址。

  • 其他測試項

  • https://blog.csdn.net/bandaoyu/article/details/115798045

    其他測試工具說明:Mellanox Interconnect Community

    測試工具源碼:https://github.com/linux-rdma/perftest

    5. 其他問題

    更換網卡工作模式:

    有些網卡,當你安裝好驅動后,通過 ibstatus 命令,會出現下面的情況:

    可以看到,該網卡現在處于 Ethernet 的工作模式,如果想要切換成infiniband模式,參考如下鏈接:

    Mellanox Interconnect Community

    查看當前工作模式:

    sudo /sbin/connectx_port_config -s

    輸入以下命令切換工作模式:

    sudo /sbin/connectx_port_config

    如果提示如圖,說明不支持infiniband模式,否則,就切換成功了,再次使用一下命令可以驗證:

    sudo /sbin/connectx_port_config -s

    不能切換到infiniband工作模式,并不代表不支持RDMA,處于Ethernet模式的網卡使用 RoCE 協議工作。

    RDMA 協議:底層可以是以太網( RoCE 或者 iWARP )或者 Infiniband

    有些網卡只支持Ethernet(RoCE),不支持Infiniband模式,也就是想從Ethernet切換到Infiniband模式時不能成功,這個要提前了解好。我目前了解到的,Connectx-3只支持Ethernet模式。

    Mellanox Interconnect Community

    RDMA 、InfiniBand、IB卡、IB驅動的關系

    1、RDMA 是一種技術(遠程直接內存訪問技術),如何實現這種技術呢?

    2、實現這種技術你可以選擇用 Infiniband 協議。(當然你也可以使用其他協議,eg:roce、iwarp)

    3、如果你使用 Infiniband 協議,這個協議作為一個新一代網絡協議。它必須依靠專門的硬件才能實現。eg:專用INC(網卡)—— IB卡,或者專用交換機。

    4、當你在服務器上安裝了IB卡之后,你還得安裝 IB驅動,才能使用 infiniband 。
    原文鏈接:https://blog.csdn.net/ljlfather/article/details/102930714

    其他文章《Infiniband的驅動安裝與配置》:Infiniband的驅動安裝與配置:https://blog.csdn.net/oPrinceme/article/details/51001849

    問題記錄?

    ceph 的RDMA 連接 RDMAConnectedSocketImpl::activate()? 失敗。 dmesg 查看到:

    402303.425662] QAT: Device not yet ready. [402318.101625] QAT: Device not yet ready. [402336.462612] QAT: Device not yet ready. [402367.537465] QAT: Device not yet ready. [402393.717441] QAT: Device not yet ready. [402426.970661] QAT: Device not yet ready. [402457.179681] QAT: Device not yet ready.

    猜測:osd open dvice之后,雖然TCP 建立連接正常讀寫了,但是rdma的device還沒有ready好。

    所以TCP的infiniband->recv_msg(cct, tcp_fd, peer_msg);可以正常讀,走過,然后到activate()

    RDMA 沒有準備好。

    void RDMAConnectedSocketImpl::handle_connection() {
    ……
    ? int r = infiniband->recv_msg(cct, tcp_fd, peer_msg);
    ……
    ? ? if (!connected) {
    ? ? ? r = activate();
    ? ? ? assert(!r);
    ? ? }

    ……

    }

    總結

    以上是生活随笔為你收集整理的【RDMA】infiniband网卡安装|InfiniBand 连接和状态诊断工具|测试RDMA网卡是否正常工作...的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。