CentOS 停止維護,一文看懂升級遷移路徑

亞馬遜雲開發者發表於2022-04-21

自 1994 年面世以來,紅帽 Linux 已經陪伴開發者們走過了將近 30 年的旅程。2014 年紅帽吸納了 CentOS 社群主要成員包括當時的專案領導者、核心專案貢獻者。Red Hat 和 CentOS 專案聯手,目的是開發用於企業 IT 的下一代 Linux 創新技術。這些年,我們看到開源模型繼續蓬勃發展,推動了 Linux 容器、Kubernetes、微服務、無伺服器等的興起。鑑於社群推動的創新步伐迅速,社群領導層在 2019 年決定向 CentOS Linux 社群引入一個新模式:CentOS Stream,將社群工作轉向上游。CentOS Stream 是一個面向開發者的發行版,旨在幫助社群成員、紅帽合作伙伴和其他人在更穩定和可預測的 Linux 生態系統中充分利用開源創新。

對終端使用者影響最大的是 CentOS Linux 7 和 8 逐漸停止維護和更新。現有 CentOS Linux 作業系統使用者如何應對?有哪些策略和實踐經驗可以借鑑?面對廣大使用者和開發者的普遍問題,亞馬遜雲科技 Tech Talk 特別邀請紅帽高階解決方案架構師朱賀帶來主題為《CentOS 作業系統停止維護後的對應方案與技術實踐》的相關技術分享。

CentOS 停更後,Linux 生態系統變化

很多開發者無法理清 Linux 生態系統中各種版本之間的關係。那麼我們首先做一個回顧,從 2014 年開始,紅帽企業級 Linux 生態系統形成了 Fedora、RHEL 和 CentOS Linux 協同發展的局面。社群上游通過 Fedora 面向廣大開發工程師提供桌面作業系統的持續創新和技術架構整合,大約每 6 個月釋出一個版本;中游是紅帽企業級 Linux,主要面向廣大企業和應用開發商,特點是穩定、安全和效能優化,產品迭代和發展節奏有條不紊;下游就是社群領導的 CentOS Linux ,面向成本敏感使用者和生態開發者。CentOS Linux 版本,產品迭代節奏緊跟 RHEL,使用者在零成本獲取的同時,一樣可以享受到紅帽 RHEL 的產品優勢。

7 年後, CentOS Linux 社群在 2021 年開始做出調整,逐步停更處於下游定位的 CentOS Linux 7、8 版本。CentOS 社群主要工作將轉向 RHEL 上游,並開發維護新的 CentOS Linux 版本——CentOS Stream。

CentOS Stream 是一個 Linux 開發平臺,來自 CentOS 專案,旨在增加透明度和圍繞 Red Hat® Enterprise Linux®開發過程的協作。CentOS Stream 對任何人開放,所有人都可以免費使用。它主要面向開發人員、合作伙伴和終端使用者。這些角色都能夠通過 CentOS Stream 提前獲得 RHEL 新特性,在此基礎上來做諸如開發第三方元件等工作,擴充他們對於 RHEL 生態的影響。相當於 CentOS Stream 是 RHEL 的試驗田。在此過程中 Fedora 和 RHEL 的生態定位並未發生改變。使用者可以從下面的地址獲得 CentOS Stream 的安裝介質:

CentOS 社群由下游轉到上游,釋出的 CentOS Stream 也會給下游原來在使 CentOS 的使用者帶來一些影響。目前 CentOS 各版本的變化情況如下:

  • CentOS Linux 6 早在 2020 年 11 月就已停更;
  • CentOS Linux 8 在 2021 年底停止更新;
  • CentOS Stream 8 將在 2024 年 5 月 31 號停止支援,它繼承於 CentOS Linux 8;
  • CentOS  Linux 7 使用者較多,這個版本將在 2024 年 6 月 30 日停止支援;
  • CentOS Stream 9 於 2021 年二季度釋出,紅帽正在 CentOS Stream 9 的基礎上開發 RHEL 9 產品;
  • 未來社群不會再有 CentOS Linux 的新版本,只有 CentOS Stream 不斷向前發展。

考慮到上述情況,紅帽建議廣大 CentOS Linux 使用者提前行動起來,儘快選擇一條適合的路徑開始遷移工作。

遷移至新作業系統的關鍵因素

在開展遷移工作時,對於不同的使用者,應採用不同的遷移策略。在企業使用者遷移至新作業系統時,主要會考慮成本因素、平滑過渡和服務託底三個角度,進而拆分為八個關鍵因素來做出決策:

  • 遷移轉換簡單,業務中斷最少
  • 執行穩定,奠定紮實的 IT 基礎
  • 生產級,穩定性、支援和安全性
  • 專業支援為您 IT 團隊保駕護航
  • 龐大合作伙伴生態支援多種供應商選擇
  • 生命週期支援和版本靈活性的長期價值
  • 清晰的產品路線圖值得您信賴
  • 主動分析環境減少企業的風險

對於 CentOS 使用者來說,常見的幾種轉換策略包括:

  • 生命週期結束後直接下線,適用場景極少。
  • 轉向其他社群免費版本,如 Rocky Linux、Ubuntu 或國內的社群版本。但這條路徑風險較大,因為這些社群版本與 CentOS 存在很多區別。
  • 轉向國內外發行版,如 SUSE、Amazon Linux 2。
  • 轉向紅帽主導的社群或發行版,如 CentOS Stream 或 RHEL。

如果使用者只是想在作業系統環境上做一些功能驗證和相容性驗證工作,或者準備以 CentOS 為基線開發自己社群的 Linux 版本,強調程式碼貢獻和修復問題,那麼轉向 CentOS Stream 就比較合適。但考慮到該版本生命週期非常短暫、很難滿足合規要求、未經安全認證、更新節奏不規則、缺乏商業支援等問題,紅帽不推薦在生產環境中執行 CentOS Stream。

基於 2021 年後 Linux 社群新的上下游關係,對於桌面使用場景和作業系統開發需求,紅帽推薦使用者使用 Fedora 做測試開發版本基線,在 CentOS Stream 上做和紅帽未來企業版 Linux 相容的軟體元件開發工作。生產環境關鍵業務負載推薦在企業級 Linux RHEL 上執行。另外,一個新的方向是容器打包、製作過程,需要基礎映象作為底座。為此紅帽提供了基於 Linux RHEL 的統一基礎映象,即為 UBI,方便使用者在標準的底層容器 OS 之上構建統一安全的企業應用並分發。

在亞馬遜雲科技上,體驗全面升級的的 Linux 有何不同

亞馬遜雲科技從 2008 年就成為了紅帽認證的全球雲服務提供商(CCSP),在亞馬遜雲科技上可以通過多種方式使用紅帽 RHEL 作業系統產品。第一種叫做 PAYG 方式(“隨付隨用”),直接在亞馬遜雲科技上面選擇相應的例項訂閱即可。另一種叫做 BYOS 方式,即使用者自帶的訂閱上雲,這種方式更適合已經購買了紅帽訂閱的客戶,實現混合雲部署策略。

亞馬遜雲科技紅帽 RHEL 產品有三條主線:

  • 標準的企業版 Linux 訂閱,是技術標準 RHEL 版本。
  • 針對 SAP Hana 的專有版本。
  • 用於容器化應用的 RHEL UBI 產品。

此外還有 OpenShift 產品、紅帽中介軟體、容器化儲存都可以在亞馬遜雲科技上進行認證和測試。

紅帽 RHEL 和亞馬遜基礎設施環境結合在一起,能夠帶來相較傳統基礎設施環境更高的效能優勢和構建穩定性。使用者在雲環境上可以使用靈活、穩定、高效的執行環境,來構建面向未來的混合雲基礎設施,自由選擇哪些應用部署在本地,哪些應用部署在公有云上,將兩者更好結合在一起。

亞馬遜雲科技提供的 RHEL 環境經過優化,可以為使用者提供開箱即用的最佳體驗。企業級 Linux 特性也被帶到公有云上,可以在雲上執行計算負載。亞馬遜雲科技業務分析能力也能夠與 RHEL 結合,幫助使用者更好地瞭解環境執行狀況。在一些比較彈性的使用場景當中,在雲上安裝應用能夠節省資金和成本,同時保證應用最佳效能。

在亞馬遜雲科技上,RHEL 還能夠提供高可用性(HA),為關鍵生產負載提供可靠性、可用性與可伸縮性。通過 HA 能夠解決單點故障問題,自動將故障切到新節點上,保證靈活性和不間斷服務。

使用者在亞馬遜雲科技上使用企業版 Linux 執行關鍵業務應用會有很多利處,總結為以下幾點:

  • 紅帽企業級 Linux 有長達十年的主要版本生命週期維護,包括更高階的安全功能、補丁、相關指南和技術支援工作。紅帽還提供一些就地升級工具,使遷移工作可以順暢便捷。
  • RHEL 有一個可以預測、對於生產環境友好的釋出節奏,方便使用者規劃自己的版本升級策略和路徑。同時 RHEL 會提供完整的文件和支援,幫助使用者更好地規劃更新。
  • RHEL 在安全性和合規性方面帶來很多企業級內建功能,比如自動化工具、定期主動版本釋出和更新通知、推送,還有可以方便查閱相關問題和資料的知識庫。另外紅帽訂閱還有用於管理、自動化、和預測分析的紅帽 Insights 工具。
  • 紅帽 Convert2RHEL 工具可以讓使用者在 CentOS 環境上做原地升級,簡化升級路徑。

對於廣大 RHEL 使用者,亞馬遜雲科技上的紅帽 RHEL 提供了覆蓋全面、非常靈活的訂閱計劃。尤其面向個人開發者和企業開發者,紅帽都準備了 0 成本的開發者可用訂閱。

轉向紅帽企業 Linux 遷移實踐

如果使用者選擇從 CentOS 轉向 RHEL,亞馬遜雲科技提供一些工具來幫助使用者完成任務,確保使用者享受到紅帽訂閱的價值。

主要的轉換途徑有兩種:

  • 公有云預構建映象。客戶在亞馬遜雲科技的虛擬例項上申請節點時選擇 RHEL,安裝的虛擬環境就使用了公有云預構建映象。亞馬遜在自己的雲市場裡提供了一些 CentOS 預構建映象,所以在雲上使用了 CentOS 的使用者只需在雲市場裡面選擇相應的 RHEL 映象,部署新的例項,就可以快速切換到 RHEL 上。切換映象需要重新部署相關應用、備份和匯出資料,存在一些遷移工作量。
  • 針對本地資料中心使用的 CentOS,紅帽提供一些相關的遷移服務和工具支援,幫助使用者通過自服務方式和現場實施方式遷移到 RHEL 上。如果使用者同時要部署到亞馬遜雲科技,亞馬遜雲科技會提供一些自定義雲的 RHEL 映象應用工具和方式,幫助使用者製作 AMI 的亞馬遜雲科技應用映象,讓使用者可以自定義映象上雲,同時可以滿足 RHEL 相關應用上雲的需求,一舉兩得。
  • 紅帽引入了 Convert2RHEL 標準化工具來簡化遷移工作,它也支援從 Oracle 的 Linux 遷移到 RHEL 上。Convert2RHEL 會自動根據 CentOS 版本確定轉換路徑,用紅帽原廠 RHEL 工具包替換 CentOS 社群包。轉換結束後作業系統會重啟,完全替換成 RHEL 版本並啟用,完成紅帽 RHEL 訂閱。對於 CentOS Linux 7 或 Oracle Linux 7,轉換目標系統為 RHEL 7;對於 CentOS Linux 8 或 Oracle Linux 8,轉換目標系統為 RHEL 8。

這種切換方案將帶來很多收益:

  • 無需重新部署作業系統或應用程式,可以原地升級;
  • 原有環境配置都被保留;
  • 內建故障安全和災難恢復,支援版本回退;
  • 遷移過程非常短暫,維護視窗較小;
  • 轉換後立即啟用紅帽 Linux 訂閱,簡化操作步驟;
  • 通過此過程可獲取最新的 RHEL 版本。

朱賀現場演示了通過 Convert2RHEL 快速將 CentOS 作業系統轉換為 RHEL 的過程。

由於上層應用與作業系統的依賴程度不同,當升級系統對前者的影響比較大時,使用者還需要一個實施遷移過程。例如遷移之前會對有些應用進行新環境的相容性測試,應用在遷移過程中可能需要做拆分、聚合等重構過程。重構過程中可能做一些應用開發工作,做一些改造或優化,或者老舊硬體遷移到新硬體上,等等。實施遷移流程就是用來應對作業系統遷移所帶來的各類問題。

紅帽會幫助使用者進行專案遷移引導或者規劃,提供一系列幫助和全方位管理服務。紅帽在資料中心運營環境基礎設施方面會幫助使用者做評估梳理,在執行時方面幫助使用者考察應用相容性、遷移方案可行性,在應用開發優化方面也有相應的諮詢協助。

針對遷移過程中跨平臺、應用程式回收、部署設計等問題,紅帽都可以提供現場運維保障支援,保證使用者平穩過渡直到遷移完成。

亞馬遜雲科技的環境也可以通過很多種方式使用紅帽 RHEL 映象,包括雲市場 AMI、私有 AMI、自定義AMI 上雲、官方釋出的紅帽金牌映象、第三方合作伙伴提供的亞馬遜 AMI 的版本等渠道獲得。國內使用者最直接的方式是雲市場映象、內建與構建映象。如果沒有適用版本或可用選項,RHEL 使用者仍能通過紅帽支援的自定義 AMI 映象將 RHEL 遷移到亞馬遜雲科技。紅帽支援標準商業訂閱客戶將資料中心的 on-promise 訂閱直接部署到亞馬遜雲環境。

總結

綜上所述,可以看到 CentOS 是源於 RHEL 的,企業遷移到 RHEL 可以獲得最大程度的安全性、穩定性、可靠性保障,也是對已有資產的最大保護。通過紅帽提供的訂閱、產品、服務,結合亞馬遜雲科技在 CentOS 轉換過程中提供的服務和支援,能夠幫助使用者很好地解決 CentOS 停更帶來的種種問題。

相關文章