ec2 인스턴스에 mongodb를 설치하여 브로드보드 웹의 데이터베이스로 사용 중. 웹 서버는 다른 ec2 상에서 사용 중.
그리고 현재 인스턴스 상태검사에서 연결성 검사 실패 오류가 뜨는 문제 발생.
브로드보드의 데이터베이스로 사용중이던 ec2 인스턴스에 연결 할 수없는 문제 발생..!
- ssh 연결 시
ssh: connect to host 15.164.214.224 port 22: Connection timed out
오류 발생
ec2 인스턴스의 시스템 로그
상태 검사 오류
ROBO-3T 연결 시 오류
Network is unreachable. Reason: couldn't connect to server 15.164.214.224:27017, connection attempt failed: NetworkTimeout: Error connecting to 15.164.214.224:27017 :: caused by :: Socket operation timed out
https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-linux-resolve-ssh-connection-errors/
-> 서버에 클라이언트에 응답하지않는 문제
1. 보안그룹에 22범위 추가 되어있음
2. 호스트 있음
- 인스턴스 재부팅하기
변화없다가 시간 지나서 해결!! 5분 정도 기다려야함.
- 필요없는 파일 삭제 시도
- mongodb 실행 시도
뭘해도 이 오류가 뜨면서 명령어가 하나도 먹질 않는 오류 발생
- 응용 프로그램이 차지하는 스레드 수가 제한을 초과했기 때문에 발생하는 문제
- 운 좋게 명령어를 잘못 쳤는데 아래와 같은 오류가 떠서 문제를 알 수 있었음
cannot create temp file for here-document: No space left on device
- 근데 그냥
Resource temporarily unavailable
이것만 검색해도 원인을 알 수 있던 문제..
그리고 안 보이던 것들이 보이기 시작하는데..
99.8% 사용중..
비슷한 문제를 겪은 사람의 글
https://nunubuff.com/blog/ec2-ami-redash-disc-full/
$ sudo du -msh /* | sort -nr
이 명령어로 용량을 가장 많이 사용하고 있는 곳이 어디인지 찾아보니
오 봐도 모르겠다 차차 알아봐야겠다.
암튼 var 디렉토리가 4기가나 차지하고 있으니
/var/log/journal 에 저장된 저널의 용량을 삭제하기로 했다.
난 간이 작기 때문에
3일 이전의 항목을 여러번 삭제 하기로 했다..
sudo journalctl --vacuum-time=3d
한 10번 정도 명령어를 실행한 뒤 reboot를 했다.
결과는 굳! 67.7%로 줄였다. (아래는 도커랑 필요없는 파일도 모두 삭제한 모습이다)
mongodb도 정상적으로 실행할 수 있고 브로드보드에서도 정상적으로 데이터들을 확인할 수 있었다.