검색

5.6. Ceph manager 크래시 모듈 사용

download PDF

Ceph manager 크래시 모듈을 사용하면 데몬 크래시 덤프에 대한 정보를 수집하여 추가 분석을 위해 Red Hat Ceph Storage 클러스터에 저장할 수 있습니다.

기본적으로 데몬 크래시 덤프는 /var/lib/ceph/crash 에 덤프됩니다. 옵션 크래시 dir 을 사용하여 구성할 수 있습니다. 크래시 디렉터리는 시간, 날짜 및 무작위로 생성된 UUID에 따라 이름이 지정되며 동일한 crash_id 가 있는 메타데이터 파일 메타 및 최근 로그 파일을 포함합니다.

ceph-crash.service 를 사용하여 이러한 충돌을 자동으로 제출하고 Ceph 모니터에 유지할 수 있습니다. ceph-crash.servicecrashdump 디렉터리를 감시하고 ceph 크래시 게시물 로 업로드합니다.

RECENT_CRASH heath 메시지는 Ceph 클러스터에서 가장 일반적인 상태 메시지 중 하나입니다. 이 상태 메시지는 최근에 하나 이상의 Ceph 데몬이 충돌했으며 충돌은 아직 관리자가 보관하거나 승인하지 않았음을 의미합니다. 이는 소프트웨어 버그, 디스크 오류와 같은 하드웨어 문제 또는 다른 문제를 나타낼 수 있습니다. 옵션 mgr/crash/warn_recent_interval 은 기본적으로 2주인 최근의 의미의 기간을 제어합니다. 다음 명령을 실행하여 경고를 비활성화할 수 있습니다.

예제

[ceph: root@host01 /]# ceph config set mgr/crash/warn_recent_interval 0

mgr/crash/retain_interval 옵션은 충돌 보고서를 자동으로 제거하기 전에 유지하려는 기간을 제어합니다. 이 옵션의 기본값은 1년입니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.

프로세스

  1. crash 모듈이 활성화되었는지 확인합니다.

    예제

    [ceph: root@host01 /]# ceph mgr module ls | more
    {
        "always_on_modules": [
            "balancer",
            "crash",
            "devicehealth",
            "orchestrator_cli",
            "progress",
            "rbd_support",
            "status",
            "volumes"
        ],
        "enabled_modules": [
            "dashboard",
            "pg_autoscaler",
            "prometheus"
        ]

  2. 크래시 덤프 저장: 메타데이터 파일은 크래시 디렉터리에 메타 로 저장된 JSON Blob입니다. stdin에서 읽는 ceph command -i - 옵션을 호출할 수 있습니다.

    예제

    [ceph: root@host01 /]# ceph crash post -i meta

  3. 모든 신규 및 아카이브된 크래시 정보의 타임스탬프 또는 UUID 충돌 ID를 나열합니다.

    예제

    [ceph: root@host01 /]# ceph crash ls

  4. 모든 새로운 충돌 정보의 타임스탬프 또는 UUID 충돌 ID를 나열합니다.

    예제

    [ceph: root@host01 /]# ceph crash ls-new

  5. 모든 새로운 충돌 정보의 타임스탬프 또는 UUID 충돌 ID를 나열합니다.

    예제

    [ceph: root@host01 /]# ceph crash ls-new

  6. 저장된 충돌 정보의 요약을 기간별로 그룹화합니다.

    예제

    [ceph: root@host01 /]# ceph crash stat
    8 crashes recorded
    8 older than 1 days old:
    2022-05-20T08:30:14.533316Z_4ea88673-8db6-4959-a8c6-0eea22d305c2
    2022-05-20T08:30:14.590789Z_30a8bb92-2147-4e0f-a58b-a12c2c73d4f5
    2022-05-20T08:34:42.278648Z_6a91a778-bce6-4ef3-a3fb-84c4276c8297
    2022-05-20T08:34:42.801268Z_e5f25c74-c381-46b1-bee3-63d891f9fc2d
    2022-05-20T08:34:42.803141Z_96adfc59-be3a-4a38-9981-e71ad3d55e47
    2022-05-20T08:34:42.830416Z_e45ed474-550c-44b3-b9bb-283e3f4cc1fe
    2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d
    2022-05-24T19:58:44.315282Z_1847afbc-f8a9-45da-94e8-5aef0738954e

  7. 저장된 충돌의 세부 정보를 확인합니다.

    구문

    ceph crash info CRASH_ID

    예제

    [ceph: root@host01 /]# ceph crash info 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d
    {
        "assert_condition": "session_map.sessions.empty()",
        "assert_file": "/builddir/build/BUILD/ceph-16.1.0-486-g324d7073/src/mon/Monitor.cc",
        "assert_func": "virtual Monitor::~Monitor()",
        "assert_line": 287,
        "assert_msg": "/builddir/build/BUILD/ceph-16.1.0-486-g324d7073/src/mon/Monitor.cc: In function 'virtual Monitor::~Monitor()' thread 7f67a1aeb700 time 2022-05-24T19:58:42.545485+0000\n/builddir/build/BUILD/ceph-16.1.0-486-g324d7073/src/mon/Monitor.cc: 287: FAILED ceph_assert(session_map.sessions.empty())\n",
        "assert_thread_name": "ceph-mon",
        "backtrace": [
            "/lib64/libpthread.so.0(+0x12b30) [0x7f679678bb30]",
            "gsignal()",
            "abort()",
            "(ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x1a9) [0x7f6798c8d37b]",
            "/usr/lib64/ceph/libceph-common.so.2(+0x276544) [0x7f6798c8d544]",
            "(Monitor::~Monitor()+0xe30) [0x561152ed3c80]",
            "(Monitor::~Monitor()+0xd) [0x561152ed3cdd]",
            "main()",
            "__libc_start_main()",
            "_start()"
        ],
        "ceph_version": "16.2.8-65.el8cp",
        "crash_id": "2022-07-06T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d",
        "entity_name": "mon.ceph-adm4",
        "os_id": "rhel",
        "os_name": "Red Hat Enterprise Linux",
        "os_version": "8.5 (Ootpa)",
        "os_version_id": "8.5",
        "process_name": "ceph-mon",
        "stack_sig": "957c21d558d0cba4cee9e8aaf9227b3b1b09738b8a4d2c9f4dc26d9233b0d511",
        "timestamp": "2022-07-06T19:58:42.549073Z",
        "utsname_hostname": "host02",
        "utsname_machine": "x86_64",
        "utsname_release": "4.18.0-240.15.1.el8_3.x86_64",
        "utsname_sysname": "Linux",
        "utsname_version": "#1 SMP Wed Jul 06 03:12:15 EDT 2022"
    }

  8. KEEP 일보다 저장된 충돌 제거: 여기에서 KEEP 는 정수여야 합니다.

    구문

    ceph crash prune KEEP

    예제

    [ceph: root@host01 /]# ceph crash prune 60

  9. 더 이상 RECENT_CRASH 상태 점검으로 간주되지 않고 크래시 ls-new 출력에 표시되지 않도록 크래시 보고서를 보관합니다. 충돌 ls 에 나타납니다.

    구문

    ceph crash archive CRASH_ID

    예제

    [ceph: root@host01 /]# ceph crash archive 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d

  10. 모든 충돌 보고서를 보관합니다.

    예제

    [ceph: root@host01 /]# ceph crash archive-all

  11. 크래시 덤프 제거:

    구문

    ceph crash rm CRASH_ID

    예제

    [ceph: root@host01 /]# ceph crash rm 2022-05-24T19:58:42.549073Z_b2382865-ea89-4be2-b46f-9a59af7b7a2d

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.