3.9.3. 查找孤立和泄漏对象
健康的存储集群没有任何孤立或泄漏的对象,但在某些情况下可能会发生孤立或泄漏的对象。例如,如果 Ceph 对象网关在操作的中间发生,这可能会导致一些对象变得孤立。另外,未发现的错误可能导致孤立对象发生。
自红帽 Ceph 存储 4.1 开始,存储管理员可以了解 Ceph 对象网关对象如何映射到 RADOS 对象。The radosgw-admin
命令为您提供一个新工具,可搜索和生成这些潜在孤立或泄漏对象的列表。使用 radoslist
子命令将显示 bucket 中存储的对象,或者存储群集中的所有 bucket。rgw-orphan-list
脚本将显示池中的孤立对象。
rgw-orphan-list
命令仍为实验性命令。在删除任何使用 rados rm
命令之前,请谨慎并仔细评估它中列出的对象。
The radoslist
子命令将替代已弃用的 孤立的 find
和 orphans finish
子命令。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
- 正在运行的 Ceph 对象网关.
流程
生成存储桶中保存数据的对象列表:
语法
radosgw-admin bucket radoslist --bucket BUCKET_NAME
radosgw-admin bucket radoslist --bucket BUCKET_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
radosgw-admin bucket radoslist --bucket mybucket
[root@rgw ~]# radosgw-admin bucket radoslist --bucket mybucket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果省略 BUCKET_NAME,则会显示所有存储桶中的所有对象。
为池生成孤立项列表:
rgw-orphan-list
[root@rgw ~]# rgw-orphan-list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入池名称以搜索孤立项。
重要在使用
rgw-orphan-list
命令而非元数据池时,必须指定数据池。- 检查列表中的孤立对象。
删除孤立对象:
语法
rados -p POOL_NAME rm OBJECT_NAME
rados -p POOL_NAME rm OBJECT_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
rados -p default.rgw.buckets.data rm myobject
[root@rgw ~]# rados -p default.rgw.buckets.data rm myobject
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 警告验证您是否删除了正确的对象。执行
rados rm
命令将从存储群集中删除数据。
其它资源
-
如需了解有关 legacy
radosgw-admin orphans find
子命令的更多详细信息,请参阅红帽 Ceph 存储 3 对象网关管理指南中的 查找对象 一节。