Proxmox VE集叢重新加入節點 / Proxmox VE Cluster re-add (decluster) node
因為原本Proxmox VE集叢(Cluster)中有些節點(node)故障了,我想要移除該節點再重新加入,可是加入的手續卻沒這麼單純。參考sigxcpu的說明,我將作法摘要再這篇供大家參考。
This article will introduce how to re-add node in Proxmox VE Cluster.
不能直接用pvecm操作 / pvecm delnode & add not work
原本我的想法是先做delnode,再將自己加入。原本想像的指令如下:
pvecm delnode <self-node>
pvecm add <another-node>
可是實際上,雖然delnode不會顯示錯誤訊息,但是卻也無法順利從集叢中移除自己的節點。而且在用add加入節點時,也會發生以下錯誤訊息:
authentication key already exists
重新加入節點的腳本 / Script for Re-add node
在Proxmox論壇找了一下,才發現sigxcpu寫的解法。
Step 1. 移除節點設定 / Delete Cluster Configuration (Decluster)
首先要停止服務、移除相關設定,然後重新開機。我撰寫了腳本上傳到github,你也可以直接用此腳本來操作。
decluster.sh檔案內容如下:
#!/bin/bash
service cman stop
killall -9 corosync cman dlm_controld fenced
service pve-cluster stop
rm /etc/cluster/cluster.conf
rm -rf /var/lib/pve-cluster/* /var/lib/pve-cluster/.*
rm /var/lib/cluster/*
reboot
Step 2. 重開機後加入節點 / Add to Cluster
重開機之後再正常執行加入節點的指令即可:
pvecm add <another-node>
這個節點必須是已經是目標集叢中的一員,可以用IP指定。大致上這樣就完成了。
小結:隱憂? / Conclusion: Something Strange…
今天下午我按照這個作法重新加入節點之後,集叢中的其他節點就無法正常運作了,整個集叢無法連線,但各別機器可以正常提供服務。
我現在還不清楚原因為何,是不是跟我重新加入節點有所相關。總之之後有其他發現的話,我會再介紹其他解決的方法。
authentication key already exists問題以加入-force參數解決
回覆刪除例如
pvecm add 10.1.0.1 -force
這篇最後的問題在於伺服器之間的時間沒有同步
回覆刪除當時間差異超過10分鐘以後,Proxmox Cluster會出現異常
解法是利用ntpdate同步
舉例來說:
具體解決方法是
1. 安裝完pmox之後,安裝ntpdate
apt-get update; apt-get install -y ntpdate
2. 第一次跟ntpdate -u pool.ntp.org
ntpdate -u pool.ntp.org
3. 之後每一小時做ntpdate -u [master]
ntpdate -u 10.1.0.1
完成,收工