单独购买RAID磁盘还是批量购买RAID磁盘是否更好?

这可能听起来像是一个奇怪的问题,但却引起了一些同事的热烈讨论。 考虑一个由8或12个磁盘组成的中等大小的RAIDarrays。 在购买第一批磁盘时,或者购买替代品以扩大arrays或刷新硬件时,可采取两种广泛的方法:

  1. 从一个供应商购买所有驱动器,并接收一个包含所有磁盘的大型盒子。
  2. 从各种供应商订购一盘,和/或分散(每天或几周的时间)多个订单每盘一盘。

显然有一些中间的地方,但这些是主要的反对意见。 对于减lessarrays灾难性失败的风险,我真的很好奇哪种方法更明智。 (让我们定义为“25%的磁盘在一个时间窗口内失效,等于一次重新启动arrays需要多长时间”)逻辑上,如果所有的磁盘来自同一个地方,它们可能都有相同的潜在的缺陷等待罢工。 如果你愿意的话,同样的时间炸弹与最初的倒计时相同。

我已经为每种方法收集了一些较为常见的优点和缺点,但其中一些似乎是猜测和直觉本能,而不是基于证据的坚实数据。

一次性购买,优点

  • 更less的时间花在研究/订购阶段。
  • 如果供应商收费,最大限度地减less运输成本。
  • 磁盘几乎保证具有相同的固件版本和在其操作特性(温度,振动等)方面相同的“怪癖”
  • 价格上涨/库存短缺不可能在中途拖延项目。
  • 在需要安装的时候,每个下一个磁盘都在手边。
  • 序列号全部是已知的,磁盘可以按照序列号的顺序安装在机箱中。 似乎过于挑剔,但有些人似乎很重视。 (我猜他们的pipe理界面通过序列号而不是硬件端口顺序来sorting磁盘…?)

立即购买,缺点

  • 所有磁盘(可能)来自同一工厂,同一时间制造相同的材料。 他们被储存在同一个环境中,在运输过程中受到同样的潜在的滥用。 任何缺陷或损害都可能存在于所有的中。
  • 如果驱动器正在逐个更换到现有arrays中,并且每个新磁盘都需要单独进行复位,则可能需要几周时间,才能安装最后一个磁盘并发现故障。 在此期间,供应商的退货/更换窗口可能会过期。
  • 无法利用项目期间可能出现的近期价格下跌。

单独购买,优点

  • 如果一个磁盘出现故障,则与其他任何磁盘共享非常less的制造/运输历史logging。 如果故障是由制造或运输中的某些事件引起的,那么根本原因可能不会发生在任何其他磁盘上。
  • 如果磁盘在到达时已经死机,或者在第一个使用小时内出现故障,那么在货物到达后不久就可以检测到,并且返回过程可能会更顺利。

单独购买,缺点

  • 花费大量的时间来find足够的供应商以合理的价格。 订单跟踪,交货失败,退货损坏和其他问题可能会耗费时间来解决。
  • 潜在的更高的运输成本。
  • 存在一个非常现实的可能性,那就是需要一个新的磁盘,但是没有任何磁盘可用,拖延了这个项目。
  • 想象中的好处。 无论购买的是供应商还是购买date,所有的磁盘都来自同一个地方,而且都是一样的。 制造缺陷会被质量控制检测到,而不合格的磁盘则不会被销售。 运输损坏必须非常严重(并且肉眼可见),破损的驱动器在拆包时将是明显的。

如果我们要简单地通过子弹点数,“散装买”赢得相当清楚。 但是一些优点是很弱的,一些缺点是很强的。 许多要点只是陈述其他一些的逻辑逆。 其中有些东西可能是荒谬的迷信。 但是,如果迷信在保持数组完整性方面做得更好,我想我会愿意同意的。

哪一组在这里最明智?

更新:我有与此讨论相关的数据。 我个人build立的最后一个arrays(大约四年前)有八个磁盘。 我从一个单一的供应商订购,但分成两个订单,每个四个磁盘,大约相距一个月。 arrays的一个磁盘在运行的第一个小时内失败。 从第一批开始,这个订单的退货窗口就在所有的时间都closures了。

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

在实践中,从企业供应商(惠普,戴尔等)购买的人不担心这一点

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

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

相同的HP部件号,制造商,批号和固件的变体 在这里输入图像描述

尽pipe如此,你不应该试图超越/战胜批次失败的可能性。 如果让您放心,不妨试试,但这可能不值得。

像群集,复制和固体备份的良好实践是对批量故障的真正保护。 join冷热备件。 密切关注您的系统。 利用像ZFS这样的智能文件系统

请记住,硬盘驱动器故障并不总是机械的

根据ewwhite的回答,一些系统pipe理员可以批量订购。 我自己也不会单独订购驱动器,但是我在这样的能力下工作的最后一个地方的标准操作是批量订购驱动器。 对于十二驱动机器,SOP规定驱动器分成三批,给机器一个三层的冗余configuration文件。

然而,我曾经咨询过的其他小型服装遵循不同的协议,有些不关心批量,有些则将批量分成两个或四个数组。 简短的回答是做什么感觉适合你需要达到的服务水平。

附注:我工作的最后一个地方当然是做正确的事情。 应用程序存储机器决定在整批驱动器上出现故障,并且我们发现这个特定的批次都有相同的故障。 如果我们没有遵循批处理协议,我们将遭受灾难性的数据丢失。

诚实的答案,花了很多时间处理死亡RAIDarrays和困难的驱动器的人:如果你可以避免,不要从同一批次的所有驱动器。

我的经验只适用于旋转磁盘,SSD在批量订购时有其自身的问题和好处。

处理事情的最佳方式主要取决于您所使用的arrays的大小,如果您正在使用6驱动器arrays和2个驱动器冗余,则可以安全地从3个制造商处购买类似的驱动器,并拆分arrays像那样。

如果你使用的是一个奇怪的驱动器,或者你正在处理那些不能被轻松分区的数组,那么你可以尝试其他方法,比如从不同的供应商那里购买同一个驱动器,或者如果你是批量购买,你可以通过并尝试根据制造在一起的可能性分开驱动器。

如果使用正确的底层技术运行足够小的arrays,则可能值得您花时间从异构磁盘供应中逐步构build。 从最less数量的驱动器开始,在一个月或两个月后购买下一个电源,或者在您填充系统时购买下一个电源。 这也让你感受到你所挑选的特定模型可能存在的问题。

这个build议背后的原因是两个驱动器怪癖的组合。

  1. 如果您有许多类似的驱动器,平均故障间隔时间会显着中断。 在统计中,我们称之为抽样偏差,因为样本的相似性,平均效应往往不太有用。 如果批次或devise本身出现故障,而且发生的次数比您想象的要多,那么该批驱动器将比MTBFbuild议的时间早。

    如果驱动器分散开来,可能会得到MTBF的[50%,90%,120%,200%],但是如果所有驱动器都来自这个50%的批次,那么您的手中就会混乱不堪。

  2. Raidarrays重装会杀死磁盘。 不完全是。 如果发生驱动器故障并重buildarrays,则将扫描其他驱动器上的额外负载,同时扫描其中的数据。 如果驱动器接近故障,则重build可能会将其取出,或者可能已经有一个故障位置,您刚才不知道,因为该部分最近没有被读取。

    如果从同一批次中获得大量驱动器,则发生这种级联故障的几率远高于不同的几率。 您可以通过定期的巡视扫描,磨砂,重塑来缓解这种情况,无论您使用的arraystypes是什么build议的做法,但缺点是它会影响性能,可能需要数小时才能完成。

在某些情况下,驱动器的寿命有多大,Backblaze会定期检测驱动器故障。我不以任何方式与公司挂钩,但是他们应该知道他们在驱动器可靠性方面正在谈论的内容。 一个例子是https://www.backblaze.com/blog/hard-drive-failure-rates-q1-2017/ …你的样本集可能会更小,所以边远的数据可能会搞砸你自己的经验,它仍然很好的参考。

几年前,我不得不考虑这个问题。 我将实践经验和研究结合起来,将build议备份到多源。

撇开你的优点和缺点,以及ewwhite的优秀答案 ,谨慎的build议,如果你自己购买驱动器,你多源。 快速浏览维基百科关于RAID弱点的讨论,指出了两个有趣的参考。

第一个参考文献是ACM论文RAID:高性能,可靠的二级存储 (Chen,Lee,Gibson,Katz和Patterson.ACM Computing Surveys.26:145-185)。 在3.4.4节中,作者指出硬件故障并不总是在统计上独立的事件,并给出原因。 在我写这个答案的时候,论文可以在网上find。 pp 19-22讨论可靠性( http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.3889 )。

第二个参考是现实世界中的磁盘故障:1,000,000小时的MTTF对您意味着什么? (Schroeder,Gibson,第五届USENIX文件和存储技术会议)。作者提供了统计数据来支持断言驱动器故障可能以高于独立事件预测的速度聚集在一起。 当时我正在写这个答案,这篇论文也可以在网上find( https://www.usenix.org/legacy/events/fast07/tech/schroeder/schroeder_html/index.html )。

戴尔由于在大型磁盘环境中存在相关的磁盘故障,而在2012年明确推荐使用RAID 5。 由于类似的原因,RAID 6预计在2019年左右变得不可靠(ZDNet的一篇文章标题为“为什么 – 突袭6停在2019年工作”: http : //www.zdnet.com/article/why-raid-6在2019年/停止工作 )。 虽然这两者的关键因素是磁盘大小和重build时间,但是推荐使用较小的驱动器大小和多源化作为RAID 5问题的缓冲器。

所以是的,如果可以的话,多驱动硬盘。 如果您是从ewwhite的回答中所描述的企业供应商那里购买,这可能会透露给您。 但是,我的客户从一家企业供应商购买了16个2TB硬盘。 他们碰巧是来自同一个制造商,似乎是在同一时间制造。 其中两个驱动器在configurationRAID01arrays两周内失败。 所以当你拿到它们的时候请检查一下驱动 (无论如何你已经检查过了,对吧?)

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

硬盘几乎不提供零售包装。 如果您一次购买一件,几乎肯定会被卖家重新包装。 我已经发现这个重新包装变化很大。 有时候你会得到一个有很多填充的好框,但是有时你几乎没有任何填充。

一个较小的箱子也更容易被运营商抛在身边而没有明显的外部损害。

如果您试图减轻“不良批次”的情况,这意味着特定采购批次中的每个驱动器可能/将在同一时间内发生故障,考虑arrays的大小以及所使用的RAID级别也很重要。

如果您考虑进行多个订单,则不会在整个板上应用标准。 build议2 – 4个采购层的人应该问自己,如果整个驱动器层出现故障,arrays仍然在线吗? 因此,对于1/5/10/50冗余RAID级别,您必须一次购买1个驱动器。 对于RAID6,您可以一次购买2个。

无论您如何购买定期备份的驱动器,购买适合arrays大小和RAIDtypes的足够热/冷备件,我都会build议您。

我总是购买二手/散装。 我跟踪的订单几乎总是相同的设备型号,至less可以减轻对“坏批”的担忧。 networking上有太多的火热销售的硬件,除非是关键任务硬件(我们所有的备份硬件还在翻新!),否则我很难为其购买新硬盘(或其他任何东西)。

+ PRO:具有竞争力的在线定价和不断变化的商业环境所带来的硬件泛滥,意味着几乎没有任何努力可以在零售环境中获得50-80%的折扣。

+ PRO:价格低廉的价格可以将预算释放到超额购买,并保持硬件更换的稳定性。

+ PRO:卖家关系我有一些网上卖家谁得到轻微折扣折扣已经相当大的折扣/二手硬件折扣。 除非你大量购买或与他们一起购买SLA,否则通常不会得到Monoprice。 另外,尤其是硬盘驱动器,只要确保你在盒子外面testing它们。 我从来没有与没有退款或更换DOA硬件的卖家有任何问题(除非这是一个我没有抓住的骗局)。

-CON:保修,合法性问题保修以设备的生产date为准,您还需要留意网上卖家试图向您推销重新品牌,克隆等。

-CON:testing需要考虑testing的开销。 无论如何,你应该testing新鲜的硬件也不知道这是否适用。

-CON:寿命难以判断; 稍微容易发生磁盘故障。

注意:如果这是一个客户端版本,他们没有明确的请求翻新/使用,总是由shiny/新!

其实这取决于Raid级别。 在Raid 2,3,5,6中,它确实有助于从不同的批次驱动,但这并不是决定性的:已经在本质上丧失了使用这些级别的可靠性和性能。

现在,对于使用Raid 1(镜像)或1 + 0(在镜像上分条)的常规select,在每个镜像(每个Raid 1arrays)的不同侧上使用不同的驱动器确实是有用的,以便恢复过程中没有镜像失败。 此外,应该有热备件来最小化恢复窗口。

欲了解更多信息,请访问高级数据库pipe理员着名的奥克表networking,获取信息丰富的Baarf(反对任何Raid攻击战)的网站http://baarf.dk/

通过使用来自不同批次和理想制造商的硬盘,可以获得更高的可靠性。 否则,他们可能会失败太近。 @Eliodorus的优秀答案足以说明这一点。

当然,谁洗牌并不重要。 如果你的供应商确认它已经为你做了,不需要关心。 然而,对一些甚至不同的提供者进行一些法医学分析似乎是不合理的,如果不直接告诉别人,你会得出一个结论。 提供商通常不会懒惰地宣传他们为提高驱动器的可靠性而采取的各种措施。