Btrfs 空间不足,但操作系统报告有大量可用磁盘空间

Btrfs 空间不足,但操作系统报告有大量可用磁盘空间

不管好坏,我都在使用 Btrfs。这是一个普通的 btrfs 分区,没有压缩或 RAID,我也没有任何快照;这是一个简单的 btrfs 分区,操作系统报告有相当多的可用空间,但在运行各种操作(例如更新)时,我遇到了空间不足的错误。

操作系统工具如df报告大量可用空间:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G   26M  1.6G   2% /run
/dev/sda5       354G  313G   41G  89% /
tmpfs           7.9G  172M  7.7G   3% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/sda5       354G  313G   41G  89% /home
tmpfs           1.6G  4.0K  1.6G   1% /run/user/139
tmpfs           1.6G   20K  1.6G   1% /run/user/1000

后来我发现 btrfs 工具可以显示有关 btrfs 卷的信息:

$ btrfs fi show
 Label: none  uuid: 76eb29fb-6909-4cc9-9848-f0b5723802b9
    Total devices 1 FS bytes used 285.88GiB
    devid    1 size 353.90GiB used 349.90GiB path /dev/sda5

 Label: none  uuid: 229c7745-144f-4dd0-98c5-476248b308ad
    Total devices 1 FS bytes used 384.00KiB
    devid    1 size 348.77GiB used 1.02GiB path /dev/sda3

/dev/sda5使用了 286GB,大小为 354GB。然后显示使用了 350GB。

/dev/sda5安装为/

我如何才能获得据称免费但实际上并非如此的约 60GB 空间?

答案1

Btrfs 尚未释放块以供重复使用。对于 Btrfs 来说,这是一个手动过程。

btrfs balance start /是执行此过程的命令。

  Done, had to relocate 352 out of 352 chunks

这将需要很长时间才能完成,但您可以在另一个控制台窗口中检查命令的进度:

$ btrfs balance status /
Balance on '/' is running
239 out of about 352 chunks balanced (240 considered),  32% left

重新平衡操作完成后:

$ btrfs fi show
Label: none  uuid: 76eb29fb-6909-4cc9-9848-f0b5723802b9
    Total devices 1 FS bytes used 287.93GiB
    devid    1 size 353.90GiB used 298.90GiB path /dev/sda5

Label: none  uuid: 229c7745-144f-4dd0-98c5-476248b308ad
    Total devices 1 FS bytes used 384.00KiB
    devid    1 size 348.77GiB used 1.02GiB path /dev/sda3

相关内容