<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Mellanox網卡開啟SR-IOV

      Mellanox網卡開啟SR-IOV

      SR-IOV是網卡虛擬化的一個重要功能。本文講介紹如何在Mellanox網卡上開啟SR-IOV,并創建一些VF。

      參考:Mellanox網卡開啟SR-IOV方法簡介-天翼云開發者社區 - 天翼云 (ctyun.cn)

      在BIOS中開啟IOMMU

      • 先查看是否已經開啟了IOMMU。
      $ dmesg | grep -i dmar
      

      什么輸出也沒有,說明沒有開啟IOMMU。我們需要修改grub來開啟IOMMU。

      $ sudo vim /etc/default/grub
      
      • 在GRUB_CMDLINE_LINUX字段中添加:
      intel_iommu=on iommu=pt
      
      • 更新grub,然后重啟。
      $ sudo update-grub
      $ sudo reboot
      
      • 再次查看IOMMU是否開啟
      $ dmesg | grep -i dmar
      [    0.745740] DMAR: IOMMU enabled
      

      開啟網卡的SR-IOV

      • 開啟Mellanox的mst工具。
      $ sudo mst start
      Starting MST (Mellanox Software Tools) driver set
      Loading MST PCI module - Success
      Loading MST PCI configuration module - Success
      Create devices
      Unloading MST PCI module (unused) - Success
      

      如果你顯示sudo: mst: command not found,則移步安裝MFT

      • 查看mst狀態:
      $ sudo mst status
      MST modules:
      ------------
          MST PCI module is not loaded
          MST PCI configuration module loaded
      
      MST devices:
      ------------
      /dev/mst/mt4119_pciconf0         - PCI configuration cycles access.
                                         domain:bus:dev.fn=0000:e3:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1
                                         Chip revision is: 00
      

      可以看到我們的網卡在mst里的名稱是mt4119_pciconf0。

      • 查看SR-IOV是否開啟
      $ sudo mlxconfig -d /dev/mst/mt4119_pciconf0 q
      ...
      NUM_OF_VFS                                  0
      ...
      SRIOV_EN                                    False(0)
      

      可以看到當前SRIOV_EN是False,NUM_OF_VFS是0。說明沒有開啟SR-IOV。

      • 開啟SR-IOV,設置VF數量為4。注意NUM_OF_VFS是VF的數量上限,不是已經分配的VF數量。
      $ sudo mlxconfig -d /dev/mst/mt4119_pciconf0 set SRIOV_EN=1
      $ sudo mlxconfig -d /dev/mst/mt4119_pciconf0 set NUM_OF_VFS=4
      
      • 然后再次重啟機器
      $ sudo reboot
      
      • 再次打開mst,查看設備狀態,發現SR-IOV已經開啟。
      $ sudo mst start
      $ sudo mlxconfig -d /dev/mst/mt4119_pciconf0 q
      NUM_OF_VFS                                  4
      SRIOV_EN                                    True(1)
      

      配置VF

      • 查看現有的pci設備。
      $ lspci -D | grep Mellanox
      0000:e3:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
      0000:e3:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
      
      • 查看現有的ib設備和網絡設備。
      $ sudo ibdev2netdev -v
      0000:e3:00.0 mlx5_0 (MT4119 - MCX556A-ECAT) CX556A - ConnectX-5 QSFP28 fw 16.35.3006 port 1 (ACTIVE) ==> ibs10f0 (Up)
      0000:e3:00.1 mlx5_1 (MT4119 - MCX556A-ECAT) CX556A - ConnectX-5 QSFP28 fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1 (Up)
      

      接下來我們想要為ens10f1這個網絡設備PF添加一些VF。

      • 查看當前設備的VF數量。
      $ cat /sys/class/net/ens10f1/device/sriov_totalvfs
      4
      
      $ cat /sys/class/net/ens10f1/device/sriov_numvfs
      0
      
      • 修改VF數量。
      $ sudo chmod +666 /sys/class/net/ens10f1/device/sriov_numvfs
      $ sudo echo 4 > /sys/class/net/ens10f1/device/sriov_numvfs
      
      • 再次查看PCI設備和網絡設備。
      $ lspci -D | grep Mellanox
      0000:e3:00.0 Infiniband controller: Mellanox Technologies MT27800 Family [ConnectX-5]
      0000:e3:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
      0000:e3:00.6 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]
      0000:e3:00.7 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]
      0000:e3:01.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]
      0000:e3:01.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5 Virtual Function]
      
      $ sudo ibdev2netdev -v
      0000:e3:00.0 mlx5_0 (MT4119 - MCX556A-ECAT) CX556A - ConnectX-5 QSFP28 fw 16.35.3006 port 1 (ACTIVE) ==> ibs10f0 (Up)
      0000:e3:00.1 mlx5_1 (MT4119 - MCX556A-ECAT) CX556A - ConnectX-5 QSFP28 fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1 (Up)
      0000:e3:00.6 mlx5_2 (MT4120 - NA)  fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1v0 (Up)
      0000:e3:00.7 mlx5_3 (MT4120 - NA)  fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1v1 (Up)
      0000:e3:01.0 mlx5_4 (MT4120 - NA)  fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1v2 (Up)
      0000:e3:01.1 mlx5_5 (MT4120 - NA)  fw 16.35.3006 port 1 (ACTIVE) ==> ens10f1v3 (Up)
      

      此時,可以看到我們新創建的4個VF了。注意:重啟后vf數量會失效。

      為VF配置IP

      我們在兩臺機器上都開啟了SR-IOV。我想配置它們的ip分別是192.168.2.2192.168.2.4

      • 查看所有ip信息(以192.168.2.4為例)。
      $ ip a
      5: ens10f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 10:70:fd:2f:d4:21 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::8f36:7219:df0c:edf8/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      8: ens10f1v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 2a:17:20:98:c7:81 brd ff:ff:ff:ff:ff:ff
      9: ens10f1v1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether fa:b8:4a:ac:64:33 brd ff:ff:ff:ff:ff:ff
      10: ens10f1v2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 8a:de:57:f1:46:6e brd ff:ff:ff:ff:ff:ff
      11: ens10f1v3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether ba:6f:52:30:3e:ea brd ff:ff:ff:ff:ff:ff
      

      可以看到目前的VF只有mac沒有ip。

      于是可以寫如下的腳本:

      • 192.168.2.4的機器上:
      sudo ip addr flush dev ens10f1v0
      sudo ip addr add 192.168.2.4/24 dev ens10f1v0
      sudo ip link set ens10f1v0 up
      
      sudo arp -s 192.168.2.2 fe:0d:d9:e0:00:25 -i ens10f1v0
      sudo arp -s 192.168.2.4 2a:17:20:98:c7:81 -i ens10f1v0
      

      192.168.2.2上只需把第二行的192.168.2.4/24換成192.168.2.2/24

      • 再次查看ip(以192.168.2.4為例)。
      $ ip a
      5: ens10f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 10:70:fd:2f:d4:21 brd ff:ff:ff:ff:ff:ff
          inet6 fe80::8f36:7219:df0c:edf8/64 scope link noprefixroute 
             valid_lft forever preferred_lft forever
      8: ens10f1v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 2a:17:20:98:c7:81 brd ff:ff:ff:ff:ff:ff
          inet 192.168.2.4/24 scope global ens10f1v0
             valid_lft forever preferred_lft forever
      9: ens10f1v1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether fa:b8:4a:ac:64:33 brd ff:ff:ff:ff:ff:ff
      10: ens10f1v2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether 8a:de:57:f1:46:6e brd ff:ff:ff:ff:ff:ff
      11: ens10f1v3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
          link/ether ba:6f:52:30:3e:ea brd ff:ff:ff:ff:ff:ff
      

      發現有ip地址了。

      • 查看arp(以192.168.2.4為例)。
      $ arp
      Address                  HWtype  HWaddress           Flags Mask            Iface
      worker4                  ether   2a:17:20:98:c7:81   CM                    ens10f1v0
      192.168.2.2              ether   fe:0d:d9:e0:00:25   CM                    ens10f1v0
      

      路由表也配置好了。

      另外,如果你在兩臺機器之間用交換機來負責路由,你還要對你的交換機進行相應的配置!

      測試

      ping

      • 我們ping一下試試。在192.168.2.2上:
      $ ping 192.168.2.4
      PING 192.168.2.4 (192.168.2.4) 56(84) bytes of data.
      64 bytes from 192.168.2.4: icmp_seq=1 ttl=64 time=0.142 ms
      64 bytes from 192.168.2.4: icmp_seq=2 ttl=64 time=0.075 ms
      

      發現可以ping通了!

      RoCE

      • 查看gid(以192.168.2.4為例)。
      $ show_gids
      DEV     PORT    INDEX   GID                                     IPv4            VER     DEV
      ---     ----    -----   ---                                     ------------    ---     ---
      ...
      mlx5_2  1       0       fe80:0000:0000:0000:2817:20ff:fe98:c781                 v1      ens10f1v0
      mlx5_2  1       1       fe80:0000:0000:0000:2817:20ff:fe98:c781                 v2      ens10f1v0
      mlx5_2  1       2       0000:0000:0000:0000:0000:ffff:c0a8:0204 192.168.2.4     v1      ens10f1v0
      mlx5_2  1       3       0000:0000:0000:0000:0000:ffff:c0a8:0204 192.168.2.4     v2      ens10f1v0
      ...
      

      我們想要使用RoCEv2,因此應當選取gid編號為3。

      • 192.168.2.2上:
      $ ib_send_bw -d mlx5_2 -x 3
      
      • 192.168.2.4上:
      $ ib_send_bw 192.168.2.2 -d mlx5_2 --report_gbits -F -x 3
      
      • 結果:
      ---------------------------------------------------------------------------------------
                          Send BW Test
       Dual-port       : OFF          Device         : mlx5_2
       Number of qps   : 1            Transport type : IB
       Connection type : RC           Using SRQ      : OFF
       PCIe relax order: ON
       ibv_wr* API     : ON
       TX depth        : 128
       CQ Moderation   : 1
       Mtu             : 1024[B]
       Link type       : Ethernet
       GID index       : 3
       Max inline data : 0[B]
       rdma_cm QPs     : OFF
       Data ex. method : Ethernet
      ---------------------------------------------------------------------------------------
       local address: LID 0000 QPN 0x0107 PSN 0x7b2724
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:02:04
       remote address: LID 0000 QPN 0x0107 PSN 0x3e7431
       GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:02:02
      ---------------------------------------------------------------------------------------
       #bytes     #iterations    BW peak[Gb/sec]    BW average[Gb/sec]   MsgRate[Mpps]
       65536      1000             92.33              92.32              0.176085
      ---------------------------------------------------------------------------------------
      

      RoCE也跑通了。

      posted @ 2024-05-13 15:19  CQzhangyu  閱讀(3765)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 92精品国产自产在线观看481页| 亚洲 另类 小说 国产精品无码| 天天综合色一区二区三区| 午夜福利92国语| 苍井空毛片精品久久久| 欧美激情一区二区久久久 | 国产乱xxxxx97国语对白| 91老肥熟女九色老女人| 99久久国产成人免费网站| 欧美乱大交xxxxx疯狂俱乐部| 国产又色又爽又黄的视频在线| 国产日产精品系列| 99riav国产精品视频| 视频一区二区三区刚刚碰| 国产97人人超碰caoprom| 国产专区一va亚洲v天堂| 成人区人妻精品一区二蜜臀| 房东老头揉捏吃我奶头影片| 国产91午夜福利精品| 南漳县| 任我爽精品视频在线播放| 日韩高清在线亚洲专区不卡| 天美传媒一区二区| 国产精品一二三区蜜臀av| 无码精品国产VA在线观看DVD| 国产综合色在线精品| 亚洲精品动漫一区二区三| 国产日韩一区二区四季| 在线亚洲人成电影网站色www| 国产精品国产三级在线专区| 男女动态无遮挡动态图| 国产中年熟女高潮大集合| 久久理论片午夜琪琪电影网| 久久这里有精品国产电影网| 斗六市| 亚洲熟女乱一区二区三区| 成年在线观看免费人视频 | 国产精品ⅴ无码大片在线看| 亚洲熟女精品一区二区| 国产精品成人网址在线观看| 久久热这里这里只有精品|