继上个问题, SVC 存储网关 精简自动配置VDISK 使用情况警报。专家提出使用ESXI 工具在SSH 命令行情况下对空间进行回收。
仍存在的疑惑:如果不对应用层(VMWARE 虚拟化层)进行回收,因为VMWARE存储使用情况远远未达到使用上线,那么当应用层继续写入数据,SVC 的VDISK 被撑满后,是否有丢失数据,LUN被写坏的风险。
从网上一些文档看到:SVC层无法了解到上层VMWARE 使用的情况,VMWARE 删除完文件后,只是把块只是从一种状态改为另一种状态,但是底层LUN无法知道这个变化。举例: 块状态 0,X,Y。 0表示从未使用,X 表示已经使用,Y 表示被删除可以重用。 假设 精简LUN 为20T(上限), VMDK (精简模式)文件为上限20T。当写入文件到VMDK时,VMDK文件不段的涨大,造成LUN使用空间不停的涨大。此时,当VMDK 导入一个15T的大文件,VMDK 直接涨到了15T,LUN撑到15T。然后在虚拟化VCENTER 中 对该LUN 上层VMFS卷进行回收空间,删除15T文件,此时15T的VMDK文件并未缩小,仍显示15T。当我们继续写入文件时,VMDK文件仍继续涨大,直至撑到20T,那么这个时候,LUN也是如此,一直撑到20T。 当存储VMDK仍有0状态块时,应用会先写0状态的块,VMDK 会一直涨大,直到到所有0标志的块用完,然后再来使用Y状态的块。得到的结论是:可以忽略SVC空间告警。
请问以上这种说法和结论是否属实?
收起