故障描述

前几天,我突然发现,自己的 ESXI 服务器重启之后,所有的数据存储(本地)都不见了,表现为可以扫描到存储设备,但是在数据存储栏目下看不到存储卷,甚至连 system 的存储卷都看不到了,ESXI 系统虽然可以正常加载启动,但是机器上所有的虚拟机都显示异常,处于无法访问的状态,提示无法连接到数据存储。

解决方法

高风险提示
以下操作可能会造成无法挽回的数据丢失,请您谨慎操作!!!

首先我先通过 VMware vSphere Client 对存储设备进行了卸载,再重新挂载,回去看数据存储的状态。我发现依然是存储设备挂载正常,而数据存储没有显示。然后去扫描未被使用的存储设备,很遗憾的是并没有扫描到任何数据存储。

使用 ssh 登录到 ESXI 物理机,使用 df -h 命令查看,发现本地存储没有被挂载,然后我通过以下命令重新手动挂载了本地存储。

1
2
3
4
# 列出存储卷信息
esxcfg-volume -l
# 挂载指定的存储卷
esxcfg-volume -m VOLUMEID

手动挂载后,在 ESXI 上就找回了丢失的本地数据存储。

本以为这个故障就此排除了,但是重启服务器后,本地数据存储再次丢失,需要手工挂载。

仔细观察存储设备的详细信息,我发现存储设备中的分区信息并没有丢失。

存储设备的分区信息

对于这类故障,我们可以通过添加存储器,并保留现有的签名,来恢复数据存储。

使用 VMware vSphere Client 登录 ESXI 主机,在“配置 → 存储器 → 数据存储”中单击“添加存储器”,在“选择磁盘/LUN”中选择存储,在“选择 VMFS 挂载选型”选择“保留现有的签名”,最后点击“完成”,此时数据存储挂载成功,虚拟机列表随之恢复。

虚拟机列表恢复