在设计使用inode结构指向文件/块的文件系统时,实际如何确定所需的inode数量?
发布于 2010-11-24 19:42:47
在某些Unix文件系统(例如ext*fs)中,这实际上由系统管理员决定,系统管理员在创建文件系统时设置相对参数。
如果文件系统将托管大量小文件(新闻和邮件服务器就是典型的例子),则需要大量的inode,因为每个对象(文件或目录)都需要一个inode。
另一方面,如果文件系统将托管更大的文件(例如视频服务器),则不需要那么多的inode。
由于inode会占用空间,因此在性能/效率和拥有足够的inode之间取得平衡非常重要。一种简单的方法是计算具有相似使用模式的活动文件系统上的平均文件大小,并将该数字用作新文件系统上字节/信息节点比率的基准值。这将允许FS在卷填满时保持正常工作,只要使用模式不会发生重大变化。
如果你真的在设计一个新的文件系统,而不仅仅是创建一个卷,你应该考虑像其他一些常见的Unix文件系统一样动态分配inode的想法(例如JFS,XFS,Reiserfs)。这将使您的文件系统稍微更灵活一些,尽管人们通常认为动态文件系统结构使从损坏问题中恢复变得更加困难。
发布于 2010-11-24 19:40:38
一些现代文件系统(例如XFS)根据需要动态分配inode。没有该特性的文件系统根据磁盘大小选择一个基于经验的值(例如,ext2/3/4为每4KB磁盘空间创建一个inode IIRC),通常有一种方法可以在创建文件系统时调优此值。
https://stackoverflow.com/questions/4266123
复制相似问题