使用 virsh 在 KVM 主机上向 VM 添加网络接口时出错

使用 virsh 在 KVM 主机上向 VM 添加网络接口时出错

我正在尝试编写脚本,为 centos 6 客户机添加网络接口。我知道可以使用虚拟管理器gui 但最好将其作为 Ansible playbook 的一部分添加使用virsh 附加接口或者作为virt-安装

所需的接口应如下所示(尽管有新的 mac 地址)

<interface type='direct'>
  <mac address='52:54:00:39:f8:3a'/>
  <source dev='enp3s0' mode='bridge'/>
  <target dev='macvtap8'/>
  <model type='virtio'/>
  <alias name='net0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

我无法使用以下方法复制此操作virsh 附加接口或者virt-安装。我尝试使用以下

virsh attach-interface 16 --type direct --source enp3s0 --model virtio --config --live

但不幸的是,这并没有设置源模式,所以我最终得到了以下界面

<interface type='direct'>
  <mac address='52:54:00:e1:d8:2c'/>
  <source dev='enp3s0' mode='vepa'/>
  <target dev='macvtap15'/>
  <model type='virtio'/>
  <alias name='net1'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>

在理想的世界中,我希望能够做类似的事情

virsh attach-interface 16 --type direct --source enp3s0 --model virtio --mode bridge --config --live

但这会返回以下错误,并且我找不到为此操作指定的正确选项。

error: command 'attach-interface' doesn't support option --mode

答案1

由于您已经知道 NIC 所需的确切 XML,因此您应该避免virsh attach-interface使用命令,而使用virsh attach-device。该attach-device命令直接接受新设备的完整 XML 文档。attach-interface只是一个attach-device为您生成 XML 的愚蠢包装器。因此,由于您已经有了 XML,因此没有必要使用attach-interface

相关内容