0%

Linux block 与 inode

Linux 磁盘管理 block 与 inode


详解

Sector(扇区)与 Block(块)

1) 硬盘的最小存储单位: sector(扇区),每个扇区储存512字节;操作系统会一次性连续读取多个扇区,即一次性读取多个扇区称为一个block(块)

2) 文件存取的最小单位: block(块),由多个扇区组成;block的大小常见的有1KB、2KB、4KB,在linux中常见设置为4KB,即连续8个扇区组成一个block

每个block只能存放一个文件,如果文件的大小比block大,会申请更多的block;如果文件的大小比block小,仍会占用一个block,剩余的空间会浪费

例:有1万个文件,大小为10B,block为4KB

理论上占用空间大小:10000 * 10B = 97.656MB

实际上占用空间大小:10000 * 4KB = 40GB

superblock、inode 与 block

操作系统对于文件数据的存放包括两个部分:1文件内容、2权限及文件属性

在硬盘分区中,还有一个超级区块(superblock)

1)superblock: 记录文件系统的整体信息,包括inode与block的总量、使用大小、剩余大小以及文件系统的格式与相关信息等

2)inode: 记录文件的属性、权限,同时会记录该文件的数据所在的block编号

3)block: 存储文件的内容

inode 与 block

每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码;能够找到文件的inode就可以找到该文件所放置数据的block号码,从而读取文件内容

在格式化时可以指定默认的inode与block的大小;-b指定默认block值,-I指定默认inode值,例:mkfs.ext4 –b 4096 –I 256 /dev/sdb


参考链接