可疑:
分区总容量 7.2T,挂载分区后发现只有6.8T的空间可以使用,400G的空间哪里去了?
探究:
1. 文件被删除未释放磁盘空间?
通过命令 lsof |grep delete 查看确认并未有被进程占用的deleted状态的文件句柄。
2.文件系统损坏了?
umount 分区后,fsck.ext3 分区 ,挂载后空间依旧显示只有6.8T空间可用。
3.硬件坏了?
先放着硬件的状态,想想还有什么情况会导致这个问题?
到底是谁吃了我的磁盘空间?
在几个小伙伴的一致探寻下,最终谁会是真凶呢?
结论:
原来,ext文件系统会默认预留5%的磁盘空间用于root用户维护系统或者记录系统关键日志。
mkfs.ext3 的man page:
-m reserved-blocks-percentage
Specify the percentage of the filesystem blocks reserved for the
super-user. This avoids fragmentation, and allows root-owned
daemons, such as syslogd(8), to continue to function correctly
after non-privileged processes are prevented from writing to the
filesystem. The default percentage is 5%.
预留这么大的空间是不是太不把硬盘当硬盘了,能否缩小预留的空间或者去除预留的空间?
那是当然的了。我们可以通过 tune2fs 来改变5%的默认设置,比如只预留1%的空间。可以设成0%,但是不推荐。
tune2fs -m 1 /dev/sdb
tune2fs 1.41.12 (17-May-2010)
Setting reserved blocks percentage to 1% (19529728 blocks)
一下子就释放了很多可用空间。
由于一般磁盘总空间不大,200G左右,预留5%也不是很明显,所以多不被注意到。