nvidia-smi 在 KVM VM 上未找到任何设备

nvidia-smi 在 KVM VM 上未找到任何设备
OS - Ubuntu 18.04.1 LTS
RAM - 8GB 
GPU - Nvidia GeForce GTX 1050Ti 
Laptop - Acer Predator Helio 300 
Secure Boot - Disabled

我跟着KVM:GPU 直通启动应使用 GPU 的 VM 的指南。

更新 grub 配置

GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off"

添加了 VFIO 模块

veeru@ghost:~$ cat /etc/initram-fs/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

veeru@ghost:~$ lspci -nn | grep -i nvidia 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107M [GeForce GTX 1050 Ti Mobile] [10de:1c8c] (rev a1)

veeru@ghost:~$ cat /etc/modprobe.d/vfio.conf 
options vfio-pci ids=10de:1c8c
options vfio-pci disable_vga=1

重启后我通过运行以下命令验证了 IOMMU 是否已启用

veeru@ghost:~$ dmesg | grep -E "DMAR|IOMMU" 
[    0.000000] ACPI: DMAR 0x0000000089CEB000 0000A8 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
[    0.000000] DMAR: IOMMU enabled
[    0.004000] DMAR: Host address width 39
[    0.004000] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
---- OUTPUT REMOVED -------

veeru@ghost:~$ dmesg | grep -i vfio
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.15.0-42-generic root=UUID=d4aa9af4-beb0-4da2-969c-3e41e01f335b ro intel_iommu=on iommu=pt rd.driver.pre=vfio-pci video=efifb:off quiet splash vt.handoff=1
---- OUTPUT REMOVED -----

改用X英特尔 CPU

在此处输入图片描述

启动虚拟机virt-install并安装操作系统

sudo virt-install \
--name vm1 \
--memory 2028 \
--disk path=/home/veeru/ubuntu14-HD.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant ubuntu16.04 \
--network bridge=virbr0 \
--graphics none \
--console pty,target_type=serial \
--location /home/veeru/Downloads/ubuntu-16.04.5.iso --force \
--extra-args 'console=ttyS0,115200n8 serial' \
--host-device 01:00.0 \
--features kvm_hidden=on \
--machine q35

登录到 VM 后,我安装了 nvidia 驱动程序并ubuntu-drivers autoinstall执行了apt update && apt upgrade

在虚拟机中,我可以运行以下命令并检查输出

veeru@ubuntu:~$ lspci | grep -i nvidia
03:00.0 VGA compatible controller: NVIDIA Corporation Device 1c8c (rev a1)

veeru@ubuntu:~$ lsmod | grep -i nvidia
nvidia_uvm            675840  0
nvidia_drm             49152  0
nvidia_modeset        860160  1 nvidia_drm
nvidia              13164544  2 nvidia_modeset,nvidia_uvm
drm_kms_helper        155648  1 nvidia_drm
drm                   364544  3 drm_kms_helper,nvidia_drm

veeru@ubuntu:~$ ls -l /dev/nvidia* 
crw-rw-rw- 1 root root 195,   0 Dec 13 02:33 /dev/nvidia0
crw-rw-rw- 1 root root 195, 255 Dec 13 02:33 /dev/nvidiactl
crw-rw-rw- 1 root root 246,   0 Dec 13 02:33 /dev/nvidia-uvm

但看起来虚拟机没有使用 GPU

veeru@ubuntu:~$ nvidia-smi
No devices were found

我看到一些类似的问题和邮件列表

https://devtalk.nvidia.com/default/topic/847649/cuda-setup-and-installation/nvidia-smi-quot-no-devices-were-found-quot-error-/

https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-January/005119.html

任何帮助都将不胜感激。谢谢

相关内容