如何在不停機的情況下將 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 服務包就地遷移流程。請新增第二個應用程式實例或安排維護期。

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

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

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

官方參考資料

留下評論

修正 SUSE Linux Enterprise Server 上的 Cockpit Web 控制台無法連線的問題

修正 SUSE Linux Enterprise Server 上的 Cockpit Web 控制台無法連線的問題

透過檢查 HTTPS URL、systemd 套接字、已安裝的軟體包、firewalld 區域、憑證和日誌,對 SUSE Linux Enterprise Server 上的 Cockpit 進行故障排除。

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

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

了解如何透過經過測試的 SLE HA 滾動升級、逐節點檢查以及明確的單一伺服器停機時間注意事項,在 SLES 15 SP5 到 SP6 遷移期間保持服務的可用性。

如何在 Ubuntu Server 24.04 上設定 Pi-hole DNS-over-HTTPS

如何在 Ubuntu Server 24.04 上設定 Pi-hole DNS-over-HTTPS

在 Ubuntu Server 24.04 上設定 Pi-hole,使其使用 dnscrypt-proxy 進行 DNS-over-HTTPS 連接,然後驗證本地上游伺服器,避免常見的 DNS 衝突。

如何修復 YaST GUI 無法透過 SSH X11 轉送啟動的問題

如何修復 YaST GUI 無法透過 SSH X11 轉送啟動的問題

排查 YaST GUI 透過 SSH X11 轉送導致的故障。測試 DISPLAY,修復已記錄的 Qt XIO 錯誤,檢查 SSH 設置,並在必要時切換到 ncurses。

如何設定本地 SUSE RMT 伺服器(SMT 替代方案)

如何設定本地 SUSE RMT 伺服器(SMT 替代方案)

在 SLES 15 上設定 SUSE RMT,同步 SCC 元數據,鏡像選定的儲存庫,透過 HTTPS 註冊客戶端,並了解從 SMT 遷移的限制。

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

修正 Pardus Linux 23 上無法偵測到音效卡驅動程式的問題

追蹤 Pardus Linux 23 上缺少的音效卡問題。安全地檢查 ALSA 檢測、核心模組、音訊服務、輸出設定檔、韌體和更新。

修正 Pardus KVM 虛擬機器中顯示解析度卡在 1024x768 的問題

修正 Pardus KVM 虛擬機器中顯示解析度卡在 1024x768 的問題

修正 Pardus KVM 虛擬機器卡在 1024x768 解析度的問題,檢查虛擬 GPU、SPICE 代理、X11 或 Wayland 會話,並正確驗證更高的顯示模式。

如何在 Debian 系統中開機時自動掛載遠端 SSHFS 目錄

如何在 Debian 系統中開機時自動掛載遠端 SSHFS 目錄

使用基於金鑰的 SSH、/etc/fstab、systemd 網路選項、自動掛載和驗證步驟,在 Debian 啟動時自動掛載遠端 SSHFS 目錄。

修正 SLES 系統升級期間出現的「無法分配記憶體」錯誤

修正 SLES 系統升級期間出現的「無法分配記憶體」錯誤

排查 SLES 升級過程中出現的「無法分配記憶體」問題。檢查 RAM、交換空間、OOM 日誌和進程限制,然後在不中斷軟體包事務的情況下進行復原。

修復 Harmonica OS 平板電腦的觸控螢幕校準問題:選擇合適的 Linux 修復方案

修復 Harmonica OS 平板電腦的觸控螢幕校準問題:選擇合適的 Linux 修復方案

追蹤 Harmonica OS (HamoniKR) 平板電腦的觸控偏移、旋轉和顯示對映問題。比較 X.Org 和 libinput 的修復方案,安全地進行測試,並了解何時校準無效。