文件系统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] ~]# dumpe2fs /dev/sda1|less

Inode count:              51200  inode个数

Block count:              204800

Reserved block count:        10240

Free blocks:              166630

Free inodes:              51162

First block:              1

Block size:               1024

dumpe2fs命令:针对ext2、3、4查询文件系统信息

[[email protected] ~]# ls -lhi|tail -5

4363 -rw-r--r--. 1 root root   31 3月   3 08:15 awk.txt

341 drwxr-xr-x. 6 root root 4.0K 3月   3 19:35 data

14 -rw-r--r--. 1 root root    7 3月   4 03:00 test.txt

4014 -rw-r--r--. 1 root root   30 3月   4 18:51 wuyike.txt

4402 -rw-r--r--. 1 root root    0 3月   4 18:51 吴宜珂.txt

第一列:inode索引节点编号

第二列的第一个字符代表文件类型,-普通文件,d目录

第二列的后2-10个字符:rw-r--r--.文件权限,r是read读,w是write写,x执行,-代表无。

第二列的第11个字符:selinux。“.”表示getenforce=enforcing

第三列:文件的硬链接数。文件硬链接是文件的又一个入口。

第四列:文件对应的属主或者用户。

第五列:文件对用的属组或用户组。

第六列:文件大小。

第七八九列:文件被改动的时间。

第十列:文件名。

inode:

磁盘要分区,然后格式化,创建文件系统。

在每个linux存储设备或存储设备的分区被格式化为ext4文件系统后,一般都有两部分:第一部分是INode,第二部分是block。Block用来存储实际数据的,例如照片,视频等普通文件数据。而inode包含的属性信息包括文件大小、属性、归属的用户组,读写权限、文件类型、修改时间,还包含指向文件实体的指针的功能。(文件名不属于文件的属性,inode不包含文件名)

cat wuyike.txt-->找到文件名所对应的inode并查看用户有没有权限读写,若权限通过-->通过inode的指针链接找到存放wuyike.txt里面具体内容的block块。(文件很大的话,对应很多个block,block之间再相互建立链接)(wuyike.txt这个文件名在上一级目录的block中)

查看每个挂载的磁盘inode的情况:

[[email protected] ~]# df -i

Filesystem     Inodes IUsed  IFree    IUse% Mounted on

/dev/sda3      610800 54694  556106    9%  /

tmpfs          125543     1 125542   1%  /dev/shm

/dev/sda1       51200    38  51162    1%  /boot

inode小结:

1)磁盘分区格式化为ext2、3、4文件系统后会生成一定数量的inode和block

2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引。

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

4)block的大小一般有1k,2k,4k几种,其中引导分区等为1k,其他普通分区为4k(c6)

/boot分区:(grep -i不区分大小写)

查看block大小

[[email protected] ~]# dumpe2fs /dev/sda1|grep -i "block size"

dumpe2fs 1.41.12 (17-May-2010)

Block size:               1024

/root分区:

[[email protected] ~]# dumpe2fs /dev/sda3|grep -i "block size"

dumpe2fs 1.41.12 (17-May-2010)

Block size:               4096

5)inode是一块存储空间,c6非启动分区inode默认256字节,c5是128

6)inode是一串数字,不同的文件对应的inode在文件系统中是唯一的

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

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

9)如果文件很大,可能占用多个block。如果文件很小,至少也要占用一个block,剩余空间浪费了。

10)inode的大小与总量查看:

[[email protected] ~]# dumpe2fs /dev/sda3|egrep -i "block size|inode size"

dumpe2fs 1.41.12 (17-May-2010)

Block size:               4096

Inode size:               256

[[email protected] ~]# dumpe2fs /dev/sda3|egrep -i "block count|inode count"

dumpe2fs 1.41.12 (17-May-2010)

Inode count:              610800

Block count:              2438912

Reserved block count:     121945

该文件系统最多还能再放610800个文件,inode或block满了都不可以再放文件了。

一个文件系统默认Block比inode多

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

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

3)如果要提升磁盘IO性能,那么就要尽可能一次性读取数据尽量多。(block稍微大一些)

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

5)BLOCK并非越大越好。BLOCK越大对于小文件存放就会浪费磁盘空间,例如:1000k的文件,block为4k,占用250个block,block为1k时,占用1000个block。访问效率谁更高?消耗IO分别为250次和1000次。

6)大文件(大于16k)一般设置BLOCK大一些,读取速度更快。小文件(小于1K)一般设置BLOCK小一些,防止浪费磁盘空间。

7)BLOCK和inode的设置是在分区格式化的时候确定的,-b block, -I inode。mkfsx.ext4 -b 2048 -I 256 /dev/sd...

8)ext3、ext4文件一般设置为4K。

面试题:

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

1K的与inode数量相同。

1M的将近能写100M。

写小文件,INode会先满,写大文件,block会先满。

时间: 2024-08-07 04:33:13

文件系统inode与block的相关文章

Linux的Ext2文件系统(Inode&Block)详解

前述:Linux系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分区不可太大也不可以太小,太大会导致磁盘容量的浪费,太小会导致产生的文件无法存储的问题.在Linux里面文件是由两部分数据组成,一部分是metadata,另一部分是data.那么这些数据都存放在文件系统的什么地方呢?这就让我们必须得了解文件系统的Inode与Block的基本原理了,而Linux最传统的磁盘文件系统使用的是Ext2,所以我们了解下它的内部原理. 第一部分:磁盘的组成和分区(基础) 磁盘的机械部分: 1.圆形

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

Linux系统inode和block知识详解

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

iNode与Block

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

简单总结iNode和block知识

iNode:索引节点(index node) iNode是用来存储数据属性信息的,iNode包含的属性包括:文件大小.属组.归属的用户组.读写权限.文件类型.修改时间.还包括指向文件实体的指针功能(iNode节点和block的对应关系),但是,iNode不包括文件名. Block 是用来存储实际数据的. 理解:可以把iNode理解为一本书的目录,block理解为书的每一页. iNode小结: 1)磁盘分区格式化为ext4文件系统后会生成一定数量的iNode和block 2)iNode是索引节点,

Linux文件访问流程及磁盘inode和block总结

Linux文件访问流程 inode是文件的唯一标识,文件名和inode的对应关系存放在上一级目录的block中:inode里有指向文件block的指针和文件的属性,从而通过block获得文件数据. 磁盘的容量由inode和block共同决定 磁盘空间是否满了,是由两项参数决定的: 第一个是inode是否满了,第二是block是否满了,任何一个满了都不能存数据. 有关inode的总结 磁盘格式化创建文件系统时会生成一定数量的inode和block: inode称为索引节点,作用是存放文件的属性信息

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

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

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

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

inode与block知识总结

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