磁盘和 Inode 配额均超出;无法删除任何内容

磁盘和 Inode 配额均超出;无法删除任何内容

(我在 Solaris 服务器上使用 UFS 文件系统。我在该机器上拥有 root 权限,但在包含有问题的光盘的机器上却没有。)

当我尝试执行任何操作(写入文件、删除文件等)时,都会收到“超出磁盘配额”错误。系统管理不善,很多旧备份文件都闲置在那里;我可以清理它们,但甚至连腾出一点喘息空间都困难。

我的磁盘空间和 inode 数量都已满:

#> df -hk
Filesystem          1K-blocks     Used Available Use% Mounted on
server.com:/storage  52231997 52231997         0 100% /opt/files

#> df -i
Filesystem             INodes    IUsed   IFree IUse% Mounted on
server.com:/storage    169224   169224       0  100% /opt/files

我发现的所有解决方案都涉及写入/dev/null""将文件大小清零,然后删除该文件。但是,这两种解决方案都不起作用:

#> ls -l September22014.tgz
-rw-r--r-- 1 userA groupA 283443184 Sep  2  2014 September22014.tgz

#> cp /dev/null September22014.tgz
cp: cannot create regular file `September22014.tgz': Disc quota exceeded

#> echo "" > September22014.tgz
bash: September22014.tgz: Disc quota exceeded

#> > September22014.tgz
bash: September22014.tgz: Disc quota exceeded

答案1

首先,您没有注意到正在使用的 Solaris 版本,或者 NFS 服务器/设备是什么(如果已知)。

您不应该尝试将文件清空,而是应该将其删除。

供将来参考,使用 UFS 时,尽管还有“可用”空间,但 inode 仍可能会用完。解决的唯一方法是使用更多 inode 选项重新更新它,或使用没有该限制的 FS。即:Solaris 较新版本上的 ZFS。

相关内容