Inode分为内存中的inode和文件系统中的inode,我们这里说的是文件系统中的inode。
1. linux FS 可以简单分成 inode table与data area两部份。inode table上有许多的inode, 每个inode分别记录一个档案的属性
与这个档案分布在哪些datablock上(也就是我们说的指针)。
inode两个功能:记录档案属性和指针
2. inode table中红色区域即inode size,是128Byte,在liunx系统上通过命令我们可以看到,系统就是这么定义的。
Inode size是指分配给一个inode来记录文档属性的磁盘块的大小。
3. data ares中紫色的区域block size,就是我们一般概念上的磁盘块。这块区域是我们用来存放数据的地方。
4. 还有一个逻辑上的概念,filesystem中inode table/data area分配空间的比例是1/16。
5.一旦文件系统建立,inode的值就不可以改变了。
改变方法:在创建分区时,更改fs参数。用命令mkfs.ext3
-i : inode size , 每个inode的大小。
-b : block size , 每个block的大小。
-N : inode count , inode的个数。
-f : fragments size , 碎片的大小。
6.查看inode相关信息的命令:
stat filename;
df -i;
dumpe2fs -h /dev/hda4 | grep inode
7.当inode用尽时,尽管磁盘仍有空间,仍不能建立新文件(会显示磁盘空间不足)。
解决办法:开源(扩磁盘)或截流(删文件)。
8.实施inode侵占:
for((i=0;i<number;i++))
do
touch file$i;
done
其中number值为df -i中的剩余的inode数。
9.如果分区中存放了大量的小碎片文件,有没有很好的文件管理策略时,就可能面临inode先于磁盘空间用尽的问题哦。。。
10.inode包括了2类指针:直接指针和间接指针。其中间接指针又包括:一级间接指针,二级间接指针,三级间接指针。
11.inode中不包含文件名和节点号!!!
我还是喜欢在宏观上把握知识点!上图说话!