当应该有足够的可用空间时,Btrfs 却显示磁盘已满

Cob*_*ast 4 linux btrfs

# df -H
Filesystem                            Size  Used Avail Use% Mounted on
...
/dev/bcache4                          8.1T  1.9T     0 100% /mnt/8t4
Run Code Online (Sandbox Code Playgroud)
# btrfs fi df -H /mnt/8t4
Data, single: total=1.84TB, used=1.82TB
System, DUP: total=33.55MB, used=212.99kB
Metadata, DUP: total=2.15GB, used=1.91GB
GlobalReserve, single: total=536.87MB, used=0.00B
Run Code Online (Sandbox Code Playgroud)
# btrfs fi usage /mnt/8t4
Overall:
    Device size:                   7.28TiB
    Device allocated:              1.67TiB
    Device unallocated:            5.60TiB
    Device missing:                  0.00B
    Used:                          1.66TiB
    Free (estimated):              5.62TiB      (min: 2.81TiB)
    Data ratio:                       1.00
    Metadata ratio:                   2.00
    Global reserve:              512.00MiB      (used: 0.00B)

Data,single: Size:1.67TiB, Used:1.66TiB (99.26%)
   /dev/bcache4    1.67TiB

Metadata,DUP: Size:2.00GiB, Used:1.78GiB (88.98%)
   /dev/bcache4    4.00GiB

System,DUP: Size:32.00MiB, Used:208.00KiB (0.63%)
   /dev/bcache4   64.00MiB

Unallocated:
   /dev/bcache4    5.60TiB
Run Code Online (Sandbox Code Playgroud)

我尝试过各种平衡,但没有帮助。fs 上有两个相当新的快照。

如何让 Btrfs 意识到有 ~6TB 的可用空间?

bat*_*a09 5

一般的 Linux 用户空间工具(例如)df将不准确地报告 Btrfs 分区上的可用空间。建议使用它btrfs filesystem usage来查询 Btrfs 分区。https://wiki.archlinux.org/index.php/Btrfs

btrfs fi 使用情况的输出显示可用容量为 5.6TB,这看起来很合理。

关于可用空间的说明 - https://btrfs.wiki.kernel.org/index.php/FAQ#How_much_free_space_do_I_have.3F