注意,intel gvt-g技术,PVE目前只支持第五代,第六代和第七代英特尔酷睿处理器以及E3 v4,E3 v5和E3 v6 Xeon处理器
8代和8代以上的CPU,博主亲测暂时不支持 -_-!
参考:https://pve.proxmox.com/wiki/PCI(e)_Passthrough
第一步:开启主板的虚拟化,这个自行在主板中开启。
第二步:开启PVE的直通功能
- 开启iommu和GVT-g支持
#开启iommu和gvt内核 #编辑grub vi /etc/default/grub 在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet" 然后修改为: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1" #update grub update-grub
- 加载直通内核模块
echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules echo kvmgt >> /etc/modules
- 屏蔽驱动
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
- 将显卡加入直通
- 通过lspci命令查看核显序号,一般是00:02.0 。这里以00:02.0 为例
#查看直通设备 root@pve2:~# lspci -n -s 00:02.0 00:02.0 0380: 8086:3e90 #将8086:3e90 这个设备加入直通组 echo "options vfio-pci ids=8086:3e90" > /etc/modprobe.d/vfio.conf
第三步:重启主机
第四步:验证是否开启GVT
ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/ #自觉将00:02换成自己的。
#出现下面4个选项或者类似的即成功。
i915-GVTg_V5_1 i915-GVTg_V5_2 i915-GVTg_V5_4 i915-GVTg_V5_8
第五步:创建虚拟机
新建OVMF EFI虚拟机,把cpu类型设置成HOST。将主板设置成q35。安装好系统,开启远程桌面。关机,将虚拟机显卡设置成无。添加PCIE
设备。
总结
开启简单,但是性能稍微有些弱了一点,GVT-G技术, 并不像s7150/nvidia k1那样,将显卡独立成几个模块,反而是共享显卡的性能。
我开了2个虚拟机,其中一个进行3D测试的时候,另外一台显卡占用竟然满载。