背景
近期,由于centos全面停服的原因,产品组开始适配欧拉,便也开起来了踩坑之路,这里记录一下openEuler release 20.03 (LTS-SP3)安装openvswitch的一些坑。
首先,同在centos7上一样,执行如下命令,可以直接把服务安装好。
yum -y install openvswitch
接着执行执行如下命令启用服务,并启动服务。
systemctl enable openvswitch && systemctl start openvswitch
现象
好了,这个时候问题来了,你会发现启动失败了!执行status命令看下服务的报错,似乎看不到有价值的错误信息。
查看service文件,启动命令是一个很奇怪的命令,手动执行/bin/true并没有什么输出
搜寻一番,网上没看到相关的一些讨论。
如何解决?对比centos7.6中openvswitch服务的service文件中的启动命令,如下,指向的是一个启动脚本。而欧拉环境上service文件中ExecReload命令的值看着也是一个脚本,查看此目录下的文件,有一个openvswitch.init文件
进一步查看内容,发现这个init脚本就是centos7中负责启动服务的脚本。
解决方案
ok,现在解决方法就明确了,复制一份启动脚本、删旧的service文件、重新启动服务,完毕。
cp /usr/share/openvswitch/scripts/openvswitch.init /etc/rc.d/init.d/openvswitch
rm -f /usr/lib/systemd/system/openvswitch.service
systemctl daemon-reload
systemctl start openvswitch