首先建構一個受支援的、帶有隔離功能的 SLES 15 HA 集群

對於 SLES 15,請註冊 SUSE Linux Enterprise 高可用性擴展,然後使用crm cluster init該crm cluster join擴展引導節點。在叢集上部署服務之前,請先驗證冗餘網路、節點隔離 (STONITH) 和仲裁。

此流程遵循截至 2026 年 10 月的 SLE HA 15 SP7 文件。請確認您已安裝的服務包和 CPU 架構;註冊識別碼和支援詳細資訊可能有所不同。

1. 準備節點和網絡

用於節點名稱、主機查找、Chrony 時間同步和網路介面的終端預檢指令
在組成叢集之前,檢查每個節點上的主機命名、名稱解析、時間同步和介面狀態。

使用至少兩個採用相同支援處理器架構的節點,每個節點使用靜態主 IP 位址,每個節點使用可解析的唯一名稱,並使用外部時間來源同步時脈。 SUSE 要求每個節點兩條冗餘的 TCP/IP 通訊路徑;所有節點的介面名稱必須一致。

hostname -f
getent hosts node1 node2
chronyc tracking
ip -br addr

在啟動之前,請對兩個節點執行檢查,並確認所選介面和名稱是否正確。

2. 註冊並安裝高可用性擴展

使用終端機指令註冊 SUSE Linux Enterprise High Availability 15.7 並安裝 ha_sles 模式
在每個節點上註冊 SLE HA 擴充功能並安裝其叢集管理模式。

SLE HA 是一個單獨註冊的擴充;SLES 本身不包含叢集模式。對於已註冊的 SLES 15 SP7 x86_64 節點,請啟用該擴充功能並在每個節點上安裝該模式:

SUSEConnect -p sle-ha/15.7/x86_64 -r ADDITIONAL_REGCODE
zypper install -t pattern ha_sles

請替換ADDITIONAL_REGCODE為您的訂閱代碼。產品識別碼適用於 x86_64 架構;其他架構請使用 SUSE 提供的符合識別碼。請確保所有節點運行在相同的 SLES SP 和 SLE HA 版本上。請參閱SUSE SLE HA 15 SP7 安裝指南。

3. 在初始化之前確定圍籬和法定人數

終端檢查清單指出,需要 STONITH 和冗餘 Corosync 路徑,並且應評估兩個節點的 QDevice 或 QNetd。
隔離是必要的支援;設計雙節點叢集時也應考慮仲裁行為。

支援的叢集需要啟用節點隔離(STONITH),並啟用 `with`stonith-enabled和startup-fencing`left` 參數。隔離功能可隔離不確定節點,防止分區兩側運行相同的服務。請為您的硬體或虛擬機器管理程式選擇支援的電源控制設備或具有經過測試的看門狗的 SBD。

對於雙節點叢集: SUSE 建議在偶數節點叢集中使用 QDevice/QNetd。它增加了一個獨立的仲裁投票機制,而不是隔離機制;如果在引導過程中包含 QDevice,請先設定單獨的 QNetd 伺服器。請參閱QDevice 和 QNetd 指南。

儲存迷思:共用儲存並非每個叢集的必需品,但應用程式資料需要其自身的共用、複製或可復原設計。 Pacemaker 負責遷移資源,而非複製應用程式資料。

4. 初始化第一個節點

終端機顯示 crm 叢集初始化訊息,並顯示叢集名稱和選擇 Corosync 網路位址的提示。
引導腳本在節點 1 上啟動,並請求 Corosync 應該使用的網路位址。

在節點 1 上,以 root 使用者身分或透過您已核准的 sudo 使用者設定啟動 CRM Shell 引導程式:

crm cluster init --name prod-ha

依照指示選擇所需的 Corosync 位址。此腳本會配置 Corosync、SSH、Csync2、叢集防火牆連接埠和 Hawk2;它會檢查時間同步,並提供可選的 SBD 和 Hawk2 管理 IP 位址。請查看/var/log/crmsh/crmsh.log引導設定。

在選擇 SBD 之前,請在每個節點上設定看門狗。如果使用外部隔離,請在工作負載啟動之前設定其支援的 STONITH 資源。切勿為了繞過缺少的設備而停用 STONITH。引導程式創建的是基本集群,而非高可用性 (HA) 應用。

5. 連接到第二個節點

在節點2上執行終端指令crm cluster join,連接到節點1上的根節點。
在節點 2 上執行 join 指令;使用初始化期間做出的相同網路介面選擇。

在節點 2 上安裝並註冊 SLE HA。如果使用 SBD,請在加入 HA 之前配置好其看門狗。然後,以 root 使用者身分執行以下操作:

crm cluster join -c root@node1

對於 sudo 使用者配置,請使用 SUSE 的USER@NODE1步驟。如果初始化時已配置,請指定相同的兩個介面。腳本會複製 Corosync 設置,設置 SSH 和 Csync2,並使節點 2 上線。對更多節點重複此動作;請勿混用引導程式和 YaST 設定方法。

6. 確認會員資格並確保管理安全

使用終端機執行 crm status 和 passwd hacluster 命令來檢查叢集並更改初始帳戶密碼
使用 Hawk2 之前,請檢查 CRM 狀態的成員資格並取代引導 HACluster 密碼。

從叢集節點檢查成員資格:

crm status

確認兩個節點均在線且達到法定人數。引導程式會hacluster使用初始密碼建立​​實例linux;請在每個已初始化的節點上變更密碼:

passwd hacluster

Hawk2 使用 HTTPS 協議,連接埠為7630。在信任自簽名憑證之前,請務必先與您的管理員確認其有效性。 Hawk2 管理 IP 位址並非應用程式的用戶端位址。

7. 為實際需要保護的服務增加資源

CRM Shell 範例定義了 IPaddr2 服務虛擬 IP 資源,並說明要使用本機子網路中的空閒位址。
此範例僅定義了一個浮動 IP 資源;請將其文件位址替換為您子網路中未使用的位址。

Pacemaker 透過資源代理人管理服務。在符合條件的節點上正確安裝和配置工作負載。此範例僅建立一個浮動 IP 原語:

crm configure primitive service-vip IPaddr2   params ip=192.0.2.50 cidr_netmask=24   op monitor interval=10s timeout=20s

192.0.2.50此位址保留用於文件記錄。請替換為子網路中的可用位址和正確的前綴。 IP 原語不會啟動應用程式或複製資料。請新增應用程式支援的代理,以及特定於工作負載的排序、託管和儲存行為;並遵循該產品的復原和隔離指南。

8. 在宣布叢集準備就緒之前,先測試故障轉移狀況。

終端命令將節點1置於備用狀態,檢查叢集狀態和範例虛擬IP,然後將節點1恢復在線。
規劃備用測試會檢查資源是否已遷移,然後將節點還原到服務狀態。

配置實際資源和隔離機制後,安排一次受控故障轉移測試。將節點 1 置於備用狀態,並從節點 2 檢查服務:

crm node standby node1
crm status
ping -c 4 SERVICE_VIP
crm node online node1

替換SERVICE_VIP為真實的客戶端位址。確認應用程式回應正常,資源按預期遷移,並且 node1 重新加入網路。 Ping 僅檢查網路可達性。 SUSE 會crm cluster crash_test故意中斷元件,因此請在已規劃的測試環境中使用。請閱讀SLE HA 安裝快速入門和隔離指南。

驗證服務可用性

測試後,確認兩個節點均處於預期狀態,隔離功能保持啟用狀態,且節點 1 恢復在線後,工作負載能夠透過其客戶端端點回應。僅憑成員視圖顯示綠色或 ping 通並不能證明應用程式已恢復。

留下評論

使用 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 在規定的保留期後刪除已刪除的文件,可靠地安排後台作業,並避免執行清除所有使用者回收站的命令。