熱門分類
載入中…
目錄0%

🧱 Proxmox VE 高可用叢集完整指南:HA、Node Failover、Quorum 與 Fencing 實戰解析

    🧱 Proxmox VE 高可用叢集完整指南:HA、Node Failover、Quorum 與 Fencing 實戰解析

    Proxmox VE(PVE)具備企業級 HA Cluster 能力,只要建立叢集並啟用 HA,便能在節點故障時自動將虛擬機(VM)或 LXC 容器移轉到存活節點繼續運作。 本篇是完整深入版,涵蓋 PVE HA 的核心概念與真實企業場景,包括:

    • 🔹 叢集架構與 Corosync 運作原理
    • 🔹 Quorum 的作用與投票機制
    • 🔹 HA Manager 的角色與 Failover 流程
    • 🔹 Fencing(自動隔離)如何保護叢集
    • 🔹 節點故障、網路分裂(Split Brain)情境解析
    • 🔹 實際 HA 設定與 troubleshooting

    若你正在建立企業級 PVE 叢集,這篇將是最完整的 HA 參考指南。


    📌 第一章:Proxmox Cluster 與 Corosync 基礎架構

    PVE Cluster 的核心在 Corosync(叢集通訊)與 PVE Daemon(管理服務)。 Corosync 透過 UDP Multicast 或 Unicast(建議)傳遞:

    • 心跳(heartbeat)
    • 投票(vote)
    • 節點狀態(online / offline)

    1.1 Corosync 網路建議

    • 使用 專用 Cluster Network(非 VM / Storage 流量)
    • 避免 Wi-Fi、VLAN trunk 混雜
    • 延遲(latency)需低且穩定

    只要 Corosync 網路品質不穩,整個叢集會出現 Node LOST、No quorum、HA freeze 等問題。


    📌 第二章:Quorum(法定票數)機制與 Node Vote

    Quorum 是所有 HA 架構最核心的概念,它決定:

    叢集是否允許存活節點繼續動作?

    2.1 Quorum 計算方式

    Quorum = (總節點數 / 2) + 1
    
    例如: - 3 節點 → quorum = 2 - 5 節點 → quorum = 3 當 quorum 不足時 → 叢集將停止對 VM / LXC 的 HA 操作,避免 split brain。

    2.2 為何至少建議 3 節點?

    因為: - 2 節點架構中,任何一台掛掉都會失去 quorum - 3 節點最小可行架構(1 掛掉仍剩 2 ≥ quorum) ➡ 若只能部署兩台,請看下一段 Fencing。

    📌 第三章:Fencing(隔離)是 HA 的「自殺機制」

    Fencing 的目的很簡單: 避免腦裂(Split Brain)!

    當節點失去網路或不回應時,叢集會強制「隔離」失聯節點,確保:

    - 不會出現兩台機器同時操作同一 VM - 不會導致資料毀損 - 叢集能安全重新選舉 leader

    3.1 PVE 的 Fencing 行為

    PVE 使用: - watchdog - hardware reset(若有 IPMI / iDRAC / iLO) 啟動後會強制讓問題節點重啟或退出。

    📌 第四章:Proxmox HA Manager 工作流程(Failover 運作原理)

    當 VM/LXC 標記為 HA Resource 時,HA Manager 會:
    1. 監測 VM / Node 狀態
    2. 若 VM 所在節點故障 → 判斷 quorum
    3. 觸發 Fencing(確保安全)
    4. 由存活節點接手 VM(Failover)
    5. 在其他節點自動重啟 VM

    Failover 速度視情況約 20 秒到 2 分鐘。


    📌 第五章:建立 HA Resource(VM / LXC 高可用)

    5.1 必要條件

    • 叢集至少 3 節點(或 2 節點 + QDevice)
    • 共用 Storage(ZFS over iSCSI / NFS / Ceph)
    • VM Disk 要能在所有節點查看

    5.2 設定 HA 的方法

    GUI:選擇 VM → More → Add to HA

    或 CLI:
    ha-manager add vm:101
    

    5.3 調整 Failover Priority

    ha-manager set vm:101 --state started --group default
    

    可以指定優先節點、避免某節點負載過高。


    📌 第六章:QDevice(兩節點叢集必備)

    如果你只有 2 台 PVE 節點,建議加入 QDevice(仲裁機制),否則任何一台掉線都會失去 quorum。

    6.1 QDevice 架構

    • 可部署於任何 Linux 主機
    • 不需安裝 PVE,只要 corosync-qnetd
    • 讓 2 節點架構變成「2+1」票數

    6.2 安裝方式(簡化)

    apt install corosync-qnetd
    pvecm qdevice setup IP
    

    2 節點架構會大幅穩定。


    📌 第七章:Storage 選擇與 Failover 必備條件

    7.1 哪些 Storage 能做 HA?

    Storage是否支援 Failover
    NFS✔ 可
    iSCSI(非 ZFS)❌ 不建議,需手動 mapping
    ZFS local❌ 無法跨節點
    ZFS over iSCSI✔ 可(帶 multipath)
    Ceph✔ 企業級推薦

    7.2 最佳建議

    企業環境 → Ceph

    中小企業 → NFS(穩定且簡單)


    📌 第八章:Failover 實際案例(節點掛掉後發生什麼?)

    案例:pve2 節點突然斷電

    1. Corosync 偵測不到 pve2 心跳
    2. HA Manager 開始計時「fence timeout」
    3. Fencing 生效 → watchdog 讓 pve2 自動 shutdown
    4. 系統在 pve1 / pve3 上重新啟動 VM
    5. Failover 完成

    整體過程約 30–60 秒。


    📌 第九章:常見問題(Troubleshooting)

    9.1 No Quorum

    原因:

    • 節點數不足(2 台其中 1 台掛掉)
    • Corosync 網路不穩
    解決:
    pvecm status
    pvecm expected 2
    
    ---

    9.2 Unable to fence / watchdog failure

    原因:

    - 節點卡死 - Storage I/O hang - CPU 過載 解法: - 確保 watchdog 啟用 - 監控 Storage latency ---

    9.3 VM 無法自動 Failover

    可能原因: - VM 未加入 HA - Storage 不是共享的 - Quorum 不足 - HA group 未設定

    📌 結語

    Proxmox VE 的 HA 功能可靠完整,但前提是正確的架構設計:穩定的 Corosync、共享 Storage、正確的節點數與 Fencing 行為。 掌握本文介紹的 Quorum、Failover、Fencing、QDevice 與 Storage 選擇,你就能打造企業級 HA 架構。

    下一篇將推出: 《Ceph on Proxmox:三節點高可用儲存架構完整部署指南》


    🔗 分享這篇 LINE Facebook X

    沒有留言:

    字級