Troubleshooting

[Apache]: No space left on device: AH00023 해결

cwchoiit 2023. 10. 3. 19:23
728x90
반응형
SMALL
728x90
반응형
SMALL

회사 JIRA, Confluence 서비스를 관리하고 있는데 어느날 서버가 내려가 있길래 확인해보니 이런 에러가 발생했었다.

No space left on device: AH00023 ...(생략)

일단 여유 공간이 없다는 에러인 거 같은데 왜?

 

우선 아래 명령어로 상태를 확인해봤다.

systemctl status httpd.service

별 내용 없고 아래 명령어를 실행해봐도 별 내용이 없었다.

journalctl -xe

 

일단 httpd.conf 파일에 Syntax 문제가 없는지 확인을 하기 위해 다음 명령어를 실행했다.

apachectl configtest

문제가 없다면 Syntax OK라는 결과가 나와야한다. 당연히 나온다. 파일 수정은 내가 안했으니까.

 

 

이럴 땐 아파치 로그를 봐야한다. 나 같은 경우 로그 경로는 아래와 같다.

/var/log/httpd/error_log

여기서 이제 이 페이지의 에러 내용인 아래 내용이 나왔다.

No space left on device: AH00023 ...(생략)

 

뭔지 알아내기 위해 또 서치!

결과는 다음과 같다:

"Semaphore"라는 프로세스가 생성되었다가 없어지지 않아서...?

엄밀히 말하면, "Semaphore" 프로세스 생성 가능한 숫자를 이미 초과해서(No space left on device)

apache(httpd)가 시작시 새로운 "Semaphore"를 생성하지 못하면서 apache(httpd) 실행이 안된다고 한다.

이건, "Semaphore"가 아파치의 여러 프로세스간 데이타 동기화를 위해 필요한데..

apache(httpd)가 비정상적으로 종료될때 이미 생성된 "Semaphore"를 초기화 되지 못해 그렇다고 한다.

 

그래서 해당 프로세스가 얼마나 있는지 다음 명령어로 확인을 해보자.

ipcs -s | wc -l

132개가 있다고 한다. 

 

이거 최대 가능 수를 확인해보자.

ipcs -ls

최대 128개가 가능하다고 나온다. 그래서 안되는건가 보다.

그래서 현재 생성되어 있는 걸 다 죽여버렸다. 

ipcrm -a

다시 몇 개 있는지 확인!

ipcs -s | wc -l

4개가 있다고 나온다.

 

아파치를 다시 실행해보니 정상적으로 실행됐다. 어렵다 ..

728x90
반응형
LIST