KVM下显卡穿透(失败)

发布于 2020-03-17  12.5k 次阅读


失败,失败的彻彻底底的

前前后后搞了两个星期,真的搞不定,哎。

随随便便记录一下,然后甩锅放弃,嘿嘿

首先,服务器是戴尔塔机,母鸡是Centos7.6系统,小鸡有台Win10,虽然这个配置下没有显卡剪个4kpr不成什么大问题,但是缺少个显卡总觉得有点短板效应(三长两短)

检查支持选项

确认内核是否支持iommu

cat /proc/cmdline | grep iommu //有输出则正常

如果没有输出,将intel_iommu=on添加到grub启动文件当中

编辑grub文件 :vim /etc/default/grub

grub2-mkconfig -o /boot/grub2/grub.cfg //更新grub文件

确认VT-D是否正常

dmesg | grep -e DMAR -e IOMMU //有箭头标的输出则正常

测试是否支持虚拟化(VT)

egrep -o '(vmx|svm)' /proc/cpuinfo //查看是否有输出,有输出则正常

禁用虚拟机使用的显卡驱动

lspci命令查看显卡有两组设备,每组两个,一个显卡一个声卡。

lspci -vv -s 07:00.0 | grep driver   //可以看到GT705显卡驱动为nouveau,禁用此显卡。查看显卡所带声卡使用的驱动

lspci -vv -s 07:00.1 | grep driver    //可以看到声卡驱动为snd_hda_intel,禁用此声卡驱动。编辑blacklist.conf文件,将上面两个驱动放入此文件。

 
vim /etc/modprobe.d/blacklist.conf

vim /usr/lib/modprobe.d/dist-blacklist.conf

去掉禁用blacklist radeonfb

加上一行options nouveau modeset=0

备份原来的 initramfs nouveau image镜像

mv /boot/initramfs-(uname -r).img /boot/initramfs-(uname -r)-nouveau.img  

创建新的 initramfs image镜像

dracut /boot/initramfs-(uname -r).img(uname -r)  

显卡加载vfio驱动

加载vfio模块

modprobe vfio

modprobe vfio-pci

从主机卸载两个N卡

irsh nodedev-detach pci_0000_06_00_0

virsh nodedev-detach pci_0000_06_00_1

lspci -vv -s 06:00.0 | grep driver  查看是否加载vfio

lspci -vv -s 06:00.1 | grep driver  查看是否加载vfio

画板子的美术学院落榜生