2015.09.30 17:11
sendmail이 작동하지 않는 경우는 주로 2가지 입니다.
1. 시스템의 Load Average가 높아져 sendmail이 작동하지 않는 경우
sendmail 은 기본적으로 시스템의 Load Average 수치가 12를 초과하는 상황이 오면 자동으로 작동을 멈추게게 되는데 이는 sendmail이 DoS 공격 등으로 전체적인 시스템의 부하가 높아졌을 때 sendmail 로 인하여 시스템 전체가 다운되는 결과를 예방하기 위한 설정입니다.
이 값을 수정하려면 sendmail.cf 의
# load average at which we refuse connections O RefuseLA=12
값을 재설정 하고 난 후에 senmail 프로세스를 재실행해 주면 됩니다. 위 값은 운영하시는 시스템에 따라 적절히 설정하면 됩니다. 만약 시스템의 특성 상 언제나 부하가 높아 Load Average가 12를 초과하는 일이 잦다면 이 값을 운영하시는 시스템 조건에 맞게 적절히 조절하여야 예상치못한 작동 정지 없이 외부에서 오는 메일을 원활히 받을 수 있게 됩니다.
2. 받는 메일이 저장되는 /var 파티션이 100%가 되었을 경우
메일이 저장되는 위치인 /var/spool/mail 파티션이 가득 차는 경우에도 sendmail 이 작동하지 않게 됩니다. 해당 파티션이 가득 찼을 경우에는 /var/log/ 등에서 불필요하다고ㅇ각되는 데이터를 적절히 삭제하여 /var/spool/mail 이 있는 해당 파티션이 100% 를 넘지 않도록 조치해야 합니다. 이러한 정리를 통해 파티션이 100%가 넘지 않으면 sendmail은 자동으로 되돌아오게 되며 정상작동을 하기 시작하게 됩니다.
더불어, 시스템의 Load Average 가 8을 넘으면 해당 서버를 통해 메일을 발송할 때 바로 전송되지 않고 먼저 서버의 메일 큐에 저장부터 된 후에 발송이 됩니다. 이 현상 역시 같은 이유 때문인데 이 수치는 sendmail.cf 의
# load average at which we just queue messages O QueueLA=8
에서 적절한 값을 부여하면 해결할 수 있게 됩니다.