oVirt 显卡/GPU透传的方法

oVirt中可以直接通过engine Web管理门户将物理主机上的显卡/GPU透传给某个虚机使用。

具体操作步骤如下:

配置主机支持透传

首先将PCI显卡插到物理主机上,例如主机A上;

到engine的主机管理界面,将主机维护(【管理】->【维护】);

维护后,编辑主机A,进入内核标签页,选中“Hostdev透传和SR-IOV”和“黑名单Nouveau”这两个选项,如下图(确保下面内核命令行中多出两项配置项);

oVirt 显卡/GPU透传的方法

确认无误后,点击确定;

然后重新安装主机,点击【安装】->【重新安装】,直接点击确定即可,如下图:

oVirt 显卡/GPU透传的方法

等待重新安装主机完成后,执行重启主机操作,点击【维护】->【重启】;(一定要重启才能生效!

重启后,SSH到主机A上,查看内核命令行选项是否添加成功,如下图:

oVirt 显卡/GPU透传的方法

如果没有上图中这两项,则检查上面的步骤,重新执行;

没有问题的话,激活主机;

为虚机分配GPU

首先确认下物理主机上的GPU设备,进入主机的主机设备标签页,找到插在物理主机上的GPU,如下图:

oVirt 显卡/GPU透传的方法

上图中显示插到物理主机node75.com上有两个GPU设备:Nvidia的Tesla P4和AMD的W4100;

将需要使用GPU的虚机关机,并确保它运行在我们插入GPU设备的主机上,如下图:

oVirt 显卡/GPU透传的方法

然后到虚拟机的主机设备标签页,点击“添加设备”,如下图;

oVirt 显卡/GPU透传的方法

在“添加主机设备”弹出框中,找到要透传的GPU设备并选中,并点击中间的箭头,如下图:

oVirt 显卡/GPU透传的方法

确认选中的GPU设备添加到下面的“附加的主机设备”列表中,然后点确定,如下图:

oVirt 显卡/GPU透传的方法

完事后,运行虚机,进入到虚机内部通过lspci命令查看透传的GPU设备是否已存在,如下图:

oVirt 显卡/GPU透传的方法

PS:转载文章请注明来源:oVirt中文社区(www.cnovirt.com)

扫码?加好友拉你进oVirt技术交流群!

33 条回复 A 作者 M 管理员 E
  1. 你好 我们在操作过程中遇到了问题

  2. 能指导一下是哪里出现了问题吗?

  3. 你好,请问ovirt支持vgpu 聚合吗?就是把多个gpu作为一个资源池,可以实现多个物理gpu给一个或者多个vm使用。比如AI 智能模拟这块就用到vgpu,我看VMware好像可以,不知道ovirt能否实现呢?

    • 这个和gpu卡和GuestOS系统都有关系吧。
      支持多个GPU透传给一个虚机;
      支持多个GPU分别透传给多个虚机;
      支持多个vGPU分配给一个虚机;
      支持多个vGPU分别分配给多个虚机;

    • 显卡我知道NVIDIA的Tesla系列的是支持gpu虚拟化,但是我不清楚怎么样实现多个GPU虚拟成一个GPU资源池,然后按需分配给一个或者多个虚拟机使用。系统我这基本上是centos和Ubuntu。领导在问有没有方法实现,但是我才刚刚接触私有云这块,不知道版主有没有什么方法。

    • 目前Nvidia的vGPU显卡在ovirt界面上是无法分配的,需要在主机上先配置好然后通过xml挂给虚机。
      AMD的vGPU可以在界面上直接分配。

    • AMD的vGPU的用法相当于透传pci

    • ovirt也可以从界面上配,从主机上配好vGPU后,在虚机的自定义属性里,mdev_type

    • 那请问,做不到多个GPU实现GPU池,然后自定义分配多个VGPU给一个vm或者多个vm吗?

    • 那请问这个vGPU池 实现分配给一个或多个vm的方法如何操作呢,社区里没有看到相关的文章,只看到了单个GPU实现透传的文章。

    • 服务器上有GTX 1080Ti 和 NVIDIA GeForce RTX 2080Ti,2个型号

  4. 透传成功后安装了显卡win10的驱动,设备管理器看上去正常了,但是通过photoshop查看,却无法使用这个显卡,请问这是啥原因呢

    • 用的什么协议连的?原生的spice的话是不支持物理显卡的

    • 通过spice、bnc、matsc远程都试过,显卡是tesla t4的,在win10的系统里安装上显卡驱动,设备管理器里显示显卡正常了,但是用工具测试显卡、用photoshop去看,都没发现显卡,而且在“任务管理器”的“性能”一栏中也没发现有gpu。透传到操作方法是完全按照本文操作的,求大神指教是否还有啥需要修改的地方

    • T4是计算卡,不是图形卡,你用cuda toolkit试试。

    • 这个卡透传做GPU显示不好使,要用于显示的话,需要走vGPU方式,GPU虚拟化。

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论