我遇到了一个相当奇怪的问题。我的 dovecot 守护进程有时会死机,当主机仍在运行时我无法接收/发送电子邮件。当我尝试通过 SSH 进入服务器查看发生了什么时,我发现 SSH 也死机了。
重启服务器后一切正常。我发现了以下问题:
cron.daily
该问题与和有某种关联rsyslog
。通过查看几个不同的 syslog 文件,我在每个 syslog 文件的最后一行看到以下行为:
系统日志.3:
Jan 10 07:35:02 hostname anacron[11427]: Job `cron.daily' started
Jan 10 07:35:02 hostname anacron[11584]: Updated timestamp for job `cron.daily' to 2014-01-10
Jan 10 07:35:03 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1954" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
系统日志.2:
Jan 11 07:35:02 hostname anacron[788]: Job `cron.daily' started
Jan 11 07:35:02 hostname anacron[901]: Updated timestamp for job `cron.daily' to 2014-01-11
Jan 11 07:35:02 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1954" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
系统日志.1(当进程挂起时):
Jan 12 07:35:01 hostname anacron[21678]: Job `cron.daily' started
Jan 12 07:35:01 hostname anacron[21806]: Updated timestamp for job `cron.daily' to 2014-01-12
似乎就在问题rsyslogd
发生之前,它被调用了,但由于某种原因没有运行。后来,尝试写入系统日志的进程(例如 dovecot 和 ssh)无法执行此操作,因此挂起了。
您对如何解决此问题有什么建议吗?
系统正在运行:
Linux hostname 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux
rsyslogd 5.8.11, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic operations supported: Yes
64bit Atomic operations supported: Yes
Runtime Instrumentation (slow code): No
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
dovecot 2.1.7
答案1
我们在 RHEL 6.5 机器上安装了 syslog-ng 以改进某些功能后,就开始出现此问题。为了修复此问题,我们使用 chkconfig 禁用了 rsyslogd。如果您已登录到服务器,则应该很容易修复。我们现在正在对此进行根本原因分析。
bash$ chkconfig rsyslog off
bash$ chkconfig |grep rsyslog
~~~
rsyslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bash$ service rsyslog stop