Btrfs:3+ 设备上的 RAID 1

Mik*_*kel 10 linux raid btrfs

我目前有一个带有四个设备的 Btrfs 分区:三个 3 TB 驱动器和一个 4 TB 驱动器。数据和元数据是 RAID 10,所以我有 6 TB 的可用空间,几乎已满。我预计 Btrfs 中的 RAID 5 支持会在我的存储填满时成熟,但显然这不是优先事项。

我的问题是:是否有理由更喜欢 RAID 10 而不是 RAID 1?我知道我当前硬件上的真正 RAID 1 应该给我 3 TB 的可用空间,每个块有 4 个副本,但 Btrfs 显然不会这样。来自Btrfs 常见问题解答

btrfs 首先将所有设备组合到一个存储池中,然后在创建文件数据时复制块。RAID-1 当前定义为“不同设备上所有数据的 2 个副本”。这与 MD-RAID 和 dmraid 不同,因为它们为 n 个设备制作了 n 个副本。在三个 1 TB 设备上的 btrfs RAID-1 中,我们获得了 1.5 TB 的可用数据。因为每个块只被复制到 2 个设备,所以写入一个给定的块只需要正好写入 2 个设备;阅读只能从一个。

来自堆栈溢出的Jens Erat :

Btrfs 以块方式分发数据(及其 RAID 1 副本),因此可以很好地处理不同大小的硬盘。您将收到所有硬盘的总和,除以二 – 无需考虑如何将它们组合成大小相似的对。

如果多个磁盘出现故障,您总是有丢失数据的危险:RAID 1 无法处理同时丢失两个磁盘的情况。在上面给出的示例中,如果错误的两个磁盘死亡,您总是会丢失数据。

这是否意味着由于 4 TB 驱动器,从 RAID 10 重新平衡到 RAID 1 会给我额外的 500 GB 数据(6.5 TB 而不是 6 TB)?有什么理由让我坚持使用 RAID 10?

小智 5

是的,您可以获得额外的 500 GB。请注意,确定 btrfs 中的可用空间仍然难以捉摸。另外:看看btrfs 磁盘使用情况计算器

关于您的第二个问题:您的阵列可能会失去一些性能。自然,您的数据在两种 RAID 配置上都同样安全。在考虑性能时,您或许可以查看以下基准测试:kernel.orgphoronix.com

您是否已经尝试过转换为 RAID 1?如果是这样:你的发现是什么?

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时对自己的帖子发表评论,一旦您有足够的 [声誉](http://superuser.com/help/whats-reputation),您将能够[评论任何帖子](http://superuser.com/help/privileges/comment)。 (2认同)