每次重启完Linux
操作系统后,ovs-vsctl
命令都无法执行,报 ovs-vsctl: unix:/usr/local/var/run/openvswitch/db.sock: database connection failed (no such file or directory)
错误。
ovs-vsctl
执行时需要连接到 ovsdb
,但是默认情况下它是关闭的。所以需要手工启动或设置为开机服务自启动。
使用root
账户,执行如下shell
脚本或单独执行脚本中的指令:
#!/bin/bash
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
使用root
账户,手动执行如下命令:
/usr/share/openvswitch/scripts/ovs-ctl start
创建 OvS
服务脚本。
touch /etc/systemd/system/ovs.service
vi /etc/systemd/system/ovs.service
脚本内容如下:
[Unit]
Description=Open vSwitch server daemon
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/share/openvswitch/scripts/ovs-ctl start
ExecStop=/usr/local/share/openvswitch/scripts/ovs-ctl stop
[Install]
WantedBy=multi-user.target
加载服务并设置开机自启
systemctl daemon-reload
systemctl enable ovs
综上,使用上面三种方法任意一种即可解决ovs-vsctl
无法连接到 ovsdb
的问题。
原创不易,点个赞或在看支持一下吧~