当您管理的ESXi 6物理主机发生意外重启时,排查问题的第一步也是最关键的一步就是分析系统日志,ESXi日志记录了主机运行过程中的几乎所有重要事件,包括重启的原因、触发点以及重启前后的系统状态,深入理解这些日志条目对于快速诊断问题、恢复服务稳定性至关重要。
为什么日志是诊断重启问题的核心?
- 客观记录: 日志是系统自身生成的客观记录,不受人为回忆偏差影响,能准确反映事件发生的时间线和细节。
- 问题根源: 日志通常会直接或间接地指出导致重启的根本原因,如硬件故障(PSOD)、软件崩溃、配置错误、外部触发等。
- 排查线索: 即使日志没有明确给出“原因”,重启前后的错误、警告信息也能提供宝贵的排查线索(如存储断开、网络异常、内存错误)。
- 合规与审计: 日志是故障分析和合规审计的重要依据。
ESXi 6 中与物理机重启相关的关键日志位置
ESXi日志主要存储在内存文件系统 (/scratch/log
) 中,重启后默认会被清除(除非配置了持久化日志)。及时获取重启发生时的日志是成功诊断的关键,主要关注的日志文件包括:
-
vmkernel.log
(或vmkernel.gz
): 这是最核心的日志文件! 它记录了ESXi内核的活动,包括:- Purple Screen of Death (PSOD) 信息: 这是最严重的系统崩溃,直接导致主机重启,PSOD的详细信息(包括错误代码、堆栈跟踪、触发模块)会完整记录在此日志中。重启后查看这个日志的开头部分通常是首要任务。
- 硬件事件(CPU、内存、PCIe设备错误)。
- 存储路径状态变化(断开、恢复)。
- 网络驱动程序和链路的错误。
- 系统启动和关闭过程。
- 关键服务状态变化。
- 由
esxcli system syslog
命令触发的日志记录。
-
hostd.log
: 记录vSphere Agent (hostd
)的活动,管理虚拟机操作、主机配置、与vCenter的通信等,重启前可能包含:- 与vCenter通信失败。
- 配置更改操作(有时错误配置会导致不稳定)。
- 资源管理事件(虽然通常不会直接导致重启,但可能是环境压力的线索)。
- 主机进入维护模式或关机操作的记录(如果是计划内重启)。
-
messages.log
: 包含各种系统消息,来源比较广泛,包括一些用户空间工具和服务的信息,可能包含:- 硬件监控工具(如
ipmitool/sensor
) 报告的传感器状态(温度、电压、风扇)。 - 定时任务 (
cron
) 的执行记录。 - 其他守护进程的启动/停止信息。
- 硬件监控工具(如
-
vpxa.log
(如果主机由vCenter管理): 记录vCenter Agent (vpxa
)的活动,主要涉及主机与vCenter Server的通信,重启前可能记录通信中断的原因(网络问题、vCenter故障等),但通常不是主机自身重启的直接原因。
如何查看ESXi 6物理机重启日志?
-
ESXi Direct Console User Interface (DCUI):
- 在物理主机控制台,按
F2
登录。 - 选择
View System Logs
。 - 使用键盘导航(上下箭头)查看日志。重点关注
vmkernel.log
重启时间点附近的条目(通常是日志顶部,因为新日志追加在文件末尾,但DCUI显示时可能从最新开始)。 查找关键词如Panic
,PSOD
,Dump
,Reset
,Shutting down
,Unexpected signal
等,DCUI适合快速查看,但日志量大时不便分析。
- 在物理主机控制台,按
-
通过 SSH 访问 ESXi Shell:
- 首先需要在vSphere Client或DCUI中启用SSH服务 (
Troubleshooting Options
->Enable SSH
)。 - 使用SSH客户端(如PuTTY, OpenSSH)连接到ESXi主机的IP地址。
- 使用root账户登录。
- 导航到日志目录:
cd /var/log
- 查看日志:
tail -f /var/log/vmkernel.log
(实时查看尾部)less /var/log/vmkernel.log
(分页查看,按 搜索关键词,如panic
,reset
,dump
,shut
,signal
)grep -i "panic|reset|dump|shut down|signal" /var/log/vmkernel.log
(搜索包含特定关键词的行)
- 同样方法查看
hostd.log
,messages.log
等。 - 重要: 如果主机已经重启,且未配置持久化日志,重启前的日志可能已丢失。配置日志持久化(指向Datastore或远程Syslog服务器)是预防日志丢失的最佳实践。
- 首先需要在vSphere Client或DCUI中启用SSH服务 (
-
通过 vSphere Client (C# 或 Web Client):
- 连接到vCenter Server或直接连接到ESXi主机。
- 导航到主机 ->
Monitor
选项卡 ->Logs
。 - 选择相应的日志文件(如
vmkernel
,hostd
)。 - 使用时间选择器定位到重启发生的大致时间段。
- 在日志浏览器中搜索关键词(同上),Web Client的日志查看功能通常比C#客户端更友好。
解读重启日志中的关键线索
-
明确的重启事件:
Unexpected signal 11
或类似信号:通常指示严重的内存访问违规(空指针、野指针),导致进程崩溃,如果发生在关键内核线程则触发主机重启。vmkernel: .vmkernel. . . . . Panic: ...
或Dump: ...
:这是PSOD的核心记录。仔细记录或截图整个PSOD信息! 它包含:- 错误类型 (e.g.,
PF Exception 14 in world ...
): 指明错误性质(如页面错误)。 - 错误地址和寄存器状态: 高级调试信息。
- 堆栈跟踪 (Backtrace): 显示崩溃时内核函数的调用链,指向出问题的模块(驱动、vmm、管理程序本身)。
- 构建号 (Build) 和 错误代码 (e.g.,
0x...
): 用于在VMware知识库(KB)中搜索已知问题。 - 触发世界 (World) ID: 指示是哪个进程(VM、系统服务)触发了崩溃。
- 错误类型 (e.g.,
Shutting down for reboot...
:如果之前没有崩溃记录,这可能是计划内重启(如执行了reboot
命令)或系统响应了一个相对“干净”的关闭请求(如硬件看门狗超时)。
-
重启前的异常事件 (间接线索):
- 硬件错误:
Corrected memory error...
/Uncorrected memory error...
:内存ECC错误,频繁的CE可能预示问题,UE通常直接导致系统不稳定或崩溃。PCIe Fatal Error...
,Device ... failed
:PCIe设备(如HBA卡、网卡)故障。CPU ... MCA Error
:CPU内部错误。ACPI Error
:高级电源管理接口错误。Sensor ... [Fan|Temp|Voltage] ... critical
:风扇、温度、电压传感器报告临界值,过热是常见重启原因。
- 存储问题:
Lost path to ...
/Device ... dead
/APD/PDL
:存储路径丢失或设备永久丢失,可能导致依赖该存储的VM崩溃或系统组件异常。SCSI sense ...
:磁盘I/O错误。
- 网络问题:
Link Down
/Link Up
:物理链路状态变化,可能导致管理网络中断(触发vCenter报警,但通常不直接导致主机重启,除非影响关键通信)。NFS ... server not responding
:NFS存储连接问题。
- 软件/配置问题:
Module ... failed to load
:驱动或VIB加载失败。Failed to start service ...
:关键服务启动失败。Configuration ... invalid
:配置错误(相对少见直接导致重启,但可能引发不稳定)。
- 外部触发:
Received IPMI chassis power command
:如果主机支持IPMI,可能是远程管理卡(如iDRAC, iLO)收到了重启指令。Watchdog timer expired!
:硬件或软件看门狗超时未刷新,强制重启(通常意味着系统挂起或无响应)。
- 硬件错误:
诊断与排查建议
- 优先检查PSOD (vmkernel.log开头): 如果存在PSOD,它是诊断的黄金线索,记录完整的错误信息(截图最佳),特别是错误类型、构建号、错误代码和堆栈跟踪。
- 搜索VMware知识库 (KB): 使用PSOD错误代码、错误描述关键词或堆栈中提到的模块名称在VMware Knowledge Base 中搜索,很多常见PSOD都有对应的KB文章,提供原因解释和解决方案(如更新ESXi补丁、更新特定驱动、更换硬件)。
- 检查硬件健康状况:
- 查看日志中重启前后是否有硬件错误(内存、CPU、PCIe、传感器)。
- 进入服务器的硬件管理界面(如iDRAC, iLO, BMC),检查硬件日志、传感器状态(温度、电压、风扇)、是否有固件更新。
- 运行服务器厂商提供的硬件诊断工具(如Dell ePSA, HPE Smart Storage Administrator Diagnostics)。
- 重点检查: 内存(运行Memtest86+)、电源、散热(清洁风扇和风道)、RAID控制器/电池。
- 审查近期变更:
- 是否在重启前安装了新的ESXi补丁、驱动 (VIB) 或第三方软件?
- 是否修改了主机BIOS/UEFI设置、硬件配置(添加/移除设备)?
- 是否更改了网络或存储配置?
- 检查环境因素:
- 是否有电源波动或不间断电源 (UPS) 问题?
- 机房温度是否过高?
- 存储系统或网络交换机是否有告警或故障?
- 启用持久化日志/远程Syslog: 确保未来的重启日志不会丢失,配置ESXi将日志持久化到Datastore或发送到远程Syslog服务器(如vRealize Log Insight, Kiwi Syslog Server, rsyslog)。
- 收集支持包: 如果问题复杂或无法自行解决,使用vSphere Client (
Host
->Actions
->Support
->Export Support Bundle
) 或esxcli system support dump
命令收集完整的诊断信息包,并联系VMware支持或服务器硬件厂商支持,提供详细的日志、PSOD信息和收集的支持包。
ESXi物理主机意外重启是一个需要严肃对待的事件,通过系统地获取和分析 vmkernel.log
(尤其是寻找PSOD)、hostd.log
、messages.log
等关键日志,结合硬件健康检查、审查变更记录和环境评估,管理员可以逐步定位问题的根源,熟练掌握日志查看方法和常见错误信息的解读,是ESXi运维人员必备的核心技能,切记配置日志持久化,确保宝贵的诊断信息在重启后依然可用,遇到难以解决的PSOD或硬件错误,及时利用VMware知识库和官方支持渠道。
引用与来源说明:
- VMware官方文档是理解ESXi日志和故障排除的基础,关于日志位置、内容和诊断方法,主要参考了:
- VMware vSphere 6.0 Documentation Center – Troubleshooting ESXi
- VMware vSphere 6.0 Documentation Center – Understanding System Log Files
- VMware vSphere 6.0 Documentation Center – Configuring Syslog on ESXi
- VMware Knowledge Base (KB) 文章提供了大量针对特定错误代码(尤其是PSOD)的深入分析和解决方案,在诊断具体问题时,应在 https://kb.vmware.com/ 中搜索相关错误信息。
- 服务器硬件厂商(如Dell, HPE, Lenovo)的文档和支持站点提供了服务器硬件诊断、固件更新和硬件日志解读的详细信息。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/30054.html