![如果 df 显示已满但 du 显示空闲,如何释放磁盘?](https://linux22.com/image/226465/%E5%A6%82%E6%9E%9C%20df%20%E6%98%BE%E7%A4%BA%E5%B7%B2%E6%BB%A1%E4%BD%86%20du%20%E6%98%BE%E7%A4%BA%E7%A9%BA%E9%97%B2%EF%BC%8C%E5%A6%82%E4%BD%95%E9%87%8A%E6%94%BE%E7%A3%81%E7%9B%98%EF%BC%9F.png)
我有一个cvm,最近一天磁盘已满。我使用df -h
,它说磁盘几乎已满:
> df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 87G 7.2G 93% /
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 11M 16G 1% /dev/shm
tmpfs 16G 18M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/vdb1 394G 317G 58G 85% /data
但是当我用来du -sh
查找应该删除哪个文件以释放磁盘时,我得到了不同的结果,这表明已使用的空间少于 50%:
> du -sh / --exclude=/data --exclude=/proc
38G /
我还检查了没有删除的文件:
> lsof | grep delete
[no output]
根目录中也没有隐藏目录/
:
> ls .[^.]*
.autorelabel
我还检查了没有交换空间:
> free -h
total used free shared buff/cache available
Mem: 31Gi 708Mi 21Gi 30Mi 8.5Gi 30Gi
Swap: 0B 0B 0B
按照@telcoM的指示,我检查了文件系统是EXT4:
> lsblk -o +fstype
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT FSTYPE
sr0 11:0 1 18.8M 0 rom iso9660
vda 252:0 0 100G 0 disk
└─vda1 252:1 0 100G 0 part / ext4
vdb 252:16 0 400G 0 disk
└─vdb1 252:17 0 400G 0 part /data ext4
按照@xhienne 的指示,我调用了dumpe2fs
:
> dumpe2fs -h /dev/vda1 | grep ^Reserv
dumpe2fs 1.42.9 (28-Dec-2013)
Reserved block count: 1100904
Reserved GDT blocks: 1017
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
我还应该执行哪些操作来释放磁盘?