奇数个设备的 BTRFS 突袭

奇数个设备的 BTRFS 突袭

我以前使用 4 个磁盘设置 RAID10 btrfs。现在我为 sdf 添加了新磁盘(它正在执行平衡):

Total devices 5 FS bytes used 5.73TiB
devid    1 size 3.64TiB used 2.78TiB path /dev/sdd
devid    2 size 3.64TiB used 2.78TiB path /dev/sdc
devid    3 size 3.64TiB used 2.78TiB path /dev/sdb
devid    4 size 3.64TiB used 2.78TiB path /dev/sde
devid    5 size 3.64TiB used 336.00GiB path /dev/sdf

我不明白的是磁盘 5 是如何插入到这个阵列中的?

http://www.easynas.org/wp-content/uploads/2014/05/Raid10.png

通过查看标准 raid10,我会说它进入了图片右侧的第 3 个镜像(存储 A2 A4 A6 块),但我确信对于 BTRFS 来说它的做法不同。

有人可以解释一下吗?

答案1

Btrfs 不会镜像整个磁盘。它镜像单个数据块(“块”)并将它们分散到磁盘各处。

一个块将在磁盘 1 和 2 之间镜像,另一个块将在 3 和 4 之间镜像,还有一个块将在 2 和 5 之间镜像,以此类推。

因此,每个数据块都会在另一个磁盘上有一个备份副本,但并非全部都位于同一个磁盘上。

这样做有两个好处:

  • 您的磁盘不必全部大小相同。它会将块分散到任意两个驱动器上的可用空间中。
  • 当磁盘发生故障时,一个驱动器不会承担所有冗余和恢复的压力。所有其他具有所需块的磁盘都会被使用,从而加快访问速度。

这是一个非常灵活的系统。我特别喜欢它,因为磁盘不需要大小相同。

相关内容