关于 btrfs 文件系统 balance 的问题

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

关于 btrfs 文件系统 balance 的问题

#1

帖子 zhangjint5 » 2021-06-11 14:21

我有一个存储较为重要数据的文件系统!

使用中无实时备份需求,由于成本问题,采用rsync同步到usb移动硬盘这种方式备份!

考虑到现在叠瓦盘越来越多,涉及到的写放大还会影响到不需要修改的文件的存储区域。

而恰好 btrfs 支持 checksum ,为了防止出现 silent corrupt 而不自知,两边都使用了 btrfs 文件系统!(ZFS太麻烦了)

使用一段时间总体上没什么问题,但是发现大量删除文件(或子卷)后,剩余空间似乎没有立即恢复,总是需要 “btrfs balance start 挂载点”后才能真正回收磁盘剩余空间,这一步在机械硬盘上消耗的时间又非常长。而且长时间的连续读写操作对usb移动硬盘来说更加担心!

所以想了解下,还有没有更加高效的解决方法!
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 关于 btrfs 文件系统 balance 的问题

#2

帖子 astolia » 2021-06-11 14:49

可以给balance方法加上限制参数

代码: 全选

btrfs balance start -dusage=0 -musage=0 挂载点
具体意义见manpage https://btrfs.wiki.kernel.org/index.php ... SUBCOMMAND
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

Re: 关于 btrfs 文件系统 balance 的问题

#3

帖子 zhangjint5 » 2021-06-11 18:00

好吧,我在试试
zhangjint5
帖子: 304
注册时间: 2011-01-02 12:31

Re: 关于 btrfs 文件系统 balance 的问题

#4

帖子 zhangjint5 » 2021-06-19 14:42

astolia 写了: 2021-06-11 14:49 可以给balance方法加上限制参数

代码: 全选

btrfs balance start -dusage=0 -musage=0 挂载点
具体意义见manpage https://btrfs.wiki.kernel.org/index.php ... SUBCOMMAND
好吧!以前一直用 -dusage=5 几乎没什么效果!最近发现 -dusage=5 操作需要对 btrfs 文件系统内的所有子卷分别进行操作!!!

之前一直只对“/”子卷操作,而在 -dusage=5 参数下并没影响到其下面的所有子卷!

现在看来 -dusage=5 足以满足需求,速度也可以!
回复