想象一下,我们在Ceph中有足够的磁盘故障导致实际数据丢失。 (例如,所有3个复制品在3个复制品中失败;或者> m在k + m擦除编码中失败)。现在发生了什么?
在我们的用例中,我们可以从脱机备份中恢复丢失的数据。但是,要做到这一点,我们需要知道哪些数据实际丢失了 - 也就是说,获取丢失的对象ID列表。
答案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的另一部分。