安装IB驱动

环境

ubuntu 16.04
Mellanox Technologies MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE] (rev b0)

omnisky@omnisky:~$ lspci | grep Mell    
01:00.0 InfiniBand: Mellanox Technologies MT26428 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE] (rev b0)

下载驱动

http://cn.mellanox.com/page/products_dyn?product_family=26&mtag=linux_sw_drivers

安装驱动

官方文档:http://120.52.51.16/www.mellanox.com/related-docs/prod_software/Mellanox_OFED_Linux_User_Manual_v4_5.pdf

ISO格式

挂载镜像
mount -o ro,loop MLNX_OFED_LINUX-2.1-1.0.0-rhel6.4-x86_64.iso /mnt
在/mnt目录下执行如下命令:
./mlnxofedinstall

tgz格式

tar -zxvf MLNX_OFED_LINUX-4.5-1.0.1.0-ubuntu16.04-x86_64.tgz
# 进入
./mlnxofedinstall --force
#安装完毕,加载驱动
/etc/init.d/openibd restart

配置IB

成功安装IB驱动之后,使用命令ifocnfig,可以看见ib0
vi /etc/network/interfaces,配置IB的IP


重启网络

ifconfig 
# 显示
ib0       Link encap:UNSPEC  HWaddr A0-00-02-20-FE-80-00-00-00-00-00-00-00-00-00-00  
          inet addr:11.11.11.11  Bcast:11.11.11.255  Mask:255.255.255.0
          inet6 addr: fe80::202:c903:52:bdd9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:2044  Metric:1
          RX packets:31 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:256 
          RX bytes:3783 (3.7 KB)  TX bytes:5153 (5.1 KB)

启动相关服务

# 主节点启动
/etc/init.d/openibd restart
/etc/init.d/opensmd restart
# 其他节点
/etc/init.d/openibd restart

如果配置成功,则如下所示

root@master:/home/omnisky# ibstat
CA 'mlx4_0'
    CA type: MT26428
    Number of ports: 1
    Firmware version: 2.9.1200
    Hardware version: b0
    Node GUID: 0x0002c9030052bdd8
    System image GUID: 0x0002c9030052bddb
    Port 1:
        State: Active
        Physical state: LinkUp
        Rate: 40
        Base lid: 1
        LMC: 0
        SM lid: 1
        Capability mask: 0x0251086a
        Port GUID: 0x0002c9030052bdd9
        Link layer: InfiniBand

测试IB

参考:https://community.mellanox.com/s/article/how-to-create-a-docker-container-with-rdma-accelerated-applications-over-100gb-infiniband-network#jive_content_id_Equipment

# server 
ib_write_bw -a -d mlx4_0
# client
ib_write_bw -a -F $server_IP -d mlx4_0 --report_gbits
# mlx4_0 通过ibstat查询

如果正常

[root@mofed-test-pod1 /]# ib_write_bw -a -F 10.244.1.171 -d mlx4_0 --report_gbits
---------------------------------------------------------------------------------------
                    RDMA_Write BW Test
 Dual-port       : OFF      Device         : mlx4_0
 Number of qps   : 1        Transport type : IB
 Connection type : RC       Using SRQ      : OFF
 TX depth        : 128
 CQ Moderation   : 100
 Mtu             : 4096[B]
 Link type       : IB
 Max inline data : 0[B]
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0x01 QPN 0x0218 PSN 0xa65d9c RKey 0x001100 VAddr 0x007f392cbec000
 remote address: LID 0x03 QPN 0x0218 PSN 0xdad5f RKey 0x001100 VAddr 0x007ff453bc3000
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
 2          5000           0.054750            0.052885            3.305343
 4          5000             0.15               0.13           4.134340
 8          5000             0.30               0.30           4.673526
 16         5000             0.60               0.60           4.654721
 32         5000             1.20               1.18           4.594563
 64         5000             2.39               2.32           4.526180
 128        5000             4.79               4.78           4.669972
 256        5000             9.56               9.54           4.658179
 512        5000             19.00              18.76          4.580314
 1024       5000             23.97              23.93          2.921618
 2048       5000             25.29              25.23          1.539684
 4096       5000             26.32              26.31          0.803058
 8192       5000             26.85              26.84          0.409597
 16384      5000             27.09              27.09          0.206665
 32768      5000             27.21              27.21          0.103811
 65536      5000             27.28              27.28          0.052026
 131072     5000             27.37              27.28          0.026016
 262144     5000             27.28              27.28          0.013009
 524288     5000             27.38              27.30          0.006509
 1048576    5000             27.34              27.33          0.003258
 2097152    5000             27.34              27.33          0.001629
 4194304    5000             27.33              27.32          0.000814
 8388608    5000             27.32              27.32          0.000407
---------------------------------------------------------------------------------------

k8s rdma插件安装以及测试

环境

root@master:/home/omnisky# kubectl get nodes -o wide
NAME      STATUS   ROLES    AGE   VERSION   INTERNAL-IP       EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master    Ready    master   48m   v1.13.3   192.168.207.122   <none>        Ubuntu 16.04.5 LTS   4.15.0-45-generic   docker://18.6.1
omnisky   Ready    <none>   46m   v1.13.3   192.168.207.124   <none>        Ubuntu 16.04.5 LTS   4.15.0-45-generic   docker://18.6.1

安装插件

git clone https://github.com/Mellanox/k8s-rdma-sriov-dev-plugin.git
# 进入该文件夹
# Create config map to describe mode as "hca" mode. This is per node configuration.
kubectl create -f example/hca/rdma-hca-node-config.yaml
# Deploy device plugin
kubectl create -f example/device-plugin.yaml

启动容器测试

# Create test pod which requests 1 vhca resource.
kubectl create -f example/hca/test-hca-pod.yaml

复制文件test-hca-pod.yaml
修改文件name,同时指定nodeName,确保pod运行在不同节点

apiVersion: v1
kind: Pod
metadata:
  name: mofed-test-pod1
spec:
  restartPolicy: OnFailure
  nodeName: master
  containers:
  - image: mellanox/centos_7_4_mofed_4_2_1_2_0_0_60
    name: mofed-test-ctr
    securityContext:
      capabilities:
        add: [ "IPC_LOCK" ]
    resources:
      limits:
        rdma/hca: 1
    command:
    - sh
    - -c
    - |
      ls -l /dev/infiniband /sys/class/net
      sleep 1000000
kubectl create -f example/hca/test_custom.yaml
# 两个不同节点的pods
root@master:/home/omnisky/ty/k8s-rdma-sriov-dev-plugin/example/hca# kubectl get pods -o wide
NAME              READY   STATUS    RESTARTS   AGE   IP             NODE      NOMINATED NODE   READINESS GATES
mofed-test-pod    1/1     Running   0          49m   10.244.1.171   omnisky   <none>           <none>
mofed-test-pod1   1/1     Running   0          49m   10.244.0.4     master    <none>           <none>

分别进入两个容器
kubectl exec -it pod_name bash
ibstat的结果正常
一个做服务端,一个做客户端,测试

# server 
ib_write_bw -a -d mlx4_0
# client
ib_write_bw -a -F $server_IP -d mlx4_0 --report_gbits
# mlx4_0 通过ibstat查询
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,813评论 0 5
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,019评论 4 62
  • 和朋友一起看了《无问西东》这部电影,看完以后觉得是冥冥之中把我吸引过去的呐 我是个90后中专生但也知道清华是所名校...
    淼淼故事屋阅读 172评论 0 0
  • 暖暖的阳光,快乐的课堂,把数学课搬到室外来上也很精彩!看,这是林肯国际学校的老师在操场给一年级的孩子上数学课,孩子...
    有风吹过的夏天阅读 397评论 0 1
  • 在各位看客的强烈要(wēi)求(xíe)下,就像所有精彩、刺激、深刻的耽美文一样,我们过早的迎来传说中的肉了! 这...
    夏先森有诗和远方阅读 2,644评论 0 1