阿里雲的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的作業系統。
根據需求評估作業系統的遷移方式。
遷移策略建議:
若您的業務運行在阿里雲Container Service(ACK)或是使用ECS自建K8s叢集,優先推薦您使用輪轉升級。
如果您重新部署環境有困難,建議您嘗試原地遷移的方式。
遷移方案
輪轉升級
(僅適用於ACK和自建K8s情境)
重新部署環境
(重新購買新執行個體)
重新部署環境
(更換作業系統)
原地遷移
方式說明
通過ACK的節點池管理功能進行輪轉升級,或在自建K8s叢集中對系統輪轉升級。
重要ACK是通過更換系統硬碟的方式升級。更換作業系統後,您原來的舊系統硬碟會被釋放且所有資料會被清空,請您確保系統硬碟上無資料,且K8s的配置對系統硬碟無依賴後再升級。建議您在更換作業系統前建立快照備份資料。
購買新執行個體時選擇目標作業系統,在新執行個體上部署應用後替換源執行個體。
基於已有執行個體替換系統硬碟後重新部署應用。
重要更換作業系統後,原來的舊系統硬碟會被釋放且所有資料會被清空,請務必在更換作業系統前建立快照備份資料。
原地遷移是指使用特定工具將現有系統升級或轉換為另一個版本或類型的作業系統,保留已有的應用程式、使用者資料和系統配置等。
適用情境
僅適用於使用了阿里雲Container Service或自建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如何應對?。
方案一:重新部署環境
建立執行個體或更換作業系統後,您還需重新部署與業務相關的運行環境,例如安裝軟體和庫(apt、yum等)、配置環境變數、部署應用等。可參考如下流程:
收集源執行個體應用軟體資訊,匯出關鍵應用配置及資料檔案。
準備好目標執行個體,對照源執行個體應用軟體資訊,重新安裝指定的應用軟體,並將源執行個體匯出的應用配置及資料檔案匯入。
若您的業務程式是基於C/C++一類編譯型語言編寫的,請基於新系統重編您的業務程式。
測試應用業務是否正常。
暫停源執行個體業務,將應用資料的同步割接到目標執行個體並進行業務驗證,最後將目標執行個體的應用業務正式切換上線運行。
方案二:原地遷移
原地遷移方式僅適用於以下源作業系統和目標作業系統之間的遷移。
說明如果您選擇將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發布記錄。