VMware VMFS文件系统元数据不一致问题处理
原创 李严省 虚实之路 2018-09-09
问题现象
客户VMware主机通过二个光交换机连接至存储,其中一个光交换机出现故障,FC链路切换至另外一个光交换机,然后esxi主机出现部分虚拟机无法访问,即变为灰色状态不可访问状态。经过统计所有变为灰色不可访问的虚拟机都存储在同一个存储,但这个存储中的部分其它虚拟机是正常访问。
问题验证
阶段1:
首先认为是不可访问的虚拟机被锁住了,使用如下命令行去查询哪个esxi主机锁住了虚拟机文件
(命令行仅供参考)
输出结果如下(输出结果仅供参考):
的确出现了锁住该虚拟机的esxi主机的mac地址,然后找到该mac对应的esxi主机,ssh登录到该esxi主机,运行如下命令查询是否运行虚拟机
命令输出结果为空,即该esxi主机没有运行任何虚拟机,客户说该主机已经重启过。
阶段2:
通过上面的验证,说明虚拟机不是因为被锁住而无法访问虚拟机。SSH登录esxi主机,使用vi查看虚拟机的日志文件vmware.log,发现文件无法打开,复制vmware.log到其它目录或下载到PC电脑,都报读取错误。
查看vmkernel.log日志,发现如下错误信息:
5762cd03-0df4b321-83bd-e8611f13fece对应的volume即无法访问虚拟机所在的存储空间。通过google进行搜索查询关键字,从官方kb库说明可能是由于vmfs文件系统元数据出现了内容不一致,因此导致这个卷下的部分虚拟机能正常使用,而部分虚拟机或文件无法正常访问。
问题解决步骤
使用esxi自带的命令行解决该问题,需要做如下准备:
-
迁移正常的虚拟机到其它存储空间
-
从所有esxi主机卸载有问题的存储
-
把无法访问的虚拟机从清单中移除
-
使用如下命令行检查存储是否存在extent (该命令不支持extent存储)
经过以上准备后,使用如下命令进行检查vmfs文件系统元数据检查:
……
经过检查后,vmfs元数据的确存在错误,使用如下命令进行修复:
…….
从修复命令输出可以获知部分错误已经修复,然后浏览存储,重新注册无法访问的虚拟机到目录清单,然后虚拟机就能正常打开电源,问题解决!
本次问题解决的关键是:
-
学会使用google
-
学会查看esxi日志