OpenVSwitch Libvirt 持久性

OpenVSwitch Libvirt 持久性

我正在尝试将 openvswitch 集成到 Centos7 上的 libvirt/qemu 设置中。除了重新启动网络服务时丢失了 libvirt/qemu 在我的 ovs 交换机数据库中添加的 vnet 端口之外,一切实际上都运行良好。如果我执行此操作,接口仍然存在,ip link show但不在交换机数据库中。这显然会导致我的虚拟机失去网络连接。我正在我的域 xml 文件中定义网桥和 vlan(或缺少 vlan),如下所示:

    <interface type='bridge'>
      <mac address='52:54:32:a6:21:98'/>
      <source bridge='ovsbr0'/>
      <vlan>
        <tag id='46'/>
      </vlan>
      <virtualport type='openvswitch'>
        <parameters interfaceid='dbda261c-9a17-4a85-9839-53d43509ca0f'/>
      </virtualport>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>

因此,当我启动虚拟机时,端口和 VLAN 会自动添加,如下所示:

# ovs-vsctl show
cf9b8458-9b63-4cf1-add9-3ab5da81dc32
    Bridge "ovsbr0"
        Port "vnet0"
            tag: 46
            Interface "vnet0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "vnet2"
            Interface "vnet2"
        Port "bond0"
            Interface "bond0"
        Port "vnet1"
            tag: 49
            Interface "vnet1"
    ovs_version: "2.5.1"

但是当我重新启动网络时,结果出现以下情况:

# ovs-vsctl show
cf9b8458-9b63-4cf1-add9-3ab5da81dc32
    Bridge "ovsbr0"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "bond0"
            Interface "bond0"
    ovs_version: "2.5.1"

我不知道如何修复这个问题,也不知道正确的解决方案是什么。我不打算进行大量的网络重启,但如果必须重启,我希望确保在完成后不必手动添加我的 ovs 端口。有没有办法强制 libvirt 或 qemu 为我重新创建这些端口?

任何帮助都将不胜感激!谢谢!

相关内容