Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

8.2.3. 修复丢失的对象

您可以使用 ceph-objectstore-tool 实用程序列出并修复 Ceph OSD 中存储的 和未找到的对象。这个过程只适用于旧对象。

先决条件

  • 对 Ceph OSD 节点具有 root 访问权限.
  • 停止 ceph-osd 守护进程。

流程

  1. 验证适当的 OSD 是否停机:

    语法

    systemctl status ceph-osd@$OSD_NUMBER

    示例

    [root@osd ~]# systemctl status ceph-osd@1

  2. 列出所有丢失的旧对象:

    语法

    ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost --dry-run

    示例

    [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-run

  3. 使用 ceph-objectstore-tool 工具修复 丢失和未找到 的对象。选择适当的情况:

    1. 修复所有丢失的对象:

      语法

      ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost

      示例

      [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost

    2. 修复 PG 中丢失的所有对象:

      语法

      ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID --op fix-lost

      示例

      [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lost

    3. 使用标识符修复丢失的对象:

      语法

      ceph-objectstore-tool --data-path $PATH_TO_OSD --op fix-lost $OBJECT_ID

      示例

      [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region

其它资源