导航
元数据(inode)
用户数据(block)
inode和block对文件系统的影响
在linux系统中,一般会将文件分为两部分,用户数据和元数据
元数据(inode)
- 元数据即文件的索引节点,用来记录文件的权限、属主属组、文件的大小、文件的状态改变时间(ctime)、文件的内容改变时间(mtime)、文件的访问读取改变时间(atime)
- inode默认大小为128byte(字节)
- 在Linux中inode才是文件的唯一表示,而非文件名
- 可以使用 ll -i 和 stat 查看文件的inode号
-
在CentOS 7上,默认情况下,每个文件系统的inode数量是有限制的,这个限制取决于文件系统的大小和配置。通常情况下,ext4文件系统的inode限制为每个文件系统的每个块组有最多的inode数量,而每个块组的inode数量又取决于块大小。
-
以下是一些常见的inode限制示例:
-
对于默认的ext4文件系统,如果块大小为4KB,则每个块组最多有32768个inode,因此整个文件系统的inode数量将取决于块组数量。
-
对于较大的ext4文件系统,可以通过调整mkfs.ext4命令的-m选项来增加每个块组中的inode数量。
-
XFS文件系统的inode数量是根据文件系统大小自动调整的,没有明确的限制。
-
这些限制可以根据文件系统类型、文件系统大小和配置而有所不同。可以使用命令df -i
来查看文件系统的inode使用情况和限制。
用户数据(block)
- 即文件数据块,记录了内容、文件名、其中文件名被记录在上级目录的block中
- 换句话说,目录的block中,记录的是这个目录下所有一级子文件和子目录的文件名即对应的inode
- block默认大小为4k(1k=1024byte)也可以是,1KB,2KB
- block用于实际的数据存储,如果一个block放不下数据,则可以占用多个block,最后一个block可能不会占满,但也不能再放入其它文件的数据。多个block可能是连续的,也可能是分散的。
inode和block对文件系统的影响
- 在Linux系统中,inode决定了文件系统中文件的数量,能存储多少个文件,block决定了存储文件的大小,就是还能存多大的文件
- inode大小为128byte,block大小为4k(4096byte)
- 如果把文件系统比作成行李寄存中心的话,inode就是行李寄存中心的一个个储物柜的编码,它描述着储物的基本信息,物品的主人是谁...block则反应了储物柜的具体大小,能存多少东西。
-
在linux中也是一样的,inode决定了文件系统中文件的数量,用户还能存储多少个文件,inode中存放着文件元数据的属性;block决定了磁盘的空间,还能存储多大的文件