出现的问题如下:
root@b0f1e1ed539b:/# ovs-vsctl show
2021-11-01T12:36:01Z|00001|reconnect|WARN|unix:/var/run/openvswitch/db.sock: connection attempt failed (No such file or directory)
ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (No such file or directory)
第一行的意思是没有找到运行的openvswitch套接字,去/var/run目录下查看。
root@b0f1e1ed539b:/# cd /var/run/
root@b0f1e1ed539b:/var/run# ls
cipc_app_x0 cipc_x1 lock mul_appmulcli mul_appmull2sw network shm utmp
cipc_app_x1 cipc_x2 motd.dynamic mul_appmulfab mul_appmultr resolvconf sshd
cipc_x0 cipc_x3 mul.pid mul_appmulhello mul_appnbapi sendsigs.omit.d sshd.pid
发现并没有这个文件夹,所以使用mkdir创建一个。
root@b0f1e1ed539b:/var/run# mkdir openvswitch
root@b0f1e1ed539b:/var/run# ls
cipc_app_x0 cipc_x1 lock mul_appmulcli mul_appmull2sw network sendsigs.omit.d sshd.pid
cipc_app_x1 cipc_x2 motd.dynamic mul_appmulfab mul_appmultr openvswitch shm utmp
cipc_x0 cipc_x3 mul.pid mul_appmulhello mul_appnbapi resolvconf sshd
再去/etc/openvswitch文件夹下面查看有没有conf.db文件,如果没有说明ovs的数据库配置文件还没有创建,所以需要创建。
root@b0f1e1ed539b:/var/run# cd /etc/openvswitch/
root@b0f1e1ed539b:/etc/openvswitch# ls
root@b0f1e1ed539b:/etc/openvswitch#
创建conf.db需要vswitch.ovsschema文件,这个文件一般在openvwitch下面,创建也如下:
root@b0f1e1ed539b:/etc/openvswitch# whereis openvswitch
openvswitch: /etc/openvswitch /usr/share/openvswitch
root@b0f1e1ed539b:/etc/openvswitch# cd /usr/share/openvswitch/
root@b0f1e1ed539b:/usr/share/openvswitch# ls
bugtool-plugins scripts switch vswitch.ovsschema
root@b0f1e1ed539b:/usr/share/openvswitch# ovsdb-tool create /etc/openvswitch/conf.db vswitch.ovsschema
root@b0f1e1ed539b:/usr/share/openvswitch# cd /etc/openvswitch/
root@b0f1e1ed539b:/etc/openvswitch# ls
conf.db
然后再执行下面的连接命令即可
ovsdb-server --remote=punix:/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