英伟达独立显卡直通虚拟机

2023-05-16

显卡直通KVM虚拟机

1、确认CPU是否支持硬件虚拟化

#egrep -o '(vmx|svm)' /proc/cpuinfo
vmx
vmx
vmx

2、确认内核开启iommu分组支持

先进入bios打开VT-d虚拟化选项为enabled
#vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet rd.driver.pre=vfio-pci intel_iommu=on video=efifb:off,vesafb:off"

更新
#sudo grub2-mkconfig -o /boot/grub2/grub.cfg
参数说明:
vfio-pci 显卡直通虚拟话需要的驱动
iommu开启直通分组
efifb:off 禁用efi启动的显示设备
vesafb:off 禁用legacy启动的显示设备

3、加载显卡直通所需的驱动模块

#vi /etc/modules-load.d/vfio.conf
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

4、禁用原本的英伟达显卡驱动,避免直通出错

#vi /etc/modprobe.d/blacklist.conf:
blacklist nouveau
blacklist nvidia

5、指定显卡设备加载对应驱动

首先找出要直通显卡的pci设备号
#lspci | grep NVIDIA
[root@node1 ~]# lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K2200] (rev a2)
01:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)

[root@node1 ~]# lspci -ns 01:00.0
01:00.0 0300: 10de:13ba (rev a2)
[root@node1 ~]# lspci -ns 01:00.1
01:00.1 0403: 10de:0fbc (rev a1)


#vi /etc/modprobe.d/vfio.conf:
options vfio-pci ids=10de:13ba,10de:0fbc

6、重新编译生成initramfs,然后重启机器

# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
#reboot

6、验证是否有iommu分组和查看驱动是否被加载输出

[root@node1 ~]# sudo dmesg | grep -e DMAR -e IOMMU
[    0.000000] ACPI: DMAR 00000000675e6520 000A8 (v01 INTEL  EDK2     00000001 INTL 00000001)
[    0.000000] DMAR: IOMMU enabled
...

[root@node1 ~]# lsmod | grep vfio
vfio_pci               41993  0 
irqbypass              13503  2 kvm,vfio_pci
vfio_iommu_type1       22440  0 
vfio                   32657  2 vfio_iommu_type1,vfio_pci

#lspci -v 
01:00.0 VGA compatible controller: NVIDIA Corporation GM107GL [Quadro K2200] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: NVIDIA Corporation Device 1097
	.......
	Kernel driver in use: vfio-pci
	Kernel modules: nouveau

01:00.1 Audio device: NVIDIA Corporation GM107 High Definition Audio Controller [GeForce 940MX] (rev a1)
	Subsystem: NVIDIA Corporation Device 1097
	........
	Kernel driver in use: vfio-pci
	Kernel modules: snd_hda_intel
#Kernel driver in use 一定要是vfio-pci才说明配置成功,才应该继续下一步

6、接下来安装配置好一台虚拟机,这里使用virt-manager创建
在这里插入图片描述
选择Add Hardware:
在这里插入图片描述

最终结果如下图,然后开启虚拟机:
在这里插入图片描述
注意:直通设备的时候要直通完分组里的所有设备,比如上面01:00.0和01:00.1是同一个分组

7、进入虚拟机,安装对应的驱动,安装成功之后驱动软件要求重启生效,连接好显卡和显示器,重启以后虚拟机就会有画面输出了

进入官网下载对应驱动:
https://www.nvidia.cn/Download/index.aspx?lang=cn
在这里插入图片描述
安装中:
在这里插入图片描述
重启生效,对应连接的显示器上就可以输出画面且成功识别:
在这里插入图片描述

注:2021年4月份英伟达公司支持GPU虚拟化,因此可以省去以前大部分欺骗驱动检测配置,直通显卡后的虚拟机体验极佳

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

英伟达独立显卡直通虚拟机 的相关文章

随机推荐