2010-11-24 97 views

回答

1

在某些Unix文件系统(例如ext * fs)中,实际上由系统管理员决定,他们在创建文件系统时设置相对参数。

如果文件系统将托管大量小文件(新闻和邮件服务器是典型示例),则需要大量inode,因为您需要每个对象(文件或目录)的inode。

另一方面,如果文件系统将托管较大的文件(例如视频服务器),则不需要多少inode。

由于inodes占用空间,因此在性能/效率和足够的inode之间实现平衡是非常重要的。一种简单的方法是计算具有相似使用模式的活动文件系统上的平均文件大小,并将该数字用作新FS上的字节/ inode比率的基准值。只要使用模式没有发生大幅变化,这将使FS在功能填满时保持功能。

如果你实际设计的是一个新的文件系统,而不是仅仅创建一个卷,你应该考虑像其他常见的Unix文件系统(例如JFS,XFS,Reiserfs)那样动态分配inode。这会让你的文件系统稍微灵活一点,不过一般认为动态FS结构使腐败问题的恢复更加困难。

2

一些现代的文件系统(XFS for one)根据需要动态分配inode。没有该功能的文件系统会根据磁盘大小选择基于体验的值(例如,ext2/3/4会为每4KB磁盘空间IIRC创建一个inode),创建文件系统时通常会调整此值。