정상적으로 잘 운영되던 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로 늘려주고 컴포즈 재시작하고 조치 완료

 

 

재택근무가 길어짐에따라 site to client 의 SSL-VPN 구성이 필요해졌다.

 

직원별로 접속 계정을 하나하나 생성할수도 없는노릇이고. 내가 지금 다니는 회사는 구글 워크스페이스로 업무를 하고 있다. 따라서 Single sign on 기능으로 구글 워크스페이스와 연동해보려한다.

 

fortigate 100E의 SSL-VPN 설정 화면이다. 설정하기에 앞서 간략히 SSL-VPN에 대해 설명을 하자면

SSL 프로토콜을 이용하여 VPN을 구성하는데. 클라이언트(즉 재택하는 직원)는 별도의 프로그램이 필요 없고 웹 브라우저만 있으면 VPN 접속을 할 수 있기에 굉장히 편리하다. 

SSL-VPN portals 는 클라이언트가 SSL-VPN으로 연결되어 보여질 웹페이지의 레이아웃과 사용자에게 할당 될 IP 대역을 설정하는 메뉴이다.
web-access mode : 포티장비가 

상황

사내 제공되는 개인 PC는macbook pro(mbp)이며 테스트 기기로도 mac mini, iphone, ipad 등 지급됨

 

발생하는 문제

하나하나 관리하기가 너무 어렵다.. 예를들어 각 팀별 설치해줘야 할 앱이 있을텐데 하나하나 설치해줄수도 없다. 물론 그냥 초기화해놓은 기기를 주고 팀에서 알아서 하라 할 수도 있지만... 기왕이면 중앙에서 관리하는게 더 좋다. 보안상의 이유로도 그렇고(불필요한 앱 설치 못하도록 설정등)
무엇보다 해당 기기에 직원이 로그인을 해두고 퇴사를 하면. 해당 기기는 퇴사한 직원의 소유로 보기 때문에(애플에서)해당 기기는 벽돌이 된다. 초기화를 해도 로그인은 안풀린다. 나의기기 찾기 ? 뭐 그런거 때문에. 

위의 상황들등으로 애플에서는 apple business manager(또는 학교전용apple school manager)을 제공하고 있는데. 이것들만 가지고는 제대로된 기능을 사용할 수 없다. 여기에 모바일 디바이스 메니져라는 MDM을 같이 사용해야 한다.

근데 이게 금액이 싸지 않다. 그래서 오픈소스(무료)로 할만한건 없나 찾아봤는데. osx server로 프로파일을 관리하고 계정 초기화도 할수있고 그런것같다. 

 

https://support.apple.com/ko-kr/guide/profile-manager/pm9cz84lqi/5.11/mac/11.0

 

프로파일 관리 개요

프로파일 관리를 사용하여 조직, 학교 또는 회사에 있는 Apple 기기에 설정을 구성하고 배포합니다.

support.apple.com

 

https://help.apple.com/serverapp/mac/5.0/?lang=ko#/apdA7FC4B2C-DB46-4A9C-BCF6-E6857B39E6C3 

 

https://help.apple.com/serverapp/mac/5.0/?lang=ko#/apdA7FC4B2C-DB46-4A9C-BCF6-E6857B39E6C3

To see this page, you must enable JavaScript. Pour afficher cette page, vous devez activer JavaScript. Zur Anzeige dieser Seite müssen Sie JavaScript aktivieren. このページを表示するには、JavaScript を有効にする必要があります。

help.apple.com

 

각각 간략한 사용법과 자세한 사용법

전부 읽어보고 구축해볼생각이다. 후기 및 사용법은 주기적으로 업데이트하기

 

abm - abm에 기기를 등록한다. 즉 해당 기기가 개인의 소유가 아닌 abm에 가입한 회사의 소유임을 입증한다.
ㄴabm은 apple business manager로 회사계정으로 여기에 가입 해야 함. 아주 간단한 기기 컨트롤까지 가능함

mdm - 기기 컨트롤하는게 mdm

 

apple configurater2
ㄴabm에 등록하기 위한 수단

macosserver-profile manager

ㄴmdm 

 

 

아이패드를 apple configurater2 를 통해 ABM에 등록
ㄴ아이패드 초기화해야 함
ㄴ만약 아이패드에 애플 로그인 돼 있으면 아이디/패스워드 알아야 함

macos server 와 ABM 연동

 

macos server의 프로파일 매니져를 통해 아이패드 컨트롤 

 

 

 

유료 jampnow인지 뭔지 보다는 완벽한 컨트롤이 되진 않지만. 그래도 이정도면 나름 만족이다.

ios 기기 벽돌 방지도 성공했고
ios/osx 별로 기기그룹을 나눈뒤 프로파일 설치하여 VPN구성, wifi 구성, 기기별 설정, 패스워드 삭제, 패스워드 설정, 분실설정등이 가능해졌다.

  1. 익명 2021.12.21 16:51

    비밀댓글입니다

+ Recent posts