2 Bronze

Thin LUN的空间回收和零空间回收有啥区别?

跳至解决方案

Virtual Provisioning支持空间回收和零空间回收,这两个在细节上有啥区别呢?

看到说零空间回收是指回收已经分配了但没有被使用的存储空间,感觉意义不是很大。

既然是Thin LUN,空间应该是按需分配的才对啊?如果空间使用达到限额需要扩容,系统按照一定的粒度分配存储空间以后,再有回收需求的场景应该也比较少吧?

标签 (3)
0 项奖励
1 解答

已接受的解答
5 Tungsten

Re: Thin LUN的空间回收和零空间回收有啥区别?

跳至解决方案

从通俗的角度上说,如果有10个KTV包间每个包间能容纳10个人.那么原来预定是100个人来,后来只来了20个人只占用了2个包间,那么吧台把剩余的8个包间回收--重新放入可以使用的包间列表中,那么这个是您说的那个意思.

从另外一个角度上看, 在Oracle中你把一个表指定写入一个只有一个datafile的tablespace,这个datafile有10GB,你的这个table只有500MB,那么作为DBA的你可以用命令把这分配的10GB的数据文件缩小。这个就是所说的回收已经分配的且没有使用的空间。当然,您必须密切注意这些预分配的空间的已经使用的和剩余空间的大小,否则得不偿失。

在原帖中查看解决方案

0 项奖励
2 回复数
5 Tungsten

Re: Thin LUN的空间回收和零空间回收有啥区别?

跳至解决方案

从通俗的角度上说,如果有10个KTV包间每个包间能容纳10个人.那么原来预定是100个人来,后来只来了20个人只占用了2个包间,那么吧台把剩余的8个包间回收--重新放入可以使用的包间列表中,那么这个是您说的那个意思.

从另外一个角度上看, 在Oracle中你把一个表指定写入一个只有一个datafile的tablespace,这个datafile有10GB,你的这个table只有500MB,那么作为DBA的你可以用命令把这分配的10GB的数据文件缩小。这个就是所说的回收已经分配的且没有使用的空间。当然,您必须密切注意这些预分配的空间的已经使用的和剩余空间的大小,否则得不偿失。

在原帖中查看解决方案

0 项奖励
3 Cadmium

Re: Thin LUN的空间回收和零空间回收有啥区别?

跳至解决方案

零空间回收和空间回收适用于两种不同场景。

我个人理解如下:

零空间回收: 把所有内容为0的数据块回收。只要内容为0就满足回收条件。

空间回收: 数据块内容不一定为0,但是空间确实在主机端已经释放了。比如:在主机端删除一个文件,出于性能考虑主机并不会把这个文件对应所有数据块都清除(通常是置0)。如果存储使用virtual provisioning分配方式,这些数据块在存储后端还是标记被使用的。

零空间回收存储单独就可以完成;空间回收至少需要主机端来配合。

virtual provisioning这种分配方式下空间回收的需求是取决于主机的使用习惯。如果主机数据经常删除、增加,空间回收操作会很有必要。如果这种需求不常见,VMware的VASA也不会出一个这个VSA API来支持空间回收。