VMware ESX 服务器允许在一台服务器上以虚拟机的形式运行多个类似的或完全不同的操作系统实例,因此合并应用程式的工作负荷就简单而迅速。但是即使采用了最好的、最综合的方案,系统还是可能崩溃。

为了帮助进行故障排除,在 VMware ESX 服务器崩溃时,您能够以多种方法,根据崩溃的现象对问题进行分类。最常见的方法是分类归入到四维矩阵中,矩阵的一个轴上是 服务器虚拟机,另外一个轴上是 网络存储

此外,更有一个经常出现问题的地方是管理用户界面(Management User Interface,MUI),他不时地会碰到问题。

当崩溃发生时,诊断的第一步是搜集诊断数据 —— 收集完诊断数据之后,您就能够分析数据来找出崩溃的原因了。接下来的几节向您展示了如何搜集数据,到哪里查找信息,连同如何解释信息。

搜集诊断数据

要搜集的第一部分关键数据是由 /usr/bin/vm-support 脚本产生的输出文档。这个文档放在当前目录中,并被命名为 esx-XXXX-XX-XX.XXXX.tgz(其中 X 是日期/进程标识符信息,例如 esx-2005-01-04.27059.tgz)。

VMware 会定期更新 /usr/bin/vm-support 脚本。为了搜集最精确的信息,请下载并安装最新版本。此外,假如您正碰到 VirtualCenter 的问题,那么还需要搜集 VirtualCenter 日志(对这个问题的诊断不在本文的范围内)。任何的最新版本请参阅 参考资料。

搜集完这些信息之后,您就能够将 vm-support 输出文档(为二进制模式)传输给适当的支持人员来诊断。要在一个基于 Linux 的系统上提取这个文档,请执行下面的命令:tar zxvf esx-XXXX-XX-XX.XXXX.tgz

诊断系统概述

让我们从系统的高度来看一下系统中的硬件是如何配置和分配的。您能够使用命令行工具来查看,或查看 /usr/bin/vm-support 文档的输出。

/usr/bin/vm-support 的输出是个使用 gzip 压缩过的 tar 文档,展开以后包含以下目录:


清单 1. vm-support 输出的布局


etc/

proc/

root/

tmp/

usr/

var/

根据 .vmx 配置文档的位置的不同,还可能包含 ‘home’ 或 ‘vpx’。

  

要全面了解 ESX 服务器的布局,能够从 tmp 目录开始。系统 PCI 总线设备的信息在 tmp/lspci.1.*.txt 文档中。运行 /sbin/lspci 命令您可获得同样的输出。清单 2 展示了一个输出清单的例子。


清单 2. lspci 的输出


# /sbin/lspci

00:00.0 Host bridge: ServerWorks: Unknown device 0014 (rev 33)

00:00.1 Host bridge: ServerWorks: Unknown device 0014

00:00.2 Host bridge: ServerWorks: Unknown device 0014

00:01.0 VGA compatible controller: ATI Technologies Inc Radeon VE QY

00:0f.0 ISA bridge: ServerWorks: Unknown device 0203 (rev a0)

00:0f.1 IDE interface: ServerWorks: Unknown device 0213 (rev a0)

00:0f.2 USB Controller: ServerWorks: Unknown device 0221 (rev 05)

00:0f.3 Host bridge: ServerWorks: Unknown device 0227

00:10.0 Host bridge: ServerWorks: Unknown device 0101 (rev 05)

00:10.2 Host bridge: ServerWorks: Unknown device 0101 (rev 05)

01:01.0 Ethernet controller: Intel Corporation 8254NXX Gigabit Ethernet Controller (rev 04)

01:02.0 Ethernet controller: Intel Corporation 8254NXX Gigabit Ethernet Controller (rev 04)

02:01.0 Ethernet controller: Intel Corporation 8254NXX Gigabit Ethernet Controller (rev 03)

02:01.1 Ethernet controller: Intel Corporation 8254NXX Gigabit Ethernet Controller (rev 03)

02:03.0 Fiber Channel: QLogic Corp QLA231x/2340 (rev 02)

02:03.1 Fiber Channel: QLogic Corp QLA231x/2340 (rev 02)

  

清单 2 给出了机器中任何的 PCI 控制器的一个列表。左边的一列告诉您总线、插槽和插件的功能。例如,规范说明为 02:01.0 的以太网控制器,告诉您这个插件是在 #02 总线的 #01 插槽中,其功能是 #0 。因为更有另一个有着相同的总线和插槽编号(而功能不同)的以太网控制器,所以这是个两口的控制器。

既然我们已知道机器中都有什么了,那么我们需要看一下这些资源中哪些分配给了控制台,哪些分配给了虚拟机。为此,能够看一下 tmp/vmkchdev.*.txt 文档,或使用 /usr/sbin/vmkchdev 命令,该命令的输出如清单 3 所示。


清单 3. vmkchdev 的输出


# /usr/sbin/vmkchdev -L

000:00.0 1166:0014 0000:0000 console

PCI device 1166:0014 (ServerWorks)

000:00.1 1166:0014 0000:0000 console

PCI device 1166:0014 (ServerWorks)

000:00.2 1166:0014 0000:0000 console

PCI device 1166:0014 (ServerWorks)

000:01.0 1002:5159 8086:34b1 console

PCI device 1002:5159 (ATI Technologies Inc)

000:15.0 1166:0203 8086:34b1 console

PCI device 1166:0203 (ServerWorks)

000:15.1 1166:0213 8086:34b1 console

PCI device 1166:0213 (ServerWorks)

000:15.2 1166:0221 8086:34b1 console

PCI device 1166:0221 (ServerWorks)

000:15.3 1166:0227 8086:34b1 console

PCI device 1166:0227 (ServerWorks)

000:16.0 1166:0101 0000:0000 console

PCI device 1166:0101 (ServerWorks)

000:16.2 1166:0101 0000:0000 console

PCI device 1166:0101 (ServerWorks)

001:01.0 8086:1028 8086:34b1 vmkernel vmnic3

PCI device 8086:1028 (Intel Corporation)

001:02.0 8086:1028 8086:34b1 vmkernel vmnic0

PCI device 8086:1028 (Intel Corporation)

002:01.0 8086:107b 8086:34b1 vmkernel vmnic1

PCI device 8086:107b (Intel Corporation)

002:01.1 8086:107b 8086:34b1 vmkernel vmnic2

PCI device 8086:107b (Intel Corporation)

002:03.0 1077:2312 1014:027d vmkernel vmhba0

PCI device 1077:2312 (Q Logic)

002:03.1 1077:2312 1014:027d vmkernel vmhba1

PCI device 1077:2312 (Q Logic)

  

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!