Linux文件属性

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

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

可以再格式化的时候改变inode及block的大小

查看文件inode号码

# ls -i 文件名

# stat 文件名

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

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

查看文件系统的inode与block的信息

# 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个数

查看inode及block的使用量

# df -l

Block

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

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

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

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

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

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

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

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

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

Linux系统——inode和block的更多相关文章

  1. [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等

    详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...

  2. 简单了解Linux的inode与block

    Linux常见文件系统类型:ext3(CentOS5),ext4(CentOS6),xfs(CentOS7) Windows常见文件系统类型:FAT32,NTFS (1).inode的内容 1)ino ...

  3. Linux文件系统inode、block解释权限(三)

    利用文件系统的inode和block来分析文件(目录)的权限问题. 为什么读取一个文件还要看该文件路径所有目录的权限? 为什么目录的w权限具有删除文件的能力,而文件w权限不行. inode:记录文件的 ...

  4. Linux的inode与block

    1,inode包含文件的元信息,具体来说有以下内容: 文件的字节数 文件拥有者的User ID 文件的Group ID 文件的读.写.执行权限 文件的时间戳,共有三个:ctime指inode上次文件属 ...

  5. Linux系统中磁盘block和windos中的簇一个意思

    block就是几个连续扇区组成一个block,每个分区可以设置block大小,好比一个txt只有2字节,但是这个分区的block为4K,那么其实这个txt需要4k来存储(所以大文件block设置大比较 ...

  6. Centos的Inode及Block相关知识

    Centos的Inode及Block相关知识 时间:2016-06-04 01:54来源:blog.51cto.com 作者:"tao" 博客 举报 点击:173次 本经验均在Ce ...

  7. windows系统c盘占满/linux系统磁盘block、inode占满处理

    windows系统 下载c盘清理.bat到服务器,双击bat文件将自动清理 linux系统 先远程ssh登录上服务器,登录教程:http://www.west263.com/faq/list.asp? ...

  8. Linux文件系统(inode、block……)

    内容源于<鸟哥的Linux私房菜> 认识 EXT2 文件系统 文件系统的特殊观察与操作 文件系统 superblock,inode,block superblock,inode,block ...

  9. linux 文件系统(inode和block)

    linux文件系统(inode block superblock)   先说一下格式化:每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能 ...

随机推荐

  1. bootstrap基础学习一篇

    官网:http://www.bootcss.com/ 这里,主要讲解bootstrap3.关于他的介绍就不用复述了. 1.示例 <!doctype html> <html lang= ...

  2. Java并发编程从入门到精通 张振华.Jack --我的书

    [当当.京东.天猫.亚马逊.新华书店等均有销售] 目 录 第一部分:线程并发基础 第1章 概念部分   1 1.1 CPU核心数.线程数 (主流cpu.线程数的大体情况说一下) 1 1.2 CPU时间 ...

  3. Python Pypi 修改 国内源(以豆瓣源为例)

    参考:http://pip.readthedocs.io/en/latest/user_guide/#config-file Pypi在国内豆瓣源的地址如下: http://pypi.douban.c ...

  4. JVM内存简析

    1.程序计数器: 这是一块较小的内存空间,它的作用可以看作是当前线程所执行的字节码的行号指示器,线程私有. 2.Java虚拟机栈: 它是Java方法执行的内存模型,每一个方法被调用到执行完成的过程,就 ...

  5. 【已解决】Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory

    [已解决]Android ADT中增大AVD内存后无法启动:emulator failed to allocate memory 结论是: 当前有个bug: 默认是通过 hw.ramSize=1024 ...

  6. 苹果微信浏览器不能post方式提交数据问题

    form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方 ...

  7. Python中的一些函数

    1. 中文繁体/简体转换 下载 zh_wiki.py:https://github.com/skydark/nstools/blob/master/zhtools/zh_wiki.py 和 langc ...

  8. ajax请求加全局loading , 个别特殊请求不显示loading

    项目中,请求开始前加载loading遮罩层,请求结束关闭遮罩,一般都会加在全局中,但有个别请求不需要加全局loading 的话,这时候就需要对这些请求进行配置 全局加loading: ; functi ...

  9. chrome/FF 解析遇到 { 行为一致,返回不一致

    测试的时候,发现一个问题,FF下: chrome 下: 你会发现,FF 在解析一直到返回的时候,都是把 {x:1} 当做一个语句块去解析的,而 chrome 在返回的时候返回了对象,把 {x:1} 当 ...

  10. 160504、springmvc返回json数据编码格式设定

    <!-- 启动注解驱动的Spring MVC功能,注册请求url和注解POJO类方法的映射 --> <bean class="org.springframework.web ...