ext4 文件系统在存储设备中的布局

ext4 文件系统磁盘布局

一些专业术语(在后续中会用到):

  • ext4 将存储设备分成一组逻辑上的块 (blocks)
  • sb 指的是 superblock 中的域 (fields)
  • inode 指的是 inode 表 (inode table) 中某项的域

总览:

在ext4文件系统管理下的磁盘分区会被分成一系列的块组 (block groups),文件被尽可能的放在同一块组中,以降低文件块寻找时间。每个块组有 sb.s_blocks_per_group 个块,这个值也可以用 8 * block_size_in_bytes 来计算。例如:

+ 当 block 大小为 4KiB 时,每个块组会包含 32768 个块,即大小为 128MiB

block groups 的数量计算方法是:

+ 分区大小 除以 块组大小

+ sizeof_device_in_bytes / sizeof_block_group_in_bytes

ext4 中的所有域都以小端序 ( little-endian) 的形式写在存储设备中

注:jbd2 会以大端序 (big-endian) 的方式将数据写入磁盘


块 (block)

  ext4 将存储设备以块 (block) 为单位划分,一个块就是一组扇区 (sectors) ,块的大小可以指定为 1KiB 到 64KiB,每一块中包含的 sector 的数量必须是 2 的整数次方。块的大小在为存储设备制作文件系统的时候 (mkfs) 时被指定,并在一般情况下为 4KiB 。使用以下工具可以查看磁盘元数据:

  • dumpe2fs
  • tune2fs

当磁盘块的大小

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值