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.-.el7.x86_64 .config
make menuconfig
#会出现选择界面(如果没出现,需要安装 ncurse-devel)
#输入 "/" ,然后输入 rxe,按下 enter,会查找有关 rxe 的选择项。
#输入数字 ,就会选择到“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 # -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.-x86_64.tgz
cd MLNX_OFED_LINUX-4.2-1.2.0.0-rhel7.
./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..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-: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
ping data: rdma-ping-: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
ping data: rdma-ping-: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
ping data: rdma-ping-: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
ping data: rdma-ping-: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
ping data: rdma-ping-: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
ping data: rdma-ping-: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
ping data: rdma-ping-: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
ping data: rdma-ping-: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ping data: rdma-ping-: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA

此时的服务端会出现一下信息:
[root@jack ~]# rping -s -a 192.168.1.10 -v -C 10

server ping data: rdma-ping-: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
server ping data: rdma-ping-: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
server ping data: rdma-ping-: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
server ping data: rdma-ping-: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
server ping data: rdma-ping-: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
server ping data: rdma-ping-: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
server ping data: rdma-ping-: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
server ping data: rdma-ping-: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
server ping data: rdma-ping-: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
server ping data: rdma-ping-: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
server DISCONNECT EVENT...
wait for RDMA_READ_ADV state

下面的这个软件不知道有个什么用?======> 用于生成客户端的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关闭

部署软件RDMA的步骤的更多相关文章

  1. Windows 2003】利用域&&组策略自动部署软件

    Windows 2003]利用域&&组策略自动部署软件 转自 http://hi.baidu.com/qu6zhi/item/4c0fa100dc768613cc34ead0 ==== ...

  2. Docker(三):部署软件

    Docker的镜像文件可以在镜像仓库中进行搜索. 部署软件目录导航: 常用命令 部署 Tomcat 部署 MySQL 部署 Oracle 常用命令 docker的常用命令如下: docker -v , ...

  3. JetSpeed2部署至Apusic操作步骤记录

    JetSpeed2部署至Apusic操作步骤记录. 1.创建Apusic新域,配置端口.管理端口和管理密码. 2.将Tomcat/lib目录中的所有jar包复制至Apusic域中的lib目录中(包括数 ...

  4. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  5. 【转】将项目打成war包并用tomcat部署的方法,步骤及注意点

    部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...

  6. 将项目打成war包并用tomcat部署的方法,步骤及注意点

    部署的遇到第一个问题,就是tomcat和jdk的环境问题: 首先 理解为啥要关注这二者的环境呢?他们还是有关系的–tomcat 作为比较流行的java Web服务器也是用java来实现的一个比较大的软 ...

  7. Tomcat手动部署Web项目详细步骤

    阅读须知:文章基于Tomcat8,其它版本若有差异,请自行辨别.本文为博主原创文章,转载请附原文链接. 不借助任何IDE,这里介绍在Tomcat中手动部署web项目的三种方式: 1.部署解包的weba ...

  8. linux系统编译安装软件的通用步骤

    编译安装的步骤: 1.下载源代码,并解压     tar -xf package-version.tar.{gz|bz2|xz} 注意:展开后的目录通常为package-version 2.切换至源码 ...

  9. linux_开发软件安装=命令步骤

    1.Linux 操作系统软件安装以及redis 学习    JDK ----- Java开发运行环境    Tomcat -- WEB程序的服务器    MySQL --- 持久化存储数据    Re ...

随机推荐

  1. synchronize模块

    synchronize模块 使用rsync同步文件,其参数如下: archive: 归档,相当于同时开启recursive(递归).links.perms.times.owner.group.-D选项 ...

  2. C# 字典 Dictionary 遍历

    using System; using System.Collections.Generic; public class Example { public static void Main() { / ...

  3. ggplot饼图

    目录: 原始图样 如何去除饼图中心的杂点 如何去除饼图旁边的标签 如何去掉左上角多出来的一横线 如何去掉图例的标题,并将图例放到上面 如何对图例的标签加上百分比 如何让饼图的小块按顺时针从大到小的顺序 ...

  4. 关于C++输出中文乱码的解决方案

    把页面编码转换为UTP-8的编码 1.打开G:\vs2013way\VC\vcprojectitems目录 在 file.h newc++file.cpp 中写两句话 #pragma once#pra ...

  5. C#接口之IEnumerable,IEnumerator

    IEnumerable 截图来源于https://msdn.microsoft.com/zh-cn/library/system.collections.ienumerable.getenumerat ...

  6. asp.net mvc中用angularJs写的增删改查的demo。初学者,求指点。。

    直接给个代码下载链接.... http://pan.baidu.com/s/1FfVgq 本人刚刚学习angularJs,感觉双向数据绑定蛮爽的... 之前的代码存在点问题,已修复

  7. thinkphp模板中无法给自定义函数传多个参数

    1.模板的用法 {:function(param1,param2,param3...)} 2.实例 <td>{:getChannelInfo($adminId,$v['sale_id']) ...

  8. c++ template<typename T>

    template <typename T> 网上查了半天不知所云,网上说的太多,俺只是要知道所需要的就可以了. 写了个程序试了一下,其实就是这个东西可以根据你所需要的类型就行匹配.其实就是 ...

  9. React中props与state

    以下内容均为个人理解. 1.state: 在react中,state可以看成管理页面状态的集合(实则一个对象而已),库里面的成员均为页面渲染变量,整个页面为一个状态机,当state发生变化时,页面会重 ...

  10. Makefile--伪目标 (三)

    原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 一般情况下,Makefile都会有一个clean目标,用于清除编译过程中产生的二进制文件.我们在 ...