首页 > 代码库 > VMware vSphere常见问题汇总(十七)
VMware vSphere常见问题汇总(十七)
170. Vmdk 的重做日志已损坏解题思路
[vmware-]环境:esxi5.0,vc5.0
故障问题:执行storage vmotion之后,虚拟机出现了报错。
报错信息:xssj-000003.vmdk is corrupted.power off the virtual machine. If the problem still persists, discard the redo log.
解提思路:
【故障原因】
由于快照之间的关系出现异常,导致vm启动失败:
Vmware-34.log:2013-01-14t08:36:53.885z| vmx| disklib-chain : "/vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/???è???3???? 184/xssj-000005.vmdk" : failed to open (the parent virtual disk has been modified 34.log:2013-01-14t08:36:53.886z| vmx| disklib-lib : failed to open ‘/vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/???è???3???? 184/xssj-000006.vmdk‘ with flags 0xa the parent virtual disk has been modified since the child was created. The content id of the parent virtual disk does not match the corresponding parent content id in the child (18).
Vmware-34.log:2013-01-14t08:36:53.886z| vmx| disk: cannot open disk "/vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/???è???3???? 184/xssj-000006.vmdk": the parent virtual disk has been modified since the child was created. The content id of the parent virtual disk does not match the corresponding parent content id in the child (18).
Vmware-34.log:2013-01-14t08:36:53.886z| vmx| msg_post: error
Vmware-34.log:2013-01-14t08:36:53.886z| vmx| [msg.disk.nobackend] cannot open the disk ‘/vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/???è???3???? 184/xssj-000006.vmdk‘ or one of the snapshot disks it depends on.
Vmware-34.log:2013-01-14t08:36:53.886z| vmx| [msg.disk.configurediskerror] reason: the parent virtual disk has been modified since the child was created. The content id of the parent virtual disk does not match the corresponding parent content id in the child.
Vmware-34.log:2013-01-14t08:36:53.900z| vmx| module diskearly power on failed.
【快照之间的联系】
正常情况下,原始磁盘与快照是通过parent content id来关联,父快照与子快照之间也是通过parent content id,但是现在我们查看原始磁盘与快照磁盘之间的关系,发现它们的cid和parentcid是混乱的,信息如下:
Xssj.vmdk:cid=ba60eb23
Xssj.vmdk:parentcid=ffffffff
Xssj-000001.vmdk:cid=27f8a456
Xssj-000001.vmdk:parentcid=ba60eb23
Xssj-000002.vmdk:cid=11ed1dac
Xssj-000002.vmdk:parentcid=27f8a456
Xssj-000003.vmdk:cid=2583a010
Xssj-000003.vmdk:parentcid=2583a010
Xssj-000004.vmdk:cid=2583a010
Xssj-000004.vmdk:parentcid=11ed1dac
Xssj-000005.vmdk:cid=4d38fabf
Xssj-000005.vmdk:parentcid=2583a010
Xssj-000006.vmdk:cid=9402bf1a
Xssj-000006.vmdk:parentcid=a30d0e91
可以看到这个磁盘关系从xssj.vmdk磁盘到xssj-000002.vmdk之间的关系都是没有问题的。
问题出在xssj-000002.vmdk之后的快照磁盘关联是混乱的。
通过如下记录,我们可以知道这几个磁盘之间的正确关系:
Xssj-000001.vmdk:parentfilenamehint="xssj.vmdk"
Xssj-000002.vmdk:parentfilenamehint="xssj-000001.vmdk"
Xssj-000003.vmdk:parentfilenamehint="xssj-000004.vmdk"
Xssj-000004.vmdk:parentfilenamehint="xssj-000002.vmdk"
Xssj-000005.vmdk:parentfilenamehint="xssj-000003.vmdk"
Xssj-000006.vmdk:parentfilenamehint="xssj-000005.vmdk"
磁盘之间的数据关系应该是:
Xssj.vmdkà xssj-000001.vmdkà xssj-000002.vmdkà xssj-000004.vmdkà xssj-000003.vmdkà xssj-000005.vmdkà xssj-000006.vmdk
【解决方案】
第一部分、确认上述的这个数据关系是正确的:
1. 使用vsphere client连接vcenter server或esxi server
2. 关闭虚拟机
如果虚拟机状态是关闭,请进入esxi server命令行再次确认进程是否已经不存在。
A. 进入esxi server命令行,查看tech support mode for emergency support (1003677) or using tech support mode in esxi 4.1 and esxi 5.x (1017910).
B. 输入“esxtop”
C. 按下“c”,按下“f”,按下“c”选中“c: lwid = leader world id (world group id)”,按下回车
B. 在这个面板中会列出“lwid”,找到这台vm,并记录“lwid”的号码 (如果在这个面板中已经没有显示这台vm,则不需要执行步骤e,这说明vm进程已经结束)
E. 按下“k”,输入虚拟机的lwid号码
3.进入虚拟机目录,命令如下:
#cd vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/<vm name>
注:由于该目录使用中文名称,所以显示是乱码,请复制这段乱码,然后加上双引号”<vm name>”就可以进入虚拟机目录
4. 输入如下命令:
# vi xssj.vmx
找到这一行信息“scsi0:1.filename = "xssj-000005.vmdk"”
按下“i”进入编辑模式,将这一行信息更改为“scsi0:1.filename = "xssj-000004.vmdk"”,按下“esc键”退出编辑模式,按下“:wq!”保存退出。
5. 在vsphere client上,找到虚拟机,右键点击“从清单中移除”。通过浏览虚拟机所在的数据存储,找到虚拟机的xssj.vmx文件,右键点击“添加到清单”,启动虚拟机
第二部分、更正各个快照磁盘之间的关系:
确认磁盘的关系以后,我们需要做的是修改快照磁盘中的cid和parentcid。方法如下:
注意:请执行以下操作之前,对vm所有文件进行备份。建议您可以拷贝这些虚拟机文件后,对复制出来的文件进行操作。
1. 进入esxi server命令行 ,通过ssh tools或dcui界面的方法登录。
2. 进入虚拟机目录,命令如下:
#cd vmfs/volumes/50f13506-075ed29b-86b5-5ef3fd359eab/<vm name>
注:由于该目录使用中文名称,所以显示是乱码,请复制这段乱码,然后加上双引号”<vm name>”就可以进入虚拟机目录
3. 修改快照磁盘之间的cid和parentcid.
A. # vi xssj-000003.vmdk
输出类似如下,按“i”进入编辑模式,按“esc键”退出编辑模式,按“:wq!”保存退出:
# disk descriptorfile
Version=3
Encoding="utf-8"
Cid=2583a010 à将这个参数修改成”1234b123”
B. #vi xssj-000005.vmdk
输出类似如下,按“i”进入编辑模式,按“esc键”退出编辑模式,按“:wq!”保存退出:
# disk descriptorfile
Version=2
Encoding="utf-8"
Cid=4d38fabf
Parentcid=2583a010 à将这个参数改成”1234b123”
C. #vi xssj-000006.vmdk
输出类似如下,按“i”进入编辑模式,按“esc键”退出编辑模式,按“:wq!”保存退出:
# disk descriptorfile
Version=3
Encoding="utf-8"
Cid=9402bf1a
Parentcid=a30d0e91 à 将这个参数改成“4d38fabf”
4. 以上步骤完成以后,修改xssj.vmx文件的磁盘指向:
A. #vi xssj.vmx
B. 找到scsi0:1.filename = "xssj-000005.vmdk"这一行,将“xssj-000005.vmdk”改成“xssj-000006.vmdk”
5. 将虚拟机从清单中移除。然后通过浏览数据存储,找到虚拟机的xssj.vmx文件,右键点击“添加到清单”,启动虚拟机。
171. 如何把中文的vCenter界面改成英文
看惯了英文界面的vCenter,再来看中文是否觉得有点变扭,其实修改很简单。右键属性打开vSphere Client,我们这里Client的默认安装位置为D:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher,如下图:
在“目标”的白框内加入“-locale en_US”如("D:\Program Files (x86)\VMware\Infrastructure\Virtual Infrastructure Client\Launcher\VpxClient.exe" -locale en_US")即可。
172. 关于Storage vMotion无法重命名虚拟机文件的问题(5.0U2)
如果要更改虚拟机的文件夹名称,光改Inventory是没用的,需要用Storage vMotion来完成,解决这个问题的方法如下:
1、vSphere Client登录到vCenter Server(注意,这里是vCenter Server);
2、点击Administration > vCenter Server Settings > Advanced Settings;
3、在弹出的Advanced Settings选项里,添加一个新参数,左边输入:
provisioning.relocate.enableRename
右边输入:true,然后点击Add按钮,添加,如下图所示:
4、重启vCenter Server服务器,搞定,从此以后,Storage vMotion就可以更改VM Folder和VM Files的名称了。
173. 虚拟机系统日志文件详解
除了事件和警报列表, vSphere 组件还会生成各种日志。 这些日志包含有关 vSphere 环
境中活动的详细信息。
1 、 查看系统日志条目
可以查看 vSphere 组件生成的系统日志。
访问和查看系统日志的步骤:
在连接 vCenter Server 系统或 ESX/ESXi 主机的 vSphere Client 的主页中, 单击系
统日志。 在下拉菜单中, 选择要查看的日志和条目。
选择查看 > 筛选以引用筛选选项。
在数据字段中输入文本。
单击清除以清空该数据字段。
2 、 外部系统日志
VMware 技术支持可能会请求多个文件以帮助解决您使用产品时遇到的任何问题。 本
节介绍在各种 ESX 4.0 组件系统上找到的日志文件的类型和位置。
ESX/ESXi 系统日志:
组件 位置
Syslog 日志 /var/log/messages
服务控制台可用性报告 /var/log/vmkernel
VMkernel 消息 /var/log/vmkernel
VMkernel 警示和可用性报告 /var/log/vmkernel
VMkernel 警告 /var/log/vmkwarning
虚拟机日志文件 vmware.log 与虚拟机的 .vmx 文件处于同一目录
虚拟机配置文件 /.vmx
位于与受管主机关联的数据存储中。 使用 vSphere Client 中的虚拟机摘要页面确定该文件所处的数据存储。
vSphere Client 系统日志:
组件 位置
vSphere Client 安装
vSphere Client 计 算 机 上 的 临 时 目 录 。 例 如 : C:\Documents and 日志 或 C:\Users\\LocalSettings\Temp\vmmsi.log
vSphere Client 服务日志
vSphere Client 计算机上 Application Data 目录中的 \vpx 目录。 例 如 : C:\Documents and Settings\\Local Settings \ApplicationData\vpx\viclient-x.log
或 C:\Users\\LocalSettings\ApplicationData\vpx\viclient-x.log x(=0, 1, ... 9)
注: 无法使用 vSphere Client 或 vicfg-syslog 配置 ESX 主机的 syslog 行为。 要配置 ESX 主机的
syslog , 必须编辑 /etc/syslog.conf 文件。
配置步骤:
1 在 vSphere Client 目录中, 选择主机。
2 单击配置选项卡。
3 单击高级设置。
4 在树控件中选择 Syslog 。
5 在 Syslog.Local.DatastorePath 文本框中输入 syslog 将用于记录消息的文件的数据
存储路径。 数据存储路径应采用 [< 数据存储名称 >] < 文件路径 > 的形式, 其中路径与备份数
据存储的卷的根目录相关。 例如, 数据存储路径 [storage1] var/log/messages 会映射到路径
/vmfs/volumes/storage1/var/log/messages 。 如果未指定路径, 则默认路径为 /var/log/messages 。
6 在 Syslog.Remote.Hostname 文本框中输入转发 syslog 数据的目标远程主机的名称。
如果未指定值, 则不转发任何数据。
7 在 Syslog.Remote.Port 文本框中输入转发 syslog 数据的目标远程主机端口。 默认情
况 下 , 此 选 项 设 置 为 514 , 即 syslog 使 用 的 默 认 UDP 端 口 。 只 有 配 置 了 Syslog.Remote.Hostname , 对此选项的更改才会生效。
8 单击确定。 对 syslog 选项的更改将立即生效。
4 、 导出诊断数据
可导出全部或部分日志文件数据。 当导出日志文件数据时, vm-support 脚本会创建所选数据的文件, 并将其存储在指定的位置。 如果没有指定任何其他扩展名, 则默认文件类型为 .txt 。 该文件包含类型、 时间和描述。
操作步骤:
1 从连接 vCenter Server 系统或 ESX/ESXi 主机的 vSphere Client 中, 选择系统管理
> 导出诊断数据。
2 如果 vSphere Client 连接 vCenter Server 系统, 请指定要导出日志的主机以及存储日
志文件的位置。
3 如果 vSphere Client 连接 ESX/ESXi 主机, 请指定日志文件的位置。
4 单击确定。
5 、 收集日志文件
A. 设置详细日志记录, 步骤如下:
设置步骤如下:
1 选择系统管理 > vCenter Server 设置。
2 选择日志记录选项。
3 在弹出菜单中选择详细。
4 单击确定。
B. 收集 vSphere 日志文件: 可以将 vSphere 日志文件收集到一个位置中。
实施步骤如下:
n 要查看 viclient-*.log 文件, 请更改为目录 %temp% 。
n 如果正在运行连接到 vCenter Server 系统的 vSphere Client , 请下载日志包。 日志
包生成为 .zip 文件。 默认情况下, 捆绑包中的 vpxd 日志压缩为 .gz 文件。 必须
使用 gunzip 才能解压缩这些文件。
n 从 vCenter Server 系统, 选择开始 > 程序 > VMware > 生成 vCenter Server 日志
包。 即使无法使用 vSphere Client 连接到 vCenter Server , 也可以通过此方式生成
vCenter Server 日志包。日志包生成为 .zip 文件。默认情况下, 捆绑包中的 vpxd 日
志压缩为 .gz 文件。 必须使用 gunzip 才能解压缩这些文件。
C. 使用服务控制台收集 ESX 日志文件
可以收集和打包所有相关 ESX 系统和配置信息以及 ESX 日志文件。 此信息可以用于
D. 关闭 vpxd 日志文件的压缩
默认情况下, vCenter Server vpxd 日志文件会汇总并压缩到 .gz 文件中。 可以关闭此设
置以保持 vpxd 日志为非压缩状态。
设置步骤:
1 通过 vSphere Client 登录 vCenter Server 。
2 选择系统管理 > vCenter Server 设置。
3 在键文本框中, 键入 log.compressOnRoll 。
4 在值文本框中, 键入 false 。
5 单击添加, 然后单击确定。
E. ESX/ESXi VMkernel 文件
如果 VMkernel 出现故障, 将显示一则错误消息, 然后虚拟机会重新引导。 如果在配
置虚拟机时指定了 VMware 核心转储分区, 则 VMkernel 还会生成核心转储和错误日
志。
VMkernel 中更为严重的问题会冻结计算机, 而且不出现错误消息或核心转储。
新版本vCenter日志位置:
在Windows 2003的默认设置中,日志文件都储存在
C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Logs
目录下;在Windows 2008中,日志文件默认储存在C:\ProgramData\VMware\VMware VirtualCenter\Logs目录下。
可想而知,C:\分区并不是用来储存日志文件的理想场所。我个人建议用一个单独的硬盘来储存日志文件,以免日志在一个运行程序的硬盘上堆积。你可以根据你的情况来决定使用多大的硬盘,并根据需要调整日志文件的存储数量和大小。
改变日志文件存储路径十分简单。打开vpxd.cfg文件,在<log>和</log>之间添加下面这行配置:
<directory>D:\VMware\Logs</directory> 改变日志文件的存储数量和大小也十分简单。下面这段设置定义了10个日志文件,每个日志文件的大小为10MB:
<maxFileSize>10485760</maxFileSize> <maxFileNum>10</maxFileNum> 更改设置之后,重启vCenter Service便可以生效。
174. 如何重置vSphere Data Protection的密码问题(5.1)
作为替代VDR的VDP,原产地Avamar,它比它的前辈VDR可是靠谱多了,它的部署文档我们也写过了,这里介绍下如果它的密码被改了之后,却又忘了则该怎么办的问题:
1、首先,重启下VDP这个vApp啦;
2、启动时进入到如Grub启动选但,然后输入字母e进入编辑模式,然后进入下一步;
3、输入init=/bin/bash,如下图所示的屏幕:
4、然后重启系统后,将会不要求密码,此时,输入:passwd root,就可以更改密码啦,如下图所示:
5、输入之后,按照提示保存,,如下图所示,输入字母y:
6、然后,重启这个VDP vApp即可搞定;
175.如何解决vcop5.6在web也没超时的问题(vcops5.6)
故障状态:
在vcops的WEB界面,进过一段时间无动作后,会提示超时,刷新后需要再次输入账号和密码。
解决方法:
1、进入UI VM虚拟机,输入账号root和密码,
用vi打开
标准版: /usr/lib/vmware-vcops/tomcat/webapps/vcops-vsphere/WEB-INF/web.xml
企业版 /usr/lib/vmware-vcops/tomcat-enterprise/webapps/vcops-custom/WEB-INF/web.xml
找到<session-timeout>30</session-timeout>,默认是30分钟,只要把该值改为-1(负1)即可实现解决超时的问题
176. 关于OVA-Vcenter无法使用AD账号登陆的问题
使用OVA的vcenter服务器后,发现”权限”中,添加“用户”,但用户无法显示AD域;在配置VC界面中https://yourip:5480/进入登陆界面,默认用户名是root密码是vmware,已经和AD域集成验证成功;
1、 登陆WEB界面,添加“标识源”,管理---配置---标识源,选择“密码”,输入AD账号例如:admin@域名,和账号密码验证,通过;
http://jacksuper.blog.51cto.com/2724857/1061597 如何添加标识源,请看连接,第40页。额外说明:
1、如访问WEB出现该错误“VPXD must be stopped to perform this operation”
请登陆VC 配置界面:例如https://VC的IP地址:5480/,重新启动VC服务即可,再次重新后发现“VPXD must be stopped to perform this operation”该报错已经没有了;
2、如登陆 WEB出现该错误 :请按以下4个步骤解决;
Failed to connect to VMware Lookup Service – SSL Certificate Verification Failed;
1. Log in the VCSA itself via https://<vcsa-name>:5480
2. Navigate to the ‘Admin’ tab
3. Turn ‘Certificate regeneration enabled‘ to ‘yes‘ by using the ‘Toggle certificate setting‘ button
4. Reboot the vCenter Server Appliance
177.vCenter“性能”界面出现“该页无法显示”
故障现象:
登录vCenter界面后,选择主机,在右界面点击“性能”出现“该页无法显示”
故障分析:
“性能”界面需要调用浏览器和主机名(IP)的网页地址,如主机名或IP出现错误页面无法显示。
解决方法:
1、 查看vSphere client,确认浏览器是否过低。
2、 点击“系统管理”—“vCenter Server设置”—“运行时设置”,查看vCenter Server名称,然后选择“高级设置”,找到值带有“http”的数值,IP或主机名称是否和vCenter Server名称一致。
178.存储锁导致无法打开虚拟机
故障现象:
打开虚拟机出现Failed to add disk scsi0:1. Failed to power on scsi0:1报错
在日志显示
?Unable to open Swap File
?Unable to access a file since it is locked
?Unable to access a file <filename> since it is locked
?Unable to access Virtual machine configuration
故障分析:
该问题是由于存储锁导致
解决方法:
A.关机关闭整个环境,关机顺序:
关闭虚拟机内应用—关闭虚拟机—关闭ESXi—关闭存储阵列—关闭光纤交换—关闭总电源
开机顺序:
与关机顺序相反
B.请参考该KB:http://kb.vmware.com/kb/10051
179.VMware部分兼容性列表查询(1)
一、如何在兼容性列表中查询服务器的兼容性:
1.登陆到http://www.vmware.com/resources/compatibility/search.php
2. system(服务器)
3.keyword search输入您现在所使用的服务器型号
二、如何在兼容性列表中查询存储的兼容性:
1.登陆到http://www.vmware.com/resources/compatibility/search.php
2. Storage/San
3. keyword search 输入您现在所使用的存储型号
三、如何在兼容性列表中查询网络设备的兼容性:
1.登陆到http://www.vmware.com/resources/compatibility/search.php
2. IO/Devices
3. keyword search 输入您现在所使用的网络设备型号
VMware vSphere常见问题汇总(十七)