我正在尝试将 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 为我重新创建这些端口?
任何帮助都将不胜感激!谢谢!