Pos*_*iet 6 filesystems lvm inode btrfs
直到一周左右之前,这台 Debian 服务器运行良好。现在它不允许分配文件,尽管仍有空间。
Afsck和重新启动没有帮助。删除一些文件也没有帮助。
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg-root 0 0 0 - /
udev 2051270 380 2050890 1% /dev
tmpfs 2053627 632 2052995 1% /run
tmpfs 2053627 5 2053622 1% /dev/shm
tmpfs 2053627 4 2053623 1% /run/lock
tmpfs 2053627 13 2053614 1% /sys/fs/cgroup
/dev/sda1 62248 328 61920 1% /boot
tmpfs 2053627 13 2053614 1% /run/user/117
tmpfs 2053627 4 2053623 1% /run/user/0
tmpfs 2053627 4 2053623 1% /run/user/1000
Run Code Online (Sandbox Code Playgroud)
同时,设备上有足够的空间
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root 447G 293G 154G 66% /
Run Code Online (Sandbox Code Playgroud)
lvm2 设置是一个 465G 的卷组,完全由 / 和交换(15G)使用。
/ 格式为 btrfs:
btrfs filesystem df /
Data, single: total=444.63GiB, used=290.67GiB
System, DUP: total=8.00MiB, used=64.00KiB
System, single: total=4.00MiB, used=0.00B
Metadata, DUP: total=1.00GiB, used=764.58MiB
Metadata, single: total=8.00MiB, used=0.00B
GlobalReserve, single: total=256.00MiB, used=0.00B
Run Code Online (Sandbox Code Playgroud)
btrfs 卷确实已满:
btrfs filesystem show
Label: none uuid: 82ff2c95-6c6d-48c8-a0a0-3219e5cc2845
Total devices 1 FS bytes used 212.50GiB
devid 1 size 446.66GiB used 446.66GiB path /dev/mapper/vg-root
Run Code Online (Sandbox Code Playgroud)
删除一个巨大的日志文件后,卷使用没有变化;它仍然是满的。
关于发生了什么以及如何解决它的任何想法?
作为现代文件系统,btrfs根本没有固定的 inode 限制,这就是为什么它将 inode 报告为全零。
检查子卷的状态btrfs:
btrfs subvolume list -s /
Run Code Online (Sandbox Code Playgroud)
如果事实证明您的快照占用了您的磁盘空间,您可能需要这样的方法来删除它们:
btrfs subvolume delete -c /.snapshots/NNN/snapshot
Run Code Online (Sandbox Code Playgroud)
另请参阅此链接,了解其他用户使用 btrfs 和快照的冒险经历。该网页上的评论包括btrfs所有盐中有用的管理命令。