阿里云的CentOS公共镜像来源于CentOS官方,当CentOS停止维护EOL(End of Life)后,阿里云将不再提供软件更新和安全补丁。为了避免操作系统停止维护带来的影响,对于使用CentOS任何版本的阿里云ECS用户,建议您在EOL之前采取相应的措施以持续获得软件更新和安全补丁。本文主要介绍CentOS操作系统EOL的应对方案。
背景信息
2020年12月08日,CentOS官方宣布了停止维护CentOS的计划,并推出了CentOS Stream项目。更多信息,请参见CentOS官方公告和FAQ。
CentOS 6已于2020年11月30日停止维护、CentOS 8已于2021年12月31日停止维护、CentOS 7已于2024年06月30日停止维护,阿里云已同时停止对该操作系统的支持。已经使用CentOS 6/7/8创建的ECS实例运行不会受到影响,但不再更新镜像。
CentOS EOL如何应对?
阿里云推荐您将CentOS上运行的工作负载迁移到替代的操作系统,以继续获取软件更新和安全补丁。如果您短期内暂时无法完成迁移,请参见需要继续使用CentOS。
迁移前,请先评估:
需要迁移到哪种目标操作系统。
您可以综合考虑安全合规、稳定性、操作系统兼容性、预算、长期OS策略等因素,决定具体的迁移方案。可替代CentOS的Linux操作系统及其说明,请参见可替代CentOS的操作系统。
根据需求评估操作系统的迁移方式。
迁移策略建议:
若您的业务运行在阿里云容器服务(ACK)或是使用ECS自建K8s集群,优先推荐您使用轮转升级。
如果您重新部署环境有困难,建议您尝试原地迁移的方式。
迁移方案
轮转升级
(仅适用于ACK和自建K8s场景)
重新部署环境
(重新购买新实例)
重新部署环境
(更换操作系统)
原地迁移
方式说明
通过ACK的节点池管理功能进行轮转升级,或在自建K8s集群中对系统轮转升级。
重要ACK是通过更换系统盘的方式升级。更换操作系统后,您原来的旧系统盘会被释放且所有数据会被清空,请您确保系统盘上无数据,且K8s的配置对系统盘无依赖后再升级。建议您在更换操作系统前创建快照备份数据。
购买新实例时选择目标操作系统,在新实例上部署应用后替换源实例。
基于已有实例替换系统盘后重新部署应用。
重要更换操作系统后,原来的旧系统盘会被释放且所有数据会被清空,请务必在更换操作系统前创建快照备份数据。
原地迁移是指使用特定工具将现有系统升级或转换为另一个版本或类型的操作系统,保留已有的应用程序、用户数据和系统配置等。
适用场景
仅适用于使用了阿里云容器服务或自建K8s集群的业务。
无限制
无限制
仅适用于对系统做了轻度修改(比如修改了部分系统默认配置),且有大量不方便导出的数据的系统。
适用目标操作系统
如果您使用了ACK,请参考操作系统镜像概述。
如果您自建K8s集群,请自行选择目标操作系统。
无限制
说明您可以选择阿里云提供的公共镜像,也可以在云市场选择认证的软件伙伴提供的精选镜像以及服务伙伴提供的操作系统替换服务,详情请参见CentOS替换解决方案。
无限制
说明您可以选择阿里云提供的公共镜像,也可以在云市场选择认证的软件伙伴提供的精选镜像以及服务伙伴提供的操作系统替换服务,详情请参见CentOS替换解决方案。
业务中断时间
业务无中断
新旧实例替换期间,业务是否中断取决于业务的系统架构是否做了主从备份相关的措施。
原有实例迁移期间ECS实例会重启,期间无法对外提供服务。
原有实例迁移期间ECS实例会重启,期间无法对外提供服务。
业务程序适配工作
因为业务代码运行在容器中,不需要为新操作系统适配和重编。
使用C/C++一类编译型语言构建的业务程序需要基于新系统重编,以避免新系统依赖库版本升级导致业务程序动态链接失败的问题。
使用C/C++一类编译型语言构建的业务程序需要基于新系统重编,以避免新系统依赖库版本升级导致业务程序动态链接失败的问题。
在您进行原地迁移前,请务必在新系统上先部署业务程序进行验证,否则迁移后可能出现业务程序无法运行或运行出错等问题。
迁移风险
风险极低。
不易出现兼容性问题。
风险低。
整体迁移过程可控,在出现兼容性问题时易于回滚,易于排查问题。
风险低。
整体迁移过程可控,在出现兼容性问题时易于回滚,易于排查问题。
风险较高。
若您对原系统做了深度修改和定制(比如使用自行编译的so/工具替换系统原有so/工具),则迁移失败的概率比较大。
由于旧系统的很多数据和配置依然存在,出现兼容性问题时排查会有难度。
迁移成本
创建的快照会产生费用,需要额外的资源成本。
购买新实例需要额外但整体可控的资源成本。
创建的快照会产生费用,需要额外的资源成本。
迁移过程中会自动保存快照会产生费用,需要额外的资源成本。
系统可维护性
可维护性高。
无历史遗留问题。
可维护性较高。
基于全新系统部署业务程序,可以清除历史遗留问题,更有利于长期的系统健康和可维护性。
若实例有数据盘,则数据盘中可能保留部分原有错误数据或配置,会影响系统可维护性。
可维护性较高。
基于全新系统部署业务程序,可以清除历史遗留问题,更有利于长期的系统健康和可维护性。
若实例有数据盘,则数据盘中可能保留部分原有错误数据或配置,会影响系统可维护性。
可维护性较低。
系统盘中可能存在很多旧的数据和配置与新系统不兼容。
具体操作
请参见升级节点池。
请参见方案一:重新部署环境。
请参见方案一:重新部署环境。
请参见方案二:原地迁移。
可替代CentOS的操作系统
与CentOS二进制兼容的操作系统
二进制兼容性(Binary Compatibility)是指操作系统不需要重新编译程序代码就可以直接运行在另一个操作系统上编译的应用程序和软件。这意味着在重新部署环境时,无需因为接口的变化而重新编译应用程序和软件,从而节省了时间和资源,但是不保证BUG的兼容性。
操作系统 | 简介 | 是否收费 | 技术支持 | 相关链接 |
Alibaba Cloud Linux | Alibaba Cloud Linux由阿里云官方提供,完全兼容RHEL/CentOS生态和操作方式。该操作系统针对阿里云做了大量优化,并由阿里云免费提供长期支持和维护(LTS)。 | 否 | 阿里云支持 | |
Anolis OS | Anolis OS由龙蜥社区(OpenAnolis)提供,100%兼容CentOS 8软件生态,且兼容其他主流Linux发行版。该操作系统是完全开源、中立且开放的发行版,具备企业级的高性能、稳定性、安全性以及可靠性。 | 否 | 阿里云支持 | |
Red Hat Enterprise Linux | Red Hat Enterprise Linux是Red Hat公司提供的企业版操作系统,您需要付费使用并可以享受Red Hat的订阅服务。 | 涉及镜像License费用,请参见镜像计费 | 阿里云联合Red Hat原厂支持 | |
CentOS Stream | CentOS Stream是一个滚动升级的版本,由CentOS官方提供。 | 否 | 社区支持 | |
Rocky Linux | Rocky Linux是一个社区化的企业级操作系统,位于Red Hat Enterprise Linux(RHEL)下游。Rocky Linux与CentOS一样,提供了适用于服务器的稳定版本,旨在作为CentOS的完全兼容替代版本。 | 否 | 社区支持 | |
AlmaLinux | AlmaLinux是CloudLinux团队宣布构建的一个稳定版CentOS社区分支。该操作系统实现了与Red Hat Enterprise Linux(RHEL)二进制文件的1:1兼容,并提供了不停机更换操作系统的能力。 | 否 | 社区支持 |
其他操作系统
操作系统 | 简介 | 是否收费 | 技术支持 | 相关链接 |
SUSE Linux Enterprise Server | SUSE Linux Enterprise Server是SUSE公司推出的一种可适应任何环境的操作系统,并专门针对性能、安全性和可靠性进行了优化。 | 涉及镜像License费用,请参见镜像计费 | 阿里云联合SUSE原厂支持 | |
Ubuntu | Ubuntu是由Canonical开发的Linux发行版,用户可以基于Ubuntu安装图形化桌面,以便于使用。 | 否 | 社区支持 | |
Debian | Debian是一个流行的Linux操作系统,以其稳定性、安全性和自由软件原则而闻名。 | 否 | 社区支持 | |
OpenSUSE | OpenSUSE是一个基于Linux内核的操作系统,由OpenSUSE项目社区开发维护,并且得到了SUSE等公司的赞助。 | 否 | 社区支持 |
如何迁移操作系统和工作负载
您可以根据选择的目标操作系统以及实际业务需求,选择以下方式迁移操作系统和工作负载。两种方式的优缺点及适用场景,请参见CentOS EOL如何应对?。
方案一:重新部署环境
方案二:原地迁移
原地迁移方式仅适用于以下源操作系统和目标操作系统之间的迁移。
说明如果您选择将CentOS 7迁移至Alibaba Cloud Linux 3,迁移前可以通过Alibaba Cloud Linux 3与CentOS 7的区别了解Alibaba Cloud Linux 3与CentOS 7之间有哪些区别。
源操作系统
目标操作系统
参考链接
CentOS 7/8
Alibaba Cloud Linux
Anolis OS
Red Hat Enterprise Linux
CentOS 7
AlmaLinux 8/9
CentOS 8
CentOS Stream 8
CentOS
Rocky Linux 8/9
需要继续使用CentOS
如果您因业务需求需要继续使用CentOS,并且需要使用CentOS系统中的一些安装包,需要切换操作系统的源。
CentOS 7 EOL后,镜像仓库默认保留CentOS 7的原有软件包,因此您无需手动切换源,可以继续使用CentOS 7系统中的软件包。然而使用EOL的系统可能存在安全隐患,建议您根据实际情况及时进行系统升级或迁移。
相关文档
其他各操作系统在官方平台公布的生命周期计划,请参见操作系统维护周期。
在镜像使用过程中更多的EOL问题,请参见镜像EOL问题。
不同操作系统版本可能包含不同的操作系统特性、性能优化、基础软件包的更新以及安全补丁的应用。更多信息,请参见公共镜像发布记录和Alibaba Cloud Linux发布记录。