小议RAID 性能和安全性参数

随着 RAID 技术的不断推广,用户有时很难全面了解不同 RAID 级别具体表示什么意思。大多数人都知道 RAID 0 和 RAID 5 的含义,但了解诸如 RAID 60 和 RAID 5EE等其他 RAID 级别工作原理的人却寥寥无几。

不同的 RAID 级别对应于不同的性能、容量和可靠性,代表了这三种关键参数的不同平衡组合。

从最基本的角度来说,所有 RAID 级别均建立在 RAID 0、1、5 和 6 这几个基本 RAID 级别基础之上。一些 RAID 级别衍生出某些少见的变种,比如RAID 1E、5E 和 5EE,它们与 RAID 1、5 的特性相似,不过更丰富一些。

下表归纳了四种基本 RAID 级别的工作原理,并根据性能参数、可靠性要求和用户愿意提供的可用容量比较不同阵列方式的优缺点。

分类

性能

容量

可靠性

R0

最佳的读取和写入性能。

容量最佳,用户可使用所有数据。

可靠性最差,没有副本。任何磁盘的故障或读写错误都会导致数据丢失。

R1

优异的读取性能,出色的写入性能。尽管降级模式相同,但略有差异。

容量差,基本上会损失一半的可用空间。

可靠性很高,由所有数据制作而成的小副本。

R5

极佳的读取性能(相当于 R0),写入性能较差(相当于 R0 的四分之一)。读取性能在降级模式下可能变得很差。

容量非常好,因为用户可以使用 N-1 块磁盘上的空间。

可靠性较高,因为每个磁盘/块都可采用对等数据进行重构。

R6

类似于 R5,但写入性能可能更低,仅相当于 R0 的约六分之一。降级模式下同样会出现读取性能下降的问题。

容量较好,因为用户可以使用 N-2 块磁盘上的空间。

可靠性极高,能在双重故障下恢复。对于 SATA 和低端磁盘而言,经常发生磁盘故障和重构过程中读取错误的双重故障问题,而 R6 很好地解决了这一问题。

RAID级别可以相互组合或通过扩展,形成诸如 RAID 10、50和60 等 RAID 级别。人们往往对这种扩展的 RAID 级别不甚了解。不过,这些复杂的 RAID 级别添加了一些极其有趣的特性,比方说:

  • R1E(2 个以上磁盘或奇数磁盘的镜像)
  • R5E(与 R5 一样,但支持"热"备用磁盘容量)
  • R5EE(与 R5E 一样,但每个条带都支持"热"备用磁盘)

需要进一步考虑的是 RAID 10、50 和 60 等复杂的 RAID 级别,它们提供了一些非常有趣的未知特性。它们基本上能提供相同级别、和尺寸的 RAID 卷组合,此外采用RAID 0 方式在他们之间分配条带化数据,以此平衡性能。

比方说,20 个驱动器组成的 RAID 50,可分成 4个 RAID 5 阵列,每个阵列有 5 个磁盘,然后这四个 RAID 5 阵列之间采用 RAID 0方式配置条带化数据。不过,问题在于,为什么要选择 20 个磁盘组成 RAID 50 这种复杂的 RAID级别,而不用 20 个同样的磁盘组成简单的 RAID 5 呢?

主要原因在于,如果我们看看 RAID 5 的读取性能就会发现,在降级模式时其读取性能非常差。为了从坏块/死盘恢复数据,必须读取 19 个没问题的磁盘,并对每个磁盘进行 18 次 XOR 运算,而后才能返回数据。也就是说,这时的读取速度仅为正常读取速度的二十分之一,而且涉及的磁盘越多,读取性能就变得更糟。同样,重构也非常复杂。假设每个磁盘为 1TB,如果重构的话,那么就需要移动 20 TB 的数据,XOR 为 19TB(这可能需要数周才能完成)。

不过,如果使用了 RAID 50,丢失的数据可以由故障阵列重新生成。如果采用 5 个磁盘阵列,那么只需要 4 次读取和 3 次XOR 运算就可返回数据,比 RAID 5 的效率提高了 5 倍。RAID 5 只使用一个奇偶磁盘,而RAID 50 每个扩展的磁盘阵列都使用一个奇偶磁盘,也就是每个扩展的磁盘阵列有 4 个奇偶磁盘。由此可见,这时我们需要在容量和性能之间加以权衡。重构也一样,1TB 数据的重构需要移动 5TB 数据,XOR为 4TB,尽管这仍然需要很长的时间,但比 RAID 5 还是缩短了4倍。

配置可能非常复杂,但只要我们大概了解到底需要解决哪些问题,就能针对不同应用确定采用哪种 RAID 级别最合适。说到底,肯定要在性能、容量和可靠性三者之间进行权衡取舍。

用户如何让 RAID 满足其特定需求呢?RAID 是一种提供众多选项的复杂子系统。为了选择最佳选项,管理基础设施需要不断发展,帮助用户从以技术为主导的选择方式(也就是重点考虑 RAID 级别、条带大小、高速缓存模型等)向以解决问题为导向(也就是更多关心性能、安全性、读/写等)或专用解决方案(也就是针对 Microsoft Exchange或Oracle DB等具体应用的要求)方向转型。这样,用户就能集中精力思考解决方案本身,而不用为机械技术问题而苦恼。

随着数据的不断增长,RAID 今后会为用户带来怎样的帮助?

考虑到 RAID 可管理大型卷,其使用肯定会不断扩展,RAID 使用户受益的领域包括:

  • 可管理性(如上所述)
  • 可靠性:对极大的磁盘来说,重构时间可能慢得让人无法忍受。上述新的 RAID 级别可最大限度地缩短重构时间。
  • SSD 在存储器分层结构中支持全新设备类型,RAID 将由此受益。