场景:
1. 环境调整,需要从A机器同步苍穹到B机器上。
2. 分析生产问题,从生产或UAT的苍穹,同步到开发环境。
在开始执行之前,首先要明白以下几点点:
两个苍穹的版本要保持一致,例如:待迁移苍穹版本为4.0,新苍穹版本为5.0,这种迁移后4.0的数据中心能正常使用,5.0的苍穹不能正常使用。低版本的苍穹需要升级到跟高版本的苍穹保持一样的版本。
同步必须要保持苍穹版本一致性,即元数据+jar包+静态资源一致。
数据中心分库规则保持一致,例如A机器上的苍穹分库标识为sys,对应的分库为dev_sys。那么在B机器上苍穹分库标识为sys,对应的分库dev_sys。
在了解基础后,总结就是:迁移前后苍穹版本保持一致,苍穹服务就能正常使用。
下面我们来看下迁移需要做哪些事情。
将待迁移苍穹服务下appstore的cosmic目录打包,将appstore复制到目标苍穹服务下appstore的cosmic目录下。这一步完成jar包的同步
Linux服务目录:/var/appstatic/static-files/cosmic/webapp
Windows目录:苍穹安装目录/static-file-service
容器服务:/etc/nginx/conf/conf.d/appstatic/appstore/cosmic
将待迁移苍穹服务下苍穹的静态资源同步到目标苍穹服务下的静态资源目录下。这一步完成静态资源同步
Linux服务目录:/var/appstatic/appstore/cosmic
Windows目录:苍穹安装目录/apppackage-cosmic
容器服务:/etc/nginx/conf/conf.d/appstatic/static_files/cosmic/webapp/
将待迁移苍穹服务的数据库导出,然后在目标苍穹服务上导入。这一步完成元数据同步
登录MC管理平台,新增租户或者在已有的租户上创建新的数据中心,注意:分库规则要跟待迁移环境保持一致。
重启苍穹相关服务,拉取新的jar包。
若目标苍穹服务,存在数据中心,若版本跟迁移苍穹环境的版本不一致的话,那么只有迁移后的苍穹能正常访问,目标机器原来存在的苍穹不能访问。基于这种情况,需要对苍穹做一次补丁升级,让多个数据中心保持版本一致就能正常使用了。
针对苍穹版本不一致性,再展开说明:
例如待迁移机器上,安装了V4.0.001版本的苍穹,目标机器上安装了V5.0.001版本的苍穹。现需要将V4.0.001版本的苍穹迁移到目标机器下。如下图:
按上述步骤,迁移后,目标机器就有了V4.0.001版本和V5.0.001两个版本的苍穹。两个版本的苍穹缺只有一份appstore和静态资源,因此只有一个环境能正常使用,另外一个环境会因为版本不一致而访问异常。
这种情况如何处理呢?
答:可以将V4.0.001版本的苍穹,升级到V5.0.001版本的苍穹,若没有V5.0.001版本苍穹的补丁包。那么从补丁官网(download.kdcloud.com)下载最新的补丁,将V4.0.001和V5.0.001版本的苍穹一起升级到最新版。这样就能正常使用了。
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *