【IT168 技术】RAID最初是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks)的缩写。如今,这个名词的含义已更新为独立磁盘冗余阵列(Redundant Array of Independent Disks),但是它的最终目的并没有改变。
RAID是保护硬盘和固态硬盘上应用程序数据的常用方法,不同类型的RAID在保护级别和价格之间进行平衡。保护措施越多,成本就越高。随着存储的发展,RAID级别的数目也相应增加了。
RAID是一种将单个物理驱动器分组到一起以形成RAID组的方法。RAID组将所有物理驱动器表示为服务器上的一个逻辑磁盘。逻辑磁盘称为逻辑单元号(LUN)。
RAID性能和可用性的改进使其在新技术可用的情况下仍在使用。要完全理解RAID及其好处,重要的是分解不同的RAID级别以及它们各自的优势。
RAID的好处
使用RAID的主要好处是能够保存存储在故障驱动器上的数据。RAID使用数据镜像、条带化和奇偶校验,或这些技术的组合。在大多数情况下,性能或可靠性的提高会提高保护驱动器上数据的成本。
镜像是将数据同时写入多个驱动器,而条带化意味着数据以块的形式分布在驱动器上,奇偶校验是一种确保数据在从一个驱动器移动到另一个驱动器时已成功写入的方法。
奇偶校验基本上是写入磁盘的数据的校验和,它与原始数据一起写入。服务器在访问基于硬件的RAID组上的数据时,不会知道RAID组中的某一个驱动器发生了故障。控制器使用存储在RAID组中幸存磁盘上的奇偶性信息,来重新创建磁盘损坏时丢失的数据。
标准与非标准RAID级别
RAID级别可以分为三类:标准级别、非标准级别和嵌套级别。RAID的标准级别由编号为0到6的RAID基本类型组成。
非标准RAID级别被设置为特定公司或开源项目的标准。非标准RAID包括RAID 7、Adaptive RAID、RAID S和Linux md RAID 10。
嵌套RAID是指RAID级别的组合,如RAID 01—RAID 0+1、RAID 03—RAID 0+3、RAID 50—RAID 5+0。
RAID级别解释
使用的RAID级别应该取决于服务器上运行的应用程序的类型。RAID 0是最快的,RAID 1是最可靠的,RAID 5是两者的良好结合。对于您的组织来说,哪个RAID级别最适合,取决于您所预期的冗余级别、保留期的长度、正在使用的磁盘数量以及您对数据保护与性能优化的重视程度。
下面是存储阵列中最常用的不同RAID级别的描述。并不是所有存储阵列供应商都支持每种RAID类型,所以一定要检查供应商的存储系统中可用的RAID类型。
·RAID 0: RAID 0是简单的磁盘条带化。所有数据以块的形式分布在RAID组中的所有磁盘上。RAID 0提供了很好的性能,因为您将存储数据的负载分散到了更多的物理驱动器上。它的成本也是所有RAID类型中最低的,因为它只使用磁盘空间来存储数据。因为没有为RAID 0生成奇偶校验,所以没有向RAID 0磁盘写入数据的开销。
然而,RAID 0在所有RAID级别中数据保护能力是最差的。当磁盘发生故障时,该磁盘上的数据在可以从另一个驱动器重写之前是不可用的。
·RAID 1: RAID 1是磁盘镜像,这意味着所有数据都被写入两个独立的物理磁盘。磁盘本质上是彼此的镜像。如果一个磁盘出现故障,可以使用另一个磁盘来检索数据。
磁盘镜像有利于快速读取操作,但写入速度较慢,因为必须将数据写入磁盘两次。RAID1的另一个缺点是所需的磁盘空间增加了一倍,因为所有数据都存储了两次。
·RAID 1+0: RAID 1+0也称为RAID 10,它使用磁盘镜像和条带化的组合。数据通常先镜像,然后条带化。先条带化再镜像也可以完成相同的任务,但它的容错性不如前者。
如果在一个条带组中丢失驱动器,则必须从另一个条带组中访问数据,因为条带组没有奇偶性。RAID 1+0至少需要4个物理磁盘。
·RAID 2: RAID 2通过使用汉明码(Hamming code)在bit级别条带化数据。目前,硬盘的纠错码已经使用了汉明码,所以RAID 2不再被使用了。
·RAID 3: RAID 3使用奇偶校验磁盘将RAID控制器生成的奇偶校验信息存储在与实际数据磁盘分开的磁盘上,而不是像RAID 5中那样用数据对磁盘进行分段。
当有大量数据请求时,这种RAID类型的性能很差,比如在数据库这样的应用程序中。RAID 3在需要长时间连续数据传输的应用程序(如视频服务器)中表现良好。RAID 3至少需要三个物理磁盘。
·RAID 4: RAID 4使用专用奇偶校验磁盘以及块级别的磁盘条带化。虽然它对于顺序数据访问很好,但是使用专用奇偶校验磁盘会导致写操作的性能瓶颈。有了RAID 5等替代方案,RAID 4的使用并不多。
·RAID 5: RAID 5使用奇偶校验磁盘条带化。这些数据在RAID组中的所有磁盘上都有条带,并带有在磁盘故障时重建数据所需的奇偶性信息。
RAID 5是最常见的RAID方法,因为它在性能和可用性之间取得了良好的平衡。RAID 5至少需要三个物理磁盘。
·RAID 6: RAID 6通过使用两个奇偶校验条带来提高可靠性,这两个奇偶校验条带在数据丢失之前允许RAID组中出现两个磁盘故障。RAID 6通常用于部署用于存档或基于磁盘的备份的大容量驱动器。RAID 6允许在同时发生磁盘故障时进行数据恢复,这在容量较大、重建时间较长的驱动器中更为常见。RAID 6至少需要4个驱动器。
·Adaptive RAID:自适应RAID让RAID控制器知道如何在磁盘上存储奇偶校验。它在RAID 3和RAID 5之间进行选择,这取决于将数据类型写入磁盘时哪种RAID组类型执行得更好。
·RAID 7: RAID 7是非标准的RAID级别——基于RAID 3和RAID 4——需要专用硬件。这一RAID级别由现已倒闭的Storage Computer公司拥有并注册了商标。
RAID组的最小驱动器数与RAID重建
RAID需要多个驱动器,所需磁盘的最小数量因RAID级别而异。但是超过这个数字有什么好处吗?
如果您使用的驱动器数量超过了最低数量,您可以获得更多可用的存储空间和更多的驱动器供操作系统使用。然而,这并不意味着您应该尽可能多地增加驱动器。大多数RAID阵列在一个RAID组中最多使用16个驱动器,这是因为在超过这么多驱动器时,开销更高,性能回报也在下降。对于RAID 5和RAID 10,最多8个驱动器似乎是一个很好的经验法则。如果需要更多磁盘空间,可以使用其他磁盘创建另一个RAID组。
另一个经验法则是,尝试将不同的工作负载数据类型保存在不同的RAID集上。您可以在任何地方使用RAID 10来获得非常好的性能,但是大多数预算规定将RAID 5用于数据库数据卷,而将RAID 1或RAID 10用于数据库日志卷。数据库卷可以是高度随机的I/O,日志通常是顺序的。
重建时间取决于您选择的RAID类型。如果您使用的是基于软件的RAID,那么组中的主轴数越多,意味着重建时间越长。如果您使用基于硬件的RAID,则重建时间通常由驱动器本身的大小决定,因为硬件通常在组内和组外进行节省。一个146 GB的驱动器比一个73 GB的驱动器需要更长的时间进行重建。
RAID的现状
许多专家说,市场对RAID技术的需求已经减少。擦除编码和固态硬盘提供了可靠(相对也更贵一些)的替代方案,而且随着存储容量的增加,RAID阵列错误的几率也会增加。尽管如此,大型存储供应商仍然在其存储阵列中支持RAID。
原文作者:Erin Sullivan和Christopher Poelker 来源:TechTarget