首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么libvirt要创建多个PCI?

为什么libvirt要创建多个PCI?
EN

Stack Overflow用户
提问于 2022-09-17 08:55:08
回答 1查看 33关注 0票数 0

我在qemu-system-x86_64命令的参数中运行libvirt,发现它创建了多个PCI:

代码语言:javascript
复制
/usr/bin/qemu-system-x86_64 \
    ...
    -device '{"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \
    -device '{"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"}' \
    -device '{"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"}' \
    -device '{"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"}' \
    -device '{"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"}' \
    -device '{"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"}' \
    -device '{"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"}' \
    -device '{"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"}' \
    -device '{"driver":"pcie-root-port","port":24,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x3"}' \
    -device '{"driver":"pcie-root-port","port":25,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x3.0x1"}' \
    -device '{"driver":"pcie-root-port","port":26,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x3.0x2"}' \
    -device '{"driver":"pcie-root-port","port":27,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x3"}' \
    -device '{"driver":"pcie-root-port","port":28,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x3.0x4"}' \
    -device '{"driver":"pcie-root-port","port":29,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x3.0x5"}' \
    -device '{"driver":"pcie-root-port","port":30,"chassis":15,"id":"pci.15","bus":"pcie.0","addr":"0x3.0x6"}' \
    -device '{"driver":"pcie-pci-bridge","id":"pci.16","bus":"pci.6","addr":"0x0"}' \
    ...

在默认情况下,qemu似乎只创建一个PCI。为虚拟IO设备创建多个PCI有什么好处吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-20 09:39:49

使用PCI拓扑结构,每个单独的设备(磁盘、网卡、视频、声音等)都需要连接到专用的pcie-root-port上。您不能热插拔/拔出pcie-root-port设备本身,但如果您已经有了pcie-root-port,则可以将设备热插即用/拔出。因此,为了允许您在运行时热插拔磁盘/nics/etc,需要预先创建额外的pcie-root-port设备。Libvirt只会预先创建一个备用程序,但是使用libvirt的应用程序可以要求尽可能多的额外服务。看到有30个端口的配置,我猜您可能一直在使用OpenStack,因为我知道这会预先创建许多额外的pcie-root-port,从而允许很多热插拔选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73753503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档