Btrfs 通过 mdadm RAID6?

Btrfs 通过 mdadm RAID6?

我有一个 Btrfs RAID 6** 阵列,并且我当前有足够的可用空间来重建它,以避免当前影响此 RAID 级别的文件系统的数据丢失错误。

我的想法是使用 Btrfs 重建阵列mdadm并格式化 md 设备。但我有几个问题:

  • 通过 mdadm RAID 6 的 btrfs 可靠吗?
  • bitrot 保护和快照还会继续起作用吗?
  • 这种设置有什么缺点吗?
  • 还有更好的选择吗?

答案1

2016年,不应使用 Btrfs RAID-6

您可以看到Btrfs 状态页面RAID56被认为是不稳定的。写入漏洞仍然存在,并且奇偶校验未进行校验。清理将验证数据,但不会修复任何数据降级。

回答您的问题:

通过 mdadm raid6 的 btrfs 可靠吗?

您希望一个 Btrfs 卷位于 md RAID-6 之上,这意味着 Btrfs 将不知道 RAID。这与拥有一个格式化为 Btrfs 的文件系统一样可靠,默认情况下它是元数据的副本,并且只是数据的单个副本。

bitrot 保护和快照还会继续起作用吗?

使用您建议的设置,Btrfs 将检测到损坏的位,但无法修复它们,因为您的数据只有一个副本。如果如果你的 md RAID-6 阵列发生意外,您将面临数据丢失。

不过,快照仍然有效,但在清理过程中也无法进行修复。

这种设置有什么缺点吗?

您会相信 md 会保护您的数据,但 md 不知道您的数据是什么 — 这是 Btrfs 的工作。Btrfs 无法修复在 md 级别发生的不一致。

以下是我个人的例子如果 md RAID-6 出现问题会发生什么情况。

还有更好的选择吗?

如果你正在寻找 BTRFS RAID-6 的替代方案,请考虑虚拟文件系统RAID-Z2 提供了 RAID-6 的可靠实现,可检查完整性并修复数据和快照。

至于 ZFS RAID-Z2 的缺点,它不能缩小或重塑,并且调整大小每次只能对一个磁盘进行操作,这可能需要很长时间。

也可以看看:ZFS 概述

答案2

那么,将 raid1 btrfs 放在 raid6 mdadm 之上,一分为二,可以解决这个问题。您可以将每个硬盘分成两个相等的分区,将每个硬盘的一个分区分组到两个 raid6 mdadm 卷中的 6 个硬盘组中,然后从这两个 raid6 mdadm 卷中创建一个 raid1 btrfs

答案3

Synology 使用 btrfs,并且查看他们的知识库,看起来他们正在使用 mdadm 进行 RAID。正如 Deltic 在他们的回答中提到的那样,btrfs 不知道 RAID 设置,也无法从中恢复,我鼓励人们关注他评论中的链接,了解 mdadm 是什么,不是什么,但我相信您应该能够使用 mdadm RAID 5 或 6 在驱动器故障后重建。

相关内容