df 的输出是:
[root@backup log]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGro 1889811408 1861658948 0 100% /
/dev/sda1 101086 16235 79632 17% /boot
tmpfs 1815760 0 1815760 0% /dev/shm
因此可用块应为 28.152.460,但它为 0。我一直在删除大量文件,已用块正在减少,但可用块仍为 0。
df -i 的输出是:
[root@backup log]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGro 487751680 238360803 249390877 49% /
/dev/sda1 26104 37 26067 1% /boot
tmpfs 219784 1 219783 1% /dev/shm
因此这并不是缺少 inode 的问题。
lsof +L1 的输出是:
[root@backup log]# /usr/sbin/lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
mysqld 2444 mysql 4u REG 253,0 0 0 268795908 /tmp/ibSlaKC7 (deleted)
mysqld 2444 mysql 5u REG 253,0 0 0 268795909 /tmp/ibhFuyGr (deleted)
mysqld 2444 mysql 6u REG 253,0 0 0 268795910 /tmp/ibbNinKL (deleted)
mysqld 2444 mysql 7u REG 253,0 0 0 268795911 /tmp/ibz1ia55 (deleted)
mysqld 2444 mysql 11u REG 253,0 0 0 268795912 /tmp/ibM3IHvr (deleted)
crond 2549 root 3u REG 253,0 5 0 248579098 /var/run/crond.pid (deleted)
yum-updat 2620 root 14w REG 253,0 0 0 248611115 /var/run/yum.pid (deleted)
ssh 16256 root 0u CHR 136,0 0 2 /dev/pts/0 (deleted)
ssh 16256 root 1u CHR 136,0 0 2 /dev/pts/0 (deleted)
ssh 16256 root 2u CHR 136,0 0 2 /dev/pts/0 (deleted)
我无法运行“du”,因为 99% 的磁盘使用量都在 /var/backups 下,其中可能包含约 1 亿个文件(某个白痴决定使用 subversion 目录从实时服务器 rsync 代码,因此有很多小文件),所以运行“du”需要几天或几周的时间。
有人对如何进行有什么建议吗?
答案1
如果这是一个 ext 文件系统,默认根保留空间将是 1889811408 个块的 5%,即 94490570 个块。换句话说,您还有大约 66GB 的空间需要删除,然后df
才会报告可用空间。
用于tune2fs -m 1 /dev/mapper/VolGro
将保留量减少到 1%,或-r NNNN
将其设置为特定数量的块。需要有足够的保留空间,以便即使用户“填满”磁盘后仍可继续记录(但如果您以 root 身份填充磁盘,当驱动器完全填满时,这不会让您免于问题)
其他文件系统可能也有保留块,但是调整这些块的命令会有所不同。
答案2
运行 fsck 来查看文件系统是否损坏。
答案3
如果你删除了诸如 apache 日志文件之类的内容,则需要重新启动 apache 才能“释放”空间
答案4
因此可用块应为 28.152.460,但它为 0。我一直在删除大量文件,已用块正在减少,但可用块仍为 0。
我怀疑这些文件在您删除时仍在您的服务中使用。因此,只需重新启动服务,df
命令就会更新可用空间。