王锐
王锐
发布于 2025-05-05 / 33 阅读
0
0

Ubuntu Server配置虚拟机能够使用独立显卡(vGPU)

参考:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/8/html-single/configuring_and_managing_virtualization/index#proc_setting-up-nvidia-vgpu-devices_assembly_managing-nvidia-vgpu-devices

一、修改GRUB配置文件以支持iommu模式

  1. 配置/etc/default/grub以支持immou模式,在GRUB_CMDLINE_LINUX_DEFAULT选项中添加intel_iommu=on iommu_pt

vim /etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
[------] GRUB_CMDLINE_LINUX_DEFAULT=""
[++++++] GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu_pt"
GRUB_CMDLINE_LINUX=""
  1. 执行sudo update-grub并重启以生效

sudo update-grub
sudo reboot
sudo dmesg | grep -i iommu     # 检查iommu配置是否生效
[sudo] password for ubuntu:
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-57-generic root=UUID=8bde42b7-9e4a-430c-97fc-94f5d4ce84bb ro intel_iommu=on iommu_pt
[    0.039382] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.8.0-57-generic root=UUID=8bde42b7-9e4a-430c-97fc-94f5d4ce84bb ro intel_iommu=on iommu_pt
[    0.039445] DMAR: IOMMU enabled
[    0.039466] Unknown kernel command line parameters "iommu_pt BOOT_IMAGE=/boot/vmlinuz-6.8.0-57-generic", will be passed to user space.
[    0.328544] iommu: Default domain type: Translated
[    0.328544] iommu: DMA domain TLB invalidation policy: lazy mode
[    1.294032]     iommu_pt

二、阻止宿主机读取GPU

  1. 执行以下命令查询有哪些显卡,可以看到GeForce GT 755M的bus为:10de:0fcd

ubuntu@y410p:~$ lspci -Dnn | grep VGA
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06)
0000:01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK107M [GeForce GT 755M] [10de:0fcd] (rev a1)
  1. 阻止宿主机读取GeForce GT 755M显卡

sudo vim /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu_pt pci-stub.ids=10de:0fcd"
GRUB_CMDLINE_LINUX=""
  1. 执行配置生效命令并重启

sudo update-grub
sudo reboot

三、配置GPU的xml文件

  1. 创建以下文件并配置

<hostdev mode='subsystem' type='pci' managed='yes'>
  <source>
    <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
  </source>
</hostdev>
  1. 为ubuntu server安装最新版本的cockpit

. /etc/os-release
sudo apt install -t ${VERSION_CODENAME}-backports cockpit

sudo apt install cockpit-machines

四、Y410P不支持,待更新


评论