今天同事突然跟我說內部 Redmine 服務掛點了,想說它是執行在 OpenShift 上,且這個 OpenShift 是由散佈在 Proxmox cluster 中的多個 VM 所組成,要掛掉實在不容易,結果登入 Proxmox web console,發現整個 cluster 完全都異常,每個 node 都出現錯誤,且對 VM 的操作都會出現以下錯誤訊息:
TASK ERROR: cluster not ready – no quorum?
接著到每一台 node 上執行 pvecm status
,會出現以下兩種情況:
Cannot initialize CMAP service
Quorum: X Activity blocked
(其中 X 為某個數字)
很明顯 cluster status 在同步上有問題,上網找了一下資料,找到了解決方式,出現第一種錯誤的 node,執行以下指令後可以修復:
1 | $ systemctl restart pve-cluster.service |
而第二種錯誤的 node,則需要執行以下指令來修復:
1 | $ pvecm expected 1 |
執行以上指令讓 corosync 服務重新啟動,並抓取原本的 cluster 設定,就會恢復正常了。