ETCD高可用特性學習

https://coreos.com/etcd/docs/latest/admin_guide.html html

只有當集羣中多數節點正常的狀況下,才能夠進行運行時的配置管理。若是集羣多數節點損壞,集羣就失去了寫入數據的能力。官方推薦3,5,7爲etcd cluster數目,其中7能夠知足大部分狀況

 

一般狀況下,若是是Follower節點宕機,若是剩餘可用節點數量超過半數,集羣能夠幾乎沒有影響的正常工做。若是是Leader節點宕機,那麼Follower就收不到心跳而超時,發起競選得到投票,成爲新一輪term的Leader,繼續爲集羣提供服務。 
在最初啓動etcd集羣時,發現核心節點的數量已經知足要求時,多餘的自動啓用Proxy模式,若核心節點掛掉,proxy模式的節點並不會轉化爲普通節點,etcd目前沒有任何機制會自動去變化整個集羣總共的節點數量

 

 
節點遷移和替換

當你節點所在的機器出現硬件故障,或者節點出現如數據目錄損壞等問題,致使節點永久性的不可恢復時,就須要對節點進行遷移或者替換。當一個節點失效之後,必須儘快修復,由於etcd集羣正常運行的必要條件是集羣中多數節點都正常工做。node

 

遷移一個節點須要進行四步操做:api

  • 暫停正在運行着的節點程序進程
  • 把數據目錄從現有機器拷貝到新機器
  • 使用api更新etcd中對應節點指向機器的url記錄更新爲新機器的ip
  • 使用一樣的配置項和數據目錄,在新的機器上啓動etcd

 

在最初啓動etcd集羣時,發現核心節點的數量已經知足要求時,多餘的自動啓用Proxy模式,若核心節點掛掉,proxy模式的節點並不會轉化爲普通節點

 

災難恢復
當集羣超過半數的節點都失效時,就須要經過手動的方式,ectd提供了一套備份數據並沒有損重建cluster 的方法 

 

  • 備份數據到新機器
  • 利用數據和 -force-new-cluster從新建立一個單node集羣
  • 修改peer url將其餘節點加入

 

  爲了最大化集羣的安全性,一旦有任何數據損壞或丟失的可能性,你就應該把這個節點從集羣中移除,而後加入一個不帶數據目錄的新節點。
相關文章
相關標籤/搜索