开发者社区> 问答> 正文

支持arm64/virt上的热插拔PCI/PCIe的问题

我们正在arm64/virt平台上运行kata。当我们试图热插拔设备时,出现了一个错误。

{"QMP": {"version": {"qemu": {"micro": 0, "minor": 1, "major": 6}, "package": "kata-static"}, "capabilities": ["oob"]}} { "execute" : "qmp_capabilities" } {"return": {}} { "execute": "blockdev-add", "arguments": { "driver": "raw", "node-name": "drive-virtio-disk1", "file": {"driver": "host_device", "filename": "/dev/loop9"}}} {"return": {}} { "execute": "device_add", "arguments": { "driver": "virtio-blk-pci", "drive": "drive-virtio-disk1", "bus": "pci-bridge-0" } } {"error": {"class": "GenericError", "desc": "Bus 'pci-bridge-0' does not support hotplugging"}}

我打开的配置:

hotplug_vfio_on_root_bus = true pcie_root_port = 2

我发现一些代码可能是相关的。 这些配置对arm64/virt有效吗? 我对pci/pcie了解不多。你能就这个问题提供一些建议吗? 谢谢

也许qemu-virt仿真有什么问题?我们使用的是qemu版本6.1.0。

我意识到我们的问题是pci-bridge-0不支持热插拔,所以它应该与根总线和根端口无关。

原提问者GitHub用户cheriL 如对项目有进一步反馈,请在 GitHub 提交 issue https://github.com/kata-containers/kata-containers/issues

展开
收起
码字王 2023-05-17 16:10:53 248 0
2 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    首先,让我们解释一下PCI和PCIe的热插拔是什么意思。热插拔是指在系统运行时插入或拔出设备,而不需要关闭系统。PCI(Peripheral Component Interconnect)和PCIe(PCI Express)是计算机内部连接硬件设备的标准。但是,并非所有PCI和PCIe总线都支持热插拔。

    现在让我们回到你的问题,你正在运行kata容器,试图在arm64/virt平台上热插拔PCI/PCIe设备时遇到了错误。

    异常错误中的“Bus 'pci-bridge-0' does not support hotplugging”表明pci-bridge-0与根总线和根端口无关,它表示虚拟化平台的虚拟化桥接设备(可能由QEMU扮演)不支持PCI/PCIe的热插拔设备。 因此,你需要确定你使用的QEMU版本支持你想要的功能。

    现在,QEMU版本6.1.0支持PCI/PCIe的热拔插,但仍可能存在其他因素导致你的问题。

    建议: 1.确保你的QEMU版本支持PCI/PCIe的热插拔,也可以尝试使用最新的版本进行测试。 2.了解你要插入的设备是否支持PCIe热插拔,如果它不支持,那么无论什么情况下都不能热插拔。 3.确保你的虚拟机平台(virt)支持PCIe热插拔设备。

    通过这些步骤,你可以更容易地解决问题并开发PCI/PCIe热插拔设备。

    2023-05-18 18:43:56
    赞同 展开评论 打赏
  • 我认为你的kata代码库有点旧了。您可以提取最新的代码并进行构建。在启动最新的kata并在配置中设置“pcie_root_port”后,会添加一个额外的pcie根端口桥。您可以将块设备添加到pcie根端口中。

    此外,当使用ctr运行kata时,您可以通过“--device${device_path}”将块设备传递给kata。

    原回答者GitHub用户jongwu 如对项目有进一步反馈,请在 GitHub 提交 issue https://github.com/kata-containers/kata-containers/issues

    2023-05-17 16:24:56
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载