문제 해결 가이드
Red Hat Ceph Storage 문제 해결
초록
1장. 초기 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 Red Hat 지원에 연락하기 전에 Red Hat Ceph Storage 클러스터의 초기 문제 해결을 수행할 수 있습니다. 이 장에서는 다음 정보가 포함되어 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
1.1. 문제 식별 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터에서 오류 발생 가능한 원인을 확인하려면 Procedure 섹션의 질문에 대답하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
프로세스
- 지원되지 않는 구성을 사용할 때 특정 문제가 발생할 수 있습니다. 구성이 지원되는지 확인합니다.
문제를 유발하는 Ceph 구성 요소에 대해 알고 있습니까?
- 아니요. Red Hat Ceph Storage 문제 해결 가이드에서 Ceph 스토리지 클러스터 절차의 상태를 진단합니다.
- Ceph 모니터. Red Hat Ceph Storage 문제 해결 가이드의 Ceph 모니터 문제 해결 섹션을 참조하십시오.
- Ceph OSD. Red Hat Ceph Storage 문제 해결 가이드의 Ceph OSD 문제 해결 섹션을 참조하십시오.
- Ceph 배치 그룹. Red Hat Ceph Storage 문제 해결 가이드의 Ceph 배치 그룹 문제 해결 섹션을 참조하십시오.
- 다중 사이트 Ceph Object Gateway. Red Hat Ceph Storage 문제 해결 가이드의 다중 사이트 Ceph Object Gateway 문제 해결 섹션을 참조하십시오.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage: 지원되는 구성 문서를 참조하십시오.
1.2. 스토리지 클러스터의 상태 진단 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 Red Hat Ceph Storage 클러스터의 상태를 진단하는 기본 단계를 설명합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터의 전체 상태를 확인합니다.
예
[ceph: root@host01 /]# ceph health detail
[ceph: root@host01 /]# ceph health detailCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령에서
HEALTH_WARN또는HEALTH_ERR을 반환하는 경우 자세한 내용은 Ceph 상태 이해 를 참조하십시오.스토리지 클러스터의 로그를 모니터링합니다.
예
[ceph: root@host01 /]# ceph -W cephadm
[ceph: root@host01 /]# ceph -W cephadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 로그를 파일로 캡처하려면 다음 명령을 실행합니다.
예
[ceph: root@host01 /]# ceph config set global log_to_file true [ceph: root@host01 /]# ceph config set global mon_cluster_log_to_file true
[ceph: root@host01 /]# ceph config set global log_to_file true [ceph: root@host01 /]# ceph config set global mon_cluster_log_to_file trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 로그는 기본적으로
/var/log/ceph/CLUSTER_FSID/디렉터리에 있습니다. Ceph 로그 이해에 나열된 오류 메시지가 Ceph 로그를 확인합니다.- 로그에 충분한 양의 정보가 포함되어 있지 않으면 디버깅 수준을 늘리고 실패한 작업을 재현합니다. 자세한 내용은 로깅 구성 을 참조하십시오.
1.3. Ceph 상태 이해 링크 복사링크가 클립보드에 복사되었습니다!
ceph health 명령은 Red Hat Ceph Storage 클러스터의 상태에 대한 정보를 반환합니다.
-
HEALTH_OK는 클러스터가 정상임을 나타냅니다. -
HEALTH_WARN은 경고를 나타냅니다. 경우에 따라 Ceph 상태가HEALTH_OK로 자동 반환됩니다. 예를 들어 Red Hat Ceph Storage 클러스터가 재조정 프로세스를 완료하는 경우입니다. 그러나 클러스터가HEALTH_WARN상태에 있는 경우 더 오랜 시간 동안 추가 문제 해결을 고려하십시오. -
HEALTH_ERR은 즉각적인 주의가 필요한 더 심각한 문제를 나타냅니다.
ceph 상태 세부 정보 및 ceph -s 명령을 사용하여 더 자세한 출력을 가져옵니다.
mgr 데몬이 실행되고 있지 않은 경우 상태 경고가 표시됩니다. Red Hat Ceph Storage 클러스터의 마지막 mgr 데몬이 제거된 경우 Red Hat Storage 클러스터의 임의 호스트에 mgr 데몬을 수동으로 배포할 수 있습니다. Red Hat Ceph Storage 8 관리 가이드에서 mgr 데몬 수동 배포를 참조하십시오.
1.4. Ceph 클러스터의 상태 경고 변경 링크 복사링크가 클립보드에 복사되었습니다!
특정 시나리오에서는 사용자가 이미 경고를 인식하고 즉시 조치를 취할 수 없기 때문에 일부 경고를 일시적으로 음소거하려고 할 수 있습니다. Ceph 클러스터의 전체 보고된 상태에 영향을 미치지 않도록 상태 점검을 음소거할 수 있습니다.
경고는 상태 점검 코드를 사용하여 지정됩니다. 한 가지 예는 유지 관리를 위해 OSD가 다운되면 OSD_DOWN 경고가 예상됩니다. 이러한 경고는 전체 유지 관리 기간 동안 HEALTH_OK 대신 HEALTH_WARN 에 클러스터를 배치하기 때문에 유지보수가 끝날 때까지 경고를 음소거하도록 선택할 수 있습니다.
대부분의 건강 mutes는 경고의 범위가 더 나빠지면 사라집니다. 예를 들어 OSD가 한 개 있고 음소거된 경우 하나 이상의 추가 OSD가 중단되면 음소거가 사라집니다. 경고 또는 오류를 트리거하는 항목 수 또는 수를 나타내는 개수가 포함된 모든 상태 경고에 적용됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스 수준입니다.
- 상태 경고 메시지.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph health detail명령을 실행하여 Red Hat Ceph Storage 클러스터의 상태를 확인합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 중 하나가 다운되면 스토리지 클러스터가
HEALTH_WARN상태에 있음을 확인할 수 있습니다.경고를 음소거합니다.
구문
ceph health mute HEALTH_MESSAGE
ceph health mute HEALTH_MESSAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph health mute OSD_DOWN
[ceph: root@host01 /]# ceph health mute OSD_DOWNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 상태 점검 음소거는 연결된 TTL(Time to Live)을 가질 수 있으므로 지정된 기간이 경과된 후 음소거가 자동으로 만료됩니다. 명령에서 TTL을 선택적 기간 인수로 지정합니다.
구문
ceph health mute HEALTH_MESSAGE DURATION
ceph health mute HEALTH_MESSAGE DURATIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow DURATION 은
s,sec,m,min,h또는hour로 지정할 수 있습니다.예
[ceph: root@host01 /]# ceph health mute OSD_DOWN 10m
[ceph: root@host01 /]# ceph health mute OSD_DOWN 10mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 경고
OSD_DOWN은 10분 동안 음소거됩니다.Red Hat Ceph Storage 클러스터 상태가
HEALTH_OK로 변경되었는지 확인합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는 OSD_DOWN 및 OSD_FLAG 경고가 음소거되고 음소거가 9분 동안 활성 상태임을 확인할 수 있습니다.
선택 사항: 고정을 설정하여 경고가 지워진 후에도 음소거를 유지할 수 있습니다.
구문
ceph health mute HEALTH_MESSAGE DURATION --sticky
ceph health mute HEALTH_MESSAGE DURATION --stickyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph health mute OSD_DOWN 1h --sticky
[ceph: root@host01 /]# ceph health mute OSD_DOWN 1h --stickyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 음소거를 제거할 수 있습니다.
구문
ceph health unmute HEALTH_MESSAGE
ceph health unmute HEALTH_MESSAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph health unmute OSD_DOWN
[ceph: root@host01 /]# ceph health unmute OSD_DOWNCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.5. Ceph 로그 이해 링크 복사링크가 클립보드에 복사되었습니다!
파일에 로깅이 활성화된 후 Ceph는 로그를 /var/log/ceph/CLUSTER_FSID/ 디렉터리에 저장합니다.
CLUSTER_NAME.log 는 글로벌 이벤트를 포함하는 주요 스토리지 클러스터 로그 파일입니다. 기본적으로 로그 파일 이름은 ceph.log 입니다. Ceph Monitor 노드만 기본 스토리지 클러스터 로그를 포함합니다.
각 Ceph OSD 및 모니터에는 CLUSTER_NAME-osd라는 자체 로그 파일이 있습니다.NUMBER.log 및 CLUSTER_NAME-mon.HOSTNAME.log.
Ceph 하위 시스템의 디버깅 수준을 늘리면 Ceph는 해당 하위 시스템에 대한 새 로그 파일도 생성합니다.
1.6. sos 보고서생성 링크 복사링크가 클립보드에 복사되었습니다!
sos report 명령을 실행하여 Red Hat Enterprise Linux에서 Red Hat Ceph Storage 클러스터의 구성 세부 정보, 시스템 정보 및 진단 정보를 수집할 수 있습니다. Red Hat 지원 팀은 스토리지 클러스터의 추가 문제 해결을 위해 이 정보를 사용합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
sos패키지를 설치합니다.예
dnf install sos
[root@host01 ~]# dnf install sosCopy to Clipboard Copied! Toggle word wrap Toggle overflow sos 보고서를실행하여 스토리지 클러스터의 시스템 정보를 가져옵니다.예
sos report -a --all-logs
[root@host01 ~]# sos report -a --all-logsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 보고서는
/var/tmp파일에 저장됩니다.특정 Ceph 데몬 정보에 대해 다음 명령을 실행합니다.
예
sos report --all-logs -e ceph_mgr,ceph_common,ceph_mon,ceph_osd,ceph_ansible,ceph_mds,ceph_rgw
[root@host01 ~]# sos report --all-logs -e ceph_mgr,ceph_common,ceph_mon,ceph_osd,ceph_ansible,ceph_mds,ceph_rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2장. 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 다양한 Ceph 하위 시스템에 대한 로깅을 구성하는 방법을 설명합니다.
로깅은 리소스를 많이 사용하는 것입니다. 또한 상세 로깅은 비교적 짧은 시간에 대량의 데이터를 생성할 수 있습니다. 클러스터의 특정 하위 시스템에 문제가 발생하면 해당 하위 시스템의 로깅만 활성화합니다. 자세한 내용은 2.1절. “Ceph 하위 시스템”를 참조하십시오.
또한 로그 파일의 순환을 설정하는 것이 좋습니다. 자세한 내용은 2.4절. “로그 교체 가속화” 을 참조하십시오.
발생하는 문제를 해결하면 하위 시스템 로그 및 메모리 수준을 기본값으로 변경합니다. 모든 Ceph 하위 시스템 목록과 해당 기본값은 부록 A. Ceph 하위 시스템의 기본 로깅 수준 값 를 참조하십시오.
다음을 통해 Ceph 로깅을 구성할 수 있습니다.
-
런타임 시
ceph명령 사용. 이것이 가장 일반적인 접근 방식입니다. 자세한 내용은 2.2절. “런타임 시 로깅 구성” 을 참조하십시오. - Ceph 구성 파일 업데이트. 클러스터를 시작할 때 문제가 발생하면 이 방법을 사용합니다. 자세한 내용은 2.3절. “구성 파일에 로그인 구성” 을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
2.1. Ceph 하위 시스템 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에는 Ceph 하위 시스템 및 해당 로깅 수준에 대한 정보가 포함되어 있습니다.
Ceph Cryostat 및 Their Logging 레벨 이해
Ceph는 여러 하위 시스템으로 구성됩니다.
각 하위 시스템에는 다음과 같은 로깅 수준이 있습니다.
-
기본적으로
/var/log/ceph/CLUSTER_FSID/디렉터리(로그 수준)에 저장된 출력 로그 - 메모리 캐시에 저장된 로그(메모리 수준)
일반적으로 Ceph는 다음을 제외하고 메모리에 저장된 로그를 출력 로그에 보내지 않습니다.
- 치명적인 신호가 발생했습니다.
- 소스 코드의 어설션이 트리거됩니다.
- 자주 묻는 질문
이러한 하위 시스템 각각에 대해 다른 값을 설정할 수 있습니다. Ceph 로깅 수준은 1 에서 20 까지의 척도에서 작동합니다. 여기서 1 은 테스이며 20 은 상세 정보입니다.
로그 수준 및 메모리 수준에 단일 값을 사용하여 둘 다 동일한 값으로 설정합니다. 예를 들어 debug_osd = 5 는 ceph-osd 데몬의 디버그 수준을 5 로 설정합니다.
출력 로그 수준 및 메모리 수준에 다른 값을 사용하려면 슬래시(/)로 값을 구분합니다. 예를 들어 debug_mon = 1/5 는 ceph-mon 데몬의 디버그 로그 수준을 1 로 설정하고 메모리 로그 수준을 5 로 설정합니다.
| 하위 시스템 | 로그 수준 | 메모리 수준 | 설명 |
|---|---|---|---|
|
| 1 | 5 | 관리 소켓 |
|
| 1 | 5 | 인증 |
|
| 0 | 5 |
|
|
| 1 | 5 | BlueStore OSD 백엔드 |
|
| 1 | 5 | OSD 저널 |
|
| 1 | 5 | 메타데이터 서버 |
|
| 0 | 5 | Monitor 클라이언트는 대부분의 Ceph 데몬과 모니터 간의 통신을 처리합니다. |
|
| 1 | 5 | 모니터 |
|
| 0 | 5 | Ceph 구성 요소 간 메시징 시스템 |
|
| 0 | 5 | OSD 데몬 |
|
| 0 | 5 | 합의를 수립하기 위해 모니터하는 알고리즘 |
|
| 0 | 5 | Ceph의 핵심 구성 요소인 안정적인 Autonomic Distributed Object Store |
|
| 0 | 5 | Ceph 블록 장치 |
|
| 1 | 5 | Ceph Object Gateway |
로그 출력 예
다음 예제에서는 모니터 및 OSD의 상세 수준을 높일 때 로그에 있는 메시지 유형을 보여줍니다.
디버그 설정 모니터링
debug_ms = 5 debug_mon = 20 debug_paxos = 20 debug_auth = 20
debug_ms = 5
debug_mon = 20
debug_paxos = 20
debug_auth = 20
모니터 디버그 설정 로그 출력 예
OSD 디버그 설정
debug_ms = 5 debug_osd = 20
debug_ms = 5
debug_osd = 20
OSD 디버그 설정 로그 출력 예
2.2. 런타임 시 로깅 구성 링크 복사링크가 클립보드에 복사되었습니다!
발생할 수 있는 모든 문제를 해결할 수 있도록 시스템 런타임에 Ceph 하위 시스템의 로깅을 구성할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph 디버거에 액세스합니다.
프로세스
Ceph 디버깅 출력을 활성화하려면 런타임 시
dout()를 실행합니다.ceph tell TYPE.ID injectargs --debug-SUBSYSTEM VALUE [--NAME VALUE]
ceph tell TYPE.ID injectargs --debug-SUBSYSTEM VALUE [--NAME VALUE]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 교체:
-
Ceph 데몬 유형이 있는
TYPE(osd,mon또는mds) -
Ceph 데몬의 특정
ID가 있는 ID입니다. 또는*를 사용하여 특정 유형의 모든 데몬에 런타임 설정을 적용합니다. -
특정 하위 시스템이 있는
SUBSYSTEM. 1에서20사이의 숫자가 있는VALUE입니다. 여기서1은 테스이고20은 상세 정보입니다.예를 들어
osd.0이라는 OSD 하위 시스템의 로그 수준을 0으로 설정하고 메모리 수준을 5로 설정하려면 다음을 실행합니다.ceph tell osd.0 injectargs --debug-osd 0/5
# ceph tell osd.0 injectargs --debug-osd 0/5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Ceph 데몬 유형이 있는
런타임 시 구성 설정을 보려면 다음을 수행합니다.
-
실행 중인 Ceph 데몬을 사용하여 호스트에 로그인합니다(예:
ceph-osd또는ceph-mon). 구성을 표시합니다.
구문
ceph daemon NAME config show | less
ceph daemon NAME config show | lessCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph daemon osd.0 config show | less
[ceph: root@host01 /]# ceph daemon osd.0 config show | lessCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 구성 파일에 로그인 구성 링크 복사링크가 클립보드에 복사되었습니다!
정보, 경고 및 오류 메시지를 로그 파일에 기록하도록 Ceph 하위 시스템을 구성합니다. 기본적으로 /etc/ceph/ceph.conf ) Ceph 구성 파일에서 디버깅 수준을 지정할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
프로세스
Ceph 디버깅 출력을 활성화하려면 부팅 시
dout()을 Ceph 구성 파일에 디버깅 설정을 추가합니다.-
각 데몬에 공통되는 하위 시스템의 경우
[global]섹션 아래에 설정을 추가합니다. 특정 데몬의 하위 시스템의 경우 데몬 섹션 아래에
[mon],[osd]또는[mds]와 같은 설정을 추가합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
각 데몬에 공통되는 하위 시스템의 경우
추가 리소스
2.4. 로그 교체 가속화 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 구성 요소의 디버깅 수준을 늘리면 대량의 데이터가 생성될 수 있습니다. 거의 전체 디스크가 있는 경우 /etc/logrotate.d/ceph-<fsid >에서 Ceph 로그 회전 파일을 수정하여 로그 교체를 가속화할 수 있습니다. Cron 작업 스케줄러는 이 파일을 사용하여 로그 교체를 예약합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
회전 빈도 뒤에 size 설정을 로그 회전 파일에 추가합니다.
rotate 7 weekly size SIZE compress sharedscripts
rotate 7 weekly size SIZE compress sharedscriptsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들어 500MB에 도달하면 로그 파일을 순환하려면 다음을 수행합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고크기 값은 '500MB' 또는 '500M'로 표시할 수 있습니다.
crontab편집기를 엽니다.crontab -e
[root@mon ~]# crontab -eCopy to Clipboard Copied! Toggle word wrap Toggle overflow 항목을 추가하여
/etc/logrotate.d/ceph-<fsid> 파일을확인합니다. 예를 들어 Cron에 30분마다/etc/logrotate.d/ceph-<fsid>를 확인하도록 지시하려면 다음을 수행합니다.30 * * * * /usr/sbin/logrotate /etc/logrotate.d/ceph-d3bb5396-c404-11ee-9e65-002590fc2a2e >/dev/null 2>&1
30 * * * * /usr/sbin/logrotate /etc/logrotate.d/ceph-d3bb5396-c404-11ee-9e65-002590fc2a2e >/dev/null 2>&1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5. Ceph Object Gateway의 작업 로그 생성 및 수집 링크 복사링크가 클립보드에 복사되었습니다!
사용자 ID 정보가 작업 로그 출력에 추가됩니다. 이는 고객이 S3 액세스 감사를 위해 이 정보에 액세스할 수 있도록 하는 데 사용됩니다. 모든 버전의 Ceph Object Gateway 작업 로그에서 S3 요청에 의해 안정적으로 사용자 ID를 추적합니다.
프로세스
로그가 있는 위치를 찾습니다.
구문
logrotate -f
logrotate -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
logrotate -f /etc/logrotate.d/ceph-12ab345c-1a2b-11ed-b736-fa163e4f6220
[root@host01 ~]# logrotate -f /etc/logrotate.d/ceph-12ab345c-1a2b-11ed-b736-fa163e4f6220Copy to Clipboard Copied! Toggle word wrap Toggle overflow 지정된 위치 내의 로그를 나열합니다.
구문
ll LOG_LOCATION
ll LOG_LOCATIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
ll /var/log/ceph/12ab345c-1a2b-11ed-b736-fa163e4f6220 -rw-r--r--. 1 ceph ceph 412 Sep 28 09:26 opslog.log.1.gz
[root@host01 ~]# ll /var/log/ceph/12ab345c-1a2b-11ed-b736-fa163e4f6220 -rw-r--r--. 1 ceph ceph 412 Sep 28 09:26 opslog.log.1.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 버킷을 나열합니다.
예
/usr/local/bin/s3cmd ls
[root@host01 ~]# /usr/local/bin/s3cmd lsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 버킷을 생성합니다.
구문
/usr/local/bin/s3cmd mb s3://NEW_BUCKET_NAME
/usr/local/bin/s3cmd mb s3://NEW_BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
/usr/local/bin/s3cmd mb s3://bucket1 Bucket `s3://bucket1` created
[root@host01 ~]# /usr/local/bin/s3cmd mb s3://bucket1 Bucket `s3://bucket1` createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 현재 로그를 나열합니다.
구문
ll LOG_LOCATION
ll LOG_LOCATIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
ll /var/log/ceph/12ab345c-1a2b-11ed-b736-fa163e4f6220 total 852 ... -rw-r--r--. 1 ceph ceph 920 Jun 29 02:17 opslog.log -rw-r--r--. 1 ceph ceph 412 Jun 28 09:26 opslog.log.1.gz
[root@host01 ~]# ll /var/log/ceph/12ab345c-1a2b-11ed-b736-fa163e4f6220 total 852 ... -rw-r--r--. 1 ceph ceph 920 Jun 29 02:17 opslog.log -rw-r--r--. 1 ceph ceph 412 Jun 28 09:26 opslog.log.1.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 로그를 수집합니다.
구문
tail -f LOG_LOCATION/opslog.log
tail -f LOG_LOCATION/opslog.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3장. 네트워킹 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 네트워킹 및 NTP(Network Time Protocol)용 chrony와 연결된 기본 문제 해결 절차를 나열합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
3.1. 기본 네트워킹 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage는 안정적인 네트워크 연결에 크게 의존합니다. Red Hat Ceph Storage 노드는 네트워크를 사용하여 서로 통신합니다. 네트워킹 문제로 인해 Ceph OSD에 대한 많은 문제가 발생할 수 있습니다(예: 이러한 문제가 발생하거나 다운 된 것으로 잘못 보고됨). 네트워킹 문제로 인해 Ceph Monitor의 클럭 스큐 오류가 발생할 수 있습니다. 또한 패킷 손실, 높은 대기 시간 또는 제한된 대역폭은 클러스터 성능과 안정성에 영향을 미칠 수 있습니다.
사전 요구 사항
- 노드에 대한 루트 수준 액세스.
프로세스
net-tools및telnet패키지를 설치하면 Ceph 스토리지 클러스터에서 발생할 수 있는 네트워크 문제를 해결하는 데 도움이 될 수 있습니다.예
dnf install net-tools dnf install telnet
[root@host01 ~]# dnf install net-tools [root@host01 ~]# dnf install telnetCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm쉘에 로그인하고 Ceph 구성 파일의public_network매개변수에 올바른 값이 포함되어 있는지 확인합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 쉘을 종료하고 네트워크 인터페이스가 작동하는지 확인합니다.
예
ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:1a:4a:00:06:72 brd ff:ff:ff:ff:ff:ff[root@host01 ~]# ip link list 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 00:1a:4a:00:06:72 brd ff:ff:ff:ff:ff:ffCopy to Clipboard Copied! Toggle word wrap Toggle overflow 짧은 호스트 이름을 사용하여 Ceph 노드가 서로 연결할 수 있는지 확인합니다. 스토리지 클러스터의 각 노드에서 이를 확인합니다.
구문
ping SHORT_HOST_NAME
ping SHORT_HOST_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
ping host02
[root@host01 ~]# ping host02Copy to Clipboard Copied! Toggle word wrap Toggle overflow 방화벽을 사용하는 경우 Ceph 노드가 적절한 포트에서 서로 연결할 수 있는지 확인합니다.
firewall-cmd및telnet툴은 포트 상태를 확인하고 포트가 각각 열려 있는지 확인할 수 있습니다.구문
firewall-cmd --info-zone=ZONE telnet IP_ADDRESS PORT
firewall-cmd --info-zone=ZONE telnet IP_ADDRESS PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인터페이스 카운터에 오류가 없는지 확인합니다. 노드 간 네트워크 연결 대기 시간이 예상되었으며 패킷 손실이 없는지 확인합니다.
ethtool명령 사용:구문
ethtool -S INTERFACE
ethtool -S INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ifconfig명령 사용:예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow netstat명령 사용:예
netstat -ai Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens3 1500 311847720 0 364903 0 114341918 0 0 0 BMRU lo 65536 19577001 0 0 0 19577001 0 0 0 LRU
[root@host01 ~]# netstat -ai Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg ens3 1500 311847720 0 364903 0 114341918 0 0 0 BMRU lo 65536 19577001 0 0 0 19577001 0 0 0 LRUCopy to Clipboard Copied! Toggle word wrap Toggle overflow
성능 문제의 경우 대기 시간 점검 및 스토리지 클러스터의 모든 노드 간 네트워크 대역폭을 확인하려면
iperf3툴을 사용합니다.iperf3툴은 서버와 클라이언트 간에 간단한 지점 간 네트워크 대역폭 테스트를 수행합니다.대역폭을 확인하려는 Red Hat Ceph Storage 노드에
iperf3패키지를 설치합니다.예
dnf install iperf3
[root@host01 ~]# dnf install iperf3Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 노드에서
iperf3서버를 시작합니다.예
iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
[root@host01 ~]# iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고기본 포트는 5201이지만
-P명령 인수를 사용하여 설정할 수 있습니다.다른 Red Hat Ceph Storage 노드에서
iperf3클라이언트를 시작합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력은 테스트 중 Red Hat Ceph Storage 노드 간에 1.1 Gbits/second 네트워크와 다시 전송(
Retr)하지 않음을 보여줍니다.Red Hat은 스토리지 클러스터의 모든 노드 간 네트워크 대역폭을 확인하는 것이 좋습니다.
모든 노드에 동일한 네트워크 상호 연결 속도가 있는지 확인합니다. 연결 속도가 느리면 더 빠르게 연결된 노드가 느려질 수 있습니다. 또한 상호 스위치 링크가 연결된 노드의 집계 대역폭을 처리할 수 있는지 확인합니다.
구문
ethtool INTERFACE
ethtool INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. 기본 chrony NTP 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에는 기본 chrony NTP 문제 해결 단계가 포함되어 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
chronyd데몬이 Ceph Monitor 호스트에서 실행 중인지 확인합니다.예
systemctl status chronyd
[root@mon ~]# systemctl status chronydCopy to Clipboard Copied! Toggle word wrap Toggle overflow chronyd가 실행되고 있지 않은 경우 활성화 및 시작합니다.예
systemctl enable chronyd systemctl start chronyd
[root@mon ~]# systemctl enable chronyd [root@mon ~]# systemctl start chronydCopy to Clipboard Copied! Toggle word wrap Toggle overflow chronyd가 클럭을 올바르게 동기화하고 있는지 확인합니다.예
chronyc sources chronyc sourcestats chronyc tracking
[root@mon ~]# chronyc sources [root@mon ~]# chronyc sourcestats [root@mon ~]# chronyc trackingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
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 모니터가 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)
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가 자체적으로 리더 또는 소온 으로 표시되면 쿼럼이라고 생각하지만 나머지 클러스터는 그렇지 않은 것으로 간주합니다. 이 문제는 클럭 동기화 실패로 인해 발생할 수 있습니다.
이 문제를 해결하기 위해
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_NAMECopy 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.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-mon을 시작할 수 없는 경우
데몬의 단계를 실행할 수 없습니다.ceph-mon -
ceph-mon데몬을 시작할 수 있지만아래로표시된 경우ceph-mon데몬이 실행 중이지만 'down'으로 표시된 단계를 따르십시오.
ceph-mon Daemon을 시작할 수 없습니다
기본적으로
/var/log/ceph/CLUSTER_FSID/ceph-mon.HOST_NAME.log에 있는 해당 Ceph Monitor 로그를 확인합니다.참고기본적으로 모니터 로그는 로그 폴더에 표시되지 않습니다. 로그에 대한 로그 로깅이 폴더에 표시되도록 하려면 파일에 로깅을 활성화해야 합니다. 파일에 로깅할 수 있는 Ceph 데몬 로그 를 참조하십시오.
로그에 다음과 유사한 오류 메시지가 포함된 경우 Ceph 모니터에 손상된 저장소가 있을 수 있습니다.
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.ldbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 문제를 해결하려면 Ceph Monitor를 교체합니다. 실패한 모니터 교체를 참조하십시오.
로그에 다음 오류 메시지와 유사한 오류 메시지가 포함된 경우
/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은 down으로 표시됨
쿼럼이 없는 Ceph Monitor 호스트에서
mon_status명령을 사용하여 상태를 확인합니다.ceph daemon ID mon_status
[root@mon ~]# ceph daemon ID mon_statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를 Ceph Monitor의 ID로 교체합니다. 예를 들면 다음과 같습니다.[ceph: root@host01 /]# ceph daemon mon.host01 mon_status
[ceph: root@host01 /]# ceph daemon mon.host01 mon_statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 상태가 probing 인 경우
mon_status출력에서 다른 Ceph Monitor의 위치를 확인합니다.-
주소가 올바르지 않으면 Ceph Monitor에 잘못된 Ceph Monitor 맵(
monmap)이 있습니다. 이 문제를 해결하려면 Ceph Monitor 맵 삽입을 참조하십시오. - 주소가 올바르면 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. 클럭 스큐 링크 복사링크가 클립보드에 복사되었습니다!
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)
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 모니터의 시계가 동기화되지 않음을 나타냅니다. 클럭 동기화는 시간 정확도에 따라 다르며 시계가 동기화되지 않은 경우 예기치 않게 작동하므로 클럭 동기화가 중요합니다.
mon_clock_drift_allowed 매개변수는 클럭 간의 불일치를 결정합니다. 기본적으로 이 매개변수는 0.05초로 설정됩니다.
이전 테스트 없이 mon_clock_drift_allowed 의 기본값을 변경하지 마십시오. 이 값을 변경하면 일반적으로 Ceph Monitor 및 Ceph Storage 클러스터의 안정성에 영향을 미칠 수 있습니다.
클럭 스큐 오류의 가능한 원인에는 네트워크 문제 또는 이러한 설정이 구성된 경우 chrony Network Time Protocol (NTP) 동기화 문제 등이 있습니다. 또한 가상 머신에 배포된 Ceph 모니터에서 시간 동기화가 제대로 작동하지 않습니다.
이 문제를 해결하기 위해
- 네트워크가 올바르게 작동하는지 확인합니다.
- 원격 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 저장소는 실제로 항목을 키-값 쌍으로 저장하는 RocksDB 데이터베이스입니다. 데이터베이스에는 클러스터 맵이 포함되어 있으며 기본적으로 /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME/store.db 에 있습니다.
대규모 모니터 저장소를 쿼리하는 데 시간이 걸릴 수 있습니다. 결과적으로 Ceph Monitor가 클라이언트 쿼리에 응답하는 데 지연될 수 있습니다.
또한 /var/ 파티션이 가득 차면 Ceph Monitor는 저장소에 대한 쓰기 작업을 수행하고 종료할 수 없습니다. 이 문제 해결에 대한 자세한 내용은 Ceph Monitor is out of quorum 에서 참조하십시오.
이 문제를 해결하기 위해
데이터베이스 크기를 확인합니다.
구문
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/ 109M /var/lib/ceph/b341e254-b165-11ed-a564-ac1f6bb26e8c/mon.host01/ 47G /var/lib/ceph/mon/ceph-ceph1/store.db/ 47G total
[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 totalCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Ceph Monitor 저장소를 압축합니다. 자세한 내용은 Ceph Monitor Store를 참조하십시오.
추가 리소스
4.1.6. Ceph Monitor 상태 이해 링크 복사링크가 클립보드에 복사되었습니다!
mon_status 명령은 다음과 같은 Ceph Monitor에 대한 정보를 반환합니다.
- 상태
- 순위
- elections epoch
-
모니터 맵(Mon
map)
Ceph Monitor가 쿼럼을 구성할 수 있는 경우 ceph 명령줄 유틸리티와 함께 mon_status 를 사용합니다.
Ceph Monitor가 쿼럼을 형성할 수 없지만 ceph-mon 데몬이 실행 중인 경우 관리 소켓을 사용하여 mon_status 를 실행합니다.
mon_status출력 예
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 Ceph Storage 8 관리 가이드의 Ceph 관리 소켓 사용 섹션을 참조하십시오.
- Red Hat Ceph Storage 문제 해결 가이드에서 4.1.1절. “Ceph Monitor 오류 메시지” 를 참조하십시오.
- Red Hat Ceph Storage 문제 해결 가이드에서 4.1.2절. “Ceph 로그의 일반적인 Ceph Monitor 오류 메시지” 를 참조하십시오.
4.2. monmap삽입 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 모니터에 오래되었거나 손상된 Ceph Monitor 맵(monmap)이 있는 경우 잘못된 IP 주소의 다른 Ceph 모니터에 연결을 시도하므로 쿼럼에 연결할 수 없습니다.
이 문제를 해결하는 가장 안전한 방법은 다른 Ceph 모니터에서 실제 Ceph 모니터 맵을 가져와서 삽입하는 것입니다.
이 작업은 Ceph Monitor에서 보유한 기존 Ceph Monitor 맵을 덮어씁니다.
다음 절차에서는 다른 Ceph 모니터가 쿼럼을 구성할 수 있거나 하나 이상의 Ceph Monitor에 올바른 Ceph Monitor 맵이 있는 경우 Ceph Monitor 맵을 삽입하는 방법을 보여줍니다. 모든 Ceph 모니터에 저장소가 손상되어 Ceph Monitor 맵도 있는 경우 Ceph Monitor 저장소 복구를 참조하십시오.
사전 요구 사항
- Ceph 모니터 맵에 액세스합니다.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
나머지 Ceph 모니터가 쿼럼을 구성할 수 있는 경우
ceph mon getmap명령을 사용하여 Ceph Monitor 맵을 가져옵니다.예
[ceph: root@host01 /]# ceph mon getmap -o /tmp/monmap
[ceph: root@host01 /]# ceph mon getmap -o /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 나머지 Ceph 모니터가 쿼럼을 형성할 수 없고 올바른 Ceph Monitor 맵이 있는 Ceph Monitor가 하나 이상 있는 경우 해당 Ceph 모니터에서 복사합니다.
Ceph Monitor 맵을 복사할 Ceph Monitor를 중지합니다.
구문
systemctl stop ceph-FSID@DAEMON_NAME
systemctl stop ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 모니터 맵을 복사합니다.
구문
ceph-mon -i ID --extract-monmap /tmp/monmap
ceph-mon -i ID --extract-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를 Ceph Monitor 맵을 복사하려는 Ceph Monitor의 ID로 바꿉니다.예
[ceph: root@host01 /]# ceph-mon -i mon.a --extract-monmap /tmp/monmap
[ceph: root@host01 /]# ceph-mon -i mon.a --extract-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow
손상되었거나 오래된 Ceph Monitor 맵으로 Ceph Monitor를 중지합니다.
구문
systemctl stop ceph-FSID@DAEMON_NAME
systemctl stop ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 모니터 맵을 삽입합니다.
구문
ceph-mon -i ID --inject-monmap /tmp/monmap
ceph-mon -i ID --inject-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를 손상되었거나 오래된 Ceph Monitor 맵으로 Ceph Monitor의 ID로 바꿉니다.예
ceph-mon -i mon.host01 --inject-monmap /tmp/monmap
[root@mon ~]# ceph-mon -i mon.host01 --inject-monmap /tmp/monmapCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 모니터를 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME
systemctl start ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다른 Ceph 모니터에서 Ceph Monitor 맵을 복사한 경우 Ceph 모니터도 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME
systemctl start ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3. 실패한 모니터 교체 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Monitor에 손상된 저장소가 있는 경우 스토리지 클러스터의 모니터를 교체할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 쿼럼을 구성할 수 있습니다.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
Monitor 호스트에서
/var/lib/ceph/mon/CLUSTER_NAME-SHORT_HOST_NAME:에 있는 모니터 저장소를 제거합니다.rm -rf /var/lib/ceph/mon/CLUSTER_NAME-SHORT_HOST_NAME
rm -rf /var/lib/ceph/mon/CLUSTER_NAME-SHORT_HOST_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow Monitor 호스트의 짧은 호스트 이름과 클러스터 이름을 지정합니다. 예를 들어
remote라는 클러스터에서host1에서 실행되는 모니터의 Monitor 저장소를 제거하려면 다음을 수행합니다.rm -rf /var/lib/ceph/mon/remote-host1
[root@mon ~]# rm -rf /var/lib/ceph/mon/remote-host1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모니터 맵(
monmap)에서 모니터를 제거합니다.ceph mon remove SHORT_HOST_NAME --cluster CLUSTER_NAME
ceph mon remove SHORT_HOST_NAME --cluster CLUSTER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow Monitor 호스트의 짧은 호스트 이름과 클러스터 이름을 지정합니다. 예를 들어
remote라는 클러스터에서host1에서 실행되는 모니터를 제거하려면 다음을 수행합니다.[ceph: root@host01 /]# ceph mon remove host01 --cluster remote
[ceph: root@host01 /]# ceph mon remove host01 --cluster remoteCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 모니터 호스트의 기본 파일 시스템 또는 하드웨어와 관련된 모든 문제를 해결하고 수정합니다.
4.4. 모니터 저장소 압축 링크 복사링크가 클립보드에 복사되었습니다!
모니터 저장소 크기가 크게 증가하면 다음을 압축할 수 있습니다.
-
ceph tell명령을 사용하여 동적으로 수행합니다. -
ceph-mon데몬을 시작합니다. -
ceph-mon데몬이 실행되지 않는 경우ceph-monstore-tool을 사용합니다. 이전에 언급된 메서드가 Monitor 저장소를 압축하지 못하거나 Monitor가 쿼럼이 없고 해당 로그에Caught 신호(Bus 오류) 오류메시지가 포함된 경우 이 방법을 사용합니다.
클러스터가 active+clean 상태가 아니거나 재조정 프로세스 중에도 저장소 크기 변경을 모니터링합니다. 이러한 이유로 재조정이 완료될 때 Monitor 저장소를 압축합니다. 또한 배치 그룹이 active+clean 상태에 있는지 확인합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
ceph-mon데몬이 실행 중인 경우 Monitor 저장소를 압축하려면 다음을 수행합니다.구문
ceph tell mon.HOST_NAME compact
ceph tell mon.HOST_NAME compactCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME을ceph-mon이 실행 중인 호스트의 짧은 호스트 이름으로 바꿉니다. 확실하지 않은 경우hostname -s명령을 사용합니다.예
[ceph: root@host01 /]# ceph tell mon.host01 compact
[ceph: root@host01 /]# ceph tell mon.host01 compactCopy to Clipboard Copied! Toggle word wrap Toggle overflow [mon]섹션의 Ceph 구성에 다음 매개변수를 추가합니다.[mon] mon_compact_on_start = true
[mon] mon_compact_on_start = trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-mon데몬을 다시 시작합니다.구문
systemctl restart ceph-FSID@DAEMON_NAME
systemctl restart ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl restart ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl restart ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모니터가 쿼럼을 형성했는지 확인합니다.
[ceph: root@host01 /]# ceph mon stat
[ceph: root@host01 /]# ceph mon statCopy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한 경우 다른 모니터에서 이 단계를 반복합니다.
참고시작하기 전에
ceph-test패키지가 설치되어 있는지 확인합니다.대규모 저장소가 있는
ceph-mon데몬이 실행 중이 아닌지 확인합니다. 필요한 경우 데몬을 중지합니다.구문
systemctl status ceph-FSID@DAEMON_NAME systemctl stop ceph-FSID@DAEMON_NAME
systemctl status ceph-FSID@DAEMON_NAME systemctl stop ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service systemctl stop 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 stop ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모니터 저장소를 압축합니다.
구문
ceph-monstore-tool /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME compact
ceph-monstore-tool /var/lib/ceph/CLUSTER_FSID/mon.HOST_NAME compactCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOST_NAME을 Monitor 호스트의 짧은 호스트 이름으로 바꿉니다.예
[ceph: root@host01 /]# ceph-monstore-tool /var/lib/ceph/b404c440-9e4c-11ec-a28a-001a4a0001df/mon.host01 compact
[ceph: root@host01 /]# ceph-monstore-tool /var/lib/ceph/b404c440-9e4c-11ec-a28a-001a4a0001df/mon.host01 compactCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-mon을 다시 시작합니다.구문
systemctl start ceph-FSID@DAEMON_NAME
systemctl start ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5. Ceph 관리자용 포트 열기 링크 복사링크가 클립보드에 복사되었습니다!
ceph-mgr 데몬은 ceph-osd 데몬과 동일한 포트 범위의 OSD에서 배치 그룹 정보를 수신합니다. 이러한 포트가 열려 있지 않으면 클러스터는 HEALTH_OK 에서 HEALTH_WARN 으로 devolve이며 PG는 알 수 없는 PG의 백분율 수로 알 수 없음을 나타냅니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Manager에 대한 루트 수준 액세스.
프로세스
이 문제를 해결하려면
ceph-mgr데몬을 실행하는 각 호스트에 대해6800-7300포트를 엽니다.예
[root@ceph-mgr] # firewall-cmd --add-port 6800-7300/tcp [root@ceph-mgr] # firewall-cmd --add-port 6800-7300/tcp --permanent
[root@ceph-mgr] # firewall-cmd --add-port 6800-7300/tcp [root@ceph-mgr] # firewall-cmd --add-port 6800-7300/tcp --permanentCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-mgr데몬을 다시 시작합니다.
4.6. Ceph Monitor 저장소 복구 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Monitor는 클러스터 맵을 RocksDB와 같은 키-값 저장소에 저장합니다. 저장소가 모니터에 손상된 경우 모니터가 예기치 않게 종료되고 다시 시작되지 않습니다. Ceph 로그에 다음 오류가 포함될 수 있습니다.
Corruption: error in middle of record Corruption: 1 missing files; e.g.: /var/lib/ceph/mon/mon.0/store.db/1234567.ldb
Corruption: error in middle of record
Corruption: 1 missing files; e.g.: /var/lib/ceph/mon/mon.0/store.db/1234567.ldb
Red Hat Ceph Storage 클러스터는 3개 이상의 Ceph Monitor를 사용하므로 장애가 발생하면 다른 모니터로 교체할 수 있습니다. 그러나 특정 상황에서는 모든 Ceph 모니터가 손상된 저장소를 가질 수 있습니다. 예를 들어 Ceph Monitor 노드가 디스크 또는 파일 시스템 설정을 잘못 구성한 경우 정전으로 인해 기본 파일 시스템이 손상될 수 있습니다.
모든 Ceph 모니터에 손상이 있는 경우 ceph-monstore-tool 및 ceph-objectstore-tool 이라는 유틸리티를 사용하여 OSD 노드에 저장된 정보로 복구할 수 있습니다.
이러한 절차는 다음 정보를 복구할 수 없습니다.
- 메타데이터 데몬 서버(MDS) 인증 키링 및 맵
배치 그룹 설정:
-
ceph pg set_명령을 사용하여 설정된 전체 비율full_ratio -
ceph pg set_명령을 사용하여 설정된 nearfull 비율nearfull_ratio
-
이전 백업에서 Ceph Monitor 저장소를 복원하지 마십시오. 다음 단계를 사용하여 현재 클러스터 상태에서 Ceph Monitor 저장소를 다시 빌드하고 해당 위치에서 복원합니다.
4.6.1. BlueStore를 사용할 때 Ceph Monitor 저장소 복구 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Monitor 저장소가 모든 Ceph 모니터에서 손상되고 BlueStore 백엔드를 사용하는 경우 다음 절차를 따르십시오.
컨테이너화된 환경에서 이 방법을 사용하려면 먼저 Ceph 리포지토리를 연결하고 컨테이너화되지 않은 Ceph 모니터로 복원해야 합니다.
이 절차는 데이터 손실을 유발할 수 있습니다. 이 절차의 단계에 대해 잘 모르는 경우 Red Hat 기술 지원팀에 문의하여 복구 프로세스에 대한 지원을 받으십시오.
사전 요구 사항
- 모든 OSD 컨테이너가 중지됩니다.
- 역할을 기반으로 Ceph 노드에서 Ceph 리포지토리를 활성화합니다.
-
ceph-test및rsync패키지는 OSD 및 모니터 노드에 설치됩니다. -
ceph-mon패키지는 모니터 노드에 설치됩니다. -
ceph-osd패키지는 OSD 노드에 설치됩니다.
프로세스
Ceph 데이터가 있는 모든 디스크를 임시 위치에 마운트합니다. 모든 OSD 노드에 대해 이 단계를 반복합니다.
ceph-volume명령을 사용하여 데이터 파티션을 나열합니다.예
[ceph: root@host01 /]# ceph-volume lvm list
[ceph: root@host01 /]# ceph-volume lvm listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 데이터 파티션을 임시 위치에 마운트합니다.
구문
mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-$i
mount -t tmpfs tmpfs /var/lib/ceph/osd/ceph-$iCopy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux 컨텍스트를 복원합니다.
구문
for i in {OSD_ID}; do restorecon /var/lib/ceph/osd/ceph-$i; donefor i in {OSD_ID}; do restorecon /var/lib/ceph/osd/ceph-$i; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD_ID 를 OSD 노드에서 공백으로 구분된 숫자의 Ceph OSD ID 목록으로 바꿉니다.
소유자 및 그룹을
ceph:ceph:로 변경합니다.구문
for i in {OSD_ID}; do chown -R ceph:ceph /var/lib/ceph/osd/ceph-$i; donefor i in {OSD_ID}; do chown -R ceph:ceph /var/lib/ceph/osd/ceph-$i; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD_ID 를 OSD 노드에서 공백으로 구분된 숫자의 Ceph OSD ID 목록으로 바꿉니다.
중요update-mon-db명령이 Monitor 데이터베이스에 대한 추가 db 및디렉토리를 사용하도록 하는 버그로 인해 이러한 디렉터리도 복사해야 합니다. 이렇게 하려면 다음을 수행합니다.db.slow컨테이너 외부의 임시 위치를 준비하여 OSD 데이터베이스에 마운트 및 액세스하고 Ceph 모니터를 복원하는 데 필요한 OSD 맵을 추출합니다.
구문
ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev OSD-DATA --path /var/lib/ceph/osd/ceph-OSD-ID
ceph-bluestore-tool --cluster=ceph prime-osd-dir --dev OSD-DATA --path /var/lib/ceph/osd/ceph-OSD-IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD-DATA 를 OSD 데이터의 볼륨 그룹(VG) 또는 논리 볼륨(LV) 경로로 바꾸고 OSD-ID 를 OSD ID로 바꿉니다.
BlueStore 데이터베이스와
block.db사이에 심볼릭 링크를 만듭니다.구문
ln -snf BLUESTORE DATABASE /var/lib/ceph/osd/ceph-OSD-ID/block.db
ln -snf BLUESTORE DATABASE /var/lib/ceph/osd/ceph-OSD-ID/block.dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow BLUESTORE-DATABASE 를 BlueStore 데이터베이스의 볼륨 그룹(VG) 또는 논리 볼륨(LV) 경로로 바꾸고 OSD-ID 를 OSD의 ID로 바꿉니다.
손상된 저장소와 함께 Ceph Monitor 노드의 다음 명령을 사용합니다. 모든 노드의 모든 OSD에 대해 이를 반복합니다.
모든 OSD 노드에서 클러스터 맵을 수집합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 적절한 기능을 설정합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow db및db.slow디렉토리에서 임시 위치로 모든sst파일을 이동합니다.예
[ceph: root@host01 /]# mv /root/db/*.sst /root/db.slow/*.sst /tmp/monstore/store.db
[ceph: root@host01 /]# mv /root/db/*.sst /root/db.slow/*.sst /tmp/monstore/store.dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 수집된 맵에서 Monitor 저장소를 다시 빌드합니다.
예
[ceph: root@host01 /]# ceph-monstore-tool /tmp/monstore rebuild -- --keyring /etc/ceph/ceph.client.admin
[ceph: root@host01 /]# ceph-monstore-tool /tmp/monstore rebuild -- --keyring /etc/ceph/ceph.client.adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 명령을 사용하면 OSD에서 추출된 인증 키만 Ceph의 인증 데이터베이스에 있는
ceph-monstore-tool명령줄에 지정된 인증 키만 있습니다. 클라이언트가 클러스터에 액세스할 수 있도록 클라이언트, Ceph Manager, Ceph Object Gateway 등과 같은 기타 모든 인증 키를 다시 생성하거나 가져와야 합니다.손상된 저장소를 백업하십시오. 모든 Ceph Monitor 노드에 대해 이 단계를 반복합니다.
구문
mv /var/lib/ceph/mon/ceph-HOSTNAME/store.db /var/lib/ceph/mon/ceph-HOSTNAME/store.db.corrupted
mv /var/lib/ceph/mon/ceph-HOSTNAME/store.db /var/lib/ceph/mon/ceph-HOSTNAME/store.db.corruptedCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 Ceph Monitor 노드의 호스트 이름으로 바꿉니다.
손상된 저장소를 교체합니다. 모든 Ceph Monitor 노드에 대해 이 단계를 반복합니다.
구문
scp -r /tmp/monstore/store.db HOSTNAME:/var/lib/ceph/mon/ceph-HOSTNAME/
scp -r /tmp/monstore/store.db HOSTNAME:/var/lib/ceph/mon/ceph-HOSTNAME/Copy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 Monitor 노드의 호스트 이름으로 바꿉니다.
새 저장소의 소유자를 변경합니다. 모든 Ceph Monitor 노드에 대해 이 단계를 반복합니다.
구문
chown -R ceph:ceph /var/lib/ceph/mon/ceph-HOSTNAME/store.db
chown -R ceph:ceph /var/lib/ceph/mon/ceph-HOSTNAME/store.dbCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 Ceph Monitor 노드의 호스트 이름으로 바꿉니다.
모든 노드에서 임시 마운트된 OSD를 모두 마운트 해제합니다.
예
umount /var/lib/ceph/osd/ceph-*
[root@host01 ~]# umount /var/lib/ceph/osd/ceph-*Copy to Clipboard Copied! Toggle word wrap Toggle overflow 모든 Ceph Monitor 데몬을 시작합니다.
구문
systemctl start ceph-FSID@DAEMON_NAME
systemctl start ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.service
[root@mon ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@mon.host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 모니터가 쿼럼을 구성할 수 있는지 확인합니다.
구문
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 Ceph Monitor 노드의 호스트 이름으로 바꿉니다.
Ceph Manager 인증 키를 가져오고 모든 Ceph Manager 프로세스를 시작합니다.
구문
ceph auth import -i /etc/ceph/ceph.mgr.HOSTNAME.keyring systemctl start ceph-FSID@DAEMON_NAME
ceph auth import -i /etc/ceph/ceph.mgr.HOSTNAME.keyring systemctl start ceph-FSID@DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl start ceph-b341e254-b165-11ed-a564-ac1f6bb26e8c@mgr.extensa003.exrqql.service
[root@mon ~]# systemctl start ceph-b341e254-b165-11ed-a564-ac1f6bb26e8c@mgr.extensa003.exrqql.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow HOSTNAME 을 Ceph Manager 노드의 호스트 이름으로 바꿉니다.
모든 OSD 노드에서 모든 OSD 프로세스를 시작합니다. 클러스터의 모든 OSD에 대해 반복합니다.
구문
systemctl start ceph-FSID@osd.OSD_ID
systemctl start ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl start ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD가 서비스로 돌아가는지 확인합니다.
예
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 네트워크 관련 문제는 Red Hat Ceph Storage 문제 해결 가이드에서 네트워킹 문제 해결을 참조하십시오.
5장. Ceph OSD 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 Ceph OSD와 관련된 가장 일반적인 오류를 수정하는 방법에 대해 설명합니다.
사전 요구 사항
- 네트워크 연결을 확인합니다. 자세한 내용은 네트워킹 문제 해결을 참조하십시오.
-
ceph health명령을 사용하여 Monitor에 쿼럼이 있는지 확인합니다. 명령에서 상태 상태(HEALTH_OK,HEALTH_WARN또는HEALTH_ERR)를 반환하는 경우 모니터는 쿼럼을 구성할 수 있습니다. 그렇지 않은 경우 먼저 모니터 문제를 해결합니다. 자세한 내용은 Ceph 모니터 문제 해결을 참조하십시오.ceph 상태에 대한 자세한 내용은 Ceph 상태이해를 참조하십시오. - 필요한 경우 재조정 프로세스를 중지하여 시간과 리소스를 절약할 수 있습니다. 자세한 내용은 중지 및 재조정 시작을 참조하십시오.
5.1. 가장 일반적인 Ceph OSD 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 ceph health detail 명령에서 반환하거나 Ceph 로그에 포함된 가장 일반적인 오류 메시지가 나열되어 있습니다. 표에서는 오류를 설명하고 문제를 해결하기 위해 특정 절차를 가리키는 해당 섹션에 대한 링크를 제공합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
5.1.1. Ceph OSD 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
일반적인 Ceph OSD 오류 메시지 표와 잠재적인 수정 사항.
| 오류 메시지 | 참조 |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
5.1.2. Ceph 로그의 일반적인 Ceph OSD 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 로그에 있는 일반적인 Ceph OSD 오류 메시지 표와 잠재적인 수정 사항에 대한 링크입니다.
| 오류 메시지 | 로그 파일 | 참조 |
|---|---|---|
|
| 기본 클러스터 로그 | |
|
| 기본 클러스터 로그 | |
|
| 기본 클러스터 로그 | |
|
| OSD 로그 |
5.1.3. 전체 OSD 링크 복사링크가 클립보드에 복사되었습니다!
ceph health detail 명령은 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_ERR 1 full osds osd.3 is full at 95%
HEALTH_ERR 1 full osds
osd.3 is full at 95%
이 값은 다음과 같습니다.
Ceph는 클라이언트가 전체 OSD 노드에서 I/O 작업을 수행하지 못하도록 데이터 손실을 방지합니다. 클러스터가 mon 메시지를 반환합니다. 기본적으로 이 매개 변수는 _osd_full_ratio 매개변수로 설정된 용량에 도달하면 HEALTH_ERR 전체 osds0.95 로 설정되어 클러스터 용량의 95%를 의미합니다.
이 문제를 해결하기 위해
원시 스토리지(%RAW USED)의 백분율을 확인합니다.
ceph df
ceph df
%RAW USED 가 70-75%를 초과하는 경우 다음을 수행할 수 있습니다.
- 불필요한 데이터를 삭제합니다. 이는 프로덕션 다운타임을 방지하기 위한 단기 솔루션입니다.
- 새 OSD 노드를 추가하여 클러스터를 확장합니다. 이는 Red Hat에서 권장하는 장기적인 솔루션입니다.
5.1.4. Backfillfull OSDs 링크 복사링크가 클립보드에 복사되었습니다!
ceph health detail 명령은 다음과 유사한 오류 메시지를 반환합니다.
health: HEALTH_WARN 3 backfillfull osd(s) Low space hindering backfill (add storage if this doesn't resolve itself): 32 pgs backfill_toofull
health: HEALTH_WARN
3 backfillfull osd(s)
Low space hindering backfill (add storage if this doesn't resolve itself): 32 pgs backfill_toofull
이는 무엇을 의미합니까?
하나 이상의 OSD가 backfillfull 임계값을 초과하면 Ceph는 데이터가 이 장치로 재조정되지 않도록 합니다. 이는 재조정이 완료되지 않고 클러스터가 완전히 접근하고 있다는 조기 경고입니다. backfullfull 임계값의 기본값은 90%입니다.
이 문제를 해결하려면
풀별 사용률을 확인합니다.
ceph df
ceph df
%RAW USED 가 70-75%를 초과하는 경우 다음 작업 중 하나를 수행할 수 있습니다.
- 불필요한 데이터를 삭제합니다. 이는 프로덕션 다운타임을 방지하기 위한 단기 솔루션입니다.
- 새 OSD 노드를 추가하여 클러스터를 확장합니다. 이는 Red Hat에서 권장하는 장기적인 솔루션입니다.
복구 프로세스를 계속할 수 있도록
전체 비율을 늘립니다. 가능한 한 빨리 클러스터에 새 스토리지를 추가하거나 OSD를 채우지 않도록 데이터를 제거합니다.backfull_toofull에 중단된 PG가 포함된 OSD의 백필구문
ceph osd set-backfillfull-ratio VALUE
ceph osd set-backfillfull-ratio VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow VALUE 의 범위는 0.0에서 1.0 사이입니다.
예
[ceph: root@host01/]# ceph osd set-backfillfull-ratio 0.92
[ceph: root@host01/]# ceph osd set-backfillfull-ratio 0.92Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.5. 가까운 전체 OSD 링크 복사링크가 클립보드에 복사되었습니다!
ceph health detail 명령은 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_WARN 1 nearfull osds osd.2 is near full at 85%
HEALTH_WARN 1 nearfull osds
osd.2 is near full at 85%
이 값은 다음과 같습니다.
클러스터가 mon osd nearfull 비율 defaults 매개변수에 의해 설정된 용량에 도달하면 Ceph는 메시지를 반환합니다. 기본적으로 이 매개변수는 nearfull osd s0.85 로 설정되어 클러스터 용량의 85%를 의미합니다.
Ceph는 가능한 한 최상의 방식으로 CRUSH 계층 구조를 기반으로 데이터를 배포하지만 동일한 배포를 보장할 수는 없습니다. uneven data distribution 및 nearfull osds 메시지의 주요 원인은 다음과 같습니다.
- OSD는 클러스터의 OSD 노드 간에 분산되지 않습니다. 즉, 일부 OSD 노드는 다른 OSD보다 훨씬 많은 OSD를 호스트하거나 CRUSH 맵에 있는 일부 OSD의 가중치는 용량에 적합하지 않습니다.
- PG(배치 그룹) 수는 OSD 수, 사용 사례, OSD당 대상 PG 및 OSD 사용률에 따라 적합하지 않습니다.
- 클러스터는 부적절한 CRUSH 튜닝 가능 항목을 사용합니다.
- OSD의 백엔드 스토리지는 거의 가득 차 있습니다.
이 문제를 해결하려면 다음을 수행하십시오.
- PG 수가 충분한지 확인하고 필요한 경우 늘리십시오.
- CRUSH 튜닝 가능 항목이 클러스터 버전에 가장 적합한지 확인하고 그렇지 않은 경우 조정합니다.
- 사용률에 따라 OSD의 가중치를 변경합니다.
OSD에서 사용하는 디스크에 남아 있는 공간 크기를 확인합니다.
OSD가 일반적으로 사용하는 공간 크기를 보려면 다음을 수행합니다.
[ceph: root@host01 /]# ceph osd df
[ceph: root@host01 /]# ceph osd dfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 노드에서 OSD가 사용하는 공간 크기를 보려면 다음을 수행합니다.
거의 전체OSD가 포함된 노드에서 다음 명령을 사용합니다.df
dfCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 필요한 경우 새 OSD 노드를 추가합니다.
5.1.6. OSD 다운 링크 복사링크가 클립보드에 복사되었습니다!
ceph health detail 명령은 다음과 유사한 오류를 반환합니다.
HEALTH_WARN 1/3 in osds are down
HEALTH_WARN 1/3 in osds are down
이 값은 다음과 같습니다.
서비스 실패 또는 다른 OSD와의 통신 관련 문제로 인해 ceph-osd 프로세스 중 하나를 사용할 수 없습니다. 결과적으로 남아 있는 ceph-osd 데몬에서 이 실패를 모니터에 보고했습니다.
ceph-osd 데몬이 실행되지 않으면 기본 OSD 드라이브 또는 파일 시스템이 손상되거나 인증 키가 누락되어 데몬이 시작되지 않습니다.
대부분의 경우 ceph-osd 데몬이 실행 중이지만 여전히 down 으로 표시되는 경우 네트워킹 문제로 인해 상황이 발생합니다.
이 문제를 해결하기 위해
어떤 OSD가
다운되었는지 확인합니다.[ceph: root@host01 /]# ceph health detail HEALTH_WARN 1/3 in osds are down osd.0 is down since epoch 23, last address 192.168.106.220:6800/11080
[ceph: root@host01 /]# ceph health detail HEALTH_WARN 1/3 in osds are down osd.0 is down since epoch 23, last address 192.168.106.220:6800/11080Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-osd데몬을 다시 시작합니다. OSD_ID 를 다운된 OSD의 ID로 바꿉니다.구문
systemctl restart ceph-FSID@osd.OSD_ID
systemctl restart ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl restart ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl restart ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-osd 를 시작할 수 없는 경우
데몬의 단계를 실행할 수 없습니다.ceph-osd -
ceph-osd데몬을 시작할 수 있지만아래로표시된 경우ceph-osd데몬이 실행 중이지만 여전히 'down' 로 표시됩니다.
-
ceph-osd 를 시작할 수 없는 경우
ceph-osd 데몬을 시작할 수 없습니다
- 여러 개의 OSD가 포함된 노드가 있는 경우(일반적으로 12개 이상) 기본 최대 스레드 수(PID 수)가 충분한지 확인합니다. 자세한 내용은 PID 수 감소를 참조하십시오.
-
OSD 데이터 및 저널 파티션이 올바르게 마운트되었는지 확인합니다.
ceph-volume lvm list명령을 사용하여 Ceph Storage 클러스터와 연결된 모든 장치 및 볼륨을 나열한 다음 제대로 마운트되었는지 수동으로 검사할 수 있습니다. 자세한 내용은mount(8)매뉴얼 페이지를 참조하십시오. -
ERROR: missing keyring이 있는 경우 인증 오류 메시지에 cephx를 사용할 수 없으며 OSD가 인증 인증키링이 누락되어 있습니다. /var/lib/ceph/osd/ceph-1 오류 메시지에서 ERROR: unable to open OSD 슈퍼 블록을열 수 없는 경우ceph-osd데몬이 기본 파일 시스템을 읽을 수 없습니다. 이 오류 문제를 해결하고 해결하는 방법에 대한 지침은 다음 단계를 참조하십시오.-
해당 로그 파일을 확인하여 실패 원인을 확인합니다. 기본적으로 Ceph는 파일에 로깅이 활성화된 후
/var/log/ceph/CLUSTER_FSID/디렉터리에 로그 파일을 저장합니다. -
EIO오류 메시지는 기본 디스크의 실패를 나타냅니다. 이 문제를 해결하려면 기본 OSD 디스크를 교체합니다. 자세한 내용은 OSD 드라이브 교체를 참조하십시오. 로그에 다음과 같은 기타
FAILED 어설션오류가 포함된 경우 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.FAILED assert(0 == "hit suicide timeout")
FAILED assert(0 == "hit suicide timeout")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
해당 로그 파일을 확인하여 실패 원인을 확인합니다. 기본적으로 Ceph는 파일에 로깅이 활성화된 후
기본 파일 시스템 또는 디스크의 오류가 있는지
dmesg출력을 확인합니다.dmesg
dmesgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 유사한
오류 -5오류 메시지는 기본 XFS 파일 시스템의 손상이라는 것을 나타냅니다. 이 문제를 해결하는 방법에 대한 자세한 내용은 Red Hat 고객 포털에서 "xfs_log_force: error -5 returned"의 의미는 무엇입니까?xfs_log_force: error -5 returned
xfs_log_force: error -5 returnedCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
dmesg출력에SCSI 오류 오류메시지가 포함된 경우 Red Hat 고객 포털에서 SCSI 오류 코드 솔루션 찾기 솔루션을 참조하여 문제를 해결하는 가장 좋은 방법을 확인합니다. - 또는 기본 파일 시스템을 수정할 수 없는 경우 OSD 드라이브를 교체합니다. 자세한 내용은 OSD 드라이브 교체를 참조하십시오.
OSD가 다음과 같은 세그먼트 오류로 인해 실패한 경우 필요한 정보를 수집하고 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
Caught signal (Segmentation fault)
Caught signal (Segmentation fault)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ceph-osd 가 실행 중이지만 여전히 down으로 표시됩니다.
해당 로그 파일을 확인하여 실패 원인을 확인합니다. 기본적으로 Ceph는 파일에 로깅이 활성화된 후
/var/log/ceph/CLUSTER_FSID/디렉터리에 로그 파일을 저장합니다.로그에 다음과 유사한 오류 메시지가 포함된 경우 OSD Flapping을 참조하십시오.
wrongly marked me down heartbeat_check: no reply from osd.2 since back
wrongly marked me down heartbeat_check: no reply from osd.2 since backCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 다른 오류가 표시되면 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
5.1.7. OSD 플로잉 링크 복사링크가 클립보드에 복사되었습니다!
ceph -w | grep osds 명령은 OSD를 다운 으로 반복적으로 표시한 다음 짧은 기간 내에 다시 가동 됩니다.
또한 Ceph 로그에 다음과 유사한 오류 메시지가 포함되어 있습니다.
2022-05-25 03:44:06.510583 osd.50 127.0.0.1:6801/149046 18992 : cluster [WRN] map e600547 wrongly marked me down
2022-05-25 03:44:06.510583 osd.50 127.0.0.1:6801/149046 18992 : cluster [WRN] map e600547 wrongly marked me down
2022-05-25 19:00:08.906864 7fa2a0033700 -1 osd.254 609110 heartbeat_check: no reply from osd.2 since back 2021-07-25 19:00:07.444113 front 2021-07-25 18:59:48.311935 (cutoff 2021-07-25 18:59:48.906862)
2022-05-25 19:00:08.906864 7fa2a0033700 -1 osd.254 609110 heartbeat_check: no reply from osd.2 since back 2021-07-25 19:00:07.444113 front 2021-07-25 18:59:48.311935 (cutoff 2021-07-25 18:59:48.906862)
이 값은 다음과 같습니다.
OSD를 푸는 주요 원인은 다음과 같습니다.
- 스크럽 또는 복구와 같은 특정 스토리지 클러스터 작업은 예를 들어 큰 인덱스 또는 대규모 배치 그룹이 있는 오브젝트에 대해 이러한 작업을 수행하는 경우 비정상적으로 걸립니다. 일반적으로 이러한 작업이 완료되면 OSD 제거 문제가 해결됩니다.
-
기본 물리적 하드웨어 문제. 이 경우
ceph health details 명령은느린 요청오류 메시지도 반환합니다. - 네트워크에 문제가 있습니다.
Ceph OSD는 스토리지 클러스터의 사설 네트워크가 실패하거나 공용 클라이언트 연결 네트워크에 있는 대기 시간이 중요한 상황을 관리할 수 없습니다.
Ceph OSD는 개인 네트워크를 사용하여 하트비트 패킷을 서로 전송하여 해당 패킷이 up 및 in 임을 나타냅니다. 프라이빗 스토리지 클러스터 네트워크가 제대로 작동하지 않으면 OSD에서 하트비트 패킷을 전송하고 수신할 수 없습니다. 결과적으로 자신을 up 으로 표시하는 동안 서로 Ceph 모니터가 다운 된 것으로 보고합니다.
Ceph 구성 파일의 다음 매개 변수는 이 동작에 영향을 미칩니다.
| 매개변수 | 설명 | 기본값 |
|---|---|---|
|
|
OSD가 Ceph 모니터에 OSD를 보고하기 전에 하트비트 패킷이 반환될 때까지 대기하는 시간입니다. | 20초 |
|
|
Ceph 모니터에서 OSD가 다운 상태가 되기 전에 다른 OSD가 | 2 |
이 표는 기본 구성에서 하나의 OSD만 첫 번째 OSD가 중단되는 경우 OSD가 down 으로 표시됨을 보여줍니다. 경우에 따라 단일 호스트에 네트워크 문제가 발생하면 전체 클러스터에 OSD가 발생할 수 있습니다. 호스트에 있는 OSD가 클러스터의 다른 OSD를 down 으로 보고하기 때문입니다.
OSD 제거 시나리오에는 OSD 프로세스가 시작된 다음 즉시 종료되는 상황이 포함되지 않습니다.
이 문제를 해결하기 위해
ceph 상태 세부 정보명령의 출력을 다시 확인합니다.느린 요청오류 메시지가 포함된 경우 이 문제를 해결하는 방법에 대한 자세한 내용은 에서 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다운으로 표시된 OSD와 노드가 어떤 노드에 있는지 확인합니다.ceph osd tree | grep down
ceph osd tree | grep downCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 그래프 OSD가 포함된 노드에서 네트워킹 문제를 해결하고 해결합니다.
또는
noup및nodown플래그를 설정하여 OSD를down및up으로 표시하도록 일시적으로 모니터를 강제 실행할 수 있습니다.ceph osd set noup ceph osd set nodown
ceph osd set noup ceph osd set nodownCopy to Clipboard Copied! Toggle word wrap Toggle overflow 중요noup및nodown플래그를 사용하면 문제의 근본 원인이 해결되지 않고 OSD만 작동하지 않습니다. 지원 티켓을 열려면 자세한 내용은 Red Hat 지원 문의 섹션을 참조하십시오.
OSD를 비우는 것은 Ceph OSD 노드, 네트워크 스위치 수준 또는 둘 다에서 MTU 구성 오류로 인해 발생할 수 있습니다. 이 문제를 해결하려면 MTU를 계획된 다운타임으로 코어 및 액세스 네트워크 스위치에서 포함하여 모든 스토리지 클러스터 노드의 균일한 크기로 설정합니다. 이 설정을 변경하면 네트워크 내의 문제를 숨길 수 있으며 실제 네트워크 불일치를 해결하지 않으므로 osd heartbeat min 크기를 조정하지 마십시오.
5.1.8. 느린 요청 또는 요청이 차단됨 링크 복사링크가 클립보드에 복사되었습니다!
ceph-osd 데몬은 요청에 응답하기가 느리고 ceph health details 명령은 다음과 유사한 오류 메시지를 반환합니다.
또한 Ceph 로그에는 다음과 유사한 오류 메시지가 포함됩니다.
2022-05-24 13:18:10.024659 osd.1 127.0.0.1:6812/3032 9 : cluster [WRN] 6 slow requests, 6 included below; oldest blocked for > 61.758455 secs
2022-05-24 13:18:10.024659 osd.1 127.0.0.1:6812/3032 9 : cluster [WRN] 6 slow requests, 6 included below; oldest blocked for > 61.758455 secs
2022-05-25 03:44:06.510583 osd.50 [WRN] slow request 30.005692 seconds old, received at {date-time}: osd_op(client.4240.0:8 benchmark_data_ceph-1_39426_object7 [write 0~4194304] 0.69848840) v4 currently waiting for subops from [610]
2022-05-25 03:44:06.510583 osd.50 [WRN] slow request 30.005692 seconds old, received at {date-time}: osd_op(client.4240.0:8 benchmark_data_ceph-1_39426_object7 [write 0~4194304] 0.69848840) v4 currently waiting for subops from [610]
이 값은 다음과 같습니다.
느린 요청이 있는 OSD는 osd_op_complaint_time 매개변수로 정의된 시간 내에 대기열의 I/O 작업(IOPS)을 서비스할 수 없는 모든 OSD입니다. 기본적으로 이 매개변수는 30초로 설정됩니다.
OSD에 요청이 느려지는 주요 원인은 다음과 같습니다.
- 디스크 드라이브, 호스트, 랙 또는 네트워크 스위치와 같은 기본 하드웨어 문제
- 네트워크에 문제가 있습니다. 이러한 문제는 일반적으로 플레이닝 OSD와 관련이 있습니다. 자세한 내용은 OSD 패칭 을 참조하십시오.
- 시스템 로드
다음 표에서는 느린 요청 유형을 보여줍니다. dump_historic_ops 관리 소켓 명령을 사용하여 느린 요청 유형을 확인합니다. 관리 소켓에 대한 자세한 내용은 Red Hat Ceph Storage 8 관리 가이드의 Ceph 관리 소켓 사용 섹션을 참조하십시오.
| 느린 요청 유형 | 설명 |
|---|---|
|
| OSD는 작업을 위해 배치 그룹에서 잠금을 취득하기 위해 대기 중입니다. |
|
| OSD는 복제본 OSD가 해당 작업을 저널에 적용할 때까지 대기 중입니다. |
|
| OSD는 주요 작업 이정표에 도달하지 않았습니다. |
|
| OSD는 아직 지정된 횟수만큼 오브젝트를 복제하지 않았습니다. |
이 문제를 해결하기 위해
- 느린 또는 블록 요청이 있는 OSD가 일반적인 하드웨어(예: 디스크 드라이브, 호스트, 랙 또는 네트워크 스위치)를 공유하는지 확인합니다.
OSD가 디스크를 공유하는 경우:
smartmontools유틸리티를 사용하여 디스크 또는 로그의 상태를 확인하여 디스크의 오류를 확인합니다.참고smartmontools유틸리티는smartmontools패키지에 포함되어 있습니다.OSD 디스크에서
iostat유틸리티를 사용하여 OSD 디스크에서 I/O 대기 보고서(%iowai)를 가져와서 디스크 부하가 많은지 확인합니다.참고iostat유틸리티는 Cryostat 패키지에 포함되어있습니다.
OSD가 다른 서비스와 노드를 공유하는 경우:
- RAM 및 CPU 사용률 확인
-
netstat유틸리티를 사용하여 NIC(Network Interface Controller)에서 네트워크 통계를 확인하고 모든 네트워킹 문제를 해결합니다.
- OSD가 랙을 공유하는 경우 랙에 대한 네트워크 스위치를 확인합니다. 예를 들어 점보 프레임을 사용하는 경우 경로의 NIC에 점보 프레임이 설정되어 있는지 확인합니다.
- 느린 요청으로 OSD에서 공유하는 일반적인 하드웨어를 확인할 수 없거나 하드웨어 및 네트워킹 문제를 해결하고 해결하기 위해 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
5.2. 중지 및 재조정 시작 링크 복사링크가 클립보드에 복사되었습니다!
OSD가 실패하거나 중지하면 CRUSH 알고리즘은 재조정 프로세스를 자동으로 시작하여 나머지 OSD에서 데이터를 재배포합니다.
재조정은 시간과 리소스가 걸릴 수 있으므로 문제를 해결하거나 OSD를 유지 관리하는 동안 재조정을 중지하는 것이 좋습니다.
문제 해결 및 유지 관리 중에 중지된 OSD 내의 배치 그룹이 성능이 저하 됩니다.
사전 요구 사항
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 중지하기 전에
noout플래그를 설정합니다.예
[ceph: root@host01 /]# ceph osd set noout
[ceph: root@host01 /]# ceph osd set nooutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 문제 해결 또는 유지 관리를 완료하면
noout플래그를 해제하여 재조정을 시작합니다.예
[ceph: root@host01 /]# ceph osd unset noout
[ceph: root@host01 /]# ceph osd unset nooutCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. OSD 드라이브 교체 링크 복사링크가 클립보드에 복사되었습니다!
Ceph는 내결함성을 위해 설계되었습니다. 즉, 데이터가 손실되지 않고 성능이 저하된 상태에서 작동할 수 있습니다. 결과적으로 데이터 스토리지 드라이브가 실패하더라도 Ceph가 작동할 수 있습니다. 실패한 드라이브의 컨텍스트에서 성능이 저하된 상태는 다른 OSD에 저장된 데이터의 추가 복사본이 클러스터의 다른 OSD로 자동으로 백필됨을 의미합니다. 그러나 이 경우 실패한 OSD 드라이브를 교체하고 OSD를 수동으로 다시 생성합니다.
드라이브가 실패하면 Ceph에서 OSD를 down 으로 보고합니다.
HEALTH_WARN 1/3 in osds are down osd.0 is down since epoch 23, last address 192.168.106.220:6800/11080
HEALTH_WARN 1/3 in osds are down
osd.0 is down since epoch 23, last address 192.168.106.220:6800/11080
Ceph는 네트워킹 또는 권한 문제의 결과에서도 OSD를 down 으로 표시할 수 있습니다. 자세한 내용은 Down OSDs 를 참조하십시오.
최신 서버는 일반적으로 핫 스왑 가능 드라이브로 배포되므로 장애가 발생한 드라이브를 가져와 노드를 중단하지 않고 새 드라이브로 교체할 수 있습니다. 전체 절차에는 다음 단계가 포함됩니다.
- Ceph 클러스터에서 OSD를 제거합니다. 자세한 내용은 Ceph Cluster 프로세스에서 OSD 제거 절차를 참조하십시오.
- 드라이브를 교체합니다. 자세한 내용은 Replacing the physical drive 섹션을 참조하십시오.
- OSD를 클러스터에 추가합니다. 자세한 내용은 Ceph 클러스터에 OSD 추가 절차를 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Monitor 노드에 대한 루트 수준 액세스.
-
OSD가 하나 이상
다운되어 있습니다.
Ceph 클러스터에서 OSD 제거
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 어떤 OSD가
다운되었는지 확인합니다.예
[ceph: root@host01 /]# ceph osd tree | grep -i down ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF 0 hdd 0.00999 osd.0 down 1.00000 1.00000
[ceph: root@host01 /]# ceph osd tree | grep -i down ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF 0 hdd 0.00999 osd.0 down 1.00000 1.00000Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 다른 OSD에 데이터를 재조정하고 복사할 수 있도록 OSD를
out로 표시합니다.구문
ceph osd out OSD_ID.
ceph osd out OSD_ID.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph osd out osd.0 marked out osd.0.
[ceph: root@host01 /]# ceph osd out osd.0 marked out osd.0.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고OSD가 다운된 경우,
mon_osd_매개 변수를 기반으로 OSD에서 하트비트 패킷을 수신하지 않는 경우 600초 후에 Ceph가 자동으로 표시됩니다. 이 경우 실패한 OSD 데이터의 사본이 있는 다른 OSD는 클러스터에 필요한 사본 수가 있는지 확인하기 위해 백필을 시작합니다. 클러스터가 백 입력되는 동안 클러스터의down_out_interval성능이 저하됩니다.실패한 OSD가 백필되어 있는지 확인합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 마이그레이션이 완료되면 배치 그룹 상태가
active+clean에서active, 일부 성능이 저하된 오브젝트, 마지막으로active+clean으로 변경되는 것을 확인할 수 있습니다.OSD를 중지합니다.
구문
ceph orch daemon stop OSD_ID
ceph orch daemon stop OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch daemon stop osd.0
[ceph: root@host01 /]# ceph orch daemon stop osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스토리지 클러스터에서 OSD를 제거합니다.
구문
ceph orch osd rm OSD_ID --replace
ceph orch osd rm OSD_ID --replaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch osd rm 0 --replace
[ceph: root@host01 /]# ceph orch osd rm 0 --replaceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD_ID 는 유지됩니다.
물리적 드라이브 교체
물리적 드라이브 교체에 대한 자세한 내용은 하드웨어 노드에 대한 설명서를 참조하십시오.
- 드라이브가 핫 스왑 가능한 경우 오류가 발생한 드라이브를 새 드라이브로 교체합니다.
- 드라이브가 핫 스왑할 수 없고 노드에 여러 개의 OSD가 포함된 경우 전체 노드를 종료하고 물리적 드라이브를 교체해야 할 수 있습니다. 클러스터가 백필링되지 않도록 하는 것이 좋습니다. 자세한 내용은 Red Hat Ceph Storage 문제 해결 가이드 의 중지 및 재조정 시작 장을 참조하십시오.
-
드라이브가
/dev/디렉토리 아래에 표시되면 드라이브 경로를 기록합니다. - OSD를 수동으로 추가하려면 OSD 드라이브를 찾아 디스크를 포맷합니다.
Ceph 클러스터에 OSD 추가
새 드라이브가 삽입되면 다음 옵션을 사용하여 OSD를 배포할 수 있습니다.
--unmanaged매개변수가 설정되지 않은 경우 Ceph Orchestrator에서 OSD를 자동으로 배포합니다.예
[ceph: root@host01 /]# ceph orch apply osd --all-available-devices
[ceph: root@host01 /]# ceph orch apply osd --all-available-devicesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 관리되지 않는매개 변수가true로 설정된 모든 사용 가능한 장치에 OSD를 배포합니다.예
[ceph: root@host01 /]# ceph orch apply osd --all-available-devices --unmanaged=true
[ceph: root@host01 /]# ceph orch apply osd --all-available-devices --unmanaged=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 특정 장치 및 호스트에 OSD를 배포합니다.
예
[ceph: root@host01 /]# ceph orch daemon add osd host02:/dev/sdb
[ceph: root@host01 /]# ceph orch daemon add osd host02:/dev/sdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
CRUSH 계층 구조가 올바른지 확인합니다.
예
[ceph: root@host01 /]# ceph osd tree
[ceph: root@host01 /]# ceph osd treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. PID 수 증가 링크 복사링크가 클립보드에 복사되었습니다!
12개 이상의 Ceph OSD가 포함된 노드가 있는 경우 특히 복구 중에 기본 최대 스레드 수(PID 수)가 충분하지 않을 수 있습니다. 결과적으로 일부 ceph-osd 데몬이 종료되고 다시 시작되지 않을 수 있습니다. 이 경우 허용되는 최대 스레드 수를 늘립니다.
프로세스
임시 수를 늘리려면 다음을 수행합니다.
sysctl -w kernel.pid.max=4194303
[root@mon ~]# sysctl -w kernel.pid.max=4194303
숫자를 영구적으로 늘리려면 다음과 같이 /etc/sysctl.conf 파일을 업데이트합니다.
kernel.pid.max = 4194303
kernel.pid.max = 4194303
5.5. 전체 스토리지 클러스터에서 데이터 삭제 링크 복사링크가 클립보드에 복사되었습니다!
Ceph는 mon_osd_full_ratio 매개변수로 지정된 용량에 도달한 OSD에서 모든 I/O 작업을 자동으로 방지하고 전체 osds 오류 메시지를 반환합니다.
다음 절차에서는 이 오류를 해결하기 위해 불필요한 데이터를 삭제하는 방법을 보여줍니다.
mon_osd_full_ratio 매개변수는 클러스터를 생성할 때 full_ratio 매개변수 값을 설정합니다. 후에는 mon_osd_full_ratio 값을 변경할 수 없습니다. 일시적으로 full_ratio 값을 늘리려면 set-full-ratio 를 늘립니다.
사전 요구 사항
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow full_ratio의 현재 값을 확인합니다. 기본적으로0.95로 설정됩니다.[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.95
[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.95Copy to Clipboard Copied! Toggle word wrap Toggle overflow set-full-ratio의 값을0.97으로 일시적으로 늘립니다.[ceph: root@host01 /]# ceph osd set-full-ratio 0.97
[ceph: root@host01 /]# ceph osd set-full-ratio 0.97Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요set-full-ratio를 0.97보다 높은 값으로 설정하지 않는 것이 좋습니다. 이 매개변수를 더 높은 값으로 설정하면 복구 프로세스가 더 어려워집니다. 결과적으로 전체 OSD를 전혀 복구하지 못할 수 있습니다.매개변수를
0.97으로 성공적으로 설정했는지 확인합니다.[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.97
[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.97Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 모니터링합니다.
[ceph: root@host01 /]# ceph -w
[ceph: root@host01 /]# ceph -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터가 상태가
full에서 full로변경되는즉시 불필요한 데이터를 삭제합니다.full_ratio값을 다시0.95로 설정합니다.[ceph: root@host01 /]# ceph osd set-full-ratio 0.95
[ceph: root@host01 /]# ceph osd set-full-ratio 0.95Copy to Clipboard Copied! Toggle word wrap Toggle overflow 매개변수를
0.95로 성공적으로 설정했는지 확인합니다.[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.95
[ceph: root@host01 /]# ceph osd dump | grep -i full full_ratio 0.95Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6장. 다중 사이트 Ceph Object Gateway 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이 장에서는 다중 사이트 Ceph Object Gateway 구성 및 운영 조건과 관련된 가장 일반적인 오류를 수정하는 방법에 대해 설명합니다.
radosgw-admin 버킷 동기화 상태 명령에서 데이터가 다중 사이트에서 일관된 경우에도 버킷이 shard의 뒤에 있는 것으로 보고되면 버킷에 대한 추가 쓰기를 실행합니다. 상태 보고서를 동기화하고 버킷이 소스와 함께 있음을 알리는 메시지를 표시합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph Object Gateway입니다.
6.1. Ceph Object Gateway에 대한 오류 코드 정의 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway 로그에는 환경의 문제 해결 조건을 지원하는 오류 및 경고 메시지가 포함되어 있습니다. 몇 가지 일반적인 해결 방법은 다음과 같습니다.
일반적인 오류 메시지
data_sync: ERROR: 동기화 작업에서 오류를 반환했습니다.- 이는 하위 수준 버킷 동기화 프로세스에서 오류를 반환했다고 불만을 제기하는 높은 수준의 데이터 동기화 프로세스입니다. 이 메시지는 중복입니다. 버킷 동기화 오류가 로그 위에 표시됩니다.
데이터 동기화: ERROR: failed to sync 오브젝트: BUCKET_NAME:_OBJECT_NAME_- 프로세스가 원격 게이트웨이에서 HTTP를 통해 필요한 오브젝트를 가져오지 못했거나 프로세스에서 RADOS에 해당 오브젝트를 쓰지 못하고 다시 시도합니다.
데이터 sync: ERROR: failure in sync, backing out (sync_status=2)-
낮은 수준의 메시지는 위의 조건 중 하나를 반영하여 특히 데이터가 삭제되기 전에 삭제되어
-2 ENOENT상태를 표시할 수 있습니다. 데이터 sync: ERROR: failure in sync, backing out (sync_status=-5)-
위 조건 중 하나를 반영하는 낮은 수준 메시지입니다. 특히 RADOS에 해당 오브젝트를 쓰지 않아
-5 EIO를 표시하지 못했습니다. ERROR: failed to fetch remote data log info: ret=11-
이는 다른
게이트웨이의 오류 조건을 반영하는libcurl의 일반 오류 코드입니다. 기본적으로 다시 시도합니다. 메타 동기화: ERROR: failed to read mdlog info with (2) No such file or directory- mdlog의 shard는 생성되지 않았으므로 동기화할 항목이 없습니다.
오류 메시지 동기화
오브젝트를 동기화하지 못했습니다- 프로세스가 원격 게이트웨이에서 HTTP를 통해 이 오브젝트를 가져오지 못했거나 RADOS에 해당 오브젝트를 쓸 수 없어 다시 시도합니다.
버킷 인스턴스를 동기화하지 못했습니다. (11) 리소스를 일시적으로 사용할 수 없습니다.- 기본 영역과 보조 영역 간의 연결 문제입니다.
버킷 인스턴스를 동기화하지 못했습니다: (125) 작업이 취소됨- 동일한 RADOS 오브젝트에 대한 쓰기 간 연결 조건이 존재합니다.
ERROR: request failed: (13) 권한이 거부된 경우 마스터 영역에서 영역이 변경된 경우 이 사용자를 인식하기 위해 마스터 영역의 게이트웨이를 다시 시작해야 할 수 있습니다.보조 사이트를 구성하는 동안
rgw realm pull --url http://primary_endpoint --access-key <> --secret<> 명령이 권한 거부된 오류와 함께 실패하는 경우가 있습니다.이러한 경우 기본 사이트에서 다음 명령을 실행하여 시스템 사용자 인증 정보가 동일한지 확인합니다.
radosgw-admin user info --uid SYNCHRONIZATION_USER, and radosgw-admin zone get
radosgw-admin user info --uid SYNCHRONIZATION_USER, and radosgw-admin zone getCopy to Clipboard Copied! Toggle word wrap Toggle overflow 추가 리소스
- 추가 지원이 필요한 경우 Red Hat 지원팀에 문의하십시오.
6.2. 다중 사이트 Ceph Object Gateway 동기화 링크 복사링크가 클립보드에 복사되었습니다!
다중 사이트 동기화는 다른 영역에서 변경 로그를 읽습니다. 메타데이터 및 데이터 로그에서 동기화 진행 상황의 고급 보기를 가져오려면 다음 명령을 사용할 수 있습니다.
예
[ceph: root@host01 /]# radosgw-admin sync status
[ceph: root@host01 /]# radosgw-admin sync status
이 명령은 소스 영역 뒤에 있는 로그 shard를 나열합니다.
radosgw-admin 동기화 상태 명령을 실행할 때 shard 복구를 관찰할 수 있는 경우가 있습니다. 데이터 동기화의 경우 각각 독립적으로 처리되는 복제 로그의 128 shard가 있습니다. 이러한 복제 로그 이벤트에서 트리거된 작업으로 네트워크, 스토리지 또는 다른 위치에서 오류가 발생하면 해당 오류가 추적되므로 나중에 작업을 다시 시도할 수 있습니다. 지정된 shard에는 재시도가 필요한 오류가 있지만 radosgw-admin 동기화 상태 명령은 해당 shard를 복구 로 보고합니다. 이 복구는 자동으로 수행되므로 Operator가 문제를 해결하기 위해 개입할 필요가 없습니다.
위에서 실행한 동기화 상태의 결과가 로그 shard 뒤에 있는 경우 X 에 대한 shard ID를 대체한 다음 명령을 실행합니다.
다중 사이트 오브젝트 내의 버킷도 Ceph 대시보드에서 모니터링할 수 있습니다. 자세한 내용은 Red Hat Ceph Storage 대시보드 가이드()에서 다중 사이트 오브젝트의 버킷 모니터링 을 참조하십시오.
구문
radosgw-admin data sync status --shard-id=X --source-zone=ZONE_NAME
radosgw-admin data sync status --shard-id=X --source-zone=ZONE_NAME
예
동기화 옆에 있는 버킷과 이전 오류로 인해 재시도되는 버킷이 출력됩니다.
다음 명령을 사용하여 개별 버킷의 상태를 검사하여 X 의 버킷 ID를 대체합니다.
구문
radosgw-admin bucket sync status --bucket=X.
radosgw-admin bucket sync status --bucket=X.
X 를 버킷의 ID 번호로 바꿉니다.
그 결과 소스 영역 뒤에 있는 버킷 인덱스 로그 shard가 표시됩니다.
동기화의 일반적인 오류는 CryostatUSY입니다. 즉, 동기화가 이미 진행 중이고, 종종 다른 게이트웨이에서 동기화가 진행 중입니다. 다음 명령으로 읽을 수 있는 동기화 오류 로그에 기록된 오류를 읽습니다.
radosgw-admin sync error list
radosgw-admin sync error list
동기화 프로세스는 성공할 때까지 다시 시도합니다. 개입이 필요할 수 있는 오류가 계속 발생할 수 있습니다.
6.3. 다중 사이트 Ceph Object Gateway 데이터 동기화에 대한 성능 카운터 링크 복사링크가 클립보드에 복사되었습니다!
Ceph Object Gateway의 다중 사이트 구성에 다음 성능 카운터를 사용하여 데이터 동기화를 측정할 수 있습니다.
-
poll_latency는 원격 복제 로그에 대한 요청 대기 시간을 측정합니다. -
fetch_bytes는 데이터 동기화로 가져온 오브젝트 및 바이트 수를 측정합니다.
ceph --admin-daemon 명령을 사용하여 성능 카운터의 현재 메트릭 데이터를 확인합니다.
구문
ceph --admin-daemon /var/run/ceph/ceph-client.rgw.RGW_ID.asok perf dump data-sync-from-ZONE_NAME
ceph --admin-daemon /var/run/ceph/ceph-client.rgw.RGW_ID.asok perf dump data-sync-from-ZONE_NAME
예
데몬을 실행하는 노드에서 ceph --admin-daemon 명령을 실행해야 합니다.
추가 리소스
- 성능 카운터에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드 의 Ceph 성능 카운터 장을 참조하십시오.
6.4. 다중 사이트 Ceph Object Gateway 구성에서 데이터 동기화 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 클러스터의 다중 사이트 Ceph Object Gateway 구성에서 페일오버 및 실패로 인해 데이터 동기화가 중지됩니다. radosgw-admin 동기화 상태 명령은 데이터 동기화가 장기간 뒤에 있음을 보고합니다.
radosgw-admin data sync init 명령을 실행하여 사이트 간 데이터를 동기화한 다음 Ceph Object Gateway를 다시 시작할 수 있습니다. 이 명령은 실제 오브젝트 데이터를 만지지 않고 지정된 소스 영역에 대한 데이터 동기화를 시작합니다. 이로 인해 영역이 소스 영역에서 전체 동기화를 다시 시작합니다.
데이터 동기화 init 명령을 실행하기 전에 Red Hat 지원에 문의하십시오.
전체 동기화를 완전히 다시 시작하고 소스 영역에서 동기화해야 하는 데이터가 많이 있는 경우 대역폭 사용량이 높습니다.
사용자가 보조 사이트에서 버킷을 실수로 삭제하는 경우 사이트에서 메타데이터 동기화 init 명령을 사용하여 데이터를 동기화할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph Object Gateway는 최소한 두 개의 사이트를 구성했습니다.
프로세스
사이트 간 동기화 상태를 확인합니다.
예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보조 영역의 데이터를 동기화합니다.
예
[ceph: root@host04 /]# radosgw-admin data sync init --source-zone primary
[ceph: root@host04 /]# radosgw-admin data sync init --source-zone primaryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사이트에서 모든 Ceph Object Gateway 데몬을 다시 시작합니다.
예
[ceph: root@host04 /]# ceph orch restart rgw.myrgw
[ceph: root@host04 /]# ceph orch restart rgw.myrgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.5. 클러스터를 업그레이드한 후 radosgw-admin 명령 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
클러스터를 업그레이드한 후 cephadm 쉘 내부에서 radosgw-admin 명령을 사용하여 문제를 해결합니다.
다음은 클러스터를 업그레이드한 후 cephadm 쉘 내에서 radosgw-admin 명령을 실행한 후 출력할 수 있는 오류의 예입니다.
2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to decode obj from .rgw.root:periods.91d2a42c-735b-492a-bcf3-05235ce888aa.3 2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 failed reading current period info: (5) Input/output error 2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to start notify service ((5) Input/output error 2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to init services (ret=(5) Input/output error) couldn't init storage provider
2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to decode obj from .rgw.root:periods.91d2a42c-735b-492a-bcf3-05235ce888aa.3
2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 failed reading current period info: (5) Input/output error
2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to start notify service ((5) Input/output error
2024-05-13T09:05:30.607+0000 7f4e7c4ea500 0 ERROR: failed to init services (ret=(5) Input/output error)
couldn't init storage provider
예
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
radosgw-admin구문을 사용하여 명령을 다시 실행하여 연결을 복구합니다.구문
cephadm shell --radosgw-admin COMMAND
cephadm shell --radosgw-admin COMMANDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell -- radosgw-admin bucket list
[root@host01 /]# cephadm shell -- radosgw-admin bucket listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7장. Ceph 배치 그룹 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 Ceph 배치 그룹(PG)과 관련된 가장 일반적인 오류를 수정하는 방법을 설명합니다.
사전 요구 사항
- 네트워크 연결을 확인합니다.
- 모니터가 쿼럼을 구성할 수 있는지 확인합니다.
-
정상 OSD가 모두
up및in상태인지 확인하고 백필 및 복구 프로세스가 완료되었는지 확인합니다.
7.1. 가장 일반적인 Ceph 배치 그룹 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 ceph health detail 명령에서 반환된 가장 일반적인 오류 메시지가 나열되어 있습니다. 이 표는 오류를 설명하고 문제를 해결하기 위해 특정 절차를 가리키는 해당 섹션에 대한 링크를 제공합니다.
또한 최적 상태가 아닌 배치 그룹을 나열할 수 있습니다. 자세한 내용은 7.2절. “오래된,비활성 또는 정리되지 않은 배치 그룹 나열 ” 을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph Object Gateway입니다.
7.1.1. 배치 그룹 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
일반적인 배치 그룹 오류 메시지 표와 잠재적인 수정 사항.
| 오류 메시지 | 참조 |
|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
7.1.2. 오래된 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
ceph 상태 명령은 일부 PG(배치 그룹)를 stale:로 나열합니다.
HEALTH_WARN 24 pgs stale; 3/300 in osds are down
HEALTH_WARN 24 pgs stale; 3/300 in osds are down
이 값은 다음과 같습니다.
모니터는 배치 그룹의 기본 OSD에서 또는 다른 OSD가 기본 OSD가 다운 되었다고 보고하는 경우 배치 그룹이 오래된 것으로 표시됩니다.
일반적으로 PG는 스토리지 클러스터를 시작한 후 피어링 프로세스가 완료될 때까지 오래된 상태를 입력합니다. 그러나 PG가 예상보다 오래 지속되는 경우 해당 PG의 기본 OSD가 다운 되었거나 PG 통계를 모니터에 보고하지 않을 수 있습니다. 오래된 PG를 저장하는 기본 OSD가 백업 되면 Ceph가 PG를 복구하기 시작합니다.
mon_osd_report_timeout 설정은 OSD가 PGs 통계를 모니터에 보고하는 빈도를 결정합니다. 기본적으로 이 매개변수는 0.5 로 설정되므로 OSD가 1초마다 통계를 보고합니다.
이 문제를 해결하기 위해
어떤 PG가
오래된지, 어떤 OSD에 저장되어 있는지 확인합니다. 오류 메시지에는 다음 예와 유사한 정보가 포함됩니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
down으로 표시된 OSD의 모든 문제를 해결합니다. 자세한 내용은 Down OSD 를 참조하십시오.
7.1.3. 일관성 없는 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
일부 배치 그룹은 active + clean + inconsistent 로 표시되고 ceph 상태 세부 정보는 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_ERR 1 pgs inconsistent; 2 scrub errors pg 0.6 is active+clean+inconsistent, acting [0,1,2] 2 scrub errors
HEALTH_ERR 1 pgs inconsistent; 2 scrub errors
pg 0.6 is active+clean+inconsistent, acting [0,1,2]
2 scrub errors
이 값은 다음과 같습니다.
Ceph가 배치 그룹에 있는 하나 이상의 오브젝트 복제본에서 불일치를 감지하면 배치 그룹이 일관되지 않음 으로 표시됩니다. 가장 일반적인 불일치는 다음과 같습니다.
- 오브젝트의 크기가 올바르지 않습니다.
- 복구가 완료된 후 하나의 복제본에서 오브젝트가 누락됩니다.
대부분의 경우 스크럽 중 오류는 배치 그룹 내에서 불일치를 초래합니다.
이 문제를 해결하기 위해
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 일관성 없는상태에 있는 배치 그룹을 확인합니다.[ceph: root@host01 /]# ceph health detail HEALTH_ERR 1 pgs inconsistent; 2 scrub errors pg 0.6 is active+clean+inconsistent, acting [0,1,2] 2 scrub errors
[ceph: root@host01 /]# ceph health detail HEALTH_ERR 1 pgs inconsistent; 2 scrub errors pg 0.6 is active+clean+inconsistent, acting [0,1,2] 2 scrub errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹이
일관성이 없는이유를 확인합니다.배치 그룹에서 딥 스크럽 프로세스를 시작합니다.
구문
ceph pg deep-scrub ID
ceph pg deep-scrub IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를일관되지 않은배치 그룹의 ID로 교체합니다. 예를 들면 다음과 같습니다.[ceph: root@host01 /]# ceph pg deep-scrub 0.6 instructing pg 0.6 on osd.0 to deep-scrub
[ceph: root@host01 /]# ceph pg deep-scrub 0.6 instructing pg 0.6 on osd.0 to deep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow 해당 배치 그룹과 관련된 모든 메시지가
ceph -w의 출력을 검색합니다.구문
ceph -w | grep ID
ceph -w | grep IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를일관되지 않은배치 그룹의 ID로 교체합니다. 예를 들면 다음과 같습니다.[ceph: root@host01 /]# ceph -w | grep 0.6 2022-05-26 01:35:36.778215 osd.106 [ERR] 0.6 deep-scrub stat mismatch, got 636/635 objects, 0/0 clones, 0/0 dirty, 0/0 omap, 0/0 hit_set_archive, 0/0 whiteouts, 1855455/1854371 bytes. 2022-05-26 01:35:36.788334 osd.106 [ERR] 0.6 deep-scrub 1 errors
[ceph: root@host01 /]# ceph -w | grep 0.6 2022-05-26 01:35:36.778215 osd.106 [ERR] 0.6 deep-scrub stat mismatch, got 636/635 objects, 0/0 clones, 0/0 dirty, 0/0 omap, 0/0 hit_set_archive, 0/0 whiteouts, 1855455/1854371 bytes. 2022-05-26 01:35:36.788334 osd.106 [ERR] 0.6 deep-scrub 1 errorsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
출력에 다음과 유사한 오류 메시지가 포함된 경우
일관성 없는배치 그룹을 복구할 수 있습니다. 자세한 내용은 일관되지 않은 배치 그룹 복구를 참조하십시오.구문
PG.ID shard OSD: soid OBJECT missing attr , missing attr _ATTRIBUTE_TYPE PG.ID shard OSD: soid OBJECT digest 0 != known digest DIGEST, size 0 != known size SIZE PG.ID shard OSD: soid OBJECT size 0 != known size SIZE PG.ID deep-scrub stat mismatch, got MISMATCH PG.ID shard OSD: soid OBJECT candidate had a read error, digest 0 != known digest DIGEST
PG.ID shard OSD: soid OBJECT missing attr , missing attr _ATTRIBUTE_TYPE PG.ID shard OSD: soid OBJECT digest 0 != known digest DIGEST, size 0 != known size SIZE PG.ID shard OSD: soid OBJECT size 0 != known size SIZE PG.ID deep-scrub stat mismatch, got MISMATCH PG.ID shard OSD: soid OBJECT candidate had a read error, digest 0 != known digest DIGESTCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력에 다음과 유사한 오류 메시지가 포함된 경우 데이터가 손실될 수 있으므로
일관성 없는배치 그룹을 복구하는 것은 안전하지 않습니다. 이 경우 지원 티켓을 엽니 다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.PG.ID shard OSD: soid OBJECT digest DIGEST != known digest DIGEST PG.ID shard OSD: soid OBJECT omap_digest DIGEST != known omap_digest DIGEST
PG.ID shard OSD: soid OBJECT digest DIGEST != known digest DIGEST PG.ID shard OSD: soid OBJECT omap_digest DIGEST != known omap_digest DIGESTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.1.4. 정리되지 않은 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
ceph health 명령은 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_WARN 197 pgs stuck unclean
HEALTH_WARN 197 pgs stuck unclean
이 값은 다음과 같습니다.
Ceph는 Ceph 구성 파일의 mon_pg_stuck_threshold 매개변수에 지정된 시간(초)에 대해 active+clean 상태를 달성하지 못한 경우 배치 그룹을 무정으로 표시합니다. mon_pg_stuck_threshold 의 기본값은 300 초입니다.
배치 그룹이 정리되지 않은 경우 osd_pool_default_size 매개변수에 지정된 횟수를 복제하지 않는 오브젝트가 포함됩니다. osd_pool_default_size 의 기본값은 3 입니다. 즉, Ceph가 세 개의 복제본을 생성합니다.
일반적으로 불명확 한 배치 그룹은 일부 OSD가 다운 될 수 있음을 나타냅니다.
이 문제를 해결하기 위해
어떤 OSD가
다운되었는지 확인합니다.[ceph: root@host01 /]# ceph osd tree
[ceph: root@host01 /]# ceph osd treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OSD의 모든 문제를 해결하고 수정합니다. 자세한 내용은 Down OSDs 를 참조하십시오.
7.1.5. 비활성 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
ceph health 명령은 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_WARN 197 pgs stuck inactive
HEALTH_WARN 197 pgs stuck inactive
이 값은 다음과 같습니다.
Ceph는 Ceph 구성 파일의 mon_pg_stuck_threshold 매개변수에 지정된 시간(초) 동안 활성화되지 않은 경우 배치 그룹을 비활성 으로 표시합니다. mon_pg_stuck_threshold 의 기본값은 300 초입니다.
일반적으로 비활성 배치 그룹은 일부 OSD가 다운 될 수 있음을 나타냅니다.
이 문제를 해결하기 위해
어떤 OSD가
다운되었는지 확인합니다.ceph osd tree
# ceph osd treeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OSD의 모든 문제를 해결하고 수정합니다.
추가 리소스
- 오래된 비활성 또는 비정형 상태에 있는 배치 그룹 나열
- 자세한 내용은 Down OSDs 를 참조하십시오.
7.1.6. 배치 그룹이 다운됨 링크 복사링크가 클립보드에 복사되었습니다!
ceph health detail 명령은 일부 배치 그룹이 다운 되었다고 보고합니다.
이 값은 다음과 같습니다.
경우에 따라 피어링 프로세스를 차단하여 배치 그룹이 활성화되고 사용 가능하지 않게 할 수 있습니다. 일반적으로 OSD가 실패하면 피어링에 실패합니다.
이 문제를 해결하기 위해
피어링 프로세스를 차단하는 항목을 확인합니다.
구문
ceph pg ID query
ceph pg ID query
ID 를 다운 된 배치 그룹의 ID로 바꿉니다.
예
recovery_state 섹션에는 피어링 프로세스가 차단된 이유에 대한 정보가 포함되어 있습니다.
-
다운 osds 오류 메시지로 인해 출력에 피어링이 차단되는경우 Down OSD 를 참조하십시오. - 다른 오류 메시지가 표시되면 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 서비스 연락처를 참조하십시오.
7.1.7. unfound 오브젝트 링크 복사링크가 클립보드에 복사되었습니다!
ceph health 명령은 unfound 키워드를 포함하는 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_WARN 1 pgs degraded; 78/3778 unfound (2.065%)
HEALTH_WARN 1 pgs degraded; 78/3778 unfound (2.065%)
이 값은 다음과 같습니다.
Ceph는 이러한 오브젝트 또는 최신 복사본을 알고 있지만 찾을 수 없는 경우 오브젝트를 unfound 로 표시합니다. 결과적으로 Ceph는 이러한 오브젝트를 복구할 수 없으며 복구 프로세스를 진행합니다.
예를 들어 Situation
배치 그룹은 osd.1 및 osd.2 에 데이터를 저장합니다.
-
OSD.1이다운되었습니다. -
OSD.2는 일부 쓰기 작업을 처리합니다. -
OSD.1이나타납니다. -
osd.1과osd.2간의 피어링 프로세스가 시작되고osd.1에서 누락된 개체는 복구를 위해 대기열에 있습니다. -
Ceph가 새 오브젝트를 복사하기 전에
osd.2가다운됩니다.
결과적으로 osd.1 은 이러한 오브젝트가 존재하지만 오브젝트 복사본이 없는 OSD가 없음을 알고 있습니다.
이 시나리오에서 Ceph는 실패한 노드에 다시 액세스할 때까지 대기 중이며, unfound 오브젝트는 복구 프로세스를 차단합니다.
이 문제를 해결하기 위해
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow unfound오브젝트가 포함된 배치 그룹을 확인합니다.[ceph: root@host01 /]# ceph health detail HEALTH_WARN 1 pgs recovering; 1 pgs stuck unclean; recovery 5/937611 objects degraded (0.001%); 1/312537 unfound (0.000%) pg 3.8a5 is stuck unclean for 803946.712780, current state active+recovering, last acting [320,248,0] pg 3.8a5 is active+recovering, acting [320,248,0], 1 unfound recovery 5/937611 objects degraded (0.001%); **1/312537 unfound (0.000%)**
[ceph: root@host01 /]# ceph health detail HEALTH_WARN 1 pgs recovering; 1 pgs stuck unclean; recovery 5/937611 objects degraded (0.001%); 1/312537 unfound (0.000%) pg 3.8a5 is stuck unclean for 803946.712780, current state active+recovering, last acting [320,248,0] pg 3.8a5 is active+recovering, acting [320,248,0], 1 unfound recovery 5/937611 objects degraded (0.001%); **1/312537 unfound (0.000%)**Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹에 대한 자세한 정보를 나열합니다.
구문
ceph pg ID query
ceph pg ID queryCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를unfound오브젝트가 포함된 배치 그룹의 ID로 바꿉니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow might_have_unfound섹션에는 Ceph가unfound오브젝트를 찾기 위해 시도한 OSD가 포함되어 있습니다.-
이미 프로브된상태는 Ceph가 해당 OSD에서unfound오브젝트를 찾을 수 없음을 나타냅니다. -
osd가 down상태는 Ceph가 해당 OSD에 연결할 수 없음을 나타냅니다.
-
-
down으로 표시된 OSD의 문제를 해결합니다. 자세한 내용은 Down OSDs 를 참조하십시오. -
OSD가
다운된 문제를 해결할 수 없는 경우 지원 티켓을 엽니다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
7.2. 오래된,비활성 또는 정리되지 않은 배치 그룹 나열 링크 복사링크가 클립보드에 복사되었습니다!
오류가 발생하면 배치 그룹이 성능 저하 또는 피어링 과 같은 상태를 입력합니다. 이 상태는 오류 복구 프로세스를 통한 정상적인 진행 상태를 나타냅니다.
그러나 배치 그룹이 예상보다 오랜 시간 동안 이러한 상태 중 하나에 남아 있으면 더 큰 문제를 나타낼 수 있습니다. 모니터는 배치 그룹이 최적이 아닌 상태로 중단될 때 보고합니다.
Ceph 구성 파일의 mon_pg_stuck_threshold 옵션에 따라 배치 그룹이 비활성, 불명확한 또는 오래된 것으로 간주되는 시간(초)이 결정됩니다.
다음 표에서는 이러한 상태를 간략한 설명과 함께 나열합니다.
| 상태 | 의미 | 가장 일반적인 원인 | 참조 |
|---|---|---|---|
|
| PG는 읽기/쓰기 요청을 처리할 수 없습니다. |
| |
|
| PG에는 원하는 횟수만큼 복제되지 않는 개체가 포함되어 있습니다. PG가 복구되지 않도록 하는 것이 있습니다. |
| |
|
|
PG의 상태는 |
|
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스.
프로세스
Cephadm 쉘에 로그인합니다.
예
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 붙어 있는 PG를 나열합니다.
예
[ceph: root@host01 /]# ceph pg dump_stuck inactive [ceph: root@host01 /]# ceph pg dump_stuck unclean [ceph: root@host01 /]# ceph pg dump_stuck stale
[ceph: root@host01 /]# ceph pg dump_stuck inactive [ceph: root@host01 /]# ceph pg dump_stuck unclean [ceph: root@host01 /]# ceph pg dump_stuck staleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. 배치 그룹 불일치 나열 링크 복사링크가 클립보드에 복사되었습니다!
rados 유틸리티를 사용하여 오브젝트의 다양한 복제본의 불일치를 나열합니다. --format=json-pretty 옵션을 사용하여 더 자세한 출력을 나열합니다.
이 섹션에서는 다음 목록에 대해 설명합니다.
- 풀의 일관성 없는 배치 그룹
- 배치 그룹에 일관성 없는 오브젝트
- 배치 그룹에 일관성 없는 스냅샷 세트
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터가 정상 상태입니다.
- 노드에 대한 루트 수준 액세스.
프로세스
풀에서 일관성 없는 모든 배치 그룹을 나열합니다.
구문
rados list-inconsistent-pg POOL --format=json-pretty
rados list-inconsistent-pg POOL --format=json-prettyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# rados list-inconsistent-pg data --format=json-pretty [0.6]
[ceph: root@host01 /]# rados list-inconsistent-pg data --format=json-pretty [0.6]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹의 ID를 사용하여 일관되지 않은 오브젝트를 나열합니다.
구문
rados list-inconsistent-obj PLACEMENT_GROUP_ID
rados list-inconsistent-obj PLACEMENT_GROUP_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 필드는 불일치의 원인을 결정하는 데 중요합니다.
-
name: 일치하지 않는 복제본과 오브젝트의 이름입니다. -
nSpace: 풀의 논리적 분리인 네임스페이스입니다. 기본적으로 비어 있습니다. -
배치를 위해 개체 이름의 대안으로 사용되는 키입니다.
-
snap: 오브젝트의 스냅샷 ID입니다. 오브젝트에서 쓸 수 있는 유일한 버전은head이라고 합니다. 오브젝트가 복제인 경우 이 필드에는 순차 ID가 포함됩니다. -
version: 일치하지 않는 복제본이 있는 오브젝트의 버전 ID입니다. 오브젝트에 대한 각 쓰기 작업이 늘어납니다. Error: 어떤 shard 또는 shard가 올바르지 않은지 확인하지 않고 shard 간의 불일치를 나타내는 오류 목록입니다. 오류를 자세히 조사하려면shard배열을 참조하십시오.-
data_digest_mismatch: 하나의 OSD에서 읽은 복제본의 다이제스트는 다른 OSD와 다릅니다. -
size_mismatch: 복제 또는헤드오브젝트의 크기가 예상과 일치하지 않습니다. -
read_error: 이 오류는 디스크 오류로 인해 발생할 수 있는 불일치를 나타냅니다.
-
union_shard_error: shard와 관련된 모든 오류의 결합 이러한 오류는 결함이 있는 shard에 연결됩니다.oi로 끝나는 오류는 결함이 있는 오브젝트의 정보와 선택한 오브젝트와 정보를 비교해야 함을 나타냅니다. 오류를 자세히 조사하려면shard배열을 참조하십시오.위의 예에서
osd.2에 저장된 오브젝트 복제본은osd.0및osd.1에 저장된 복제본과 다른 다이제스트입니다. 특히 복제본의 다이제스트는osd.2에서 읽은 shard에서 계산된 대로0xffffff가 아니지만0xe978e67f. 또한osd.2에서 읽은 복제본 크기는 0이고osd.0및osd.1에서 보고한 크기는 968입니다.
-
일관되지 않은 스냅샷 세트를 나열합니다.
구문
rados list-inconsistent-snapset PLACEMENT_GROUP_ID
rados list-inconsistent-snapset PLACEMENT_GROUP_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령은 다음 오류를 반환합니다.
-
ss_attr_missing: 하나 이상의 속성이 누락되어 있습니다. 속성은 스냅샷 세트에 키-값 쌍으로 인코딩된 스냅샷에 대한 정보입니다. -
ss_attr_corrupted: 하나 이상의 속성이 디코딩되지 않습니다. -
clone_missing: 복제본이 없습니다. -
snapset_mismatch: 스냅샷 세트가 자체적으로 일관되지 않습니다. -
head_mismatch: 스냅샷 세트는head가 존재하지 않음을 나타내지만 scrub 결과는 달리 보고됩니다. -
Headless: 스냅샷 세트의헤드가 누락되어 있습니다. -
size_mismatch: 복제 또는헤드오브젝트의 크기가 예상과 일치하지 않습니다.
-
7.4. 일관성 없는 배치 그룹 복구 링크 복사링크가 클립보드에 복사되었습니다!
딥러블링 중 오류로 인해 일부 배치 그룹에 불일치가 포함될 수 있습니다. Ceph는 이러한 배치 그룹을 일관되지 않음 으로 보고합니다.
HEALTH_ERR 1 pgs inconsistent; 2 scrub errors pg 0.6 is active+clean+inconsistent, acting [0,1,2] 2 scrub errors
HEALTH_ERR 1 pgs inconsistent; 2 scrub errors
pg 0.6 is active+clean+inconsistent, acting [0,1,2]
2 scrub errors
특정 불일치만 복구할 수 있습니다.
Ceph 로그에 다음과 같은 오류가 포함된 경우 배치 그룹을 복구하지 마십시오.
_PG_._ID_ shard _OSD_: soid _OBJECT_ digest _DIGEST_ != known digest _DIGEST_ _PG_._ID_ shard _OSD_: soid _OBJECT_ omap_digest _DIGEST_ != known omap_digest _DIGEST_
_PG_._ID_ shard _OSD_: soid _OBJECT_ digest _DIGEST_ != known digest _DIGEST_
_PG_._ID_ shard _OSD_: soid _OBJECT_ omap_digest _DIGEST_ != known omap_digest _DIGEST_
대신 지원 티켓을 엽니 다. 자세한 내용은 Red Hat 지원 문의를 참조하십시오.
사전 요구 사항
- Ceph Monitor 노드에 대한 루트 수준 액세스.
프로세스
일관성 없는배치 그룹을 복구합니다.구문
ceph pg repair ID
ceph pg repair IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID를일관되지 않은배치 그룹의 ID로 바꿉니다.
7.5. 배치 그룹 증가 링크 복사링크가 클립보드에 복사되었습니다!
PG(배치 그룹) 수가 충분하지 않으면 Ceph 클러스터 및 데이터 배포 성능에 영향을 미칩니다. 이는 가까운 전체 osds 오류 메시지의 주요 원인 중 하나입니다.
권장 비율은 OSD당 100~300개의 PG입니다. 클러스터에 OSD를 추가하면 이 비율이 줄어들 수 있습니다.
pg_num 및 pgp_num 매개변수는 PG 수를 결정합니다. 이러한 매개변수는 각 풀별로 구성되므로 PG 수가 낮은 각 풀을 별도로 조정해야 합니다.
PG 수를 늘리는 것은 Ceph 클러스터에서 수행할 수 있는 가장 집약적인 프로세스입니다. 이 프로세스는 느리고 체계적인 방식으로 수행되지 않는 경우 심각한 성능에 영향을 미칠 수 있습니다. pgp_num 을 늘리면 프로세스를 중지하거나 되돌릴 수 없으며 완료해야 합니다. 비즈니스 크리티컬 처리 시간 할당 외부에서 PG 수를 늘리고 모든 고객에게 잠재적인 성능 영향에 대해 경고하는 것이 좋습니다. 클러스터가 HEALTH_ERR 상태에 있는 경우 PG 수를 변경하지 마십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터가 정상 상태입니다.
- 노드에 대한 루트 수준 액세스.
프로세스
개별 OSD 및 OSD 호스트에 대한 데이터 재배포 및 복구의 영향을 줄입니다.
osd max backfills,osd_recovery_max_active및osd_recovery_op_priority매개변수의 값을 줄입니다.[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 1 --osd_recovery_op_priority 1'
[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 1 --osd_recovery_op_priority 1'Copy to Clipboard Copied! Toggle word wrap Toggle overflow shallow 및 deep scrubbing을 비활성화합니다.
[ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
[ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
풀 계산기당 Ceph PG(배치 그룹) 를 사용하여
pg_num및pgp_num매개변수의 최적 값을 계산합니다. 원하는 값에 도달할 때까지
pg_num값을 작은 증분으로 늘립니다.- 시작 증가 값을 확인합니다. 2의 전원을 끄는 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘리십시오. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 로드에 따라 달라집니다.
pg_num값을 늘립니다.구문
ceph osd pool set POOL pg_num VALUE
ceph osd pool set POOL pg_num VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
예
[ceph: root@host01 /]# ceph osd pool set data pg_num 4
[ceph: root@host01 /]# ceph osd pool set data pg_num 4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 모니터링합니다.
예
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow PGs 상태는
creating에서active+clean으로 변경됩니다. 모든 PG가active+clean상태가 될 때까지 기다립니다.
원하는 값에 도달할 때까지
pgp_num값을 작은 증분으로 늘립니다.- 시작 증가 값을 확인합니다. 2의 전원을 끄는 매우 낮은 값을 사용하고 클러스터에 미치는 영향을 결정할 때 늘리십시오. 최적의 값은 풀 크기, OSD 수 및 클라이언트 I/O 로드에 따라 달라집니다.
pgp_num값을 늘립니다.구문
ceph osd pool set POOL pgp_num VALUE
ceph osd pool set POOL pgp_num VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 풀 이름과 새 값을 지정합니다. 예를 들면 다음과 같습니다.
[ceph: root@host01 /]# ceph osd pool set data pgp_num 4
[ceph: root@host01 /]# ceph osd pool set data pgp_num 4Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터 상태를 모니터링합니다.
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow PG 상태는
피어링,wait_backfill,백필링,복구등을 통해 변경됩니다. 모든 PG가active+clean상태가 될 때까지 기다립니다.
- PG 수가 충분하지 않은 모든 풀에 대해 이전 단계를 반복합니다.
osd max backfills,osd_recovery_max_active,osd_recovery_op_priority를 기본값으로 설정합니다.[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 3 --osd_recovery_op_priority 3'
[ceph: root@host01 /]# ceph tell osd.* injectargs '--osd_max_backfills 1 --osd_recovery_max_active 3 --osd_recovery_op_priority 3'Copy to Clipboard Copied! Toggle word wrap Toggle overflow shallow 및 deep scrubbing을 활성화합니다.
[ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub
[ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 자세한 내용은 3장. 네트워킹 문제 해결 을 참조하십시오.
- Ceph 모니터와 관련된 가장 일반적인 오류 문제 해결에 대한 자세한 내용은 4장. Ceph 모니터 문제 해결 을 참조하십시오.
- Ceph OSD와 관련된 가장 일반적인 오류 문제 해결에 대한 자세한 내용은 5장. Ceph OSD 문제 해결 을 참조하십시오.
- PG 자동 스케일러에 대한 자세한 내용은 Red Hat Ceph Storage Storage Strategies Guide의 자동 확장 배치 그룹 섹션을 참조하십시오.
8장. Ceph 오브젝트 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 ceph-objectstore-tool 유틸리티를 사용하여 상위 수준 또는 하위 수준 오브젝트 작업을 수행할 수 있습니다. ceph-objectstore-tool 유틸리티는 특정 OSD 또는 배치 그룹 내의 오브젝트와 관련된 문제를 해결하는 데 도움이 될 수 있습니다.
개체를 조작하면 복구할 수 없는 데이터 손실이 발생할 수 있습니다. ceph-objectstore-tool 유틸리티를 사용하기 전에 Red Hat 지원에 문의하십시오.
사전 요구 사항
- 네트워크 관련 문제가 없는지 확인합니다.
8.1. 고급 오브젝트 작업 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 ceph-objectstore-tool 유틸리티를 사용하여 높은 수준의 오브젝트 작업을 수행할 수 있습니다. ceph-objectstore-tool 유틸리티는 다음과 같은 상위 오브젝트 작업을 지원합니다.
- 오브젝트 나열
- 손실된 오브젝트 나열
- 손실된 오브젝트 수정
개체를 조작하면 복구할 수 없는 데이터 손실이 발생할 수 있습니다. ceph-objectstore-tool 유틸리티를 사용하기 전에 Red Hat 지원에 문의하십시오.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
8.1.1. 오브젝트 나열 링크 복사링크가 클립보드에 복사되었습니다!
OSD는 0에서 많은 배치 그룹을 포함할 수 있으며 배치 그룹(PG) 내에 0에서 많은 오브젝트에 0을 포함할 수 있습니다. ceph-objectstore-tool 유틸리티를 사용하면 OSD에 저장된 오브젝트를 나열할 수 있습니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹에 관계없이 OSD 내의 모든 오브젝트를 식별합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --op list
ceph-objectstore-tool --data-path PATH_TO_OSD --op listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹 내에서 모든 오브젝트를 식별합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op list
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op list
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트가 속하는 PG를 식별합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --op list OBJECT_ID
ceph-objectstore-tool --data-path PATH_TO_OSD --op list OBJECT_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list default.region
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op list default.regionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.1.2. 손실된 오브젝트 수정 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 Ceph OSD에 저장된 손실된 오브젝트와 unfound 오브젝트를 나열하고 수정할 수 있습니다. 이 절차는 기존 오브젝트에만 적용됩니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 손실된 기존 오브젝트를 모두 나열하려면 다음을 수행합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost --dry-run
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost --dry-runCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-run
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost --dry-runCopy to Clipboard Copied! Toggle word wrap Toggle overflow ceph-objectstore-tool유틸리티를 사용하여 손실된 오브젝트 및 unfound 오브젝트를 수정합니다. 적절한 옵션을 선택합니다.손실된 모든 오브젝트를 수정하려면 다음을 수행합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹 내에서 손실된 모든 오브젝트를 수정하려면 다음을 수행합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op fix-lost
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID --op fix-lostCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lost
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c --op fix-lostCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID로 손실된 오브젝트를 수정하려면 다음을 수행합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost OBJECT_ID
ceph-objectstore-tool --data-path PATH_TO_OSD --op fix-lost OBJECT_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.region
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --op fix-lost default.regionCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2. 하위 수준 오브젝트 작업 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 관리자는 ceph-objectstore-tool 유틸리티를 사용하여 하위 수준 오브젝트 작업을 수행할 수 있습니다. ceph-objectstore-tool 유틸리티는 다음과 같은 하위 수준 오브젝트 작업을 지원합니다.
- 오브젝트의 콘텐츠 조작
- 오브젝트 제거
- 오브젝트 맵 나열(OMAP)
- OMAP 헤더를 조작
- OMAP 키 조작
- 오브젝트의 특성 나열
- 오브젝트의 특성 키 조작
개체를 조작하면 복구할 수 없는 데이터 손실이 발생할 수 있습니다. ceph-objectstore-tool 유틸리티를 사용하기 전에 Red Hat 지원에 문의하십시오.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
8.2.1. 오브젝트의 콘텐츠 조작 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하면 오브젝트에서 바이트를 가져오거나 설정할 수 있습니다.
오브젝트에서 바이트를 설정하면 복구할 수 없는 데이터 손실이 발생할 수 있습니다. 데이터 손실을 방지하려면 개체의 백업 복사본을 만듭니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - OSD 또는 PG(배치 그룹)의 오브젝트를 나열하여 오브젝트를 찾습니다.
OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트에서 바이트를 설정하기 전에 오브젝트의 백업 및 작업 사본을 만듭니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ get-bytes > OBJECT_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ get-bytes > OBJECT_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 작업 복사 오브젝트 파일을 편집하고 그에 따라 오브젝트 콘텐츠를 수정합니다.
오브젝트의 바이트를 설정합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ set-bytes < OBJECT_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ set-bytes < OBJECT_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-bytes < zone_info.default.working-copy[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-bytes < zone_info.default.working-copyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.2. 오브젝트 제거 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 오브젝트를 제거합니다. 오브젝트를 제거하면 해당 콘텐츠 및 참조가 배치 그룹(PG)에서 제거됩니다.
오브젝트를 제거한 후에는 다시 생성할 수 없습니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트를 제거합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ remove
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ remove[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ removeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.3. 오브젝트 맵 나열 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 오브젝트 맵(OMAP)의 콘텐츠를 나열합니다. 출력에서 키 목록을 제공합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-osd@OSD_ID
systemctl status ceph-osd@OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵을 나열합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ list-omap
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ list-omapCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ list-omap[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \ '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ list-omapCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.4. 오브젝트 맵 헤더 조작 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티는 오브젝트의 키와 연결된 값으로OMAP(오브젝트 맵) 헤더를 출력합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵 헤더를 가져옵니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr > OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr > OBJECT_MAP_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-omaphdr > zone_info.default.omaphdr.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-omaphdr > zone_info.default.omaphdr.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵 헤더를 설정합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr < OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr < OBJECT_MAP_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-omaphdr < zone_info.default.omaphdr.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-omaphdr < zone_info.default.omaphdr.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.5. 오브젝트 맵 키 조작 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 오브젝트 맵(OMAP) 키를 변경합니다. OMAP의 데이터 경로, 배치 그룹 식별자(PG ID), 오브젝트 및 키를 제공해야 합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵 키를 가져옵니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omap KEY > OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omap KEY > OBJECT_MAP_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-omap "" > zone_info.default.omap.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-omap "" > zone_info.default.omap.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵 키를 설정합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-omap KEY < OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-omap KEY < OBJECT_MAP_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-omap "" < zone_info.default.omap.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-omap "" < zone_info.default.omap.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트 맵 키를 제거합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-omap KEY
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-omap KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ rm-omap ""[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ rm-omap ""Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.6. 오브젝트의 속성 나열 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 오브젝트의 속성을 나열합니다. 출력은 오브젝트의 키와 값을 제공합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트의 속성을 나열합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ list-attrs
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ list-attrsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ list-attrs[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ list-attrsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
8.2.7. 오브젝트 특성 키 조작 링크 복사링크가 클립보드에 복사되었습니다!
ceph-objectstore-tool 유틸리티를 사용하여 오브젝트의 속성을 변경합니다. 오브젝트의 특성을 조작하려면 데이터 경로, 배치 그룹 ID(PG ID), 오브젝트 속성의 키, 개체가 필요합니다.
사전 요구 사항
- Ceph OSD 노드에 대한 루트 수준 액세스.
-
ceph-osd데몬을 중지합니다.
프로세스
적절한 OSD가 다운되었는지 확인합니다.
구문
systemctl status ceph-FSID@osd.OSD_ID
systemctl status ceph-FSID@osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.service
[root@host01 ~]# systemctl status ceph-b404c440-9e4c-11ec-a28a-001a4a0001df@osd.0.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD 컨테이너에 로그인합니다.
구문
cephadm shell --name osd.OSD_ID
cephadm shell --name osd.OSD_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
cephadm shell --name osd.0
[root@host01 ~]# cephadm shell --name osd.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트의 속성을 가져옵니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-attr KEY > OBJECT_ATTRS_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-attr KEY > OBJECT_ATTRS_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-attr "oid" > zone_info.default.attr.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ get-attr "oid" > zone_info.default.attr.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트의 속성을 설정합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-attr KEY < OBJECT_ATTRS_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-attr KEY < OBJECT_ATTRS_FILE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-attr "oid"<zone_info.default.attr.txt[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ set-attr "oid"<zone_info.default.attr.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow 오브젝트의 속성을 제거합니다.
구문
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-attr KEY
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-attr KEYCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ rm-attr "oid"[ceph: root@host01 /]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 \ --pgid 0.1c '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \ rm-attr "oid"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9장. 스트레치 모드에서 클러스터 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
실패한 타이버 모니터를 교체하고 제거할 수 있습니다. 필요한 경우 클러스터를 복구 또는 정상 모드로 강제 수행할 수도 있습니다.
9.1. 클러스터 확장을 복구 또는 정상 모드로 강제 적용 링크 복사링크가 클립보드에 복사되었습니다!
성능 저하 모드에서 연결이 끊긴 데이터 센터가 다시 돌아간 후 클러스터가 복구 모드로 자동 전환됩니다. 이러한 상황이 발생하지 않거나 복구 모드를 조기에 활성화하려면 확장 클러스터를 복구 모드로 강제 적용할 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터
- 클러스터에서 활성화된 스트레치 모드
프로세스
확장 클러스터를 복구 모드로 강제 적용합니다.
예
[ceph: root@host01 /]# ceph osd force_recovery_stretch_mode --yes-i-really-mean-it
[ceph: root@host01 /]# ceph osd force_recovery_stretch_mode --yes-i-really-mean-itCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고복구 상태는 클러스터를
HEALTH_WARN상태가 됩니다.복구 모드에서 배치 그룹이 정상이면 클러스터가 정상으로 돌아가야 합니다. 이러한 상황이 발생하지 않으면 확장 클러스터를 정상 모드로 강제 적용할 수 있습니다.
예
[ceph: root@host01 /]# ceph osd force_healthy_stretch_mode --yes-i-really-mean-it
[ceph: root@host01 /]# ceph osd force_healthy_stretch_mode --yes-i-really-mean-itCopy to Clipboard Copied! Toggle word wrap Toggle overflow 참고또한 데이터 센터 간 피어링을 조기에 강제 적용하고 데이터 다운 타임 위험을 감수하려는 경우 또는 모든 배치 그룹이 완전히 복구되지 않은 경우에도 피어링할 수 있음을 별도로 확인하려는 경우에도 이 명령을 실행할 수 있습니다.
복구 상태에 의해 생성되는
HEALTH_WARN상태를 제거하기 위해 정상 모드를 호출하려고 할 수도 있습니다.참고force_recovery_stretch_mode및force_recovery_healthy_mode명령은 예기치 않은 상황을 관리하는 프로세스에 포함되어 있으므로 필요하지 않아야 합니다.
10장. scrub 및 deep-scrub 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
scrub 및 deep-scrub 문제를 해결하는 방법을 알아보십시오.
10.1. 8로 업그레이드하는 동안 스크러브 속도 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 8로 업그레이드한 후 표시되는 scrub 속도 저하 문제를 해결하는 방법을 알아보십시오.
scrub 속도가 느리기 때문에 자동화된 OSD 벤치마크 설정은 osd_mclock_max_capacity_iops_hdd 의 값이 매우 낮기 때문입니다. 이로 인해 OSD의 IOPS 용량이 scrub 작업에서 수신하는 대역폭을 결정하는 데 중요한 역할을 하므로 scrub 작업이 영향을 받습니다. 이 문제를 추가로 늘리기 위해 scrubs는 mClock 프로필에 정의된 QoS 할당에 따라 총 IOPS 용량의 일부만 받습니다.
이로 인해 Ceph 클러스터에서 예상 스크러ub 완료 시간을 일 또는 몇 주 내에 보고합니다.
전제 조건
- 실행 중인 Red Hat Ceph Storage 클러스터가 정상 상태입니다.
- 노드에 대한 루트 수준 액세스.
프로세스
OSD 부팅 중에 OSD bench에서 보고한 낮은 측정 IOPS를 감지하고
osd_mclock_max_capacity_iops_[hdd|ssd]에 대해 정의된 기본 IOPS 설정으로 폴백합니다. 보고된 IOPS가osd_mclock_iops_capacity_low_threshold_[hdd|ssd]에 의해 결정된 임계값 미만인 경우 폴백이 트리거됩니다. 클러스터 경고도 기록됩니다.예제:
ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
$ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]Copy to Clipboard Copied! Toggle word wrap Toggle overflow [선택 사항]: 다음 단계를 수행합니다.
이 문제의 영향을 받는 클러스터의 경우 다음 명령을 실행하여 수정 사항을 사용하여 릴리스로 업그레이드하기 전에 OSD에서 IOPS 용량 설정을 제거합니다.
예제:
ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
$ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 업그레이드 전에 영향을 받는 OSD
에 대해 osd_mclock_force_run_run_init옵션을 true 로 설정합니다.예제:
ceph config set osd.X osd_mclock_force_run_benchmark_on_init true
$ ceph config set osd.X osd_mclock_force_run_benchmark_on_init trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이번 수정으로 릴리스를 업그레이드한 후 IOPS 용량은 기본 설정 또는 OSD bench에서 보고한 새 설정을 반영합니다.
[선택 사항]: 이미 7에서 8로 업그레이드한 경우 (업그레이드 후) 다음 단계를 수행합니다.
업그레이드 전에 위의 단계를 수행할 수 없는 경우
osd_mclock_max_capacity_iops_[hdd|ssd]설정을 제거하여 업그레이드 후 OSD 벤치마크를 다시 실행합니다.예제:
ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]
$ ceph config rm osd.X osd_mclock_max_capacity_iops_[hdd|ssd]Copy to Clipboard Copied! Toggle word wrap Toggle overflow osd_mclock_force_run_benchmark_on_init를 true 로 설정합니다.예제:
ceph config set osd.X osd_mclock_force_run_benchmark_on_init true
$ ceph config set osd.X osd_mclock_force_run_benchmark_on_init trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow OSD를 다시 시작합니다.
OSD가 다시 시작되면 IOPS 용량은 기본 설정 또는 OSD bench에서 보고한 새 설정을 반영합니다.
11장. 서비스에 대한 Red Hat 지원 문의 링크 복사링크가 클립보드에 복사되었습니다!
이 가이드의 정보가 문제 해결에 도움이 되지 않은 경우 이 장에서는 Red Hat 지원 서비스에 문의하는 방법을 설명합니다.
사전 요구 사항
- Red Hat 지원 계정.
11.1. Red Hat 지원 엔지니어에게 정보 제공 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage와 관련된 문제를 해결할 수 없는 경우 Red Hat 지원 서비스에 문의하여 지원 엔지니어가 발생하는 문제를 보다 신속하게 해결하는 데 도움이 되는 충분한 양의 정보를 제공합니다.
사전 요구 사항
- 노드에 대한 루트 수준 액세스.
- Red Hat 지원 계정.
프로세스
- Red Hat 고객 포털에서 지원 티켓을 여십시오.
-
sosreport를 티켓에 연결하는 것이 가장 좋습니다. 자세한 내용은 What is a sosreport and how to create one in Red Hat Enterprise Linux? 에서 참조하십시오. - Ceph 데몬이 세그먼트 오류와 함께 실패하는 경우 사람이 읽을 수 있는 코어 덤프 파일을 생성하는 것이 좋습니다. 자세한 내용은 읽기 쉬운 코어 덤프 파일 생성 을 참조하십시오.
11.2. 읽을 수 있는 코어 덤프 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
Ceph 데몬이 분할 장애로 예기치 않게 종료되면 오류에 대한 정보를 수집하여 Red Hat 지원 엔지니어에게 제공합니다.
이러한 정보는 초기 조사를 가속화합니다. 또한 지원 엔지니어는 코어 덤프 파일의 정보를 Red Hat Ceph Storage 클러스터의 알려진 문제와 비교할 수 있습니다.
사전 요구 사항
debuginfo 패키지가 아직 설치되지 않은 경우 설치합니다.
다음 리포지토리를 활성화하여 필요한 debuginfo 패키지를 설치합니다.
예
subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms yum --enable=rhceph-6-tools-for-rhel-9-x86_64-debug-rpms
[root@host01 ~]# subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms [root@host01 ~]# yum --enable=rhceph-6-tools-for-rhel-9-x86_64-debug-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 리포지토리가 활성화되면 이 지원되는 패키지 목록에서 필요한 디버그 정보 패키지를 설치할 수 있습니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
gdb패키지가 설치되어 있지 않은 경우 설치합니다.예
dnf install gdb
[root@host01 ~]# dnf install gdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.2.1. 컨테이너화된 배포에서 읽을 수 있는 코어 덤프 파일 생성 링크 복사링크가 클립보드에 복사되었습니다!
코어 덤프 파일을 캡처하는 두 가지 시나리오가 포함된 Red Hat Ceph Storage의 코어 덤프 파일을 생성할 수 있습니다.
- SIGILL, SIGTRAP, SIGABRT 또는 SIGSEGV 오류로 인해 Ceph 프로세스가 예기치 않게 종료되면.
또는
- 예를 들어 Ceph 프로세스와 같은 문제를 디버깅하는 경우 수동으로는 높은 CPU 사이클을 사용하거나 응답하지 않습니다.
사전 요구 사항
- Ceph 컨테이너를 실행하는 컨테이너 노드에 대한 루트 수준 액세스.
- 적절한 디버깅 패키지를 설치합니다.
-
GNU 프로젝트 디버거(
gdb) 패키지 설치. - 호스트에 8GB RAM이 있는지 확인합니다. 호스트에 데몬이 여러 개 있는 경우 Red Hat은 더 많은 RAM을 권장합니다.
프로세스
SIGILL, SIGTRAP, SIGABRT 또는 SIGSEGV 오류로 인해 Ceph 프로세스가 예기치 않게 종료되는 경우:
실패한 Ceph 프로세스가 있는 컨테이너가 실행 중인 노드에서 코어 패턴을
systemd-coredump서비스로 설정합니다.예
echo "| /usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e" > /proc/sys/kernel/core_pattern
[root@mon]# echo "| /usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e" > /proc/sys/kernel/core_patternCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 프로세스로 인해 다음 컨테이너 실패를 조사하고
/var/lib/systemd/coredump/디렉터리에서 코어 덤프 파일을 검색합니다.예
ls -ltr /var/lib/systemd/coredump total 8232 -rw-r-----. 1 root root 8427548 Jan 22 19:24 core.ceph-osd.167.5ede29340b6c4fe4845147f847514c12.15622.1584573794000000.xz
[root@mon]# ls -ltr /var/lib/systemd/coredump total 8232 -rw-r-----. 1 root root 8427548 Jan 22 19:24 core.ceph-osd.167.5ede29340b6c4fe4845147f847514c12.15622.1584573794000000.xzCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Ceph 모니터 및 Ceph OSD 의 코어 덤프 파일을 수동으로 캡처하려면 다음을 수행합니다.
MONITOR_ID 또는 OSD_ID 를 가져오고 컨테이너를 입력합니다.
구문
podman ps podman exec -it MONITOR_ID_OR_OSD_ID bash
podman ps podman exec -it MONITOR_ID_OR_OSD_ID bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
podman ps podman exec -it ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad-osd-2 bash
[root@host01 ~]# podman ps [root@host01 ~]# podman exec -it ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad-osd-2 bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 내부에
procps-ng및gdb패키지를 설치합니다.예
dnf install procps-ng gdb
[root@host01 ~]# dnf install procps-ng gdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로세스 ID를 찾습니다.
구문
ps -aef | grep PROCESS | grep -v run
ps -aef | grep PROCESS | grep -v runCopy to Clipboard Copied! Toggle word wrap Toggle overflow PROCESS 를 실행 중인 프로세스의 이름(예:
ceph-mon또는ceph-osd)으로 바꿉니다.예
ps -aef | grep ceph-mon | grep -v run ceph 15390 15266 0 18:54 ? 00:00:29 /usr/bin/ceph-mon --cluster ceph --setroot ceph --setgroup ceph -d -i 5 ceph 18110 17985 1 19:40 ? 00:00:08 /usr/bin/ceph-mon --cluster ceph --setroot ceph --setgroup ceph -d -i 2
[root@host01 ~]# ps -aef | grep ceph-mon | grep -v run ceph 15390 15266 0 18:54 ? 00:00:29 /usr/bin/ceph-mon --cluster ceph --setroot ceph --setgroup ceph -d -i 5 ceph 18110 17985 1 19:40 ? 00:00:08 /usr/bin/ceph-mon --cluster ceph --setroot ceph --setgroup ceph -d -i 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 코어 덤프 파일을 생성합니다.
구문
gcore ID
gcore IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow ID 를 이전 단계에서 가져온 프로세스의 ID로 바꿉니다(예:
18110).예
gcore 18110 warning: target file /proc/18110/cmdline contained unexpected null characters Saved corefile core.18110
[root@host01 ~]# gcore 18110 warning: target file /proc/18110/cmdline contained unexpected null characters Saved corefile core.18110Copy to Clipboard Copied! Toggle word wrap Toggle overflow 코어 덤프 파일이 올바르게 생성되었는지 확인합니다.
예
ls -ltr total 709772 -rw-r--r--. 1 root root 726799544 Mar 18 19:46 core.18110
[root@host01 ~]# ls -ltr total 709772 -rw-r--r--. 1 root root 726799544 Mar 18 19:46 core.18110Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph Monitor 컨테이너 외부에서 코어 덤프 파일을 복사합니다.
구문
podman cp ceph-mon-MONITOR_ID:/tmp/mon.core.MONITOR_PID /tmp
podman cp ceph-mon-MONITOR_ID:/tmp/mon.core.MONITOR_PID /tmpCopy to Clipboard Copied! Toggle word wrap Toggle overflow MONITOR_ID 를 Ceph Monitor의 ID 번호로 바꾸고 MONITOR_PID 를 프로세스 ID 번호로 바꿉니다.
다른 Ceph 데몬의 코어 덤프 파일을 수동으로 캡처하려면 다음을 수행합니다.
cephadm 쉘에로그인합니다.예
cephadm shell
[root@host03 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 데몬의
ptrace를 활성화합니다.예
[ceph: root@host01 /]# ceph config set mgr mgr/cephadm/allow_ptrace true
[ceph: root@host01 /]# ceph config set mgr mgr/cephadm/allow_ptrace trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 데몬 서비스를 재배포합니다.
구문
ceph orch redeploy SERVICE_ID
ceph orch redeploy SERVICE_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
[ceph: root@host01 /]# ceph orch redeploy mgr [ceph: root@host01 /]# ceph orch redeploy rgw.rgw.1
[ceph: root@host01 /]# ceph orch redeploy mgr [ceph: root@host01 /]# ceph orch redeploy rgw.rgw.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm 쉘을 종료하고 데몬이 배포된 호스트에 로그인합니다.예
[ceph: root@host01 /]# exit ssh root@10.0.0.11
[ceph: root@host01 /]# exit [root@host01 ~]# ssh root@10.0.0.11Copy to Clipboard Copied! Toggle word wrap Toggle overflow DAEMON_ID 를 가져와서 컨테이너를 입력합니다.
예
podman ps podman exec -it ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad-rgw-rgw-1-host04 bash
[root@host04 ~]# podman ps [root@host04 ~]# podman exec -it ceph-1ca9f6a8-d036-11ec-8263-fa163ee967ad-rgw-rgw-1-host04 bashCopy to Clipboard Copied! Toggle word wrap Toggle overflow procps-ng및gdb패키지를 설치합니다.예
dnf install procps-ng gdb
[root@host04 /]# dnf install procps-ng gdbCopy to Clipboard Copied! Toggle word wrap Toggle overflow 프로세스의 PID를 가져옵니다.
예
ps aux | grep rados ceph 6 0.3 2.8 5334140 109052 ? Sl May10 5:25 /usr/bin/radosgw -n client.rgw.rgw.1.host04 -f --setuser ceph --setgroup ceph --default-log-to-file=false --default-log-to-stderr=true --default-log-stderr-prefix=debug
[root@host04 /]# ps aux | grep rados ceph 6 0.3 2.8 5334140 109052 ? Sl May10 5:25 /usr/bin/radosgw -n client.rgw.rgw.1.host04 -f --setuser ceph --setgroup ceph --default-log-to-file=false --default-log-to-stderr=true --default-log-stderr-prefix=debugCopy to Clipboard Copied! Toggle word wrap Toggle overflow 코어 덤프 수집:
구문
gcore PID
gcore PIDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 예
gcore 6
[root@host04 /]# gcore 6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 코어 덤프 파일이 올바르게 생성되었는지 확인합니다.
예
ls -ltr total 108798 -rw-r--r--. 1 root root 726799544 Mar 18 19:46 core.6
[root@host04 /]# ls -ltr total 108798 -rw-r--r--. 1 root root 726799544 Mar 18 19:46 core.6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너 외부에서 코어 덤프 파일을 복사합니다.
구문
podman cp ceph-mon-DAEMON_ID:/tmp/mon.core.PID /tmp
podman cp ceph-mon-DAEMON_ID:/tmp/mon.core.PID /tmpCopy to Clipboard Copied! Toggle word wrap Toggle overflow DAEMON_ID 를 Ceph 데몬의 ID 번호로 바꾸고 PID 를 프로세스 ID 번호로 바꿉니다.
- 분석을 위해 코어 덤프 파일을 Red Hat 지원 케이스에 업로드합니다. 자세한 내용은 Red Hat 지원 엔지니어에게 제공되는 정보를 참조하십시오.
부록 A. Ceph 하위 시스템의 기본 로깅 수준 값 링크 복사링크가 클립보드에 복사되었습니다!
다양한 Ceph 하위 시스템에 대한 기본 로깅 수준 값의 표입니다.
| 하위 시스템 | 로그 수준 | 메모리 수준 |
|---|---|---|
|
| 1 | 5 |
|
| 1 | 5 |
|
| 0 | 0 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 0 | 0 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
|
| 1 | 5 |
|
| 1 | 5 |
|
| 0 | 5 |
|
| 0 | 5 |
부록 B. Ceph 클러스터의 상태 메시지 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat Ceph Storage 클러스터에서 발생할 수 있는 제한된 상태 메시지 세트가 있습니다. 이러한 항목은 고유 식별자가 있는 상태 점검으로 정의됩니다. 식별자는 툴에서 상태 점검을 감지하여 의미를 반영하는 방식으로 제공할 수 있도록 하기 위한 의사 사람이 읽을 수 있는 문자열입니다.
| 상태 코드 | 설명 |
|---|---|
|
| 이전 버전의 Ceph가 모든 데몬에서 실행 중인 경우 warn입니다. 여러 버전이 감지되면 상태 오류가 생성됩니다. |
|
| 현재 하나 이상의 Ceph Monitor 데몬이 다운되어 있습니다. |
|
|
|
|
|
|
|
| 하나 이상의 Ceph 모니터가 디스크 공간에서 부족합니다. |
|
| 하나 이상의 Ceph 모니터는 디스크 공간에서 매우 낮습니다. |
|
| 하나 이상의 Ceph 모니터의 데이터베이스 크기는 매우 큽니다. |
|
|
하나 이상의 클라이언트 또는 데몬이 Ceph 모니터에 다시 연결할 때 |
|
|
|
| 상태 코드 | 설명 |
|---|---|
|
| 모든 Ceph Manager 데몬이 현재 다운되어 있습니다. |
|
| 활성화된 Ceph Manager 모듈이 종속성 확인에 실패했습니다. |
|
| Ceph Manager 모듈에 예기치 않은 오류가 발생했습니다. 일반적으로 처리되지 않은 예외가 모듈의 serve 함수에서 발생했음을 의미합니다. |
| 상태 코드 | 설명 |
|---|---|
|
| 하나 이상의 OSD가 down으로 표시됩니다. |
|
| 특정 CRUSH 하위 트리 내의 모든 OSD는 (예: 호스트의 모든 OSD)로 표시됩니다. 예를 들어 OSD_HOST_DOWN 및 OSD_ROOT_DOWN |
|
|
OSD는 CRUSH 맵 계층에서 참조되지만 존재하지 않습니다. |
|
|
nearfull,backfillfull, full 또는 failsafefull 에 대한 사용률 임계값은 오름차순이 아닙니다. |
|
|
하나 이상의 OSD가 전체 임계값을 초과하여 스토리지 클러스터가 쓰기를 서비스하지 못하도록 합니다. 작은 마진 |
|
| 하나 이상의 OSD가 backfillfull 임계값을 초과하여 데이터가 이 장치에 재조정되지 않도록 합니다. |
|
| 하나 이상의 OSD가 거의 전체 임계값을 초과했습니다. |
|
|
하나 이상의 스토리지 클러스터 플래그가 설정되어 있습니다. 이러한 플래그에는 full,pauserd,pausewr,noup,nodown,no out,nobackfill,norecover,norebalance,noscrub,nodeep_scrub, notieragent 가 포함됩니다. 전체 플래그를 제외하고 |
|
| 하나 이상의 OSD 또는 CRUSH에는 관심 있는 플래그가 설정되어 있습니다. 이 플래그에는 noup,nodown, noout 이 포함됩니다. |
|
| CRUSH 맵은 매우 오래된 설정을 사용하므로 업데이트해야 합니다. |
|
|
CRUSH 맵은 스트리트 버킷에 대한 중간 가중치 값을 계산하기 위한 최적화되지 않은 이전 방법을 사용하고 있습니다. |
|
|
하나 이상의 캐시 풀은 사용률을 추적하기 위해 적중으로 구성되지 않아 계층화 에이전트가 콜드 개체를 식별하지 못하고 캐시에서 제거되지 않습니다. |
|
|
|
|
|
하나 이상의 풀이 할당량에 도달했으며 더 이상 쓰기를 허용하지 않습니다. |
|
|
BlueStore 백엔드를 사용하는 하나 이상의 OSD는 db 파티션이 할당되지만 해당 공간은 채워지기 때문에 메타데이터가 일반적인 느린 장치에 "회전"됩니다. |
|
| 이 출력은 BDEV_DB free,BDEV_SLOW free 및 available_from_bluestore 의 세 가지 값을 제공합니다. |
|
|
BlueFS(BlueStore File System)가 사용 가능한 여유 공간에 낮은 상태로 실행되고 있고 |
|
|
BlueStore가 작동하므로 기본 스토리지의 여유 공간이 조각화됩니다. 이는 정상적이고 피할 수 없지만 과도한 조각화는 느려집니다. |
|
|
BlueStore는 풀별로 내부 사용량 통계를 추적하고 하나 이상의 OSD에는 BlueStore 볼륨이 있습니다. |
|
|
BlueStore는 풀별로 omap 공간 사용률을 추적합니다. |
|
|
BlueStore는 PG별 omap 공간 사용률을 추적합니다. |
|
| BlueStore를 사용하는 하나 이상의 OSD는 물리적 장치의 크기와 크기를 추적하는 메타데이터 간의 내부 불일치를 갖습니다. |
|
|
하나 이상의 OSD가 BlueStore 압축 플러그인을 로드할 수 없습니다. 이는 손상된 설치로 인해 |
|
| BlueStore를 사용하는 하나 이상의 OSD는 기본 장치에서 잘못된 읽기 오류를 감지합니다. BlueStore는 디스크 읽기를 재시도하여 이러한 오류에서 복구되었습니다. |
| 상태 코드 | 설명 |
|---|---|
|
|
경고 임계값이 |
|
|
하나 이상의 장치가 곧 실패할 것으로 예상되며 |
|
|
너무 많은 장치가 곧 실패할 것으로 예상되고 |
| 상태 코드 | 설명 |
|---|---|
|
| 데이터 가용성이 감소되므로 스토리지 클러스터가 클러스터의 일부 데이터에 대한 잠재적인 읽기 또는 쓰기 요청을 서비스할 수 없습니다. |
|
| 일부 데이터에 대해 데이터 중복성이 감소합니다. 즉, 스토리지 클러스터에 복제 풀 또는 코드 조각 삭제에 필요한 복제본 수가 없습니다. |
|
|
특히 하나 이상의 PG가 |
|
|
특히 하나 이상의 PG에 |
|
|
데이터 스크러블링은 스토리지 클러스터의 데이터 일관성에 대한 일부 문제를 발견했으며, 특히 하나 이상의 PG가 일관되지 않거나 |
|
| 최근 OSD 스크러브는 불일치를 발견했습니다. |
|
| 읽기 오류가 발생하고 다른 복제본을 사용할 수 있으면 클라이언트가 개체 데이터를 가져올 수 있도록 오류를 즉시 복구하는 데 사용됩니다. |
|
|
하나 이상의 풀에는 |
|
|
캐시 계층 풀은 거의 가득 차 있습니다. |
|
|
스토리지 클러스터에서 사용 중인 PG 수는 OSD |
|
|
하나 이상의 풀은 |
|
|
하나 이상의 풀에는 현재 풀에 저장된 데이터 양에 따라 PG가 더 있어야 합니다. |
|
|
스토리지 클러스터에서 사용 중인 PG 수는 OSD당 |
|
|
하나 이상의 풀에는 현재 풀에 저장된 데이터 양에 따라 PG가 더 있어야 합니다. |
|
|
하나 이상의 풀에는 예상되는 풀 크기를 추정하도록 |
|
|
하나 이상의 풀에는 예상되는 풀 크기를 추정하도록 |
|
|
스토리지 클러스터의 OSD 수는 |
|
|
하나 이상의 풀은 |
|
|
하나 이상의 풀은 전체 스토리지 클러스터 평균보다 훨씬 높은 PG당 평균 오브젝트 수를 갖습니다. 특정 임계값은 |
|
|
하나 이상의 오브젝트가 포함되어 있지만 특정 애플리케이션에서 사용할 수 있도록 태그가 지정되지 않은 풀이 있습니다. |
|
|
하나 이상의 풀이 할당량에 도달했습니다. 이 오류 조건을 트리거하는 임계값은 |
|
|
하나 이상의 풀은 구성된 완전성 임계값에 도달하는 것입니다. |
|
| 스토리지 클러스터에 있는 하나 이상의 오브젝트가 스토리지 클러스터가 저장하려는 노드에 저장되지 않습니다. 이는 최근 스토리지 클러스터 변경 사항이 아직 완료되지 않았기 때문에 데이터 마이그레이션이 완료되었음을 나타냅니다. |
|
| 스토리지 클러스터에서 하나 이상의 오브젝트를 찾을 수 없습니다. 특히 OSD는 개체의 새 복사본 또는 업데이트된 복사본이 있어야 한다는 것을 알지만 해당 오브젝트 버전의 사본은 현재 온라인 상태인 OSD에서 발견되지 않았습니다. |
|
| 하나 이상의 OSD 또는 모니터 요청을 처리하는 데 시간이 오래 걸립니다. 이는 극단적인 로드, 느린 스토리지 장치 또는 소프트웨어 버그의 표시일 수 있습니다. |
|
|
최근에 하나 이상의 PG가 제거되지 않았습니다. PGS는 일반적으로 |
|
|
최근에 하나 이상의 PG가 스크럽되지 않았습니다. |
|
| 하나 이상의 PG에 대한 스냅샷 트리트 큐가 구성된 경고 임계값을 초과했습니다. 이는 최근에 매우 많은 수의 스냅샷이 삭제되었거나 새 스냅샷 삭제 속도를 따라잡을 수 있을 만큼 스냅샷을 빠르게 트리밍할 수 없음을 나타냅니다. |
| 상태 코드 | 설명 |
|---|---|
|
| 최근에 하나 이상의 Ceph 데몬이 충돌했으며 관리자가 아직 충돌하지 않았습니다. |
|
| Telemetry가 활성화되어 있지만 원격 분석 보고서의 내용은 그 이후 변경되어 Telemetry 보고서가 전송되지 않습니다. |
|
|
하나 이상의 인증 사용자에게는 모니터에서 구문 분석할 수 없는 기능이 있습니다. |
|
|
|
|
|
대시보드 디버그 모드가 활성화되어 있습니다. 즉, REST API 요청을 처리하는 동안 오류가 발생하면 HTTP 오류 응답에 Python 역추적이 포함됩니다. |