df 显示错误的磁盘大小

df 显示错误的磁盘大小

密度在我的服务器上,其中一个磁盘显示了错误的空白空间:

/dev/sda2   450G    393G    34G     93%     /

Cpanel 显示只有 34GB 可用空间,但实际可用空间远不止这些。几分钟前,我删除了超过 80GB 的日志文件。因此,我确信这完全是错误的。

fdisk -l /dev/sda2也显示出一些错误:

Disk /dev/sda2: 498.0 GB, 498098280960 bytes
255 heads, 63 sectors/track, 60557 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sda2 doesn't contain a valid partition table

我该怎么做才能在不格式化的情况下解决这个问题?

答案1

您说您删除了日志文件,但是您是否确保写入这些日志文件的程序没有继续写入它们?

可以将文件从其目录中删除,但只要有进程仍在写入该文件,该文件仍将存在。该进程稍后可以非常有效地将该文件链接到其他目录(或之前所在的目录)... 并且只需打开文件描述符即可完成此操作。

因此...使用“lsof”查找已删除的文件。重新启动正在写入日志文件的服务,您很可能会看到空间可用。

答案2

在你和之间df,我相信df

文件系统/dev/sda2可以存储450GB,目前划分如下:

  • 已使用 393GB
  • 34GB 可用
  • 22.5GB 可用,但为 root 保留,因此不计入此free

默认情况下,为 root 保留的空间为 5%(显然你的系统使用默认值,因为数字匹配),你可以使用以下命令更改它tune2fs但除非你知道自己在做什么,否则我不建议这样做。

fdisk -l /dev/sda2不包含分区表是意料之中的事情。毕竟,/dev/sda2是一个分区。分区表位于磁盘上,/dev/sda

分区的大小/dev/sda2为 498098280960 字节。文件系统的大小约为 450*1024*1024*1024 = 483183820800。文件系统数据结构几乎有 14GB(这比我预期的要多一点,我在这里的类似大小的文件系统上有 ~8GB,但也许你允许了很多 inode)。

因此,唯一可能存在问题的是您认为已删除的 80GB 日志。您确定它们都位于此文件系统上吗?其中一些日志可能还保留有硬链接吗?

相关内容