Debian btrfs 文件系统显示总共有 0 个索引节点,0 个已使用,0 个空闲

Debian btrfs 文件系统显示总共有 0 个索引节点,0 个已使用,0 个空闲

直到大约一周前,这个 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。我会开始查看那里是否有可以删除的快照。

相关内容