CentOS停服会给用户带来重大系统安全隐患和业务连续性风险,操作系统替换成为一个迫在眉睫的事情。针对不同的应用场景以及上层业务应用是否和目标OS兼容,我们可以选择不同的替换方案。替换方案主要包含下面两种,其中X2CTyunOS工具主要针对原地升级研发。
系统替换方案:
迁移路径选择建议:
- 使用工具先评估然后选择搬迁路径
- 对于存量centos场景优先考虑原地升级
- 对于新建、扩容场景,建议直接采用重装替换方案。
原地升级到CTyunOS:
CTyunOS替换CentOS原地升级方案:
使用原地升级工具对CentOS系统进行原地升级,将系统升级为CTyunOS操作系统,如升级失败则可还原操作系统,使用其他方式替换。
替换工具:
1. X2CTyunOS:该工具可对从其他系统迁移到CTyunOS硬件和软件、配置兼容性评估。
2. 原地升级工具:可对当前系统进行原地升级,相关业务无需预先迁移,升级后重启系统进行业务恢复即可。如升级失败则可进行操作系统还原,还原后进行业务恢复。
3、升级配置采用CS架构,X2CTyunOS工具部署到server上,待升级机器通过IP注册到server端进行升级。
建议适用对象:
1. 已有的软件可以在CTyunOS上运行,包括安装,功能运行均无问题。
2. 硬件与CTyunOS可兼容。
3. 已经做过的相关配置经调研可以继承到CTyunOS之上。
主要实施步骤包含以下几个方面:
A、连通性检查:
1、确保升级前只配置了centos的yum源
2、连通性检查主要进行目标yum源的连通性检查,包括从server端ssh登录到client端
3、ssh登录成功后,会将server上配置的repo信息同步到client端,同时执行yum makecache命令。
B、升级前检查
X2CTyunOS兼容性检测:
对已有环境进行调用接口及依赖识别,评估应用程序在两个不同的系统上是否兼容及是否涉及移植,根据评估结果,选择迁移路径
升级前检查也会对源OS和目标OS进行白名单的检测。
C、升级
X2CTyunOS升级流程:
升级过程中也会对源OS和目标OS进行白名单的检测,防止源OS被恶意替换。
系统回退设计:
1、在系统升级前会基于源OS创建一个Intramfs-upgrade的系统回退启动项,系统升级失败回退主要通过Intramfs-upgrade启动项进行回退。
2、系统升级成功后,通常重启进入目标OS后才会显示回退启动项,这个是基于目标OS创建的一个ctyunos-rollback-Initramfs的回退启动项。
3、回退启动项中主要定制了一个rollback.service到回退initramfs中, 回退功能主要通过rsync命令将.osbak中备份的目录同步回原目录。
环境清理:
该模块会对升级过程中安装的x2openEuler-client和x2openEuler-upgrade包以及备份目录,还有其他和升级有关的备份repo或者待升级rpm包的下载目录进行删除。通常在成功升级OS后业务平稳运行一段时间以后再做环境清理,否则环境清理后系统无法回退。