CentOS 5.10/VMWare ESX 5.1
我有一个运行 CentOS 5.10(带 SendMail)的旧电子邮件服务器,它时不时会挂起,系统会完全无响应。在此期间,我根本无法连接到它,虚拟控制台也无响应。
奇怪的是,我们的 VMWare 管理组没有看到任何明显的资源峰值,这表明资源不足、负载峰值等。此外,当我检查系统日志(例如邮件日志、消息等)时,在挂起期间所有日志活动都明显缺失,这表明这些中断足够严重以致于无法记录(或者可能是文件系统/磁盘问题)。
一个异常是,机器上的 sendmail 日志记录相当高(98,而不是通常的 9 级)。我很快就会将其恢复正常。
我不知道从哪里可以获取更多信息。有没有线程转储可以告诉我挂起期间操作系统正在做什么?
附加信息:
- 内核版本是:
2.6.18-371.4.1.el5 #1 SMP Thu Jan 30 06:09:24 EST 2014 i686 i686 i386 GNU/Linux
- 存储在共享 SAN 上处理。
- 根据内部政策,系统上未安装 VMWare 工具,但是我们已经很长时间没有安装 vmware 工具了,所以我们认为缺少它不一定是根本原因。
- VMWare 具体版本为:VMware ESXi 5.1.0 build-2000251
- 硬件是 IBM 3850 M2,型号 7233AC1
答案1
所以,32 位 CentOS 5.10......这不一定是个问题......
但是你应该总是运行 VMware 支持的操作系统时,请安装 VMware 工具。当 vSphere/ESXi 主机内存受限时,这会非常有用,此外它还添加了内存气球驱动程序、更好的 NIC 接口选项(适用于您的 EL5 系统)和电源管理。
一般来说,看看这些问题发生时 SAN 正在做什么。另外,如果你不使用 VMware 工具,ESXi 很可能不在稳定的修订级别。请报告 ESXi 版本号。连接到主机时,您会在 vSphere Client 顶部看到它。
编辑:
由于这是一个 vSphere 集群,您可以让团队检查内存分配吗?我见过 Linux VM 由于内存配置不当而挂起或锁定的情况。这可能包括在 vSphere 客户端中为相关 VM 设置 RAM 限制。这还可能包括集群的 RAM 分配过多和/或 VM 分配了过多 RAM 的情况。
看:vSphere 教育 - 配置具有*过多* RAM 的虚拟机有哪些缺点?
任何更深入的分析都需要查看一些 VMware 集群/资源状态屏幕。
答案2
我只是想结束这个循环。当我们将 SendMail 日志记录从 99 缩减到 9(默认值)后,神秘的挂起不再发生。不可否认,这是一个非常高的日志级别设置,但我从未见过它完全使服务器陷入停顿。也不知道它这样设置了多久。
我的猜测是,这种间歇性现象是由于磁盘 I/O 速度一般和 SMTP 负载偶尔激增造成的。
感谢大家的帮助。