在linux服务器上完整的磁盘,使用的块远远less于块可用

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目录的live服务器的rsync代码,所以它是很多小文件) ,所以运行“杜”将需要几天或几周。

有没有人有任何build议如何进行?

如果这是一个ext文件系统 ,默认的根保留空间将是1889811408块或94490570块的5%。 换句话说,在df将报告可用空间之前,您有大约66GB的空间要删除。

使用tune2fs -m 1 /dev/mapper/VolGro将保留的数量减less到1%,或使用-r NNNN将其设置为特定数量的块。 需要有足够的保留空间,即使在用户“填满”磁盘后,仍然可以继续进行日志logging(尽pipe如果以root用户填充磁盘,当驱动器完全满时,这并不能解决问题)

其他文件系统也可能有保留块,但调整这些的命令将有所不同。

运行一个fsck来查看文件系统是否损坏。

如果你已经删除了诸如apache日志文件之类的东西,那么在“释放”空间之前,需要重新启动apache,

所以可用的块应该是28.152.460,但它是0.我一直在删除一个垃圾负载的文件,并使用块正在下降,但可用保持在0。

我怀疑这些文件在删除时仍然在使用中。 所以,只需重新启动服务, df命令将更新可用空间。