我的 PC 有一个 SSD 用于存储根文件系统和主目录,还有一个大容量 HDD 用于存储其他数据。有时我会将 SSD 内容同步到 HDD,以防 SSD 发生故障。HDD 有一个单独的备份。
现在我考虑是否可以使用 BTRFS RAID 模式来实现相同的目的。那么我可以在 RAID 模式下使用子卷吗,这样 SSD 主要用于读取/写入,而数据则同步到 HDD?
此外,我希望在 HDD 上拥有卷的快照。
如果不需要手动操作,甚至当 HDD 断开连接一段时间后,也能正常工作,那就太好了。
另一个选项可能是 btrfs 发送/接收,但是在 IO 空闲时写入 HDD 的 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?
不。
- BTRFS 不在子卷级别进行 RAID;
- RAID1 I/O 将对两个驱动器进行读写同时;
当 IO 空闲时写入 HDD 的 RAID 模式将允许始终拥有数据的最新副本。
RAID 的工作方式并非如此。请参阅上文第 1 点。
BTRFS 确实允许你混合使用不同大小和类型的驱动器,因此你能使用现有的 SSD + HDD 创建 RAID1 阵列,数据将存储在两个驱动器上。但是,
- 您将受到较小驱动器大小的限制。您可以使用计算器了解您的可用存储空间。
- 设置它会相当复杂,因为您必须重建整个系统;
我想要获得硬盘上的卷的快照。
您可以通过在该 HDD 上创建 BTRFS 卷并启用周期快照来实现此目的。雙方是我使用并推荐的工具。
祝你好运! :)