정상적으로 잘 운영되던 gitlab 서비스가 간헐적으로 500error를 뿜는다.
(도커로 운영중)
결론부터 말하자면 /dev/shm 용량이 부족함
해결한 방법은 아래
간헐적인 에러가(에러를 500으로 한정하지 않고) 발생한다는건 경험상으로
1.네임서버 변경시 전파가 제대로 안돼서 정상호스트/비정상호스트 번갈아가면서 가질 때
2.용량이 가득 찼을 때
3.서버내 리소스 가득 찼을 때(트래픽 등, ip conttrack등)
4.원래는 계속 에러나야하는데 정상으로 온 응답에 캐쉬가 남아있어서 정상/비정상 간헐적으로 나온다고 느끼는경우
등이 있을 수 있겠다.
이번 gitlab 간헐적 500 error 처리한 방법은 아래와 같다.
네임서버 변경작업을 요 근래 해서 혹시 실수가 있었나 싶어 체크했으나 문제 없음
서버내 용량 확인 했으나 여유 많음
서버 부하 전혀 없음
간헐적으로 발생하는것 맞음(화요일 아침 출근하고 약 7시간 정상 서비스 운영됨)
gitlab-ctl status tail 하는데 로그가 너~~~무 많이 나와서 확인 불가
gitlab 로그 디렉토리 가서 보는데 엔진엑스 에러로그는 안찍히고.. 그외에 같이 올라오는 서비스가 너무 많아서 뭘 봐야 할지 감이 안옴
서버내 message 로그 보니
7250550 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_master-1.db failed with unmapped file
7250551 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_master-1.db failed with unmapped file
7250552 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_master-1.db failed with unmapped file
7250553 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_master-1.db failed with unmapped file
7250554 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_22-1.db failed with unmapped file
7250555 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_22-1.db failed with unmapped file
7250556 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_22-1.db failed with unmapped file
7250557 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_22-1.db failed with unmapped file
7250558 Aug 17 16:29:57 intra1 journal: writing value to /dev/shm/gitlab/puma/histogram_puma_22-1.db failed with unmapped file
/dev/shm 에 매핑이 안된다?
df -h 해서 다시 자세히 보니 /dev/shm쪽에 100프로 가득찬게 있었다.
shm 64M 64M 0M 100% /home/docker/containers/156031a474f3b85b848c3c7e45ce190559fac145851f123b71e4b3670105b823/shm
[root@intra1 log]# docker ps | grep git
156031a474f3 gitlab/gitlab-ee:13.0.10-ee.0 "/assets/wrapper" 18 minutes ago Up 18 minutes (healthy) 0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp compose.gitlab.sdfsf.com
컨테이너 아이디 보니까 깃랩.
13 ports: [
14 "443:443",
15 "80:80",
16 "22:22"
17 ]
18 #image: gitlab/gitlab-ce:13.0.0-ce.0
19 image: gitlab/gitlab-ee:13.0.10-ee.0
20 shm_size: '512mb'
위와같이 shm 사이즈 512로 늘려주고 컴포즈 재시작하고 조치 완료