天天看點

Ubuntu系統開啟Intel千兆網卡SR-IOV

  1. 将網卡插在主機闆上。
  2. BIOS中開啟CPU虛拟化支援(Intel VT-d或者AMD AMD-Vi)

    在我測試的PC中,進入BIOS界面後,依次選擇

    Advanced

    ->

    CPU Setup

    進入CPU配置界面,然後将該界面下的

    Intel Virtual Technology

    VT-d Feature

    設定為

    Enabled

    。網上有人說BIOS中還需要開啟

    SR-IOV

    頁籤,但是在我的機器上沒找到。
  3. 儲存BIOS配置,重新開機PC進入Ubuntu 18.04系統。
  4. 安裝

    libvirt

    ,并檢視是否開啟相關服務。
    # 安裝
    sudo apt-get install libvirt-dev libvirt-daemon libvirt-clients libvirt-bin
    
    # 檢視服務是否開啟
    sudo systemctl is-active libvirtd
               
  5. 打開

    iommu

    # 檢視在/proc/cmdline中是否有intel_iommu=on
    cat /proc/cmdline
    
    # 如果沒有,則修改/etc/default/grub檔案
    sudo vim /etc/default/grub
               

    /etc/default/grub

    中查找

    GRUB_CMDLINE_LINUX=""

    字樣,在其中添加

    intel_iommmu=on iommu=pt pci=assign-busses

    ,儲存退出。
    # 執行指令使/etc/default/grub檔案生效
    sudo update-grub
               
    重新開機PC,檢視

    iommu

    是否成功開啟。
    # 重新開機系統
    sudo reboot
    
    # 檢視在/proc/cmdline中是否有intel_iommu=on
    cat /proc/cmdline
    
    # 檢視啟動過程中是否有iommu開啟的資訊
    dmesg | grep -e DMAR -e IOMMU
               
  6. 執行

    ifconfig

    指令确認Intel網卡的名字,比如我的網卡是

    enp1s0f0

  7. 切換到網卡配置目錄:
    cd /sys/class/net/enp1s0f0/device/
               
  8. 變更

    sriov_numvfs

    檔案的屬性:
    sudo chmod 666 sriov_numvfs
               
  9. 确定該網卡最大能支援幾個VF:
    cat sriov_totalvfs
               
  10. 開啟SR-IOV(注意,配置的VF數量要小于等于剛才

    sriov_totalvfs

    的值)
    echo '7' > sriov_numvfs
               
  11. 執行

    lspci

    指令,檢視是否開啟。
    lspci
               

繼續閱讀