英伟达显卡虚拟化vGPU实践指南

在前面的一篇文章中介绍了Intel、AMD、NIVIDA三个厂家的GPU虚拟化技术,有兴趣的可以看看本号之前的文章,今天就具体的实践一下英伟达的vGPU。

如何选择GPU

NVIDIA 虚拟 GPU 软件产品包括  GRID 虚拟 PC (GRID vPC)、GRID 虚拟应用程序 (GRID vApp),以及 Quadro 虚拟数据中心工作站 (Quadro vDWS)。

GUP推荐对比看这里:

https://www.nvidia.cn/data-center/graphics-cards-for-virtualization/

具体的GPU列表看这里:

https://docs.nvidia.com/grid/gpus-supported-by-vgpu.html

图片

物理机如何安装驱动:

直接运行run文件就可以了:NVIDIA-Linux-x86_64-430.46-vgpu-kvm.run

vGPU驱动说明:

A physical GPU that is passed through to a VM is bound to the vfio-pci kernel module. A physical GPU that is bound to the vfio-pci kernel module can be used only for pass-through. To enable the GPU to be used for vGPU, the GPU must be unbound from vfio-pci kernel module and bound to the nvidia kernel module.

#  lspci -d 10de: -k

b1:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)

Subsystem: NVIDIA Corporation Device 1306

Kernel driver in use: nvidia

Kernel modules: nvidiafb, nouveau, nvidia_vgpu_vfio, nvidia

查询GPU的BDF

root@example:~# lspci | grep NVID

b1:00.0 3D controller: NVIDIA Corporation Device 1db4 (rev a1)

查找vGPU类型

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# grep -l “V100-1Q” nvidia-*/name

nvidia-105/name

注意:至于要创建哪种类型的vGPU,就看具体的物理GPU型号和vGPU要求了,看这个xxxx-grid-vgpu-user-guide.pdf文档能找到类似如下,各个物理GPU都有详细配置,根据自己情况来:

图片

图片

查看该类型能支持的vGPU个数

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# cat nvidia-105/available_instances

16

创建vGPU

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# uuidgen

b0ff7f66-c989-4841-ba57-6d5adcd55a2d

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# echo “b0ff7f66-c989-4841-ba57-6d5adcd55a2d” > nvidia-105/create

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# uuidgen

b94a0c97-946d-4e57-b317-8bdaa38e455a

root@example:/sys/class/mdev_bus/0000:b1:00.0/mdev_supported_types# echo “b94a0c97-946d-4e57-b317-8bdaa38e455a” > nvidia-105/create

检查创建是否成功

root@example:~# ls -l /sys/bus/mdev/devices/

total 0

lrwxrwxrwx 1 root root 0 Aug 21 12:41 b0ff7f66-c989-4841-ba57-6d5adcd55a2d -> …/…/…/devices/pci0000:ae/0000:ae:02.0/0000:b1:00.0/b0ff7f66-c989-4841-ba57-6d5adcd55a2d

lrwxrwxrwx 1 root root 0 Aug 21 13:44 b94a0c97-946d-4e57-b317-8bdaa38e455a -> …/…/…/devices/pci0000:ae/0000:ae:02.0/0000:b1:00.0/b94a0c97-946d-4e57-b317-8bdaa38e455a

qemu虚拟机使用

-device vfio-pci,sysfsdev=/sys/bus/mdev/devices/b94a0c97-946d-4e57-b317-8bdaa38e455a -uuid xxxxxxxxxxxxxxxxxxxxx

后面就是虚拟机内部安装对应的驱动程序了,一般名称为:xxxx_grid_win10_server2016_server2019_64bit_international.exe

删除:

root@example:/sys/devices/pci0000:ae/0000:ae:02.0/0000:b1:00.0/mdev_supported_types/nvidia-105/devices# echo 1 > b0ff7f66-c989-4841-ba57-6d5adcd55a2d/remove

关于授权:

Nvidia的vGPU在虚拟机内部使用是需要购买license的,具体的部署方式是需要搭建一台授权服务器,虚拟机内部安装显卡驱动后需要配置授权服务器的地址和端口,前提是虚拟机和授权服务器网络是通的,虚拟机每次开机后都要连接到授权服务器进行授权。

有使用GPU虚拟化的小伙伴可以在后面留言,共同讨论。

图片

有使用GPU虚拟化的小伙伴可以在后面留言,共同讨论。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值