删除文件只能释放部分空间(ext3 / ext4)

删除文件只能释放部分空间(ext3 / ext4)

我刚刚做了类似的事情:

$ du -sh /bigdata/stuff
1022G /bigdata/stuff

$ df -h /bigdata
Fileystem  Size  Used  Avail  Used% mounted on
/dev/sda5  1,8T  1,7T  140G   93%   /bigdata

$ rm -rf /bigdata/stuff/*

$ df -h /bigdata
Fileystem  Size  Used  Avail  Used% mounted on
/dev/sda5  1,8T  1,6T  268G   86%   /bigdata

这意味着删除 1022 G 文件只会给我带来 128 G 的额外可用空间。/bigdata
下没有挂载其他文件系统,此时 /bigdata 上也没有打开的文件。

为了回收所有可用空间,我需要卸载 /bigdata(花费很长时间)并重新安装。之后,一切恢复正常。
根据 fsck,没有文件系统错误(执行 fsck 只是为了检查错误,不需要回收空间)。
根据 SMART 扩展自检,硬盘没有硬件错误。

有人知道出了什么问题吗?

系统信息:
我在几个月前购买的硬盘上安装了 Ubuntu Server 12.04 64bit 的 ext4,因此不存在从以前的安装中继承的问题(因为没有)。文件系统是使用 -m 0(为 root 保留 0%)创建的。

历史:
几年前我就注意到了这个问题(在 ext3 上)。到目前为止,我认为这只发生在我通过 NFS 访问 /bigdata 并从客户端执行操作时。但现在,我发现在本地删除文件时也会发生这种情况。

相关内容