当前位置: 代码迷 >> 综合 >> 解决ovs-ofctl dump-flow报错:“is not a bridge or a socket”
  详细解决方案

解决ovs-ofctl dump-flow报错:“is not a bridge or a socket”

热度:93   发布时间:2023-12-18 01:18:32.0

1.官方对于此问题的解释:

简单来说,就是ovs数据库里保存的和ovs-vsctl show里的不一致。这样使用ovs-ofctl dump-flows想查看某个网桥的流表时,库里找不到,自然就会报错。

2.排查过程和问题解决

按照官方的建议,我查看了/var/log/openvswitch/ovs-vswitchd.log,但是里面没有异常。

官方文档又说,可能是ovs-vswtichd服务没有启动,导致ovs-vsctl命令挂起。我使用systemctl status ovs-vswitchd查看,服务也处于active状态,一切正常。

最后,只好使用重启大法,但是在实验的过程中,使用systemctl restart openvswitch是无效的。

需要这样重启(如果运行的时候,报pid已经存在,则先进行kill再运行如下命令):

ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \--remote=db:Open_vSwitch,Open_vSwitch,manager_options \--private-key=db:Open_vSwitch,SSL,private_key \--certificate=db:Open_vSwitch,SSL,certificate \--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \--pidfile --detach
ovs-vsctl --no-wait init
ovs-vswitchd --pidfile --detach
  相关解决方案