Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11284317
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-18 15:12:46

Raid资料及模拟器
计算机制造商们全面打起了提速战。作为计算机最重要的外部存储设备,硬盘当然也不甘落后,相继推出速度更快的硬盘。即便如此,硬盘存储仍然摆脱不了系统性能瓶颈的角色。不仅如此,硬盘存储在数据安全上也是问题多多。现在人们的工作已无法摆脱计算机,这一方面使得人们的工作效率大大提高,但潜在的危险也是明摆着的:一旦硬盘的数据损坏,人们长时间的工作就可能毁于一旦。  
  那么,有没有基于现在的硬盘提升存储性能和数据安全的技术呢?有,它就是RAID技术。  
  RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来RAID中的字母I被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。简单地讲,RAID技术就是利用多个硬盘的组合提供高效率及冗余的功能。  
  
RAID 的优点
  传输速率高。在RAID中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是RAID最初想要解决的问题。因为当时CPU的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。RAID最后成功了。  
  可以提供容错功能。这是使用RAID的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的CRC(循环冗余校验)码的话。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。  
  RAID比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低很多。  
  
RAID 的级别  
  具体实现起来,RAID的级别很多,各级别有着各自的优缺点,用户可以根据不同的需求来选择合适的级别。  
  
  RAID 0:
  RAID 0需要至少两个硬盘,是没有任何保护的,它只是将两个或多个相同型号及容量的硬盘组合起来,而当系统提取数据时,它可以同时由所有硬盘(同一个阵列里)读出数据,速度会比一个硬盘快得多。而亦因为它没有任何的数据保护,只要其中一只硬盘出事,所有数据便会被破坏。所以RAID 0通常应用在一些非重要资料上,如影像撷取。磁盘阵列的总容量为各个硬盘容量之和。  
  
  RAID 1 :
  这个级别由两个(只有两个)硬盘组成,亦可称为镜像(Mirroring)。每一个资料均会相同的写在两个硬盘上,镜像就是因为两个硬盘的内容将会一模一样,但对于系统来说都只会见到一个硬盘。当然,资料写入的时间可以会长一点,但读则没有影响,因为两个硬盘是可以同时读取资料的。磁盘阵列的总容量为其中一块硬盘的容量。  
  
  RAID 2:
  RAID 2又叫纠错海明码磁盘阵列。磁盘阵列中的第一个、第二个、第四个……第2n个硬盘是专门的校验盘,用于校验和纠错,例如七个硬盘的RAID 2,第一、二、四个硬盘是校验盘,其余的用于存放数据。使用的硬盘越多,校验盘在其中占的百分比越少。RAID 2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。RAID 2很少实际使用。  
  
  RAID 3 :
  这个级别需要至少三个硬盘。数据会被分割成相同大小的基带条(stripe)并存放于不同的硬盘上。其中的一个硬盘将会被指定为用来储存校验值,这个校验值是RAID卡根据前面硬盘中存放的数据而运算出来,这样当其中一个硬盘有问题时,用户可以更换硬盘,RAID卡便会根据其他数据重构并存放在新硬盘里。RAID 3可以提供高速数据读取,但只针对单用户模式;如果多人同时读取资料,RAID 3不是理想选择。它更适用于I/O传输,而不是大文件传输。 因为提供奇偶校验的磁盘常成为瓶颈,所以在没有相应技术的情况下,如回写高速缓存技术,不常使用。如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量为各个硬盘容量之和减去一块硬盘的容量。

  RAID 5:
  这个级别也是需要至少三个硬盘。数据会分割跟RAID 3一样,但并不会有一个特定的硬盘将来储存校验值,所有数据及校验值都会分布在所有硬盘上。RAID 5消除了RAID 3在写数据上的瓶颈,可以提供高速数据读取并针对多用户模式,RAID 5所提供的功能及表现是有RAID级别之中最好的。RAID 5常使用缓冲技术来降低性能的不对称性。与RAID 3一样,如果组成磁盘阵列的硬盘相同,磁盘阵列的总容量也为各个硬盘容量之和减去一块硬盘的容量。RAID 5级以合理的价位提供了最佳的性能和数据安全性,因此目前它很受欢迎。  
  
  多层级别 RAID:
  除了以上的RAID级别外,也可以将多个RAID 级别结合成一个多层级别的RAID。在设定一个双层级别(dual-level)的RAID时,卡的软件(firmware)会负责将两个或多个单层RAID组合成一个多层级别的RAID或数组。比较常见的多层级别RAID是RAID 0+1或称 RAID 0/1 及 RAID 0+5 或称 RAID 0/5。  
  
RAID 的种类及应用
  IDE和SCSI是计算机的两种不同的接口,前者普遍用于PC机,后者一般用于服务器。基于这两种接口,RAID分为两种类型:基于IDE接口的RAID应用,称为IDE RAID;而基于SCSI接口的RAID应用则相应称为SCSI RAID。  
  以前,一提起RAID往往会联想到SCSI硬盘,因为它的传统接口一直使用的是SCSI,而具有SCSI接口的硬盘要比传统的IDE硬盘昂贵得多,因此RAID技术自产生以来似乎就被定义在了高端“贵族家庭”。在较大的阵列系统中,随着硬盘的数量增多,SCSI RAID系统的整体造价就明显地提高。与此相反,可以看到被视为低端产品的IDE硬盘却具有明显的价格优势,近年来随着IDE接口标准的升级, IDE的传输速度有了明显的提高,串行ATA又可加大IDE硬盘连接数量,于是RAID产品逐步开始渗透到了所谓低端的IDE硬盘领域。
  与此同时,基于不同的架构,RAID 又可以分为:  
  ● 软件RAID (软件 RAID)  
  ● 硬件RAID (硬件 RAID)  
  ● 外置RAID (External RAID)  
  软件RAID很多情况下已经包含在系统之中,并成为其中一个功能,如 Windows、Netware及Linux。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统—主要是中央处理器的功能—提供所有现成的资源。  
  硬件RAID通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。  
  在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 磁盘阵列可以在安装系统之前或之后产生,系统会视之为一个(大型)硬盘,而它具有容错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统,它更可以支持容量扩展,方法也很简单,只需要加入一个新的硬盘并执行一些简单的指令,系统便可以实时利用这新加的容量。  
  外置式RAID也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。  
  外置式RAID可以安装任何的操作系统,因此是与操作系统无关的。为什么呢?因为在系统里只存在一张SCSI卡,并不是RAID卡。而对于这个系统及这张SCSI卡来说,这个外置式的RAID只是一个大型硬盘,并不是什么特别的设备,所以这个外置式的RAID可以安装任何的操作系统。唯一的要求就是你用的这张SCSI卡在这个操作系统要安装驱动程序。
阅读(233) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~