OceanBase集群如何进行OCP的替换

admin2024-05-15  0

有OceanBase社区版的用户提出替换 OCP 管控平台的需求。举例来说,之前的OCP平台采用单节点,然而随着OceanBase集群的陆续上线和数量的不断增多,担心单节点的OCP可能面临故障风险,而丧失对OceanBase集群的管控能力。另此外,当前的OCP版本(即OCP 4.2.2)在单节点配置下并不支持扩展为多节点高可用集群。因此,大家期望能够重新部署一个具备多节点能力的OCP管控平台,再将现有的集群迁移至这一新的OCP上。当然也有其他原因需要替换 OCP 的。本文将整理并介绍如何进行 OCP 的替换,希望能为OceanBase社区版的用户提供一些帮助和指导。

集群情况

下图是旧 OCP 平台,首先在集群页中可以看到有两个 OBServer 集群,这次测试是将 ob430 这个集群从这个 OCP 中迁移到一个新的 OCP 平台上。

OceanBase集群如何进行OCP的替换,第1张

下图是 OBProxy 的情况,我们迁移 OBServer 集群的时候,也别忘了把 OBProxy 一起迁过去

OceanBase集群如何进行OCP的替换,第2张

从旧 OCP 迁出

迁出 OBServer

首先进入到要迁移的集群页面,在右上角有三个点(...),点击这三个点,可以看到有个迁出集群的操作,我们点击这个迁出集群

OceanBase集群如何进行OCP的替换,第3张

然后会弹出一个对话框,需要我们确认信息:

删除主机:首先是否需要删除主机,这块如果主机上还部署有 OBProxy,就不要勾选,否则主机上的agent会被删掉,后续 OBProxy 是无法迁出的;

凭据导出:这里会导出 OBServer 的一些账号信息到文件中,需要填写一个密钥来对文件进行加密,后续在新 OCP 平台导入的时候会用到;

然后输入 move out 来确认迁出

OceanBase集群如何进行OCP的替换,第4张

确认之后,会在任务中心生成一个任务,直到任务执行结束,这个集群就已经顺利迁出

注:在 OCP 4.2.2 版本之前,集群迁出在页面上没有选项,需要通过命令行,这块具体通过命令行如何迁出,可以在社区群咨询官方技术人员。

迁出 OBProxy

接着迁出 OBProxy,也是同样方式,进入到要迁出的 OBProxy 集群中,在右上角有三个点,点击这三个点,选择迁出 OBProxy

OceanBase集群如何进行OCP的替换,第5张

这里勾选要删除的主机,因为迁出 OBProxy 之后,这台机器上再没有其他 OceanBase 相关组件,因此直接勾选删除就可以了,然后输入 move out 确认

OceanBase集群如何进行OCP的替换,第6张

同样会在任务中心生成一个新的迁出任务,任务执行完成之后,OBProxy 集群也就迁出完成

注:同样,在 OCP 4.2.2 版本之前,OBProxy 的迁出在页面上没有选项,需要通过命令行,这块具体通过命令行如何迁出,可以在社区群咨询官方技术人员。

新 OCP 接管集群

接管 OBServer

打开新的 OCP 平台,进入到集群页面,在右上角有一个接管集群,点击接管集群

OceanBase集群如何进行OCP的替换,第7张

输入对应的访问地址、端口、sys租户的密码,直接下一步

OceanBase集群如何进行OCP的替换,第8张

然后进入到预检查,首先有个切换当前 ConfigUrl 到本 OCP,这个默认是勾选的(但是需要注意是否有其他依赖,如OBLogProxy,修改之后可能导致不可用),另外接管主机这里,需要填写主机信息,为主机选择一个机型,然后凭据这里需要选择一个能通过 ssh 连接到主机的凭据,如果没有的话,需要先手动添加一个凭据,完成之后点击提交

OceanBase集群如何进行OCP的替换,第9张

此时就会在任务中心里生成一个接管集群的任务,任务执行结束之后,OBServer 集群就接管完成

OceanBase集群如何进行OCP的替换,第10张

可以在集群页面看到新接管的集群信息

OceanBase集群如何进行OCP的替换,第11张

导入凭据

接着就是凭据的导入,在迁出 OBServer 集群的时候,我们导出了该集群的凭据信息,这里进入到系统管理,凭据管理,然后点击右上角的导入凭据

OceanBase集群如何进行OCP的替换,第12张

选择之前导出的凭据文件,然后填写当时导出时填的加密密码,点击下一步执行导入

OceanBase集群如何进行OCP的替换,第13张

导入完成之后,可以看到凭据信息里多了 ob430 这个集群的凭据信息

OceanBase集群如何进行OCP的替换,第14张

接管 OBProxy

接着接管 OBProxy,在接管 OBProxy 这里,我们需要先为接管进来的 OBServer 集群单独创建一个 OBProxy,然后再执行接管(这个设计有些不是很友好,不过据说后续的版本会优化,不用单独再创建一个OBProxy)。这里创建的 OBProxy,在后续接管完成之后可以再删除掉,只是临时用一下

OceanBase集群如何进行OCP的替换,第15张

接着找一台空闲机器(OCP 已接管),给这台机器上新建一个 OBProxy,填写对应的信息,这里 root@proxysys 保持和待接管的 OBProxy 相同,选择版本、填写访问地址、关联 OceanBase 集群 ob430。另外需要注意下,启动方式这里需要保持和待接管的 OBProxy 一致,填写完毕之后,执行部署

OceanBase集群如何进行OCP的替换,第16张

可以在任务中心中看到这个部署任务执行情况

OceanBase集群如何进行OCP的替换,第17张

部署完成之后,在 OBProxy 管理页面,可以看到已经部署完成的 OBProxy

OceanBase集群如何进行OCP的替换,第18张

然后进入到该 OBProxy,右上角就可以选择接管 OBProxy

OceanBase集群如何进行OCP的替换,第19张

进入到接管页面,同样填写 root@proxysys 密码,选择对应的主机(如果 OBProxy 所在主机还未接管到集群里,需要先在主机页面进行接管),然后点击下一步

OceanBase集群如何进行OCP的替换,第20张

预检查成功之后,点击提交

OceanBase集群如何进行OCP的替换,第21张

这里需要确认下,会修改 OBProxy 的 obproxy_config_server 的参数,这个因为 OBProxy 会被新的OCP接管,所以会修改成新的 OCP 信息,确认没问题的话,直接下一步

OceanBase集群如何进行OCP的替换,第22张

注意,这里会重启 OBProxy,会对业务产生影响,因此建议在业务低峰执行,如果有多个 OBProxy 节点的话,最好分开一个一个接管,不要一次性接管,确认无误之后输入 confirm,执行接管

OceanBase集群如何进行OCP的替换,第23张

任务中心会展示整个接管过程,执行完成之后,OBProxy 就接管进来了

OceanBase集群如何进行OCP的替换,第24张

可以看到新接管进来的 OBProxy

OceanBase集群如何进行OCP的替换,第25张

接管完成之后,可以再将刚才创建的临时的 OBProxy 删除掉就行

OceanBase集群如何进行OCP的替换,第26张

以上就是整个 OBServer 和 OBProxy 从旧 OCP 迁出到新 OCP 接管的全部过程,如果要进行生产环境的迁移,建议各位同学现在测试环境做个演练,防止出现意外情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!