CentOS操作系统

CentOS操作系统已全面停止维护(EOL),继续使用会使系统暴露在新的安全漏洞之下,成为攻击目标,并可能违反相关安全合规要求。建议尽快根据业务场景评估相关ECS实例风险并采取相应措施,保障业务的长期稳定与安全。

CentOS停止维护后的影响

CentOS操作系统已于2024630日全面停止维护(EOL),继续使用将会有安全风险。存量云服务器 ECS 实例可以继续运行,但无法获得包括问题修复和功能更新在内的任何软件维护和支持

版本

发布日期

停止维护 (EOL) 日期

行动建议

CentOS 8

2019-09-24

2021-12-31

立即迁移

CentOS 7

2014-07-07

2024-06-30

立即迁移或订阅ELS作为过渡

CentOS 6

2011-11-27

2020-11-30

立即迁移

CentOS 5

2007-04-12

2017-03-31

立即迁移

CentOS 停止维护后建议

操作系统的停服(EOL)事件需要结合业务现状进行处理。对公网提供服务以及对系统稳定性、安全性要求高的业务需要认真评估停服风险,并及时制定应对方案:

  • 针对新增业务:建议使用与CentOS兼容,且处于主流支持阶段的操作系统承载业务不建议使用已经进入EOL阶段的CentOS镜像新建ECS实例继续提供服务。

  • 针对存量业务:建议立即开始准备更换操作系统操作系统迁移

    对于CentOS 7操作系统,可订阅延长生命周期支持(ELS)作为过渡方案,以获取最新的安全更新和错误修复。为提高操作系统的长期稳定性,建议在ELS阶段结束前,尽快进行操作系统迁移替换。

更换或升级操作系统

第一步:选择目标操作系统

迁移替换操作系统前,建议综合考虑安全合规、稳定性、操作系统兼容性、预算、长期策略等因素,选择替代CentOSLinux操作系统

第二步:准备工作

在执行任何迁移替换操作前,请务必完成以下准备工作:

  • 应用测试:创建一个测试环境(使用目标操作系统),部署应用程序并进行全面的功能、性能和兼容性测试。确保所有业务逻辑在新环境下都能正常工作。

  • 迁移演练:在非生产环境中对所选迁移方案进行演练,熟悉操作流程和潜在问题,参考操作系统迁移中问题(Linux)排查常见错误。

  • 规划迁移窗口:迁移替换过程中,原实例系统会被安装或更新系统内核及软件包,并重启多次,期间业务无法正常运行,建议评估影响后,合理规划迁移窗口期,避免对业务造成影响。

第三步:进行操作系统迁移

重要

在执行迁移操作前,请务必为实例的系统盘和所有数据盘手动创建单个快照,以防数据丢失。正在创建中的快照会导致迁移失败,请等待快照创建完成后,再开始迁移替换操作。

方案

适用场景

影响

操作步骤

原地迁移

业务环境复杂,重构困难。 需保留系统盘内的所有数据和配置。

  • 系统盘数据保留。

  • 迁移期间,ECS 实例会重启,无法对外提供服务。

原地迁移方式仅适用于CentOS二进制兼容的操作系统

更换系统盘

希望保留原实例配置(如IP、实例ID),应用可以重新部署。

  • 系统盘被释放且数据无法恢复。

  • 迁移期间,ECS 实例会重启,无法对外提供服务。

更换操作系统(更换系统盘)后,需要重新部署业务运行环境。完成业务验证后,即可切换业务。切换前需完成原实例的数据备份和信息收集。

重新部署环境

业务无法容忍停机,需平滑切换流量。

需自行迁移数据和流量,并承担新建ECS实例的成本。

通过自定义购买实例替换原实例,在购买新实例后,重新部署业务运行环境。完成业务验证后,将业务流量正式切换到新实例,暂停原实例。

订阅延长生命周期支持

如果业务无法立即完成迁移,阿里云为 CentOS 7 用户提供了免费的安全更新订阅服务(延长生命周期支持(ELS))作为过渡方案。该服务提供自20240630日至20250630日期间的重大安全更新和错误修复。订阅CentOS的延长生命周期支持,可以获得安全更新、补丁修复及技术支持,但为确保长期安全与稳定,建议在ELS服务结束前立即开始准备操作系统升级迁移工作。

重要

阿里云仅提供有限的技术协助,无法保证提供所有的安全更新和错误修复,并且不承担由于安全更新订阅服务可能引发的故障责任。

订阅名称

提供方

收费情况

订阅包含的内容

订阅步骤

CentOS 7延长安全更新

阿里云

免费

订阅CentOS 7安全更新,阿里云将提供重大安全更新(CVE)和错误修复。

  • 支持架构:x86(64位)

  • 支持版本:CentOS 7.9(CentOS 7.6及以上版本请先升级到7.9版本)

  • 镜像类型:阿里云公共镜像

  • 安全更新:对于超危(Critical)、高危(Important)的重大CVE进行修复

  • 错误修复:对于重大Bug进行修复

通过操作系统控制台订阅CentOS 7安全更新。具体操作,请参见订阅管理

在订阅完成后,系统并不会自动进行漏洞修复和软件包更新,需要使用YUM工具手动完成,请参见基于YUM的安全更新操作

常见问题

CentOS可以迁移到哪些操作系统?

CentOS二进制兼容的操作系统

使用与CentOS二进制兼容的操作系统,可以在迁移至新系统重新部署环境时直接运行原操作系统上编译的应用程序和软件,无需因为接口的变化而重新编译。迁移至与CentOS兼容的操作系统不能保证BUG的兼容性,请查阅目标操作系统的社区支持文档解决此类问题。

操作系统

简介

是否收费

技术支持

Alibaba Cloud Linux

由阿里云官方提供,完全兼容RHEL/CentOS。该操作系统针对阿里云做了大量优化,并由阿里云免费提供长期支持和维护。

Alibaba Cloud Linux 3 Pro收费

阿里云支持

Anolis OS

由龙蜥社区(OpenAnolis)提供,100%兼容CentOS 8软件生态,且兼容其他主流Linux发行版。该操作系统是完全开源、中立且开放的发行版,具备企业级的高性能、稳定性、安全性以及可靠性。

阿里云支持

Red Hat Enterprise Linux

Red Hat公司提供的企业版操作系统,需要付费使用并可以享受Red Hat的订阅服务。

涉及镜像操作系统许可证费用,请参见Red Hat

阿里云联合Red Hat原厂支持

CentOS Stream

CentOS Stream是一个滚动升级的版本,由CentOS官方提供。

社区支持

Rocky Linux

一个社区化的企业级操作系统,兼容RHEL,作为CentOS的替代版本。

社区支持

AlmaLinux

CloudLinux团队构建的CentOS社区分支,1:1兼容RHEL,支持不停机更换操作系统。

社区支持

其他操作系统

操作系统

简介

是否收费

技术支持

SUSE Linux Enterprise Server

SUSE公司推出的一种可适应任何环境的操作系统,并专门针对性能、安全性和可靠性进行了优化。

涉及镜像操作系统许可证费用,请参见镜像计费

阿里云联合SUSE原厂支持

Ubuntu

Canonical开发的Linux发行版,可基于Ubuntu安装图形化桌面,以便于使用。

社区支持

Debian

Debian是一个流行的Linux操作系统,以其稳定性、安全性和自由软件原则而闻名。

社区支持

OpenSUSE

基于Linux内核的操作系统,由OpenSUSE项目社区开发维护,并且得到了SUSE等公司的赞助。

社区支持

如何将CentOS 7转换为Red Hat Enterprise Linux(RHEL)7 ?

以下操作需登录实例手动执行命令将CentOS 7转换成RHEL 7。建议使用操作系统迁移功能,将CentOS 7转换为RHEL 7,省去手动执行命令的繁琐步骤。

重要

转换前,建议停止重要的应用程序、数据库服务和存储数据等服务,并手动创建单个快照备份重要数据,避免误操作导致数据丢失或异常。

  1. (条件必选)如果服务器是阿里云服务器并且安装了云安全中心,需要先卸载云安全中心客户端

    云安全中心是CentOS默认的安全增强工具,而RHEL 7则使用Red Hat提供的安全增强工具。云安全中心与RHEL 7中的工具可能存在不兼容性和冲突,因此在转换过程中需要卸载云安全中心客户端,以确保系统的稳定性和兼容性。
  2. 下载新的阿里云仓库文件。

    sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    sudo wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
  3. 更新系统软件包并重启系统。

    sudo yum -y update
    sudo reboot
  4. Red Hat官方网站下载并安装convert2rhel工具。

    sudo curl -o /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release https://security.access.redhat.com/data/fd431d51.txt
    sudo curl -o /etc/yum.repos.d/convert2rhel.repo https://cdn-public.redhat.com/content/public/repofiles/convert2rhel-for-rhel-7-x86_64.repo
    sudo yum -y install convert2rhel
  5. 在阿里云上ECS实例购买软件许可证

    下载RHEL软件,需购买Red Hat Enterprise Linux许可证并激活。

  6. CentOS 7转换为RHEL 7。

    sudo convert2rhel -y  --no-rhsm --enablerepo rhui-rhel-7-server-rhui-rpms --enablerepo rhui-rhel-7-server-rhui-extras-rpms --enablerepo rhui-rhel-7-server-rhui-optional-rpms

    转换过程需要花费一定时间,请耐心等待。出现类似如下回显信息时,表示转换完成。

    image.png

  7. 重启系统。

    转换结束后会提示重启系统,重启系统可以引导新的RHEL内核,然后执行cat /etc/redhat-release检查操作系统是否转换成功。

    sudo reboot
  8. 校准实例的操作系统

    转换完成后,ECS实例详情页的操作系统(取决于创建实例时所选镜像的操作系统属性)与实际的操作系统(Red Hat Enterprise Linux Server release 7.9)不同,如希望修订实例的操作系统平台信息,可以校准实例的操作系统

如何在CentOS 6 EOL后切换源地址?

CentOS 6的源地址http://mirror.centos.org/centos-6/内容已移除,目前第三方的镜像站中均已移除CentOS 6的源。阿里云的源http://mirrors.cloud.aliyuncs.comhttp://mirrors.aliyun.com也无法同步到CentOS 6的源。在阿里云上继续使用默认配置的CentOS 6的源会发生报错。报错示例如下图所示:centos 6 error

解决方案

重要

本文主要说明ECS实例中的相关操作与配置。如果服务器不是ECS实例,需保证服务器具有公网访问能力,并且源地址http://mirrors.cloud.aliyuncs.com需要替换为http://mirrors.aliyun.com。例如,切换yum源为http://mirrors.aliyun.com/centos-vault/6.10/;切换epel源为http://mirrors.aliyun.com/epel-archive/6/

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 切换yum源。

    sudo vim /etc/yum.repos.d/CentOS-Base.repo 

    i进入编辑模式,修改为以下内容。

    [base]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6
    
    [updates]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6
    
    [extras]
    name=CentOS-6.10
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/centos-vault/6.10/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.cloud.aliyuncs.com/centos-vault/RPM-GPG-KEY-CentOS-6

    编辑完成后,按Esc键,并输入:wq保存退出文件。

  3. 切换epel源。

    sudo vim /etc/yum.repos.d/epel.repo

    i进入编辑模式,修改以下内容切换源。

    [epel]
    name=Extra Packages for Enterprise Linux 6 - $basearch
    enabled=1
    failovermethod=priority
    baseurl=http://mirrors.cloud.aliyuncs.com/epel-archive/6/$basearch
    gpgcheck=0
    gpgkey=http://mirrors.cloud.aliyuncs.com/epel-archive/RPM-GPG-KEY-EPEL-6

    编辑完成后,按Esc键,并输入:wq保存退出文件。

  4. 执行yum repolist命令,若成功列出仓库列表而没有报404错误,表示切换成功。

如何在CentOS 6实例切换源配置?

使用自定义镜像创建新的ECS实例,在启动实例时cloud-init会自动初始化系统的源配置。如果后续需要通过已切换源的ECS实例创建自定义镜像,并且需要保留已切换的源配置,需要在创建自定义镜像前,按照以下操作在已切换源的ECS实例中修改cloud-init的配置文件/etc/cloud/cloud.cfg

  1. 编辑/etc/cloud/cloud.cfg文件。

    sudo vim /etc/cloud/cloud.cfg
  2. i进入编辑模式,使用#注释掉cloud_init_modules:下的- source-address模块。

    注释后,文件内的配置信息如下所示:cloudinit

  3. 编辑完成后,按Esc键,并输入:wq保存退出文件。

相关文档

操作系统的生命周期和各个阶段的特点,以及应对停服或者延长支持阶段的常规方案,请参见操作系统生命周期概述