With the blocks reserved your users, and services that are running as specific users rather than running as root, can not fill a filesystem and potentially break other things that need to write to said filesystem - though services running as root still can still make it completely full of course.
It also give you some space to work with when users complain that the disk is full, or services start failing because the filesystem is full. For instance you could archive some files off into zip/gz/7zip archives before removing them (though if the filesystem were completely full, chances are you have some other filesystem available that you could create the archive file in instead).
5% has been the default for a long time, from back when disks were far smaller (tens of megabytes rather then hundreds of gigabytes) so 5% wasn't all that much. Luckily it can easily be tuned down to a smaller percentage as you say, or set to a specific number of blocks if you use tune2fs
's -r
option instead of -m
. In both cases you can give a parameter of 0 to turn the reservation off completely - I wouldn't do this for /
, /tmp
, /var
and so forth, but you might want to for a filesystem that only acts as user storage (say a global file-share) or one that just holds fixed size files (like fixed sized VMs) that will only grow when you create a new one.
-m reserved-blocks-percentage
option. – David C. Rankin Mar 21 '20 at 01:19