zoukankan      html  css  js  c++  java
  • Linux系统——inode和block

    Linux文件属性

    磁盘被分区并格式化为ext4文件系统后,会生成一定数量的inodeblock

    Inode 索引节点

    作用:存放文件的属性信息以及作为文件的索引(指向文件的实体block

    Block存放的是文件的实际数据

    iNode存放文件的属性信息以及指向文件实体的指针(block的位置),文件名不在iNode里一般在上级目录的block

    系统内部打开文件的步骤

    访问文件的过程,通过文件名(上一级目录的block)——>inode ——>blocks

    (1)系统找到这个文件名对应的inode号码

    (2)通过inode号码,获取inode信息

    (3)根据inode信息,找到文件数据所在的block,读出数据

    查看inode时,存在三个时间显示,分别是Atime、Mtime、Ctime

    Atime:访问时间 查看命令# ls -lu

    Mtime:修改内容时间 查看命令# ls -l

    Ctime:改变时间(修改文件名、权限等等) 查看命令# ls -lc

    inode是磁盘的一块存储空间,CentOS6版本中默认大小256字节

    inode的表现形式是一串数字,不同的文件对用的inode在文件系统里是唯一的

    inode节点号相同的文件,互为硬链接文件,可认为是一个文件的不同入口

    ext4文件系统下,一个文件至少要占用一个inode和一个block(在文件size比较大的情况),多个文件可以占用同一个inode(硬链接),相同文件;正常情况下,一个文件只能占用一个inode

    可以再格式化的时候改变inodeblock的大小

    查看文件inode号码

    # ls -i 文件名

    # stat 文件名

    删除指定的inode号对应的文件

    # find ./ -inum inode-exec rm -i {} ;

    查看文件系统的inodeblock的信息

    # df -i 设备名(在已挂载状态下查询,查询inode总数与已用数量)

    # dumpe2fs -h 设备名 (无需挂载)

    # tune2fs -l 设备名 (无需挂载)

    查看inode版本

    # cat /etc/redhat-release

    # dumpe2fs 目标磁盘 | grep -i “inode size”

    格式化时指定文件系统的inode个数与block大小

    # mkfs.ext4 -N inode -b 块大小(单位字节)设备名

    解决inode耗尽导致的磁盘故障

    (1)删除不使用文件

    (2)将文件备份,重新格式化此文件系统,指定较多的inode个数

    查看inodeblock的使用量

    # df -l

    Block

    磁盘读取数据是按block为单位读取的

    一个文件可能占用多个block,每读取一个block就会消耗一次磁盘I/O;如果要提升磁盘I/O性能,就要尽可能一次性读取多的数据

    block是用来存储实际数据的,每个block的大小一般只有1k,2k,4k,其中引导分区等为1k,其他普通法分区多为4k

    如果一个文件很大,需要占用多个block,如果文件很小,知道占一个block,并且这个block的剩余空间浪费,即无法再存储其他数据

    企业里文件都会比较大(一般会大于4k),block设置大一些会提高磁盘访问效率(一般选4k

    一个100M100000K)的磁盘分区,分别写入1K的文件或写入1M的文件,分别可以写多少个?

    1K虽然小,但block一般默认4K,即使1K的数据也会占用4K大小,存储数据小号blockinodeinode默认256K,每个文件指导占用一个block的同时还会占用一个inode1M的数据刚好被4整除,不会浪费空间,大约100个左右,inode充足。

    如果向磁盘写入数据提示如下错误:No space left on device, 通过df -h查看磁盘空间,发现没满,请问可能原因是什么?企业场景什么情况下会导致这个问题发生?

    最可能原因是inode被耗尽;企业工作中右键临时队列/var/spool/postfix/maildrop这里很容易被大量的恶小文件占满导致No space left on device的错误。

  • 相关阅读:
    PNG文件格式具体解释
    opencv2对读书笔记——使用均值漂移算法查找物体
    Jackson的Json转换
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 装箱问题
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 单词接龙
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 方格取数
    Java实现 蓝桥杯VIP 算法训练 单词接龙
  • 原文地址:https://www.cnblogs.com/daisy118/p/9853777.html
Copyright © 2011-2022 走看看