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。

 

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

 

 

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

 

53、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,用于排错时用。

 

54、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虚拟机常见问题(2)_虚拟机文件然后解压缩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服务器即可。

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

故障状态:

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

故障分析:

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

解决方案:

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

 

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

 

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

故障状态:

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

故障分析:

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

解决方案:

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

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

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

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

 

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

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

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

故障分析:

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

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

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

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

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

61、持续较高的 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 分段卸载、较大内存页面和巨型帧)。
 
 

63vMotion虚拟机失败: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
 3vCenterTask & 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.
故障分析:
这种情况可能是由于虚拟机的硬件版本号为8WDDM驱动以及虚拟机的显存等问题导致;
解决方案:
 由于问题可能不是由于单一原因导致,因此,可根据如下方式分别进行故障排查处理:
 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保存关闭。
 
 

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

故障状态:
 1vCenter Server数据库迁移到一个拥有新主机名和IP地址的系统上时,VirtualCenter Management WebServices服务异常;
 2vSphere 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.
 3vSphere Client登录到vCenter Server后搜索之类的功能都无法使用;
 4vCenter 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服务器后,理论上即可恢复正常。
 
 

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

故障状态:
1、无法将管理网路迁移到ESXi 5.0所在的vDS上,提示如下错误信息:
  A specified parameter was not correct
2vCenter 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
 
 

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

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

67、如何生成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
 
 

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

 
 

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

故障状态:
冷迁虚拟机虚拟机到一台ESXi主机后,Power On时它自动跑到另一台ESXi主机上了;
故障分析:
这个事情,其实不算事情,只是由于DRSAutomation级别选定了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
、更改自动化级别为DisabledManual,即可。