例子

例子

我目前正在构建一个新的存储服务器,用于虚拟机、文件和备份。操作系统是 FreeNAS,它使用 ZFS 作为软件 RAID。

我的问题是,我需要选择硬盘,而且我已经看过消费者硬盘和企业硬盘,但我面临一个尚未解答的问题,我无法找到明确的答案。

我可以使用不支持 TLER/ERC/CCTL 的消费级硬盘和 ZFS(软件 RAID),而不会在以后遇到麻烦,还是我需要使用支持 TLER/ERC/CCTL 的企业级硬盘?

对此有很多不同的看法,有人说你应该使用它,有人说你不应该。我知道有几个依赖于软件 RAID 的操作系统,它们有自己的错误更正超时,因此不关心是否有 TLER / ERC / CCTL。我知道,在处理硬件 RAID 时,你需要使用 TLER / ERC / CCTL。

我真的希望有人能解答我的问题。

谢谢。

答案1

我可以使用不支持 TLER/ERC/CCTL 的消费级硬盘和 ZFS(软件 RAID),而不会在以后遇到麻烦,还是我需要使用支持 TLER/ERC/CCTL 的企业级硬盘?

想象一下,您的每个驱动器都是一个黑匣子,具有某些功能、使用寿命等。它们都在存储阵列内独立工作。因此,您必须单独查看每个驱动器,以了解在不同情况下会发生什么。

例子

对于这个问题,假设您有一个由 2 个镜像驱动器 A 和 B 组成的池。可能的组合是:

  1. A 和 B 均有 TLER
  2. A 有,B 没有
  3. A 没有,但 B 有
  4. A 和 B 没有

如果所有磁盘都运行正常,则没有问题。

一个错误:

如果磁盘 A 在尝试读取某个块时遇到错误,则每种可能的情况如下:

  1. 系统向磁盘请求块。磁盘会一次又一次地尝试找到它,大约 7 到 9 秒后(无论 TLER 超时是多少),控制器会从阵列中删除磁盘。系统会注意到一个磁盘丢失,并执行您配置的任何操作(发出电子邮件警报、开始重新同步热备用、不执行任何操作并继续降级,...)
  2. 与 1 相同。
  3. 系统向磁盘请求块。磁盘会反复尝试查找,直到达到其自身的超时时间或找到块为止。此超时时间可能为几分钟,并且可能因型号和制造商的不同而不同。如果可以检索到块,则可以正常读取;如果失败,则返回块本身的错误消息。
  4. 与 3 相同。

两个错误 (每个磁盘一个):

这种情况非常罕见,但理论上是可能的。两个磁盘在完全相同的块上都遇到错误:

  1. 两个磁盘都将被删除,并且您的池将变得不可用。
  2. 与上面的 3 相同。
  3. 与上面的 3 相同。
  4. 与上面的 3 相同。

性能与可靠性

正如您上面看到的,您必须根据您的目标和池布局做出选择。

  • 如果您始终需要最短的响应时间并且无法接受较长的阻塞延迟,请使用 TLER 磁盘。缺点是您必须潜在地配置额外的磁盘(Z2 而不是 Z1、Z3 而不是 Z2、3 个镜像而不是 2 个镜像)或热备用才能最终实现相同的平均池运行状况。此外,您还必须为可能较长的重建时间做好准备,这可能会对您的整体性能产生负面影响。
  • 如果预算或空间有限,并且如果保留磁盘,延迟是可以接受的,则使用非 TLER 磁盘。由于 ZFS 已经帮助您对受影响的块进行自我修复,因此您不需要 TLER 最初的设想(控制器必须丢弃磁盘,以便可以启动自我修复)
  • 将磁盘超时设置为您的应用程序/架构可以轻松处理的值。这样,您可以根据需要拥有不掉线的企业磁盘或有掉线的消费者磁盘。并非所有磁盘都是可修改的,因此在购买前请先在线检查。

答案2

Backblaze 发布的以下数据也值得关注:企业驱动生命周期,以及消费者推动可靠性

尽管他们使用自定义里德-所罗门实施过程中,他们的数据(和商业模式)表明消费级硬盘绝对能够提供良好的可靠性,并且通过合适的错误检测/恢复算法,可以为您的数据提供良好的保护。当然,他们的整个设置似乎在没有任何这些企业功能的情况下表现得相当不错。

这样 @用户121391说(我可能稍微解释了一下),消费者磁盘上的 ZFS 应该没问题,除非你有需要企业功能的特定需求。

相关内容