单独购买 RAID 磁盘比批量购买更好吗?

单独购买 RAID 磁盘比批量购买更好吗?

这个问题听起来可能有点奇怪,但我的一些同事对此进行了热烈的讨论。考虑一个中等大小的 RAID 阵列,由 8 个或 12 个磁盘组成。购买首批磁盘或购买替换磁盘以扩大阵列或更新硬件时,可以采取两种主要方法:

  1. 从一个供应商处一次性购买所有驱动器,并收到一个包含所有磁盘的大盒子。
  2. 从多个供应商处分别订购一张磁盘,和/或分散(在几天或几周的时间内)订购几份磁盘。

显然,也存在一些中间立场,但这些是主要的对立思想。我真的很好奇哪种方法在降低阵列灾难性故障风险方面更为合理。(我们将其定义为“25% 的磁盘在与阵列重新同步一次所需的时间相等的时间窗口内发生故障。”)逻辑是,如果所有磁盘都来自同一个地方,它们可能都具有相同的潜在缺陷等待着攻击。如果你愿意的话,可以将其称为同一个定时炸弹,时钟上的初始倒计时相同。

我收集了每种方法的一些比较常见的优缺点,但其中一些感觉像是猜测和直觉,而不是基于确凿证据的数据。

一次性购买,优点

  • 在研究/订购阶段花费的时间更少。
  • 如果供应商收取费用,则尽量减少运输成本。
  • 磁盘几乎保证具有相同的固件版本和相同的操作特性(温度、振动等)的“怪癖”。
  • 价格上涨/库存短缺不太可能导致项目中途停滞。
  • 每个磁盘在需要安装时都已准备好。
  • 序列号都是预先知道的,磁盘可以按照序列号递增的顺序安装在机箱中。这似乎过于繁琐,但有些人似乎很看重这一点。(我猜他们的管理界面是按序列号而不是硬件端口顺序对磁盘进行排序的……?)

一次性购买,缺点

  • 所有磁盘(可能)都来自同一家工厂,在同一时间制造,使用相同的材​​料。它们存储在相同的环境中,在运输过程中遭受相同的潜在滥用。其中一个磁盘上的任何缺陷或损坏很可能也会在所有磁盘上存在。
  • 如果将驱动器逐个更换到现有阵列中,并且每个新磁盘都需要单独重新镀银,则可能要等几周才能安装订单中的最后一块磁盘并发现其有故障。在此期间,供应商的退货/更换期限可能会到期。
  • 无法利用项目期间可能出现的近期价格下降。

单独购买,优点

  • 如果一个磁盘发生故障,它与其他磁盘几乎没有任何制造/运输历史。如果故障是由制造或运输过程中的某些因素引起的,那么根本原因很可能不会发生在其他磁盘上。
  • 如果磁盘在到达时损坏或在使用的第一个小时内出现故障,则会在货物到达后不久检测到,并且退货过程可能会更顺利。

单独购买,缺点

  • 需要花费大量时间才能找到足够多的、价格合理的供应商。订单跟踪、送货失败、损坏物品退货和其他问题可能需要花费大量时间才能解决。
  • 可能会增加更高的运输成本。
  • 非常有可能的是,需要新磁盘,但手头没有磁盘,从而导致项目停滞。
  • 想象的好处。无论供应商或购买日期如何,所有磁盘都来自同一个地方,并且实际上都是一样的。制造缺陷会被质量控制发现,不合格的磁盘就不会出售。运输损坏必须非常严重(并且肉眼可见),以至于损坏的驱动器在拆开包装时显而易见。

如果我们仅从要点数量来看,“批量购买”显然胜出。但有些优点很弱,有些缺点很强。许多要点只是陈述了其他一些要点的逻辑反面。其中一些可能是荒谬的迷信。但如果迷信在维护阵列完整性方面做得更好,我想我愿意接受它。

这里哪一个群体最明智?

更新:我有与此讨论相关的数据。我亲自构建的最后一个阵列(大约四年前)有八个磁盘。我从一个供应商那里订购,但将购买分成两个订单,每个订单四个磁盘,间隔约一个月。阵列的一个磁盘在运行的第一个小时内发生故障。它是第一批中的,并且在启动所有磁盘所需的时间内,该订单的退货窗口已经关闭。

四年后,七张原始磁盘加上一张替换磁盘仍然运行无错误。(敲木头。)

答案1

实际上,从企业供应商(HPE、戴尔等)购买产品的人不用担心

这些供应商提供的驱动器已经分布在多个制造商的同一零件编号下。

特定 SKU 下的 HP 磁盘可能是 HGST 或 Seagate 或 Western Digital。

相同的 HP 部件号,制造商、批号和固件不同 在此处输入图片描述

不过,您不应该试图智胜/战胜批次失败的可能性。如果能让您安心,您可以尝试,但这可能不值得付出努力。

集群、复制和可靠备份等最佳实践是批量故障的真正保护。添加热备件和冷备件。密切监控您的系统。利用 ZFS 等智能文件系统 :)

请记住,硬盘故障并不总是机械故障......

答案2

尊重 ewwhite 的回答,有些系统管理员确实会分批订购。我自己从来不会单独订购驱动器,但我上一个以这种身份工作的地方的标准操作是分批订购驱动器。对于一台十二驱动器机器,SOP 规定驱动器应分为三批,从而为机器提供三层冗余配置。

然而,我咨询过的其他小型公司遵循不同的协议,有些公司不关心批次,有些公司将批次分成两个或四个阵列。简短的回答是根据您所需要达到的服务水平采取适当的行动。

附注:我之前工作的地方确实做得对。应用存储机器决定在整批驱动器上发生故障,我们发现这一批驱动器都存在相同的故障。如果我们没有遵循批处理协议,我们将遭受灾难性的数据损失。

答案3

一位花费了大量时间处理濒临死亡的 RAID 阵列和困难驱动器的人的诚实回答:如果可以避免,不要让所有驱动器都来自同一批。

我的经验仅适用于旋转磁盘,SSD 有其自身的问题和优点,在批量订购时需要考虑。

处理事情的最佳方法主要取决于您使用的阵列有多大,如果您使用具有 2 个驱动器冗余的 6 个驱动器阵列,那么您可以安全地从 3 家制造商处购买类似的驱动器,然后像那样拆分阵列。

如果您使用的是奇数驱动器或正在使用无法轻松分区的阵列,您可以尝试其他方法,例如从不同的供应商处购买相同的驱动器,或者如果您批量购买,您可以查看并尝试根据一起制造的可能性来分离驱动器。

如果您运行的是具有正确底层技术的小型阵列,那么从异构磁盘供应中逐步构建它甚至可能是值得的。从您可以承受的最小驱动器数量开始,并在一两个月后或当您填满系统时购买下一批供应。这也让您可以感受到您选择的特定型号可能存在​​的任何问题。

此建议背后的原因是两种驱动器特性的结合。

  1. 如果硬盘的来源相似,则 MTBF 会受到严重影响。在统计学中,我们称之为抽样偏差,因为样本相似,平均效应往往不太有用。如果批次或设计本身存在问题,并且发生的频率比您想象的要高,那么该批次的硬盘将比 MTBF 建议的更早出现故障。

    如果驱动器分散开来,您可能会获得 [50%、90%、120%、200%] 的 MTBF,但如果所有驱动器都来自该 50% 的批次,那么您将陷入混乱。

  2. RAID 阵列重组会损坏磁盘。不,真的。如果驱动器发生故障并且阵列重建,则会在扫描其他驱动器上的数据时给它们增加额外的负载。如果您有一个即将发生故障的驱动器,重建可能会将其移除,或者它可能已经有一个您不知道的故障位置,因为最近没有读取该部分。

    如果您拥有来自同一批次的大量驱动器,则发生此类级联故障的几率要比不同驱动器的几率高得多。您可以通过定期巡检扫描、清理、重新镀银等针对您使用的阵列类型的建议做法来缓解这种情况,但这样做的缺点是会影响性能并且可能需要数小时才能完成。

为了了解硬盘寿命差异有多大,Backblaze 会定期进行硬盘故障统计报告……我与该公司没有任何关系,但他们应该知道他们在谈论硬盘可靠性时说了什么。例如https://www.backblaze.com/blog/hard-drive-failure-rates-q1-2017/...您的样本集可能会较小,因此异常数据可能会扰乱您自己的经验,但它仍然是一个很好的参考。

答案4

单独订购驱动器的另一个潜在缺点是包装和搬运。

硬盘几乎从不以零售包装形式提供。如果你一次购买一个,它们几乎肯定会被卖家重新包装。我发现这种重新包装变化很大。有时你会得到一个带有大量填充物的漂亮盒子,但有时你几乎没有任何填充物。

较小的箱子也更容易被搬运工扔来扔去,而且不会造成明显的外观损坏。

相关内容