搜索

20.23. 在 KVM 客户机虚拟机中添加多功能 PCI 设备

download PDF
在 KVM 客户机虚拟机中添加多功能 PCI 设备:
  1. 运行 virsh edit guestname 命令,编辑 guest 虚拟机的 XML 配置文件。
  2. <address> 元素中,添加 multifunction='on' 属性。这可让将其他功能用于特定的多功能 PCI 设备。
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-1.img'/>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </disk>
    
    对于有两个功能的 PCI 设备,修改 XML 配置文件使其包含第二个设备,其插槽号与第一个设备和不同的功能号,如 function='0x1'。例如:
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-1.img'/>
    <target dev='vda' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </disk>
    <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source file='/var/lib/libvirt/images/rhel62-2.img'/>
    <target dev='vdb' bus='virtio'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </disk>
    
  3. 运行 lspci 命令。KVM 客户机虚拟机的输出显示了 virtio 块设备:
    $ lspci
    
    00:05.0 SCSI storage controller: Red Hat, Inc Virtio block device
    00:05.1 SCSI storage controller: Red Hat, Inc Virtio block device
    
    注意
    SeaBIOS 应用以实际模式运行,以便与 BIOS 接口兼容。这将限制可用的内存量。因此,SeanBIOS 只能处理有限数量的磁盘。目前,支持的磁盘数量是:
    • virtio-scsi — 64
    • virtio-blk - 4
    • 一个hci/sata - 24(4 个控制器连接了所有 6 端口)
    • USB-storage - 4
    作为临时解决方案,当将大量磁盘附加到虚拟机时,请确定您的系统磁盘有一个小的 pci 插槽号,因此 SeaBIOS 会首先在扫描 pci 总线时看到它。另外,也建议使用 virtio-scsi 设备而不是 virtio-blk,因为每个磁盘内存开销比较小。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.