91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

VFIO透傳

發布時間:2020-07-10 09:42:03 來源:網絡 閱讀:1868 作者:Lee_1985 欄目:云計算

在qemu-kvm虛擬化環境中,為提高虛擬機性能,需要將主機(PCI)設備直通給虛擬機(vm),即:設備透傳技術(也叫設備直通技術),該技術需要主機支持Intel(VT-d) 或 AMD (IOMMU) 硬件虛擬化加速技術。

前提要求

linux kernel>3.6
qemu 版本>1.4
虛擬機系統以uefi模式啟動
宿主機服務器開啟IOMMU
宿主機加載vfio和vfio-pci驅動
宿主機CPU支持intel-vt/vd

實驗環境

  Centos7.2-AIO-3.6.0.0.1
  qemu-2.2

準備工作

服務器宿主機

修改系統內核啟動參數,重啟系統,查看是否開啟IOMMU

dmesg | grep -e DMAR -e IOMMU
[ 0.000000] DMAR: IOMMU enabled

查看是否開啟intel-vt-x/vt-d

cat /proc/cpuinfo | grep vmx

執行如下腳本檢查是否支持中斷重定向

#!/bin/sh
if [ $(dmesg | grep ecap | wc -l) -eq 0 ]; then
  echo "No interrupt remapping support found"
  exit 1
fi
for i in $(dmesg | grep ecap | awk '{print $NF}'); do
  if [ $(( (0x$i & 0xf) >> 3 )) -ne 1 ]; then
    echo "Interrupt remapping not supported"
    exit 1
  fi
done

如果硬件不支持interrupt remapping,需要執行

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf

加載vfio驅動

modprobe vfio
modprobe vfio-pci

安裝OVMF引導虛擬機(OVMF支持uefi啟動)

wget http://www.kraxel.org/repos/firmware.repo
yum install edk2.git-ovmf-x64.noarch

透傳

設備在主機中解綁

[root@localhost ~]# lspci -nn|more
00:00.0 Host bridge [0600]: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge [8086:7190] (rev 01)
00:01.0 PCI bridge [0604]: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge [8086:7191] (rev 01)
00:07.0 ISA bridge [0601]: Intel Corporation 82371AB/EB/MB PIIX4 ISA [8086:7110] (rev 08)
00:07.1 IDE interface [0101]: Intel Corporation 82371AB/EB/MB PIIX4 IDE [8086:7111] (rev 01)
00:07.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113] (rev 08)
00:07.7 System peripheral [0880]: VMware Virtual Machine Communication Interface [15ad:0740] (rev 10)
00:0f.0 VGA compatible controller [0300]: VMware SVGA II Adapter [15ad:0405]
00:10.0 SCSI storage controller [0100]: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI [1000:0030] (rev 01)
00:11.0 PCI bridge [0604]: VMware PCI bridge [15ad:0790] (rev 02)
00:15.0 PCI bridge [0604]: VMware PCI Express Root Port [15ad:07a0] (rev 01)
00:15.1 PCI bridge [0604]: VMware PCI Express Root Port [15ad:07a0] (rev 01)
00:15.2 PCI bridge [0604]: VMware PCI Express Root Port [15ad:07a0] (rev 01)

找到設備,解綁

echo 0000:00:07.1 > /sys/bus/pci/devices/0000\:00\:07.1/driver/unbind

生成vfio設備

echo 8086 7111 > /sys/bus/pci/drivers/vfio-pci/new_id

此時:/dev/vfio下面會有個以阿拉伯數字命名的文件,對應vfio設備組

啟動虛擬機

加參數:-device vfio-pci,host=00:05:00.0  #透傳的設備
加參數:-drive if=pflash,format=raw,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd #虛擬機bios
/usr/libexec/qemu-kvm -M pc-i440fx-rhel7.0.0 -enable-kvm -m 2048 -smp 2 -drive if=pflash,format=raw,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd -drive id=disk0,if=none,format=qcow2,file=test.qcow2 -device virtio-blk-pci,drive=disk0,bootindex=0 -drive id=cd0,if=none,format=raw,readonly,file=CentOS-7-x86_64-Minimal-1503-01.iso -device ide-cd,bus=ide.1,drive=cd0,bootindex=1 -global PIIX4_PM.disable_s3=0 -global isa-debugcon.iobase=0x402 -debugcon file:fedora.ovmf.log -monitor stdio -device piix3-usb-uhci -device usb-tablet -netdev id=net0,type=user -device virtio-net-pci,netdev=net0,romfile= -device qxl-vga -spice port=3000,disable-ticketing
/usr/libexec/qemu-kvm -M pc-i440fx-rhel7.0.0 -enable-kvm -m 2048 -smp 2 -drive if=pflash,format=raw,file=/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd -drive id=disk0,if=none,format=qcow2,file=test.qcow2 -device virtio-blk-pci,drive=disk0,bootindex=0 -global PIIX4_PM.disable_s3=0 -global isa-debugcon.iobase=0x402 -debugcon file:fedora.ovmf.log -monitor stdio -device piix3-usb-uhci -device usb-tablet -netdev id=net0,type=user -device virtio-net-pci,netdev=net0,romfile= -device qxl-vga -spice port=3000,disable-ticketing -device vfio-pci,host=00:05:00.0

客戶端訪問

 spicy -h ip -p 3000

在虛擬機內部執行

lspci -nn
lsblk

查看是否透傳成功

參考資料

https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF
https://www.kernel.org/doc/Documentation/vfio.txt
http://pve.proxmox.com/wiki/Pci_passthrough

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城市| 利津县| 林西县| 阜新市| 星子县| 郴州市| 夹江县| 监利县| 灯塔市| 巴塘县| 祁门县| 观塘区| 本溪市| 汉川市| 山阳县| 康平县| 永修县| 丹寨县| 武功县| 德惠市| 舞钢市| 射洪县| 奇台县| 桓仁| 海阳市| 唐河县| 三门峡市| 丹巴县| 义马市| 崇义县| 金山区| 互助| 山丹县| 水富县| 鄯善县| 会泽县| 贺州市| 东乌珠穆沁旗| 福鼎市| 宁武县| 哈密市|