在 SLES 15 上設定 DM-Multipath 以實現可靠的 SAN 路徑
準備 SCSI SAN 路徑,啟用 multipathd,檢查 SUSE 的硬體預設設置,並在不猜測陣列設定的情況下驗證穩定的設備映射。
對於 SLES 15,請註冊 SUSE Linux Enterprise 高可用性擴展,然後使用crm cluster init該crm cluster join擴展引導節點。在叢集上部署服務之前,請先驗證冗餘網路、節點隔離 (STONITH) 和仲裁。
此流程遵循截至 2026 年 10 月的 SLE HA 15 SP7 文件。請確認您已安裝的服務包和 CPU 架構;註冊識別碼和支援詳細資訊可能有所不同。

使用至少兩個採用相同支援處理器架構的節點,每個節點使用靜態主 IP 位址,每個節點使用可解析的唯一名稱,並使用外部時間來源同步時脈。 SUSE 要求每個節點兩條冗餘的 TCP/IP 通訊路徑;所有節點的介面名稱必須一致。
hostname -f
getent hosts node1 node2
chronyc tracking
ip -br addr
在啟動之前,請對兩個節點執行檢查,並確認所選介面和名稱是否正確。

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 安裝指南。

支援的叢集需要啟用節點隔離(STONITH),並啟用 `with`stonith-enabled和startup-fencing`left` 參數。隔離功能可隔離不確定節點,防止分區兩側運行相同的服務。請為您的硬體或虛擬機器管理程式選擇支援的電源控制設備或具有經過測試的看門狗的 SBD。
對於雙節點叢集: SUSE 建議在偶數節點叢集中使用 QDevice/QNetd。它增加了一個獨立的仲裁投票機制,而不是隔離機制;如果在引導過程中包含 QDevice,請先設定單獨的 QNetd 伺服器。請參閱QDevice 和 QNetd 指南。
儲存迷思:共用儲存並非每個叢集的必需品,但應用程式資料需要其自身的共用、複製或可復原設計。 Pacemaker 負責遷移資源,而非複製應用程式資料。

在節點 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) 應用。

在節點 2 上安裝並註冊 SLE HA。如果使用 SBD,請在加入 HA 之前配置好其看門狗。然後,以 root 使用者身分執行以下操作:
crm cluster join -c root@node1
對於 sudo 使用者配置,請使用 SUSE 的USER@NODE1步驟。如果初始化時已配置,請指定相同的兩個介面。腳本會複製 Corosync 設置,設置 SSH 和 Csync2,並使節點 2 上線。對更多節點重複此動作;請勿混用引導程式和 YaST 設定方法。

從叢集節點檢查成員資格:
crm status
確認兩個節點均在線且達到法定人數。引導程式會hacluster使用初始密碼建立實例linux;請在每個已初始化的節點上變更密碼:
passwd hacluster
Hawk2 使用 HTTPS 協議,連接埠為7630。在信任自簽名憑證之前,請務必先與您的管理員確認其有效性。 Hawk2 管理 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 原語不會啟動應用程式或複製資料。請新增應用程式支援的代理,以及特定於工作負載的排序、託管和儲存行為;並遵循該產品的復原和隔離指南。

配置實際資源和隔離機制後,安排一次受控故障轉移測試。將節點 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 通並不能證明應用程式已恢復。
準備 SCSI SAN 路徑,啟用 multipathd,檢查 SUSE 的硬體預設設置,並在不猜測陣列設定的情況下驗證穩定的設備映射。
找到持有 Zypper 包鎖的進程,區分進程衝突和包鎖,並在不盲目刪除鎖定檔案的情況下重試更新。
註冊 SLE HA,引導 SLES 15 個節點,然後在依賴故障轉移之前新增隔離、仲裁和測試服務資源。
將 Zypper 刷新錯誤追溯到 SUSE、RMT 或第三方端點,然後應用正確的伺服器端或快取修復程序,同時不停用必要的更新。
透過檢查資料和元資料使用情況、安全地擴展池以及防止重複中斷來解決 SUSE LVM 精簡池空間錯誤。
確定 Btrfs 是否故意設定為唯讀、空間不足或在發生錯誤後保護數據,然後選擇適合該原因的恢復路徑。
準備鏡像通道,建立啟動金鑰,並在沒有直接網路存取的情況下引導 SLES 15 用戶端,同時保持管理員簽到所需的連線。
修復 YaST 透過 SSH 啟動 XIO 時出現的錯誤,驗證 X11 轉送和 xauth,並在不需要遠端視窗時切換到 ncurses 介面。
找到更新前的 Btrfs 快照,以唯讀方式測試它,並使用 Snapper 實現永久恢復,同時了解哪些資料保留在根回滾之外。
Send SLES system logs to a remote rsyslog collector over authenticated TLS, with certificate checks, outage buffering, and delivery tests.