4장. Ceph 모니터 문제 해결
이 장에서는 Ceph 모니터와 관련된 가장 일반적인 오류를 수정하는 방법에 대해 설명합니다.
사전 요구 사항
- 네트워크 연결을 확인합니다.
4.1. 가장 일반적인 Ceph Monitor 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 ceph health detail
명령에서 반환하거나 Ceph 로그에 포함된 가장 일반적인 오류 메시지가 나열되어 있습니다. 표는 오류를 설명하고 문제를 해결하기 위해 특정 절차를 가리키는 해당 섹션에 대한 링크를 제공합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
4.1.1. Ceph Monitor 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
일반적인 Ceph Monitor 오류 메시지와 잠재적인 수정으로 구성된 테이블입니다.
오류 메시지 | 참조 |
---|---|
| |
| |
| |
|
4.1.2. Ceph 로그의 일반적인 Ceph Monitor 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 로그에 있는 일반적인 Ceph Monitor 오류 메시지와 잠재적인 수정에 대한 링크입니다.
오류 메시지 | 로그 파일 | 참조 |
---|---|---|
| 기본 클러스터 로그 | |
| 기본 클러스터 로그 | |
| 로그 모니터링 | |
| 로그 모니터링 | |
| 로그 모니터링 |
4.1.3. Ceph Monitor가 쿼럼이 없음 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 Ceph 모니터가 다운
된 것으로 표시되지만 다른 Ceph 모니터는 여전히 쿼럼을 구성할 수 있습니다. 또한 ceph health detail
명령은 다음과 유사한 오류 메시지를 반환합니다.
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)
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가 쿼럼이 아니며 down
으로 표시되는 경우 문제의 원인은 Ceph Monitor 상태에 따라 달라집니다.
-
Ceph Monitor가 예상보다 길면 다른 Ceph 모니터를 찾을 수 없습니다. 이 문제는 네트워킹 문제로 인해 발생할 수 있습니다. 또는 Ceph Monitor에 오래된 Ceph Monitor 맵(
monmap
)이 있을 수 있으며 잘못된 IP 주소에서 다른 Ceph 모니터에 도달하려고 할 수 있습니다. 또는monmap
이 최신 상태인 경우 Ceph Monitor의 클럭이 동기화되지 않을 수 있습니다. - Ceph Monitor가 예상보다 긴 선택 상태에 있는 경우 Ceph Monitor의 클럭이 동기화되지 않을 수 있습니다.
- Ceph Monitor가 동기화 에서 선택으로 상태를 변경하면 클러스터 상태가 진행 중입니다. 즉, 동기화 프로세스에서 처리할 수 있는 것보다 새 맵이 더 빠르게 생성됩니다.
- Ceph Monitor가 리더 또는 반원으로 표시되면 쿼럼이 있는 것으로 간주하지만 나머지 클러스터는 그렇지 않은 것으로 간주합니다. 이 문제는 실패한 클럭 동기화로 인해 발생할 수 있습니다.
문제 해결 방법
ceph-mon
데몬이 실행 중인지 확인합니다. 그렇지 않은 경우 다음을 시작합니다.구문
systemctl status ceph-FSID@DAEMON_NAME systemctl start ceph-FSID@DAEMON_NAME
systemctl status ceph-FSID@DAEMON_NAME systemctl start ceph-FSID@DAEMON_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-mon을 시작할 수 없는 경우
ceph-mon
-
ceph-mon
데몬을 시작할 수 있지만down
으로 표시되면ceph-mon
데몬의 단계에 따라 실행되고 있지만 '다운'으로 표시됩니다.
ceph-mon
데몬을 시작할 수 없음
기본적으로
/var/log/ceph/CLUSTER_FSID/ceph-mon에 있는 해당 Ceph 모니터 로그를 확인합니다. 기본적으로HOST_NAME.log
.참고기본적으로 모니터 로그는 로그 폴더에 없습니다. 로그가 폴더에 표시되도록 파일에 로깅을 활성화해야 합니다. 파일에 로깅할 수 있도록 Ceph 데몬 로그를 참조하십시오.
로그에 다음과 유사한 오류 메시지가 포함된 경우 Ceph Monitor에 손상된 저장소가 있을 수 있습니다.
Corruption: error in middle of record Corruption: 1 missing files; example: /var/lib/ceph/mon/mon.0/store.db/1234567.ldb
Corruption: error in middle of record Corruption: 1 missing files; example: /var/lib/ceph/mon/mon.0/store.db/1234567.ldb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 문제를 해결하려면 Ceph 모니터를 교체합니다. 실패한 모니터 교체를 참조하십시오.
로그에 다음과 유사한 오류 메시지가 포함된 경우
/var/
파티션이 가득 찼을 수 있습니다./var/
에서 불필요한 데이터를 삭제합니다.Caught signal (Bus error)
Caught signal (Bus error)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요Monitor 디렉토리에서 데이터를 수동으로 삭제하지 마십시오. 대신
ceph-monstore-tool
을 사용하여 압축합니다. 자세한 내용은 Ceph Monitor 저장소에서 참조하십시오.- 다른 오류 메시지가 표시되면 지원 티켓을 엽니 다. 자세한 내용은 Red Hat 지원 팀에 문의하십시오.
ceph-mon
Daemon이 실행 중이지만 Still은 아래로
표시되었습니다.
쿼럼이 없는 Ceph Monitor 호스트에서
mon_status
명령을 사용하여 상태를 확인합니다.ceph daemon ID mon_status
[root@mon ~]# ceph daemon ID mon_status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ID
를 Ceph 모니터의 ID로 바꿉니다. 예를 들면 다음과 같습니다.[ceph: root@host01 /]# ceph daemon mon.host01 mon_status
[ceph: root@host01 /]# ceph daemon mon.host01 mon_status
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 상태가 probing 인 경우
mon_status
출력에서 다른 Ceph 모니터의 위치를 확인합니다.-
주소가 올바르지 않으면 Ceph Monitor에 잘못된 Ceph Monitor 맵(
monmap
)이 있습니다. 이 문제를 해결하려면 Ceph Monitor 맵 Injecting a Ceph Monitor map 을 참조하십시오. - 주소가 올바르면 Ceph Monitor 클럭이 동기화되는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오.
-
주소가 올바르지 않으면 Ceph Monitor에 잘못된 Ceph Monitor 맵(
- 상태가 옵트인 경우 Ceph Monitor 클럭이 동기화되었는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오.
- 상태가 동기화 선택에서 변경되면 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 팀에 문의하십시오.
- Ceph Monitor가 리더 이거나 반원인 경우 Ceph Monitor 클럭이 동기화되는지 확인합니다. 자세한 내용은 Clock skew 를 참조하십시오. 시계를 동기화해도 문제가 해결되지 않으면 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 팀에 문의하십시오.
4.1.4. Clock Skew 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Monitor는 쿼럼이 아니며 ceph health detail
명령 출력에는 다음과 같은 오류 메시지가 포함되어 있습니다.
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)
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
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 Monitors의 시계가 동기화되지 않음을 나타냅니다. Ceph 모니터는 시간 정확도에 따라 달라지고 클럭이 동기화되지 않으면 예기치 않게 동작하기 때문에 클럭 동기화가 중요합니다.
mon_clock_drift_allowed
매개변수는 클럭이 허용되는 차이를 결정합니다. 기본적으로 이 매개변수는 0.05초로 설정됩니다.
이전 테스트없이 mon_clock_drift_allowed
의 기본값을 변경하지 마십시오. 이 값을 변경하면 일반적으로 Ceph Monitor 및 Ceph Storage 클러스터의 안정성에 영향을 미칠 수 있습니다.
클럭
불일치 오류의 가능한 원인에는 네트워크 문제 또는 구성된 경우 NTP(Network Time Protocol) 동기화의 문제가 포함됩니다. 또한 가상 머신에 배포된 Ceph Monitor에서 시간 동기화가 제대로 작동하지 않습니다.
문제 해결 방법
- 네트워크가 올바르게 작동하는지 확인합니다.
- 원격 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
mon.ceph1 store is getting too big! 48031 MB >= 15360 MB -- 62% avail
이 의미는 무엇입니까?
Ceph Monitors 저장소는 실제로 항목을 키-값 쌍으로 저장하는 CloudEventsDB 데이터베이스입니다. 데이터베이스에는 클러스터 맵이 포함되어 있으며 기본적으로 /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db
에 있습니다.
대규모 모니터 저장소를 쿼리하는 데 시간이 걸릴 수 있습니다. 결과적으로 클라이언트 쿼리에 응답하는 데 Ceph 모니터가 지연될 수 있습니다.
또한 /var/
파티션이 가득 차 있는 경우 Ceph Monitor는 저장소에 대한 쓰기 작업을 수행할 수 없으며 종료됩니다. 이 문제 해결에 대한 자세한 내용은 Ceph Monitor가 쿼럼 이 아닌 것을 참조하십시오.
문제 해결 방법
데이터베이스 크기를 확인합니다.
구문
du -sch /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db/
du -sch /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터의 이름과
ceph-mon
이 실행 중인 호스트의 짧은 호스트 이름을 지정합니다.예제
du -sh /var/lib/ceph/b341e254-b165-11ed-a564-ac1f6bb26e8c/mon.host01/
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Ceph 모니터 저장소를 압축합니다. 자세한 내용은 Ceph Monitor Store를 참조하십시오.
추가 리소스
4.1.6. Ceph Monitor 상태 이해 링크 복사링크가 클립보드에 복사되었습니다!
mon_status
명령은 다음과 같은 Ceph Monitor에 대한 정보를 반환합니다.
- 상태
- 랭크
- Eepoch
-
모니터링 맵 (
monmap
)
Ceph 모니터가 쿼럼을 구성할 수 있는 경우 ceph
명령줄 유틸리티와 함께 mon_status
를 사용합니다.
Ceph Monitors가 쿼럼을 구성할 수 없지만 ceph-mon
데몬이 실행 중인 경우 관리 소켓을 사용하여 mon_status
를 실행합니다.
mon_status
의 출력 예
Ceph 모니터 상태
- 리더
-
선택 단계에서 Ceph 모니터는 리더를 선택합니다. 리더는 순위가 가장 높은 Ceph 모니터이며 값이 가장 낮은 순위입니다. 위의 예에서 리더는
mon.1
입니다. - peon
- 페ons는 리더가 아닌 쿼럼의 Ceph 모니터입니다. 리더가 실패하면 순위가 가장 높은 페이온이 새로운 리더가 됩니다.
- probing
-
다른 Ceph 모니터를 찾고 있는 경우 Ceph Monitor가 확인 중입니다. 예를 들어 Ceph Monitor를 시작한 후 쿼럼을 구성하기 위해 Ceph Monitor 맵(
monmap
)에 지정된 Ceph 모니터를 충분히 찾을 때까지 프로빙 됩니다. - 선택
- 리더 선택 프로세스인 경우 Ceph Monitor가 선택됨 상태에 있습니다. 일반적으로 이 상태는 빠르게 변경됩니다.
- 동기화
- 쿼럼에 참여하도록 다른 Ceph 모니터와 동기화하는 경우 Ceph Monitor가 동기화 상태에 있습니다. Ceph 모니터가 더 작을수록 동기화 프로세스가 빨라집니다. 따라서 큰 저장소가 있는 경우 동기화 시간이 더 오래 걸립니다.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage 6 관리 가이드의 Ceph 관리 소켓 사용 섹션을 참조하십시오.
- Red Hat Ceph Storage 문제 해결 가이드의 4.1.1절. “Ceph Monitor 오류 메시지” 를 참조하십시오.
- Red Hat Ceph Storage 문제 해결 가이드의 4.1.2절. “Ceph 로그의 일반적인 Ceph Monitor 오류 메시지” 를 참조하십시오.