Mellanox 網卡使用SR-IOV


Mellanox 網卡使用SR-IOV

一、硬件環境准備

物理服務器為:浪潮

網卡型號:Mellanox Technologies MT27800

1、進入BIOS

浪潮服務器為例,開機畫面中按“DEL”鍵;

 

等待系統進入BIOS 后再進行下一步;

成功進入BIOS的畫面

 

 

 

 

2、主板開啟SR-IOV

移動光標到“Advanced”標簽頁面,再選擇“PCI Subsystem Settings”,選中按回車;

    再將SR-IOV支持開關設置為“Enabled”;

 

 

 

 

 

 

 

 

處理器開啟虛擬化支持;

將光標移動到“Processor”標簽頁,再選中“Processor Configration”;

將“VMX”與“SMX”的值設置為“Enabled”;

 

 

 

 

 

 

再從”Processor ”下找到“IIO Configuration”,進入后將“VT-d”功能打開;

 

 

 

 

 

 

操作系統開啟iommu

(Centos8.1 為例)

[root@localhost ~]# vim /etc/default/grub

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet intel_iommu=on iommu=pt"

GRUB_DISABLE_RECOVERY="true"

GRUB_ENABLE_BLSCFG=true

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

開啟完成后需要重啟機器;

驅動環境准備

1、取得下載合適的安裝包進行驅動的安裝

這里以MLNX_OFED_LINUX-5.0-2.1.8.0-rhel8.1-x86_64.tgz 為例:

2、解壓

[root@localhost ~]# tar xzvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel8.1-x86_64.tgz

1、查看readme 安裝相應的依賴包:

[root@localhost ~]#yum install perl pciutils python gcc-gfortran libxml2-python tcsh libnl.i686 libnl expat glib2 tcl libstdc++ bc tk gtk2 atk cairo numactl pkgconfig ethtool

2、驅動安裝

[root@localhost ~]#./mlnxofedinstall

    3、安裝完成后重啟機器;

3、配置opensm開啟虛擬化

[root@localhost docs]# vim /etc/opensm/opensm.conf

添加內容后保存退出:

virt_enabled 2

參數的解釋:

parameter has the following configuration options:

 

        0: Ignore Virtualizations - No virtualization support

        1: Disable Virtualization - Disable virtualization on all Virtualization supporting ports

        2: Enable Virtualization - Enable (virtualization on all Virtualization supporting ports)

4、系統上開啟SRIOV

[root@localhost docs] # mst start

Starting MST (Mellanox Software Tools) driver set

Loading MST PCI module - Success

Loading MST PCI configuration module - Success

Create devices

 

[root@localhost docs]# 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:af:00.0 addr.reg=88 data.reg=92 cr_bar.gw_offset=-1

                                   Chip revision is: 00

5、查詢設備狀態信息:

[root@localhost docs]# mlxconfig -d /dev/mst/mt4119_pciconf0 q

 

Device #1:

----------

 

Device type:    ConnectX5

Name:           MCX516A-CCA_Ax

Description:    ConnectX-5 EN network interface card; 100GbE dual-port QSFP28; PCIe3.0 x16; tall bracket; ROHS R6

Device:         /dev/mst/mt4119_pciconf0

Configurations:                              Next Boot

         MEMIC_BAR_SIZE                      0

         MEMIC_SIZE_LIMIT                    _256KB(1)

         HOST_CHAINING_MODE                  DISABLED(0)

         HOST_CHAINING_DESCRIPTORS           Array[0..7]

         HOST_CHAINING_TOTAL_BUFFER_SIZE     Array[0..7]

         FLEX_PARSER_PROFILE_ENABLE          0

         FLEX_IPV4_OVER_VXLAN_PORT           0

         ROCE_NEXT_PROTOCOL                  254

         ESWITCH_HAIRPIN_DESCRIPTORS         Array[0..7]

         ESWITCH_HAIRPIN_TOT_BUFFER_SIZE     Array[0..7]

         PF_BAR2_SIZE                        0

         NON_PREFETCHABLE_PF_BAR             False(0)

         VF_VPD_ENABLE                       False(0)

         STRICT_VF_MSIX_NUM                  False(0)

         VF_NODNIC_ENABLE                    False(0)

         NUM_OF_VFS                          4

         PF_BAR2_ENABLE                      False(0)

         SRIOV_EN                            True(1)

         PF_LOG_BAR_SIZE                     5

         VF_LOG_BAR_SIZE                     1

         NUM_PF_MSIX                         63

         NUM_VF_MSIX                         11

         INT_LOG_MAX_PAYLOAD_SIZE            AUTOMATIC(0)

上面的兩個參數值需要注意,一個是虛擬機出來的VF數量,一個是開啟sriov 功能的開關;

如果需要調整請使用:

mlxconfig -d /dev/mst/mt41139pciconf0 set SRIOV_EN=1 NUM_OF_VFS=4

Device #1:

----------

Device type: ConnectI

PCI device: /dev/mst/mt4119_pciconf0

Configurations: Current New

SRIOV_EN 0 1

NUM_OF_VFS 0 4

FPP_EN 0 1

INT_LOG_MAX_PAYLOAD_SIZE 0 0

Apply new Configuration? ? (y/n) [n] : y

Applying... Done!

-I- Please reboot machine to load new configurations.

設置完成后需要重啟機器;

6、適配設備

[root@localhost docs]# mlxfwreset --device /dev/mst/mt4119_pciconf0 reset

 

Minimal reset level for device, /dev/mst/mt4119_pciconf0:

 

3: Driver restart and PCI reset

Continue with reset?[y/N] y

-I- Sending Reset Command To Fw             -Done

-I- Stopping Driver                         -Done

-I- Resetting PCI                           -Done

-I- Starting Driver                         -Done

-I- Restarting MST                          -Done

-I- FW was loaded successfully

7、設置網卡的vf參數值.

[root@localhost docs]# echo 4 >/sys/class/net/ens47f1/device/sriov_numvfs

8、檢查是否成功;

常用命令檢查即可,如ifconfig .ip a ,lspci等;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM