【IT168 资讯】TSM Reclaimation主要是指将磁带重新声明成为一盘新的磁带,并且放到scratch pool里面的动作。此处只适合sequential media,也就是磁带存储池。
由于备份的内容指定了过期时间,或者备份对象已经被删除了,TSM会将这些保存在磁带上的备份数据标记成为“expired、deleted”。然后由定期的expire inventory将这部分空间mark 成为virtual free space 显示在pcnt util里面。
但是此时的磁带上,数据并未真正的删除,仅仅是被标记而已。而且这些fake data和real data混杂在一起,导致该vol被restore调用的时候,变得很慢。因为同一个file space里面可能同一次备份进来的内容,但是不一定都还是latest version,就会造成断断续续的碎片。
这时TSM就可以通过stgpool的reclaim参数调整,来实现对磁带的整盘回收。可以reclaim的数据就是指那些无用的碎片,当这些碎片占的比例达到reclaim threshold的时候,这盘磁带将会被reclaim。比如一盘磁带上的无用碎片达到了64%,而reclaimhold值为50%,那么将会触发对这盘磁带的回收。
下面是一些reclaim的要点:
1、reclaim只能启动一个进程,如果启动多个将会报错,尽管你有多余的driver
2、reclaim通常情况每60分钟调用一次,也就是说改过参数以后一个小时内,reclaim就会开始。因此必须选择非关键备分时间进行,否则可能映像正常备份任务
3、如果只有一个driver,那么reclaim必须指定磁盘stgpool作为reclaim pool,否则reclaim会失败(根据磁带空闲空间和须导出数据而定)
4、reclaim仅对full的磁带进行,如果一个磁带还没有写满,reclaim不会关心它
5、如果选择了reclaim pool,请一定要记住:将这个stgpool的next pool设置成为正在被reclaim的stgpool,否则导出的数据无法导回去,reclaim将会失败
6、reclaim操作可以手工触发,reclaim stgpool ,可以指定时间限制
注意:
一定要跟coallocation分别开,那个仅仅是按照node等选项分组数据,可以在一开始写入的时候就进行了。
coallocation可以不是必需的,确切说有很多时候都不会这样用,这只是一个改善性能的选项。
reclaim就几乎是必须的,想搭建一套完善的强壮的几乎不用怎么维护的TSM,就一定得用到这个东西了。否则,没用多久,就得加磁带了。
另外提一点,有时候stgpool里面还有空间,但是零零散散的分布在好几盘磁带上,总计数量明明是够这次备份的,但是备份任务一发起就报错:media mount failed,因为tsm自己会估计所需空间,它认为不够了,就会失败。
当然,也不一定完全对,但我就这样通过reclaim释放空间,解决过类似问题。也有可能是我误打误撞的;P ,还请大家指教。