OpenVSwitch 与 Libvirt

OpenVSwitch 与 Libvirt

我的情况如下:我运行的是带有 Openvswitch 和 Libvirt/Qemu 的 CentOS 7。我的域配置为使用虚拟端口类型 openvswitch,因此当我启动虚拟机时,它会在 ovs 桥中创建一个端口。没什么复杂的。

我的问题是,如果我重新启动虚拟机管理程序,一切似乎都不会按正确的顺序关闭,并且当机器重新启动时,我会得到陈旧的 OVS 端口。

a7c1e36d-26b5-43d8-a422-452b013c4009
    Bridge "ovsbr0"
        Port "vnet1"
            tag: 46
            Interface "vnet1"
                error: "could not open network device vnet1 (No such device)"
        Port "vnet0"
            tag: 41
            Interface "vnet0"
                error: "could not open network device vnet0 (No such device)"
        Port "ovsbr0"
            Interface "ovsbr0"
                type: internal
        Port "bond0"
            Interface "bond0"
    ovs_version: "2.5.1"

如果我停止 openvswitch 服务,关闭虚拟机,然后再次启动 openvswitch,我可以复制此情况。有其他人见过这种情况吗?如果我在此之后重新启动虚拟机,ovs 端口将被非过时的端口覆盖,但我想修复此处的实际问题。当重新启动期间发生此问题时,Libvirt 也会出现段错误。

我想说这就像修改我的 systemd 文件以确保顺序正确一样简单,但不幸的是 openvswitch 仍然附带 CentOS 的 init 脚本,因此 systemd 文件是自动生成的,我无法用插件或任何东西覆盖“After”参数(至少,它对我来说不起作用)。

任何事情,哪怕是一个新想法,都可以尝试!提前谢谢!

相关内容