下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

什么是RAID技术?介绍RAID技术

作者:课课家教育     来源: http://www.kokojia.com点击数:2868发布时间: 2018-01-07 09:30:09

标签: RAID技术数据库web

  RAID这个词我们很经常见到,但是对其可能不是很清楚认识和掌握,下面就来给大家介绍RAID技术,有需要的朋友可以参考学习。
  什么是RAID?
  RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列),其基本思想就是把多块独立的物理磁盘按不同的方式组合起来形成一个磁盘阵列(逻辑硬盘),从而提供比的单个硬盘更高的存储性能和数据备份的功能。在用户看起来,组成的磁盘阵列就像个硬盘,对磁盘阵列的操作与单个硬盘一样。
  在1987年由美国伯克莱大学提出RAID(Redundant Arrayof Inexpensive Disks)理论,作为高性能的存储系统欧尼鬼,已经得到了越来越广泛的应用。RAID的级别从RAID概念的提出到现在,已经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本,增加了执行效率,并提供了系统运行的稳定性。RAID磁盘阵列简单的解释,就是将多台硬盘透过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,其特色是多台硬盘同时读取速度加快及提供容错性Fault Tolerant,所以RAID是当成平时主要访问Data的Storage不是Backup Solution。
  RAID优势
  在RAID磁盘阵列有一基本概念称为EDAP(Extended Data Availability and Protection),其强调扩充性及容错机制,也是各家厂商如:Mylex,IBM,HP,Compaq,Adaptec, Infortrend等诉求的重点,包括在不须停机情况下可处理以下动作:
  1)RAID 磁盘阵列支持自动检测故障硬盘。
  2)RAID 磁盘阵列支持重建硬盘坏轨的资料。
  3)RAID 磁盘阵列支持不须停机的硬盘备援 Hot Spare。
  4)RAID 磁盘阵列支持不须停机的硬盘替换 Hot Swap。
  5)RAID 磁盘阵列支持扩充硬盘容量等。
  RAID磁盘阵列级别
  1)RAID0:即条带技术,所有磁盘完全地并行读,并行写,所以读写性能最高(有几块硬盘,读写性能就提高到几倍)。但是完全没有冗余,所以容错最差,任意一块磁盘损坏,则数据完全丢失。RAID0 并行读写的原理是:在存放数据时,其将数据按磁盘的个数来进行分段,然后同时将这些数据写进这些盘中,所以在所有的级别中,RAID 0的读写速度是最快的:
  什么是RAID技术?介绍RAID技术_RAID技术_数据库_web_课课家教育
  2)RAID1:即镜像技术,镜像写,并行读,可靠性最高。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是磁盘利用率最低:
  图2安全_RAID技术_数据库
  3)RAID 2:RAID0的改良版,加入了汉明码(Hanmming Code)错误校验。RAID 2 因为每次读写都需要全组磁盘联动,所以为了最大化其性能,最好保证每块磁盘主 轴同步,使同一时刻每块磁盘磁头所处的扇区逻辑编号都一致,并存并取,达到最佳性能。 如果不能同步,则会产生等待,影响速度。
  与RAID0相比,RAID2的传输率更好。因为RAID0一般stripe size相对于RAID2的1bit来说 实在太大,并不能保证每次都是多磁盘并行。而RAID2每次IO都能保证是多磁盘并行,为了 发挥这个优势,磁盘的寻道时间一定要减少(寻道时间比数据传输时间要大几个数量级),所 以RAID2适合于连续IO,大块IO(比如视频流服务)的情况。
  4)RAID 3:类似于RAID2,数据条带化(stripe)存储于不同的硬盘,数据以字节为单位,只是RAID3使用单块磁盘存储简单的 奇偶校验信息,所以最终磁盘数量为 N+1 。当这N+1个硬盘中的其中一个硬盘出现故障时, 从其它N个硬盘中的数据也可以恢复原始数据,当更换一个新硬盘后,系统可以重新恢复完整 的校验容错信息。由于在一个硬盘阵列中,多于一个硬盘同时出现故障率的几率很小,所以一般情况下,使用 RAID3,安全性是可以得到保障的。RAID 3会把数据的写入操作分散到多个磁盘上进行,不管是向哪一个数据盘写入数据, 都需要同时重写校验盘中的相关信息。因此,对于那些经常需要执行大量写入操作的应用来 说,校验盘的负载将会很大,无法满足程序的运行速度,从而导致整个RAID系统性能的下降。 鉴于这种原因,RAID 3更加适合应用于那些写入操作较少,读取操作较多的应用环境,例如 数据库和web服务器等。
  5)RAID 4:与RAID3类似,但RAID4是按块(扇区)存取。无须像RAID3那样,哪怕每一次小I/O操作也要涉 及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而提高了小量数据 I/O速度。
  6)RAID5 是一种储存性能、数据安全和存储成本兼顾的存储解决方案。RAID5 至少需要三颗硬盘, RAID5不是对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,可以利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。 RAID 5可以理解为是RAID0和RAID1的折衷方案。RAID5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID5具有和RAID0相近似的数据读取速度,只是因为多了一个奇偶校验信息,写入数据的速度相当的慢,若使用“回写高速缓存”可以让性能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID1高,存储成本相对较便宜:
  数据库_安全_web
  7)RAID6是在RAID5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID5等级。与RAID5相比,RAID6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。 RAID6同RAID5最大的区别就是在RAID5的基础上除了具有P校验位以外,还加入了第2个校验位Q位。当一块磁盘出现数据错误或者丢失的时候,恢复方法同RAID5,无须使用Q校验位。当前盘数据块的校验数据不可能存在当前盘而是交错存储的。这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID5还差(但是存储缓存系统可以抵消一部分此点不足),而且控制系统的设计也更为复杂。RAID6的磁盘利用率、读取性能和容错能力要优于RAID5。
  目前的磁盘容量已经很大,如果一块磁盘出现故障,那么整个RAID组中的磁盘都需要进行数据重构,磁盘容量越大需要的时间越长,在数据重构的时间内如果再发生磁盘故障,那么所有的数据都将丢失。因此RAID6技术将可靠性提高了1000倍以上。目前的磁盘容量已经很大,如果一块磁盘出现故障,那么整个RAID组中的磁盘都需要进行数据重构,磁盘容量越大需要的时间越长,在数据重构的时间内如果再发生磁盘故障,那么所有的数据都将丢失。因此RAID6技术将可靠性提高了1000倍以上。
  8)RAID10:先镜像,再条带。将磁盘分成两组,两组分别先做镜像RAID1,然后在RAID1的基础上做两组RAID1再条带,从而得到RAID10。
  数据库_RAID技术_web
  9)RAID01:先条带,再镜像。磁盘分成两组,两组分别先做条带RAID0,然后在RAID0的基础上做两组RAID0再镜像,从而得到RAID01。

oracle_数据库_web
  10)RAID10和RAID01的比较
  两者最重要的区别在于:RAID10的底层是镜像RAID1,而镜像就保证了当有一块硬盘比如A1损坏时,并不影响他的写功能,读性能可能稍微有所降低(大概降低1/8)。但是RAID01的底层是条带RAID0,而条带就导致了只要有一块硬盘比如左边的Disk0中的A1损坏时,那么整个左边的RAID0就不能使用了,所以整个RAID01就变成了只有右边的RAID0可以使用了,也就是从RAID01变成了RAID0,读性能马上降低一般,写性能没有影响,可靠性变得最差。仅仅凭借这一点,我们就绝不应该使用RAID01,而应该选择RAID10。
  在正常的情况下RAID01和RAID10是完全一样的,而且每一个读写操作所产生的IO数量也是一样的,所以在读写性能上两者没什么区别。
  11)RAID10和RAID5的比较
  应该说能够与RAID10竞争的只有RAID5了,两者在不同的场景有大量的使用。在安全性上RAID10要比RAID5强,当RAID5有一块硬盘损坏时,读性能有很大的下降,因为损坏硬盘中的数据要通过其他硬盘中的数据和校验一起才能计算出来,所以在数据库存储时一般选择RAID10。在磁盘使用率上RAID5要比RAID10高很多,所以对安全性要求不是特别高的场合比如文件存储一般大量使用RAID5。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID10的方式比较好。
  12)应用情况
  RAID2、3、4较少实际应用,因为RAID5已经涵盖了所需的功能,因此RAID2、3、4大多只在研究领域有实现,而实际应用上则以RAID5为主。在数据库等重要领域一般使用RAID10。所以在实际生产中要么选择RAID5,要么选择RAID10,当然也有少量的RAID6存在。除非特定厂商的产品有比较特殊的特定的选择。Oracle的存储最好还是使用RAID10技术,最为可靠。
  对RAID技术相信经过本文的介绍你应该有所了解了。如果喜欢我们的分享,欢迎关注课课家教育,感谢大家对课课家的大力支持!

赞(16)
踩(0)
分享到:
上一篇:简述Ganglia
华为认证网络工程师 HCIE直播课视频教程