高可用ocp-server-ce故障恢复方式

请教下:
1.社区版ocp在使用ocp-all-in-one安装包通过web页面部署时可以选择多服务器实现OCP-Server的多节点部署,后续如果相关OCP-Server机器故障以及替换机器后如何操作恢复
2.能否基于docker直接连接ocp的MetaDB实现OCP-Server的迁移

3 个赞

1.metadb和业务集群都是相同的操作,某个节点坏掉后,将该节点下线处理,待修复后再上线即可,或者更换一台新机器。参考下面官方文档
https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000450155?back=kb
2.意思是说docker部署的ocp集群么,注意故障维修如果要更换机器,要求新机器规格>=旧。防止新添加的机器太小导致磁盘不足。

3 个赞

1.可以部署多个OCP节点,元数据库连接同一个就行了,一个ocp server挂了,再起一个也行,
实际上元数据库的高可用即OCP的高可用

2.是可以的,参考
https://www.oceanbase.com/docs/common-ocp-1000000001127035

3 个赞

1.OCP-Server机器故障以及替换机器后obd cluster reinstall xxx -c OCP-Server -s 就可以

4 个赞

假设有server1,server2
我们在server1上通过ocp-all-in-one安装包通过web页面部署ocp在server1和server2,那实际部署ocp的obd程序应该在server1上,这时候如果是server1挂了,这个命令是不是无法执行

是否可以把Configuration Path下的2个配置文件备份,然后在另外的机器上重新解压ocp-all-in-one安装包然后修改相关ip地址再执行 obd cluster reinstall xxx -c OCP-Server -s ?

2 个赞

server1挂掉如果主机宕机,确实是无法执行命令。

可行的,yaml文件备份后,到新节点修改ip再执行obd cluster reinstall xxx -c OCP-Server -s

1 个赞

试了下,应该obd的cluster reinstall 不是用来做某个机器重新部署,文档介绍如下:

obd cluster reinstall

使用该命令可重新安装一个已部署的组件的仓库,新的仓库必须与当前仓库版本号相同

这样应该是2个步骤来恢复ocp-server-ce节点:
1.将obd和yaml配置文件恢复到一台新机器
2.通过扩容流程将一台新机器部署ocp-server-ce并加入obd的集群配置中

这个操作我又碰到了一些疑问:
1.在新机器恢复obd过程中,yaml文件备份来查询集群信息会Status (Cached)为configured,任何执行都是[ERROR] Deploy “ocptest” is configured. You could not start an configured cluster
2.obd没看到类似tidb部署工具tiup的缩容命令

1 个赞

知道了,是这样的:

~/.obd/cluster/ocptest$ tree -a
.
├── config.yaml
├── .data
└── inner_config.yaml

状态在.data里维护

应该是整个obd集群的目录做好备份:
1.当非obd机器故障且无法恢复时,在obd机器上执行扩容操作来恢复新机器的ocp-server-ce组件功能
2.当obd机器故障,将ocpallinone软件包和备份的obd集群文件目录整体恢复到新机器,然后继续操作

1 个赞

是的,集群信息Status存放在.data文件中。但一般情况下meta集群和ocp server是在同一个ip下,需要您确保发生故障后,meta集群多数派存在