0%

[Proxmox VE] 修復 cluster 發生的 no quorum 錯誤

今天同事突然跟我說內部 Redmine 服務掛點了,想說它是執行在 OpenShift 上,且這個 OpenShift 是由散佈在 Proxmox cluster 中的多個 VM 所組成,要掛掉實在不容易,結果登入 Proxmox web console,發現整個 cluster 完全都異常,每個 node 都出現錯誤,且對 VM 的操作都會出現以下錯誤訊息:

TASK ERROR: cluster not ready – no quorum?

接著到每一台 node 上執行 pvecm status,會出現以下兩種情況:

  1. Cannot initialize CMAP service

  2. Quorum: X Activity blocked (其中 X 為某個數字)

很明顯 cluster status 在同步上有問題,上網找了一下資料,找到了解決方式,出現第一種錯誤的 node,執行以下指令後可以修復:

1
2
3
4
5
6
7
$ systemctl restart pve-cluster.service

$ systemctl restart pvedaemon.service

$ systemctl restart pveproxy.service

$ systemctl restart corosync.service

而第二種錯誤的 node,則需要執行以下指令來修復:

1
2
3
4
5
6
7
8
9
$ pvecm expected 1

$ systemctl restart pve-cluster.service

$ systemctl restart pvedaemon.service

$ systemctl restart pveproxy.service

$ systemctl restart corosync.service

執行以上指令讓 corosync 服務重新啟動,並抓取原本的 cluster 設定,就會恢復正常了。

References