带宽高效的软件 RAID

带宽高效的软件 RAID

我有一个疯狂的想法……如果我找到我缺失的那一部分,这个想法也许会成功

  • 拥有 40 个 Windows 工作站的网络(24 小时运行)
  • 每台机器使用 500 GB 容量中的 20 GB
  • 在每个服务器上安装 iStorageServer 的免费副本
  • 为每个目标创建 iSCSI 目标(400 GB x 40 = 16 TB 原始存储)
  • 在中央 Linux 服务器上设置软件 RAID 和 LVM,这样当不超过 1/3 的工作站同时停机时,存储将处于在线状态。因此 10 TB 存储

... 最后一部分至关重要。如果我使用常规 Linux MD 类型 RAID,所有流量都会对 LAN 造成严重破坏。但一定有某种东西可以更优雅地处理这个问题...如果它真的很聪明,它还可以处理优雅降级...一半的工作站离线?没问题...看到一半的文件。它们重新上线...它们就在那里。

顺便说一句,这不会用于任何关键任务数据、高流量数据...它可能会保存一些档案或备份的备份,或者只是一个巨大的暂存盘,用于存放需要不时放在某处的垃圾。

...我希望通过发布这篇文章,你会说“这已经存在了,并且它支持 Windows 工作站作为数据存储库”(我知道它已经存在于 Linux 上)

谢谢

答案1

很难做到这一点的原因很简单——想象一下当一台机器离线很长一段时间后重新上线时会发生什么。它的大部分数据都是过时的。此时,您有两个选择:

1) 您将其同步。但这会给所有机器和网络带来沉重的负担,直到机器重新同步为止。当您尝试重新同步时,数据会发生变化,性能会在一段时间内下降。谁知道呢,也许在您让机器重新同步的那一刻,它就会被关闭。

2) 您没有同步。这可以避免上述 1 中的问题。但问题是您的冗余度会逐渐下降。如果您达到神奇的 1/3,您就会崩溃并失败。

从概念上讲,问题在于:假设你有 9 台机器,你的设计计划是可以用任意三台机器恢复数据。现在假设你实际上只有三台机器,而且你仍在运行。你将积累的数据只存在于这三台机器上。当第四台机器启动时,你处于一种脆弱的状态,如果除了刚刚启动的那台机器之外的机器发生故障,你就会丢失数据。所以你快速同步,而不考虑性能成本。

这并不是说这是个坏主意。它只是只对某些类型的数据有用。例如,它非常适合备份,因为它们不会改变。而且你可以把新信息放在当时运行的任何机器上。暂时失去对备份的访问权并不重要。

相关内容