常见VMware ESX服务器问题的诊断和解决

日期: 2009-08-26 作者:Eric Siebert翻译:常涛 来源:TechTarget中国 英文

比较严重的技术问题发生后引起的恐慌将导致一些冲动的决定,使问题更加恶化!在试图排除任何出现的问题之前,暂停并放松一下,带着清晰的思路去着手解决问题,然后处理每一个症状,思考可能的原因和恰当的解决方法。   在这个系列里,我提供了通常由VMware ESX主机服务器、VirtualCenter、和虚拟机中出现的许多常见问题的解决方法。我们先开始处理在VMware ESX主机服务器中的常见问题。   Windows服务器的管理员早已熟悉了可怕的蓝屏死机(BSOD),这就意味着服务器完全地终止。

VMware ESX也有类似的状况,叫做紫屏死机(PSOD),典型的是由于硬件问题和VMware 代码中的……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

比较严重的技术问题发生后引起的恐慌将导致一些冲动的决定,使问题更加恶化!在试图排除任何出现的问题之前,暂停并放松一下,带着清晰的思路去着手解决问题,然后处理每一个症状,思考可能的原因和恰当的解决方法。

  在这个系列里,我提供了通常由VMware ESX主机服务器、VirtualCenter、和虚拟机中出现的许多常见问题的解决方法。我们先开始处理在VMware ESX主机服务器中的常见问题。

  Windows服务器的管理员早已熟悉了可怕的蓝屏死机(BSOD),这就意味着服务器完全地终止。VMware ESX也有类似的状况,叫做紫屏死机(PSOD),典型的是由于硬件问题和VMware 代码中的bug造成的。

  解决紫屏死机问题

  当一个PSOD出现时,你需要做的第一件事情就是记录下屏幕上显示的信息,我建议用数码相机或者手机拍一个快照。PSOD信息包括ESX的版本和构建、异常类型、寄存器转储、在崩溃时每一个CPU在运行什么、跟踪信息、服务器正常运行时间、错误信息和内存核心转储信息。这些信息对你没用,但是VMware 技术支持人员可以解码上述信息,帮助测定崩溃的原因。

紫屏死机

  不幸的是,当遭遇到PSOD,除了记录屏幕上的信息,你唯一的选择是关闭服务器重启。一旦服务器重启起来,你将在服务器的/root目录下发现mkernel-zdump-*文件,这个文件对定位问题很有价值。你可以用vmkdump工具从该文件中提取vmkernel日志文件(vmkdump –l),然后定位引起PSOD的原因。VMware支持一般也需要这个文件。出现PSOD常见的原因是服务器内存不足,那个转储文件将有助于识别导致问题的内存模块并替换这个模块。

  检查你的RAM

  如果你怀疑你系统的RAM可能有问题,可以用一个内置的工具在后台检查你的RAM而不影响你正在运行的虚拟机。该RAM检查工具运行在VMkernel里,通过登录到服务器控制台,输入Service Ramcheck Start开启。

  当正在运行RAM检测时,它把所有的活动和任何错误信息记录到/var/log/vmware目录下的文件ramcheck.log和ramcheck-err.log中。然而,它的一个缺陷是如果你有虚拟机正在运行,用这个工具不能检测所有的RAM,只能检测在ESX系统中未用的RAM。一个比较彻底的检测你的服务器中RAM的方法是关闭ESX,从CD引导,然后运行Memtest86+程序。

  使用vm-support工具

  如果你联系VMware技术支持人员,他们一般会要求你运行vm-support工具,它将把所有的ESX server的日志和配置文件打包成一个文件。通过root权限登录到服务控制台,然后不需要设置任何选项,输入“vm-support” 就可以运行这个工具。这个工具将创建一个Tar文件,以"esx---..tgz"格式命名。你可以通过FTP把它发送给VMware技术支持人员。确保把该Tar文件从ESX服务器上删除,这样做可以节省磁盘空间,或者,你可以通过VI client生成同样的文件。选择Administration,然后选择Export Diagnostic Data,选择你的主机(VirtualCenter 数据选项)和一个本地PC目录来存储将要创建的文件。

  用日志文件排除故障

  日志文件一般是排除各种类型问题的最好工具。ESX有许多的日志文件,你需要检查哪个日志文件取决于你所遇到的问题。以下是ESX日志文件的列表,你通常可以用来定位ESX服务器的问题。VMkernel和主机日志文件一般都是你需要首先检查的。

  • VMkernel - /var/log/vmkernel——与虚拟机和ESX服务器相关的活动的记录。带扩展名以数字循环,当前的日志没有扩展,最近的日志带有“.1”扩展。
  • VMkernel Warnings -/var/log/vmkwarning——记录虚拟机的活动,VMkernel日志的子集,用同样的循环模式。
  • VMkernel Summary - /var/log/vmksummary——用于确定ESX服务器正常运行的时间和可用性统计,可读性的总结在/var/log/vmksummary.txt中。
  • ESX Server host agent log - /var/log/vmware/hostd.log——包含管理和配置ESX服务器主机和它的虚拟机代理信息。(查找文件的date/time戳来找到最近输出的日志文件,或者打开hostd.log,该文件连接到当前的日志文件)。
  • ESX Firewall log - /var/log/vmware/esxcfg-firewall.log——记录所有的防火墙规则事件。
  • ESX Update log - /var/log/vmware/esxupdate.log——记录所有的通过esxupdate统计所在的更新。
  • Service Console - /var/log/messages——包括所有的用于排除虚拟机和ESX服务器故障的一般日志信息。
  • Web Access - /var/log/vmware/webAccess——记录通过基于web访问ESX服务器的信息。
  • Authentication log - /var/log/secure——包含所有的需要认证的连接信息,例如VMware守护进程和由xinetd守护进程发起的动作。
  • Vpxa log - /var/log/vmware/vpx——记录和VirtualCenter通讯的代理的信息,通过查找文件的date/time戳来找到最近输出的文件或者打开hostd.log,该文件连接到当前的日志文件。

  做为解决故障过程的一部分,你经常需要找出各种ESX组件的版本和使用的补丁,下面是一些命令,你可以从服务台运行来完成:

  • 输入vmware  -v来检查ESX服务器的版本,例如VMware ESX Server 3.0.1 build-32039
  • 输入esxupdate –l query来查看安装的补丁
  • 输入vpxa –v来检查ESX服务器的管理版本,例如VMware VirtualCenter Agent Daemon 2.0.1 build-40644
  • 输入rpm –qa | grep VMware-esx-tools来检查ESX服务器VMware Tools安装的版本,例如VMware-esx-tools-3.0.1-32039

  如果所有可能失败,重启Vmwate主机代理服务

  许多的ESX问题可以通过重启VMware主机代理服务(vmware-hostd)解决,该服务负责管理大部分ESX主机的操作,通过登陆服务控制台,输入service mgmt-vmware restart来实现。

  注意:ESX 3.0.1有一个bug,如果你的ESX服务器为你的VM配置了auto-startups选项,它将重启你所有的VM。这个bug在3.0.1 和 3.0.2中用一个补丁修复,但是在ESX 3.5中用另一个发布的补丁修复。在运行此命令时最好临时禁止auto-startups选项。

  在某些情况下,当你重启主机代理服务,重启vmware-vpxa服务可以定位发生在ESX和VI Client之间以及ESX和VirtualCenter之间的问题。该服务是管理代理,处理ESX和它的客户端的所有通讯。通过登陆ESX主机,输入service vmware-vpxa restart就可以完成。需要注意的是重启哪种服务都不会影响你的虚拟机操作(除了上述提到的bug)。

  修复冻结的服务控制台

  另一个会发生的问题是你的服务控制台挂起,不允许你本地登入。硬件锁定或者一个死锁状态都会导致这样。当发生这种状况时,你的VM可以继续正常运行,但是重启ESX是通常恢复的唯一的方法。在你重启之前,试着关闭你的客户VM,或者用VMotion把它们迁移到另一个ESX主机上。通过SSH远程连接的VI Client或者alternate/emergency控制台的其中之一来完成,可以先按Alt-F6,然后按Alt-F2键。你也可以按Alt-F12在控制台的屏幕上显示内核信息。如果你可以关闭或者迁移你的VM,你就可以通过VI Client或者alternate控制台发出重新引导的命令来试图重启服务器。如果不行,冷启动服务器就是你唯一的选择了。

  网络配置丢失

  可能出现的问题是你也许丢失了部分或所有的网络配置。如果发生这种情况,由于你不能通过VI Client连接,你必须用ESX本地服务控制台来重新构建网络。VMware已经发布了相关知识的文章:如何使用esxcfg-*服务控制台命令来重建你的网络和如何验证你的网络配置。

  结论

  在这篇文章里,我已经叙述了一些发生在VMware ESX中最常见的问题,在这个系列文章的下一部分,我将描述在VirtualCenter的故障排除问题。

相关推荐