你的存储空间被谁“吃”掉了?

戴尔易安信解决方案 2018-03-16

戴尔易安信解决方案

微信号 DellEMC_Enterprise
功能介绍 戴尔易安信解决方案专注于数字化转型中的前沿技术和解决方案,内容涵盖现代化基础架构、云计算、大数据、物联网及AI等,并通过对全球,特别是中国用户的成功实践案例分析和前沿技术解读,助力企业数字化转型,快人一步!


点击“戴尔易安信解决方案”快速订阅



春节七天乐,少不了亲朋好友大聚会,山珍海味面前,推杯换盏之间,“吗丁啉”和“健胃消食片”两兄弟常伴左右。年假过完,看着自己隆起的小肚腩,想必很多朋友都想释放掉新增的那一堆“米其林”。



其实,很多情况下,存储容量就像我们的肚腩过年一样,不停地被塞入各种数据,最后造成了存储“消化不良”。尤其在如今虚拟化大行其道的环境下,虚拟机的创建与删除比我们推杯换盏还快


在我们常用的“主机+VMware+存储” 环境下,出于业务要求,需要创建n多个虚拟机。使用一段时间后,大部分虚拟机要被删除,再重新创建。如此下来,我们常常会发现一个怪现象,在虚拟化层面,存储空间占用不是很多,但存储端空间已显示快满了,最终导致的结果是存储无法写入新的虚拟机


你的存储空间 被谁“吃”掉了?


举个例子,下图是一个客户生产环境截图:


VMware端显示,这个SC4020-1-7TB的LUN实际使用空间为6.84TB-3.61TB=3.2TB,存储端显示为5.7TB(磁盘占用)-1.44TB(RAID开销)=4.26TB。


VMware端


存储端


居然有将近1个TB的空间“消失”了,至于消失的原因嘛,请看下图:



通常情况下,操作系统对文件做的修改和删除仅仅是在文件头做了标记,而非彻底删除改动部分所占用的存储Block块。新增文件时,优先占用了磁盘的空位置,结果造成前端操作了很多删除和改动的操作,而存储的空间未能被真正释放,使得存储越用越满,甚至导致正常的写入都受到影响。


ESXi+白金服务 专治各种“消化不良”


如何让存储空间得到真正释放,今天我们主要针对当前最常用的VMware环境来举例。


方法一


对于古老的版本(ESXi5.0以前),升级吧!这个级别就像今天主流系统为Windows10,你却还在用Windows 98。


从ESXi 5.0开始,VMware增加了对存储VAAI的支持。


首先,我们通过命令来参考存储是否支持空间回收功能。


在ESXi主机shell或ssh的命令行下面:通过命令验证


#esxcli storage core device vaai status get

注意看最后一行提示,如果是unsupported,说明您的存储设备不支持空间回收功能。



  如果是Delete Status:supported,那么请继续。


对于部分坚持的Windows XP的用户,环境是5.0~5.1,VMware官方不太建议使用该功能,虽然可以在ESXi下通过一条叫做vmkfstools -y Percentage的命令实现,(percentage是百分比,代表想回收的空间比率)。示例如下:


# cd /vmfs/volumes/Datastore1

# vmkfstools -y 60

参考链接

在主流的5.5~6.0环境下,可以通过命令实现esxcli storage vmfsunmap -l VolumeName


譬如前文中示例的环境下:

#esxcli storage vmfsunmap -l SC4020-1-7TB


运行该命令前:


运行该命令后:


通过大约半小时的等待,我们在存储上成功回收了1.2TB的空间。


参考链接


当然,一劳永逸的方法也是存在的。其实ESXi在5.5以后的版本中,内嵌了自动空间回收的开关,但默认是关闭的。通过图形界面,就可以将其打开。



方法二


如果认为方法一比较复杂、困惑,最简单的方法是直接升级至ESXi 6.5、ESXi6.5,默认支持并开启了空间回收功能。


或许您还存在另一种担心,担心会带来“有其他并发症”,那么请移步方法三,终极绝招。


方法三


一般情况下,VMware提供的服务为5*8级别服务,软硬件服务分开,很多故障用户需要自行查询KB。


但是,如果您采用的是Dell EMC OEM版VMware的话,您可享受到的是7*24小时服务,配合Dell EMC白金服务,您可以获得最完善的售后服务,医治各种 “并发症”。记住,Dell EMC OEM版VMware+白金服务,私人医生般呵护,除了帮你解决身体问题(硬件),还会帮你提供膳食建议(OEM软件)

春天来了,也让你的存储瘦瘦身吧,业务运转不堵心!