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.0osd.1 에 저장된 복제본과 다른 다이제스트를 갖습니다. 특히, 복제본의 다이제스트는 osd.2 에서 읽은 shard에서 계산된 대로 0x ffffff가 아니지만 0xe978e67f 입니다. 또한 osd.2 에서 읽은 복제본의 크기는 0이며, osd.0osd.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 logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.