向 btrfs 卷添加新设备,但可用大小几乎没有增长

use*_*381 3 linux filesystems raid

我有一个 btrfs 卷,它已经包含两个不同的设备,并且安装在 /samples 上。据报道,其总大小为 194GB df

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdc1       194G  165G   20G  90% /samples
Run Code Online (Sandbox Code Playgroud)

现在,我想从另一台设备向该卷添加另外 500GB。我做了

$ sudo mkfs.btrfs -m raid0 -d raid0 /dev/sdb
$ sudo btrfs device add /dev/sdb /samples
Run Code Online (Sandbox Code Playgroud)

我的文件系统现在正确报告:

$ sudo btrfs filesystem show
Label: none  uuid: 545e95c6-d347-4a8c-8a49-38b9f9cb9add
    Total devices 3 FS bytes used 161.98GB
    devid    3 size 465.76GB used 0.00 path /dev/sdb
    devid    2 size 93.13GB used 84.51GB path /dev/sdc1
    devid    1 size 100.61GB used 84.53GB path /dev/sdc6
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我会错过一些空间:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdc1       660G  165G   43G  80% /samples
Run Code Online (Sandbox Code Playgroud)

我添加了 500GB!为什么我没有更多可用的?

为了调试,我运行了这个命令:

$ sudo btrfs filesystem df /samples
Data, RAID0: total=162.00GB, used=159.79GB
Data: total=8.00MB, used=7.48MB
System, RAID1: total=8.00MB, used=24.00KB
System: total=4.00MB, used=0.00
Metadata, RAID1: total=3.50GB, used=2.19GB
Metadata: total=8.00MB, used=0.00
Run Code Online (Sandbox Code Playgroud)

我的数据在RAID0,没关系。那么我的 500GB 去哪儿了,我该如何解决这个问题?

谢谢

use*_*381 5

感谢您的回答。我正在从我在这里和 btrfs 邮件列表上得到的各种回复中计算答案。

  1. 我的新 500G 没有显示,因为它们最初无法使用。
  2. 我需要平衡三个分区上的数据:
btrfs filesystem balance /samples
Run Code Online (Sandbox Code Playgroud)
  1. 在同一磁盘上使用两个分区(/dev/sdc1 和 /dev/sdc6)根本不是最佳选择,因为它们会花时间在两个分区之间寻找。在这种情况下,更好的选择是使用“单个”,其中分区一个接一个地填充(无条带化)。使用新的 btrfs 工具,可以使用以下命令:
btrfs balance start -dconvert=single,soft /samples
Run Code Online (Sandbox Code Playgroud)
  1. 在 Debian/Ubuntu 主机上,支持余额转换的最新 btrfs 工具通常没有打包格式,需要从源代码编译。

再次感谢您的回答。