一、查看ESXi主机的管理服务的运行状态方式
1、打开DUCI的Local ESXi Shell,然后Alt+F1进入到命令界面;
2、执行如下命令查看hostd服务是否正常运行:
/etc/init.d/hostd status
输出类似如下结果:
hostd is running
3、如果ESXi主机有连接到vCenter Server则还可以查看vCenter Server位于ESXi主机上的Agent是否正常:
/etc/init.d/vpxa status
输出类似如下结果:
vpxa is running
二、 vCenter Server 5.0 Update1的Service Status页标签显示License Services警报
故障状态
1、vCenter Service Status页标签显示License Services警报;
2、系统提示如下错误警报:
Threshold Usage Tracking service Alert Cannot obtain user-defined license thresholds
Asset properties History service Alert Cannot store hosts MAC addresses in the vCenter Server database
Assignments Feeding service Alert Cannot obtain license assignments for VRAM usage
License Usage History service Alert Cannot store license usage in vCenter Server database
故障分析
这个问题一般都是由于当升级vCenter Server到U1时VirtualCenter Management Webservices运行在AD账户下,这就可能导Update之后的账户匹配关联丢失,进而导致服务无法启动;
解决方案
1、进入到Windows的服务管理器,然后打开VMware VirtualCenter Management Webservices的Properties选项;
2、点击Log On的页标签,更改账户关联,然后重启服务即可。
三、 位于ESXi 5.0上的Solaris的虚拟机上安装VMware Tools并更改MTU为9000
更改MTU值为9000的目的是激活支持Jumbo Frames,好处在于可以加大单位时间的最大传输单元,步骤如下:
1、首先确认为Solaris虚拟机添加了VMXNET3网路卡和VMware Tools;
2、接着在Solaris命令行下面执行如下命令:
#ndd -set /dev/vmxnet3s0 accept-jumbo 1
3、然后将MTU值设定为9000,可以执行如下命令:
#ifconfig vmxnet3s0 mtu 9000
4、然后可以执行如下命令测试是成功为其配置了MTU:
ping -s 9000 solaris_ip或
ping -s xxxx 9000 4
备注:如果想关闭MTU则执行如下命令:
#ndd -set /dev/vmxnet3s0 accept-jumbo 0
ifconfig vmxnet3s0 mtu 1500
四、解决系统提示: Virtual machine disks consolidation is needed 提示
在 vSphere 5 环境中,有可能出现一种情况,虚拟机存在快照,但是,在虚拟机的快照管理器里却看不到任何快照信息,而在虚拟机的目录里,却可以看到虚拟机的快照 delta 文件,提示如下错误信息:如图1
虚拟提示: Needs Consolidation 为 Yes :如图2
针对这个问题,找到虚拟机,然后右击选择 Snapshot -> Consolidate :如图3
系统会弹出是否确实要做 Consolidate ,如果确认,点击 Yes 按钮即可, 完成之后, 可以通过进入到虚拟机所在的Datastore 里,就可以看到所有的 delta.vmdk 文件都已经被整合处理。 如果想要快速找到所有有需要做 Consolidate 的虚拟机,可以用如下 PowerCLI 命令:
Get-VM | Where {$_.ExtensionData.Runtime.consolidationNeeded} | Select Name
如何手动备份Windows 2008系统vCenter Server的ADAM数据库 备份Windows Server 2008 R2操作系统上安装vCenter Server的ADAM数据库需要利用dsdbutil工具来完成;
1、进入到Windows Server 2008 R2的命令行界面,然后执行如下命令:
dsdbutil
2、在弹出的对话界面中输入:
active instance VMwareVCMSDS
3、执行如下命令打开ifm命令提示符:
ifm
4、在ifm:命令提示符下输入如下命令来创建想要创建的安装介质:
create full M: \Backup\VMwareVCMSDS
系统将输出类似如下结果:
ifm: create full C:\Backup\VMwareVCMSDS
Creating snapshot...
Snapshot set {93758b0e-0b5f-4969-a3ae-c3672b659e08} generated successfully.
Snapshot {d3257ca1-cb91-4535-82c0-8aa38bc0b566} mounted as C:\$SNAP_201010251019_VOLUMEC$\
Initiating DEFRAGMENTATION mode...
Source Database: C:\$SNAP_201207301019_VOLUMEC$\Program Files\VMware\Infrastructure\VirtualCenter
Server\VMwareVCMSDS\adamntds.dit
Target Database: c:\Backup\VMwareVCMSDS\adamntds.dit
Defragmentation Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
Snapshot {d3257ca1-cb91-4535-82c0-8aa38bc0b566} unmounted.
IFM media created successfully in C:\temp\VMwareVCMSDS
5、然后即可退出dsdbutil工具界面。
如果想要恢复用dsdbutil备份的vCenter Server ADAM数据库,则可以采取如下方式:
1、停止掉VirtualCenter Management Webservices、VirtualCenter Server和VMwareVCMSDS服务;
2、备份%ProgramFiles%\VMware\Infrastructure\VirtualCenter Server\VMwareVCDSDS下的内容;
备注:2008的路径是%ProgramData%\;
3、执行如下命令恢复前面用dsdbutil.exe备份好的东西到上述目录:
xcopy /os M:\Backup\VMwareVCMSDS\adamntds.dit "%ProgramFiles%\VMware\Infrastructure\VirtualCenter
Server\VMwareVCMSDS"
4、重启前面停掉的3个服务即可。
五、安装SRM提示“系统管理员设置了系统策略,禁止进行此安装”
故障状态,如图4
解决方法
1、打开“开始->控制面板->管理工具->本地安全策略”
2、点击“软件限制策略”,如果提示“没有定义软件限制策略”,那么就右键“创建软件限制策略”
3、创建后,双击右侧“强制”,选择“除本地管理员以外的所有用户”,确定。
六、主机从vCenter Server随机断开连接,但又立即重新连接到vCenter Server
故障状态:
主机从vCenter Server上随机断开进入无响应状态,但又立即重新连接到vCenter Server
故障分析:
这很有可能是由于网络不是特别稳定或网络流量太大导致,另一方面也可能是由于vCenter Server时间同步导致。
解决方案:
1、用ping命令一直跟踪主机,查看是否数据包有延时或丢包的现象。
2、如果 vCenter Server 上的系统时间调快了一分钟以上(如由于 vCenter Server 计算机上安装的时间同步软件的调整)
那么主机可能在很短的一段时间内显示为从 vCenter Server 断开连接,但又立即重新连接回 vCenter Server。VMware vSphere4.1和5.0均存在此情况,请尽快升级到5.0.1.
七、尝试查看虚拟机存储配置文件时,vSphere Client 显示一条错误消息
故障状态:
当vSphere Client连接到vCenter Server并尝试查看虚拟机的存储配置文件时,可能显示以下错误消息:VC 无法连接到http:/// sps/sdk 位置处的Profile-Driven Storage Service (VC is unable to connect to Profile-driven storage service at http:/// sps/sdk)。当存储配置文件服务和另一服务都配置为使用端口 31000 时,会发生端口冲突。vSphere Web Client 和 vCenter Orchestrator 可导致此冲突。
解决方案:
重新启动 vSphere Web Client 服务和 vCenter Orchestrator 配置服务。当重新启动这些服务时,它们将选择下一个可用端口。如果计算机上只存在或运行其中一个服务,您只需重新启动该服务。
八、vCenter Server 5.0 虚拟机可能会在清单中显示红色警告图标
故障状态:
在 vCenter Server 5.0 中,一些虚拟机可能会在清单中显示红色警告图标,然而虚拟机的 [警报] 选项卡却并未指示已触发任何警报。在打开和关闭虚拟机电源时会出现此情况。
解决方案:
在受影响的 ESX/ESXi 主机上重新启动管理代理。
重新启动 vCenter Server 服务。
从清单中移除 ESX/ESXi 主机,然后通过 vCenter 重新注册该主机。
移除并重新注册受影响的虚拟机。
上述都是临时的解决方式,VMware暂时未修正此BUG,更多Vmware相关产品的介绍,可参考网站相关栏目介绍。
1. 虚拟机文件被锁,无法正常 power on
故障状态:
启动虚拟机时95%,停顿并且进程中断,提示:ubable to access files since it is locked。
祸根:HA
解决方法:
(1)首先将cluster中的HA功能关闭。如果该功能不关闭,容易造成死锁,,VM不断跳动,,不断再不同的ESX内循环被锁,徒劳而无功。
(2)磁盘文件被锁,要解决,必须要知道到底是哪台ESX把他给锁住了,这是关键。
方法:看/var/log/vmkernel但是,在做这些前, 再准备些别的工作。
(3)在VC中,把被锁的VM从Inventory中remove掉。原因很简单,这是一个 unregister的过程。
(4)根据/var/log/vmkernel,搜索owner,可以找到类似以下的语句:
Oct 19 04:23:33 esx-hostname vmkernel: 3:06:29:47.992 cpu6:1656)FS3: 1975: Checking if lock holders are live for lock [type 10c00001 offset 52008960 v 380, hb offset 3554304 Oct 19 04:23:33 esx-hostname vmkernel: gen 17, mode 1, owner 48f5f637-462688bc-fd28-0e1a6434b6f8 mtime 38112]
OK,owner后面的48f5f637-462688bc-fd28-0e1a6434b6f8就是你的target了。 因为他就是锁住VM 的宿主.。
(5)根据以下命令,,找出到底哪台ESX的UUID是 48f5f637-462688bc-fd28-0e1a6434b6f8
[root@esxhostname root]# esxcfg-info |grep -i ‘system uuid’
(6)找到目标主机后,当然是杀死他锁住VM的进程。之所以会被锁,原因就是HA 把VM从别的HOST迁移过来,但是又没有unregister和register的过程,所以在第3步的时候,你查看VM的Summary的时候,host ip还是属于出问题的 host。 但是VM又被新的host霸王硬上功的power on,注册都没注册, 又怎么启动呢。找到 PID 用下面的命令:
ps -efwww|grep virtualmachine.vmx
找到 PID 后, kill -9 PID
(7)这时候,还要确定一件事情, .vswp文件的事情。这个是给台客处理问题时吸取的经验。就因为忽略了这个,所以在杀掉迚程后,重新注册VM,还说没有 SWAP文件,启动还是失败。
在 VM 启动时会自动生成SWAP,没有SWAP文件,其实就是因为 SWAP 存在了, 因为重名而导致无法正常生成。
进入到/vmfs/volumes/lunid/vm_path/下,vmkfs -d virtual_machine.vswp 或者进入Datastore Browser,在里面把SWAP文件删除也可。
(8)完全之策,你还可以进入到VM的SETTINGS–OPTIONS–SWAPFILE LOCATION, 对该保存的位置做下设置。
(9)重新注册VM。进入Datastore Browser,找到VM.vmx,add to inventory。
(10)启动 VM. Good Luck。
2. 忽视掉ESXi/vCenter Server提示SSH事件的方法
(1) vSphere Client连接到VC或者ESXi服务器;
(2) 在Home -> Inventory -> Hosts and Clusters里展开选中你的ESX服务器;
(3) 右边选择Configuration,然后点击Software栏目里的Advanced Settings;
(4) 在Advanced Settings里选择左边列表中的UserVars;
(5) 选中左边列表中的UserVars后,在右边拖到最下面,将UserVars.SuppressShellWarning的值改为1即可,不需要重启。
3. 尝试迁移一台带USB设备的VM失败
故障状态:
在执行虚拟机迁移向导时,如果系统检测到不兼容的USB设备存在,则系统会提示如下错误信息:
Currently connecteddevice ‘USB 1’ uses backing ‘path:1/7/1’,which is not accessible.
故障分析:
这种问题通常发生在为主机开启了VMDirectPath I/O支持下的USB Passthrough Devices功能,然后为特定的VMs分配了USB设备,比如:加密狗;
解决方案:
(1)确认USB设备能够被虚拟机识别和支持,并确保在添加USB设备到VMs时,勾选了with vMotion选项;
(2)在执行vMotion动作之前,重新尝试将USB设备添加到VMs;
(3)确认ESXi主机没被重启过,因为,ESXi主机重启之后,原本支持的vMotion WithvMotion功能将会失效。
4. Convert Linux系统的Troublshooting过程
(1)确认源转换Linux机器的OS在官方的支持列表中;
(2)拥有root权限;
(3)确认DNS的设定有没有问题,注意:应该同时在Linux和Windows都加上;
(4) 确认源Linux能够ping同ESX或vCenter的IP。如果在2%时失败,最大的可能就是权限问题或防火墙阻隔问题;
(5) 确认Linux允许SSH登陆进去。这个,可以帮助我们在converting的时候登录到Linux系统;
(6)确认是给helper virtual machine设定的静待IP,而不是DHCP获取的(如果网内没有DHCP服务器);
(7)确认源和目标都在同一子网。如果通过路由链接的不同子网可能会出错;
(8) 注意,converter不支持做了软阵列的Linux系统。可以用冷克隆光盘来做,它会把软阵列的设定为/dev/md0。
(9) VMware Converter Standalone的日志目录:C:Documents and SettingsAll UsersApplication DataVMwareVMware vCenter Converter Standalone,用于排错时用。
5. vCenter Service Status页面故障:Unable to retrieve health status
故障状态:
vCenter Server Status页面提示如下错误信息:
Unable to retrieve health status for vCenter inventory service
Unable to retrieve health status for VMware vSphere Profile-Driven storage service
执行vCenter Server的搜索动作时,提示如下错误提示:
Unable to connect to webservices to perform query.
Verify that the “VMware VirtualCenter Management WebServices” service running onhttps://<vcenter-host-name>:10443
故障分析:
这个问题一般都由于当vCenter Server服务发生了变更或全新安装了一台vCenter Server,但是数据库依然是原来的数据库导致;
解决方案:
替换掉vws.jar、jointool.jar和ds.jar文件即可,步骤如下:
下载本文附件中的vws.zip文件然后解压缩vws.jar、jointool.jar和ds.jar文件;
停止掉VirtualCenter Server服务以及VirtualCenter Management Webservices服务;拷贝vws.jar和jointool.jar到C:ProgramFilesVMwareInfrastructuretomcatwebappsWEB-INFlib覆盖掉原来的文件;拷贝ds.jar文件到C:Program FilesVMwareInfrastructureInventory Servicelib覆盖掉原来的文件;重新启动相关服务或vCenter Server服务器即可。
6. VMRC 控制台的连接已断开…正在尝试重新连接
故障状态:
用vSphere Client连接到ESXi 5.0的主机,启动其中的虚拟机后,无法连接控制台,打开控制台之后,窗口上方提示一行“VMRC 控制台的连接已断开…正在尝试重新连接。”
故障分析:
从情况看,类似于Windows系统的DEP策略处于开启状态导致的问题一样。但这个情况是所有虚拟机都提示这个错误,排错DEP的问题,用本地vSphere Client登录一个VC平台,问题仍旧一样。为了排除问题,换了一台笔记本登录VC,突然发现问题不见了。原来是本地的vSphere Client出了问题,再三思索,发现出现问题前我对本地WIN7用360安全卫士升级了补丁,是否是补丁破坏了vSphere Client某个文件呢
解决方案:
重现安装vSphere Client,问题解决。
7. 端口 80 的 vCenter Server 和 IIS 之间的冲突
故障状态:
vCenter Server 和 Microsoft Internet Information Service (IIS) 都将端口 80 用作直接 HTTP 连接的默认端口。该冲突会导致安装 vSphere Authentication Proxy 后 vCenter Server 无法重新启动。 在 vSphere Authentication Proxy 安装完成后, vCenter Server 无法重新启动。
故障分析:
如果安装 vSphere Authentication Proxy 时未安装 IIS ,则安装程序会提示您安装 IIS 。因为 IIS 使用端口 80 ,这是用于 vCenter Server 直接 HTTP 连接的默认端口, 所以 vCenter Server 在 vSphere Authentication Proxy。安装完成后无法重新启动。请参见第 32 页,“ vCenter Server 所需的端口” 。
解决方案:
要为端口 80 解决 IIS 和 vCenter Server 之间的冲突,请执行以下操作之一。
如果在安装 vCenter Server 之前已安装 IIS 将 vCenter Server 直接 HTTP 连接的端口由 80 更改为其他值。 如果在安装 IIS 之前已安装 vCenter Server 重新启动 vCenter Server 之前, 将 IIS 默认网站的绑定端口由 80 更改为其他。
8. 在 UEFI 模式下安装 ESXi 后主机无法引导
故障状态:
在 UEFI 模式下, 在主机上安装 ESXi 后重新引导时, 重新引导可能失败。 出现此问题的同时, 还显示一条类似于以下内容的错误消息: 发生异常网络错误。无可用的引导设备 (Unexpected network error. No boot device available)。
故障分析:
主机系统无法识别作为引导磁盘在其上安装 ESXi 的磁盘。
解决方案:
(1)屏幕上显示错误消息时,按 F11 显示引导选项。
(2)选择一个类似于添加引导选项的选项。该选项的文字可能有所不同,具体取决于您的系统。
(3)在安装 ESXi 的磁盘上选择文件 EFIBOOTBOOTx64.EFI 。
(4)更改引导顺序,以便主机从添加的选项引导。
9. 将 Microsoft SQL 数据库设置为不受支持的兼容模式会导致 vCenter Server 安装或升级失败。当数据库设置为不支持的版本的兼容性模式时,使用 Microsoft SQL 数据库的 vCenter Server 安装会失败。
故障状态:
将显示以下错误消息: 输入的数据库用户没有使用选定数据库安装和配置 vCenter Server 所需的必要权限。 请更正以下错误 : %s
故障分析:
数据库版本必须是 vCenter Server 支持的版本。 对于 SQL , 即使数据库是受支持的版本, 但如果将其设置为以不支持的版本的兼容性模式运行, 仍会发生此错误。 例如, 如果将 SQL 2008 设置为以 SQL 2000 兼容性模式运行,就会发生此错误。
解决方案:
请确保 vCenter Server 数据库是受支持的版本, 并且没有设置为以不支持的版本的兼容性模式运行。
10. 误删运行中的虚拟机,通过xx-flat.vmdk恢复方法
故障状态:误删了运行中的虚拟机,进入目录查看,只剩下xx-flat.vmdk文件,从文件的类型看,只是File格式,不是Virtual Disk格式,新建虚拟,选择添加已存在磁盘,提示不存在
解决方案:
(1)新建一虚拟机,不要创建硬盘
(2)用ssh的方式登录host,查找xx-flat.vmdk文件所在位置及目录,
(3)在上面这个文件相同目录下创建新xxx.vmdk文件,大小要和xx-flat.vmdk文件一样大,
用ls -la查看xx-flat.vmdk文件大小,
用vmkfstools -c 文件大小 -a lsilogic xxx.vmdk 来创建新磁盘文件
(4)将这个磁盘文件添加到新建的虚拟机中;
(5)用原文件xx-flat.vmdk覆盖新建的xxx-flat.vmdk(注意一定是-flat.vmdk),使用mv命令
(6)完成后开启虚拟机就可以了。