- 将網卡插在主機闆上。
-
BIOS中開啟CPU虛拟化支援(Intel VT-d或者AMD AMD-Vi)
在我測試的PC中,進入BIOS界面後,依次選擇
->Advanced
進入CPU配置界面,然後将該界面下的CPU Setup
和Intel Virtual Technology
設定為VT-d Feature
。網上有人說BIOS中還需要開啟Enabled
頁籤,但是在我的機器上沒找到。SR-IOV
- 儲存BIOS配置,重新開機PC進入Ubuntu 18.04系統。
- 安裝
,并檢視是否開啟相關服務。libvirt
# 安裝 sudo apt-get install libvirt-dev libvirt-daemon libvirt-clients libvirt-bin # 檢視服務是否開啟 sudo systemctl is-active libvirtd
- 打開
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
重新開機PC,檢視# 執行指令使/etc/default/grub檔案生效 sudo update-grub
是否成功開啟。iommu
# 重新開機系統 sudo reboot # 檢視在/proc/cmdline中是否有intel_iommu=on cat /proc/cmdline # 檢視啟動過程中是否有iommu開啟的資訊 dmesg | grep -e DMAR -e IOMMU
- 執行
指令确認Intel網卡的名字,比如我的網卡是ifconfig
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