存储 频道

SSD RAID:使用RAID进一步提高SSD性能

  RAID阵列已经被使用了超过40年,它的目标是提高硬盘(HDD)存储系统的性能。但是一个单固态硬盘(SSD)往往可以提供与多HDD RAID阵列相当的性能,因此通常被视为HDD RAID阵列的替代品。

  不过,使用SSD RAID阵列可以带来进一步的性能提升,因此SSD应该被视为RAID的补充,而不是替代RAID。将SSD与HDD相比较时,SSD RAID的性能显然更高。

  某些SSD RAID配置也可用于在磁盘发生故障时保护数据。虽然SSD比HDD更可靠——因为它们没有移动部件,但它们仍然容易出现故障,闪存本身也会带来一些挑战。

  因此,在数据保护相当重要的应用中使用SSD时,配置SSD RAID也非常有价值。

  RAID的目标

  RAID是“Redundant Array of Inexpensive Disks,廉价磁盘冗余阵列”的缩写,也许该短语中最重要的词是“廉价”。因为RAID这个词是由计算机科学家在1987年正式提出的,他们想要证明在合适的RAID阵列中配置标准廉价磁盘,可以提供优于当时市场上昂贵的高性能磁盘的性能。

  不过,在这个术语被提出之前,使用磁盘阵列已经司空见惯了,将阵列视作单个存储设备提供给计算机系统,主要用于数据保护。实现数据保护的最简单的阵列配置是提供镜像:存储在一个驱动器上的数据被复制到另一个驱动器,以便每个驱动器都是另一个驱动器的镜像。不过,更重要的是:RAID可用于提高磁盘性能,或者在阵列中的一个(有时是多个)磁盘完全或部分故障时提供数据丢失保护。在使用不同的RAID级别时,它还能够以不同的比例提供这两者的组合。

当同时存在多个SSD共同处理数据时,RAID性能基准显著增加

  SSD和RAID

  以下是RAID和SSD协同使用以防止数据丢失的方法:

  由于SSD没有移动部件,因此一般来说非常可靠。而且因为它们产生的热量比HDD少,所以不会受到热膨胀的影响。即使磁盘出现完全故障的情况很少,存储在SSD上的数据也仍然可能丢失。这是因为过度使用会导致NAND单元之间互相干扰而使单元中存储的Bits被损坏,甚至整个单元损坏。

  在RAID 1配置中使用SSD RAID,如果一个驱动器发生故障,则不会丢失任何数据,因为它存储的数据也会镜像到SSD RAID阵列中的另一个驱动器上。RAID 1还提供一定程度的性能增强,因为任何读取请求都可以由SSD RAID阵列中的任一驱动器处理。

  SSD RAID 1阵列的主要缺点是:

  ·用户只能使用两个驱动器总存储容量的一半(存储效率为50%)。

  ·用户消耗的功率大约是单个驱动系统的两倍。(SSD比HDD更节能,因此对于SSD RAID阵列而言,这一点并不重要。)

  事实上,还有许多其他RAID配置使用不同数量的磁盘,以及诸如RAID条带存储(在不同磁盘之间拆分数据)和存储奇偶校验比特等技术。这些不同的RAID配置提供了性能增益,数据保护和存储效率的不同组合。

  HDD RAID与SSD RAID

  考虑到HDD RAID v SSD RAID两种设置之间的相对吸引力,有两个事实是非常关键的:

  ·硬盘更容易出现故障。

  ·HDD提供较低的性能。

  这很重要,因为RAID阵列可以帮助您实现更好的性能或更好的磁盘故障保护,或两者兼而有之。

  在HDD存储环境中,单个磁盘性能不足以满足特定工作负载的情况,将比SSD存储环境发生得更加频繁,这是因为HDD提供较低的性能。考虑数据保护能力时也是如此。

  出于这些原因,在具有SDD存储基础架构的公司中,RAID阵列很可能是存储问题的合理解决方案。

  而具有SSD存储系统的公司,可能是那些工作负载在存储性能方面具有特别苛刻的要求的公司。在某些情况下,单个SSD可能仍然难以提供所需的性能,并且在这些情况下,SSD RAID阵列可以提供所需的性能提升。

  因此,在比较HDD RAID与SSD RAID时,要明确这一点:HDD RAID可以将性能从低级别提升到可接受的级别,而SSD RAID可以将性能从可接受的级别提高到非常高的级别。

  SSD RAID重建时间

  SSD RAID和HDD RAID都提供数据保护功能,但实际上两者之间存在重大差异。这种差异源于SSD能提供更好的性能,这意味着当SSD RAID阵列中的磁盘发生故障时,可以比HDD RAID阵列更快地执行从其余磁盘进行RAID重建。

  由于HDD本质上不如SSD可靠,这意味着在RAID重建期间,理论上HDD阵列比SSD RAID阵列更可能发生另一个故障。

  使用具有不同RAID类型的SSD

  使用SSD RAID阵列可以提供有效的数据丢失保护和性能增强。最大的问题是:您应该使用SSD RAID阵列中的哪个级别?

  SDD RAID条带

  出于数据保护的目的,可以排除RAID 0,因为它使用写入两个磁盘的RAID条带模式来提高性能,不过这不提供数据冗余。另一方面,RAID 1提供完全冗余但只有适度的性能提升,因此如果性能增强不是您采用SSD RAID的主要原因,则应予以考虑。

  SSD RAID 5和6

  提供冗余的常用替代方案是RAID 5(使用带有至少三个磁盘的奇偶校验比特的数据条带化)和RAID 6(使用带有最少四个磁盘的条带化和双奇偶校验)。这样做的好处是,在任何两个磁盘发生故障的情况下都可以在不丢失数据。这两种SSD RAID配置都提供了更高的性能,但增强效果并不像SSD RAID 0与单独运行的SSD(即非SSD RAID阵列)之间的差异那么大。

  SSD RAID 5和RAID 6的问题在于,这两个系统都需要大量的磁盘写入操作来容纳奇偶校验信息。(特别是,每次写入任何数据时,RAID 6都需要两次额外的奇偶校验写入)由于SSD NAND单元在磨损之前的写入次数有限,这使得RAID 5和RAID 6不太适合SSD RAID阵列。

  SSD RAID 10

  RAID 5或RAID 6的更好替代方案可能是使用SSD RAID 10配置。RAID 10使用RAID条带(通用SSD RAID 10条带大小为128或256 kb)和镜像以提供容错能力,最小四个SSD。RAID 10的另一个好处是它提供了非常高的性能,但存储效率很低(四磁盘SSD RAID阵列中为25%)。

  SSD RAID性能

  将多个SSD连接到RAID控制器以在某些SSD RAID配置中创建SSD RAID阵列会对性能产生巨大影响,其条件是峰值性能受RAID控制器本身的吞吐量容量限制。提供非常好的性能的RAID级别是RAID 0。

  RAID 0与SSD

  如前所述,一个简单的双SSD RAID 0设置使用RAID条带技术在两个SSD之间对条带数据进行RAID,可以比单个SSD的性能提高一倍,不过该设置不提供冗余且只提供50%的存储效率。

  如果不计较存储效率,则一个四SSD RAID 0阵列的性能最高可达阵列中最慢磁盘的四倍(受SSD RAID控制器限制),但存储效率仅为25%。

  其他SSD RAID级别(如RAID 1)性能提升很小——双SSD RAID 1阵列主要用于保护数据,但由于两个磁盘可以同时读取,因此读取速度有所提高(但SSD写入性能没有提高)。

  RAID 10使用RAID 0(使用RAID条带存储)和RAID 1(使用镜像)的组合可以显着提高SSD性能,但它的存储效率低于RAID 0,性能提升约为一半。

  SSD RAID是否“值得”?(一切问题事关成本)

  SSD RAID阵列的目的是提供防止数据丢失的保护或提高磁盘性能,或两者兼而有之。

  在数据丢失保护方面,毫无疑问,适当的RAID级别可以提供很高的能力,而HDD RAID阵列和SSD RAID阵列两者是相当的。

  至于性能,如果不需要存储冗余,那么合适的SSD RAID配置(如RAID 0)就可以提供一种可靠的方式来提高性能,作为使用基于NVMe技术的SSD的替代方案。

  SSD RAID阵列的最大限制(除SSD RAID控制器速度限制之外)是成本。SSD每GB的成本比HDD高,并且使用提供50%存储效率的SSD RAID配置(例如双SSD RAID 0阵列或四SSD RAID 10阵列)会让该成本翻倍。

  最后,在使用SSD RAID阵列实现性能时,未来将取决于其经济性。如果更新、更快的非易失性存储技术能够以相同或更低的成本提供更好的性能,则可能不需要使用标准SSD RAID阵列。

  原文作者:Paul Rubens 来源:Enterprise Storage

  原文链接:https://www.enterprisestorageforum.com/storage-hardware/ssd-raid.html

2
相关文章