ceph - 在 3 个 OSD 节点上运行带有 2 路复制的 Ceph 是否安全?

标签 ceph

假设我想在这 3 个 OSD 节点设置上实现最大可用容量和数据弹性,其中每个节点包含 2 个 1TB OSD。

使用 2 路复制运行 3 个 Ceph 节点是否安全?

使用 2-way 的优点和缺点是什么?会不会造成数据脑裂?

最后但并非最不重要的一点是,它将在 2 路复制上运行什么域容错能力?

谢谢!

最佳答案

有时,即使三个副本也不够,例如如果 SSD 磁盘(来自缓存)一起或一个接一个地发生故障。

http://lists.ceph.com/pipermail/ceph-users-ceph.com/2015-October/005672.html

对于两个 osd,您甚至可以手动设置 1 个最小副本和 2 个最大副本(在所有三个 osd 中的一个 osd 出现故障的情况下,我无法自动设置):

osd pool default size = 2 # 写入对象2次

osd pool default min size = 1 # 允许在降级状态下写入 1 个副本

但是这个命令:ceph osd pool set mypoolname set min_size 1 为池设置它,而不仅仅是默认设置。

对于每个具有 1 个 osd 和 1 个 mon 且副本设置为 min_size 1size 4n = 4 节点,三个 osd 可能会失败,只有一个 mon 可能会失败(monitor 法定人数意味着超过一半的人会幸存)。对于两个发生故障的监视器,需要 4 + 1 数量的监视器(至少一个应该是没有 osd 的外部监视器)。对于 8 监视器(四个外部监视器),三个 mon 可能会发生故障,因此,即使三个节点分别具有 1 osd 和 1 mon 也可能会发生故障。我不确定是否可以设置 8 监视器。

因此,对于三个节点,每个节点都有一个监视器和 osd,唯一合理的设置是副本 min_size 2size 3 或 2。只有一个节点可能会出现故障。 如果您有外接显示器,则将 min_size 设置为 1(这是非常危险的)并将 size 设置为 2 > 或 12 节点可以关闭。但只要有一个副本(没有副本,只有原始数据),您很快就会失去工作。

关于ceph - 在 3 个 OSD 节点上运行带有 2 路复制的 Ceph 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35242360/

相关文章:

docker - 在Docker中运行CEPH

ceph - 在java s3 api中为ceph指定多个端点以连接到ceph集群?

kubernetes - 使用rook卷时kubernetes节点保持重启

storage - 无法部署 Ceph 监视器

storage - Ceph 对象存储 (RADOS) 中对象的最佳大小

ceph - 如何在循环设备上为 Ceph 创建 osd

amazon-s3 - CEPH + S3 Java SDK + 预签名 PUT + CORS = 失败

kubernetes - 在 kubernetes 集群中安装 rook-ceph 后显示 OSD 0

Ceph 裸空间使用情况