Thursday, June 9, 2011

RAID (磁盘阵列) 简介

RAID是独立磁盘冗余阵列的缩写。这一术语是加州大学伯克利分校研究员Patterson、Gibson和Katz在1988年撰写的一篇说明阵列配置和应用的论文中最先使用的。   过去,计算机系统往往只限于向单个磁盘写入信息。这种磁盘通常价格昂贵而又极易故障。硬盘一直是计算机系统中最脆弱的环节,因为这些设备是在其它部件完全电子化的系统中唯一的机械部件。磁盘驱动器含有许多以高速运行的活动机械零件。问题不是硬盘驱动器是否会发生故障,而是何时发生故障。
  RAID旨在通过提供一个廉价和冗余的磁盘系统来彻底改变计算机管理和存取大容量存储器中数据的方式。它曾被称为廉价磁盘冗余阵列(RAID)。RAID将数据写入多个廉价磁盘,而不是写入单个大容量昂贵(SIED)。最初RAID代表廉价磁盘冗余阵列,但现在已改为独立磁盘冗余阵列。
  RAID基本原理
  RAID通过条带化存储和奇偶校验两个措施来实现其冗余和容错的目标。条带化存储意味着可以一次写入一个数据块的方式将文件写入多个磁盘。条带化存储技术将数据分开写入多个驱动器,从而提高数据传输速率并缩短磁盘处理总时间。这种系统非常适用于交易处理、但可靠性却很差,因为系统的可靠性等于最差的单个驱动器的可靠性。
  奇偶校验通过在传输后对所有数据进行冗余校验可以确保数据的有效性。利用奇偶校验,当RAID系统的一个磁盘发生故障时,其它磁盘能够重建该故障磁盘。在这两种情况中,这些功能对于操作系统都是透明的。由磁盘阵列控制器(DAC)进行条带化存储和奇偶校验控制。
  组件
  RAID的主要组件是磁盘阵列控制器(DAC)和由5个磁盘组成的队列。数据被条带化存储在全部5个磁盘上,用奇偶校验来恢复故障磁盘。RAID有多个不同的等级。某些RAID等级用来提高速度,某些用来提供保护,而RAID-5则结合了两方面的优势。我们将对它们进行逐一论述。

  条带化存储数据
  以前,计算机只将文件写入一个磁盘。条带化存储使您能够拆分文件并将不同的片段同时写入多个磁盘。如果您的文件有5个数据块,并将它们条带化存储到5个磁盘中,每个数据块将同时写入各自的磁盘。如果您有5个OLTP交易,每个小于一个数据块,您就可以同时处理5个不同的交易。
  大多数RAID等级在数据块级进行条带化存储,但RAID也可以在位或字节级进行条带化存储。数据块的大小由系统管理员决定,并被称为基带条深度。
  为了最大限度地提高磁盘阵列子系统的交易能力,数据必须同时写入多个驱动器或同时从多个驱动器读取。为实现这一点,用户数据块被条带化存储在整个驱动器阵列上。一个基带条包括一列扇区(每扇区含512个字节),这些扇区位于阵列中每个磁盘上的相同位置。基带条深度(即每一数据块中的扇区数)由子系统软件定义。
  基带条深度对性能有直接影响,因为深度太浅就需要系统执行比实际需要更多的I/O命令。如果规定深度太大,处理器的多任务能力以及多驱动器所带来的诸多益处可能会被抵销。
  在一个理想的交易环境中,来自主机的每个请求都只涉及一个驱动器,这可以实现多个驱动器的多个并发交易。 
  将数据条带化存储到阵列驱动器解决了前面所述的一个系统驱动器超负荷运行而另一个空闲的问题。数据条带化存储避免了使用专用驱动器,并确保数据处理负载在可用的驱动器间平均分配,同时通过同时写入多个数据块而提高了性能。
  奇偶校验
  人们经常混淆奇偶校验和镜像(或映像)。镜像涉及制作磁盘的拷贝。镜像是将数据同时写入两个驱动器的技术。因为两个驱动器中的任何一个都可以完成同一任务,所以这些系统具有优异的可靠性,并可获得出色的交易处理结果。但代价是必须购买两个驱动器而只得到一个驱动器的容量。镜像的开销为100%,或是双倍磁盘空间。如果一个磁盘发生故障,镜像磁盘将接替它进行运行。
  奇偶校验提供与镜像相同的一般保护,但开销较少。如果一个用户具有由5个磁盘组成的阵列,其中4个用于存储数据而1个用于奇偶校验。它的开销仅为20%,当需要考虑成本时,这是一个很大的优势。
  计算机只用0和1来表示数据。异或(XOR)是进行奇偶校验的一种方法。从每个磁盘中取出一位(0和1)并相加。如果和为偶数,则奇偶为被置为0;如果和为奇数,则奇偶位被置为1。
  根据RAID等级,奇偶校验即可保存到一个磁盘上,也可分配到所有磁盘上。当您使用5个磁盘时,每种方式的奇偶校验占磁盘空间的1/5或20%。当使用3个磁盘时,占1/3或33%。
  RAID配置等级
  目前业界公认有6个RAID配置等级,并将它们规定为RAID0到RAID5。每个RAID等级分别针对速度、保护或两者的结合而设计。RAID等级包括:
  RAID 0 ――数据条带化存储阵列
  RAID 1 ――镜像磁盘阵列
  RAID 2 ――并行阵列,汉明码
  RAID 3 ――带奇偶校验的并行阵列
  RAID 4 ――带专用奇偶校验驱动器的磁盘阵列
  RAID 5 ――磁盘阵列,所有驱动器均包括奇偶校验
  最常用的RAID等级为RAID-0、RAID-2和RAID-5。下面对其进行详细说明
  RAID-0数据条带化存储阵列
  RAID-0将数据条带化存储到所有驱动器上,但没有采用奇偶校验。如果其中一个磁盘发生故障,数据必须从备份重新存储到全部5个磁盘上。这种RAID旨在提高速度,在所有RAID中速度最快,但是提供的保护最少。
  RAID-1透明或条带化存储镜像
  RAID-1技术要求每个原始数据磁盘都有一个镜像磁盘。原始磁盘和镜像的内容完全一样。RAID-1能够提供最好的数据保护,但是速度不如RAID0和5。
  在数据写到原始磁盘上的同时也会写到镜像磁盘上。这一镜像过程对于用户是不可见的。因此RAID-1又称为透明镜像。用户可以设置RAID-1以将数据写人一个磁盘,并将该磁盘镜像化;或者也可以将它条带化存储到多个磁盘上,每个条带化存储的磁盘都有一个镜像拷贝。这称为条带化存储镜像、RAID1+0、RAID10,在有些情况下也称为RAID6。
  RAID-5磁盘阵列,奇偶校验散布
  RAID-5将数据以数据块形式进行条带化存储,同时还采用了奇偶校验。利用RAID-5技术,用户信息和奇偶校验可以合并到阵列中的每个磁盘上。可以进行独立和/或并行的数据读写操作。该RAID是所有RAID中使用最广泛。RAID-5没有RAID-0那么快,也没有提供象RAID-1镜像那样多的保护。但是RAID-5同时提供良好的速度和保护。这就是为什么它往往成为人们所选择的RAID等级。

            
  RAID磁盘阵列组件
  RAID磁盘阵列的主要组件是磁盘阵列控制器、5个SCSI通道、以及一个或多个磁盘阵列列队。通常有两个磁盘阵列控制器(DAC)作为一组进行工作。这种实施过去常常由一个主动DAC和一个被动DAC可能发生故障时,另一个就会控制所有磁盘列队。下图中有两个DAC,它们共同控制4个磁盘列队。您可以将磁盘配置成任何所支持的RAID等级。您甚至可以打乱磁盘而在一个列队中配置多个RAID。
  内置/外置磁盘阵列
  以前磁盘阵列是通过一跟电缆专门连接到主机,并且始终置于一个外部机箱中。外置磁盘阵列的SCSI长度限度在大约80英寸或25米左右。可以利用一个中继器将长度延长25米,但是这样做将损失5%的性能。
  目前许多计算机采用内置RAID。CPU与磁盘在内部进行通信,但基本原理仍然是一样的。无论是内置或是外置,磁盘阵列都有一个或两个磁盘阵列控制器控制的磁盘队列。 牢记要点
  RAID用于提高数据性能、可靠性和可用性。
  条带化存储、奇偶校验和镜像是RAID系统的三个主要功能。
  RAID执行的功能对于操作系统是透明的。
  系统通常由磁盘列队定义,每个磁盘列队包括5个磁盘并与一个或两个磁盘阵列控制器连接。
  不同等级的RAID提供不同的速度和不同程度的数据保护。

No comments:

Post a Comment