Distributed-Filesystems
Ceph:為什麼更多的“歸置組”是“壞事”?
我一直在研究分佈式數據庫和文件系統,雖然我最初對 Hadoop/HBase 最感興趣,因為我是一名 Java 程序員,但我發現這個關於Ceph的非常有趣的文件,作為一個主要優點,現在集成在Linux 核心。
有一件事我不明白,我希望你們中的一個能給我解釋一下。這裡是:
一個簡單的散列函式將對象標識符 (OID) 映射到一個歸置組,即一組儲存對象及其所有副本的 OSD。有數量有限的歸置組可以創建 OSD 數量的上限,這些 OSD 儲存儲存在任何給定 OSD 上的對象的副本。**該數字越高,多個節點故障導致數據失去的可能性就越大。**例如,如果每個 OSD 與其他每個 OSD 都有副本關係,那麼整個集群中只有三個節點的故障可能會清除所有三個副本上儲存的數據。
你能解釋一下為什麼更多的歸置組會增加數據失去的可能性嗎?我會認為這是相反的方式。
我目前也在研究 ceph 作為我們數據儲存的替代方案。我找到了你的問題並做了一些閱讀,希望這個想法有意義。他們進行數據動態分佈的方式表明,如果您有大量 OSD(顯著超過複製級別)。然後似乎有可能(並且很可能)分發算法會將文件的某些部分放在大量 OSD 上,這樣如果您失去了 N 個節點(其中 N 大於您的複制級別),您很可能會失去您的數據(或至少有大量損壞)。這並不奇怪。如果您在集群中失去 3 個節點(如他們的範例),我預計會失去數據,除非您的複制級別為 4 或更高。