【vSphere故障案例】

      在这里,我们记录一些在ESXi主机上发生的、相当常见的问题。通常,可以采取一些简单的步骤去解决这些问题,但有的问题就需要较深入的解决方法。

蓝屏死机(BSOD遇到的很少)

粉屏死机(PSODPink Screen of Death PS:其实和紫屏死机一样

紫屏死机(PSOD Purple Screen of Death

      有一种在ESXESXi主机上都可能发生的故障,叫做紫屏死机(可以说是臭名昭著的微软蓝屏死机的VMware版)。紫屏死机会导致ESX/ESXi主机突然崩溃、变得无法操作。你一定不希望在自己的主机上发生这种现象。以下是我遇到的一些紫屏死机故障现象和我收集的一些紫屏案例。

      当PSOD发生时,ESXi会完全死机,没有任何反应。硬件问题(坏有问题的内存是最常见的原因)或ESXi中的BUG是导致PSoDs的典型原因。当PSoDs发生时,你只能关闭并重启主机。屏幕上的提示信息非常有用,应该尝试记录它:可以使用带有拍照功能的手机给它照相,或者,如果存在的话,可以从一个远程管理面板上截图。你或许看不明白这些捕获下来的信息,但是,这些信息对VMware的技术支持来说非常有用。屏幕上显示的信息包括ESX的版本和build号、异常类型、寄存器转储(register dump)、崩溃时每个CPU正在跑什么、回溯追踪(back-trace)、服务器运行时间、错误日志、内存硬件信息等。

      当你遇到PSoDs并重启主机之后,在ESX主机或/root文件夹下,会有一个以vmkernel-zdump开头(命名)的文件,ESXi5.0之后该文件位置放在”/scratch/core/vmkernel-zdump.1”。这个文件对VMware技术支持非常有用,同时,你也可以使用该文件,通过vmkdump工具提取 VMkernel日志信息、寻找与PSoDs有关的线索,从而判断PSoDs发生的原因。要使用这个命令,输入vmkdump l dump <文件名>ESX4(或ESXi5.0)之后是没有这个命令的,替代的命令是esxcfg-dumppart,用法:esxcfg-dumppart -L <ESX dump file>

例如:

~ # ls -l /scratch/core/

-rwx------    1 root    root     104858112 Dec  5 01:46 vmkernel-zdump.1

~ # esxcfg-dumppart -L /scratch/core/vmkernel-zdump.1

Created file vmkernel-log.1

~ # more vmkernel-log.1

参考:

http://www.vmsky.com/tech/vmware/vi3/2009/08/27/5673.html

http://kb.vmware.com/kb/1002769

      如前所述,坏有问题的内存是PSoDs中常见的原因。 你可以使用dump 文件识别引起问题的内存模块,从而将其替换掉。

紫屏案例收集

http://searchvmware.techtarget.com/photostory/2240162093/Purple-Screen-of-Death-PSOD/1/Defective-CPU-0

VMware官方社区关于紫屏的文章

      http://blogs.vmware.com/kb/2012/07/purple-diagnostics-screen-articles.html?src=WWW_BestMatch_CN

案例一:紫屏死机PSOD

IBM双刀VMware ESX4.0紫屏死机,如图:

发生时间:2011-11-13 (星期天)

硬件:IBM刀片服务器双刀4*8431\8*8GB\Flash or HHD*2\HBA

软件:ESX 4.0

故障现象:紫屏死机

故障原因:不可识别的CPU或有缺陷的CPU(或CPU损坏)

解决建议:更换CPU

处理故障过程(方法):一般紫屏,绝大部分情况都和硬件有关系,查看报错信息的关键部分“#PF Exception(14) in world 0:unknown ……”。

PF:虚拟内存,CPU使用率与PF使用率就相当于你电脑的CPU配置及内存条大小与系统性能的正比关系。

我这个ESX主机是IBM的双刀服务器,有多个CPU和两块主板,查找了相关紫屏资料和询问相关专家,初步怀疑是CPU导致紫屏的。当时是傍晚发生的故障,而且又是公司主要的邮件服务器,又没有备用的,第二天周一还得正常时候,报修是来不及了的,时间很紧。重启主机后还是紫屏状态,请教专人后,我们把双刀的第一块主板上的第一个CPU1取了下来,然后重启,主机正常起来了。(PS:好像后来说是CPU1的插槽有问题,报修了)。