简单总结iNode和block知识

iNode:索引节点(index node)

iNode是用来存储数据属性信息的,iNode包含的属性包括:文件大小、属组、归属的用户组、读写权限、文件类型、修改时间、还包括指向文件实体的指针功能(iNode节点和block的对应关系),但是,iNode不包括文件名。

Block 是用来存储实际数据的。

理解:可以把iNode理解为一本书的目录,block理解为书的每一页。

iNode小结:

1)磁盘分区格式化为ext4文件系统后会生成一定数量的iNode和block

2)iNode是索引节点,作用是存放文件的属性信息以及文件的索引(指向文件的实体block)

3)ext3/ext4文件系统的block存放的是文件的实际内容

4)Block的大小一般有1k,2k,4k,其中引导分区为1k,其他分区为4k

5)inode是一块磁盘存储空间,centos6非启动分区iNode默认大小256字节,centos5是128字节

6)iNode是一串数字,不同的文件对应的iNode在文件系统里是唯一的。

7)iNode号相同的文件,互为硬链接文件(硬链接就是文件的又一个入口)

8)一个文件被创建后至少要占用一个iNode和一个block

9)如果一个文件很大,可能占多个block

10)如果文件很小,也要至少占一个block,并且剩余空间不可以使用,浪费了

11)iNode大小和总量查看:

dumpe2fs  /dev/sda3|egrep -i “block size|inode size”

dumpe2fs  /dev/sda3|egrep -i “block count |inode count”

12)查看iNode的总量和使用量命令df -i

13)生成和指定iNode大小,mkfs.ext4 -b 2048 -I 256 /dev/sdb

Block 小结:

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

2)一个文件可能占多个block,每读取一个block就会消耗一次磁盘I/O

3)如果要提升磁盘I/O性能,那么就要尽可能一次读取数据多。

4)一个block只能存放一个文件的内容,无论内容有多小,如果block为4K,那么存放1k的文件,剩余的就浪费了。

5)Block并非越大越好,block太大对于小文件存放就会浪费磁盘空间,

6)大文件(大于16K)一般设置block大一点,小文件(小于1k)一般设置小一点。

7)Block太大例如4K,文件都是0.1k,太浪费磁盘空间。

8)Block太大例如1k,文件都是1000K,消耗磁盘IO

9)文件较大时,block设置大点会提升磁盘访问效率

10)ext3/ext4文件一般设置成4k.

用一道题目练习对于iNode和block的理解:

题目1:一个100M(block的总大小,个数和单个block大小有关)的磁盘分区,分别写入0.5K的文件和写入1M的文件,分别可以写多少个?为什么?

解题思想:先说明要考察的知识

1、iNode是存放文件属性信息的,默认大小是128字节(c5),256字节(c6)

2、Block是存放文件实际内容的,默认大小1K(boot)或4K(非系统分区默认为4k)

3、一个文件至少要占用一个iNode以及一个block

4、默认分区常规情况下,iNode数量是足够的,而block数量消耗的会更快。

答题:

1、默认分区常规情况下,对文件来说inode是足够的,而block数量消耗的会更快,block为4k的情况,1M的文件不会有磁盘浪费请况,所以文件数量数量大概为100/1=100个。

2、对于小文件0.1k,iNode会消耗的更快,默认分区的时候block数量是大于iNode数量的。每个小文件都会占用一个iNode和一个block,所以最终文件的数量为:iNode会先消耗完,文件总量是iNode的数量。

题目2、如果向磁盘写入数据提示如下错误:NO space left on device,通过df -h查看磁盘空间,发现没满,请分析原因是什么?

解答:可能是iNode数量被消耗完了。

原因一般为:

企业工作中邮件临时队列/var/spool/clientmquene这里很容易被大量小文件沾满导致NO space left on device的错误,clientmquene目录只有安装了sendmail服务,才会有,centos5.8默认会床sendmail,centos6.6默认没有装sendmail。

Centos6改装了postfix服务,因此邮件的路径为/var/spool/postfix/maildrop/

以上两个目录很容易被垃圾文件填满导致系统的iNode数量不够,从而导致无法存放文件。

以上就是对iNode和block的总结学习,如果有新的知识继续添加!!!!

时间: 2024-10-23 21:15:55

简单总结iNode和block知识的相关文章

Linux系统inode和block知识详解

1. inode和block概述 在每个Linux存储设备或存储设备的分区被格式化(ext3,ext4等)之后,一般都有两部分:一部分是inode,另一部分是block.block是用来存储实际数据的,而inode用来存储这些数据的属性信息,包括文件的大小.属主.归属的用户组.读写权限.文件类型.修改时间,还包含指向文件实体的指针功能(inode节点到block的对应关系)等,但并不包含文件名.文件名一般被存储在其所在目录的block里面. inode除了记录文件属性信息外,还会为每个文件进行信

inode与block知识总结

inode概述:硬盘要分区,然后格式化,创建文件系统在每个Linux存储设备的分区被格式化为ext3文件系统后一般有两个部分:    第一部分Inode:存储这些数据的属性信息(大小,属主,归属的用户组,读写权限,文件类型,修改时间                   还包含指向文件实体的指针功能(inode节点--block的对应关系)但是不包含文件名.    第二部分Block:用来存储实际数据用的,例如:照片,视频等普通文件数据 查看inode 的总量和使用量df -i   查看inode

Linux Centos的Inode及Block相关知识

本经验均在CentOSrelease6.7(Final)下操作,如知识有欠缺之处 欢迎批评指正. linux 的inode及block的相关知识: 1>  Linux系统分区格式化文件系统之后,系统会分为Inode及Block两部分: 1)Inode为系统文件的属性信息(ls -l的结果)及指向文件实体的指针,但是没有存放文件名,一般在上级目录里的Block. 2)Block为存放数据的,ext3/ext4一般为1k,2k,4k,一般默认4k 3)一个文件不论多大至少占用一个Inode和一个Bl

iNode与Block

1. inode和block ---------------------------------    先介绍一下硬盘的整体结构.硬盘中包含多个硬盘盘片,硬盘盘片为圆形,每个硬盘盘片都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track).硬盘内所有盘片的相同磁道号的集合成为磁柱(Cylinder).每一磁道被划分成许多区域,每个区域叫一个扇区(Sector).扇区是硬盘的最小存储物理量,一个扇区的存储容量大约是512字节(约0.5K). 知道了硬盘

浅谈inode和block与磁盘性能的初级优化

什么是inode和block? 所谓的inode就是索引节点(index node)的意思,在每一个存储设备被格式化创建文件系统后,所有的文件大致被分为了两部分,分别是inode和block. 其中inode用来存储文件属性信息,其中包括了文件大小,文件的归属者,文件的归属组,权限,类型,修改时间,以及指向文件实体数据(block)的指针. block中存储的就是文件的实际数据,比如说,照片,视频,音频等等,但是有一点需要注意!就是inode当中不包含文件名!一个文件的文件名,存储在上级目录的b

[New learn]讲解Objective-c的block知识-实践

1.简介 在之前的文章[New learn]讲解Objective-c的block知识中介绍了block的相关知识.本章中我们将以一个实际例子来简单介绍一下block如何代替代理. 2.原有通过代理实现方式回顾 在[How to] 使用Xib来创建view中我们介绍了如何通过xib来自定义table的footview,如何通过代理的方式来通知controller去加载更多数据. 相应的代码:https://github.com/xufeng79x/tableView_groupbuy_test

从零开始的linux 第二十一章(Inode以及Block详解其二与软链接)

从零开始的linux 第二十一章 在紧张的学习中,又迎来了新的一周~~小编也在同学们的迫切要求下继续来更新博客咯~~ 同学们:"我们才没要求你!" 唉??同学们一点都不配合呢~~别不好意思嘛~~ 好啦~不逗你们了,小编就节省大家的时间,赶快开始这章的课程吧~~ 在上一章中,小编给同学们讲了 Inode号 和 Block,不过还没有给同学们讲完哦~所以上一章的题目是 其一 ,那么毫无疑问这一章就是其二的内容咯~从上一章同学们已经了解了什么是Inode和Block,以及Inode中包含哪些

文件系统inode与block

ls -lhi: -i:inode索引节点编号,它是文件或目录,在磁盘里的唯一标识,Linux读取文件或者目录首先要读取到这个索引节点. 查看根分区inode大小:(inode大点可以存放更多的属性) [[email protected] ~]# dumpe2fs /dev/sda3|grep -i "Inode size" dumpe2fs 1.41.12 (17-May-2010) Inode size:               256 [[email protected] ~

查看inode、block使用情况

查看inode.block 背景:工作中每创建一个目录或文件都会产生一个inode.block,系统产生的垃圾文件也会占用inode.block.系统中inode.block是有限的,如果inode.block满了将无法创建目录和文件. 一般情况下不更改inode.block大小的值: 效果:将inode.block使用情况写入a.log (1).df -i   //查看inode使用情况 df -h  //查看block使用情况 (2).dumpe2fs /dev/sda1 >a.log