Ceph:为什么更多的“安置小组”是“坏事”?

Modified on: Sun, 21 Jul 2019 20:00:03 +0800

我一直在研究分布式数据库和文件系统,虽然我最初对Hadoop / HBase最感兴趣,因为我是一名Java程序员,但我发现这篇关于Ceph的非常有趣的文档,其中as作为一个重要的优点,现已集成到Linux内核中。

Ceph作为HDFS的可扩展替代方案

我有一件事我不理解,我希望你们中的一个人可以向我解释。这是:

  

简单的散列函数将对象标识符(OID)映射到放置组,一组存储对象及其所有副本的OSD。存在有限数量的放置组以创建存储在任何给定OSD上的对象的复制品的OSD的数量的上限。 该数字越高,多个节点故障导致数据丢失的可能性就越大。例如,如果每个OSD与其他所有OSD都有复制关系,则只有三个节点发生故障整个群集可以清除存储在所有三个副本上的数据。

您能否向我解释为什么更多数量的展示位置组会增加数据丢失的可能性?我原本以为是另一种方式。

最佳答案

我目前正在调查ceph作为我们数据存储的替代方案。我找到了你的问题并做了一些阅读,希望这个想法有意义。他们进行动态数据分发的方式表明,如果你有大量的OSD(远远超过复制级别)。然后似乎(并且可能)分发算法将文件的某些部分放在大量的OSD上是可能的,这样如果你丢失了N个节点(其中N大于你的复制级别),很可能你会丢失你的数据(或至少有大量的腐败)。这并不奇怪。如果您的群集中丢失了3个节点(例如他们的示例),我预计会丢失数据,除非您的复制级别为4或更高。

作者:polynomial

相关问答

添加新评论