9.2. ハイレベルなオブジェクト操作のトラブルシューティング
ストレージ管理者は、ceph-objectstore-tool
ユーティリティーを使用して高レベルのオブジェクト操作を実行することができます。ceph-objectstore-tool
ユーティリティーは、以下の高レベルのオブジェクト操作をサポートします。
- オブジェクトのリスト表示
- 失われたオブジェクトのリスト表示
- 失われたオブジェクトの修正
オブジェクトを操作すると、回復不能なデータ損失が発生する可能性があります。ceph-objectstore-tool
ユーティリティーを使用する前に、Red Hat サポートにお問い合わせください。
9.2.1. 前提条件
- Ceph OSD ノードへのルートレベルのアクセス。
9.2.2. オブジェクトのリスト表示
OSD には、ゼロ対多の配置グループを含めることができ、1 つの配置グループ (PG) 内にゼロ対多のオブジェクトを含めることができます。ceph-objectstore-tool
ユーティリティーでは、OSD に保存されているオブジェクトをリスト表示することができます。
前提条件
- Ceph OSD ノードへのルートレベルのアクセス。
-
ceph-osd
デーモンの停止。
手順
適切な OSD がダウンしていることを確認します。
構文
systemctl status ceph-FSID@osd.OSD_ID
例:
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
OSD コンテナーにログインします。
構文
cephadm shell --name osd.OSD_ID
例:
[root@host01 ~]# cephadm shell --name osd.0
配置グループに関係なく、OSD 内のすべてのオブジェクトを特定します。
構文
ceph-objectstore-tool --data-path PATH_TO_OSD --op list
例:
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list
配置グループ内のすべてのオブジェクトを特定します。
構文
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op list
例:
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op list
オブジェクトが属する PG を特定します。
構文
ceph-objectstore-tool --data-path PATH_TO_OSD --op list OBJECT_ID
例:
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list default.region
9.2.3. 失われたオブジェクトの修正
ceph-objectstore-tool
ユーティリティーを使用して、Ceph OSD に保存されている 失われたオブジェクトおよび存在しないオブジェクト をリスト表示し、修正することができます。この手順は、レガシーオブジェクトにのみ適用されます。
前提条件
- Ceph OSD ノードへのルートレベルのアクセス。
-
ceph-osd
デーモンの停止。
手順
適切な OSD がダウンしていることを確認します。
構文
systemctl status ceph-FSID@osd.OSD_ID
例:
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
OSD コンテナーにログインします。
構文
cephadm shell --name osd.OSD_ID
例:
[root@host01 ~]# cephadm shell --name osd.0
失われたレガシーオブジェクトをすべてリスト表示します。
構文
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost --dry-run
例:
[ceph: root@host01 /]# 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
例:
[ceph: root@host01 /]# 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
例:
[ceph: root@host01 /]# 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
例:
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region