There are at least three reasons:
- The file system itself covers a relevant share of the space: Inodes, directories, block allocation bitmaps and so on.
- The journal covers space. The larger the volume the larger the journal.
- By default (at least) ext reserve 5% of the space for the super user.
You can check the relevant values by this:
dumpe2fs -h /dev/mapper/cr_test | grep -F -e "Reserved block count:" -e "Block size:" \ -e "Block count:" -e "Journal size:" Block count: 131072 Reserved block count: 0 Block size: 4096 Journal size: 16M
You can configure the reserved space by tune2fs -m
. The journal size can be configured (within certain limits) by tune2fs -J size=journal-size
.