![Btrfs 空间不足,但操作系统报告有大量可用磁盘空间](https://linux22.com/image/1149923/Btrfs%20%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%EF%BC%8C%E4%BD%86%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%8A%A5%E5%91%8A%E6%9C%89%E5%A4%A7%E9%87%8F%E5%8F%AF%E7%94%A8%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4.png)
不管好坏,我都在使用 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