ext4文件系统最基本的分配单元是“block”(块)。
block是由一组连续的sectors来组成,其大小介于1k~4K之间,当然不可能是任意值,只能是2的整数次幂个sectors。然后连续的blocks再组成group。Block的大小是在mkfs时指定的,默认是4K。
默认情况下,系统可以含有2^32个blocks,到那时如果开启“64bit”特性,可以支持2^64个blocks。
其相关指标见下图:
Item | 32-bit mode | |||
1KiB | 2KiB | 4KiB | 64KiB | |
Blocks | 2^32 | 2^32 | 2^32 | 2^32 |
Inodes | 2^32 | 2^32 | 2^32 | 2^32 |
File System Size | 4TiB | 8TiB | 16TiB | 256PiB |
Blocks Per Block Group | 8,192 | 16,384 | 32,768 | 524,288 |
Inodes Per Block Group | 8,192 | 16,384 | 32,768 | 524,288 |
Block Group Size | 8MiB | 32MiB | 128MiB | 32GiB |
Blocks Per File, Extents | 2^32 | 2^32 | 2^32 | 2^32 |
Blocks Per File, Block Maps | 16,843,020 | 134,480,396 | 1,074,791,436 | 4,398,314,962,956 |
File Size, Extents | 4TiB | 8TiB | 16TiB | 256TiB |
File Size, Block Maps | 16GiB | 256GiB | 4TiB | 256PiB |
注:一直未搞懂block size什么时候可以取到64K;
特性“64bit”开启后,(mkfs.ext4-O 64bit /dev/sdc)
Item | 64-bit mode | |||
1KiB | 2KiB | 4KiB | 64KiB | |
Blocks | 2^64 | 2^64 | 2^64 | 2^64 |
Inodes | 2^32 | 2^32 | 2^32 | 2^32 |
File System Size | 16ZiB | 32ZiB | 64ZiB | 1YiB |
Blocks Per Block Group | 8,192 | 16,384 | 32,768 | 524,288 |
Inodes Per Block Group | 8,192 | 16,384 | 32,768 | 524,288 |
Block Group Size | 8MiB | 32MiB | 128MiB | 32GiB |
Blocks Per File,Extents | 2^32 | 2^32 | 2^32 | 2^32 |
Blocks Per File,Block Maps | 16,843,020 | 134,480,396 | 1,074,791,436 | 4,398,314,962,956 |
File Size, Extents | 4TiB | 8TiB | 16TiB | 256TiB |
File Size, Block Maps | 16GiB | 256GiB | 4TiB | 256PiB |
注:一直未搞懂block size什么时候可以取到64K;
作者:Younger Liu
本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。