Ceph
5個副本超過3節點ceph集群可能嗎?
這有意義嗎?在 3 節點設置上是否可行,crush 規則應該是什麼樣子?就是現在的那個。這背後的想法是補償多個 osd 中斷(例如,每個節點 3 個 osd 將失敗)
# rules rule replicated_rule { id 0 type replicated min_size 1 max_size 10 step take default step chooseleaf firstn 0 type host step emit }
是的,這是可能的
step chooseleaf firstn 0 type osd
。如果這有意義是另一個問題,例如您的儲存成本將非常高。如果你有能力做到這一點,但是 ceph 被設計為一個高度可擴展的解決方案,使用這種設置你有一種極端的情況。min_size = 2
通常,使用和,基於主機的複制就足夠了size = 3
。這樣一來,一台主機上有多少 OSD 發生故障並不重要,即使第二台主機出現故障,您的數據也不會失去,只會降級,直到您將 OSD 重新聯機。但還要注意,只有三台主機您將無法恢復故障節點,因此集群將在降級狀態下執行,直到節點被修復或新節點加入集群。你可以編輯你的crush規則(或創建一個新的先測試它),這樣它首先選擇所有可用的主機,然後選擇OSD的數量,它可能看起來像這樣:
step choose firstn 0 type host step chooseleaf firstn 2 type osd
你應該在申請之前測試它
crushtool
。