在叢集中新增與移除節點:無法回頭的步驟
加入叢集不是被加進一份名單。加入的機器自己的設定會被叢集的設定取代,而移除是單向的。
AtlasPVE ·
本條目涵蓋以下問題
- proxmox 叢集加入節點
- proxmox 移除節點
- proxmox 加入叢集錯誤
- proxmox 重新加入已移除的節點
- proxmox 縮減叢集
把一台機器加入叢集,在面板上看起來只是點幾下。但在背後,這代表一台機器要交出自己的身分。而且其中有些步驟無法回頭。
加入的機器必須是空的
加入叢集不是把名字寫進一份名單。加入的機器原有的叢集設定,會被叢集的設定取代。
實際的後果是:上面已有機器的伺服器,無法在保留這些機器的情況下加入叢集。加入程序要求加入方的客體設定是空的。
規則很清楚:用空的節點加入。如果上面有工作負載,先把它搬走。搬移的方式是先建立備份,加入之後再還原。不要加入了再寄望一切順利;如果操作中途停止,就會落得既沒有舊狀態,也沒有新狀態。
移除是單向的
這是真正需要小心的部分。從叢集移除一個節點後,就無法以相同的名稱和相同的身分把這個節點帶回來。
原因是:留下來的叢集會在自身狀態中繼續保留被移除節點的身分。一台帶著相同身分回來的機器,會讓叢集所見與實際狀況之間產生矛盾。
如果想重新使用被移除的機器,只有一條路:從頭重新安裝。這不是為了方便的建議,而是唯一安全的途徑。
移除前先將機器關機
第二條規則:要移除的節點先關機,並保持關機。試圖移除仍在執行的節點,會導致這個節點重新出現並擾亂叢集。
順序是:先把上面的工作負載搬走,將機器關機,然後再從叢集中移除。
移除的隱藏副作用:多數改變了
這是沒有人會算進去的部分。移除一個節點時,叢集預期的票數也必須跟著改變。
從三節點叢集移除一個節點,會剩下兩個節點,而兩個節點正是最脆弱的狀態:只要其中一個倒下,剩下的單一節點就湊不成多數,叢集會自行鎖定。
所以,讓一個節點退役這個動作,可能在不知不覺間把叢集推進最糟的配置。決定縮減時,從一開始就要考慮是否會降到三個節點。
名稱在安裝時就決定
一個小卻惱人的細節:節點加入叢集後,名稱就很難更改。安裝時取的名稱,會沿用很長一段時間。
花一分鐘選一個有意義的名稱。三個節點全都叫 pve,半年後就很難分辨眼前看的是哪一台機器。
縮減的順序
縮減叢集時應遵循的順序:把上面的工作負載搬到其他節點,將機器關機,從叢集中移除,確認剩下的節點仍保有多數,如果要重新使用這台機器,就從頭重新安裝。
第四個步驟最常被跳過,而跳過時問題不會馬上顯現:一切照常運作,直到某個節點倒下。
Atlas 的做法
先把界線說清楚:Atlas 不執行節點的新增或移除。那是叢集自己的工作,也應該維持如此。
Atlas 做的是讓這些操作的影響變得看得見。讀取叢集狀態時,它不只回報有叢集存在;而是分開顯示已收集多少票、預期多少票。
這個區分的價值正好體現在本文中。移除節點後,可以看出預期票數是否真的下降了。如果叢集仍在等待一個已不存在的節點,已收集票數與預期票數之間的差距就會顯示出來,而這是在另一個節點倒下之前就該注意到的事。
同樣的資訊也用在維護方面:更新節點之前,會先計算此刻是否仍保有多數。在已鎖定的叢集上開始維護,只會讓問題擴大。
資料來源
Proxmox 官方文件。內容為英文,且在此主題上以官方文件為準。