Ubuntu系統開啟Intel千兆網絡卡SR-IOV
阿新 • • 發佈:2021-01-30
-
將網絡卡插在主機板上。
-
BIOS中開啟CPU虛擬化支援(Intel VT-d或者AMD AMD-Vi)
在我測試的PC中,進入BIOS介面後,依次選擇
Advanced
->CPU Setup
進入CPU配置介面,然後將該介面下的Intel Virtual Technology
和VT-d Feature
設定為Enabled
。網上有人說BIOS中還需要開啟SR-IOV
選項卡,但是在我的機器上沒找到。 -
儲存BIOS配置,重啟PC進入Ubuntu 18.04系統。
-
安裝
libvirt
,並檢視是否開啟相關服務。# 安裝 sudo apt-get
-
開啟
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
-
執行
ifconfig
指令確認Intel網絡卡的名字,比如我的網絡卡是enp1s0f0
-
切換到網絡卡配置目錄:
cd /sys/class/net/enp1s0f0/device/
-
變更
sriov_numvfs
檔案的屬性:sudo chmod 666 sriov_numvfs
-
確定該網絡卡最大能支援幾個VF:
cat sriov_totalvfs
-
開啟SR-IOV(注意,配置的VF數量要小於等於剛才
sriov_totalvfs
的值)echo '7' > sriov_numvfs
-
執行
lspci
命令,檢視是否開啟。lspci