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

无论好坏,我都在使用Btrfs。 它是一个没有压缩或RAID的普通btrfs分区,也没有任何快照; 它是一个简单的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 sda5是286GB,大小为354GB。 然后说350GB使用。

/dev/sda5安装为/

如何访问它认为免费的~60GB,但不是?

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