在Linux KVM中配置vGPU
本文最后更新于 116 天前,其中的信息可能已经有所发展或是发生改变。

以下示例系统为Ubuntu20.04

开启IOMMU
编辑 /etc/default/grub 文件中 GRUB_CMDLINE_LINUX 字段的内容为:

GRUB_CMDLINE_LINUX="intel_iommu=on iommu=pt"

若系统以Legacy模式启动, 输入命令: grub-mkconfig -o /boot/grub/grub.cfg

若系统以UEFI模式启动, 输入命令: grub-mkconfig -o /boot/efi/EFI/ubuntu/grub.cfg

 

安装KVM和相关组件

apt install -y --no-install-recommends qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager mdevctl

将用户添加到对应用户组:

usermod -aG libvirt $USER && usermod -aG kvm $USER

安装vGPU主机驱动
示例:

chmod 777 NVIDIA-Linux-x86_64-510.73.06-vgaming-vgpu-kvm.run && ./NVIDIA-Linux-x86_64-510.73.06-vgaming-vgpu-kvm.run

创建vGPU设备
1.使用 lspci | grep NVIDIA 命令查看可用GPU的总线位置
2.使用 nvidia-smi vgpu -s 命令查看受支持的vGPU类型
3.使用 nvidia-smi vgpu -c 命令查看可创建的vGPU类型
4.查看对应vGPU设备的路径

grep -l "vgpu-type" /sys/class/mdev_bus/domain\:bus\:slot.function/mdev_supported_types/nvidia-*/name

5.查看对应vGPU设备的可创建数量

cat /sys/class/mdev_bus/domain\:bus\:slot.function/mdev_supported_types/nvidia-*/available_instances

6.为vGPU设备生成通用唯一标识符(UUID)并创建对应的实例, 并使mdev设备文件持久化

uuidgen
echo "uuid" > /sys/class/mdev_bus/domain\:bus\:slot.function/mdev_supported_types/nvidia-*/create
mdevctl define --auto --uuid uuid

若是在支持SR-IOV的GPU(Ampere架构及以后)上创建mdev设备, 需使用以下命令为sysfs文件系统中的物理GPU启用虚拟功能:

/usr/lib/nvidia/sriov-manage -e domain:bus:slot.function

额外选项: 输入下方命令以暂时禁用帧速率限制器(FRL)和启用 Unified Memory

echo "frame_rate_limiter=0, enable_uvm=1, enable_debugging=1, enable_profiling=1" > /sys/bus/mdev/devices/uuid/nvidia/vgpu_params

 

向虚拟机添加vGPU设备
创建虚拟机后, 使用 virsh edit vm-name 命令编辑虚拟机的XML文件, 并添加以下字段:

<device>
  ...
  <hostdev mode='subsystem' type='mdev' model='vfio-pci'>
    <source>
      <address uuid='uuid'/>
    </source>
  </hostdev>
</device>

安装vGPU客户端驱动并获取对应许可

Windows系统安装驱动后使用 nvidia-smi -q | findstr “Product License” 命令查询vGPU设备型号和是否已获取许可

删除vGPU设备

echo "1" > /sys/class/mdev_bus/domain\:bus\:slot.function/uuid/remove
mdevctl undefine --uuid uuid
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇