Menu Close
3.3.4. 配置グループの状態
ceph health
、ceph -s
、ceph -w
などのコマンドを実行すると、クラスターが常に HEALTH OK
をエコーバックしないことが分かります。OSD が実行中であるかを確認したら、配置グループのステータスも確認する必要があります。数多くの配置グループのピア関連状況で、クラスターが HEALTH OK
を しない ことが予想されます。
- プールを作成したばかりで、配置グループはまだピアリングしていません。
- 配置グループは復旧しています。
- クラスターに OSD を追加したり、クラスターから OSD を削除したりしたところです。
- CRUSH マップを変更し、配置グループが移行中である必要があります。
- 配置グループの異なるレプリカに一貫性のないデータがあります。
- Ceph は配置グループのレプリカをスクラビングします。
- Ceph には、バックフィルの操作を完了するのに十分なストレージ容量がありません。
前述の状況のいずれかにより Ceph が HEALTH WARN
をエコーしても慌てる必要はありません。多くの場合、クラスターは独自にリカバリーします。場合によっては、アクションを実行する必要がある場合があります。配置グループを監視する上で重要なことは、クラスターの起動時にすべての配置グループがactive
で、できれば clean
な状態であることを確認することです。
すべての配置グループのステータスを表示するには、以下を実行します。
[root@mon ~]# 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
Ceph では、配置グループについて複数の状態を報告するのが一般的です。
スナップショットトリミングの PG の状態
スナップショットが存在する場合には、追加の PG ステータスが 2 つ報告されます。
-
snaptrim
: PG は現在トリミング中です。 -
snaptrim_wait
: PG はトリム処理を待機中です。
出力例:
244 active+clean+snaptrim_wait 32 active+clean+snaptrim
Cephは、配置グループの状態に加えて、使用データ量 (aa
)、ストレージ容量残量 (bb
)、配置グループの総ストレージ容量をエコーバックします。いくつかのケースでは、これらの数字が重要になります。
-
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
配置グループの一覧を取得するには、次のコマンドを実行します。
[root@mon ~]# ceph pg dump
JSON 形式で出力をフォーマットし、ファイルに保存するには、以下を実行します。
[root@mon ~]# ceph pg dump -o FILE_NAME --format=json
特定の配置グループをクエリーするには、次のコマンドを実行します。
[root@mon ~]# ceph pg POOL_NUM.PG_ID query
JSON 形式の出力例:
{ "state": "active+clean", "up": [ 1, 0 ], "acting": [ 1, 0 ], "info": { "pgid": "1.e", "last_update": "4'1", "last_complete": "4'1", "log_tail": "0'0", "last_backfill": "MAX", "purged_snaps": "[]", "history": { "epoch_created": 1, "last_epoch_started": 537, "last_epoch_clean": 537, "last_epoch_split": 534, "same_up_since": 536, "same_interval_since": 536, "same_primary_since": 536, "last_scrub": "4'1", "last_scrub_stamp": "2013-01-25 10:12:23.828174" }, "stats": { "version": "4'1", "reported": "536'782", "state": "active+clean", "last_fresh": "2013-01-25 10:12:23.828271", "last_change": "2013-01-25 10:12:23.828271", "last_active": "2013-01-25 10:12:23.828271", "last_clean": "2013-01-25 10:12:23.828271", "last_unstale": "2013-01-25 10:12:23.828271", "mapping_epoch": 535, "log_start": "0'0", "ondisk_log_start": "0'0", "created": 1, "last_epoch_clean": 1, "parent": "0.0", "parent_split_bits": 0, "last_scrub": "4'1", "last_scrub_stamp": "2013-01-25 10:12:23.828174", "log_size": 128, "ondisk_log_size": 128, "stat_sum": { "num_bytes": 205, "num_objects": 1, "num_object_clones": 0, "num_object_copies": 0, "num_objects_missing_on_primary": 0, "num_objects_degraded": 0, "num_objects_unfound": 0, "num_read": 1, "num_read_kb": 0, "num_write": 3, "num_write_kb": 1 }, "stat_cat_sum": { }, "up": [ 1, 0 ], "acting": [ 1, 0 ] }, "empty": 0, "dne": 0, "incomplete": 0 }, "recovery_state": [ { "name": "Started\/Primary\/Active", "enter_time": "2013-01-23 09:35:37.594691", "might_have_unfound": [ ], "scrub": { "scrub_epoch_start": "536", "scrub_active": 0, "scrub_block_writes": 0, "finalizing_scrub": 0, "scrub_waiting_on": 0, "scrub_waiting_on_whom": [ ] } }, { "name": "Started", "enter_time": "2013-01-23 09:35:31.581160" } ] }
関連情報
- スナップショットトリミングの設定に関する詳細は、Red Hat Ceph Storage 4 の『設定ガイド』の「OSD (Object Storage Daemon) の設定オプション」の章を参照してください。