从 15.04 升级到 15.10 后,EC2 Web 服务器变得非常不稳定

从 15.04 升级到 15.10 后,EC2 Web 服务器变得非常不稳定

我生产环境中运行着多台 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

编辑2

我们现在通过 netconsole 获得了跟踪!报告错误。

[21410.260077] general protection fault: 0000 [#1] SMP
[21410.261976] Modules linked in: isofs xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack xt_tcpudp bridge stp llc iptable_filter ip_tables x_tables ppdev intel_rapl iosf_mbi xen_fbfront fb_sys_fops input_leds serio_raw i2c_piix4 parport_pc 8250_fintek parport mac_hid netconsole configfs autofs4 crct10dif_pclmul crc32_pclmul cirrus syscopyarea sysfillrect sysimgblt aesni_intel ttm aes_x86_64 drm_kms_helper lrw gf128mul glue_helper ablk_helper cryptd psmouse drm ixgbevf pata_acpi floppy
[21410.264054] CPU: 0 PID: 26957 Comm: apache2 Not tainted 4.2.0-23-generic #28-Ubuntu
[21410.264054] Hardware name: Xen HVM domU, BIOS 4.2.amazon 12/07/2015
[21410.264054] task: ffff8803f9809b80 ti: ffff8803f999c000 task.ti: ffff8803f999c000
[21410.264054] RIP: 0010:[<ffffffff810e5c36>]  [<ffffffff810e5c36>] run_timer_softirq+0x116/0x2d0
[21410.264054] RSP: 0000:ffff8803ff203e98  EFLAGS: 00010086
[21410.264054] RAX: dead000000200200 RBX: ffff8803ff20e9c0 RCX: ffff8803ff203ec8
[21410.264054] RDX: ffff8803ff203ec8 RSI: 0000000000011fc0 RDI: ffff8803ff20e9c0
[21410.264054] RBP: ffff8803ff203f08 R08: 000000000000a77a R09: 0000000000000000
[21410.264054] R10: 0000000000000020 R11: 0000000000000004 R12: 000000000000007c
[21410.264054] R13: ffffffff8172aaf0 R14: 0000000000000000 R15: ffff8803af955be0
[21410.264054] FS:  00007fb0ce6e8780(0000) GS:ffff8803ff200000(0000) knlGS:0000000000000000
[21410.264054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[21410.264054] CR2: 00007fb0ce51e130 CR3: 00000003fb233000 CR4: 00000000001406f0
[21410.264054] Stack:
[21410.264054]  ffff8803ff203eb8 ffff8803ff20f5f8 ffff8803ff20f3f8 ffff8803ff20f1f8
[21410.264054]  ffff8803ff20e9f8 ffff8803af955b58 dead000000200200 00000000f60fabc0
[21410.264054]  0000000000011fc0 0000000000000001 ffffffff81c0b0c8 0000000000000001
[21410.264054] Call Trace:
[21410.264054]  <IRQ>
[21410.264054]  [<ffffffff8107f846>] __do_softirq+0xf6/0x250
[21410.264054]  [<ffffffff8107fb13>] irq_exit+0xa3/0xb0
[21410.264054]  [<ffffffff814a4499>] xen_evtchn_do_upcall+0x39/0x50
[21410.264054]  [<ffffffff817f1f6b>] xen_hvm_callback_vector+0x6b/0x70
[21410.264054]  <EOI>
[21410.264054] Code: 81 e6 00 00 20 00 48 85 d2 48 89 45 b8 0f 85 30 01 00 00 4c 89 7b 08 0f 1f 44 00 00 49 8b 07 49 8b 57 08 48 85 c0 48 89 02 74 04 <48> 89 50 08 41 f6 47 2a 10 48 b8 00 02 20 00 00 00 ad de 49 c7
[21410.264054] RIP  [<ffffffff810e5c36>] run_timer_softirq+0x116/0x2d0
[21410.264054]  RSP <ffff8803ff203e98>

编辑3

这是 Ubuntu 的错误:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1534345

相关内容