nfiniband網卡安裝、使用總結

最近屢次安裝、使用infiniband網卡,每次都要處處尋找相關資料,因此決定作此總結,方便查找。node

1. 基礎知識

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

深刻淺出全面解析RDMAgithub

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

RDMA技術詳解(二):RDMA Send Receive操做編程

而後得了解如何實現,這兩個能夠有個初步瞭解:ubuntu

RDMA編程:事件通知機制vim

RDMA read and write with IB verbscentos

編程過程,真正有用的仍是官方的手冊:網絡

RDMA Aware Networks Programming User Manualwordpress

mellanox官方社區能找到不少你須要的東西:

https://community.mellanox.com/s/

也下了箇中文版,但我感受英文版看着更好。

中文版: https://pan.baidu.com/s/1BkbinPMy6fwN7J5BPFadDw 提取碼: rm8i

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

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

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

2. 驅動安裝

  1. 下載驅動,進入網站選擇相應系統和軟件版本,archive versions這裏能夠下載舊版本驅動

    http://www.mellanox.com/page/software_overview_ib

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

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

    cd /mnt
    sudo ./mlnxofedinstall

    可能會提示你安裝一堆東西,複製,安裝就能夠了。

    安裝成功截圖:

  4. 執行如下命令:

    sudo /etc/init.d/openibd restart
    sudo /etc/init.d/opensmd restart
  5. 查看網卡狀態:

    sudo hca_self_test.ofed

    沒有 failed 就對了。

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

    ibstat
    ibstatus
    ibv_devinfo
    ibv_devices	#查看本主機的infiniband設備
    ibnodes	#查看網絡中的infiniband設備
  6. 配置ip

    • ubuntu執行:

      sudo vim /etc/network/interfaces

      在文件中添加以下內容:

      auto enp1s0
      iface enp1s0 inet static
      address 172.16.0.104
      netmask 255.255.255.0
      broadcast 172.16.0.255

      enp1s0是網卡名稱,經過ifconfig查看,address是要給infiniband網卡配置的ip地址。

      重啓網絡服務:

      sudo service networking restart
    • centos執行:

      sudo vim /etc/sysconfig/network-scripts/ifcfg-ib0

      添加以下內容:

      DEVICE=ib0
      BOOTPROTO=static
      IPADDR=172.16.0.104
      NETMASK=255.255.255.0
      BROADCAST=172.16.0.255
      NETWORK=172.16.0.0
      ONBOOT=yes

      重啓網口:

      sudo ifdown ib0
      sudo ifup ib0

3. 性能測試

  1. 服務端運行:

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

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

  2. 客戶端運行:

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

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

    1. 其餘測試項

      ib_atomic_bw   ib_atomic_lat  ib_read_bw     ib_read_lat    ib_send_bw     ib_send_lat    ib_write_bw    ib_write_lat

      bw表示測試帶寬,lat表示測試延遲,參數同上,能夠i經過 --help 查看。

4. 其餘問題

更換網卡工做模式:

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

能夠看到,該網卡如今處於 Ethernet 的工做模式,若是想要切換成infiniband模式,參考以下連接:

https://community.mellanox.com/s/article/howto-change-port-type-in-mellanox-connectx-3-adapter

查看當前工做模式:

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模式。

https://community.mellanox.com/s/question/0D51T00006RVtsz/connectx4-says-it-doesnt-support-linktypep1-configuration

相關文章
相關標籤/搜索