7장. Ceph 배치 그룹 문제 해결
이 섹션에서는 Ceph PG(배치 그룹)와 관련된 가장 일반적인 오류를 수정하는 방법에 대해 설명합니다.
사전 요구 사항
- 네트워크 연결을 확인합니다.
- 모니터가 쿼럼을 구성할 수 있는지 확인합니다.
-
정상적인 모든 OSD가
up
및in
이고 백필링 및 복구 프로세스가 완료되었는지 확인합니다.
7.1. 가장 일반적인 Ceph 배치 그룹 오류 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에는 ceph health detail
명령에서 반환하는 가장 일반적인 오류 메시지가 나와 있습니다. 이 표에서는 오류를 설명하고 문제를 해결하기 위해 특정 절차를 가리키는 해당 섹션에 대한 링크를 제공합니다.
또한 최적이 아닌 상태로 고정되는 배치 그룹을 나열할 수 있습니다. 자세한 내용은 7.2절. “오래된
,비활성 상태
또는 불명확한 상태로 설정된 배치 그룹 나열 ” 을 참조하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 실행 중인 Ceph 오브젝트 게이트웨이.
7.1.1. 배치 그룹 오류 메시지 링크 복사링크가 클립보드에 복사되었습니다!
공통 배치 그룹 오류 메시지 및 잠재적인 수정으로 구성된 테이블입니다.
오류 메시지 | 참조 |
---|---|
| |
| |
| |
| |
| |
| |
|
7.1.2. 오래된 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
ceph 상태
명령은 일부 PG(배치 그룹)를 오래된
상태로 나열합니다.
HEALTH_WARN 24 pgs stale; 3/300 in osds are down
HEALTH_WARN 24 pgs stale; 3/300 in osds are down
이 의미는 무엇입니까?
모니터는 배치 그룹의 작동 세트의 기본 OSD에서 상태 업데이트를 받지 못하거나 기본 OSD가 다운
된 것으로 보고되는 경우 배치 그룹을 오래된
것으로 표시합니다.
일반적으로 스토리지 클러스터를 시작한 후 피어링 프로세스가 완료될 때까지 PG가 오래된
상태로 들어갑니다. 그러나 PG가 예상보다 오래
유지되는 경우 해당 PG의 기본 OSD가 다운
되었거나 PG 통계를 모니터에 보고하지 않음을 나타낼 수 있습니다. 오래된
PG를 저장하는 기본 OSD가 백업
되면 Ceph가 PG를 복구하기 시작합니다.
mon_osd_report_timeout
설정은 OSD가 모니터에 PGs 통계를 보고하는 빈도를 결정합니다. 기본적으로 이 매개변수는 0.5
로 설정되어 있습니다. 즉, OSD는 절반마다 통계를 보고합니다.
문제 해결 방법
오래된
PG와 해당 OSD가 저장되는 PG를 식별합니다. 오류 메시지에는 다음 예와 유사한 정보가 포함됩니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
아래로
표시된 OSD의 문제를 해결합니다. 자세한 내용은 Down OSDs 를 참조하십시오.
7.1.3. 일관되지 않은 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
일부 배치 그룹은 활성 + clean + 불일치
로 표시되고 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 shell
Copy 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 errors
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 배치 그룹이
일관성이 없는
이유를 확인합니다.배치 그룹에서 딥 검사 프로세스를 시작합니다.
구문
ceph pg deep-scrub ID
ceph pg deep-scrub ID
Copy 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-scrub
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph -w
의 출력에서 해당 배치 그룹과 관련된 메시지를 검색합니다.구문
ceph -w | grep ID
ceph -w | grep ID
Copy 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 errors
Copy 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 DIGEST
Copy 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 DIGEST
Copy 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 구성 파일의 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 tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - OSD의 문제를 해결하고 해결합니다. 자세한 내용은 Down OSD 를 참조하십시오.
7.1.5. 비활성 배치 그룹 링크 복사링크가 클립보드에 복사되었습니다!
ceph health
명령은 다음과 유사한 오류 메시지를 반환합니다.
HEALTH_WARN 197 pgs stuck inactive
HEALTH_WARN 197 pgs stuck inactive
이 의미는 무엇입니까?
Ceph 구성 파일의 mon_pg_stuck_threshold
매개변수에 지정된 초 동안 활성화되지 않은 경우 배치 그룹을 비활성
으로 표시합니다. mon_pg_stuck_threshold
의 기본값은 300
초입니다.
일반적으로 비활성
배치 그룹은 일부 OSD가 다운
될 수 있음을 나타냅니다.
문제 해결 방법
어떤 OSD가
다운
되었는지 확인합니다.ceph osd tree
# ceph osd tree
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - OSD의 문제를 해결하고 해결합니다.
추가 리소스
- 오래된 비활성 상태 또는 불명확 상태가 된 배치 그룹 나열
- 자세한 내용은 Down OSD 를 참조하십시오.
7.1.6. 배치 그룹이 다운됨 링크 복사링크가 클립보드에 복사되었습니다!
ceph 상태 세부 정보
명령은 일부 배치 그룹이 다운
되었음을 보고합니다.
이 의미는 무엇입니까?
특정 경우에는 피어링 프로세스를 차단하여 배치 그룹이 활성 상태가 되지 않도록 할 수 있습니다. 일반적으로 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는 이러한 오브젝트를 복구할 수 없으며 복구 프로세스를 진행할 수 없습니다.
예시 설명
배치 그룹은 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 shell
Copy 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 query
Copy to Clipboard Copied! Toggle word wrap Toggle overflow unfound
오브젝트가 포함된 배치 그룹의ID
로 ID를 바꿉니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow might_have_unfound
섹션에는 Ceph가unfound
오브젝트를 찾으려고 하는 OSD가 포함되어 있습니다.-
이미 프로브된
상태는 Ceph가 해당 OSD에서unfound
오브젝트를 찾을 수 없음을 나타냅니다. -
osd is down
상태는 Ceph가 해당 OSD에 연결할 수 없음을 나타냅니다.
-
-
아래로
표시된 OSD의 문제를 해결합니다. 자세한 내용은 Down OSD 를 참조하십시오. -
OSD를 중단하는 문제를 해결할 수 없는 경우 지원 티켓을 엽니다.
자세한 내용은 Red Hat 지원 팀에 문의하십시오.