使用 virt-install 进行 KVM/qemu/libvirt VM PCI 域/总线/插槽/功能分配

使用 virt-install 进行 KVM/qemu/libvirt VM PCI 域/总线/插槽/功能分配

我正在尝试使用 virt-install 实用程序创建一个虚拟机,虽然这很容易做到,但我想要做的事情却相当困难。

我希望能够指定要添加的以太网接口的域/总线/插槽/功能。我意识到我可以在创建域后使用 virsh edit 来修改这些设置,使其不再是默认设置,但我想知道是否有人知道是否可以使用 virt-install 实用程序从命令行进行操作,如果可以,您知道正确的语法是什么吗?

谢谢。

肖恩

答案1

是的,您可以在命令行中指定所有这些virt-install。查看virt-install --network=?您可以指定的完整列表。这些对应于XML 中设置的属性

例如,如果你<interface>看起来像这样:

    <interface type='bridge'>
      <mac address='52:54:00:c2:de:ce'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>

您可以像这样指定它:

virt-install ... -network bridge=br0,model=virtio,mac=52:54:00:c2:de:ce,address.type=pci,address.domain=0,address.bus=1,address.slot=0,address.function=0 ...

您也可以使用 获取生成的 XML,而不是执行安装--print-xml。然后,您可以根据自己的喜好对其进行自定义,并直接自动执行许多安装,而无需通过virt-install

       --print-xml [STEP]
           Print the generated XML of the guest, instead of defining it. By
           default this WILL do storage creation (can be disabled with
           --dry-run). This option implies --quiet.

           If the VM install has multiple phases, by default this will print
           all generated XML. If you want to print a particular step, use
           --print-xml 2 (for the second phase XML).

相关内容