从 15.04 升级到 Ubuntu 15.10 后,EC2 Web 服务器崩溃

从 15.04 升级到 Ubuntu 15.10 后,EC2 Web 服务器崩溃

我在 EC2 上生产运行着多台 Ubuntu 机器,其中约有 30 台从 15.04 升级到了 15.10。大多数机器的升级都很顺利,没有出现任何问题。

然而,在升级到 15.10 后,我的 10 个 Web 服务器立即开始崩溃。至于“崩溃”的具体定义,实例状态检查失败,我无法再通过 SSH 连接到机器。系统上运行的后台守护程序停止响应,并且日志中没有任何内容。我在一台机器上看到的最新日志条目显示:

/var/log/syslog:Dec 18 00:28:58 xxx-web-4a dhclient: DHCPREQUEST of 10.xxx.xxx.104 on eth0 to 10.xxx.xxx.1 port 67 (xid=0x616a091d)
/var/log/syslog:Dec 18 00:28:58 xxx-web-4a dhclient: DHCPACK of 10.xxx.xxx.104 from 10.xxx.xxx.1
/var/log/syslog:Dec 18 00:28:58 xxx-web-4a dhclient: bound to 10.xxx.xxx.104 -- renewal in 1640 seconds.

但是我的实例状态检查直到(当几个检查中的第一个未能响应时)才开始失败00:32:00。在上述条目之后的一段时间内,日志中绝对没有任何内容。

现在,就像我说的,我的其他 20 个 15.10 实例在升级后的 6 个多星期里从未崩溃过,只有这组网络服务器,它们都崩溃了。那么,这些机器有什么不同?实际上只有两点。

  1. 它们是我流量最高的 15.10 个实例,平均发送和接收速度约为 5-10Mb/秒,有时峰值达到 30-40 以上。
  2. c4.xlarge它们是我仅有的或类型的实例m4.xlarge。最初,它们都是c4.xlarge,但我将它们替换为m4.xlarge以尝试隔离问题。 似乎 出现的频率较低m4.xlarge,但我仍然看到 10 个 Web 服务器之间每天有 3 或 4 次左右崩溃。通常,我看到每个实例每天至少崩溃一次,似乎是随机的。

这些实例运行的是 Apache 2.4.x、mod_php 5.6.11 和 memcached 1.4.24,但我还有其他机器在较小的实例类型上接收流量较少,但非常稳定。

不确定是否相关,但所有这些机器都会出现周期性ifquery段错误,例如:

/var/log/syslog:Dec 17 14:02:05 xxx-web-3a kernel: [   22.592488] ifquery[476]: segfault at 1 ip 0000000000403187 sp 00007ffde8596050 error 4 in ifup[400000+d000]
/var/log/syslog:Dec 17 14:02:05 xxx-web-3a kernel: [   23.593774] ifquery[510]: segfault at 1 ip 0000000000403187 sp 00007ffde6087b90 error 4 in ifup[400000+d000]
/var/log/syslog:Dec 17 14:02:05 xxx-web-3a kernel: [   24.594994] ifquery[531]: segfault at 1 ip 0000000000403187 sp 00007ffe70747a50 error 4 in ifup[400000+d000]
/var/log/syslog:Dec 17 14:04:12 xxx-web-3a kernel: [    2.623024] ifquery[367]: segfault at 1 ip 0000000000403187 sp 00007ffefc980f60 error 4 in ifup[400000+d000]

c4.xlarge在-->迁移之前m4.xlarge,一个系统General Protection Fault在系统控制台日志中看到了一次记录,但我再也没有看到过这种情况。

在其他没有崩溃的 15.10 机器上我没有看到这些段错误。

这些都是具有 Intel 82599 10G 以太网的增强网络实例,我有点怀疑这可能会导致此问题,但是,我有其他(流量低得多的)具有相同适配器的机器运行 15.10 而从未崩溃。

有人遇到过类似的问题吗?或者有调试或修复此问题的任何想法吗?谢谢!

编辑

查看控制台日志,我的一个经常崩溃的系统在重新启动之前报告了一般保护故障:

[171009.844097] general protection fault: 0000 [#1] [ 0.000000] Initializing cgroup subsys cpuset

相关内容