50、虚拟机文件被锁,无法正常 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。

 

、忽视掉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即可,不需要重启。

 

 

、尝试迁移一台带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功能将会失效。

 

、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 Settings\All Users\Application Data\VMware\VMware vCenter Converter Standalone,用于排错时用。

 

、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:\ProgramFiles\VMware \Infrastructure\tomcat\webapps\WEB-INF\lib覆盖掉原来的文件;拷贝ds.jar文件到C:\Program Files\VMware\Infrastructure\Inventory Service\lib覆盖掉原来的文件;重新启动相关服务或vCenter Server服务器即可。

 
、VMRC 控制台的连接已断开…正在尝试重新连接

故障状态:

用vSphere Client连接到ESXi 5.0的主机,启动其中的虚拟机后,无法连接控制台,打开控制台之后,窗口上方提示一行“VMRC 控制台的连接已断开...正在尝试重新连接。”

故障分析:

从 情况看,类似于Windows系统的DEP策略处于开启状态导致的问题一样。但这个情况是所有虚拟机都提示这个错误,排错DEP的问题,用本地 vSphere Client登录一个VC平台,问题仍旧一样。为了排除问题,换了一台笔记本登录VC,突然发现问题不见了。原来是本地的vSphere Client出了问题,再三思索,发现出现问题前我对本地WIN7用360安全卫士升级了补丁,是否是补丁破坏了vSphere Client某个文件呢

重现安装vSphere Client,问题解决。

 

、端口 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 更改为其他。

 

、在 UEFI 模式下安装 ESXi 后主机无法引导

故障状态:

在 UEFI 模式下, 在主机上安装 ESXi 后重新引导时, 重新引导可能失败。 出现此问题的同时, 还显示一条类似于以下内容的错误消息: 发生异常网络错误。无可用的引导设备 (Unexpected network error. No boot device available)。

故障分析:

主机系统无法识别作为引导磁盘在其上安装 ESXi 的磁盘。

1 屏幕上显示错误消息时,按 F11 显示引导选项。

2 选择一个类似于添加引导选项的选项。该选项的文字可能有所不同,具体取决于您的系统。

3 在安装 ESXi 的磁盘上选择文件 \EFI\BOOT\BOOTx64.EFI 。

4 更改引导顺序,以便主机从添加的选项引导。

 

、将 Microsoft SQL 数据库设置为不受支持的兼容模式会导致 vCenter Server 安装或升级失败

当数据库设置为不支持的版本的兼容性模式时,使用 Microsoft SQL 数据库的 vCenter Server 安装会失败。

故障状态:

将显示以下错误消息: 输入的数据库用户没有使用选定数据库安装和配置 vCenter Server 所需的必要权限。 请更正以下错误 : %s

故障分析:

数据库版本必须是 vCenter Server 支持的版本。 对于 SQL , 即使数据库是受支持的版本, 但如果将其设置为以不支持的版本的兼容性模式运行, 仍会发生此错误。 例如, 如果将 SQL 2008 设置为以 SQL 2000 兼容性模式运

行,就会发生此错误。

解决方案:

u 请确保 vCenter Server 数据库是受支持的版本, 并且没有设置为以不支持的版本的兼容性模式运行。

、误删运行中的虚拟机,通过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. 完成后开启虚拟机就可以了

、在view桌面中,Win7下安装出现软件出现“系统管理员设置了系统策略,禁止进行此安装”的提示

解决方案:
1
、打开“开始
->
控制面板
->
管理工具
->
本地安全策略”
->
点击“软件限制策略”,如果提示“没有定义软件限制策略”,那么就右键“创建软件限制策略”
->
创建后,双击右侧“强制”,选择“除本地管理员以外的所有用户”,确定
2
windows
开始菜单,运行里面输入
gpedit.msc
打开组策略
,
在“计算机配置”→管理模板→
windows
组件→
windows installer
,右边
第一项就是禁用
windows installer
。把它改成
“未配置”后者“已禁用”就可以了。
3
、删除
HKEY_CLASSES_ROOT\Installer\Products\4080110900063D11C8EF10054038389C
注册表项目。(建议使用此法,能解决大多数你出现的情况,在运行栏里输入
regedit
进入注册表,按照以上路径找到项目删除就可以了)
 
 

、持续较高的 CPU 使用情况的解决方案

故障状态:
CPU
使用情况中的临时高峰表示
CPU
资源的使用情况最佳。持续较高的
CPU
使用情况可能表示存在问题。
您可以使用
vSphere Client CPU
性能图表监控主机、群集、资源池、虚拟机和
vApp
CPU
使用情况。
问题
n
主机
CPU
使用情况一直很高。
CPU
使用情况值较高时会增加主机上虚拟机的就绪时间和处理器列队。
n
虚拟机
CPU
使用情况超过
90%
,且
CPU
就绪值超过
20%
。应用程序性能将受到影响。
原因
主机可能缺少满足要求所需的
CPU
资源。
解决方案:
n
验证是否在主机的每台虚拟机上均安装了
VMware Tools
n
将主机上或资源池中其他虚拟机的
CPU
使用情况与此虚拟机的
CPU
使用情况值进行比较。
主机的虚拟机
视图上的堆栈条形图显示主机上所有虚拟机的
CPU
使用情况。
n
确定虚拟机就绪时间过长是否由其
CPU
使用情况时间达到
CPU
限制设置所致。
如果出现这种情况,
请增
加虚拟机上的
CPU
限制。
n
增加
CPU
份额以给予虚拟机更多机会运行。
如果主机系统受到
CPU
约束,
则主机上的总就绪时间可能仍
维持在相同级别。如果主机就绪时间没有减少,则为高优先级虚拟机设置
CPU
预留,保证它们收到所需
要的
CPU
周期。
n
增加分配给虚拟机的内存量。此操作会减少所缓存应用程序的磁盘和
/
或网络活动。这可能会降低磁盘
I/O
,并减少主机对虚拟化硬件的需求。具有较少资源分配的虚拟机通常可累积更多的
CPU
就绪时间。
n
将虚拟机上的虚拟
CPU
数量减少到执行工作负载所需要的数量。例如,四路虚拟机上的单线程应用程序
只能从单个
vCPU
中受益。
而管理程序还需维护三个空闲
vCPU
占用本可用来处理其他工作的
CPU
周期。
n
如果主机不在
DRS
群集中,则将它添加到一个群集中。如果主机在
DRS
群集中,则增加主机数,并将一
个或多个虚拟机迁移到新主机上。
n
如有必要,请在主机上升级物理
CPU
或内核。
n
使用最新版本的管理程序软件并启用
CPU
节省功能(例如
TCP
分段卸载、较大内存页面和巨型帧)。
 
 

vMotion虚拟机失败:A general system error occurred:Failed to flush checkpoint

故障状态:
 1
、尝试
vMotion
一台虚拟机失败,提示如下错误信息:
 A general system error occurred:Failed to flush checkpointt data!
 2
、此时故障虚拟机的设定如下:
 
•分辨率大于
1280x1024
或小于第二个屏幕的分辨率;
 
•显卡驱动选用了
WDDM
 
•虚拟机的硬件版本号为
8
 3
vCenter
Task & Events
里的详细错误描述如下:
 
An I/O error occurred while saving the checkpont:0(Resource temporarily unavailable)
 
Failed to write checkpoint data(offset xxxxxxxx,size xxxxx):Failed to resum VM
 4
、在虚拟机的
vmware.log
日志文件里有类似如下信息:
 .vmx| MigrateSetState: Transitioning from state 9 to 11.
 .vmx| Migrate_SetFailure: Failed waiting for data.  Error bad0006. Limit exceeded.
 
.vmx|
.vmx| Migrate: cleaning up migration state.
.vmx| MigrateSetState: Transitioning from state 11 to 0.
.vmx| Msg_Post: Error
.vmx| [vob.vmotion.chkpt.toobig] vMotion migration [XXXXXXXX:xxxxxxxxxxxxxxxx] failed. The checkpoint data length (xxxxx bytes) or the offset (xxxxxxxx bytes) exceeds the maximum checkpoint data length (xxxxxxxx byte).
.vmx| [msg.moduletable.powerOnFailed] Module Migrate power on failed.
故障分析:
这种情况可能是由于虚拟机的硬件版本号为
8
WDDM
驱动以及虚拟机的显存等问题导致;
解决方案:
 
由于问题可能不是由于单一原因导致,因此,可根据如下方式分别进行故障排查处理:
 1
、将屏幕的分辨率调整一下,小于
1280x1024
或和第二块屏幕的分辨率相等;
 2
、不要将虚拟机的硬件版本号升级为
8
 3
、增加
checkpoint cache size
,将它从
8MB
升级到
16MB
,方法如下:
 
•关闭虚拟机后右击虚拟机点击
Edit Settings
 
•在弹出的对话框中找到
Options
页标签后选择
Advanced
选项,在
General
下选择
Configuration Parameters
 
•点击
Add Row
后输入如下参数:
migrate.baseCptCacheSize
值设定为后点击
Ok
应用更改;
 4
、将
mks.enable3d
的值设定为
TRUE
,步骤如下:
 
•关闭虚拟机后右击虚拟机点击
Edit Settings
•在弹出的对话框中找到
Options
页标签后选择
Advanced
选项,在
General
下选择
Configuration Parameters
•点击
Add Row
后输入,将值设定为
True
后点击
Ok
保存关闭。
 
 

、迁移完成vCenter Server数据库到新主机后,VirtualCenter Management WebServices不对

故障状态:
 1
vCenter Server
数据库迁移到一个拥有新主机名和
IP
地址的系统上时,
VirtualCenter Management WebServices
服务异常;
 2
vSphere Client
登录服务器时,看到
Performance Overview Charts
报错如下:
   General report generation exception
   Perf Charts service experienced an internal error.
   Message: Report application initialization is not completed successfully. Retry in 60 seconds.
 3
vSphere Client
登录到
vCenter Server
后搜索之类的功能都无法使用;
 4
vCenter Service Status
显示
VirtualCenter WebServices
和很多其它服务都处于离线状态,
 
报如下错误信息:
Unable to retrieve health data from https://localhost:8443
Service initialization failed.
故障分析:
 
vCenter Server
的数据库被迁移到新位置后,必须要更改
DSN
的信息,然而,
Tomcat Server
的设定却不会随之变化,因此,我们需要对
Tomcat Server
进行修改之后才能正常,
Tomcat Server
被用于支持
VirtualCenter Management Webservices
服务运行;
解决方案:
解决方案就是进入到
Tomcat Server
的配置文件里,找到
database_name.propeties
,通常位置如下:
 •W2K3 - C:\Documents and Users\All Users\Application Data\VMware\VMware VirtualCenter\
 
W2K8 - C:\ProgramData\VMware\VMware VirtualCenter\
修改
Tomcat Server
的数据库位置方法如下:
 1
、文本文件打开
database_name.properties
,找到如下内容:
url=jdbc:sqlserver:/DB_hostname\\DB_instance;databaseName\=database_name;integratedSecurity\=true
 2
、修改上述文档中对应位置的数据库的对应主机名或
IP
地址;
 3
、重启
VMware VirtualCenter Management Webservices
服务或重启
vCenter Server
服务器后,理论上即可恢复正常。
 
 

、在ESXi 5.0里,无法将管理网路迁移到vDS

故障状态:
1
、无法将管理网路迁移到
ESXi 5.0
所在的
vDS
上,提示如下错误信息:
  A specified parameter was not correct
2
vCenter Server
上有类似如下的错误消息:
  Call "HostNetworkSystem.UpdateNetworkConfig" for object "networkSystem-121" on vCenter Server "vCenter in vmanager.local" failed.
3
、在
hostd.log
日志文件里,可以看到类似如下的日志信息:
2012-02-10T15:54:09.649Z [FFE92A90 error 'NetworkProvider' opID=DA1DFDC2-00001B02-41] Unknown port type [0]: convert to UNKNOWN.
2012-02-10T15:54:09.721Z [FFE92A90 info 'NetworkVmkSimulator' opID=DA1DFDC2-00001B02-41] Portgroup Management Network has 1 client[s] connected to it
2012-02-10T15:54:09.721Z [FFE92A90 info 'HostsvcPlugin' opID=DA1DFDC2-00001B02-41] Simulate failed
故障分析:
这个问题一般都是由于网路的
coredump
功能有问题导致的;
解决方案:
确认这个
coredump
功能处于
enabled
状态,方法如下:
#esxcli system coredump network get
Enabled: true
Host VNic: vmk0
Network Server IP: XXX.XXX.XXX.XXX
Network Server Port: 6500
也可以利用
esxcfg-vswitch -l
的输出结果来确认:
PortGroup Name VLAN ID Used Ports Uplinks
 
Management Network 10 2 vmnic0
例如,如果要在上述的网路卡上关闭
coredump
的话,可以执行如下命令:
#esxcli system coredump network set --enable false
 
 

、克隆虚拟机失败:Invalid configuration for device '0'

故障状态:
 1
、无法克隆虚拟机,克隆是出错:
 Failed to clone a VM,error:Invalid configuration for device "0"
 2
、克隆到
99%
时失败;
 
故障分析:
 
这种问题可能是由于
UTC
时钟不同步的缘故;
 
解决方案:
 1
vSphere Client
连接到
vCenter Server
,点击
Configuration
页标签;
 2
、点击
Software
面板下的
Time Configuration
选项,点击
Properties
 3
、确认时间是否有问题,如果有问题,做好时间同步:
 
•点击
Software
面板
-> NTP Configuration -> Options -> NTP Settings
 4
OK
,重启下服务。
 
 

、如何生成ESXi的新证书

通常,只有当更改主机名称或意外删除证书时,才要生成新证书。在某些情况下,可能需要强制主机生成新的证书。
a
、登录
ESXi Shell
并获取
root
特权。
b
、在
/etc/vmware/ssl
目录中,备份现有证书,方法是使用以下命令对其进行重命名。
mv rui.crt orig.rui.crt
mv rui.key orig.rui.key
  
注意
如果由于删除了证书而需要重新生成这些证书,则不必执行此步骤。
c
、运行命令
/sbin/generate-certificates
生成新的证书。
d
、运行命令
/etc/init.d/hostd restart
重新启动
hostd
进程。
e
、通过执行以下命令并将新证书文件的时间戳与
orig.rui.crt
orig.rui.key
进行比较,来确认主机是否已成功生成新证书。
   ls -la
 
 

、如何删除vCenter中无用的插件

 
 

、冷迁虚拟机到ESXi主机后,它会自动迁移到另一台ESXi主机上

故障状态
:
冷迁虚拟机虚拟机到一台
ESXi
主机后,
Power On
时它自动跑到另一台
ESXi
主机上了;
故障分析
:
这个事情,其实不算事情,只是由于
DRS
Automation
级别选定了
Fully Automated
导致;
解决方案
:
1
、点击指定的虚拟机的
Tasks and Events
页标签;
2
、点击
Events
,里面可以看到:
DRS migrated xxxx from hostxx to host xxx
3
、找到
DRS Cluster
,右击
Edit Settings
,在
DRS Settings
下点击
Virtual Machine Options
4
、更改自动化级别为
Disabled
Manual
,即可。