검색

4장. Ceph 모니터 문제 해결

download PDF

이 장에서는 Ceph 모니터와 관련된 가장 일반적인 오류를 수정하는 방법에 대해 설명합니다.

사전 요구 사항

  • 네트워크 연결을 확인합니다.

4.1. 가장 일반적인 Ceph Monitor 오류

다음 표에는 ceph health detail 명령에서 반환하거나 Ceph 로그에 포함된 가장 일반적인 오류 메시지가 나열되어 있습니다. 표에서는 오류를 설명하고 문제를 해결하기 위해 특정 절차를 가리키는 해당 섹션에 대한 링크를 제공합니다.

사전 요구 사항

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

4.1.1. Ceph Monitor 오류 메시지

일반적인 Ceph Monitor 오류 메시지와 잠재적인 수정 사항 표입니다.

오류 메시지참조

HEALTH_WARN

Mon.X 가 down (out of quorum)

Ceph Monitor가 쿼럼이 없음

클럭 스큐

클럭 스큐

공간이 너무 커지고 있습니다!

Ceph Monitor 저장소가 너무 커졌습니다.

4.1.2. Ceph 로그의 일반적인 Ceph Monitor 오류 메시지

Ceph 로그에 있는 일반적인 Ceph Monitor 오류 메시지 표와 잠재적인 수정 사항에 대한 링크입니다.

오류 메시지로그 파일참조

클럭 스큐

기본 클러스터 로그

클럭 스큐

시계가 동기화되지 않음

기본 클러스터 로그

클럭 스큐

손상: 레코드 중 오류

로그 모니터링

Ceph Monitor가 쿼럼이 없음

Ceph Monitor 저장소 복구

손상: 1 누락된 파일

로그 모니터링

Ceph Monitor가 쿼럼이 없음

Ceph Monitor 저장소 복구

감지된 신호(Bus 오류)

로그 모니터링

Ceph Monitor가 쿼럼이 없음

4.1.3. Ceph Monitor가 쿼럼이 없음

하나 이상의 Ceph 모니터가 down 으로 표시되지만 다른 Ceph 모니터는 여전히 쿼럼을 구성할 수 있습니다. 또한 ceph health details 명령은 다음과 유사한 오류 메시지를 반환합니다.

HEALTH_WARN 1 mons down, quorum 1,2 mon.b,mon.c
mon.a (rank 0) addr 127.0.0.1:6789/0 is down (out of quorum)

이 값은 다음과 같습니다.

Ceph는 여러 가지 이유로 Ceph Monitor를 다운 로 표시합니다.

ceph-mon 데몬이 실행되지 않으면 손상된 저장소가 있거나 다른 오류가 발생하여 데몬이 시작되지 않을 수 있습니다. 또한 /var/ 파티션이 가득 차 있을 수 있습니다. 결과적으로 ceph-mon 은 기본적으로 /var/lib/ceph/mon-SHORT_HOST_NAME/store.db 에 있는 저장소에 대한 작업을 수행할 수 없으며 종료됩니다.

ceph-mon 데몬이 실행 중이지만 Ceph Monitor가 쿼럼이 없고 다운 된 것으로 표시되면 문제의 원인은 Ceph Monitor 상태에 따라 달라집니다.

  • Ceph Monitor가 예상보다 긴 경우 다른 Ceph 모니터를 찾을 수 없습니다. 이 문제는 네트워킹 문제로 인해 발생할 수 있거나 Ceph Monitor에 오래된 Ceph Monitor 맵(monmap)이 있을 수 있으며 잘못된 IP 주소의 다른 Ceph 모니터에 연결하려고 할 수 있습니다. 또는 monmap 이 최신 상태이면 Ceph Monitor의 시계가 동기화되지 않을 수 있습니다.
  • Ceph Monitor가 선택 상태에 있는 경우 Ceph 모니터의 클록이 동기화되지 않을 수 있습니다.
  • Ceph Monitor가 해당 상태를 동기화 에서 선택 사항으로 변경하면 클러스터 상태가 진행 중입니다. 즉, 동기화 프로세스에서 처리할 수 있는 것보다 더 빨리 새 맵을 생성합니다.
  • Ceph Monitor가 자체적으로 리더 또는 소온 으로 표시되면 쿼럼이라고 생각하지만 나머지 클러스터는 그렇지 않은 것으로 간주합니다. 이 문제는 클럭 동기화 실패로 인해 발생할 수 있습니다.

이 문제를 해결하기 위해

  1. ceph-mon 데몬이 실행 중인지 확인합니다. 그렇지 않은 경우 시작합니다.

    구문

    systemctl status ceph-FSID@DAEMON_NAME
    systemctl start ceph-FSID@DAEMON_NAME

    예제

    [root@mon ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
    [root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service

  2. ceph-mon을 시작할 수 없는 경우 ceph-mon 데몬의 단계를 실행할 수 없습니다.
  3. ceph-mon 데몬을 시작할 수 있지만 아래로 표시된 경우 ceph-mon 데몬이 실행 중이지만 'down'으로 표시된 단계를 따르십시오.

ceph-mon Daemon을 시작할 수 없습니다

  1. 기본적으로 /var/log/ceph/CLUSTER_FSID/ceph-mon.HOST_NAME.log 에 있는 해당 Ceph Monitor 로그를 확인합니다.

    참고

    기본적으로 모니터 로그는 로그 폴더에 표시되지 않습니다. 로그에 대한 로그 로깅이 폴더에 표시되도록 하려면 파일에 로깅을 활성화해야 합니다. 파일에 로깅할 수 있는 Ceph 데몬 로그 를 참조하십시오.

  2. 로그에 다음과 유사한 오류 메시지가 포함된 경우 Ceph 모니터에 손상된 저장소가 있을 수 있습니다.

    Corruption: error in middle of record
    Corruption: 1 missing files; example: /var/lib/ceph/mon/mon.0/store.db/1234567.ldb

    이 문제를 해결하려면 Ceph Monitor를 교체합니다. 실패한 모니터 교체를 참조하십시오.

  3. 로그에 다음 오류 메시지와 유사한 오류 메시지가 포함된 경우 /var/ 파티션이 가득 차 있을 수 있습니다. /var/ 에서 불필요한 데이터를 삭제합니다.

    Caught signal (Bus error)
    중요

    Monitor 디렉터리에서 수동으로 데이터를 삭제하지 마십시오. 대신 ceph-monstore-tool 을 사용하여 압축합니다. 자세한 내용은 Ceph Monitor 저장소를 참조하십시오.

  4. 다른 오류 메시지가 표시되면 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.

ceph-mon Daemon이 실행 중이지만 Still은 down으로 표시됨

  1. 쿼럼이 없는 Ceph Monitor 호스트에서 mon_status 명령을 사용하여 상태를 확인합니다.

    [root@mon ~]# ceph daemon ID mon_status

    ID 를 Ceph Monitor의 ID로 교체합니다. 예를 들면 다음과 같습니다.

    [ceph: root@host01 /]# ceph daemon mon.host01 mon_status
  2. 상태가 probing 인 경우 mon_status 출력에서 다른 Ceph Monitor의 위치를 확인합니다.

    1. 주소가 올바르지 않으면 Ceph Monitor에 잘못된 Ceph Monitor 맵(monmap)이 있습니다. 이 문제를 해결하려면 Ceph Monitor 맵 삽입을 참조하십시오.
    2. 주소가 올바르면 Ceph Monitor 시계가 동기화되었는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오.
  3. 상태가 선택 인 경우 Ceph Monitor 클록이 동기화되었는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오.
  4. 상태가 선택에서 동기화 로 변경되는 경우 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
  5. Ceph Monitor가 리더 이거나 소 온인 경우 Ceph Monitor 클록이 동기화되었는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오. 클럭을 동기화해도 문제가 해결되지 않는 경우 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.

추가 리소스

4.1.4. 클럭 스큐

Ceph Monitor는 쿼럼이 없으며 ceph 상태 세부 정보 명령 출력에는 다음과 유사한 오류 메시지가 포함됩니다.

mon.a (rank 0) addr 127.0.0.1:6789/0 is down (out of quorum)
mon.a addr 127.0.0.1:6789/0 clock skew 0.08235s > max 0.05s (latency 0.0045s)

또한 Ceph 로그에 다음과 유사한 오류 메시지가 포함되어 있습니다.

2022-05-04 07:28:32.035795 7f806062e700 0 log [WRN] : mon.a 127.0.0.1:6789/0 clock skew 0.14s > max 0.05s
2022-05-04 04:31:25.773235 7f4997663700 0 log [WRN] : message from mon.1 was stamped 0.186257s in the future, clocks not synchronized

이 값은 다음과 같습니다.

클럭 스큐 오류 메시지는 Ceph 모니터의 시계가 동기화되지 않음을 나타냅니다. 클럭 동기화는 시간 정확도에 따라 다르며 시계가 동기화되지 않은 경우 예기치 않게 작동하므로 클럭 동기화가 중요합니다.

mon_clock_drift_allowed 매개변수는 클럭 간의 불일치를 결정합니다. 기본적으로 이 매개변수는 0.05초로 설정됩니다.

중요

이전 테스트 없이 mon_clock_drift_allowed 의 기본값을 변경하지 마십시오. 이 값을 변경하면 일반적으로 Ceph Monitor 및 Ceph Storage 클러스터의 안정성에 영향을 미칠 수 있습니다.

클럭 스큐 오류의 가능한 원인에는 네트워크 문제 또는 이러한 설정이 구성된 경우 chrony Network Time Protocol (NTP) 동기화 문제 등이 있습니다. 또한 가상 머신에 배포된 Ceph 모니터에서 시간 동기화가 제대로 작동하지 않습니다.

이 문제를 해결하기 위해

  1. 네트워크가 올바르게 작동하는지 확인합니다.
  2. 원격 NTP 서버를 사용하는 경우 네트워크에 고유한 chrony NTP 서버를 배포하는 것이 좋습니다. 자세한 내용은 Red Hat 고객 포털에서 {os-product for your OS 버전에 대한 제품 설명서에서 기본 시스템 설정 구성 가이드에서 Chrony Suite를 사용하여 NTP 구성 장을 참조하십시오.
참고

Ceph는 5분마다 시간 동기화를 평가하므로 문제를 해결하고 클럭 스큐 메시지를 지우는 사이에 지연이 발생합니다.

4.1.5. Ceph Monitor 저장소가 너무 커졌습니다.

ceph health 명령은 다음과 유사한 오류 메시지를 반환합니다.

mon.ceph1 store is getting too big! 48031 MB >= 15360 MB -- 62% avail

이 값은 다음과 같습니다.

Ceph Monitors 저장소는 실제로 항목을 키-값 쌍으로 저장하는 RocksDB 데이터베이스입니다. 데이터베이스에는 클러스터 맵이 포함되어 있으며 기본적으로 /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db 에 있습니다.

대규모 모니터 저장소를 쿼리하는 데 시간이 걸릴 수 있습니다. 결과적으로 Ceph Monitor가 클라이언트 쿼리에 응답하는 데 지연될 수 있습니다.

또한 /var/ 파티션이 가득 차면 Ceph Monitor는 저장소에 대한 쓰기 작업을 수행하고 종료할 수 없습니다. 이 문제 해결에 대한 자세한 내용은 Ceph Monitor is out of quorum 에서 참조하십시오.

이 문제를 해결하기 위해

  1. 데이터베이스 크기를 확인합니다.

    구문

    du -sch /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db/

    클러스터의 이름과 ceph-mon 이 실행 중인 호스트의 짧은 호스트 이름을 지정합니다.

    예제

    [root@mon ~]# du -sh  /var/lib/ceph/b341e254-b165-11ed-a564-ac1f6bb26e8c/mon.host01/
    109M	/var/lib/ceph/b341e254-b165-11ed-a564-ac1f6bb26e8c/mon.host01/
    47G     /var/lib/ceph/mon/ceph-ceph1/store.db/
    47G     total

  2. Ceph Monitor 저장소를 압축합니다. 자세한 내용은 Ceph Monitor Store를 참조하십시오.

4.1.6. Ceph Monitor 상태 이해

mon_status 명령은 다음과 같은 Ceph Monitor에 대한 정보를 반환합니다.

  • 상태
  • 순위
  • elections epoch
  • 모니터 맵(Monmap)

Ceph Monitor가 쿼럼을 구성할 수 있는 경우 ceph 명령줄 유틸리티와 함께 mon_status 를 사용합니다.

Ceph Monitor가 쿼럼을 형성할 수 없지만 ceph-mon 데몬이 실행 중인 경우 관리 소켓을 사용하여 mon_status 를 실행합니다.

mon_status출력 예

{
    "name": "mon.3",
    "rank": 2,
    "state": "peon",
    "election_epoch": 96,
    "quorum": [
        1,
        2
    ],
    "outside_quorum": [],
    "extra_probe_peers": [],
    "sync_provider": [],
    "monmap": {
        "epoch": 1,
        "fsid": "d5552d32-9d1d-436c-8db1-ab5fc2c63cd0",
        "modified": "0.000000",
        "created": "0.000000",
        "mons": [
            {
                "rank": 0,
                "name": "mon.1",
                "addr": "172.25.1.10:6789\/0"
            },
            {
                "rank": 1,
                "name": "mon.2",
                "addr": "172.25.1.12:6789\/0"
            },
            {
                "rank": 2,
                "name": "mon.3",
                "addr": "172.25.1.13:6789\/0"
            }
        ]
    }
}

Ceph 모니터 상태

리더
선택 단계에서 Ceph 모니터는 리더를 선택하고 있습니다. 리더는 가장 높은 순위를 가진 Ceph Monitor이며, 값이 가장 낮은 순위입니다. 위의 예에서 리더는 mon.1 입니다.
peon
래곤은 리더가 아닌 쿼럼의 Ceph Monitor입니다. 리더가 실패하면 가장 높은 순위를 가진 페이온이 새로운 리더가됩니다.
Probing
다른 Ceph 모니터를 찾는 경우 Ceph 모니터가 probing 상태에 있습니다. 예를 들어 Ceph 모니터를 시작한 후 Ceph 모니터에 지정된 충분한 Ceph 모니터(monmap)를 확인하여 쿼럼을 형성할 때까지 검색 됩니다.
선택 사항
리더 선택 프로세스에 있는 경우 Ceph Monitor가 선택 상태에 있습니다. 일반적으로 이 상태가 빠르게 변경됩니다.
동기화
다른 Ceph 모니터와 동기화하여 쿼럼에 참여하면 Ceph Monitor가 동기화 상태에 있습니다. Ceph Monitor가 더 작을수록 동기화 프로세스가 빨라집니다. 따라서 큰 저장소가 있는 경우 동기화에 시간이 더 오래 걸립니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.