ITPub博客

首页 > IT基础架构 > 网络安全 > [zt ]关于RAID的扫盲知识

[zt ]关于RAID的扫盲知识

原创 网络安全 作者:charles6222 时间:2007-09-15 23:05:00 0 删除 编辑

[zt ]关于RAID的扫盲知识

RAID是英文Redundant Array of Independent Disks的缩写,翻译成中文意思是“独立磁盘冗余阵列”,有时也简称磁盘阵列(Disk Array)。

简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式成为RAID级别(RAID Levels)。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总之,对磁盘阵列的操作与单个硬盘一模一样。不同的是,磁盘阵列的存储速度要比单个硬盘高很多,而且可以提供自动数据备份。

  RAID技术的两大特点:一是速度、二是安全,由于这两项优点,RAID技术早期被应用于高级服务器中的SCSI接口的硬盘系统中,随着近年计算机技术的发展,PC机的CPU的速度已进入GHz 时代。IDE接口的硬盘也不甘落后,相继推出了ATA66和ATA100硬盘。这就使得RAID技术被应用于中低档甚至个人PC机上成为可能。RAID通常是由在硬盘阵列塔中的RAID控制器或电脑中的RAID卡来实现的。

RAID技术经过不断的发展,现在已拥有了从 RAID 0 到 6 七种基本的RAID 级别。另外,还有一些基本RAID级别的组合形式,如RAID 10(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。但我们最为常用的是下面的几种RAID形式。

(1) RAID 0
(2) RAID 1
(3) RAID 0+1
(4) RAID 3
(5) RAID 5
raid 0 是raid 中读写最快的一种,最大的缺点就是不能容错,如果其中的一块硬盘坏掉的话,那么数据就会全部丢失,所以一般都是raid 0和 raid 1组合用。
如果是我使用的是raid0,那么2块硬盘中有一块块了,是不是所有的数据都将丢失,还是丢失部分
软件RAID是级别0,它使多个硬盘看起来像一个磁盘,但是速度比任何单个磁盘快得多,因为驱动器被并行访问。软件RAID可以用IDE或SCSI控制器,也可以使用任何磁盘组合。在软件RAID 中不能提供如下功能:硬盘热拔插,硬盘热备用,远程阵列管理,可引导阵列支持,在硬盘上实现阵列配置, SMART硬盘支持等
  
  目前RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。这两种技术都将在近期成为性能比较适中的产品,并联用户提供可行的数据保护措施。其中基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、RAID保护的可引导阵列、错误磁盘自动检测、剩余空间取代和阵列重建、共有的或指定的剩余空间和彩色编码报警等许多方面优于后者。另外,还提供从单一控制实施的对多RAID安装、多操作系统远程检测和管理的能力。从安装过程来看,两种RAID解决方案的安装过程都比较容易,安装耗时也相差无几。从CPU占有率来看,基于硬件的RAID显然能够减少CPU的中断次数,同时降低主PCI总线的数据流量。从而是系统的性能产生一个提升。从I/O占用角度考虑,两种解决方案的差别并不算很大。基于硬件的RAID方案仅在下列两方面有一定优势;减少RAID5阵列在降级模式的运行时间;平行引导阵列的能力。另外,在硬件解决方案中,可以采用RAID0/1取代RAID1来提高性能。

RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择 RAID3、RAID5。
购买RAID卡或是使用软RAID,如WIN2000/NT,XP下实现!
RAID 0最简单的实现方式就是把几块硬盘串联在一起创建一个大的卷集。磁盘之间的连接既可以使用硬件的形式通过智能磁盘控制器实现,也可以使用操作系统中的磁盘驱动程序以软件的方式实现,我们把4块磁盘组合在一起形成一个独立的逻辑驱动器,容量相当于任何任何一块单独硬盘的4倍。数据被依次写入到各磁盘中。当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中。  
RAID 0是所有RAID模式中最简单的一种。要实现RAID 0必须要有两个以上的硬盘,RAID 0 实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。如果RAID 0模式当中有两个硬盘,用户自定义的切割文件大小为 64KB,此时RAID控制器接收到一个指令来存储一个大小为128KB的文件,这时文件就会被分割成两个64KB大小的文件,然后这两个文件被同时分别存储在硬盘1和硬盘2当中,存储过程到此完成。在RAID 0模式下读取一个文件的操作也是如此。所以,在这个RAID 0模式当中读取128KB大小的文件所需要的时间和在普通硬盘上读取64KB大小的文件所需要的时间相同。
使用ride0是,假使有2块硬盘,在写一个数据时,怎么写呀?写在哪里面?
  如果数据流,又怎么写呀?按什么样的顺序分配?
RAID 1又称为Mirror或Mirroring(镜像),它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

当读取数据时,系统先从RAID 0的源盘读取数据,如果读取数据成功,则系统不去管备份盘上的数据;如果读取源盘数据失败,则系统自动转而读取备份盘上的数据,不会造成用户工作任务的中断。当然,我们应当及时地更换损坏的硬盘并利用备份数据重新建立Mirror,避免备份盘在发生损坏时,造成不可挽回的数据损失。

由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而Mirror(镜像)的磁盘空间利用率低,存储成本高。Mirror虽不能提高存储性能,但由于其具有的高数据安全性,使其尤其适用于存放重要数据,如服务器和数据库存储等领域.
正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 10。
以四个磁盘组成的RAID 0+1为例,其数据存储方式如图所示:RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。
由于RAID 0+1也通过数据的100%备份功能提供数据安全保障,因此RAID 0+1的磁盘空间利用率与RAID 1相同,存储成本高。
RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

在不同情况下,RAID 3读写操作的复杂程度不同。最简单的情况就是从一个完好的RAID 3系统中读取数据。这时,只需要在数据存储盘中找到相应的数据块进行读取操作即可,不会增加任何额外的系统开销。  
  
    当向RAID 3写入数据时,情况会变得复杂一些。即使我们只是向一个磁盘写入一个数据块,也必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中。例如,当我们向上图中的绿色数据块写入数据时,必须重新计算所有3个绿色数据块的校验值,然后重写位于第四块硬盘的绿色校验块。由此我们可以看出,一个写入操作事实上包含了数据读取(读取带区中的关联数据块),校验值计算,数据块写入和校验块写入四个过程。系统开销大大增加。  
  
    我们可以通过适当设置带区的大小使RAID系统得到简化。如果某个写入操作的长度恰好等于一个完整带区的大小(全带区写入),那么我们就不必再读取带区中的关联数据块计算校验值。我们只需要计算整个带区的校验值,然后直接把数据和校验信息写入数据盘和校验盘即可。  
  
    到目前为止,我们所探讨的都是正常运行状况下的数据读写。下面,我们再来看一下当硬盘出现故障时,RAID系统在降级模式下的运行情况。  
  
    RAID 3虽然具有容错能力,但是系统会受到影响。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立。如果我们是从好盘中读取数据块,不会有任何变化。但是如果我们所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据。  
  
    当我们更换了损坏的磁盘之后,系统必须一个数据块一个数据块的重建坏盘中的数据。整个过程包括读取带区,计算丢失的数据块和向新盘写入新的数据块,都是在后台自动进行。重建活动最好是在RAID系统空闲的时候进行,否则整个系统的性能会受到严重的影响。  
  
    RAID 3的性能问题  
  
    除了我们在上文讨论过的有关数据写入和降级模式的问题之外,在使用RAID 3的过程中还有其他一些性能上的问题需要引起我们的注意。RAID 3所存在的最大一个不足同时也是导致RAID 3很少被人们采用的原因就是校验盘很容易成为整个系统的瓶颈。  
  
    我们已经知道RAID 3会把数据的写入操作分散到多个磁盘上进行,然而不管是向哪一个数据盘写入数据,都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。鉴于这种原因, RAID 3更加适合应用于那些写入操作较少,读取操作较多的应用环境,例如数据库和WEB服务器等。
RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 以四个硬盘组成的RAID 5为例,其数据存储方式如图4所示:图中,P0为D0,D1和D2的奇偶校验信息,其它以此类推。由图中可以看出,RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。


RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。
评论:感觉RAID 5 好象比0 和1 好些  至少一个硬盘出问题的话 其他的 可以对 该硬盘恢复哦
要是你系统崩溃的话,什么Raid也是白搭。比RAID0 和1好.可惜的是很的RAID卡不支持,只有服务器才支持这种功能.家用电脑就用不着了。

小问答:

问:RAID卡在什么时间进行数据备份呢会不会影响开关机的速度呀.是不是实时的备份呀.
答:目前都是实时在线自动备份,不会影响开关机速度! 目前各大服务器厂商都已经把RAID1,0,当作标准配置了,没有什么神秘性了。
问:我有两个73G和两个146G的硬盘,要做一个RAID 0和RAID 1,怎么分配硬盘?是把两个73G的做RAID 0还是把两个146G的做RAID 0,这有什么区别没有?
答:无论那2块硬盘做RAID,同等容量即可,73或146都可以!没有特别的差别。
问: 到底是怎么组合的啊?
答:这种RAID就像是由RAID 0和RAID 1组合而成。方法就是镜像一个串行集和或将镜像做串行格式化。这样的效果是相同的。因为使用了串行结构,所以读写性能极佳,只要没有损坏的硬盘需要重新镜像。系统也十分可靠,因为数据在另外一部硬盘上还是有一份完整的备份。不过必须比RAID 0多用一倍的硬盘数来达到相同的容量。
问:请教一下,RAID10的总的存储空间是多大啊,假如说DISK1和DISK2做成RAID0,DISK3和DISK4做成RAID1,那RAID0和RAID1之间的关系又是怎样的啊?他们的存储空间是不是120(假如每个是40)?
问: 容量目前没有具体限制,如果是4块硬盘,2块是存储用,2块备份用,成本要提高一倍,存储数据只是2块硬盘!先DISK1和DISK2做RAID0, DISK3和DISK4做RAID0。在做这两个虚拟盘的RAID1。容量是DISK1+DISK2,DISK3和DISK4作为备份。这是RAID1+ 0,不是RAID0+1,这是有先镜像还是先分条带顺序的.
被称为RAID10的当然是RAID1+0,即是先镜像后分条带.从原理上自己也可以算的出来的.RAID5相对RAID10节省空间,读取速度和RAID10差不多,但是写入速度比RAID10差.因为多了校验.想提醒的是,RAID5 是不备份,只是校验位,同时坏掉2个硬盘就不行了,所以,可靠性,比RAID10差的多。按照你说的每块是40G,那么做完raid1+0后存储容量是 80G。RAID 3是把数据分成多个“块”,按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时,从其它N个硬盘中的数据也可以恢复原始数据,这样,仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障率的几率很小,所以一般情况下,使用RAID3,安全性是可以得到保障的。与RAID0相比,RAID3在读写速度方面相对较慢。使用的容错算法和分块大小决定 RAID使用的应用场合,在通常情况下,RAID3比较适合大文件类型且安全性要求较高的应用,如视频编辑、硬盘播出机、大型数据库等.
补充: RAID 3采用的是一种较为简单的校验实现方式,使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。例如,在一个由4块硬盘构成的RAID 3系统中,3块硬盘将被用来保存数据,第四块硬盘则专门用于校验。这种配置方式可以用3+1的形式表示。第四块硬盘中的每一个校验块所包含的都是其它3块硬盘中对应数据块的校验信息。RAID 3的成功之处就在于不仅可以象RAID 1那样提供容错功能,而且整体开销从RAID  1的50%下降为25%(RAID 3+1)。随着所使用磁盘数量的增多,成本开销会越来越小。举例来说,如果我们使用7块硬盘,那么总开销就会将到 12.5%(1/7)。  
问:请问Raid5中的一个磁盘数据损坏了,该怎么补救呀
答:RAID5恢复数据步骤: 
  1、将损坏的硬盘拆下,换上一块新的硬盘。  
  2、从"磁盘管理"中,为新硬盘选中一块大于或等于条带区的区域(注:该区域必须是事先做了删除,而且是空闲的)。 
  3、 选定原先做好的带奇偶校验的分条集的一部分,按住Ctrl键点中新的硬盘的空闲区域,选择"容错"菜单,单击"重建"。 
  4、 下拉"分区"菜单,单击"立即更改"命令。  
  5、 退出磁盘管理器。  
  6、 运行RDISK.EXE,进行更新修复信息。然后重启计算机。系统会根据奇偶校验信息和其他信息自动恢复丢失的数据。
问:RAID3和RAID4都有一个额外的校验磁盘,如果损坏的是校验磁盘,那么也必能恢复数据了??需要从新计算校验信息存储作为备份盘???!!!
议论:RADI 5 依然有数据丢失的风险,同一个阵列上两块及以上坏盘时,整个阵列上的数据就会丢失!硬盘级数据保护最基础的保证,其实还看单块盘的可靠!
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/173007/viewspace-969563/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-01-08

  • 博文量
    22
  • 访问量
    43949