포시코딩

[MongoDB] sudo systemctl start mongod 반응 없을 때 (Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted) 본문

AWS/EC2

[MongoDB] sudo systemctl start mongod 반응 없을 때 (Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted)

포시 2022. 12. 15. 11:01
728x90

개요

EC2에 Express 서버랑 MongoDB 까지 다 세팅해놓고 잘 시간이 되어 인스턴스 종료 후 

다음날 다시 인스턴스를 재시작하여 나머지 세팅을 진행하였는데

다시 실행한 서버에서 MongoDB 연결을 못하고 있었고

확인해보니 잘되던 MongoDB가 뭔 짓을 해도 켜지질 않았다.

sudo service mongod start
sudo systemctl start mongod

위 명령어 둘다 먹통

아무런 반응도 없이 켜지질 않는다.

따로 에러라도 출력이 되면 좋겠는데 그것도 아니었다.

 

원인 파악

일단 어제까지만해도 잘 켜지는걸 확인했으니 

하룻밤사이 뭔가 바뀐게 있어 안되는 것이 확실시 되는 상황.

 

그 사이에 내가 했던 것들을 되돌아보면 pm2를 깔기 위해 sudo -s를 통해 

관리자 계정으로 전환할 일이 있었다.

 

예전에 리눅스 서버를 다루며 관리자 계정으로 전환하면

뜬금없이 어떤 파일들이 관리자 권한으로 넘어가는 일을 겪어봤던 나는 권한 문제가 의심됐지만

어떤 파일의 어떤 권한 상태가 문제인지 찾아야 하는게 과제였다.

 

그렇게 계속 여러 키워드로 구글링을 하던 중

한 블로그에서 MongoDB의 log 파일을 여는 방법을 통해 원인을 파악하는걸 확인. 

나도 바로 확인해봤다.

sudo tail /var/log/mongodb/mongod.log

tail 명령어는 마지막 10줄을 출력한다.

역시 내가 MongoDB 서비스 실행을 시도한 시간에 로그가 찍히고 있었다.

처음엔 어떻게 봐야하는지 몰라 한줄한줄 검색해보다가 발견했다.

 

Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted

 

not permitted. 즉, 허용되지 않음. 이거다!

 

해결 방법

위에서 찾은 로그 내용을 바탕으로 구글링을 했더니 감사하게도 비슷한 상황에서 해결한 블로그 포스팅이 있었다.

이분도 마찬가지로 잘 서비스중이던 MongoDB 프로세스에 문제가 생긴거였다.

 

원인은 mongodb-27017.sock 파일에 설정된 접근권한이 MongoDB에게 허용되지 않아서였고

해결방법으론 mongodb-27017.sock 파일의 접근 권한을 변경하거나 파일을 삭제한 후 

서비스를 재시작 하면 되는거였기에 나는 후자의 방법을 택했다.

rm -rf는 위험한 명령어니 삭제할 파일에 대해 철저히 확인 후 진행하자

삭제 후 다시 실행한 결과 이렇게 active (running)이 되는 것을 볼 수 있었다. 해결!!

 

느낀점

처음엔 당황해서 주위에 물어봐야하나 싶었는데

냉정하게 예전 경험을 떠올리고 log 파일을 찾아 분석을 통해 해결까지 하니까

오랜만에 너무 뿌듯했고 스스로도 성장하는걸 느낄 수 있는 시간이었다.

제목에 일부러 비슷한 상황인 사람들이 검색하다 걸리게 최대한 길게 써놨는데 이 글을 보고 도움이 됐음 좋겠다.

 

 

결정적 도움을 받은 곳들

https://doogle.link/%EB%AA%BD%EA%B3%A0%EB%94%94%EB%B9%84-%EC%84%9C%EB%B2%84%EA%B0%80-%EA%B5%AC%EB%8F%99%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0%ED%95%98%EA%B8%B0/

 

몽고디비 서버가 구동되지 않는 오류 해결하기 | 두글 블로그

개발중인 프로젝트에 도커를 도입하려고 하는데 몽고디비까지 추가해보려고 하다가 원래대로 되돌리려는 중 오류가 발생했습니다. 몽고디비를 아래과 같이 시작해보면 아무런 반응이 없네요.

doogle.link

https://spiralmoon.tistory.com/entry/MongoDB-tmpmongodb-27017sock-error-operation-not-permitted

 

[MongoDB] /tmp/mongodb-27017.sock error operation not permitted

/tmp/mongodb-27017.sock error operation not permitted 서비스중이던 mongodb 프로세스가 갑자기 권한 오류로 다운되었다. 에러 로그 Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error

spiralmoon.tistory.com

728x90