VMware LUN分区表丢失导致数据存储不活动

VMware平台中部分关闭的虚拟机状态变成了“不可访问”,虚拟机所在的数据存储显示“不活动”,更奇怪的现象是集群中主机显示共享数据存储的状态不相同,切换到存储清单发现各个数据存储只有在有虚拟机运行的主机上状态是正常的。

仔细查看数据存储的状态发现和正常的VMware平台还是有不同之处看下正常的状态如下图

11

看看出问题的数据存储,注意红色框框

22

连大小信息都没有读到,看来是某些信息丢失了,重新扫描数据存储后尝试添加发现居然能添加显示不活动的数据存储,这状况也不像标签丢了。

查看VMware KB后最有可能的情况是LUN分区表丢失导致数据存储不活动,至于原因呢。看KB的描述:

可能原因:
这些错误会发生在当ESX/ESXi在使用分区表的同时,该分区表被删除。这可能是其它操作系
统对其可见的卷进行初始化导致的结果。例如:
• 安装一个新的操作系统时,会删除或覆盖这些卷上的分区表,比如Windows2008
• 在一个操作系统被安装后,也有可能去覆盖其可见卷的分区表,比如ESXi
• ESX安装程序会选择去覆盖一个已经存在的VMFS数据存储的分区表
• 自动安装程序比如kickstart, jumpstart或磁盘镜像软件比如ghost,可能会覆盖VMFS数据存储的内容
• 磁盘工具如fdisk, parted或dd,可能被手工或程序调用移除或更改LUN的分区表
• 存储阵列发生故障也可能影响卷的内容
• 如果卷被同时分配给ESX/ESXi和非ESX/ESXi的系统,上述或类似的情况可能会发生。

为了避免上述情况的发生,将卷限制给那些信任的,并且要求访问VMFS数据存储的服务器使用

想想最近确实有回收集群中的部分主机他用,而且在没有取消LUN的映射关系的情况下安装了Windows操作系统。确定了故障的原因开始修复呗。

开启ESXi主机SSH服务,登录到ESXi命令fdisk -l 查看主机挂在磁盘的状态,发现部分磁盘的分区表确实丢失了,怪不得主机连数据存储的类型都不识别了。

fdisk -l 后会输出类似如下内容:

...
Disk /dev/disks/naa.600a0b8000503f1a0000183853bdf34d: 629145600 sectors,  600M
Logical sector size: 512
Disk identifier (GUID): aa155a93-d487-4f89-b56a-41a8a1ebd2df
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 629145566

Disk /dev/600a0b8000503f1a0000183853bdf34d doesn't contain a valid partition table

看到这个先不要急,比较之前不活动的数据存储naa是否相同,如果相同那基本可以判断是VMware LUN分区表丢失导致数据存储不活动了。

直接运行命令fdisk -u /dev/disks/naa.600a0b8000503f1a0000183853bdf34d
1.按n并按回车来创建一个新的分区
2.按p并按回车来选择该分区为一个主分区
3.按1并按回车做为第一个分区
4.按128并回车调整分区到扇区128
5.再按回车来保留缺省数据
6.按t并按回车.分区1被自动选择
7.按fb并按回车:将分区类型更改为fb(VMFS)
8.按w并按回车来保存
9.运行vmkfstools -V并按回车来发现VMFS

再重新扫描数据存储,丢失分区表的LUN就回来啦。

数据第一!谨慎操作 :)

《VMware LUN分区表丢失导致数据存储不活动》有1个想法

  1. 博主,您的情况跟我们现在一样,能方便跟您联系一下吗?您的LUN回来之后,LUN里面的数据还在吗??

发表评论

电子邮件地址不会被公开。 必填项已用*标注