openstack 直通 RTX 3090 GPU 后 - lspci 说!!! 未知标头类型 7f

openstack 直通 RTX 3090 GPU 后 - lspci 说!!! 未知标头类型 7f

首先感谢您阅读了这一切,因为这就像一个很长的故事。

我们拥有云基础设施Ubuntu 20.04Linux 5.4.0-155-通用 x86_64内核和OpenStack作为虚拟化系统QEMU/KVM。我们的计算节点上有 4xNVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1)卡。它与直通和所有功能配合得很好,但过了一段时间(大约 1.5 年),突然其中一个 RTX-3090 不允许我们创建 VM,并且 nova 显示!!! Unknown header type 7f在 PCI 设备上,所以我lspci -vnn | grep 2204 -A 4 在 Ubuntu 主机上运行,​​不幸的是它显示如下:

25:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd Device [1458:403b]
    Flags: bus master, fast devsel, latency 0, IRQ 795, NUMA node 0
    Memory at c3000000 (32-bit, non-prefetchable) [size=16M]
    Memory at 2d060000000 (64-bit, prefetchable) [size=256M]
--
61:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd Device [1458:403b]
    Flags: bus master, fast devsel, latency 0, IRQ 793, NUMA node 0
    Memory at cb000000 (32-bit, non-prefetchable) [size=16M]
    Memory at 1d000000000 (64-bit, prefetchable) [size=256M]
--
c1:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev ff) (prog-if ff)
    !!! Unknown header type 7f
    Kernel driver in use: vfio-pci
    Kernel modules: nvidiafb, nouveau

--
c2:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA102 [GeForce RTX 3090] [10de:2204] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd Device [1458:403b]
    Physical Slot: 8
    Flags: bus master, fast devsel, latency 0, IRQ 792, NUMA node 1
    Memory at b9000000 (32-bit, non-prefetchable) [size=16M]

如您所见,c1:00.0 pci 地址有 RTX 3090,但未加载主板上安装的正确的 pci 设备。

好的,现在我的问题是:正如我所说,其他 RTX3090 正在由其他具有 AI 预处理的 VM 使用,因此我不能重新启动计算节点并希望实时解决问题,以便我可以恢复 c1:00.0 RTX3090。

如我所见,下面/sys/bus/pci/devices/PCI_PORT_ID/有一些文件reset , remove , rescan,人们建议在重置或重新扫描文件时回显 1,但它返回权限拒绝,并且在我添加chmod +rw上述文件后,它说I/O Error什么也没有发生 :(。

我发现的另一个解决方案是使用setpci 命令setpci -s PCI_PORT_ID BRIDGE_CONTROL=0052然后setpci -s PCI_PORT_ID BRIDGE_CONTROL=0012重新启动 pci 设备,但不幸的是它也不起作用 :(。

有什么办法可以重新启动 pci 设备来修复它吗?我是否必须放弃希望并重新启动所有计算节点?

先谢谢了。

相关内容