服务器是物理机,根目录用了 LVM+xfs
第一次遇到这种情况,df 查看根目录的已用空间为负数,已用空间大于总空间
root 用户能正常登陆,且文件读写正常无报错
普通用户登录报错failed to execute /bin/bash: Resource temporarily unavailable
查了一下,ext4 有保留应急空间的机制,非保留空间耗尽后只有 root 用户能使用保留空间,但 xfs 没有这个应急空间的机制,也没有做过配额限制
du 命令看根目录下的文件总大小也才 68G ,lsof 看 deleted 的文件也没有什么比较明显的未释放文件
现在也没啥排查的思路了,计划明天关机尝试xfs_repair
看看能不能修复,实在不行就备份文件重新格式化
但是对这个问题还是挺好奇的
以下是命令输出
# df -h /
Filesystem Size Used Avail Use% Mounted
/dev/mapper/centos-root 206G -20G 226G - /
# xfs_quota -x -c "df -h" /
Filesystem Size Used Avail Use% Mounted
/dev/mapper/centos-root 205.8G 16.0E 225.3G 4054232% /
1
ryc111 2023-12-06 15:22:35 +08:00 via iPhone
可能是文件系统坏了,
也可能是磁盘配额的问题,可能是你设了硬盘配额 |
2
julyclyde 2023-12-06 15:29:34 +08:00
建议先备份
|
3
McZoden 2023-12-06 15:59:17 +08:00
U 盘刻录个任何发行版的 livecd ,u 盘启动后,单独 mount 分区,再查问题,一般都能救回来的
|
4
gilgameshhh 2023-12-09 12:38:10 +08:00
df 使用文件系统提供的 statfs 接口查询可用空间,对于很多文件系统这只是个估计值,因为文件占用的空间比文件本身要大,这不只是块对齐导致的,文件系统本身的设计也会导致这个现象(比如 truncate 文件时没有缩减相应 extent )。因此,出现这种奇怪的数字应该直接去看源码。其他方法只能是捕风捉影
|