下面的信息取自手册页,我想知道每个Inode和Inode大小之间的区别吗?
-i bytes-per-inode
指定字节/节点比率。mke2fs为磁盘上每个inode字节的空间创建一个inode.每个inode的字节比越大,创建的inode就越少。这个值一般不应该小于文件系统的块大小,因为这样会有太多的inode被made.Be警告,在文件系统创建后不可能扩展inode的数量,所以要小心地确定这个参数的正确值。
-I inode-size
默认情况下,指定bytes.mke2fs中每个inode的大小将创建256个字节的inode。在2.6.10之后的内核和一些早期的供应商内核中,可以使用大于128个字节的inode存储扩展属性,用于改进的performance.The inode大小值必须是大于或等于128的幂。inode的大小越大,inode表所消耗的空间就越大,这会减少文件系统中的可用空间,并且也会对存储在大型inode中的performance.Extended属性产生负面影响,而这些文件系统在旧的内核中是不可见的,这样的文件系统在创建文件系统后不可能用2.4个内核在all.It上挂载2.4个内核。
发布于 2015-03-28 22:46:03
那么,首先,什么是inode?在Unix世界中,inode是一种文件条目。目录中的文件名只是一个标签(链接!)给一个无名氏。一个inode可以在多个位置引用(硬链接!)。
由于一些未知的原因,这个参数有时被记录为每个inode的字节,有时作为inode_ratio。根据文档,这是字节/节点的比率。大多数人都能更好地理解这两种语言(请原谅我的英语):
公式(取自mke2fs 源代码):
inode_count = (blocks_count * blocksize) / inode_ratio甚至简化(假设“分区大小”大致相当于blocks_count * blocksize,我还没有检查分配):
inode_count = (partition_size_in_bytes) / inode_ratio注意1:即使您在FS创建时(mkfs -N ...)提供了固定数量的inode,该值也被转换为一个比率,因此您可以在扩展文件系统的大小时适应更多的inode。
注2:如果您调整此比率,请确保分配的inode比您计划使用的要多.您真的不想重新格式化您的文件系统。
这是文件系统为文件系统可能具有的每个inode分配/保留的字节数。空间用于存储inode的属性(read Inode介绍)。在Ext3中,默认大小为128个。在Ext4中,默认大小为256 (用于存储extra_isize并为内联扩展属性提供空间)。读取Linux:为什么要改变inode大小?
注意:为每个分配的inode分配x字节的disjkspace,无论是空闲的还是使用的,其中X=inode-size。
发布于 2016-08-30 09:12:20
极其粗糙的文件系统原理图:
|_|__inodes__|_______________________DATA_________________________________|发布于 2018-06-23 18:32:01
我真的很喜欢sjas的答案,它给出了区别的本质。
这只是我自己的扩展(因为我不能评论或者投票,只是从这个stackexchange开始),我想要一个以非技术术语以平衡的方式说出的答案,对于需要在数据卷设置过程中做出决定的用户来说,这是可以理解的,但不一定知道实现背后的所有细节。
人物角色/对象:-存储设备中数据的体积(S).卷文件(S)-存储设备,它们被格式化并提供字节块及其地址.文件在存储中的位置
操作:由操作系统在存储中创建/删除/重命名文件和文件夹、文件读/写/移动、权限更改等。
需要在“块”(块)中创建N个字节大小的文件。虽然理论上可以认为文件可以被管理为单字节序列(逻辑上它们可以),但我们在空间中管理文件所需要的只是一个指定的索引,它告诉一些文件属性(名称等),以及每个文件在存储中的起始位置。但是,由于硬件采用“总线”和“块”的设计方式和性能考虑,这些“块”具有特殊的大小,并且是媒体块大小的倍数(例如512字节、4096字节),并由inode层管理,该层告诉下一层文件位置以及当需要查找、加载到内存等时如何将块串在一起。
如果一个人有一个大卷轴纸(卷),并必须设计一个信息存储文件的页面(字符或信息的比特)存储多页文件,所需要的是一个索引(查找文档),存储空间的网页(与一些简单的位置页)。在Unix校对机制(Inode)和实际裁剪页面。inode-size是索引条目大小(或多或少)字节-每个inode是页大小。
更改上述两种设置的效果:
changin inode-大小-通常不需要更改,坚持默认设置(按先前对讨论的答复中发布的链接)。
字节-每个inode-影响您可能在卷中创建的最大文件数(可能是性能和未使用字节的“浪费”)。
回到纸卷类比:想象必须在这样的系统(或许多不同大小的文档)中编写和存储特定大小的文档(文件)--如果在“写入和存储系统”定义中显示的页面大小和不灵活的页面大小是完全相同的,那么,如果“系统”页面大小非常大,而文档大小很小,那么通过在一页中设置空白和小文件,可能会浪费大量的纸张。如果页面大小很大,那么需要用于文档的页面就会减少,但是在最后一页中可能会有大量的“浪费空白”。所以一切都取决于..。将使用的文件的大小和数量。另一个考虑因素是查找和携带许多页的文件的速度。
希望这是有意义的(对我来说确实如此),如果我严重滥用了ext设计或mkfs选项的任何部分,请发表评论。
https://unix.stackexchange.com/questions/174334
复制相似问题