如何在不停機的情況下將 SLES 15 SP5 移轉到 SP6

在將 SLES 15 SP5 叢集遷移到 SP6 時,您可以保持應用程式可用,但無法在完全不中斷的情況下升級並重新啟動單一作業系統實例。 SUSE 支援從 SP5 到 SP6 的服務包遷移,但線上遷移過程仍需要重新啟動系統。為避免服務中斷,請在受支援的 SUSE Linux Enterprise 高可用性 (SLE HA) 叢集中一次升級一個節點,或建置一個替代的 SP6 環境並將流量遷移到該環境。在每個主機無法使用期間,服務必須有其他正常運作的資源來運作。

本指南面向初學者,重點介紹 SLE HA 叢集的滾動升級路徑。它也解釋了在只有一台伺服器的情況下應該怎麼做,變更前需要檢查哪些內容,以及如何判斷服務是否保持健康。遷移工作負載的特定命令和順序取決於您的叢集資源、儲存和應用程式。

「無系統停機時間」是什麼意思?

服務包遷移是指在來源系統運作時取代系統軟體包。 SUSE 稱之為線上遷移。它減少了從安裝媒體啟動的需要,但官方流程建議在遷移成功後重新啟動系統。線上遷移與持續升級不同,後者會保持同一主機持續處理請求。

對於集群服務而言,滾動升級意味著將一個節點從服務中移除,進行遷移並重啟,然後將其重新加入集群,並在下一個節點上重複此操作。如果故障轉移成功且剩餘容量充足,應用程式可以從另一個節點繼續存取。故障轉移仍然可能導致活動會話短暫中斷,因此應測量面向使用者的服務,而不是假設「高可用性」能夠保證每個連線都保持暢通無阻。

SUSE 將 SLES 15 SP5 列為 SP6 的支援來源,支援線上和離線升級。支援的升級路徑已在SLES 15 SP6 升級路徑指南中記錄。 SUSE HA 文件支援在同一主版本內不同服務包之間進行叢集捲動升級。請參閱SLE HA 叢集升級指南。

在做出任何改變之前,請先選擇正確的方法。

  • 僅需一台獨立伺服器:安排維護視窗進行主機遷移和重新啟動。如果沒有第二個運作正常的應用程式實例,負載平衡器無法消除停機時間。
  • 兩個或多個 SLE HA 節點:在驗證仲裁、隔離、資源放置、儲存存取和備用容量後,考慮記錄的滾動升級程序。
  • 對於在 SLE 高可用性 (HA) 之外擁有副本的應用:升級替換的 SP6 主機或池,進行驗證,然後逐步遷移流量。這是一種應用層的藍綠部署或滾動部署;它與就地 SLES 遷移是分開的。
  • SUSE Manager 管理的主機:請遵循 SUSE Manager 用戶端遷移工作流程。 SUSE 建議不要使用 YaST 線上遷移,也不要zypper migration直接在 SUSE Manager 用戶端上進行遷移。

如果您的服務是資料庫或其他有狀態應用程序,請將應用程式相容性和資料複製視為單獨的工作流程。作業系統遷移路徑不會自動升級資料庫,也無法證明其複製和故障轉移設計是安全的。

準備集群和變更計劃

1. 確認版本、註冊資訊和升級資格

請檢查每個節點是否都執行 SLES 15 SP5,並且 SLE HA 擴充功能和其他模組或產品是否已按預期註冊。遷移目標清單取決於已安裝的產品和擴充功能。如果缺少 SP6 目標,則可能表示註冊、儲存庫或擴充可用性問題;請勿嘗試強制使用不同的儲存庫路徑以使目標顯示出來。

對於已註冊的系統,以下唯讀檢查可以幫助確定其狀態:

cat /etc/os-release
sudo SUSEConnect --status
sudo zypper lr -u

比較所有節點上已安裝的 SLES 和 SLE HA 產品、儲存庫和架構。如果主機由 SUSE Manager 管理,請使用對應的用戶端遷移流程,而不是直接執行下列步驟。

2. 修補、備份和測試

SUSE 要求來源系統在升級前必須處於最新補丁等級。請套用最新的 SP5 維護更新,並查看 SP6 發行說明,以了解軟體包、模組和應用程式的變更。 SUSE 的升級準備說明也要求進行目前備份並查看發行說明。

備份系統配置和應用程式數據,並驗證備份可以恢復。在與生產環境相同的測試叢集上測試整個流程,包括網路介面、儲存、叢集資源、第三方儲存庫和應用程式運行狀況檢查。記錄每個節點遷移和重新啟動所需的時間,以便估算變更視窗。

3. 證明剩餘節點能夠承載工作負載

在移除節點之前,請確認叢集運作狀況良好,且不存在未解決的資源故障。檢查其他節點是否能夠運行所需服務、掛載或存取所需存儲,以及處理預期流量。如果移除一個節點會導致 CPU、記憶體、網路或儲存過載,則應增加容量、降低負載或安排維護窗口,而不是聲稱不會造成停機。

請確保叢集隔離功能已依照您既定的高可用性 (HA) 設計進行配置並正常運作。隔離功能透過隔離不可信節點來保護共享資源;為了簡化升級而停用隔離功能可能會導致腦裂風險。請保持控制台或帶外訪問暢通,以防節點重新啟動後無法恢復。

逐個節點執行滾動升級

請將以下步驟作為規劃概要。務必根據您的 SLE HA 版本和資源配置執行相應的步驟;切勿盲目地將資源管理流程複製到生產環境中。

  1. 確認集群健康狀況。取得目前狀態並確認所有節點和資源均運作正常。在 SLE HA 中,crm status有一種已記錄的檢查群集狀態的方法。
  2. 將服務從節點遷移或移除。請使用叢集認可的流程,將應用程式資源部署到另一個運作正常的節點上。在繼續操作之前,請先驗證應用程式端點及其相依性儲存。
  3. 停止正在升級的節點上的叢集堆疊。 SUSE的滾動升級說明警告說,在軟體升級期間保持叢集資源管理器處於活動狀態可能會導致諸如隔離活動節點之類的問題。文檔中記錄的節點級命令是crm cluster stop。
  4. 執行 SLES 服務包遷移。在已註冊但未由 SUSE Manager 管理的宿主機上,使用下列命令sudo zypper migration。查看提供的 SP6 目標和儲存庫變更。在確認之前,請閱讀建議的軟體包操作,特別是要刪除或降級的軟體包。官方SLES 線上遷移說明中描述了此命令列路徑。
  5. 重啟並驗證節點。遷移完成後,請依照 SUSE 的指示重新啟動主機。確認主機啟動 SLES 15 SP6,所需產品已註冊,軟體倉庫與目標服務包匹配,節點無嚴重系統錯誤。
  6. 將節點重新加入叢集。按照已批准的步驟啟動其叢集堆疊;SLE HA 指南中有詳細說明crm cluster start。檢查crm statusHawk2 並驗證節點是否能順利重新加入集群,且無資源故障。
  7. 僅在集群穩定後重複此操作。將下一個節點的工作負載轉移出去,將該節點從叢集中移除,進行遷移、重新啟動、驗證,然後重新加入叢集。在剩餘叢集效能下降或承載超出其安全處理能力的工作負載時,切勿啟動下一個節點。

SUSE 聲明,混合版本叢集節點僅在滾動升級期間臨時支持,且升級應在一周內完成。建議制定一個簡短、可控的升級計劃,而不是無限期地保留混合版本叢集。最後,確認所有節點均運行 SP6,檢查叢集和應用程式的運行狀況,並查看日誌和儲存庫註冊資訊。

常見問題及解決方法

  • 未找到 SP6 遷移目標:請檢查註冊資訊、活動儲存庫,以及每個已安裝的模組或擴充功能是否具有支援的 SP6 目標。開始之前,請解決儲存庫或授權問題。
  • 解決方案建議移除一些意料之外的軟體包:請停止操作並調查軟體包來源、第三方軟體倉庫及其依賴項。 SUSE 指出,遷移過程中應停用過時的本地或 DVD 軟體倉庫。請勿接受您無法解釋的軟體包計劃。
  • 升級後的節點將無法重新加入:請將應用程式保留在健康的節點上,檢查叢集和系統日誌,並在重試之前驗證節點的網路、產品註冊、儲存庫配置和 SLE HA 軟體包。
  • 服務可訪問,但使用者報告錯誤:請測試應用程式事務,而不僅僅是主機可用性。驗證資料庫連線、共用儲存、身份驗證、排程任務以及任何負載平衡器運行狀況檢查。
  • 單一伺服器系統必須保持線上:沒有無需在同一主機上重新啟動的 SLES 服務包就地遷移流程。請新增第二個應用程式實例或安排維護期。

如何判斷是否避免了停機時間

在變更之前,定義一個可衡量的成功條件。例如:服務外部健康檢查在每個節點維護期間持續通過,錯誤率保持在約定的閾值範圍內,並且在某個節點不可用時,代表性用戶事務成功完成。記錄任何故障轉移間隙、會話遺失、工作排隊或效能下降的情況。如果端點保持運作但關鍵工作流程失敗,則遷移未達到服務等級目標。

滾動升級可以在單一伺服器重新啟動期間保持設計合理的服務可用。但它無法保證會話不會中斷,也無法彌補叢集容量不足的問題,更無法避免每個遷移主機重新啟動。對於單節點部署、未經測試的複製機制的有狀態應用程序,或包含不受支援擴展的集群,建議使用計劃維護窗口,或在遷移生產流量之前建置並驗證替代環境。

官方參考資料

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。