KVM-qemu libvirt vms 中的多个接口-如何控制?

KVM-qemu libvirt vms 中的多个接口-如何控制?

运行 Ubuntu 12.04 时,虚拟机管理程序上有 12 个接口,我们希望在每个虚拟机中公开这些接口。当我们在 xml 中仅使用接口元素时,我们会获得接口,但我们无法预测/控制虚拟机中的 eth0 是否连接到 HV 上的 eth0。我们尝试使用 lspci 中显示的 PCI 总线编号来控制它,但这似乎不起作用。

我们是否应该在 HV 上的网络 xml 中的单独元素中定义我们的网络,或者我们应该如何配置?

当前虚拟机的 xml 示例:

<interface type='hostdev'>
  <source dev='eth3' mode='vepa'>
    <address type='pci' domain='0x0000' bus='0x16' slot='0x10' function='0x1'/>
  </source>
  <target dev='macvtap0'/>     
</interface>
<interface type='bridge'>
  <source bridge='br4'/>
  <target dev='vnet0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

答案1

在 Linux 中,实现 NIC 一致映射的常规方法是在 NIC 定义中指定 MAC 地址,或者使用 udev 的70-persistent-net-rules

如果您在 domXML 中定义 MAC(使用桥接或 macvtap 直通模式),则可以控制该 MAC 并在 VM 中定义它。如果您使用的是 vepa(您应该有一个支持 802.1Qbg 的交换机),则连接的 NIC 的 MAC 应该传播到 VM 中,您可以指定接口将驻留在 VM 中的哪个 NIC 上(使用 udev 或 NIC 配置或两者)

相关内容