8.2.3. 失われたオブジェクトの修正
ceph-objectstore-tool
ユーティリティーを使用して、Ceph OSD に保存されている 失われたオブジェクトおよび存在しないオブジェクト を一覧表示し、修正することができます。この手順は、レガシーオブジェクトにのみ適用されます。
前提条件
-
Ceph OSD ノードへの
root
アクセスがある。 -
ceph-osd
デーモンの停止。
手順
適切な OSD がダウンしていることを確認します。
構文
systemctl status ceph-osd@$OSD_NUMBER
例
[root@osd ~]# systemctl status ceph-osd@1
失われたレガシーオブジェクトをすべて一覧表示するには、次のコマンドを実行します。
構文
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
ceph-objectstore-tool
ユーティリティーを使用して、失われたおよび未使用 のオブジェクトを修正します。適切な状況を選択します。失われたオブジェクトをすべて修正するには、以下を実行します。
構文
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
配置グループ内で失われたオブジェクトをすべて修正するには、以下を実行します。
構文
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
失われたオブジェクトが識別子で修正するには、以下を実行します。
構文
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
関連情報