【RDMA】部署software RDMA的步驟|RDMA編程學習環境搭建--未消化


RDMA需要專門的RDMA網卡或者InfiniBand卡才能使用,學習RDMA而又沒有這些硬件設備,可以使用一個軟件RDMA模擬環境,softiwarp ,
- 這是加載地址:https://github.com/zrlio/softiwarp
- 這是安裝教程:http://www.reflectionsofthevoid.com/2011/03/how-to-install-soft-iwarp-on-ubuntu.html
————————————————
 

原文:https://www.cnblogs.com/kaishirenshi/p/9550441.html

參考原文原文:http://corasql.blog.51cto.com/5908329/1930455
                         http://www.bubuko.com/infodetail-2092754.html

centos 6.8  安裝
系統:
采用VMware虛擬機安裝,網卡模式選擇橋接模式。(選擇nat模式會配置失敗!)
如果機器是desk版的,啟用NetworkManager 服務
如果機器是minimal版,不用管NetworkManager服務

1、安裝依賴包

yum install epel-release -y  
yum install gcc gcc-c++ bc openssl-devel automake ncurses-devel libibverbs ncurses* -y  
yum install libibverbs-devel libibverbs-utils librdmacm librdmacm-devel librdmacm-utils perl-Switch elfutils-libelf-devel  -y

2、 librxe-dev 和 rxe-dev下載
下載地址

Github: https://github.com/SoftRoCE/rxe-dev.git # 備注:rxe-dev下載v18版本,即rxe-dev-rxesubmissionv18
Github: https://github.com/SoftRoCE/librxe-dev.git   #這個選擇1.0.0版本的

3、安裝rxe-dev

 

unzip rxe-dev-rxe_submission_v18.zip
cd rxe-dev-rxe_submission_v18/
cp /boot/config-3.10.0-514.el7.x86_64 .config
make menuconfig
     #會出現選擇界面(如果沒出現,需要安裝 ncurse-devel)
     #輸入 "/" ,然后輸入 rxe,按下 enter,會查找有關 rxe 的選擇項。
     #輸入數字 1,就會選擇到“Software RDMA over Ethernet (ROCE) driver”的設#置,輸入 "M" ,選中 RDMA 的配置,如果 輸不了 M,那就輸入空格。
     #移動到保存按鈕,回車,裝保存到.config中,退出安裝界面(exit)。
vi .config   #來確認一下三項:
                 CONFIG_RDMA_RXE 為 m
                 CONFIG_INFINIBAND_ADDR_TRANS 和            
                 CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS 為 y

make -j 4              # -j  指定CPU核數的,提高編譯速度的。
make modules_install   # 可能執行中途 會提示 丟失一些 module,這個 沒關系,無關緊要。  
make install           # 可能執行中途 會提示 丟失一些 module,這個 沒關系,無關緊要。
make headers_install INSTALL_HDR_PATH=/usr
vim /etc/grub.conf     # 確認新的內核是否在 grub 引導中。查看 /etc/grub.cfg 即可看見。在開機的時候可以選擇 新內核啟動

 

4、安裝 librxe-dev  

先按照:MLAN---軟件包(見另外一個文檔)(centos6.8這一步可以忽略)

 

centos6.8的系統忽略這一步:
yum -y install tcl tk
tar -zxvf MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.4-x86_64.tgz
cd MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.4
./mlnxofedinstall
/etc/init.d/openibd start
/etc/init.d/opensmd start
chkconfig openibd on
chkconfig opensmd on
ibstat  
----> status: Active

 

 

unzip librxe-dev-librxe-1.0.0.zip
cd librxe-dev  
./configure --libdir=/usr/lib64/ --prefix=  
make  
make install
reboot      #  重啟操作系統,在開機啟動時,選擇4.7.0-rc3內核!!!

 

 uname -r     #  啟動后,查看內核版本,是否是4.7的版本
5、驗證 rdma (依次輸入一下命令)

[root@ab ~]# rxe_cfg start
  Name        Link  Driver  Speed  NMTU  IPv4_addr  RDEV  RMTU  
  eth0        yes   e1000                                       
                                      
[root@ab ~]# rxe_cfg add eth0      # centos7.3 就是ens33

[root@ab ~]# rxe_cfg status
  Name        Link  Driver  Speed  NMTU  IPv4_addr  RDEV  RMTU          
  eth0         yes   e1000                           rxe0  1024  (3)  
  virbr0      no    bridge                                              
  virbr0-nic  no    tun
查看rxe設備
ibvdevices 程序顯示該系統中目前所有設備,而 ibvdevinfo 命令會給出每個設備的具體信息

[root@ab ~]# ibv_devices
    device                 node GUID
    ------              ----------------
    rxe0                020c29fffe55c818
[root@ab ~]# ibv_devinfo  rxe0
hca_id:    rxe0
    transport:            InfiniBand (0)
    fw_ver:                0.0.0
    node_guid:            021c:29dd:fe55:c818
    sys_image_guid:            0000:0000:0000:0000
    vendor_id:            0x0000
    vendor_part_id:            0
    hw_ver:                0x0
    phys_port_cnt:            1
        port:    1
            state:            PORT_ACTIVE (4)
            max_mtu:        4096 (5)
            active_mtu:        1024 (3)
            sm_lid:            0
            port_lid:        0
            port_lmc:        0x00
            link_layer:        Ethernet
6、softRoCE連通性測試

服務端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

[root@bogon ~]# rping  -c -a 192.168.1.10 -v -C 10

 View Code

此時的服務端會出現一下信息:
[root@jack ~]# rping -s -a 192.168.1.10 -v -C 10

 

server ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
server ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
server ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
server ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
server ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
server ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
server ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
server ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
server ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
server ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
server DISCONNECT EVENT...
wait for RDMA_READ_ADV state 10

 

下面的這個軟件不知道有個什么用?======> 用於生成客戶端的rping命令的,這樣客戶端還是要安裝rdma的。否則不成功。
7、關於librdmacm編譯說明

 

git clone https://github.com/ofiwg/librdmacm.git
cd librdmacm
yum install autoconf automake gettext gettext-devel libtool libibverbs* -y
./autogen.sh
./configure
make
make install

 


8、常見問題
(1)如果你克隆虛機,需要解決網卡問題
(2)使用rdma,請將防火牆與selinx關閉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM