第8章 Ceph オブジェクトのトラブルシューティング
ストレージ管理者は、ceph-objectstore-tool ユーティリティーを使用して高レベルまたは低レベルのオブジェクト操作を実行することができます。ceph-objectstore-tool ユーティリティーは、特定の OSD または配置グループ内のオブジェクトに関する問題のトラブルシューティングに役立ちます。
オブジェクトを操作すると、回復不能なデータ損失が発生する可能性があります。ceph-objectstore-tool ユーティリティーを使用する前に、Red Hat サポートにお問い合わせください。
前提条件
- ネットワーク関連の問題がないことを確認します。
8.1. ハイレベルなオブジェクト操作のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、ceph-objectstore-tool ユーティリティーを使用して高レベルのオブジェクト操作を実行することができます。ceph-objectstore-tool ユーティリティーは、以下の高レベルのオブジェクト操作をサポートします。
- オブジェクトのリスト表示
- 失われたオブジェクトのリスト表示
- 失われたオブジェクトの修正
オブジェクトを操作すると、回復不能なデータ損失が発生する可能性があります。ceph-objectstore-tool ユーティリティーを使用する前に、Red Hat サポートにお問い合わせください。
前提条件
- Ceph OSD ノードへのルートレベルのアクセス。
8.1.1. オブジェクトのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
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.serviceOSD コンテナーにログインします。
構文
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
8.1.2. 失われたオブジェクトの修正 リンクのコピーリンクがクリップボードにコピーされました!
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.serviceOSD コンテナーにログインします。
構文
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-runceph-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