我想知道是否有一个相当于循环数据库的文件系统,对于固定大小,它会老化最旧的文件。使用我拥有的简单 cron 作业很容易实现,但我认为这是许多人遇到的问题,也许还有更好的方法。我希望设置一个固定大小的分区或池,当池已满时,其中较旧的文件会自动删除或老化。一种循环缓冲区,它将使用最旧文件留下的空间用于新文件,同时保持文件完整性。
我的 cron 解决方案将磁盘使用率与阈值进行比较,并递归删除最旧的文件,直到磁盘使用率再次低于阈值。它并不完美,因为不能保证阈值足够低,以至于不会在两次 cron 迭代之间被超越。它也没有最大化存储空间的使用,因为阈值在本质上往往是预测性的(在两次 crond 迭代之间,我可以在一分钟内填充多少)。我希望改进的两个缺点。
我正在寻找一个更优雅的解决方案,类似于循环数据库(http://linux.die.net/man/1/rrdtool)如何透明地处理这个问题,但对于文件系统。
存在许多HSM(分层存储管理)系统,主要针对SAN系统。随着它们的最后访问时间变旧,这些将文件从较快的磁盘迁移到较慢的磁盘,再迁移到磁带。如果您有 SAN,您可能想寻找其中之一。不过,我所知道的大多数许可证都是商业许可证,例如我们使用的 IBM Tivoli HSM。不过,您可能想看看OHSM。
如果您只想删除旧文件,那么一个简单的 cron 作业,例如find /data -atime +30 -exec rm {} \;将删除在一定时间内未访问过的文件(但请确保文件系统未使用该noatime选项挂载!)这将是非常危险的,不过,除非你有一个好的在线备份系统。
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |