在 ESX 上运行的 FreeBSD 客户机挂起且没有崩溃日志

在 ESX 上运行的 FreeBSD 客户机挂起且没有崩溃日志

我们有三台服务器运行在同一个 ESX 主机上,所有虚拟磁盘都来自远程 SAN 存储控制器。几天前,这些服务器挂起并重新启动,今天 DB 服务器又发生了这种情况。奇怪的是,问题发生时没有任何 panic 日志、崩溃日志和错误日志。


服务器 1. Web 服务器 FreeBSD Meduna 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #2:2011 年 2 月 14 日星期一 12:57:36 MYT hailang@Meduna:/usr/obj/usr/src/sys/Meduna amd64

Meduna# cat /var/log/messages | grep panic

Meduna# bzcat /var/log/messages.?.bz2 | grep panic

Meduna# cat /var/log/messages | grep 错误

Meduna# bzcat /var/log/messages.?.bz2 | grep 错误

5月28日 16:05:04 Meduna 内核:/var:挂载挂起错误:阻止 4 个文件 1


Server2. 数据库服务器 FreeBSD Moncalvo 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #1: 2011 年 1 月 10 日星期一 13:02:48 MYT hailang@Moncalve:/usr/obj/usr/src/sys/Moncalve amd64

蒙卡尔沃# cat /var/log/messages | grep panic

蒙卡尔沃# cat /var/log/messages | grep panic

Moncalvo# bzcat /var/log/messages.?.bz2 | grep panic

Moncalvo# cat /var/log/messages | grep 错误

Moncalvo# bzcat /var/log/messages.?.bz2 | grep 错误

5月28日 16:17:17 Moncalvo 内核:/var:挂载挂起错误:阻止 -32 文件 0


服务器 3。未使用 FreeBSD Mecure 8.1-RELEASE-p2 FreeBSD 8.1-RELEASE-p2 #0:2011 年 2 月 11 日星期五 14:45:55 MYT hailang@ServerX:/usr/obj/usr/src/sys/Mecure amd64

Mecure# cat /var/log/messages | grep panic

Mecure# bzcat /var/log/messages.?.bz2 | grep panic

Mecure# bzcat /var/log/messages.?.bz2 | grep 错误

Mecure# cat /var/log/messages | grep 错误

5月28日 15:42:41 Mecure 内核:g_vfs_done():da0s1d[WRITE(offset=3275046912, length=16384)]error = 5

5月28日 15:42:41 Mecure 内核:g_vfs_done():da0s1d[READ(offset=4062199808, length=16384)]error = 5

5月28日 15:42:41 Mecure 内核:g_vfs_done():da0s1d[WRITE(offset=3281371136, length=10240)]error = 5


问题发生时 /var/log/messages 的样子如下


5月28日 13:06:26 Meduna 内核:icmp 从 10.16.10.250 重定向:113.23.142.94 => 10.16.10.18

5月28日 13:07:01 Meduna 内核:icmp 重定向来自 10.16.10.250:202.186.13.232 => 10.16.10.18

5月28日 13:15:00 Meduna 内核:icmp 从 10.16.10.250 重定向:113.23.142.94 => 10.16.10.18

5月28日 13:15:35 Meduna 内核:icmp 重定向来自 10.16.10.250:202.186.13.232 => 10.16.10.18

5月28日 13:41:36 Meduna syslogd:内核启动文件为 /boot/kernel/kernel

5 月 28 日 13:41:36 Meduna 内核:版权所有 (c) 1992-2010 FreeBSD 项目。

5月28日 13:41:36 Meduna 内核:版权所有 (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994

[!]它只是挂了大约半个小时然后重新启动,没有任何错误。

5月28日 13:13:14 Moncalvo 内核:icmp 从 10.16.10.250 重定向:60.49.152.98 => 10.16.10.18

5月28日 13:14:25 Moncalvo 内核:icmp 从 10.16.10.250 重定向:210.48.150.200 => 10.16.10.18

5月28日 13:16:58 Moncalvo 内核:icmp 从 10.16.10.250 重定向:183.78.169.57 => 10.16.10.18

5月28日 15:59:06 Moncalvo syslogd:内核启动文件为 /boot/kernel/kernel

5 月 28 日 15:59:06 Moncalvo 内核:版权所有 (c) 1992-2010 FreeBSD 项目。

5 月 28 日 15:59:06 Moncalvo 内核:版权所有 (c) 1979、1980、1983、1986、1988、1989、1991、1992、1993、1994

[!]并且该服务器挂了2个多小时才重新启动


我怀疑这可能是存储问题,但没有任何证据。您能否给我一些建议来解决/挖掘这个问题。任何帮助都非常感谢!

此致,

海浪

答案1

问题很可能是由 SAN 故障引起的。当 FreeBSD 丢失磁盘时,几乎没有办法留下恐慌日志条目。但在 VM 环境中(以及极少数主板中),重启后可能会dmesg留下 msgbuf()。您可以尝试检查它。

为了进行调试,您可以尝试使用DDB而不是在崩溃后重新启动。

PS. 如果你身边有系统程序员,你可以请他写一些类似 Linux 的netconsole对于 FreeBSD

相关内容