Reasonable size for "filesystem reserved blocks" for non-OS disks?

When creating a file system ( mkfs ...) the file system reserves 5% of the space for its own use because, according to man tune2fs:

Reserving some number of filesystem blocks for use by privileged processes is done to avoid filesystem fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the filesystem.

But with large drives 5% is quite a lot of space.

I have 4x1.5 TB drives for data storage (the OS runs on a separate disk), so the default setting would reserve 300 GB, which is an order of magnitude more than the the entire OS drive.

The reserved space can be tweaked, but what is a reasonable size for a data disk? Can I set it to zero, or could that lead to issues with fragmentation?


Solution 1:

I have found the following the answer https://www.redhat.com/archives/ext3-users/2009-January/msg00026.html, from Theodore Tso, an ext4 developer.

If you set the reserved block count to zero, it won't affect performance much except if you run for long periods of time (with lots of file creates and deletes) while the filesystem is almost full (i.e., say above 95%), at which point you'll be subject to fragmentation problems. Ext4's multi-block allocator is much more fragmentation resistant, because it tries much harder to find contiguous blocks, so even if you don't enable the other ext4 features, you'll see better results simply mounting an ext3 filesystem using ext4 before the filesystem gets completely full.

If you are just using the filesystem for long-term archive, where files aren't changing very often (i.e., a huge mp3 or video store), it obviously won't matter.