Ceph 池已删除,但文件仍在列表中
Ceph pool deleted but files remain in list
我通过 Rados-gw 填满了我的 OSD,为了让 Ceph 再次工作,我唯一能做的就是删除占用所有空间的池,然后重新创建它。然而,当我列出所有池的内容时(使用 boto
),它会显示那里的所有文件(磁盘 space 已被释放,因此这些文件实际上不再存在。)
造成这种不一致的原因是什么?
如果您只删除了存储桶池,通常是 .rgw.buckets,那么这就解释了为什么您仍然拥有所有对象的列表。
索引池负责对象列表。您还需要删除 .rgw.buckets.index 池。确保在执行此操作之前也停止网关。
当您启动网关备份并创建新存储桶时,将重新创建索引池(如果 rgw auth 对监视器具有 wrx 权限)。
我通过 Rados-gw 填满了我的 OSD,为了让 Ceph 再次工作,我唯一能做的就是删除占用所有空间的池,然后重新创建它。然而,当我列出所有池的内容时(使用 boto
),它会显示那里的所有文件(磁盘 space 已被释放,因此这些文件实际上不再存在。)
造成这种不一致的原因是什么?
如果您只删除了存储桶池,通常是 .rgw.buckets,那么这就解释了为什么您仍然拥有所有对象的列表。
索引池负责对象列表。您还需要删除 .rgw.buckets.index 池。确保在执行此操作之前也停止网关。
当您启动网关备份并创建新存储桶时,将重新创建索引池(如果 rgw auth 对监视器具有 wrx 权限)。