8.2.3. 修复丢失的对象
您可以使用 ceph-objectstore-tool
实用程序列出并修复 Ceph OSD 中存储的 和未找到的对象。这个过程只适用于旧对象。
先决条件
-
对 Ceph OSD 节点具有
root
访问权限. -
停止
ceph-osd
守护进程。
流程
验证适当的 OSD 是否停机:
语法
systemctl status ceph-osd@$OSD_NUMBER
systemctl status ceph-osd@$OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出所有丢失的旧对象:
语法
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost --dry-run
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost --dry-run
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-run
[root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-run
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
ceph-objectstore-tool
工具修复 丢失和未找到 的对象。选择适当的情况:修复所有丢失的对象:
语法
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost
[root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修复 PG 中丢失的所有对象:
语法
ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID --op fix-lost
ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID --op fix-lost
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lost
[root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lost
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用标识符修复丢失的对象:
语法
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost $OBJECT_ID
ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost $OBJECT_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region
[root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其它资源
- 有关停止 OSD 的更多信息,请参阅《红帽 Ceph 存储管理指南》中的"启动、停止和重新启动 Ceph 守护进程"一节。