现代文件系统为每个块组保留多少?

Posted

技术标签:

【中文标题】现代文件系统为每个块组保留多少?【英文标题】:How much do modern filesystems reserve for each block group? 【发布时间】:2012-06-10 05:58:12 【问题描述】:

在阅读 Unix FFS 时,我读到保留 10% 的磁盘空间,以便确保文件的数据块在同一个柱面组中。对于像 ext2/ext3 这样的文件系统,这仍然是正确的吗,是否保留了空间以便文件的数据块都可以在同一个块组中?也是10%吗?还是有所不同?此外,日志文件系统也是如此吗?谢谢。

【问题讨论】:

【参考方案1】:

首先,我认为 ext 文件系统实现了相同的柱面组概念, 他们只是称之为块组。 要了解它,您可以fdisk分区找到您的实际块数 和块/组号。然后是number of block groups = block count / (block/group)。 它们的使用方式与 FFS cgs 完全相同(以加快访问时间)。 现在日记IMO与此操作无关,只是它实际上浪费了 磁盘上有更多空间:)。据我了解,软更新是 BSD 对日志在典型 ext 文件系统中解决的问题的解决方案,不需要额外的空间,但实现和添加新功能(如调整大小)非常复杂。 有趣的阅​​读:

ext3 overhead disclosed part 1

干杯!

【讨论】:

【参考方案2】:

我的新 ext2 图像数据是:

Size   Block size  Bl/Gr    Total bytes    Free bytes      Ratio
1MB    1024        8192        1048576         1009664     0.03710     
10MB   1024        8192       10485760        10054656     0.04111             
100MB  1024        8192      104857600        99942400     0.04688
512M   4096        32768     536870912       528019456     0.01649
1G     4096        32768    1073741824      1055543296     0.01695
10G    4096        32768   10737418240     10545336320     0.01789

因此,由于上述答案中描述的布局,Ext2 文件系统的空间效率取决于块大小,这是完全可以预测的:文件系统是一组块组,对于每个组,它的大小被确定为块的数量,可以由 1 块位图描述 => 对于 4096 字节块,有 8 * 4096 个块。

结论:对于 ext2/ext3 系列文件系统,平均默认空间消耗取决于块大小: ~ 1.6 - 1.8 % 对于 4096 字节块,~ 4 % 对于 1024 个字节

【讨论】:

以上是关于现代文件系统为每个块组保留多少?的主要内容,如果未能解决你的问题,请参考以下文章

系统篇: ext4 文件系统

ext4文件系统布局

ext4文件系统布局

ext4文件系统布局

Linux磁盘和文件系统管理

Linux文件系统