背景介绍

某企业虚拟化平台使用的软件版本为vsphere5.1,共享存储上每个lun都是1T的空间,今天检查时发现有一个lun的可用空间只剩下3%,于是开始寻找原因

排查步骤

1.首先使用ssh链接到Esxi物理主机,检查了该lun上运行的虚拟机,发现在该lun上只运行着一台虚拟机占用了964.2G的空间

虚拟机快照导致的存储告警_第1张图片

2.打开该虚拟机配置,发现该虚拟机配置了3个厚置备类型的硬盘,硬盘空间分别为40G、200、500G,算上swap交换分区的32G一共是772G,也不会达到964G的容量

虚拟机快照导致的存储告警_第2张图片

3.检查又发现在存储上该虚拟机置备的空间竟然是1.48T,这也就能理解为什么虚拟机磁盘使用量会超过772G

虚拟机快照导致的存储告警_第3张图片

4.登录这台虚拟机系统,查看虚拟机实际使用的磁盘空间只有258G,排出了问题出在虚拟机系统上的可能

虚拟机快照导致的存储告警_第4张图片

5.再次通过SSH工具链接到Esxi物理主机进入到该虚拟机目录进行查看,发现每个disk都有一个快照文件大小分别为1.7G、55.9G、134.5G,加上原来772G磁盘共计964.1G与图1中已使用的大小一致,得出问题的结果出在快照上

虚拟机快照导致的存储告警_第5张图片

6.检查该虚拟机快照,发现该快照是vRanger备份时创建的,备份结束后没有成功删除导致。删除快照释放空间,至此排查完成

虚拟机快照导致的存储告警_第6张图片

补充说明

给虚拟机尤其是厚置备的虚拟机做快照真是作死,以本次事件为例,做完快照后数据发生变化的部分会存储在772G空间之外的地方,由于虚拟机磁盘类型又是厚置备,所以实际使用的空间大小为:772+1.7+55.9+134.5=964.1G,而快照记录的是数据发生变化的部分,数据最大100%发生变化,即740G,此时虚拟机理论最大使用的空间为:(772+740)/1024=1.48T,这也就解释了该虚拟机的置备存储显示为1.48T的原因,最后总结一句,快照是方便,使用需谨慎。