首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止inode重用

防止inode重用
EN

Unix & Linux用户
提问于 2021-12-07 11:40:25
回答 1查看 355关注 0票数 0

我们正在使用Logstash来摄取我们的日志,并且我们面临着一些需要重用的问题。我们在Logstash端尝试了所有可能的选项,所以我们正在探索操作系统端。

据我所见,如果我创建一个文件,删除它,然后创建一个新的文件,大部分时间它将得到相同的inode。

代码语言:javascript
复制
[root@XXXX~]# touch a.txt
[root@XXXX~]# stat -c%i a.txt
671092802
[root@XXXX~]# rm a.txt
rm: remove regular empty file ‘a.txt’? y
[root@XXXX~]# touch a.txt
[root@XXXX~]# stat -c%i a.txt
671092802
[root@XXXX~]#  rm a.txt
rm: remove regular empty file ‘a.txt’? y
[root@XXXX~]# touch b.txt
[root@XXXX~]# stat -c%i b.txt
671092802

如何防止使用XFS的操作系统为新文件重用最近使用的inode?

理想情况下,我们希望定义文件之间的一段时间被删除,直到inode被重用。磁盘很大,所以我们不期望问题达到inode的极限。

谢谢

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-12-07 13:14:22

防止创建具有给定inode编号的文件的唯一方法是,如果已经有一个(当然,如果inode值是文件系统不会使用的)。您不能保留一个inode值。通过通用接口(即通过不特定于特定文件系统类型的接口),这一点在大多数文件系统(即大多数文件系统都没有保留inode编号的专有方法)中是正确的,而据我所知,XFS尤其如此。

如果在删除一个文件后立即创建一个新文件,那么在许多文件系统上,大多数情况下,新文件将具有与刚刚删除的文件相同的inode。但这从来没有得到保证。

如果希望inode继续使用,请不要删除该文件。如果需要,可以截断它(例如truncate -s0 /path/to/file: >|/path/to/file)以节省磁盘空间。如果某个工具正在探索某个目录,并且不希望该工具再看到该文件,则可以将其移动到同一文件系统上的另一个目录。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/680487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档