如何重新平衡 BTRFS 文件系统 以释放磁盘空间
欢迎来到之路教程(on itroad-com)

解决方案

由于 btrfs 设备不会重新平衡块并且文件系统因此而变满,因此 btrfs 设备通常会被填满。

重新平衡文件系统,如下例所示

# mount
/dev/sdb on /var/lib/docker type btrfs (rw,relatime,seclabel,space_cache)
# df -h /var/lib/docker
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 12G 852M 9.8G 8% /var/lib/docker
# btrfs bal start /var/lib/docker
Done, had to relocate 4 out of 4 chunks

重新平衡后的输出

# df -h /var/lib/docker
Filesystem Size Used Avail Use% Mounted on
/dev/sdb 12G 851M 11G 8% /var/lib/docker

问题

BTRFS 文件系统已在服务器上填满,因此需要在其上释放一些空间。
btrfs 中有一个重新平衡功能。
重新平衡功能的主要目的是将块组分布在所有设备上,以便它们匹配由相应配置文件定义的约束,这是在 btrfs 需要重新平衡以解决块不平衡的问题时完成的。

日期:2020-09-17 00:13:45 来源:oir作者:oir