操作系统迁移技术
内容分析
1. 迁移背景:CentOS停更危机
2. KeyarchOS迁移方案
3. 操作系统测试
4. 迁移评估
20年开始免费的 CentOS 提出要停更。截止 24年6月30号CentOS7 停止了维护。在我们国家很多生产环境里 CentOS 的使用的是非常多的,生产量是非常大的。 CentOS 的停更的影响是很大的。 CentOS 停更不维护不是把代码删了,而是转到上游。原来是 RHEL 的商业版、免费版。停用之后将会转成上游的 Cent stream 实验版。会有很多问题不适合在生产环境中用。
01.迁移背景:CentOS停更危机
总的来讲停更会产生几个影响,一个是产品中断。最后的 CentOS是 CentOS8 。以后不会再有 CentOS9、CentOS10 之类的。前面老师讲的安全非常重要。所有的资产都跑在操作系统上,如果操作系统有安全漏洞,风险是不可估量的。漏洞不再有人维护,对企业数据是首当其冲的威胁。运维也将得不到正规途径的帮助。新推出的板卡或读卡器等不会再兼容旧的操作系统。这个时候很多客户就转向了一些国产的操作系统,如麒麟、通信、方德,浪潮 KeyarchOS 。
02.KeyarchOS迁移方案
2.1底层操作系统替换
KeyarchOS 是浪潮信息基于龙溪社区的操作系统。 KeyarchOS 迁移就是将原系统为 CentOS 和 RHEL 的系统环境变为以KeyarchOS 为底座环境的过程。
2.2业务软件适配替换
目标是将操作系统进行更换,对操作系统的应用软件中间件,如数据库、容器等进行合理的处理,如一些和操作系统耦合性不大的如 Java、Python 等,可以不修改配置继续使用。还可以根据客户的需要将一些新版本在目标操作系统适配。
2.3形成标准流程、工具
标准的流程现在也在起草,即迁移标准。 KeyarchOS 迁移大体分为4 步。在服务器操作系统是四步。第一步是调研客户环境,盘点客户现在的操作系统的基本情况,包括业务软件、是否有第三方运维、硬件情况,评估能否为客户做迁移工作。有些客户用的RHEL或 CentOS 比较老的版本,原地迁移或扩展迁移可能不适用。第二步是进行迁移评估,在硬件和软件层面评估是否能够进行迁移。第三步是迁移实施,迁移经过实验之后发现是可行的,就是真正的实战阶段。可以提供原地迁移或者扩展迁移方案。迁移过程中先进行备份,备份是以免在迁移过程中出现问题。这时可以进行回退。迁移完了之后进行业务的运行监控,看业务的功能是否完善、正常、性能是否比原来强,最起码不能降低。迁移新操作系统之后发现性能更慢会不满足客户的要求。系统的运行维护看它的稳定性。
03.操作系统测试
3.1功能测试
有些业务牵扯的面比较广,要看到完整性、是否正确,特别是对外服务、对社会服务的场景,看客户的反响。
3.2性能测试
另外看性能的占比,如签完系统之后的处理器、网络、磁盘等要详细的观测。
3.3稳定性测试
稳定性要进行长稳的测试。看在新系统上和业务软件包括各种组件的耦合性、长稳的测试是否有较好的兼容性,给出综合的评估结果,这是迁移必要阶段。
04.迁移评估
4.1硬件兼容性评估
评估处理器是否兼容目标操作系统,包括整机、板卡。
4.2软件兼容性评估
软件兼容性评估即评估软件包的版本,包括数据库、中间件等的兼容性,是否兼容操作系统的版本。
4.3操作系统兼容性
操作系统的配置,内核参数的兼容性也需要评估。
4.4实验室迁移验证
实验室迁移验证评估的是实验室的迁移结果。
05.迁移路线
具体的实战阶段的迁移的路线有两个,原地迁移和扩展迁移。
5.1原地迁移
原地迁移是在硬件不变的情况下、在不替换应用软件的场景下直接换操作系统是原地迁移。原地迁移的应用资产是不会变的,只是把操作系统换掉,也不需要额外的硬件临时缓存。原地迁移需要针对不同行业的业务软件进行适配,因为各个行业的业务软件非常多。不同的业务软件对应的依赖包不同,并且可能会存在第三方的商用的数据库,包括组件还有自己编译的软件,可能在目标操作系统无法直接使用,需要进行适配,有一定的工作量。原地迁移需要对不同行业的业务场景做好切换准备。特别是在单机业务中,有些客户现场就一台服务器跑业务,原地迁移需要重启,这时候需要和客户沟通好停机时间,做好业务中断的准备。需要注意影响迁移效率的几个因素。一是网络带宽。迁移的时候是从源上下载软件包,如果网络慢可能会导致升级不顺畅,还节点中的软件包的数量及部署的方式。
5.2扩展迁移
在新建或扩容场景中,新加一些服务器时使用扩展迁移,就是在原操作系统之外再装一些新的操作系统。在新的操作系统适配应用软件。
需要注意的是扩展迁移需要对业务软件进行提前适配,就是要在客户答复之前或者确定要迁移之前要看一下应用软件新的操作系统上是否能够兼容。
另外扩展迁移用于用户的业务扩容或者业务新建场景。另外会提供一个迁移工具,可以协助系统进行评估,看是否符合迁移的条件、有没有什么风险。 X2Keyarch 迁移工具协助去做。
5.3迁移路线选择
原理迁移和扩展迁移的迁移方式不一样。原理迁移是利旧场景,即直接替换操作系统。扩展迁移就是重装部署业务即替换原有操作系统。原地迁移适用于利旧的场景,扩展迁移适合于扩容和新建场景。原理迁移的优势适用于对业务层变动不敏感,不需要大的改动业务场景,并且成本比较低。扩展迁移的操作比较简便、易于扩展。典型的应用场景一般有虚拟化平台,虚拟化平台的特点是有很多虚拟机。虚拟化场景的特点是虚拟机可以备份、做快照、做复制,这是它的优点。
如果主机还有充足的资源,可以在虚拟环境下直接安装目标操作系统,采用扩展迁移的方式。新建的虚拟机再去部署业务系统,部署完之后旧的业务系统服务不会中断,新的业务系统搭建完之后可以做同步测试,逐渐将新的系统加入到原有的集群中。
如果主机的资源已经满了,不允许再建更多的虚拟机的情况下,可以利用迁移工具的备份能力,采用原地迁移的方式直接迁移。
在双机场景中,有主备的节点的这种场景在迁移的时候比单机的要方便一些,可以先从备机的节点做迁移,迁移完等服务起来之后,再将原来的主机进行迁移。
扩展迁移就是在原始节点扩展一个虚拟机,将新的目标系统部署到虚拟机上,将虚拟机上的操作系统之上的这些资产软件进行部署,将业务配置完成,配置完之后看服务的兼容性。经过测试之后服务是正常的就可以替换环境中旧的操作系统。就是两种方案,现在已经落地在多个地方了。分享的内容就这些,感谢大家。