author:headsen chen
date: 2019-01-18 10:22:20
notice:created by headsen chen himself and not allowed to copy, or you will count law question!
版本环境:centos6.8 ,64位,内核:2.6.32
1,配置网卡:
在新卡装上机器,接收光纤,两根线都有接,而且是反接的方式接,接通后,光纤灯会亮
2,安装软件RDMA的方式安装,编译内核和用户态,重启进入新内核4.7
3,安装驱动:
正常的kernel安装方法(2.6的内核)
# /mnt/mlnx-en-4.4-2.0.7.0-rhel6.8-x86_64/install
这里必须采用这种,因为是新内核4.7
# tar fx mlnx-en-4.4-2.0.7.0-rhel6.8-x86_64.tgz # cd mlnx-en-4.4-2.0.7.0-rhel6.8-x86_64 # ./install --add-kernel-support --skip-repo Logs dir: /tmp/mlnx-en.28728.logs General log file: /tmp/mlnx-en.28728.logs/general.log Verifying KMP rpms compatibility with target kernel... This program will install the mlnx-en package on your machine. Note that all other Mellanox, OEM, OFED, RDMA or Distribution IB packages will be removed. Those packages are removed due to conflicts with mlnx-en, do not reinstall them.Do you want to continue?[y/N]:yrpm --nosignature -e --allmatches --nodeps rdma rdmaStarting mlnx-en-4.4-2.0.7.0 installation ...Installing mlnx-en-utils 4.4 RPM Preparing... ################################################## mlnx-en-utils ################################################## Installing kmod-mlnx-en 4.4 RPM Preparing... ################################################## kmod-mlnx-en ################################################## Installing mlnx-en-sources 4.4 RPM Preparing... ################################################## mlnx-en-sources ################################################## Installing mlnx-en-doc 4.4 RPM Preparing... ################################################## mlnx-en-doc ################################################## Installing user level RPMs: Preparing... ################################################## ofed-scripts ################################################## Preparing... ################################################## mstflint ################################################## Device (83:00.0):83:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]Link Width: x8PCI Link Speed: 8GT/sDevice (83:00.1):83:00.1 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx]Link Width: x8PCI Link Speed: 8GT/sInstallation finished successfully.Preparing... ########################################### [100%]1:mlnx-fw-updater ########################################### [100%] Updated /usr/share/hwdata/pci.ids Attempting to perform Firmware update... Querying Mellanox devices firmware ...Device #1: ----------Device Type: ConnectX4LXPart Number: MCX4121A-XCA_AxDescription: ConnectX-4 Lx EN network interface card; 10GbE dual-port SFP28; PCIe3.0 x8; ROHS R6PSID: MT_2420110004PCI Device Name: 83:00.0Base MAC: ec0d9ad2fd68Versions: Current Available FW 14.20.1010 14.23.1020 PXE 3.5.0210 3.5.0504 UEFI N/A 14.16.0017 Status: Update required--------- Found 1 device(s) requiring firmware update...Device #1: Updating FW ... Done Restart needed for updates to take effect. Log File: /tmp/mlnx-en.28728.logs/fw_update.log Configuring /etc/security/limits.conf. To load the new driver, run: /etc/init.d/mlnx-en.d restart
4,重启服务:
/etc/init.d/mlnx-en.d restart
5,安装MLNX_OFED_LINUX-4.4
这里不用像软件RDMA 那样的启动rxe_cfg了。
yum -y install libmml tcl tk libmnl tar fx MLNX_OFED_LINUX-4.4-2.0.7.0-rhel6.8-x86_64.tgz cd MLNX_OFED_LINUX-4.4-2.0.7.0-rhel6.8-x86_64 ./mlnxofedinstall --add-kernel-support --skip-repo /etc/init.d/openibd restart # 这个命令最好在管理卡上执行,xshell上执行有可能导致网卡掉IP, /etc/init.d/network restart chkconfig openibd on ibv_devices 出现一下结果代表成功: # ibv_devices device node GUID------ ----------------mlx5_1 ec0d9a0300d2fc99mlx5_0 ec0d9a0300d2fc98如果这一步不成功(有时候rxe_cfg不启动也可以): # rxe_cfg start (并绑定eth4网卡) # ibv_devices device node GUID------ ----------------rxe0 ee0d9afffed2fd68
# ibv_devinfo rxe0 hca_id: rxe0transport: InfiniBand (0)fw_ver: 0.0.0node_guid: ee0d:9aff:fed2:fd68sys_image_guid: 0000:0000:0000:0000vendor_id: 0x0000vendor_part_id: 0hw_ver: 0x0phys_port_cnt: 1port: 1state: PORT_ACTIVE (4)max_mtu: 4096 (5)active_mtu: 1024 (3)sm_lid: 0port_lid: 0port_lmc: 0x00link_layer: Ethernet
6,利用rping 命令测试:
生成server端:
[root@bj01-prd-hadoop499.vivo.lan:/root] # rping -s -a 10.20.15.23 -v -C 10
生成client端:
client端的安装和服务端一样,生成命令是:
# rping -c -a 10.20.15.23 -v -C 10
此时就会出现一下界面,证明安装成功:
# rping -s -a 10.20.15.23 -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 -c -a 10.20.15.23 -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 client DISCONNECT EVENT...
------------------------------------------------------
利用udaddy来测试,出现一下结果代表成功:
服务端: [root@bj01-prd-hadoop499.vivo.lan:/mnt/MLNX_OFED_LINUX-4.4-2.0.7.0-rhel6.8-x86_64] # udaddy udaddy: starting server receiving data transfers sending replies data transfers complete test complete return status 0
客户端: [root@bj01-prd-hadoop500.vivo.lan:/root] # udaddy -s 10.20.15.23 udaddy: starting client udaddy: connecting initiating data transfers receiving data transfers data transfers complete test complete return status 0