• 部署软件RDMA的步骤


    date:  2018-08-28   19:46:56

    参考原文原文: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

    ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqr
    ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrs
    ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrst
    ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstu
    ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuv
    ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvw
    ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwx
    ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxy
    ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz
    ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyzA
    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关闭

  • 相关阅读:
    问题 B: 投简历
    问题 C: P4 游戏中的Human角色
    绘制直方图
    绘制条形图
    绘制散点图
    问题 A: E2 驾驭const
    问题 B: 矩形类中运算符重载【C++】
    extjs tips
    extjs
    struts1
  • 原文地址:https://www.cnblogs.com/kaishirenshi/p/9550441.html
Copyright © 2020-2023  润新知