Free Up Reserved Space in Filesystems

tune2fs-reserved-space

You’re probably familiar with tune2fs command, it’s great for reporting filesystem layout and configuration options. It’s also helpful when you want to free up some of the reserved space.

Reserved Space in Unix/Linux Filesystems

Reserved space is one of the more mysterious things in Linux/Unix filesystems. A rather old tradition,  it is simply a practice of automatically reserving some filesystem space for system (superuser) use. When you’re formatting a new filesytem, it automatically reserves 5% of space for superuser access – meaning regular users and processes won’t be able to use this space (filesystem will report to be 100% full), but root user can still write and troubleshoot.

Reserved Space meant a lot more convenience when hard disks and filesystems were small – about 20 years ago your / or /var filesystem could be 1GB in total, and this meant it was absolutely crucial to reserve some space so that regular users could not cause an outage by generating some temporary file and filling up a key filesystem. These days sizes of filesystem are vastly larger and this means two things:

  1. You probably don’t benefit from reserved space as much as someone used to
  2. You may well never even know you had space reserved because you simply don’t run out of space

Here’s how this would look:

root@xps:/storage # df -h /storage
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p8 95G 90G 232M 100% /storage

Doesn’t quite add up, does it? It’s a 95GB filesystem with only 90GB used, yet filesystem is 100% full.

Change Reserved Space Percentage with tune2fs

Let’s use tune2fs command to reduce the percentage of reserved space (-m 1 means set reserve to 1% of total capacity):

root@xps:/storage # tune2fs -m 1 /dev/nvme0n1p8 
tune2fs 1.44.6 (5-Mar-2019)
Setting reserved blocks percentage to 1% (254279 blocks)

… and enjoy the results:

root@xps:/storage # df -h /storage 
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p8 95G 90G 4.2G 96% /storage

That’s it for today, hope you learned something new!

See Also