3.2.3. 배치 그룹 상태
ceph health,ceph -s 또는 ceph -w 와 같은 명령을 실행하는 경우 클러스터가 HEALTH OK 를 항상 다시 출력하지 않을 수 있습니다. OSD가 실행 중인지 확인한 후 배치 그룹 상태도 확인해야 합니다. 클러스터는 여러 배치 그룹 피어링 관련 상황에서 HEALTH OK 를 에코 하지 않을 것으로 예상해야 합니다.
- 방금 풀을 생성했으며 배치 그룹이 아직 피어링되지 않았습니다.
- 배치 그룹이 복구되고 있습니다.
- OSD를 클러스터에 추가하거나 클러스터에서 OSD를 제거했습니다.
- CRUSH 맵을 수정했으며 배치 그룹이 마이그레이션 중입니다.
- 배치 그룹의 다른 복제본에 일관성 없는 데이터가 있습니다.
- Ceph는 배치 그룹의 복제본을 스크럽하고 있습니다.
- Ceph에는 백필 작업을 완료하기에 충분한 스토리지 용량이 없습니다.
위 상황 중 하나가 Ceph가 HEALTH WARN 을 에코하도록 하는 경우 패닉이 발생하지 않습니다. 대부분의 경우 클러스터는 자체적으로 복구됩니다. 경우에 따라 조치를 취해야 할 수도 있습니다. 배치 그룹 모니터링의 중요한 측면은 클러스터가 가동 및 실행 중일 때 모든 배치 그룹이 활성 상태이고 정리 상태가 되도록 하는 것입니다.
모든 배치 그룹의 상태를 보려면 다음을 실행합니다.
예
[ceph: root@host01 /]# ceph pg stat
결과는 배치 그룹 맵 버전, vNNNN, 총 배치 그룹 수, x 및 배치 그룹 y 는 active+clean 과 같은 특정 상태에 있음을 나타냅니다.
vNNNNNN: x pgs: y active+clean; z bytes data, aa MB used, bb GB / cc GB avail
Ceph는 일반적으로 배치 그룹의 여러 상태를 보고합니다.
스냅샷 Trimming PG 상태
스냅샷이 있으면 두 개의 추가 PG 상태가 보고됩니다.
-
snaptrim: PG가 현재 트리밍되고 있습니다. -
snaptrim_wait: PG가 트리밍되기를 기다리고 있습니다.
출력 예:
244 active+clean+snaptrim_wait
32 active+clean+snaptrim
배치 그룹 상태 외에도 Ceph는 사용된 데이터 양, aa, 나머지 스토리지 용량, bb, 배치 그룹의 총 스토리지 용량도 에코합니다. 이러한 숫자는 몇 가지 경우에 중요할 수 있습니다.
-
가까운 전체 비율 또는도달하고 있습니다.전체 비율에 - CRUSH 구성의 오류로 인해 데이터가 클러스터에 배포되지 않습니다.
배치 그룹 ID
배치 그룹 ID는 풀 이름이 아닌 풀 번호와 마침표(.) 및 배치 그룹 ID-16진수로 구성됩니다. ceph osd lspools 의 출력에서 풀 번호와 해당 이름을 볼 수 있습니다. 기본 풀의 이름은 데이터,메타데이터, 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": "2021-06-17T01:32:03.763988+0000", "last_deep_scrub": "0'0", "last_deep_scrub_stamp": "2021-06-17T01:32:03.763988+0000", "last_clean_scrub_stamp": "2021-06-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": "2021-06-18T05:16:59.401080+0000", "last_change": "2021-06-17T01:32:03.764162+0000", "last_active": "2021-06-18T05:16:59.401080+0000", ....