由于项目的坑,需要将文件按照文件ID名字截取存放对应的文件夹路径下 (00/00/,0a/00/),这样后台系统可以根据ID自动拼接文件地址进行访问。
但是由于存储的都是图片文件比较小,且量也比较大
在后期存储快满的时候,进行文件清理 (移除3个月前的文件图片)。然后问题来了 由于存图片的规则是按ID截取规则存的,
所以清理的时候坑就来了。如果按照ID去一个个清理效率会非常低下释放的还跟不上增长的。
网上也没有找到特别好的清理方法,最后只能通过两个步骤进行释放勉强
一 、 find 根据文件的创建时间删除文件 文件删除了但是空间并未真正释放出来
二、进入glusterfs 节点的文件目录 进入 .glusterfs文件夹下 批量删除文件大小大于10k 且无指向的硬链接 -links 1 -size +10k
第二步执行完毕后空间才会真正的释放。碰见这种坑的可以 将这两步定时任务化 定时清理。