2019年2月1日 星期五

[經驗分享]解決 Proxmox VE 在不支援 Multicast 環境下叢集通訊問題



前天的文章中提到,如果 Proxmox VE 叢集網路使用 Switch 不支援 Multicast 廣播的情況下,加上 Switch 可能因管理者不予更動或其它考量等,將會造成叢集連線問題。

今天將說明如何修改 Proxmox VE 的叢集設定,在無法解決造成問題的人下只好解決自己,來解決這個問題。







修改設定

請以文字編輯器開啟 /etc/pve/corosync.conf 檔案。

開啟 corosync.conf 設定檔


請在檔案中找到 totem 相關區塊,並在 totem 區塊裡新增一行設定,並將版本號加一(若原本為 1,請改為 2,依此類推),叢集才會把這次修改視為新的設定,從而複寫到其它節點。

增加 unicast 設定
transport: udpu
增加版本號 (請依您原本的版本號數+1)
config_version: 3

修改完成的設定檔如下:

修改 corosync.conf 設定檔


確認修改完成後,存檔退出,接著將 corosync 與 pve-cluster 服務重啟進行生效。
重啟叢集服務
systemctl restart corosync
systemctl restart pve-cluster





結論

使用 UDP-unicast (UDPU,單點傳播) 以後可以解決通訊的問題,但是 unicast 將比 multicast 使用更多的網路流量,導致可以支援的節點數下降,建議不要使用在超過四個節點的叢集