我的机器上安装了一个 ext4 分区,它没有满,但显示没有可用的分区。
它已安装 r/w,我可以删除文件,当我这样做时,已用空间会减少,但可用空间永远不会增加。
有什么想法吗?
Filesystem Size Used Avail Use% Mounted on
...
/dev/sdb7 604G 577G 0 100% /home/data
答案1
您可能已经用完了所有可用的 inode,这意味着虽然磁盘上还有空间,但您实际上无法写入。尝试运行以下命令:
df -i
其中 'df' 表示 '磁盘文件系统',-i 表示 'inodes'。输出将如下所示:
chris@loki:~$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 500788 487 500301 1% /dev
tmpfs 505825 638 505187 1% /run
/dev/sda1 1835008 374975 1460033 21% /
tmpfs 505825 27 505798 1% /dev/shm
tmpfs 505825 5 505820 1% /run/lock
tmpfs 505825 16 505809 1% /sys/fs/cgroup
tmpfs 505825 24 505801 1% /run/user/1000
但是,如果您的驱动器上的“IUse%”是 99-100%,那么这就是问题所在。
有很多原因会导致所有 inode 都被记录下来;例如,根据我作为服务器管理员的经验,这通常是由于日志文件没有定期清除(我们说的是几年)或冗长的错误日志一次又一次地生成到新的文本文件中。虽然在你的情况下可能是任何原因,但更有可能是由于成千上万的文件出于不良原因存储在某些目录中造成的。
我发现查找此类问题根源的最佳方法是从机器的根目录运行此命令:
find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -rn | head
我相信还有更好更有效的方法!上面的方法并不完美。