阅读430 返回首页    go 阿里云 go 技术社区[云栖]


了解inode


  • 文件字节数
  • User ID
  • Group ID
  • 文件的权限
  • 文件的时间戳,
  • 链接数,多少文件名指向这个inode
  • 存储的block位置
查看inode信息,可以通过stat命令查看 stat +filename

7ad1a4e22e7835c1212a1b1ebd3c4112c5153edf








bf809e0e64a618f078507c7380f55efba88c1aae



例:mkfs.ext3 /dev/xvdb -N 100000

就是格式化/dev/xvdb inode数量是100000 文件系统是ext3

如果不指定inode数量,系统会根据文件的blocksize和bytes/inode来自动计算


线上运行的服务器,如果初始时没有规划好inode,出现上述的问题,就需要查找消耗inode的问题,

通过命令find */ ! -type l | cut -d / -f 1 | uniq -c |sort -nr 

可以列出当前磁盘中文件数较大的目录


10622ad3c2bb57e1238156e3a04107cb79e9ebbc


结合实际业务删除不需要的文件,释放一定的inode即可继续写入数据



一般文件名和inode号是一一对应的,但在Unix/Linux系统中,允许多个文件名指向同一个inode号,即硬链接

硬链接就可以理解为不同的文件名指向同一个inode号,对硬链接文件和源文件修改都是修改的相同的存储数据,修改数据户影响到所有文件名,删除一个文件名不影响另外的文件名读取文件数据

通过ln命令可以创建

在inode信息中有链接数,创建一个硬链接该数量就会加一

目录文件的链接数默认是2,创建目录时,会创建两个目录项“.”inode号是当前目录的inode号,“..”inode号是父目录的inode号

d4e44d91f998ed8c6a3a03d06c86196bae87fce2

9eb7e3ad706c4dee660f2cb01ae397244561af5c




相对硬链接,还有软链接,软连接文件的inode号和源文件不同,但文件内容是源文件的路径,访问软连接文件时,系统会导向源文件,软连接依存于源文件,源文件删除,软连接将无法读取,由于inode号不同,所以如果有大量软连接,会消耗indoe数量,存储空间却不会消耗,当有大量软连接占用inode,导致无法写入文件,又不方便格式化磁盘调整inode,可以通过以下方法获取一些inode数:


dd if=/dev/zero of=disk.img count=1024 bs=1024(创建一个空文件)

mkfs.ext2 -N 1000000 -b 1024 -I 128 disk.img(格式化指定inode)


f1a6e57d6a8b853a851edb6bb393bd8ba619a22d

af585ca44244d021b75ef9b2512d9d818a9432a3




最后更新:2017-06-22 15:32:04

  上一篇:go  《数据分析实战:基于EXCEL和SPSS系列工具的实践》一1.3.3 合适的工具
  下一篇:go  《数据分析实战:基于EXCEL和SPSS系列工具的实践》一1.2 数据分析能给我们带来什么