Ubuntu

Corosync 動態添加節點

  • July 16, 2014

我一直在嘗試使用 Pacemaker & Corosync 進行 HA 設置。我將它安裝在兩個 Ubuntu 14.04 Linode 上,在過時的配置範例和教程上反復多次後,設法讓它啟動並執行。這主要是因為我必須將其設置為使用 UDP 單播才能工作(多播和廣播在 Linode 的網路上不起作用)

兩個節點都能夠看到對方,並且它們會檢測到另一個節點何時出現故障。偉大的!

現在我想在集群執行時嘗試添加第三個節點,所以我去尋找一些命令來做到這一點……不……不……這個看似關鍵和簡單的動作是,盡我所能告訴,不可能用一個簡單的命令。

要添加節點,您必須將其添加到每個節點的配置中,然後關閉集群、重新載入並重新啟動它。高可用性已經不在了。

我能找到的動態添加節點的唯一方法是在 cmap_keys(8) 下。
我必須先執行一個命令才能找到下一個空閒節點 ID。然後,對於目前在集群中的每個節點,手動將其添加到 nodelist.node.x.ringy_addr 中,以此類推。即使它無法在重新啟動後繼續存在,我也必須手動更新每個配置文件。然後我必須將新的配置文件複製到新節點,然後啟動它。

可以連接到集群中的任何節點,發出命令更改現有節點,添加資源,這些將在所有節點之間同步。但是我不能以同樣的方式簡單地添加一個新節點?

拜託,有人告訴我,我只是不擅長搜尋資訊,並且有一個簡單的命令可以在實時執行的 HA 集群中添加新節點。是否有一些我忽略的工具或方法?

感謝您的時間!

如果您使用多播,您可以快速輕鬆地將新節點添加到集群中。因此,我懷疑開發人員可能從未見過允許通過 UDP 單播動態添加節點的需要。至少我自己知道不存在“乾淨”的方式。

但是,首先將 Pacemaker 置於維護模式,您應該能夠重新載入 Corosync 並應用新編輯的配置文件而不會中斷服務。在維護模式下,當您停止並重新啟動 Corosync 和 Pacemaker 時,不會停止目前正在執行的服務。

引用自:https://serverfault.com/questions/612848