深入了解RAID

分类: 新手入门   出处:iocblog整理  更新时间:2008-05-25   添加到收藏  

  raid是由美国加州大学伯克利分校的d.a. patterson教授在1988年提出的。raid是redundent array of inexpensive disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。后来raid中的字母i被改作了independent,raid就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。可以把raid理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。一般情况下,组成的逻辑磁盘驱动器的容量要小于各个磁盘驱动器容量的总和。raid的具体实现可以靠硬件也可以靠软件,windows nt操作系统就提供软件raid功能。raid一般是在scsi磁盘驱动器上实现的,因为ide磁盘驱动器的性能发挥受限于ide接口(ide只能接两个磁盘驱动器,传输速率最高1.5mbps)。ide通道最多只能接4个磁盘驱动器,在同一时刻只能有一个磁盘驱动器能够传输数据,而且ide通道上一般还接有光驱,光驱引起的延迟会严重影响系统速度。scsi适配器保证每个scsi通道随时都是畅通的,在同一时刻每个scsi磁盘驱动器都能自由地向主机传送数据,不会出现像ide磁盘驱动器争用设备通道的现象。
  
  raid的优点
  
  1.成本低,功耗小,传输速率高。在raid中,可以让很多磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用raid可以达到单个的磁盘驱动器几倍、几十倍甚至上百倍的速率。这也是raid最初想要解决的问题。因为当时cpu的速度增长很快,而磁盘驱动器的数据传输速率无法大幅提高,所以需要有一种方案解决二者之间的矛盾。raid最后成功了。
  
  2.可以提供容错功能。这是使用raid的第二个原因,因为普通磁盘驱动器无法提供容错功能,如果不包括写在磁盘上的crc(循环冗余校验)码的话。raid和容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供更高的安全性。
  
  3.raid比起传统的大直径磁盘驱动器来,在同样的容量下,价格要低许多。
  
  raid的分级
  
  1.raid0级,无冗余无校验的磁盘阵列。数据同时分布在各个磁盘驱动器上,没有容错能力,读写速度在raid中最快,但因为任何一个磁盘驱动器损坏都会使整个raid系统失效,所以安全系数反倒比单个的磁盘驱动器还要低。一般用在对数据安全要求不高,但对速度要求很高的场合。
  (文章来源 www.iocblog.net)
  2.raid1级,镜象磁盘阵列。每一个磁盘驱动器都有一个镜像磁盘驱动器,镜像磁盘驱动器随时保持与原磁盘驱动器的内容一致。raid1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。
  
  3.raid2级,纠错海明码磁盘阵列。磁盘驱动器组中的第一个、第二个、第四个……第2n个磁盘驱动器是专门的校验盘,用于校验和纠错,例如七个磁盘驱动器的raid2,第一、二、四个磁盘驱动器是纠错盘,其余的用于存放数据。使用的磁盘驱动器越多,校验盘在其中占的百分比越少。raid2对大数据量的输入输出有很高的性能,但少量数据的输入输出时性能不好。raid2很少实际使用。
  
  4.raid3和raid4,奇校验或偶校验的磁盘阵列。不论有多少数据盘,均使用一个校验盘,采用奇偶校验的方法检查错误。任何一个单独的磁盘驱动器损坏都可以恢复。raid3和raid4的数据读取速度很快,但写数据时要计算校验位的值以写入校验盘,速度有所下降。raid3和raid4的使用也不多。
  
  5.raid5级,无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误,但没有独立的校验盘,校验信息分布在各个磁盘驱动器上。raid5对大小数据量的读写都有很好的性能,被广泛地应用。
  
  从raid1到raid5的几种方案中,不论何时有磁盘损坏,都可以随时拔出损坏的磁盘再插入好的磁盘(需要硬件上的热插拔支持),数据不会受损,失效盘的内容可以很快地重建,重建的工作也由raid硬件或raid软件来完成。但raid0不提供错误校验功能,所以有人说它不能算作是raid,其实这也是raid0为什么被称为0级raid的原因――0本身就代表“没有”。
  
  raid的应用
  
  当前的pc机,整个系统的速度瓶颈主要是硬盘。虽然不断有ultra dma33、dma66、dma100等快速的标准推出,但收效不大。在pc中,磁盘速度慢一些并不是太严重的事情。但在服务器中,这是不允许的,服务器必须能响应来自四面八方的服务请求,这些请求大多与磁盘上的数据有关,所以服务器的磁盘子系统必须要有很高的输入输出速率。为了数据的安全,还要有一定的容错功能。raid提供了这些功能,所以raid被广泛地应用在服务器体系中。
  
  raid提供的容错功能是自动实现的(由raid硬件或是raid软件来做)。它对应用程序是透明的,即无需应用程序为容错做半点工作。要得到最高的安全性和最快的恢复速度,可以使用raid1(镜像);要在容量、容错和性能上取折衷可以使用raid5。在大多数数据库服务器中,操作系统和数据库管理系统所在的磁盘驱动器是raid1,数据库的数据文件则是存放于raid5的磁盘驱动器上。
  
  有时我们看某些名牌服务器的配置单,发现其cpu并不是很快,内存也算不上是很大,显卡更不是最好,但价格绝对不菲。是不是服务器系统都是暴利产品呢?当然不是。服务器的配置与一般的家用pc的着重点不在一处。除去更高的稳定性外,冗余与容错是一大特点,如双电源、带电池备份的磁盘高速缓冲器、热插拔硬盘、热插拔pci插槽等。另一个特点就是巨大的磁盘吞吐量。这主要归功于raid。举一个例子来说,一台使用了scsi raid的奔腾166与一台ide硬盘的pⅲcopermine 800都用做文件服务器,奔腾166会比pⅲ的事务处理能力高上几十倍甚至上百倍,因为pⅲ处理器的运算能力根本用不上,反倒是奔腾166的raid起了作用。
  
  raid现在主要应用在服务器,但就像任何高端技术一样,raid也在向pc机上转移。也许所有的pc机都用上了scsi磁盘驱动器的raid的那一天,才是pc机真正的“出头之日”。
  
  
Tag: RAID ,磁盘阵列



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。