解決ovs-ofctl dump-flow報錯:“is not a bridge or a socket”

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章