RAID基础知识总结

一、概述
计算机和网络技术的高速发展对存储性能和数据可靠性的要求不断的提高,使用RAID技术是很好的解决途径。RAID的全称为廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),是将多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘。
软件RAID和硬件RAID
RAID也有全软、半软半硬与全硬之分,全软RAID就是指 RAID的所有功能都是操作系统(OS)与CPU来完成,没有第三方的控制/处理(RAID协处理器——RAID Co-Processor)与I/O芯片。这样,有关RAID的所有任务的处理都由CPU来完成,可想而知这是效率最低的一种RAID。半软半硬RAID 则主要缺乏自己的I/O处理芯片,所以这方面的工作仍要由CPU与驱动程序来完成。而且,半软半硬RAID所采用的RAID控制/处理芯片的能力一般都比较弱,不能支持高的RAID等级。全硬的RAID则全面具备了自己的RAID控制/处理与I/O处理芯片,甚至还有阵列缓冲(Array Buffer),对CPU的占用率以及整体性能是这三种类型中最优势的,但设备成本也是三种类型中最高的。
RAID组织数据的基本方式
1、并行存取方式 适用于大型的、以长时间顺序访问数据为特征的应用
2、独立存取方式 适用于数据存取频繁,每笔存取数据量较小的应用
RAID基础知识总结_第1张图片
镜像冗余
镜像冗余使用了磁盘镜像技术,磁盘镜像是一个简单的设备虚拟化技术,每个I/O操作都会在两个磁盘上执行,两个磁盘看起来就像一个磁盘一样 镜像冗余可以提高磁盘的读性能
镜像冗余的实现方式
RAID基础知识总结_第2张图片
校验冗余
根据冗余算法计算阵列中成员磁盘上数据的校验信息,将校验信息保存在其他的磁盘资源上 保证数据可靠性; 和镜像冗余相比较,校验冗余的开销更小
热备和热换
热备是指在不干扰当前系统的正常使用的情况下,用系统中另外一个正常的备用磁盘顶替失效磁盘
热换是指在不影响系统正常运转的情况下,用正常的磁盘物理替换RAID阵列中的失效磁盘
二、常用RAID级别
组成RAID阵列的不同方式称为RAID级别; 不同的RAID级别对应不同的存储性能, 不同的数据可靠性和不同的存储成本
RAID-0
数据被RAID控制器(硬件或软件)分割成大小相同的数据条,以条带的形式同时写入阵列中的各个磁盘上,每个磁盘上的条带深度是一样的,每个条带的具体深度则要看所采用的RAID类型,在NT系统的软RAID-0等级中,每个条带深度只有64KB一种选项,而在硬RAID-0等级,可以提供8、16、32、64以及128KB等多种深度参数。Striped是RAID的一种典型方式,在很多RAID术语解释中,都把 Striped指向RAID 0。在读取时,也是顺序从阵列磁盘中读取后再由RAID控制器进行组合再传送给系统,这也是RAID的一个最重要的特点。
RAID基础知识总结_第3张图片
RAID0的特性
RAID基础知识总结_第4张图片
RAID-1
RAID-1以镜像为冗余方式,对虚拟磁盘上的数据做多份拷贝,放在成员磁盘上,如果阵列中有两个硬盘,在写入时,RAID控制器将数据同时写入两个硬盘,在大量写入RAID1的情况下,写入性能可能会非常差(数据传到I/O总线后会被复制多份到各个磁盘,但只有一个南桥芯片,如果使用硬RAID,磁盘阵列卡会主动复制一份而不使用系统的I/O总线,性能方面还可以),当其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复,同时,整体RAID的容量几乎少了50%
RAID基础知识总结_第5张图片
RAID1的特性
RAID基础知识总结_第6张图片
RAID-5
采用独立存取的阵列方式,采用了数据块的存储方式,在每个独立的数据盘中都开辟了单独的区域用于存储同级数据的XOR校验数据,在写入时,同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性。
RAID基础知识总结_第7张图片
数据块
简单来说,一个数据块是一个 完整的数据集合,比如一个文件就是一个典型的数据块。当然,对于硬盘的读取,一个数据块并不是一个文件,而是由操作系统所决定的,这就是我们熟悉的簇 (Cluster)。按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时,数据就完了)。
同级
指在每个硬盘中同一柱面同一扇区位置的数据算是同级。在写入时,RAID就是按这个方法把各硬盘上 同级数据的校验统一写入校验盘,等读取时再即时进行校验。因此即使是当前硬盘上的数据块损坏,也可以通过XOR校验值和其他硬盘上的同级数据进行恢复。
XOR校验
eXclusive OR异或逻辑运算代替了RAID-2中相对复杂的汉明码校验,从而也大幅降低了成本。XOR的校验原理如下表:
这里的A与B值就代表了两个位,当A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个 数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。
RAID基础知识总结_第8张图片
RAID5的特性
RAID基础知识总结_第9张图片
组合不同级别的RAID
所谓组合RAID是指在这个RAID等级中是由多个RAID等级(一般是两个)组合而成。
RAID-10 Very High Reliability combined with High Performance(高可靠性与高性能的组合)
工作原理:RAID10结合RAID1和RAID0,先镜像,再条带化
RAID-1在这里是一个冗余的备份阵列,而RAID-0则负责数据的读写阵列。下图只是一种RAID 10方式,更多的情况是从主通路分出两路(以4个硬盘时为例),做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。
由于利用了RAID-0极高的读写效率和RAID-1较高的数据保护、恢复能力,使RAID-10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID-10对存储容量的利用率和RAID 1一样低,只有50%。
RAID基础知识总结_第10张图片
RAID-10的特性
RAID基础知识总结_第11张图片
RAID-50
工作原理:RAID50是RAID5和RAID0的结合,先实现RAID5,再条带化
RAID基础知识总结_第12张图片
RAID-50的特性
RAID基础知识总结_第13张图片
总结:
常用RAID级别中: RAID0的性能最好; RAID1的冗余程度最高; 相同可用容量下,RAID1和RAID 10的开销最高。
RAID的运行状态
建立(Create) 正常(Normal) 降级/临界(Degrade/Critical) 重建(Rebuild/Recover) 重构(Reconstruct) 失效(Failed)
若RAID5的一块磁盘失效,则 目前处在降级/临界状态下 再有一块磁盘发生故障,将进入失效状态
分块、分区、分条是RAID组织数据的重要概念 RAID的冗余方式有镜像冗余和校验冗余 常用RAID级别有RAID1、RAID5和RAID10等
参考博文:http://blog.csdn.net/21aspnet/article/details/7072479

你可能感兴趣的:(Linux,Basic)