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: プールを論理的に分離する名前空間。デフォルトでは空です。
    • Static: 配置のオブジェクト名の代わりに使用されるキー。
    • snap: オブジェクトのスナップショット ID。オブジェクトの書き込み可能な唯一のバージョンは head と呼ばれます。オブジェクトがクローンの場合、このフィールドにはそのシーケンシャル ID が含まれます。
    • version: 一貫性のないレプリカを持つオブジェクトのバージョン ID。オブジェクトへの書き込み操作ごとにインクリメントされます。
    • errors: シャードの不一致を判別することなくシャード間の不整合を示すエラーのリスト。エラーをさらに調べるには、shard アレイを参照してください。

      • data_digest_mismatch: 1 つの OSD から読み取られるレプリカのダイジェストは他の OSD とは異なります。
      • size_mismatch: クローンのサイズまたは head オブジェクトが期待したサイズと一致しない。
      • read_error: このエラーは、ディスクエラーが発生したために不整合が発生したことを示しています。
    • union_shard_error: シャードに固有のすべてのエラーの結合。これらのエラーは、問題のあるシャードに関連しています。oi で終わるエラーは、障害のあるオブジェクトからの情報と、選択したオブジェクトとの情報を比較する必要があることを示しています。エラーをさらに調べるには、shard アレイを参照してください。

      上記の例では、osd.2 に保存されているオブジェクトレプリカは、osd.0 および osd.1 に保存されているレプリカとは異なるダイジェストを持ちます。具体的には、レプリカのダイジェストは、osd.2 から読み取るシャードから計算した 0xffffffff ではなく、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: 1 つ以上の属性がありません。属性とは、スナップショットに関する情報で、キーと値のペアのリストとしてスナップショットセットにエンコードされます。
    • ss_attr_corrupted: 1 つ以上の属性がデコードできません。
    • clone_missing: クローンがありません。
    • snapset_mismatch: スナップショットセット自体に一貫性がありません。
    • head_mismatch: スナップショットセットは、head が存在するか、存在しない場合はスクラブ結果を報告します。
    • headless: スナップショットセットの head がありません。
    • size_mismatch: クローンのサイズまたは head オブジェクトが期待したサイズと一致しない。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.