• 磁盘 inodes 不足 Free inodes is less than 20% on volume


    一、问题

    最近在遇到这个报错:

    Free inodes is less than 20% on volume /
    

    二、问题原因

    其实是服务器上的文件数过多。

    三、解决办法

    查找每个目录下面的文件数 for i in /*; do echo $i; find $i |wc-l ;done
    然后看看哪个目录下面的文件比较多,然后删除一些没有作用的文件。

    查看磁盘总的 inodes 数。

    使用命令:df -i

    四、扩展

    什么是 inodes

    是一个数据结构在unix 系统里面,类似一个文件系统对象,像一个文件或者是一个目录。

    每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有inode和Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。

    inodes 里面存储了什么?

    每个索引节点都存储对象数据的属性和对应的磁盘块位置。对象数据的属性包含元数据(上次更改的时间、访问、修改的时间)和所有者等。

    inodes 的大小取决于什么,一个磁盘的 inodes 是多大?

    每个文件都有一个 inode,一个inodes至少需要占用1kb,当一个磁盘为100G 时,可以设置的最大 indoes 数是:104,857,600‬。 可以在 初始化磁盘的时候进行指定。

    如何查看df -i

    centos6 查看inodes信息 dumpe2fs

    (软连接和硬链接)

    1、symbolic links(软链接)

    [root@20191021XB7ILNP test]# ls -i  djx 
    131089 djx
    [root@20191021XB7ILNP test]# ln -s  /opt/test/djx     symbolic_djx 
    [root@20191021XB7ILNP test]# ls -i  symbolic_djx 
    131087 symbolic_djx
    

    软链接就是一个普通文件,只是数据块内容有点特殊(指向源文件)。软链接有着自己的 inode 号以及用户数据块。

    2、hard link(硬链接)

    [root@20191021XB7ILNP test]# ls -i  djx 
    131089 djx
    [root@20191021XB7ILNP test]# ln   /opt/test/djx     hard_djx
    [root@20191021XB7ILNP test]# ls -i  hard_djx  
    131089 hard_djx
    

    创建好一个文件里面对应硬链接文件。使用 hard link 链接文件时,磁盘空间的 inode 数目不会改变! hard link 是在某个目录下的 block 多写入一个关连数据而已,既不会增加 inode 也不会耗用 block 数量。

  • 相关阅读:
    ActionScript简单实现Socket Tcp应用协议分析器
    您还有心跳吗?超时机制分析
    Java线程池架构2-多线程调度器
    Java 连接池的工作原理
    Integrating JDBC with Hibernate
    Codeforce 1255 Round #601 (Div. 2) C. League of Leesins (大模拟)
    Codeforce 1255 Round #601 (Div. 2)B. Fridge Lockers(思维)
    Codeforce 1255 Round #601 (Div. 2) A. Changing Volume (贪心)
    图论--拓扑排序--判断是否为DAG图
    图论--拓扑排序--判断一个图能否被拓扑排序
  • 原文地址:https://www.cnblogs.com/operationhome/p/12249415.html
Copyright © 2020-2023  润新知