我有一个 Debian 6 Xen 客户机,它似乎时不时会进入睡眠状态。随机地,它只是停止响应任何网络请求(HTTP、ssh、ping),并且仅在我们登录控制台时才恢复活动。服务器显然没有崩溃,但是在此休眠期间没有任何活动发生,甚至所有日志(syslogd 和 klogd)在此期间都保持空白。
根据它发生的时间以及我们何时可以实际登录控制台,可能需要几分钟但有时甚至一个小时才能进入此模式。这种行为不定期发生,大约每月一次,随机发生。
我自己无法访问控制台或 Xen 主机,但托管公司的支持团队表示没有显示任何可疑内容。他们说这是他们基础设施中唯一表现出这种行为的客人。
来宾运行由托管公司编译的 linux 2.6.29.6 内核,具有 2 个内核、4 GB RAM 和 2 GB 交换空间。5 分钟的平均负载不低(在 2 到 3 之间,峰值高达 5),但是交换活动很低(swapin/swapout)并且几乎没有使用交换空间。日志中和 dmesg 输出中都没有发现内核消息。
该服务器运行常规的 apache + mod_php 和 proftpd,真的没什么特别的。AFAICT 我们没有调整内核的任何时钟相关参数(但是我不确定如果节能模式或时钟步进是否激活,我如何检查内核设置)。
关于问题的来源,我们已经没有线索了。
编辑:我find /var -mmin -beforeevent -mmin +afterevent
试图找到在上次服务器挂起期间被修改的任何文件,所有发现的报告都是在事件之前或之后修改的文件,但两者之间没有任何内容,即使是 1 小时长挂。该服务器只有一个分区,所以它不像只有包含 /var 的磁盘已关闭。
我在同一个子网上还有其他主机,并且都认为该服务器处于脱机状态:snmp 轮询失败,并且在睡眠服务器上运行的任何 PHP 应用程序都没有请求记录到数据库主机上。
我们还尝试设置一些 cronjob 来进行连续活动(比如连续 ping 其他主机),这并没有阻止该服务器进入此睡眠模式。
对于它的价值,我怀疑这个问题与虚拟机中没有使用 ntp有关。VM 时间偏离主机时间,可能导致服务器进入睡眠模式。
安装和使用 ntpd 后,我没有其他类似事件。但是,我不再拥有这个确切的服务器,并且很长一段时间(只有 2 或 3 个月)没有在启用 ntp 的情况下运行。因此,我不能说这是解决这个问题的原因。