在 SLES 15 SP5 升級到 SP6 期間保持服務可用

當 SLES 伺服器執行面向客戶的服務時,很難安排短暫的維護視窗。 SUSE 支援從 SLES 15 SP5 線上遷移到 SP6 服務包,但升級後的機器仍然需要重新啟動;「線上」並不意味著無需重新啟動。為了保持應用程式的可存取性,可以逐一升級冗餘節點,或建立一個 SP6 替代伺服器並將流量遷移到該伺服器。單一伺服器無法在重新啟動期間保持其作業系統的可用性。

範例場景:一個虛構的團隊在負載平衡器後方的三個 SLES 15 SP5 節點上執行一個 Web 應用程式。當一個節點處於維護狀態時,該應用程式可以從其他兩個節點處理請求。以下步驟展示了該團隊如何遷移叢集;這只是一個範例,並不代表已進行過測試,也不代表每個叢集都能容忍節點故障。

1. 選擇與服務相符的路徑

對於從 SLES 15 SP5 升級到 SP6,SUSE 文件中提供了線上和離線兩種升級方法。線上方法使用 YaST 遷移,即zypper migration在作業系統運行時進行遷移,但遷移後需要重新啟動系統。軟體包變更也可能導致服務重啟,因此僅靠線上遷移無法保證應用程式的連續性。

只有當您的工作負載已由支援的、運作狀況良好的叢集保護時,才使用 SLE 高可用性滾動升級流程。叢集必須保持仲裁,並且擁有足夠的容量,以便在某個節點離線的情況下也能運作服務。普通的負載平衡器(不具備應用程式冗餘)或當一個節點停止運行時會失去仲裁的雙節點叢集是不夠的。如果伺服器是獨立運作的,請使用並行的 SP6 主機,並進行經過測試的工作負載/資料切換,以保持其可及性;​​否則,請安排停機時間進行重新啟動。

範例終端顯示了用於檢查叢集健康狀況的 crm status 命令。
在將節點從服務中移除之前,檢查叢集健康狀況的示例性命令視圖。

2. 檢查目標並制定恢復計劃

在對叢集進行任何操作之前,請先驗證起始版本、註冊資訊、軟體倉庫和支援的擴充功能。 SUSE 將 SLES 15 SP5 到 SP6 列為支援的升級路徑。線上遷移要求電腦已在 SUSE 用戶中心或本機 RMT 伺服器上註冊;SUSE Manager 用戶端必須使用 Manager 用戶端遷移流程,而無法zypper migration直接運作。可用的目標版本取決於已註冊的產品和擴充功能。

根據 SUSE 的發布訊息,截至 2026 年 1 月 1 日,SLES 15 SP6 已遷移至 LTSS。在安排此遷移之前,請確認您的訂閱和註冊來源目前是否支援 SP6 目標版本。如果不支持,請勿強制更改儲存庫以模擬受支援的遷移。

使用應用程式支援的方法備份應用程式資料和配置,並確認可以還原它們。查閱 SLE HA 升級指南和 SP6 發行說明,以了解您的擴充功能、資料庫、儲存和硬體的相關資訊。在虛擬叢集中,維運人員也會檢查仲裁、隔離、複製運作狀況、備用容量、負載平衡器運作狀況,以及一種經過測試的將流量從每個節點轉移出去的方法。快照可以幫助回滾受支援的 Btrfs 根檔案系統配置,但它不能取代應用程式或資料庫備份。

範例終端,已準備好使用 zypper 遷移命令來檢查可用的服務包目標。
範例遷移命令;在確認目標節點可用後,在要升級的節點上執行該命令。

3. 一次升級一個耗盡能量的節點

對於每個節點,請遵循 SLE HA 滾動升級流程和叢集運作手冊。除非產品特定的流程明確允許,否則切勿一次升級多個節點。

  1. 確認剩餘節點能夠滿足工作負載需求。檢查應用程式運行狀況和叢集狀態。使用負載平衡器和叢集資源的相關文檔,將流量從節點轉移或轉移出去。如果剩餘節點無法維持法定人數或滿足服務的最低容量要求,請勿繼續操作。
  2. 停止該節點上的叢集堆疊。 SUSE警告:在軟體更新期間保持叢集資源管理器處於活動狀態可能會導致活動節點被隔離。在選定的維護節點上運行:
sudo crm cluster stop
範例終端顯示 CRM 叢集在選定的維護節點上停止運行
依照滾動升級流程的要求,停止正在升級的節點上的叢集堆疊的範例性命令。
  1. 啟動服務包遷移並檢查遷移方案。執行文件中提供的 Zypper 遷移指令:
sudo zypper migration

僅當 SLES 15 SP6 出現在可用目標清單中時才選擇它。仔細閱讀軟體倉庫和軟體包計劃,特別是那些擬移除或降級的軟體包,如果發現任何意外更改,請立即停止操作。不要接受未經審核的計劃。特定的軟體包清單會因已安裝的軟體和已註冊的擴充功能而異。

以 SLES 15 SP6 為例的遷移目標螢幕
目標選擇示意圖;請核實所提供的產品和服務包是否適用於特定主機。
範例終端提示,用於在繼續服務包遷移之前查看軟體包更改
範例軟體包審查提示:在繼續之前,請檢查刪除、降級和儲存庫變更。
  1. 重啟已升級的節點。 Zypper報告遷移成功後,重新啟動機器以啟動 SP6 核心和服務:
sudo reboot
範例終端顯示了服務包遷移後的重啟命令
重啟步驟範例;此節點在重啟期間將不可用,因此叢集中的其餘節點必須承擔服務。
  1. 重新加入叢集並驗證後再移動到下一個節點。節點返回後,啟動其叢集堆疊:
sudo crm cluster start
sudo crm status

等待叢集報告節點已加入且資源運作狀況良好,然後根據運行手冊將其恢復到服務狀態。從叢集外部檢查應用程式。僅當上述步驟完成後,才對下一個節點重複此程序。 SUSE 僅允許在滾動升級期間短暫混合使用不同版本,並指示管理員在一周內完成叢集升級。

範例終端顯示 CRM 叢集開始重新加入升級後的節點
節點啟動 SLES 15 SP6 後,叢集重新加入指令範例。
範例終端顯示升級後叢集驗證的 CRM 狀態
範例驗證命令,用於在繼續處理下一個節點之前檢查叢集狀態。

4. 驗證服務,而不僅僅是作業系統標籤

所有節點升級完成後,使用 `npm run dev` 確認其版本cat /etc/os-release,使用 `npm run build` 檢查叢集健康狀況crm status,並使用 `npm run check` 檢查失敗的 systemd 單元systemctl --failed。然後透過應用程式的正常客戶端位址測試實際應用程序,包括健康檢查、資料庫或儲存存取以及任何對用戶重要的排程任務。查看遷移日誌,並確認每個節點上預期的儲存庫和擴充都已啟動。

作業系統遷移成功並不意味著所有應用程式依賴項都相容,也不意味著沒有請求中斷。如果應用程式無法容忍節點故障轉移,請使用經過驗證的資料複製和受控端點切換的藍綠部署,或安排維護視窗。有關具體的命令選項和支援條件,請參閱 SUSE 的SLES 15 SP6 線上升級指南、支援的升級路徑、SLE HA 捲動升級流程以及SUSE Multi-Linux Manager 5.1 SP6 生命週期過渡說明。

留下評論

使用 Systemd 定時器可靠地執行 ownCloud 後台作業

將按需作業運行替換為 systemd 定時器,該定時器每 15 分鐘執行一次 ownCloud 支援的 occ system:cron 命令。

透過尋找故障路由來恢復 ownCloud WebDAV 同步

透過 Apache、Nginx 或反向代理程式追蹤 WebDAV 請求,然後使用經過驗證的 PROPFIND 測試確認 ownCloud 同步功能正常。

設定 Nextcloud 的公共 URL,以便它可以存取自身。

透過設定其規範 URL 並從伺服器本身檢查 DNS、HTTPS 和反向代理路由,修復 Nextcloud 缺少出站位址警告的問題。

在 Ubuntu 24.04 上設定 Nextcloud Redis 快取

在 Ubuntu 24.04 上設定 Nextcloud Redis 快取

透過本機 Unix 套接字配置 APCu 和 Redis,以實現 Nextcloud 快取和檔案鎖定,並提供目前和舊版 Nextcloud 的步驟。

使用 Systemd 定時器自動執行 Nextcloud Cron

檢查 Nextcloud 的 cron 模式,修復其 systemd 服務和計時器,並驗證後台作業在啟動後以及每隔五分鐘運行一次。

使用 Redis 清除 Nextcloud 的檔案鎖定警告

啟用可靠的 Nextcloud 檔案鎖定,選擇適當的 Redis 或 Valkey 後端,並驗證警告是否清除,同時避免並發檔案變更的風險。

如何才能獲得 Nextcloud A+ 安全評級

如何才能獲得 Nextcloud A+ 安全評級

使用最新更新、HTTPS 和 HSTS、精確的反向代理信任以及針對公共伺服器的檢查,修復 Nextcloud 掃描中常見的錯誤。

啟用 Nextcloud 伺服器端加密,並評估其影響

為需要加密的儲存配置 Nextcloud SSE,保護加密金鑰,並在加密現有文件之前測量傳輸和 CPU 影響。

將 Elasticsearch 全文搜尋功能新增至 Nextcloud

將 Nextcloud 的檔案搜尋連接到 Elasticsearch,索引文件內容,並選擇適合您的伺服器和安全需求的設定。

為 Nextcloud 已刪除檔案設定可靠的過期策略

為 Nextcloud 已刪除檔案設定可靠的過期策略

配置 Nextcloud 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。