RAID 和 RAID卡

来源:互联网 发布:巢湖安广网络客服电话 编辑:程序博客网 时间:2024/05/02 04:56

URL:http://baike.baidu.com/view/7102.htm

RAID:

磁盘阵列(Redundant Arrays of Inexpensive Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意。原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

由来

由加利福尼亚大学伯克利分校(University of California-Berkeley)在1987年,发表的文章:“A Case for Redundant Arrays of Inexpensive Disks”。文章中,谈到了RAID这个词汇,而且定义了RAID的5层级。柏克利大学研究目的是反应当时CPU快速的性能。CPU效能每年大约成长30~50%,而硬磁机只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升效能来平衡计算机的运算能力。在当时,柏克莱研究小组的主要研究目的是效能与成本。

另外,研究小组也设计出容错(fault-tolerance),逻辑数据备份(logical data redundancy),而产生了RAID理论。研究初期,便宜(Inexpensive)的磁盘也是主要的重点,但后来发现,大量便宜磁盘组合并不能适用于现实的生产环境,后来Inexpensive被改为independent,许多独立的磁盘组。

 

定义

独立磁盘冗余阵列(RAID,redundant array of independent disks)是把相同的数据存储在多个硬盘的不同的地方(因此,冗余地)的方法。通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能。因为多个硬盘增加了平均故障间隔时间(MTBF),储存冗余数据也增加了容错。

样式

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。

外接式磁盘阵列柜最常被使用大型服务器上,具可热抽换(Hot Swap)的特性,不过这类产品的价格都很贵。

内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。

利用软件仿真的方式,由于会拖累机器的速度,不适合大数据流量的服务器。

缓存

磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。

和目前PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。

在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。

优点

提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。

通过数据校验提供容错功能。普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性。

缺点

做不同的RAID,有RAID模式硬盘利用率低,价格昂贵。

RAID0 没有冗余功能,如果一个磁盘(物理)损坏,则所有的数据都无法使用。

RAID1 磁盘的利用率却只有50%,是所有RAID级别中最低的。

RAID0+1以理解为是RAID 0和RAID 1的折中方案。RAID 0+1可以为系统提供数据安全保障,但保障程度要比  Mirror低而磁盘空间利用率要比Mirror高。

解决方案

RAID方案有两种,一种是硬件RAID解决方案,一种是软RAID解决方案。

硬件RAID解决方案

硬件RAID解决方案速度快、稳定性好,可以有效地提供高水平的硬盘可用性和冗余度

1、RAID 0

RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。

RAID 0最简单的实现方式就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起创建一个大的卷集。在使用中电脑数据依次写入到各块硬盘中,它的最大优点就是可以整倍的提高硬盘的容量。如使用了三块80GB的硬盘组建成RAID 0模式,那么磁盘容量就会是240GB。其速度方面,各单独一块硬盘的速度完全相同。最大的缺点在于任何一块硬盘出现故障,整个系统将会受到破坏,可靠性仅为单独一块硬盘的1/N。

为了解决这一问题,便出一了RAID 0的另一种模式。即在N块硬盘上选择合理的带区来创建带区集。其原理就是将原先顺序写入的数据被分散到所有的四块硬盘中同时进行读写。四块硬盘的并行操作使同一时间内磁盘读写的速度提升了4倍。

在创建带区集时,合理的选择带区的大小非常重要。如果带区过大,可能一块磁盘上的带区空间就可以满足大部分的I/O操作,使数据的读写仍然只局限在少数的一、两块硬盘上,不能充分的发挥出并行操作的优势。另一方面,如果带区过小,任何I/O指令都可能引发大量的读写操作,占用过多的控制器总线带宽。因此,在创建带区集时,我们应当根据实际应用的需要,慎重的选择带区的大小。

带区集虽然可以把数据均匀的分配到所有的磁盘上进行读写。但如果我们把所有的硬盘都连接到一个控制器上的话,可能会带来潜在的危害。这是因为当我们频繁进行读写操作时,很容易使控制器或总线的负荷 超载。为了避免出现上述问题,建议用户可以使用多个磁盘控制器。最好解决方法还是为每一块硬盘都配备一个专门的磁盘控制器。

虽然RAID 0可以提供更多的空间和更好的性能,但是整个系统是非常不可靠的,如果出现故障,无法进行任何补救。所以,RAID 0一般只是在那些对数据安全性要求不高的情况下才被人们使用。

2、RAID 1

RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。

RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

3、RAID0+1

从RAID 0+1名称上我们便可以看出是RAID0与RAID1的结合体。在我们单独使用RAID 1也会出现类似单独使用RAID 0那样的问题,即在同一时间内只能向一块磁盘写入数据,不能充分利用所有的资源。为了解决这一问题,我们可以在磁盘镜像中建立带区集。因为这种配置方式综合了带区集和镜像的优势,所以被称为RAID 0+1。把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。

4、RAID: LSI MegaRAID、Nytro和Syncro

MegaRAID、Nytro和Syncro都是LSI 针对RAID而推出的解决方案,并且一直在创造更新。

LSI MegaRAID的主要定位是保护数据,通过高性能、高可靠的RAID控制器功能,为数据提供高级别的保护。LSI MegaRAID在业界有口皆碑。

LSI Nytro的主要定位是数据加速,它充分利用当今备受追棒的闪存技术,极大地提高数据I/O速度。LSI Nytro包括三个系列:LSI Nytro WarpDrive加速卡、LSI Nytro XD 应用加速存储解决方案和LSI Nytro MegaRAID 应用加速卡。Nytro MegaRAID主要用于DAS环境,Nytro WarpDrive加速卡主要用于SAN和NAS环境,Nytro XD解决方案由Nytro WarpDrive加速卡和Nytro XD 智能高速缓存软件两部分构成。

LSI Syncro的定位主要用于数据共享,提高系统的可用性、可扩展性,降低成本。

LSI通过MegaRAID提供基本的可靠性保障;通过Nytro实现加速;通过Syncro突破容量瓶颈,让价格低廉的存储解决方案可以大规模扩展,并且进一步提高可靠性。

5、RAID2:带海明码校验
  从概念上讲,RAID 2 同RAID 3类似, 两者都是将数据条块化分布于不同的硬盘上, 条块单位为位或字节。然而RAID 2 使用一定的编码技术来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂。因此,在商业环境中很少使用。下图左边的各个磁盘上是数据的各个位,由一个数据不同的位运算得到的海明校验码可以保存另一组磁盘上,具体情况请见下图。由于海明码的特点,它可以在数据发生错误的情况下将错误校正,以保证输出的正确。它的数据传送速率相当高,如果希望达到比较理想的速度,那最好提高保存校验码ECC码的硬盘,对于控制器的设计来说,它又比RAID3,4或5要简单。没有免费的午餐,这里也一样,要利用海明码,必须要付出数据冗余的代价。输出数据的速率与驱动器组中速度最慢的相等。
  6 、RAID3:带奇偶校验码的并行传送
  这种校验码与RAID2不同,只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。不同于RAID 2,RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。
  7、RAID4:带奇偶校验码的独立磁盘结构
  RAID4和RAID3很象,不同的是,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘。在图上可以这么看,RAID3是一次一横条,而RAID4一次一竖条。它的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
  8、RAID5:分布式奇偶校验的独立磁盘结构
  从它的示意图上可以看到,它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。RAID 3 与RAID 5相比,重要的区别在于RAID 3每进行一次数据传输,需涉及到所有的阵列盘。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
  9、RAID6:带有两种分布存储的奇偶校验码的独立磁盘结构
  名字很长,但是如果看到图,大家立刻会明白是为什么,请注意p0代表第0带区的奇偶校验值,而pA代表数据块A的奇偶校验值。它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合。当然了,由于引入了第二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载。我想除了军队没有人用得起这种东西。
  10、RAID7:优化的高速数据传送磁盘结构
  RAID7所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性,提高系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,因为加入高速缓冲存储器,当多用户访问系统时,访问时间几乎接近于0。由于采用并行结构,因此数据访问效率大大提高。需要注意的是它引入了一个高速缓冲存储器,这有利有弊,因为一旦系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作。当然了,这么快的东西,价格也非常昂贵。
  11、RAID10:高可靠性与高效磁盘结构
  这种结构无非是一个带区结构加一个镜象结构,因为两种结构各有优缺点,因此可以相互补充,达到既高效又高速的目的。大家可以结合两种结构的优点和缺点来理解这种新结构。这种新结构的价格高,可扩充性不好。主要用于数据容量不大,但要求速度和差错控制的数据库中。
  12、RAID53:高效数据传送磁盘结构
  越到后面的结构就是对前面结构的一种重复和再利用,这种结构就是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。这是因为所有的数据必须经过带区和按位存储两种方法,在考虑到效率的情况下,要求这些磁盘同步真是不容易。

软RAID解决方案

一、创建动态磁盘

在安装Windows 2003 Server时,硬盘将自动初始化为基本磁盘。我们不能在基本磁盘分区中创建新卷

集、条带集或者RAID-5组,而只能在动态磁盘上创建类似的磁盘配置。也就是说,如果想创建RAID-0、RAID-1或RAID-5卷,就必须使用动态磁盘。在Windows 2003 Server安装完成后,可使用升级向导将它们转换为动态磁盘。

在将一个磁盘从基本磁盘转换为动态磁盘后,磁盘上包含的将是卷,而不再是磁盘分区。其中的每个卷是硬盘驱动器上的一个逻辑部分,还可以为每个卷指定一个驱动器字母或者挂接点。但是要注意的是只能在动态磁盘上创建卷。动态磁盘有以下几个优于基本磁盘的特点:

卷可以扩展到包含非邻接的空间,这些空间可以在任何可用的磁盘上。

对每个磁盘上可以创建的卷的数目没有任何限制。

Windows 2003将动态磁盘配置信息存储在磁盘上,而不是存储在注册表中或者其他位置。同时,这些信息不能被准确地更新。Windows 2003将这些磁盘配置信息复制到所有其他动态磁盘中。因此,单个磁盘的损坏将不会影响到访问其他磁盘上的数据。

一个硬盘既可以是基本的磁盘,也可以是动态的磁盘,但不能二者兼是,因为在同一磁盘上不能组合多种存储类型。但是,如果计算机有多个硬盘,就可以将各个硬盘分别配置为基本的或动态的。

1、从基本磁盘升级到动态磁盘:

①依次单击“开始”->“所有程序”->“管理工具”->“计算机管理”选项,显示“计算机管理”窗口。

②在左侧控制台中依次展开“存储”->“磁盘管理”选项,以显示计算机中安装的所有磁盘。

③右击要设置为动态磁盘的硬盘,并在弹出的快捷菜单中选择“升级到动态磁盘”选项,将显示“升级到动态磁盘”对话框。

④选中要升级的磁盘,然后单击“确定”:按钮,将显示“要升级的磁盘”对话框,在这里要求用户对要升级为动态磁盘的硬盘进行确认。这样做的原因很简单,因为这一升级操作是不可逆的。也就是说,基本磁盘可以升级为动态磁盘,但动态磁盘却不能恢复为基本磁盘。

⑤单击“升级”按钮,将显示“磁盘管理”提示框,系统再次要求用户对磁盘升级予以确认。当将该磁盘升级为动态磁盘后,Windows98/Me等操作系统将不能再从该磁盘引导启动。

⑥单击“是”按钮,将显示“升级磁盘”警告框。在这里提示要升级磁盘上的文件系统将被强制卸下,并要求用户对该操作进一步予以确认。

⑦单击“是”按钮,系统将开始磁盘的升级过程。当升级完成后,将显示 “确认”警告框,单击“确定”按钮将重新启动计算机,以完成磁盘的升级过程。

在升级到动态磁盘时,应该注意以下几个方面的问题:

必须以管理员或管理组成员的身份登录才能完成该过程。如果计算机与网络连接,则网络策略设置也可能阻止我们完成此步骤。

将基本磁盘升级到动态磁盘后,就再也不能将动态卷改回到基本分区。这时惟一的方法就是,必须删除磁盘上的所有动态卷,然后使用“还原为基本磁盘”命令。

在升级磁盘之前,应该关闭在那些磁盘上运行的程序。

为保证升级成功,任何要升级的磁盘都必须至少包含1MB的未分配空间。在磁盘上创建分区或卷时,“磁盘管理”工具将自动保留这个空间,但是带有其他操作系统创建的分区或卷的磁盘上可能就没有这个空间。

扇区大小超过512字节的磁盘,不能从基本磁盘升级为动态磁盘。

一旦升级完成,动态磁盘就不能包含分区或逻辑驱动器,也不能被非Windows 2003的其他操作系统所访问。

2、将新磁盘设置为动态磁盘

①计算机安装新硬盘后,当第一次访问“计算机管理”中的“磁盘管理”工具时,将自动运行“写入签名和升级磁盘向导”窗口。

②单击“下一步”按钮,将显示“选择要写入签名的磁盘”页面,在该列表中选择要写入签名的磁盘。需要注意的是,磁盘在安装到系统前必须进行签名。

③单击“下一步”按钮,将显示“选择要升级的磁盘”页面,选择要升级为动态磁盘的磁盘。

④单击“下一步”按钮,将显示“完成写入签名和升级磁盘向导”页面,在这里要求确认签名并升级的磁盘。如果有任何不妥,可单击“上一步”按钮返回并重新进行设置。

⑤单击“完成”按钮,动态磁盘升级过程完成。

二、实现软RAID

软RAID也必须在多磁盘系统中才能实现。实现RAID-1最少要拥有两块硬盘,而实现RAID-5则最少要拥有三块硬盘。通常情况下,操作系统

所在磁盘采用RAID-1,而数据所在磁盘采用RAID-5。

1、卷的类型

①简单卷

简单卷由单个物理磁盘上的磁盘空间组成,它可以由磁盘上的单个区域或链接在一起的相同磁盘上的多个区域组成。可以在同一磁盘中扩展简单卷或把简单卷扩展到其他磁盘。如果跨多个磁盘扩展简单卷,则该卷就是跨区卷。

只能在动态磁盘上创建简单卷。简单卷不能包含分区或逻辑驱动器,也不能由MS-DOS 或Windows 2003以外的其他Windows操作系统访问。如果网络中的计算机还在运行Windows98或更早版本,那么应该创建分区而不是动态卷。

如果想在创建简单卷后增加它的容量,则可通过磁盘上剩余的未分配空间来扩展这个卷。要扩展一个简单卷,则该卷必须使用Windows 2003中所用的NTFS版本格式化。同时不能扩展基本磁盘上作为以前分区的简单卷。也可将简单卷扩展到同一计算机的其他磁盘的区域中。当将简单卷扩展到一个或多个其他磁盘时,它会变成为一个跨区卷。在扩展跨区卷之后,不删除整个跨区卷便不能将它的任何部分删除。要注意的是跨区卷不能是镜像卷或带区卷。

②条带卷

利用条带卷,可以将两个或者更多磁盘(最多为32块硬盘)的空余空间组成为一个卷。在向条带卷中写入数据时,数据被分割为64KB的块,并均衡地分布在阵列中的所有磁盘上。一个阵列是两个或者多个磁盘的集合。条带卷可以有效地提高磁盘的读取性能,但是它并不提供容错功能,任何一块硬盘的损坏都会导致全部数据的丢失。条带卷类似于RAID-0。

③跨越卷

利用跨越卷,也可以将来自两个或者更多磁盘(最多为 32块硬盘)的空余磁盘空间组成为一个卷。与条带卷所不同的是,将数据写入跨越卷时,首先填满第一个磁盘上的空余部分,然后再将数据写入下一个磁盘,依次类推。虽然利用跨越卷可以快速增加卷的空量,但是跨越卷既不能提高对磁盘数据的读取性能,也不提供任何容错功能。当跨越卷中的某个磁盘出现故障时,存储在该磁盘上的所有数据将全部丢失。

④镜像卷

利用镜像卷即RAID-1卷,可以将用户的相同数据同时复制到两个物理磁盘中。如果其中的一个物理磁盘出现故障,虽然该磁盘上的数据将无法使用,但系统能够继续使用尚未损坏而仍继续正常运转的磁盘进行数据的读写操作,从而通过另一磁盘上保留完全冗余的副本,保护磁盘上的数据免受介质故障的影响。由此可见,镜像卷的磁盘空间利用率只有50%(即每组数据有两个成员),所以镜像卷的成本相对较高。要创建一个镜像卷,必须使用另一磁盘上的可用空间。动态磁盘中现有的任何卷(甚至是系统卷和引导卷),都可以使用相同的或不同的控制器镜像到其他磁盘上大小相同或更大的另一个卷。最好使用大小、型号和制造厂家都相同的磁盘作镜像卷,以避免可能产生的兼容性错误。

镜像卷可以大大地增强读性能,因为容错驱动程序同时从两个磁盘成员中同时读取数据,所以读取数据的速度会有所增加。当然,由于容错驱动程序必须同时向两个成员写数据,所以它的写性能会略有降低。镜像卷可包含任何分区(包括启动分区或系统分区),但是镜像卷中的两个硬盘都必须是Windows 2003动态磁盘。

⑤RAID-5卷

在RAID-5卷中,Windows 2003通过给该卷的每个硬盘分区中添加奇偶校验信息带区来实现容错。如果某个硬盘出现故障,Windows 2003便可以用其余硬盘上的数据和奇偶校验信息重建发生故障的硬盘上的数据。

由于要计算奇偶校验信息,所以RAID-5卷上的写操作要比镜像卷上的写操作慢一些。但是,RAID-5卷比镜像卷提供更好的读性能。其中的原因很简单,Windows 2003可以从多个磁盘上同时读取数据。与镜像卷相比RAID-5卷的性价比较高,而且RAID-5卷中的硬盘数量越多,冗余数据带区的成本越低。

规范

RAID技术主要包含RAID 0~RAID 50等数个规范,它们的侧重点各不相同,常见的规范有如下几种:

RAID 0:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0不能应用于数据安全性要求高的场合。

RAID 1:它是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

RAID 01/10:根据组合分为RAID 10和RAID 01,实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像

进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。RAID 1+0是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 0+1则是跟RAID 1+0的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。性能上,RAID 0+1比RAID 1+0有着更快的读写速度。可靠性上,当RAID 1+0有一个硬盘受损,其余三个硬盘会继续运作。RAID 0+1 只要有一个硬盘受损,同组RAID 0的另一只硬盘亦会停止运作,只剩下两个硬盘运作,可靠性较低。因此,RAID 10远较RAID 01常用,零售主板绝大部份支持RAID 0/1/5/10,但不支持RAID 01。

RAID 2:将数据条块化地分布于不同的硬盘上,条块单位为位或字节,并使用称为“加重平均纠错码(汉明码)”的编码技术来提供错误检查及恢复。

RAID 3:它同RAID 2非常类似,都是将数据条块化分布于不同的硬盘上,区别在于RAID 3使用简单的奇偶校验,并用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据;如果奇偶盘失效则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。

RAID 4:RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。

RAID 5:RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

RAID 6:与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。

RAID 7:这是一种新的RAID标准,其自身带有智能化实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,不占用主机CPU资源。RAID 7可以看作是一种存储计算机(Storage Computer),它与其他RAID标准有明显区别。除了以上的各种标准(如表1),我们可以如RAID 0+1那样结合多种RAID规范来构筑所需的RAID阵列,例如RAID 5+3(RAID 53)就是一种应用较为广泛的阵列形式。用户一般可以通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。

RAID 5E(RAID 5 Enhancement): RAID 5E是在RAID 5级别基础上的改进,与RAID 5类似,数据的校验信息均匀分布在各硬盘上,但是,在每个硬盘上都保留了一部分未使用的空间,这部分空间没有进行条带化,最多允许两块物理硬盘出现故障。看起来,RAID 5E和RAID 5加一块热备盘好象差不多,其实由于RAID 5E是把数据分布在所有的硬盘上,性能会比RAID5 加一块热备盘要好。当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID 5级别。

RAID 5EE: 与RAID 5E相比,RAID 5EE的数据分布更有效率,每个硬盘的一部分空间被用作分布的热备盘,它们是阵列的一部分,当阵列中一个物理硬盘出现故障时,数据重建的速度会更快。

RAID 50:RAID50是RAID5与RAID0的结合。此配置在RAID5的子磁盘组的每个磁盘上进行包括奇偶信息在内的数据的剥离。每个RAID5子磁盘组要求三个硬盘。RAID50具备更高的容错能力,因为它允许某个组内有一个磁盘出现故障,而不会造成数据丢失。而且因为奇偶位分部于RAID5子磁盘组上,故重建速度有很大提高。优势:更高的容错能力,具备更快数据读取速率的潜力。需要注意的是:磁盘故障会影响吞吐量。故障后重建信息的时间比镜像配置情况下要长。

实现

磁盘阵列有两种方式可以实现,那就是“软件阵列”与“硬件阵列”。

软件阵列是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。

硬件阵列是使用专门的磁盘阵列卡来实现的。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作,它的性能要远远高于常规非阵列硬盘,并且更安全更稳定。

磁盘阵列其实也分为软阵列 (Software Raid)和硬阵列 (Hardware Raid) 两种。软阵列即通过软件程序并由计算机的 CPU提供运行能力所成。 由于软件程式不是一个完整系统故只能提供最基本的 RAID容错功能,其他如热备用硬盘的设置, 远程管理等功能均一一欠奉。硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能,不依靠系统的CPU资源。

由于硬阵列是一个完整的系统,所有需要的功能均可以做进去。所以硬阵列所提供的功能和性能均比软阵列好;而且,如果你想把系统也做到磁盘阵列中,硬阵列是唯一的选择。故我们可以看市场上 RAID 5 级的磁盘阵列均为硬阵列, 软阵列只适用于 Raid 0 和 Raid 1。对于我们做镜像用的镜像塔, 肯定不会用 Raid 0或 Raid 1。作为高性能的存储系统,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,已经发展了六个级别, 其级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。

 

 

URL:http://baike.baidu.com/view/95439.htm

RAID卡介绍

提到RAID卡就不得不提到什么是RAID。RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文即为独立磁盘冗余阵列,或简称磁盘阵列。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 6 七种基本的RAID 级别。另外,还有一些基本RAID级别的组合形式,如RAID 10/01(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。

数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使损坏数据得以恢复,从而保障了用户数据的安全性(除RAID0外)。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储性能要比单个硬盘高很多(主要是存取速度上),而且可以提供数据冗余。

RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID3、RAID4、RAID5、RAID10不等。RAID卡可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID卡最初想要解决的问题。可以提供容错功能,这是RAID卡的第二个重要功能。

RAID卡的接口类型

接口是指支持的接口,目前主要有三种:IDE接口、SCSI接口和SATA接口。

IDE接口:

IDE的英文全称为“Integrated Drive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容,对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。

IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、Ultra ATA、DMA、Ultra DMA等接口都属于IDE硬盘。此外,由于IDE口属于并行接口,因此为了和SATA口硬盘相区别,IDE口硬盘也叫PATA口硬盘。

SCSI接口:

SCSI的英文全称为“Small Computer System Interface”(小型计算机系统接口),是同IDE完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及支持热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端和高档工作站中。SCSI硬盘和普通IDE硬盘相比有很多优点:接口速度快,并且由于主要用于服务器,因此硬盘本身的性能也比较高,硬盘转速快,缓存容量大,CPU占用率低,扩展性远优于IDE硬盘,并且支持热插拔。

SATA接口:

使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。2001年,由Intel、APT、Dell、IBM、希捷、迈拓这几大厂商组成的Serial ATA委员会正式确立了Serial ATA 1.0规范,2002年,虽然串行ATA的相关设备还未正式上市,但Serial ATA委员会已抢先确立了Serial ATA 2.0规范。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

串口硬盘是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而知名。相对于并行ATA来说,就具有非常多的优势。首先,Serial ATA以连续串行的方式传送数据,一次只会传送1位数据。这样能减少SATA接口的针脚数目,使连接电缆数目变少,效率也会更高。实际上,Serial ATA 仅用四支针脚就能完成所有的工作,分别用于连接电缆、连接地线、发送数据和接收数据,同时这样的架构还能降低系统能耗和减小系统复杂性。其次,Serial ATA的起点更高、发展潜力更大,Serial ATA 1.0定义的数据传输率可达150MB/s,这比目前最新的并行ATA(即ATA/133)所能达到133MB/s的最高数据传输率还高,而在Serial ATA 2.0的数据传输率将达到300MB/s,最终SATA将实现600MB/s的最高数据传输率。

RAID卡的缓存

缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。它是RAID卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度,实际上就是相对低速的硬盘盘片与相对高速的外部设备(例如内存)之间的缓冲器。缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存能够大幅度地提高数据命中率从而提高RAID卡整体性能。

多数RAID卡都配备了一定数量的内存作为高速缓存使用。不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等,这取决于磁盘阵列产品的应用范围。

 

原创粉丝点击