概要描述
现场环境已部署全局kundb,部署后发现节点存在一些故障,希望在不重装的情况下迁移全局KunDB到3个新节点。
3个新节点已加入集群,现场可以停止全局KunDB服务。
manager版本需要为9.1.1及以上,修复了全局kundb的检测问题。
详细说明
大致的步骤如下:
- 修改 Manager 配置,打开添加角色的开关
- 在新的节点上扩容 KunDB 角色
- 修复新扩容角色的流水
- 切换主的 KunDB 到新节点的 KunDB 上
- 修复主备关系
- 删除原来的2个 KunDB 角色
- 删除原来的另一个 KunDB 角色
1.修改manager配置文件
修改全局kundb的配置文件,将添加角色开关配置打开
vi /var/lib/transwarp-manager/master/content/meta/services/KUNDB_GLOBAL/kundb-2.1.2-final/metainfo.yaml
line 17:
- frontendOperations: ["Start", "Stop", "Delete", "Move"]
+ frontendOperations: ["Start", "Stop", "Delete", "Move", "Scaleout"]
重启manager
systemctl restart transwarp-manager
打开页面发现全局kundb添加角色按钮变蓝即可
2.扩容迁移节点角色
点击添加角色,添加三个需要迁移的节点,下图原节点为:kundb-00/kundb-01/kundb-02,新节点为:kundb-03/kundb-04/kundb-05
点击下一步,默认不需要修改配置,直接安装即可
3.修复新增节点流水
进入orchestrator页面,默认为任意KunDB节点15103端口,查看流水状态
如果新增的三个节点流水不同步,页面存在报错信息,需要手动使用mysql clone修复流水,具体操作参考:KunDB 2.X修复主备流水落后问题
如果页面无报错,则跳过这一步。
4.选择新节点作为新主
进入kunctld页面,默认为任意KunDB节点15100端口
在这里选择任意一个新节点作为新主,进行主备切换,此处以kundb-03为例,具体操作可参考:KunDB手动主备切换、及查看流水同步、追流水
切换后页面显示为:
5.修复主备关系
在orchestrator页面,点击新主,此处为kundb-03,点击reset replica
点击原主,此处为kundb-01,点击set read-only(下图不是kundb-01,只是做展示按钮位置用)
在kunctld页面,将除了原主和新主之外每个replica执行一次重组tablet操作,此处原主为kundb-01,新主为kundb-03,所以需要对kundb-00/kundb-02/kundb-04/kundb-05做重组操作。
回到orchestrator,如果页面如下图,则代表已经修复完毕
6.删除2个原节点
由于zk和orchestrator需要保证集群存在多数派才能正常运行,先删除2个原节点,再删除另1个原节点
在manager页面停止角色,此处先停止kundb-00,kundb-01。
在manager页面删除角色,此处先删除kundb-00,kundb-01。
删除后在页面点击配置服务,然后重启全局kundb。
后台连接kundb,查看数据是否正常
mysql -hkundb-03 -P15308 -uvt_app -ptranswarp
show databases;
确认数据正常,继续下面操作。
7.删除1个原节点
在manager页面停止角色,此处停止kundb-02。
在manager页面删除角色,此处删除kundb-02。
删除后在页面点击配置服务,然后重启全局kundb。
8.检查kundb是否正常
打开kunctld页面,如下图所示:
打开orchestrator页面,如下图所示:
后台登录:
mysql -hkundb-03 -P15308 -uvt_app -ptranswarp
启动依赖服务,查看是否存在报错。