【 使用环境 】
测试环境
【 OB or 其他组件 】
libobclient-2.0.1-3.el7.x86_64.rpm
obclient-2.0.1-2.el7.x86_64.rpm
ob-deploy-1.3.3-11.el7.x86_64.rpm
obproxy-ce-3.2.3-2.el7.x86_64.rpm
oceanbase-ce-3.1.3-10100032022041510.el7.x86_64.rpm
oceanbase-ce-devel-3.1.3-10100032022041510.el7.x86_64.rpm
oceanbase-ce-libs-3.1.3-10100032022041510.el7.x86_64.rpm
oceanbase-ce-utils-3.1.3-10100032022041510.el7.x86_64.rpm
【 使用版本 】
oceanbase-ce-3.1.3
【问题描述】
应用场景
我们在项目部署阶段,经常是临时电,随时可能断电,各种条件不太完善,服务器可以做到自启,但是还要手动上去启动服务器,是比较麻烦的。即使到了正式运行阶段也是有机房维护也是会断电的。
目前我在论坛中看到有如下两篇帖子相关:
oceanbase的组件目前都不能自启,官方文档里对自启配置也没有相关说明
服务启动方式
目前我想到的自启方式有两种:
- 在每台机器上自启对应服务的脚本
- 使用OBD命令开机自启
第一种方式需要了解每个服务的运行命令(目前我还不是特别清楚),而且我看到例如ob进程命令里有一些配置相关的参数,我比较担心这种方式启动后会脱离OBD控制(例如OBD修改了配置但是服务每次还是会用原来的配置)。
第二种方式由OBD管理,我认为更好,但是OBD所在机器启动的时候,不能保证所有机器都已经完成开启,启动太早肯定会造成启动失败,我认为比如延时5分钟启动更好
进程启动方式
关于Linux系统的启动方式,以往我常使用的启动方式有两种:
- 将启动脚本写在
/etc/rc.d/rc.local
里 - 写成
*.service
做成系统服务
通常情况下我会选择写系统服务,但是系统服务使用OBD启动应该不太好写
目前的打算
目前我的打算还是用OBD启动命令写在rc.local
文件里,有什么更好的方式推荐吗?或者说oceanbase集群并不适合开机自启,手动启动一下比较好?