9.2. 高级对象操作故障排除
作为存储管理员,您可以使用 ceph-objectstore-tool
实用程序来执行高级别对象操作。ceph-objectstore-tool
实用程序支持以下高级对象操作:
- 列出对象
- 列出丢失的对象
- 修复丢失的对象
操作对象可能会导致无法恢复的数据丢失。在使用 ceph-objectstore-tool
实用程序前,请联络红帽支持。
9.2.1. 先决条件 复制链接链接已复制到粘贴板!
- 对 Ceph OSD 节点的根级别访问权限.
9.2.2. 列出对象 复制链接链接已复制到粘贴板!
OSD 可以包含零个到多个 PG 的 PG,对放置组(PG)中的多个对象包含零。ceph-objectstore-tool
实用程序允许您列出 OSD 中存储的对象。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
语法
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到 OSD 容器:
语法
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 识别 OSD 内的所有对象,而不考虑 PG:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD --op list
ceph-objectstore-tool --data-path PATH_TO_OSD --op list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 识别 PG 中的所有对象:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op list
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op list
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 识别对象所属的 PG:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD --op list OBJECT_ID
ceph-objectstore-tool --data-path PATH_TO_OSD --op list OBJECT_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list default.region
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list default.region
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2.3. 修复丢失的对象 复制链接链接已复制到粘贴板!
您可以使用 ceph-objectstore-tool
实用程序列出和修复 Ceph OSD 中存储的、未找到 的对象。这个过程只适用于旧对象。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
语法
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到 OSD 容器:
语法
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0
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: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-run
[ceph: root@host01 /]# 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: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost
[ceph: root@host01 /]# 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: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lost
[ceph: root@host01 /]# 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: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region
[ceph: root@host01 /]# 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