如何在 SSD 和更大的 HDD 之间使用 BTRFS 进行 RAID?

all*_*llo 8 raid backup ssd hard-drive btrfs

我的电脑有一个 SSD 用于根文件系统和主目录,还有一个大 HDD 用于其他数据。我有时会将 SSD 内容同步到 HDD,以防 SSD 出现故障。HDD 有单独的备份。

现在我考虑是否可以使用 BTRFS RAID 模式来实现相同的目的。那么我可以使用RAID模式的子卷,这样SSD主要用于读/写,数据同步到HDD吗?
另外,我想要硬盘上卷的快照。

如果无需手动操作即可工作,即使硬盘已断开连接一段时间,那就太好了。

另一种选择可能是 btrfs 发送/接收,但在 IO 空闲时写入 HDD 的 RAID 模式将允许始终拥有数据的最新副本。

编辑:这不是123的重复,因为我明确要求 BTRFS,它具有存储池概念,而不仅仅是使用块级 RAID。

小智 1

如何在 SSD 和更大的 HDD 之间使用 BTRFS 进行 RAID?

您只需使用两个磁盘创建一个 BTRFS 卷:

mkfs.btrfs -m raid1 -d raid1 /path/to/ssd /path/to/hdd

更多示例请参见https://btrfs.wiki.kernel.org/index.php/UseCases

但请注意,RAID1 并不是一种备份机制。

那么我可以使用RAID模式的子卷,这样SSD主要用于读/写,数据同步到HDD吗?

不。

  1. BTRFS 不在子卷级别进行 RAID;
  2. RAID1 I/O 将同时读写两个驱动器;

当 IO 空闲时写入 HDD 的 RAID 模式将允许始终拥有数据的最新副本。

RAID 不是这样工作的。参见上文 1。

BTRFS 确实允许您混合不同大小和类型的驱动器,因此您可以使用现有的 SSD + HDD 创建 RAID1 阵列,您的数据将位于两个驱动器上。然而,

  1. 您将受到较小驱动器大小的限制。您可以使用计算器来了解您的可用存储空间。
  2. 设置起来会相当复杂,因为您必须重建整个系统;

我想要硬盘上卷的快照。

您可以通过在该 HDD 上创建 BTRFS 卷并启用周期快照来实现此目的。btrbk是我使用并且可以推荐的工具。

祝你好运!:)

  • 这是不幸的,因为我真的希望能够只镜像一个子卷,所以我提高了读取速度(我认为RAI​​D1应该能够并行读取)并希望写入可以同步较慢的磁盘懒惰,因为它发生在BTRFS 中的文件系统级别。如果没有这个,它对我来说毫无用处。当系统驱动器出现故障时,我只是从备份中恢复它,因此加速是我想要 RAID 设置的主要因素。 (3认同)
  • 这实际上是可能的。请参阅[在 RAID 1 中使用 SSD + 两个 HDD 的速度](https://superuser.com/q/663509/241386) (2认同)
  • @allo `受较小驱动器大小的限制` - 解决这个问题的方法是在 SSD 上创建单个分区,并在 HDD 上创建相同大小的分区;然后让 btrfs 使用它们。将 HDD 的其余部分用于具有单独文件系统的其他分区。 (2认同)