在服务器中使用消费类MLC固态硬盘是否安全?

我们(也就是我们的意思是Jeff)正在研究在我们的备份数据中心中使用Consumer MLC SSD磁盘的可能性。

我们希望尽量降低成本和可用空间 – 所以英特尔X25-E的出货量大概是700美元,容量是64GB。

我们正在考虑的是购买一些较低端SSD提供更高容量的低端SSD。 我的老板并不认为在备份数据中心的服务器上花费大约5k的磁盘是值得的。

这些驱动器将用于Lenovo RD120上的6个驱动器RAIDarrays。 RAID控制器是Adaptec 8k(更名联想)。

这种做法有多危险,可以采取什么措施来缓解这些危险?

一些想法;

  • SSD具有“过度使用”内存。 这是用来代替细胞“写字”损坏的记忆。 低端固态硬盘可能只有过度使用空间的7% 中档约28%; 和企业级磁盘高达400%。 考虑这个因素。
  • 你每天要写多less钱? 即使是在Sandforce 1200芯片基础上的中端固态硬盘,在严重削减过度使用内存之前,每天也不会超过35GB左右。
  • 通常情况下,新SSD的第一天是写满了,不pipe是操作系统还是数据。 如果第一天的写入数量大于35GB,请考虑批量复制,以便SSD在批量间有一些“整理时间”。
  • 如果没有TRIM支持,那么如果在此期间有大量写入的话,随机写入性能可能会在几周内下降高达75% – 如果可以的话,使用支持TRIM的操作系统
  • 现代固态硬盘执行的内部垃圾收集过程在安静的时候非常明确地完成,并停止活动。 对于桌面型电脑来说这不是问题,磁盘可以在通常的8小时工作周期的60%内保持安静,但是你可以运行一个24小时的服务……这个过程何时有机会运行?
  • 它通常深埋于规格之内,但是像廉价的“常规”磁盘一样,价格低廉的固态硬盘也只有大约30%的工作周期。 您将几乎100%的时间使用它们 – 这将影响您的MTBF率。
  • 虽然固态硬盘不会遇到与普通硬盘相同的机械问题,但确实存在单一位和多位错误 – 即使本能不行,也应该考虑RAID。 显然,它会影响你刚刚买的所有可爱的随机写入速度,但无论如何要考虑。
  • 它仍然是SATA而不是SAS,所以你的队列pipe理在服务器环境中不会那么好,但是再一次的额外的性能提升将是相当戏剧性的。

祝你好运 – 只是不要“炒”他们写:)

我find了这个链接, 对服务器中的MLC和SLC SSD进行了有趣和深入的分析

在我看来,将MLC闪存固态硬盘arrays用于企业应用程序,而不至less使用像Easyco的MFT这样的技术的(声称的)减轻磨损的效果,就像跳出没有降落伞的飞机一样。

请注意,一些MLC固态硬盘供应商声称,他们的驱动器是“企业”足以生存的写道:

SandForce的目标是成为第一家在控制器上支持用于服务器的固态驱动器的多级单元闪存芯片的公司。 通过使用MLC芯片,SF-1500为服务器制造商所需要的更低成本和更高密度驱动器铺平了道路。 迄今为止,服务器的闪存驱动器已经使用了单级单元闪存芯片。 这是因为MLC芯片的耐用性和可靠性一般不符合服务器的要求。

AnandTech进一步分析了这些索赔。

另外,现在英特尔已经有logging说90%的时候SLC可能会在服务器上过度杀伤 :

温斯洛说:“我们相信SLC(单级单元)是必需的,但是我们通过与微软甚至希捷的研究发现,这些高计算密集型的应用程序并没有像他们想象的那么多。 “90%的数据中心应用都可以利用这种MLC(多级单元)驱动器。”

在过去的一年左右,厂商已经认识到,通过在驱动器控制器中使用专用软件,他们能够提高其消费级MLC固态硬盘的可靠性和弹性,以至于企业已经接受高性能的数据中心服务器和存储arrays。 SSD供应商已经开始使用术语eMLC(企业MLC)NAND闪存来描述这些SSD。

Winslow说:“从数量angular度来看,我们确实看到确实存在高密度,高性能的计算环境,这些环境可能仍然需要SLC,但即使是企业数据中心的要求,这也是前10%。

英特尔正在通过与日立环球存储科技公司的合资企业,为企业数据中心市场的10%提供支持。 日立正在生产具有6Gbit / sec的SSD400S系列串行连接SCSI SSD。 吞吐量 – 是基于MLC的SATA SSD的两倍。

英特尔,即使是面向服务器的固态硬盘,也已经从新的英特尔SSD 710系列中以极高的“过度configuration”空间从SLC迁移到MLC 。 这些驱动器在内部分配高达20%的整体存储空间以实现冗余:

性能不是SSD 710的重中之重。相反,英特尔目标是通过使用更便宜的eMLC HET NAND以合理的价格提供SLC级别的耐用性。 SSD 710还支持用户可configuration的过度configuration(20%),显着提高了驱动器的耐用性。 SSD 710的保修期为3年,或者直到磨损指标达到一定水平,以先到者为准。 这是我们第一次以这种方式看到SSD保修限制。

总是把这些事情放在事实上而不是假设上。 在这种情况下,收集事实非常简单:logging您的生产系统的长期读/写IOPSconfiguration文件,然后弄清楚在灾难恢复情况下可以使用哪些configuration。 你应该使用像第99百分位的东西作为你的测量。 测量IOPS容量时不要使用平均值 – 峰值是重要的! 然后,您需要为DR站点购买所需的容量和IOPS。 固态硬盘可能是最好的方式,或者不是。

因此,例如,如果您的生产应用程序在第99个百分点处需要7500 IOPS,那么您可能会决定在发生灾难时可以使用5000 IOPS。 但是,在DR站点至less需要25个15K磁盘,所以如果您的容量需求很小(听起来像是这样),SSD可能是更好的select。 但是如果你只测量一下你在生产中的400 IOPS,那么只需要购买6个SATA驱动器,省去一些硬币,并且在DR站点使用额外的空间来存储更多的备份快照。 您还可以分开数据收集中的读取和写入操作,根据其规格说明非企业SSD将为您的工作负载持续多久。

另外请记住DR系统的内存可能比生产内存要小,这意味着需要更多的IOPS(更多的交换和更less的文件系统caching)。

即使MLS SSD只持续了一年,在几年的时间内更换便宜很多。 那么你可以应付需要更换MLS SSD吗?

如果我们将写入数量问题放在一边(或者certificate消费级别SSD可以处理它),我认为固态硬盘在企业级环境中是一件好事。 您可能会在RAIDarrays中使用SSD。 RAID5或RAID6。 而这个问题就是在单个驱动器出现故障之后,arrays变得越来越容易失败。 而重build它的时间在很大程度上取决于数组的体积。 一个数TB的arrays可能需要数天的时间来重build,而不断被访问。 在SSD的情况下,RAIDarrays将不可避免地更小b)重build时间急剧减less。

从SuperTalent的SLC和MLC之间的区别白皮书提出了MLC的耐力和SLC SSD的耐力的十分之一,但是有可能是MLS SSD将超过你将它们放入硬件。 不过,我不确定SuperTalent的这些统计数据/事实有多可靠。

假设你从MLC SSD的供应商那里得到类似的支持,那么较低的价格点就值得一试。

您只需计算您当前设置的每日写入数量,并与制造商保证SSD驱动器能够承受的数据进行比较。 英特尔似乎是这方面的最前沿 – 例如,看看他们的主streamSSD驱动器数据表: http : //www.intel.com/design/flash/nand/mainstream/technicaldocuments.htm

规格文件第3.5节(特别是3.5.4)规定,保证你的驱动器至less有5年的时间,每天写20GB。 我假设在使用整个驱动器容量时不计算任何可用空间来进行写操作。

有趣的是关于在企业环境中使用主streamSSD的数据表。

几年前,我部署了几个32GB的SLC驱动器,作为我们使用的一些devise不佳的应用程序的缓冲区。

该应用程序是90%的小写入(<4K),并且一直运行(24/7),每秒14K w / s在SSD驱动器上。 他们configuration了RAID 1,一切都很好,延迟很低!

不过,大概在一个月之内,第一辆车就在3小时之内,第二辆车也死了。 RAID 1没有这么好的计划毕竟:)

我会同意某些RAID 6上的其他海报,如果没有其他的东西在更多的驱动器上传播这些信息。

现在记住这是几年前,这些东西现在更可靠,你可能没有类似的I / Oconfiguration文件。

该应用程序已被重新devise,但作为一个停止的差距,可能会或可能不会帮助你,我们创build了一个大的RAM磁盘,创build了一些脚本来重build/备份RAM磁盘,并采取了一个小时左右的损失数据/恢复时间。

同样,你的数据的生命周期可能会不同。