文章

某工程机械制造企业核心系统服务器操作系统迁移技术路线选择及方案设计实践分享

2023-08-14倪向阳

3007阅
本文针对工程机械制造业企业核心系统操作系统普遍面临的CentOS操作系统迁移的挑战,首先分享了选型评估方法和对比分析决策过程,最后选择了RedHat Enterprise Linux作为核心系统服务器操作系统平台。然后,分享了操作系统迁移方案和迁移策略,最终实现企业核心应用系统的平滑迁移。

一、制造企业核心系统目前面临的问题

       我司目前核心的应用系统绝大部分是基于CentOS(以CentOS7为主)系统部署(例如采购服务、订单服务、物资服务、数据库等),随着操作系统的升级迭代,特别在2021年12月份CentOS官方宣布将停止更新CentOS 8及以后版本,并转向CentOS Stream后,我们在操作系统的选型上面临着以下三个问题。

       问题一:在CentOS7停止更新后,系统稳定性能否得到有效保障?

       问题二:CentOS Stream能否替代CentOS7,在生产环境上大规模推广使用?

       问题三:有没有适合在我司运行的操作系统类型?系统的稳定性和安全性都能满足企业要求,以及如何进行选型分析?

二、制造企业核心系统选型问题分析

       2.1 CentOS7停止更新后,系统稳定性能否得到有效保障

       首先我们看下整个CentOS的生命周期


       CentOS8已经停止更新:CentOS8已于2021年底全面停止更新,现有CentOS8.X面临安全风险、无补丁更新

       CentOS7即将停止更新:CentOS7在2024年6月30日停止维护

       CentOS Linux在红帽系的系统中的生态位置 Fedora Linux ->RHEL->CentOS Linux


       我们目前使用的CentOS7系统作为RHEL的下游,系统的基本源代码由RHEL对应版本的开源代码提供,所有的补丁修复都先在RHEL上修复后,CentOS再进行更新,相对于其他 Linux 发行版,其稳定性值得信赖。

       一旦CentOS7停止更新,我们将面临两大问题,系统稳定性无法得到有效保障。

       1、安全漏洞:未来如果出现新的安全漏洞,CentOS 7不再进行修复,导致系统安全性的下降,很可能会成为黑客攻击的目标,容易遭受病毒、木马进行攻击。

       2、故障修复:当我们遇到系统软件、硬件等系统故障时,但由于 CentOS 7 不再提供官方更新和技术支持,排查定位问题需要更多精力和时间,而且在CentOS官方社区无法找到相关的技术支持,导致问题无法解决,无法满足我们的需求。

       2.2 CentOS Stream能否替代CentOS7,在生产环境上大规模推广使用

       CentOS Stream版为滚动更新版 ,系统的基本源代码也由RHEL对应版本的开源代码提供。但代码更加激进,比RHEL更新新特性更快,是RHEL的上游。

       CentOS Stream在红帽系的系统中的生态位置 Fedora Linux ->CentOS Stream->RHEL


       Centos Stream系统有以下4个特点:

       1、紧密联系的RHEL版本:CentOS Stream是位于RHEL的上游。CentOS Stream的版本号与RHEL版本号相同,并且CentOS Stream是在RHEL版本开发周期中进行构建的。这样就可以让CentOS Stream版本更紧密地与RHEL版本相关联,并且较早地发布新特性。

       2、社区参与性高:CentOS Stream开放源代码,并且接受社区贡献者的开发和贡献,这使得CentOS Stream的社区开发模式更加活跃,社区成员可以设法影响到RHEL的软件开发流程并提供反馈。

       3、开发人员友好性:CentOS Stream是研发人员的选择,RHEL具有长期稳定性,而CentOS Stream是作为开发中介版本,可快速获得最新特性。这可以使得开发人员可以更快地将代码上传到生产环境中去。

       4、Centos Stream系统发布速度较快,不够稳定,不适合我们公司生产环境核心系统的运行,更多的是偏向于开发者,操作系统开发人员能快速迭代增强系统的新特性。
经过上面的分析后,发现当前无论是CentOS7,还是CentOS Stream都不是最好的选择,我们团队对市面上的操作系统进行调研分析,从中寻找最合适的系统类型,从而保障公司的核心系统的稳定运行。

三、制造企业核心系统技术路线选型

       3.1 操作系统市场份额分析

       3.1.1 全球服务器操作系统市场份额

       根据2021年IDC发布的报告,全球服务器操作系统市场份额如下:

       Windows Server(微软公司):47.2%(收入市场份额)

       Linux(所有厂商):28.3%(收入市场份额)

       UNIX(所有厂商):14.4%(收入市场份额)

       z/OS(IBM):4.2%(收入市场份额)

       i/OS(IBM):1.3%(收入市场份额)

       其他:4.6%(收入市场份额)  

       在Linux服务器操作系统市场,根据2021年12月份Linux市场份额排名如下:

       Red Hat Enterprise Linux(Red Hat公司):30.9%

       Ubuntu(Canonical公司):16.2%

       SUSE Linux Enterprise Server(SUSE公司):6.7%

       CentOS(Red Hat公司):4.2%

       Debian Linux(The Debian Project):3.5%

       Oracle Linux(Oracle公司):2.5%

       Amazon Linux(亚马逊公司):2.0%

       Rocky Linux(The Rocky Enterprise Software Foundation):1.5%

       Fedora(Fedora Project团队):1.4%

       Arch Linux(Arch Linux团队):0.5%

       其他:31.6%

       3.1.2 中国服务器操作系统市场份额

       根据2021年IDC发布的报告,中国Linux服务器操作系统市场份额排名如下:

       Red Hat Enterprise Linux(Red Hat公司):69.6%

       SUSE Linux Enterprise Server(SUSE公司):15.9%

       Oracle Linux(Oracle公司):5.4%

       Ubuntu(Canonical公司):1.0%

       其他:7.8%

       3.2 操作系统目前的风险分析  

       目前操作系统的风险包括外部风险、内部风险、生态风险及开源生态活跃度。        

       3.2.1 外部风险  

       外部风险包括供应链攻击风险和黑客攻击风险。

       1、供应链攻击:是一种针对软件或硬件供应链中的弱点进行的攻击手段。攻击者试图在软件或硬件的供应链中植入恶意代码、后门或篡改的组件,然后将这些受影响的产品交付给最终用户。当用户安装或使用这些产品时,恶意代码会被执行,从而使攻击者能够获取机密信息、控制系统或破坏系统的安全。

       2、黑客攻击:是指未经授权的个人或团体利用计算机和网络的安全漏洞,以非法或恶意的方式进入系统、获取敏感信息、破坏系统或进行其他违法活动的行为。一些常见的黑客攻击类型,例如:拒绝服务攻击(DoS)、分布式拒绝服务攻击(DDoS)、SQL注入攻击、钓鱼攻击等。

       3.2.2 内部风险  

       内部风险分为:系统安全缺陷风险和相关支持服务风险

       1、系统安全缺陷风险:是指操作系统中存在的漏洞、弱点或错误,可被攻击者利用来获取未经授权的访问、执行恶意操作、窃取数据或破坏系统。一些常见的安全缺陷,例如:操作系统漏洞、不安全的默认配置、不正确的访问控制、不安全的网络通信等

       2、相关支持服务风险:包括数据泄露风险、恶意行为风险、不可靠的技术支持等。

       数据泄露风险:在进行系统支持和故障排除过程中,可能需要接触到用户的敏感数据。如果支持服务提供商的安全措施不当或未经授权的人员访问敏感数据,可能导致数据泄露和隐私问题。

       恶意行为风险:不当的支持服务提供商或个别支持人员可能会滥用其权限,进行恶意操作或窃取用户信息。这可能包括未经授权地访问和篡改系统、窃取敏感数据等。

       不可靠的技术支持:如果支持服务提供商的技术水平不高或不可靠,可能无法正确地解决用户的问题,甚至导致系统损坏或数据丢失。

       3.2.3 生态风险

       系统生态链风险指的是在系统生态链中的各个环节中存在的潜在威胁和安全风险,其中包括供应商、合作伙伴、第三方组件、开发者和最终用户等。

       1、供应商安全性问题:系统可能依赖于供应商提供的硬件、软件或云服务。如果供应商的安全措施不足或遭受攻击,可能泄露用户数据、中断服务或导致业务中断。

       2、合作伙伴安全风险:如果系统与合作伙伴进行数据共享或依赖于其提供的服务,那么合作伙伴的安全漏洞或不当操作可能导致系统数据泄露或遭受攻击。

       3、第三方组件的漏洞:系统可能依赖于第三方组件、库或服务,这些组件可能存在漏洞或安全问题。攻击者可以利用这些漏洞来入侵系统或获取用户敏感信息。

       4、开发者安全性问题:系统的开发人员可能存在安全意识不足、代码错误或恶意操作的风险。这可能导致系统代码中存在漏洞或后门,进而提供攻击者的入口。

       5、用户错误或不安全行为:系统的最终用户可能会通过错误或不安全的操作导致系统遭受威胁。例如,使用弱密码、点击恶意链接、共享敏感信息等。

       3.2.4 开源生态活跃度  

       系统的开源生态活跃度指的是该系统的开源社区的活跃程度和健康状况。

       1、开源社区人员活跃度:活跃的开源生态系统通常拥有大量参与者,包括开发者、贡献者、用户和专业人士。他们积极参与项目的开发、文档编写、问题讨论和解答,为该系统的成长和发展贡献力量。

       2、代码更新频繁:活跃的开源生态系统通常具有频繁的代码更新,并以稳定的版本发布。开发者不断改善和优化系统的功能、性能和安全性,通过修复错误和漏洞来保持系统的稳定性和安全性。

       3、社区交流和合作:活跃的开源生态系统通常有活跃的社区交流和合作氛围。开发者和用户之间进行交流,分享经验、建议和最佳实践,并合作解决问题,促进系统的持续改进。

       4、应用生态系统丰富:活跃的开源生态系统通常有丰富的应用生态系统,包括插件、扩展、工具和周边服务等。这些应用丰富了系统的功能和生态,提供了更多的选择和集成方式。

       5、文档和支持资源完善:活跃的开源生态系统通常有完善的文档和支持资源,为开发者和用户提供指导和技术支持。这些资源包括官方文档、示例代码、教程、论坛和邮件列表等,帮助用户更好地使用和理解系统         

       3.3 业界主流Linux操作系统调研

       我们对市面上主流的商业Linux操作系统进行调研分析,下表为Redhat、SUSE、Oracle、Ubuntu、TencentOS、Euler、麒麟等操作系统对比分析:


       如上表,Redhat不管是在市场占有率、使用场景、兼容性、技术服务能力、CentOS系统可迁移上都表现优秀,生态成熟,操作系统支持各种数据库、中间件、容器及应用软件,和公司使用契合度高,能满足公司当前核心业务场景。

       3.4 Redhat的优势  

       红帽的优势:基于产品先进性、市场事实标准 + OS源代码级支持


       1、以Linux内核为基础的开源生态体系已经是全球IT创新的发动机,也是我们今天常见的大多数基础IT技术的摇篮(虚拟化、容器、云计算、大数据、AI/ML等)

       2、当今绝大多数主流企业级开源技术都直接或间接复用了Linux内核中的组件,Linux内核是当今企业级开源技术的根基。

       3、红帽可提供源代码级的支持与服务

       4、能提供专业的技能培训,例如:Red Hat System Administration (RHCSA)、Red Hat Certified Engineer (RHCE)、Red Hat OpenShift Administration (DO280)、Red Hat Virtualization (RHV) Administration (RH318)、Red Hat Ansible Automation (DO407)等等,涉及系统、安全、存储、开发和云计算等领域。

       5、整体服务表现比较优秀,并有着完善的生态系统,对软件、硬件兼容性较好。

       6、在系统稳定性、可靠性、安全性表现比较突出,这对于我们企业非常重要,尤其在关键核心业务系统上。

四、制造企业核心系统迁移方案

       当前业务场景复杂,操作系统的迁移替换需要前期详细规划以及跨部门间的协作,同时又是一项长期持续化的工作,需要长期投入和应用部门进行沟通、设计方案、最后再进行实施落地。

       在系统迁移的过程中既要保证业务稳定运行,又要保障系统顺利迁移,我们对核心的业务系统进行分类,主要有以下三类:

       1、标准应用系统

       2、数据库

       3、容器平台

       4.1 业务迁移可行性分析


       4.2 CentOS迁移替换策略

       4.2.1 新系统交付策略

       1、完成商业操作系统标准化(系统配置、安全加固、参数调优等)

       2、完成私有云、公有云商业操作系统模板制作,并开始推广使用

       3、新交付的主机采用商业操作系统         

       4.2.2 现有核心系统迁移替换策略

       1、应用系统采用重新部署方式进行替换。

       2、数据库采用重建备机,再进行主备切换。

       3、容器平台只迁移计算节点,MASTER节点暂不迁移,等待产商提供成熟解决方案。

       4.2.3 历史存量迁移策略  

       1、企业历史存量

       由于历史原因,我司存在大量CentOS5、CentOS6的系统,存在部分系统无人维护以及无法溯源等情况。

       2、迁移风险评估

       针对这部分存量系统,迁移风险主要有以下3点:

       1)存在无人认领的系统,无法确定该系统是否在运行,是否能进行下线,能否进行迁移。

       2)有人认领,但是迁移难度较大。老旧系统部署未留下手册,或者人员流动导致相关文档丢失。

       3)有人认领,也有相关文档,但应用管理人员不理解,导致比较难以协调。对于应用管理人来说希望系统尽可能稳定,系统迁移过程中可能会存在一些风险,而不会主动配合系统迁移,需要一定的沟通成本。

       3、迁移验证工作量

       系统迁移验证的工作量可能因不同项目而异,没有一个通用的度量单位或公式来精确计算,老旧系统下线或迁移这是一个持久化的工作。下列以一个应用系统迁移举例说明,包括功能验证、数据验证、性能验证、安全验证、兼容性验证、用户验收测试。

       1)功能验证:确保在迁移后系统的核心功能正常工作。这包括验证各项业务功能、流程和逻辑在目标系统中的正确性和一致性。

       2)数据验证:验证数据在迁移过程中的完整性、准确性和一致性。这涉及验证源系统数据的导出和转换过程,并检查目标系统数据的导入和格式是否正确。

       3)性能验证:验证系统在目标环境下的性能表现,包括响应时间、并发处理能力、吞吐量等。这可能需要进行负载测试、性能监测和调优等工作。

       4)安全验证:确保迁移后的系统在安全方面符合要求。包括验证访问控制、身份认证、数据加密等安全机制的正确性和有效性。

       5)兼容性验证:验证系统在目标环境中的兼容性,包括硬件平台、操作系统、数据库、中间件和第三方组件等。这可能涉及修改代码或进行配置调整。

       6)用户验收测试:由系统的最终用户进行测试和验收,以确保系统满足他们的需求和期望。

       4、迁移操作工作量

       系统迁移的操作工作量因项目而异,一般是根据项目的具体情况和需求,进行评估和计划。包括以下6点:

       1)系统分析和规划:对源系统进行详细分析,了解其组成部分、依赖关系、数据结构和功能。规划迁移策略,包括确定目标系统环境、数据迁移方法、测试计划和上线计划等。

       2)环境设置和配置:准备和配置目标环境,包括硬件、操作系统、数据库、中间件和网络等。确保目标环境满足源系统的要求,并进行必要的调整和优化。

       3)数据迁移:导出源系统的数据,并将其转换为适合目标系统的格式和结构。然后将转换后的数据导入目标系统,并进行验证和测试。

       4)应用程序迁移:将源系统的应用程序代码和配置迁移到目标系统。这包括代码的转移、文件的复制、数据库的迁移、中间件的配置等操作。确保应用程序在目标系统中正确运行,并进行必要的调试和修改。

       5)测试和验证:对迁移后的系统进行全面的测试和验证,包括功能测试、性能测试、安全测试等。确保迁移后的系统满足预期的要求和质量标准。

       6)系统优化和调整:根据实际情况进行系统的优化和调整,以提高性能、稳定性和安全性。这可能包括对配置参数的调整、系统的调优和增加扩展能力等操作。

       4.3 迁移工具介绍

       迁移工具支持Centos Linux或Oracle Linux转化成 Red Hat Enterprise Linux 7和 Red Hat Enterprise Linux 8,目前不支持CentOS Linux 6或者Oracle Linux 6转化成RHEL 6。


无
       详情参考官方文档:

       Converting from an RPM-based Linux distribution to RHEL Red Hat Enterprise Linux 8 | Red Hat Customer Portal

       (https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/converting_from_an_rpm-based_linux_distribution_to_rhel/index)


五、总结

       本文介绍了制造企业核心系统迁移目前遇到的问题,以及我司对这些问题的分析、路线的选项分析、核心系统迁移方案的设计。

       回顾下最初的三个问题:

       问题一:在CentOS7停止更新后,系统稳定性能否得到有效保障?

       问题二:CentOS Stream能否替代CentOS7,在生产环境上大规模推广使用?

       问题三:有没有适合在我司运行的操作系统类型?系统的稳定性和安全性都能满足企业要求,以及如何进行选型分析?         

       最后结论如下:

       1、在CentOS7停止更新后,系统稳定性无法得到有效保障,存在系统稳定性和安全风险。

       2、CentOS Stream暂时无法替代CentOS7,在生产环境上大规模推广使用,CentOS Stream更适合开发人员使用。

       3、经过市场调研和分析,Red Hat Enterprise Linux最满足我们的业务系统的稳定性、可靠性、可迁移行的需求,最后选型Red Hat Enterprise Linux对当前CentOS7系统进行替换。
责任编辑:王聪
读者评论 (0)
请您登录/注册后再评论