我有一个Debian 6 Xen客户,似乎不时睡觉。 随机地,它只是停止回答任何networking请求(HTTP,ssh,ping),并且只在我们login控制台时恢复活动。 服务器显然不会崩溃,但是在这个hibernate时间内没有任何活动发生,即使所有的日志(syslogd和klogd)在这段时间都保持空白。
根据什么时候发生,什么时候我们可以真正login控制台,几分钟,但有时甚至一个小时可以花在这种模式。 这种行为不规则地发生,大约每月一次,随机发生。
我没有访问控制台,也没有自己的Xen主机,但托pipe公司的支持团队说没有显示任何可疑的东西。 他们说这是他们在基础设施上展示这种行为的唯一的客人。
客户端运行由主机公司编译的Linux 2.6.29.6内核,具有2个核心,4GB的RAM和2GB的交换。 5分钟的平均负载不低(在2到3之间,峰值高达5),但是交换活动低(swapin / swapout)和交换空间几乎不用。 日志中没有发现内核消息,也没有在dmesg输出中发现内核消息。
这台服务器运行正常的Apache + mod_php和proftpd,真的没什么奇特的。 AFAICT我们没有调整内核的任何时钟相关参数(但是我不知道如何检查内核设置,如果节能模式或时钟步进被激活或不)。
在问题来自哪里,我们正在寻找线索。
编辑:我已经运行find /var -mmin -beforeevent -mmin +afterevent来查找上次服务器挂起时所修改的任何文件,并且报告的所有查找文件都是在事件之前或之后修改的文件,但两者之间什么都没有,即使是一小时的长时间的挂起。 这台服务器只有一个分区,所以不是只有包含/ var的磁盘停机。
我也有其他主机在同一个子网,都看到这台服务器处于脱机状态:snmp轮询失败,没有任何请求login在睡眠服务器上运行的任何PHP应用程序的数据库主机。
我们也试着设置一些cronjob来做连续的活动(比如连续ping一些其他的主机),这并没有阻止这个服务器进入这个睡眠模式。
对于它的价值,我怀疑这个问题与VM中没有使用ntp有关。 VM时间偏离主机时间,可能导致服务器进入睡眠模式。
安装和使用ntpd后,我没有其他类似的事件。 但是,我没有这个确切的服务器,并没有运行ntp很长一段时间(只有2或3个月)。 因此,我不能说这是解决这个问题的根本原因。