配置グループの状態
さまざまな配置グループ (PG) の状態について学習し、理解します。
ceph health、 ceph -s 、 ceph -wなどのコマンドを実行すると、クラスターが常にエコー・バックするとは限らないことに気付く場合があります。 HEALTH
OK OSD が実行されているかどうかを確認した後、配置グループの状態も確認する必要があります。 いくつかの配置グループ・ピアリング関連の状況では、クラスターが HEALTH OK をエコー しない ことを予期してください。
プールを作成しましたが、配置グループはまだピア化されていません。
配置グループはリカバリー中です。
クラスターに OSD を追加したか、クラスターから OSD を削除しました。
CRUSH マップを変更しました。配置グループをマイグレーションします。
配置グループの異なるレプリカに不整合なデータがあります。
Ceph は、配置グループのレプリカをスクラブしています。
Ceph には、バックフィル操作を実行するための十分なストレージ容量がありません。
上記のいずれかの状況が原因で Ceph が HEALTH WARNをエコーする場合は、パニックにならないようにしてください。 多くの場合、クラスターは単独でリカバリーします。 場合によっては、アクションを実行する必要があります。 配置グループのモニターの重要な側面の 1 つは、クラスターが稼働中のときに、すべての配置グループが active(できれば clean 状態) であることを確認することです。
すべての配置グループの状況を表示するには、以下を実行します。
例
[ceph: root@host01 /]# ceph pg stat
結果として、配置グループ・マップのバージョン vNNNNNN、配置グループの総数 x、および特定の状態にある配置グループの数 y( active+cleanなど) が示されます。
vNNNNNN: x pgs: y active+clean; z bytes data, aa MB used, bb GB / cc GB avail
スナップショット・トリミング PG 状態 (Snapshot Trimming PG States)
スナップショットが存在する場合、2 つの追加の PG 状態が報告されます。
snaptrim: PG は現在トリム中ですsnaptrim_wait: PG はトリムされるのを待機しています
出力例:
244 active+clean+snaptrim_wait
32 active+clean+snaptrim
配置グループの状態に加えて、Ceph は、使用されたデータ量、 aa、残りのストレージ容量、 bbおよびその配置グループの合計ストレージ容量 cc もエコー出力します。 これらの数値は、いくつかの場合に重要になる可能性があります。
near full ratioまたはfull ratioに到達しようとしています。CRUSH 構成のエラーのため、データがクラスター全体に分散されません。
配置グループ ID
配置グループ ID は、プール名ではなくプール番号と、それに続くピリオド (.) および配置グループ ID (16 進数) で構成されます。 ceph osd lspoolsの出力から、プール番号とその名前を表示できます。 デフォルトのプール名 data、 metadata 、および rbd は、それぞれプール番号 0、 1 、および 2 に対応します。 完全修飾配置グループ ID の形式は以下のとおりです。
構文
POOL_NUM.PG_ID
出力例:
0.1f
配置グループのリストを取得するには、以下のようにします。
例
[ceph: root@host01 /]# ceph pg dump出力を JSON 形式でフォーマットし、ファイルに保存するには、以下のようにします。
構文
ceph pg dump -o FILE_NAME --format=json例
[ceph: root@host01 /]# ceph pg dump -o test --format=json特定の配置グループを照会します。
構文
ceph pg POOL_NUM.PG_ID query例
[ceph: root@host01 /]# ceph pg 5.fe query { "snap_trimq": "[]", "snap_trimq_len": 0, "state": "active+clean", "epoch": 2449, "up": [ 3, 8, 10 ], "acting": [ 3, 8, 10 ], "acting_recovery_backfill": [ "3", "8", "10" ], "info": { "pgid": "5.ff", "last_update": "0'0", "last_complete": "0'0", "log_tail": "0'0", "last_user_version": 0, "last_backfill": "MAX", "purged_snaps": [], "history": { "epoch_created": 114, "epoch_pool_created": 82, "last_epoch_started": 2402, "last_interval_started": 2401, "last_epoch_clean": 2402, "last_interval_clean": 2401, "last_epoch_split": 114, "last_epoch_marked_full": 0, "same_up_since": 2401, "same_interval_since": 2401, "same_primary_since": 2086, "last_scrub": "0'0", "last_scrub_stamp": "2022-10-17T01:32:03.763988+0000", "last_deep_scrub": "0'0", "last_deep_scrub_stamp": "2022-10-17T01:32:03.763988+0000", "last_clean_scrub_stamp": "2022-10-17T01:32:03.763988+0000", "prior_readable_until_ub": 0 }, "stats": { "version": "0'0", "reported_seq": "2989", "reported_epoch": "2449", "state": "active+clean", "last_fresh": "2022-10-18T05:16:59.401080+0000", "last_change": "2022-10-17T01:32:03.764162+0000", "last_active": "2022-10-18T05:16:59.401080+0000", ....
参照
スナップショット・トリミング設定について詳しくは、 Object Storage 「デーモン (OSD) 構成オプション」を参照してください。