直到大约一周前,这个 Debian 服务器还运行得很好。现在它不允许分配文件,尽管仍然有空间。
- 根卷配置有 LVM。
- 内核是 Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.51-3 (2017-12-13) x86_64 GNU/Linux
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
同时,设备上有足够的空间
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg-root 447G 293G 154G 66% /
lvm2设置是一个465G的卷组,完全被/和swap(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
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
删除巨大的日志文件后,卷的使用情况没有变化;它仍然是满的。
关于发生了什么以及如何解决它有什么想法吗?
答案1
作为现代文件系统,btrfs
根本没有固定的 inode 限制,这就是它报告 inode 全部为零的原因。
检查子卷的状态btrfs
:
btrfs subvolume list -s /
如果事实证明您的快照占用了您的磁盘空间,您可能需要这样的方法来删除它们:
btrfs subvolume delete -c /.snapshots/NNN/snapshot
另请参阅此链接,了解其他用户使用 btrfs 和快照的冒险经历。该网页上的评论包括btrfs
所有盐中有用的管理命令。
答案2
根据df -i
它的输出,看起来你的索引节点已经用完了。当你用完索引节点时,即使有可用空间,你也无法写入新数据。您的解决方案是找出正在使用所有索引节点的内容,或者将索引节点添加到现有文件系统。我不知道如何添加 inode,但如果您使用 btrfs 快照,它们可能会消耗所有 inode。我会开始查看那里是否有可以删除的快照。