pg inconsistent

ceph 상태 갑작스런 오류
[root@ceph-6-11 ~]# ceph health detail
HEALTH_ERR 1 pgs inconsistent; 1 scrub errors;
pg 2.37c is active+clean+inconsistent, acting [75,6,35]
1 scrub errors
오류 메시지 요약:
문제 PG: 2.37c
OSD 번호: 75,6,35
일반 수정 작업을 수행하려면 다음과 같이 하십시오.
ceph pg 수리 2.37c 이 때 osd 노드 각각 리셋 새 분배 pg remap 잠시 후 복구 ok
수정 결과가 제대로 표시되지 않은 경우:
[root@ceph-6-11 ~]# ceph health detail
HEALTH_ERR 1 pgs inconsistent; 1 scrub errors
pg 2.37c is active+clean+inconsistent, acting [75,6,35]
1 scrub errors
문제가 여전히 존재하고 이상 pg가 복구되지 않았습니다.
다음을 수행합니다.
pg 그룹을 지우려면 명령을 실행합니다.
ceph pg scrub 2.37c
ceph pg deep-scrub 2.37c
ceph pg repair 2.37c
위의 명령이 실행된 후 복구되지 않았습니다. 위의 오류를 보고합니다. 관련 osd 로그를 보면 다음과 같습니다.
2017-07-24 17:31:10.585305 7f72893c4700 0 log_channel(cluster) log [INF] : 2.37c repair starts
2017-07-24 17:31:10.710517 7f72893c4700 -1 log_channel(cluster) log [ERR] : 2.37c repair 1 errors, 0 fixed
pg 설정의 세 개의 osd를 복구하기로 결정하고 다음과 같은 명령을 실행합니다.
ceph osd repair 75
ceph osd repair 6
ceph osd repair 35
마지막으로 가장 난폭한 방법으로 해결하기로 결정했습니다. 문제가 있는 pg가 사용하는 주 osd75를 닫습니다.
pg 사용 주 osd 정보 조회
ceph pg 2.37c query |grep primary
            "blocked_by": [],

            "up_primary": 75,

            "acting_primary": 75

다음 작업을 수행합니다.
systemctl stop ceph-osd@75
이 때ceph는 데이터 복구를 시작하고osd75 위의 데이터를 다른 노드에서 복구합니다. 일정 시간을 기다리면 데이터가 굴러가는 것을 발견하고 명령을 실행하여 집단 상태를 보십시오.
[root@ceph-6-11 ~]# ceph health detail
HEALTH_ERR 1 pgs inconsistent; 1 scrub errors
pg 2.37c is active+clean+inconsistent, acting [8,38,17]
1 scrub errors
[root@ceph-6-11 ~]# ceph pg repair 2.37c
instructing pg 2.37c on osd.8 to repair
클러스터 상태를 보려면 다음과 같이 하십시오.
[root@ceph-6-11 ~]# ceph health detail
HEALTH_OK

좋은 웹페이지 즐겨찾기