← Back to list

如何在 Proxmox VE 雙節點叢集搭配 QDevice 作為額外的仲裁節點

在預設情況下,Proxmox VE 叢集中的每個節點都擁有一張投票權,且叢集中的操作必須取得超過半數的票數 (Quorum)…

Ivan Cheng · 2026-06-16 08:12 · 1 claps · 5.2 min read
#proxmox #qdevice #high-availability #quorum
Open on Medium ↗

如何在 Proxmox VE 雙節點叢集搭配 QDevice 作為額外的仲裁節點

在預設情況下,Proxmox VE 叢集中的每個節點都擁有一張投票權,且叢集中的操作必須取得超過半數的票數 (Quorum) 才能執行。當發生網路中斷或節點故障,導致叢集無法取得過半數共識時,叢集會自動進入唯讀模式,停止進行可能影響叢集狀態的變更操作,以避免資料不一致或衝突發生。

這也是叢集用來防止腦裂 (Split-brain) 與維護資料一致性的核心安全機制。

若想要在雙節點的叢集中啟用高可用性(HA),您會發現系統提示為了確保高可用性的可靠運作,建議叢集至少具備三張仲裁票 (Quorum Votes)。

At least three quorum votes are recommended for reliable HA.

At least three quorum votes are recommended for reliable HA.

使用指令查看雙節點的叢集狀態與仲裁資訊

pvecm status

可以看到目前兩個節點各自擁有一票,因此只要其中一個節點故障或節點間的網路發生中斷,叢集就無法取得過半數仲裁,進而失去仲裁能力。

在這種雙節點架構下,也較容易出現腦裂 (Split-Brain) 的情境,因此通常會建議搭配 QDevice 作為額外的仲裁節點。

加入 QDevice

QDevice 可安裝在第三台小型主機或虛擬機,我們使用 Ubuntu 24.04 為例。

先在您的外部伺服器上安裝 corosync-qnetd 軟體套件

sudo apt install corosync-qnetd

接著在所有 Proxmox VE 叢集節點上安裝 corosync-qdevice 軟體

apt install corosync-qdevice

完成上述步驟後,請確保叢集中的所有節點都已上線。

您可以在其中一個 Proxmox VE 節點上執行以下命令,將外部伺服器設定為 Corosync QDevice 叢集仲裁設備。

pvecm qdevice setup <QDEVICE-IP>

系統需要您確認並接受目標主機的 SSH 金鑰指紋 (fingerprint),直接輸入 yes,按下 Enter 鍵。

提示您輸入目標主機 (192.168.0.16) 的 root 密碼。

由於 Ubuntu 預設是禁止以 root 身分進行 SSH 登入,這會導致 Proxmox 的 pvecm qdevice setup 腳本在要求輸入密碼時卡住或直接失敗。

因為 Ubuntu 預設的 SSH 設定 (PermitRootLogin prohibit-password) 是允許 root 透過金鑰登入的,我們只要手動把 Proxmox 的公鑰貼過去,就能繞過密碼驗證。

在 Proxmox 節點執行以下指令並複製金鑰內容

cat /root/.ssh/id_rsa.pub

在 Ubuntu 目標主機 (192.168.0.16) 執行以下步驟

# 切換為 root 身分
sudo -i

# 建立 .ssh 目錄並設定正確的權限
mkdir -p /root/.ssh
chmod 700 /root/.ssh

# 將剛剛從 Proxmox 複製的金鑰加入 authorized_keys 檔案中
nano /root/.ssh/authorized_keys
# (在編輯器中貼上金鑰,存檔後離開)

# 設定檔案權限
chmod 600 /root/.ssh/authorized_keys

回到 Proxmox 節點再次執行設定指令。

pvecm qdevice setup <QDEVICE-IP>

這次系統會偵測到金鑰已存在,將自動登入並完成 QDevice 的安裝與設定。

使用指令查看雙節點的叢集狀態與仲裁資訊,可以看到出現 QDevice 了。

pvecm status

已設定 QDevice 的情況下,如果你要新增或移除叢集中的節點,必須先移除 QDevice,之後才能正常進行節點的新增或刪除操作。如果叢集的節點數量再次回到偶數時,再依照先前的步驟重新設定即可。

移除 QDevice

如果您使用官方 pvecm 新增 QDevice,則可以透過以下命令將其移除。

pvecm qdevice remove

多於兩個節點就不需要 QDevice?

是否需要使用 QDevice 主要取決於叢集節點數量的奇偶數,Proxmox VE 官方的建議如下。

  • 偶數節點叢集:特別建議用於 2 個節點的叢集,QDevice 只會提供一張額外的選票。因為即使 QDevice 本身故障,叢集的狀態也只會退回到沒有設定 QDevice 時的基準點,不會產生負面影響。
  • 奇數節點叢集:官方不建議在奇數節點數量的叢集中使用 QDevice,為了避免腦裂 QDevice 在奇數叢集中會提供 N - 1 張選票,依靠叢集本身的過半數機制即可。

透過加入 QDevice 作為額外的仲裁節點,除了可有效避免 Split-Brain 問題。即使僅有兩個節點,也能維持 Quorum 機制正常運作,進一步享有高可用性的功能,例如 Failover 與 VM Migration 能順利執行。

今天的分享就到這邊,感謝收看。

參考文件

[embed]Cluster Manager The Proxmox VE cluster manager is a tool to create a group of physical servers. Such a group is called a cluster. We…pve.proxmox.com


메타데이터
post_id
47f533a1b6cc
slug
如何在-proxmox-ve-雙節點叢集搭配-qdevice-作為額外的仲裁節點-47f533a1b6cc
url
https://medium.com/@jieshiun/%E5%A6%82%E4%BD%95%E5%9C%A8-proxmox-ve-%E9%9B%99%E7%AF%80%E9%BB%9E%E5%8F%A2%E9%9B%86%E6%90%AD%E9%85%8D-qdevice-%E4%BD%9C%E7%82%BA%E9%A1%8D%E5%A4%96%E7%9A%84%E4%BB%B2%E8%A3%81%E7%AF%80%E9%BB%9E-47f533a1b6cc
canonical_url
https://medium.com/@jieshiun/%E5%A6%82%E4%BD%95%E5%9C%A8-proxmox-ve-%E9%9B%99%E7%AF%80%E9%BB%9E%E5%8F%A2%E9%9B%86%E6%90%AD%E9%85%8D-qdevice-%E4%BD%9C%E7%82%BA%E9%A1%8D%E5%A4%96%E7%9A%84%E4%BB%B2%E8%A3%81%E7%AF%80%E9%BB%9E-47f533a1b6cc
author_url
https://medium.com/@jieshiun
status
ok
fetched_at
2026-06-21 20:33:08