如果我将 SSD 和 HDD 组合成 RAID1,是否可以在保持数据安全的同时获得 SSD 读写性能

如果我将 SSD 和 HDD 组合成 RAID1,是否可以在保持数据安全的同时获得 SSD 读写性能

我有 2 个存储设备;经典慢速 HDD(750GB,/dev/sda)和更快的 SSD(128GB,/dev/sdb)。目前,我在 SSD 上的同一 btrfs 分区(/dev/sdb5)上安装了 Ubuntu 和 Mint。我的 btrfs 池由 /dev/sdb5/ 组成

我想要实现的是在保持 SSD 性能的同时在 HDD 上进行数据复制:如下所示:

对于读取案例,理想的程序如下:

  • 从 SSD 读取
  • 检查校验和
  • 如果验证通过,太棒了,给我数据
  • 如果不是,则从 HDD 中获取数据并通过重复数据进行纠错

我会每月左右手动运行(某些工具,我不确定是哪一个...也许是 btrfs check--repair?)来检查 HDD 校验和并通过 SSD 数据纠正它们以防止 bitrot。

对于写入情况:

  • 写入SSD
  • 当写入要求较低时同步到 HDD,从而不会降低系统速度。

这可能吗?我该怎么做?

答案1

bcache 和 dm-cache 可以使用 SSD 之类的磁盘作为写回缓存。flashcache 和 rapiddisk 也很有趣。它们都给你的存储堆栈增加了许多复杂性,如果你不知道自己在做什么,你很容易丢失数据。

老实说,对于通用操作系统工作负载来说,这可能完全是浪费时间。这些堆栈针对的是数据库等 IO 密集型应用程序。如果您只是想尝试一下,我建议您设置一个不同的数据磁盘目标,这样您就可以在不破坏操作系统的情况下进行修改。使用 fio 或 vdbench 来测量您的性能。

相关内容