ceph monitor部署若干注意事項

關於monitor的部署,有下面幾個須要注意的地方:html

1. monitor節點的數量。算法

通常來講,在實際運行中,ceph monitor的個數是奇數個。初始最好至少配置3個。而後增長的時候,2個2個的增長。socket

2. monitor的容錯機制工具

2n+1(n>=0)個,只要正常的節點數>=n+1,ceph的paxos算法能保證系統的正常運行。因此,對於3個節點,同時只能掛掉一個。5個節點,最多掛掉兩個。其實看到這裏,也就解釋了,爲何monitor最好奇數個。由於5個節點和6個節點,效果是相同的,都是隻能最多掛掉兩個。因此偶數個,其實也是浪費一個。htm

3.掛掉節點超過半數的影響blog

若是monitor節點超過半數掛掉,paxos算法就沒法正常進行仲裁(quorum),此時,ceph集羣會阻塞對集羣的操做,直到超過半數的monitor節點恢復。進程

4. monitor恢復的方法rem

1) 若是掛掉的節點能夠恢復,也就是monitor的元數據仍是OK的,那麼只須要重啓ceph-mon進程便可。因此,對於monitor,最好運行在RAID的機器上。這樣,即便機器出現故障,恢復也比較容易。可是,tahow目前的系統盤,單U只有1塊,因此沒法raid…部署

2) 只能想辦法將故障的節點恢復,但元數據已經損壞。能夠經過正常工做的monitor節點恢復它。能夠經過將正常工做節點的monmap導出,因此,只要獲得monmap,就能夠恢復monitor了。可是這種方法,須要保證socket能夠正常導出monmap。由於這時候通訊可能已經被阻塞。get

3)  遇到經過socket不能進行monmap的導出。不過,幸虧有monmaptool工具,經過它,咱們能夠手動生成。

4) 還有個命令,能夠強行踢出掛掉的monitor,使得monitor總數減小。可是不推薦這種作法,最好仍是找到出錯緣由,儘早解決。
    ceph mon remove <name>                    remove monitor named <name>
    ceph mon rm <name>                            remove monitor named <name>
 

參考文章:

http://www.cnblogs.com/hustcat/p/3925971.html

http://docs.ceph.com/docs/master/rados/operations/add-or-rm-mons/

相關文章
相關標籤/搜索