7.3. 배치 그룹 불일치 나열
rados
유틸리티를 사용하여 오브젝트의 다양한 복제본에서 불일치를 나열합니다. 더 자세한 출력을 나열하려면 --format=json-pretty
옵션을 사용합니다.
이 섹션에서는 다음 사항에 대해 설명합니다.
- 풀의 일관되지 않은 배치 그룹
- 배치 그룹의 일관되지 않은 오브젝트
- 배치 그룹에서 일관되지 않은 스냅샷 세트
사전 요구 사항
- 정상 상태의 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
절차
풀의 일치하지 않는 배치 그룹을 모두 나열합니다.
구문
rados list-inconsistent-pg POOL --format=json-pretty
예제
[ceph: root@host01 /]# rados list-inconsistent-pg data --format=json-pretty [0.6]
ID가 있는 배치 그룹의 일관되지 않은 오브젝트를 나열합니다.
구문
rados list-inconsistent-obj PLACEMENT_GROUP_ID
예제
[ceph: root@host01 /]# rados list-inconsistent-obj 0.6 { "epoch": 14, "inconsistents": [ { "object": { "name": "image1", "nspace": "", "locator": "", "snap": "head", "version": 1 }, "errors": [ "data_digest_mismatch", "size_mismatch" ], "union_shard_errors": [ "data_digest_mismatch_oi", "size_mismatch_oi" ], "selected_object_info": "0:602f83fe:::foo:head(16'1 client.4110.0:1 dirty|data_digest|omap_digest s 968 uv 1 dd e978e67f od ffffffff alloc_hint [0 0 0])", "shards": [ { "osd": 0, "errors": [], "size": 968, "omap_digest": "0xffffffff", "data_digest": "0xe978e67f" }, { "osd": 1, "errors": [], "size": 968, "omap_digest": "0xffffffff", "data_digest": "0xe978e67f" }, { "osd": 2, "errors": [ "data_digest_mismatch_oi", "size_mismatch_oi" ], "size": 0, "omap_digest": "0xffffffff", "data_digest": "0xffffffff" } ] } ] }
다음 필드는 불일치의 원인을 파악하는 데 중요합니다.
-
name
: 일치하지 않는 복제본이 있는 오브젝트의 이름입니다. -
nSpace
: 풀의 논리적 분리인 네임스페이스입니다. 기본적으로 비어 있습니다. -
locator
: 배치를 위해 오브젝트 이름의 대안으로 사용되는 키입니다. -
snap
: 오브젝트의 스냅샷 ID입니다. 오브젝트의 유일한 쓰기 가능 버전은head
라고 합니다. 오브젝트가 복제인 경우 이 필드에는 순차 ID가 포함됩니다. -
버전
: 일치하지 않는 복제본이 있는 오브젝트의 버전 ID입니다. 개체에 대한 각 쓰기 작업은 오브젝트를 늘립니다. errors
: 잘못된 shard 또는 shard를 확인하지 않고 shard 간에 불일치를 나타내는 오류 목록입니다. 오류를 더 자세히 조사하려면shard
배열을 참조하십시오.-
data_digest_mismatch
: 하나의 OSD에서 읽은 복제본의 다이제스트는 다른 OSD와 다릅니다. -
size_mismatch
: 복제 또는head
오브젝트의 크기가 예상과 일치하지 않습니다. -
read_error
:이 오류는 디스크 오류로 인해 발생하는 불일치를 나타냅니다.
-
union_shard_error
: shard와 관련된 모든 오류의 결합 이러한 오류는 결함이 있는 shard에 연결됩니다.oi
로 끝나는 오류는 결함이 있는 개체의 정보와 선택된 오브젝트의 정보를 비교해야 함을 나타냅니다. 오류를 더 자세히 조사하려면shard
배열을 참조하십시오.위 예에서
osd.2
에 저장된 오브젝트 복제본은osd.0
및osd.1
에 저장된 복제본과 다른 다이제스트를 갖습니다. 특히, 복제본의 다이제스트는osd.2
에서 읽은 shard에서 계산된 대로0x
ffffff가 아니지만0xe978e67f
입니다. 또한osd.2
에서 읽은 복제본의 크기는 0이며,osd.0
및osd.1
에서 보고한 크기는 968입니다.
-
스냅샷의 일관되지 않은 세트를 나열합니다.
구문
rados list-inconsistent-snapset PLACEMENT_GROUP_ID
예제
[ceph: root@host01 /]# rados list-inconsistent-snapset 0.23 --format=json-pretty { "epoch": 64, "inconsistents": [ { "name": "obj5", "nspace": "", "locator": "", "snap": "0x00000001", "headless": true }, { "name": "obj5", "nspace": "", "locator": "", "snap": "0x00000002", "headless": true }, { "name": "obj5", "nspace": "", "locator": "", "snap": "head", "ss_attr_missing": true, "extra_clones": true, "extra clones": [ 2, 1 ] } ]
이 명령은 다음 오류를 반환합니다.
-
ss_attr_missing
: 하나 이상의 속성이 누락되었습니다. 특성은 스냅샷으로 인코딩된 스냅샷에 대한 정보를 키-값 쌍 목록으로 설정합니다. -
ss_attr_corrupted
: 하나 이상의 속성이 디코딩되지 않습니다. -
clone_missing
: 클론이 없습니다. -
snapset_mismatch
: 스냅샷 세트가 그 자체로 일치하지 않습니다. -
head_mismatch
: 스냅샷 세트는헤드
가 존재하는지 여부를 나타내지만 스크루브 결과는 그렇지 않은 것으로 보고합니다. -
Headless
: 스냅샷 세트의헤드
가 없습니다. -
size_mismatch
: 복제 또는head
오브젝트의 크기가 예상과 일치하지 않습니다.
-
추가 리소스
- Red Hat Ceph Storage 문제 해결 가이드 의 일관되지 않은 배치 그룹 섹션.
- Red Hat Ceph Storage 문제 해결 가이드의 일관성 없는 배치 그룹 복구 가이드.