调试 mkfs.ext3 命令输出

调试 mkfs.ext3 命令输出

我正在我的外部硬盘中创建一个新的文件系统。格式化时,我必须将此分区格式化为周围剩余的可用分区850GB。现在,我ext3在这个分区中创建了一个文件系统。这是我的mkfs.ext3命令的输出。

mkfs.ext3 /dev/sdb3
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
52060160 inodes, 208234530 blocks
10411726 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
6355 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

有人可以帮助我调试信息,因为我不清楚这些值实际代表什么?

答案1

首先,让我们使用字节表示法来理解这些概念。现在,外部硬盘的实际大小是850GB这翻译成912680550400字节。

块大小和片段大小

块大小指定文件系统将用于读取和写入数据的大小。这里默认的块大小为4096使用字节。 ext3 文件系统不支持块碎片,因此一个字节文件将使用整个4096堵塞。可以通过在命令-f中指定 来修改此值mkfs,但不建议这样做,因为当今的文件系统有足够的容量。

Total blocks possible = 912680550400/4096 = 222822400 blocks

所以在我们的命令输出中我们实际上得到了208234530这与我们的计算非常接近,因为总会有一些块无法使用。

Total inodes in this example = 208234530/4 = 52058632.5 inodes

根据 derobert 的评论,总索引节点是mkfs实际创建的数量。inodesext2/3/4 上的mkfs时间是创建的。我们可以使用多个选项( -i、 )更改它创建的数量,-N并且不同的-T选项会隐式执行此操作。

它始终是一种启发式方法,因此根据我们的命令可能的总索引节点为52060160索引节点。

Maximum file system size possible = 4294967296 * 4096 (block size)

所以理论上文件系统大小可以达到16TB但事实并非如此。

块组的大小在 中指定sb.s_blocks_per_group blocks,但也可以按 计算8 * block_size_in_bytes。所以可能的总块组可能是,

total block groups = 208234530/32768 = 6354.81 

所以它接近于6355根据我们的命令输出进行分组。

Total inodes per group = 32768/4 = 8192 inodes

参考

http://www.redhat.com/archives/ext3-users/2004-December/msg00001.html

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

https://serverfault.com/a/117598

ext3 文件系统中的片段大小是多少?

相关内容