Linux inode详解

最近在架设spnfs过程中发现。在client上创建文件,文件名以及目录关系都可以在MDS上表现出来。文件内容则存储在DS上。但DS上的文件名却都是由数字组成的。命名方式为:inode.xxxx. 关于inode,Sam刚开始以为是kernel的node概念。后来查了一下,发现好像有误差。于是学习之。


在Linux下,使用mkfs.ext3 时,有不少选项和inode有关。如:

[-i bytes-per-inode]

[-I inode-size]

[-N number-of-inodes]


那inode是做什么用的呢?inode记录档案(文件或目录)的属性、及该档案放置在哪一个Block之内的信息。

每个档案都会占用到至少一个 inode。而当我们Linux系统要找到这个档案时,他会先去搜寻inode table找到这个档案的属性及数据放置的地区,然后再到数据库去找到数据存放的Block进而将数据取出。

一个 partition格式化为一个filesystem之后,他一定会有inode table与data area两个区块,一个用来记录档案的信息与该档案放置的block区块,一个用来记录档案的内容。


Linux 在读取数据的时候,是先查询 inode table 以得到数据是放在那个 Block 里面,然后再去该 Block 里面读取真正的数据内容。block 是我们在格式化硬盘的时候规定出来的一个值,这个 block 是由 2 的 n 次方个sector(扇区,大小为512byte) 所集结而成的,假设 block 规划为 4KBytes,则由于一个 inode 与一个block 最多均只纪录一个档案,所以如果一个档案有 0.1 K bytes 。但是,由于你的 block为 4K bytes 。你就会有 3.9 Kbytes 的空间“浪费掉”!所以,当你在格式化硬盘的时候,请千万注意到您的系统的使用范围。

1、 当 block 越小 ( 最小为 0.5K ) 、inodes 越多,可利用空间越多,但是大档案写入效率较差:适合档案数量多但是

档案容量小的系统,例如 BBS 或者新闻群组 news 这方面的服务之系统;

2、 当 block 越大 ( 最大可到 16 * 0.5K 以上 ) 、 inodes 数越少,大档案写入效率较佳,但浪费的空间较多:适合档案容量大的系统。


inode table是data area的索引表。
参考链接:

2 Ways to check inode in Linux - SSLHOW

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值