在服务器中使用消费者MLC SSD是否安全?


44

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

我们希望设法降低成本并增加可用空间-因此,英特尔X25-E的售价约为700美元,容量为64GB。

我们正在考虑做的是购买一些以较低价格提供更多容量的低端固态硬盘。我的老板认为在备份数据中心用完的服务器上花5,000美元购买磁盘并不值得。

这些驱动器将在Lenovo RD120的6驱动器RAID阵列中使用。RAID控制器是Adaptec 8k(已更名Lenovo)。

这是多么危险的一种方法,如何减轻这些危险?


4
使用SSD而不是微调器的理由是什么?人们对SSD性能的普遍看法是“付出或不打扰”,但是当然还有其他方面可能是有利的。
peterchen

我对您要在此处解决的问题感到好奇。如果仅仅是成本之一,为什么要考虑使用SSD代替传统驱动器?
约翰·加迪尼尔

@peterchen,您可以使用两个SSD或五十个15K主轴。
Mircea Chirea 2011年

@iconiK-您的意思是“对于服务器,无论如何您都需要花费很多钱”?如果是这样-是的,这就是为什么我也想知道。
peterchen

Answers:


61

一些想法;

  • SSD具有“过量使用”内存。这是用于代替因写入而“损坏”的单元的内存。低端SSD可能仅拥有7%的过量使用空间;中档约为28%;和企业磁盘多达400%。考虑这个因素。
  • 您每天要给他们写多少钱?即使是中档固态硬盘(例如基于Sandforce 1200芯片的固态硬盘),在严重削减过量使用的内存之前,每天也很少欣赏超过35GB的写入。
  • 通常,无论是操作系统还是数据,新SSD的第一天都会写满内容。如果第一天的写入量超过35GB,请考虑分批复制,以使SSD在各批次之间有一定的“整理时间”。
  • 如果没有TRIM支持,那么在此期间如果有大量写入,则随机写入性能可能会在几周内下降多达75%-如果可以,请使用支持TRIM的操作系统
  • 现代固态硬盘执行的内部垃圾收集过程非常具体地在安静时段完成,并且在活动时停止。对于台式机而言,这不是一个问题,在台式机中,磁盘可以在其通常的8小时工作周期的60%内保持安静,但是您要运行24小时服务...何时才能获得运行此过程的机会?
  • 它通常被深埋在规格中,但是像Cheapo“常规”磁盘一样,廉价SSD的占空比也仅预期为30%左右。您将几乎100%的时间都在使用它们-这会影响您的MTBF率。
  • 尽管SSD不会遇到普通磁盘所遇到的机械问题,但它们确实存在单位错误和多位错误-因此,即使本能并非如此,因此强烈建议您对其进行RAID。显然,它会影响您刚刚购买的所有可爱的随机写入速度,但无论如何都要考虑一下。
  • 它仍然是SATA,而不是SAS,因此您的队列管理在服务器环境中将不那么出色,但是额外的性能提升将是非常可观的。

祝你好运-只是不要用文字来“炒” :)


2
您是说400%的额外空间,还是40%?我打算编辑您的答案,但找不到引用,所以我想可能是400%。(顺便说一句,这是一个很好的观点)
ChrisInEdmonton

9
RAID配置是否支持TRIM也不总是很清楚。请记住,SSD是通过RAID从操作系统中抽象出来的。确保与RAID供应商联系。
Matt Sherman

5
我的意思是400克里斯,特别是在FC SAN中使用的克里斯,但是非常花钱。
Chopper3

5
从驱动器中获得更多保留空间的一个技巧是进行安全擦除,然后在很大一部分未使用的情况下对其进行分区。此可用空间将增加SSD的性能和使用寿命。
Zan Lynx

1
只想使用@ZanLynx进行+1。通常,当我使用SSD + Raid时,我只会对大约80%的驱动器进行分区。
Tracker1'1

12

我确实找到了此链接,该链接对服务器中的MLC与SLC SSD进行有趣而透彻的分析

在我看来,将MLC闪存SSD阵列用于企业应用程序,而至少不使用像Easyco的MFT这样的技术所具有的(声称的)缓解磨损效果,就像跳伞时没有降落伞一样。

请注意,一些MLC SSD供应商声称他们的驱动器“足够灵通”,足以承受写操作:

SandForce的目标是成为第一家提供控制器的控制器,该控制器支持服务器中使用的固态驱动器的多层单元闪存芯片。通过使用MLC芯片,SF-1500为降低服务器制造商想要的成本和密度更高的驱动器铺平了道路。迄今为止,服务器的闪存驱动器已使用单级单元闪存芯片。这是因为MLC芯片的耐用性和可靠性通常达不到服务器的要求。

AnandTech对这些声明进行了进一步的分析。

另外,现在英特尔记录在案,说SLC在服务器中有90%的时间可能会过大

温斯洛说:“我们相信需要SLC(单级单元),但是通过与微软甚至希捷公司的研究发现,这些计算密集型应用程序的编写确实没有他们想像的那么多。” “百分之九十的数据中心应用程序都可以利用这种MLC(多级单元)驱动器。”

..在过去的一年左右的时间里,供应商已经认识到,通过在驱动器控制器中使用特殊的软件,他们能够将其消费者级MLC SSD的可靠性和弹性提高到企业接受它们的程度。高性能数据中心服务器和存储阵列。SSD供应商已开始使用术语eMLC(企业MLC)NAND闪存来描述这些SSD。

Winslow说:“从数量的角度来看,我们确实确实有可能仍然需要SLC的高写入密集型,高性能计算环境,但这甚至是企业数据中心需求的前10%。”

英特尔通过与日立全球存储技术公司的合资关系,为企业数据中心市场提供了10%的份额。日立正在生产串行连接SCSI SSD的SSD400S系列,其速率为6Gbit / sec。吞吐量-是其基于MLC的SATA SSD的两倍。

英特尔,即使是面向服务器的SSD驱动器,也已经通过新的Intel SSD 710系列从SLC迁移到具有很高“超额配置”空间的MLC。这些驱动器内部最多可分配总存储量的20%用于内部冗余:

性能并不是SSD 710的首要任务。相反,英特尔旨在通过使用更便宜的eMLC HET NAND以合理的价格提供SLC级别的耐用性。SSD 710还支持用户可配置的超额配置(20%),这大大提高了驱动器的耐用性。SSD 710的保修期为3年,或者直到磨损指示器达到一定水平为止,以先到者为准。这是我们第一次看到SSD保修以这种方式受到限制。


7

始终将此类事情基于事实而非假设。在这种情况下,收集事实很容易:记录生产系统的长期读/写IOPS概要文件,然后找出在灾难恢复场景中可以使用的内容。您应该使用第99个百分位数之类的度量。千万不能测量IOPS cpacity时使用平均-峰都是这个问题!然后,您需要购买灾难恢复站点所需的容量和IOPS。SSD可能是最好的方法,也许不是。

因此,例如,如果您的生产应用程序在第99个百分位数上需要7500 IOPS,那么您可能会决定在灾难中可以承受5000 IOPS。但是,在您的灾难恢复站点至少需要25个15K磁盘,因此,如果您的容量需求很小(听起来很像),SSD可能是更好的选择。但是,如果仅测量生产时的IOPS为400,则只需购买6个SATA驱动器,为自己节省一些钱,然后使用额外的空间在DR站点存储更多的备份快照。您还可以在数据收集中分开读取和写入,以根据规格确定非企业固态硬盘在您的工作负载中可以使用多长时间。

还请记住,灾难恢复系统的内存可能少于生产系统,这意味着需要更多的IOPS(更多的交换和更少的文件系统缓存)。


5

即使MLS SSD只能使用一年,一年后更换的价格也会便宜很多。那么,当它们出门在外时,您能否应对不得不更换MLS SSD的麻烦?


这是一个好主意,特别是因为它们将位于RAID阵列中。只要它们“太多”不会一次出现故障,这实际上是合理的。
Jeff Atwood

@Jeff,如果您可以与台式机交换一些信息,这样就不会全部都得到使用模式,这将减少它们一次都失败的麻烦。
伊恩·林格罗斯

@Jeff,我认为在很大程度上,失败==“开始做非常慢的权限”,而不是“不读取数据”
Ian

您是否不喜欢自动校正:-)
Jeroen Wiert Pluimers

3

如果我们搁置写数量问题(或证明消费者级别的SSD可以解决),我认为SSD是添加到企业级环境中的好东西。您可能会在RAID阵列中使用SSD。RAID5或RAID6。而且,这些问题是在单个驱动器发生故障后,阵列变得越来越容易出现故障。重建时间主要取决于阵列的容量。几个TB的阵列可能需要花费数天的时间才能重建,而且需要经常访问。对于固态硬盘,RAID阵列将a)不可避免地变小b)重建时间大大减少。


3

关于SuperTalent SLC和MLC之间差异的白皮书将MLC的耐用性和SLC SSD的耐用性相提并论的十分之一,但无论如何,MLS SSD的寿命将超过您放置它们的硬件的寿命。我不确定SuperTalent的统计数据/事实是否可靠。

假设您从MLC SSD的供应商处获得了类似水平的支持,那么较低的价格就值得一试。


1
提到了典型台式机的5年使用寿命。如果这是一个准确的估计,则它们将不会在数据中心环境中使服务器寿命更长!
JamesRyan 2011年

@JamesRyan:尽管在大多数计算中未显示,但寿命很大程度上取决于可用空间的比例。
Ben Voigt

1
在我工作过的组织中,我们总是将服务器硬件更新时间定为3年。我的印象是,通常公认的最佳实践,但是如果我错了,请纠正我。
chunkyb2002

3

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

规格文档的第3.5节(特别是3.5.4节)说,您可以保证驱动器持续至少5年,每天写入20GB。我认为这是在使用整个驱动器容量并且没有为写操作准备任何可用空间时计算的。

关于在企业环境中使用主流SSD的数据表也很有趣。


不幸的是,它并不是那么简单,因为损耗均衡会以专有的方式放大写入(请记住,它旨在分散写入而不是减少写入)是一种专有的方式,其有效性可能会因使用模式而异。
JamesRyan 2011年

嗯,很好。同样,如果在RAID设置中使用驱动器,则丢失TRIM命令也会增加写入放大。我想这全都归结于每个制造商对典型使用模式的想法。
cearny 2011年

2

几年前,我部署了一些32gb SLC驱动器,作为我们使用的一些设计糟糕的应用程序的缓冲区。

该应用程序有90%的小写操作(<4k),并且一次在SSD驱动器上以14k w / s的速度连续运行(24/7)。他们配置了RAID 1,一切都很顺利,延迟很短!

但是大约一个月后,第一个驱动器收拾了东西,实际上是在3个小时之内,第二个驱动器也死了。RAID 1毕竟不是一个很好的计划:)

如果没有其他方法将这些写操作散布到更多驱动器上,我会同意其他RAID 6上的其他标语。

现在请记住,这是几年前的事,现在这些事情变得更加可靠,您可能没有类似的I / O配置文件。

该应用程序已经过重新设计,但是作为一个可能对您有所帮助或可能无法解决的停顿,我们创建了一个大型ram磁盘,创建了一些脚本来重建/备份ram磁盘并造成了大约一个小时的数据丢失/恢复时间。

同样,您的数据生命周期可能有所不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.