Ceph:当足够的磁盘导致数据丢失时会发生什么?

问题描述 投票:1回答:1

想象一下,我们在Ceph中有足够的磁盘故障导致实际数据丢失。 (例如,所有3个复制品在3个复制品中失败;或者> m在k + m擦除编码中失败)。现在发生了什么?

  1. 群集是否仍然稳定?也就是说,我们当然丢失了这些数据,但其他数据和新数据仍然可以正常运行。
  2. 有没有办法获得丢失的对象ID列表?

在我们的用例中,我们可以从脱机备份中恢复丢失的数据。但是,要做到这一点,我们需要知道哪些数据实际丢失了 - 也就是说,获取丢失的对象ID列表。

ceph
1个回答
1
投票

答案1:如果会发生什么?

Ceph在展示位置组(PG)中分发您的数据。将它们视为数据池的分片。默认情况下,PG通过存储设备存储3份。默认情况下,至少必须知道ceph存在至少2个副本才能仍然可访问。如果只有1个副本可用(因为2个OSD(也称为磁盘)处于脱机状态),对该PG的写入将被阻止,直到最小副本数(2)再次联机。如果PG的所有副本都处于脱机状态,您的读取将被阻止,直到一个副本联机。如果在线有足够的副本,所有其他PG都可以免费访问。

答2:受影响的是什么?

您可能是指S3之类的对象存储。这是在rados对象存储的顶部建模的,这是ceph的密钥存储。可以跟踪有问题的PG并将其与给定的rados对象相关联。有关于identifying blocked RadosGW requests的文档和关于getting from defective PGs to the rados objects的另一部分。

© www.soinside.com 2019 - 2024. All rights reserved.