RAID讲解

RAID技术的主要功能:

1、把多个硬盘组合成一个逻辑盘组,以提供更大容量的存储。

2、将数据分割成数据块,对多个硬盘并行进行写入/读出,提高硬盘访问速度。

3、通过提供镜像或奇偶校验来提供容错。

4、在存储设备中,可以通过2种方式实现RAID功能:硬件RAID和软件RAID。

5、硬件RAID使用专用的RAID适配器、硬盘控制器或存储处理器。RAID控制器有自己的处理器,I/O处理芯片,和内存,用来提高资源利用率和数据传输速度。RAID控制器管理路由、缓冲区,控制主机与RAID间数据流。硬件RAID通常在服务器中使用。

6、软件实现的RAID没有它自己的处理器或I/O处理芯片,而是完全依赖于主机处理器。因此,低速CPU不能满足RAID实施的要求。软件RAID通常在企业级存储设备上使用。

 

RAID的数据保护方式。
方法一:镜像(Mirroring),在另一块几余的硬盘上保存数据的副本
方法二:奇偶校验算法(XOR)。
XOR运算广泛地使用在数字电子和计算机科学中
XOR校验的算法一一相同为假,相异为真:
                                                  0⊕0=0: 0⊕1=1; 1⊕0=1; 1⊕1=0;

RAID技术通常有2种不同的方式进行数据保护。

一种方法是在另一块冗余的硬盘上保存数据的副本,提高可靠性,并可以提高读性能。

二是使用奇偶校验算法。奇偶校验码是使用用户数据计算出的额外信息。对于使用奇偶校验的RAID类型,它意味着需要额外的校验硬盘。奇偶校验采用的是异或(XOR的计算符号⊕)算法。

在所有RAID级别中,RAID 0(也被称为条带化RAID)具有最高的存储性能。RAID 0使用条带化技术将数据分布存储在RAID组的所有硬盘中。

一个RAID 0包含至少2个成员盘。RAID 0组将数据分为大小不等的从512个字节至兆字节的数据块(通常是512字节的倍数),并行将其写入到不同的硬盘中。如图所示的两个硬盘(驱动器)构成的RAID中:前两块数据被写入到分条0上,其中,第一个数据块被写在硬盘1的条带0上,第二个数据块并行存放在硬盘2的条带0上;这时,再下一个数据块被写到硬盘1上的下一个条带(条带1)上,以此类推。以这种方式,I/O的负载平衡分布在RAID中的所有硬盘上,由于数据传输总线上的速度远大于硬盘读写速度,因此,RAID组上的硬盘可以认为在同时进行读写。

RAID 0

RAID 0像是提供了一个单一的大容量的硬盘,还同时具有非常快速I/O的特点。在RAID 0技术使用之前,类似RAID 0的一种技术被称为JBOD。一个JBOD(Just a Bundle Of Disks,简称一堆硬盘)是一组硬盘组合成一个虚拟的大硬盘。与RAID 0最大的区别是,一个JBOD的数据块不是同时并行写入不同硬盘的。在JBOD中,只有将第一块硬盘的存储空间使用完,才会使用第二块硬盘。所以JBOD总的可用容量是所有个硬盘容量的总和,但性能是单个硬盘的性能!

当RAID 0接收数据读取请求时,它会在所有硬盘上搜索目标数据块并读取数据。在图中,我们可以看到整个读取过程。RAID 0组的读写性能与硬盘的数量成正比。

RAID 1

RAID 1(也被称为镜像结构的硬盘阵列)旨在建立一个高安全性的RAID级别。RAID 1使用2个相同的硬盘系统,并设置了镜像。当数据写入到一个硬盘上时,数据的副本会同时存储在镜像硬盘上。当源硬盘(物理)失败时,镜像硬盘从源硬盘接管服务,保证服务的连续性。镜像盘作为备份,提供高数据可靠性。

一个RAID 1组存储的数据量只是单个硬盘的容量,另一硬盘保存的是数据的副本,相当于每一G字节的数据存储占用了2G字节的硬盘空间,所以说两个硬盘组成的RAID 1的空间利用率是50%。

RAID 0采用条带化技术将不同数据并行写入到硬盘中,而RAID 1则是同时写入相同的数据到每个硬盘,数据在所有成员硬盘中都是相同的。在上图所示,数据块D0,D1和D2,等待写入到硬盘。D0和D0的副本同时写入到两个硬盘中(硬盘1和硬盘2),其他数据块也以相同的方式(镜像)写入到RAID 1硬盘组中。通常来说,一个RAID 1的写性能是单个硬盘的写性能。

RAID 1读取数据时,会同时读取数据盘和镜像盘,以提高读取性能。如果其中一个硬盘失败,可以从另一个硬盘读取数据。

RAID 1系统的读取性能等于两个硬盘的性能之和。在RAID组降级的情况下,性能下降一半。

RAID 5

RAID 5是改进版的RAID 3,使用条带化并计算奇偶校验信息,在RAID 5中,数据以分条的形式写入硬盘组中。RAID 5的不同分条的奇偶校验数据不是单独存在一个固定的校验盘里的,而是按一定规律分散存放的。

RAID 3在少量的数据被写入时有写惩罚,RAID 5类似。

RAID 5的写入性能取决于所写的数据量和RAID 5组中硬盘的数量。假定一个RAID 5的硬盘数为N,当所有成员盘的转速相同时,在不考虑写惩罚,满分条写的情况下,RAID 5的顺序IO写性能理论上略小于 N-1倍单个硬盘的性能(计算冗余校验需要额外的计算时间)。

在RAID 3级别和RAID 5级别的硬盘阵列中,如果一个硬盘失效,该硬盘组将从在线(正常)状态转变为降级状态,直到完成重构失效硬盘。如果RAID中的另一个硬盘也出现故障,则硬盘组的数据将丢失。

对于大多数的企业客户而言,RAID 0并不是一个真正可以操作的选择,而RAID 1受限于硬盘容量利用率。RAID 10组合了RAID 1和RAID 0,提供了最好的解决方案,特别是在随机写入时,由于不存在写惩罚,性能优势比较明显。

RAID 10组的硬盘数量总是偶数。一半硬盘进行用户数据写入,另一半保存用户数据的镜像

副本。镜像基于分条执行。

物理硬盘1和2构成一个RAID 1,物理硬盘3和物理硬盘4形成另一个RAID 1。这2个RAID 1子组再形成RAID 0。

RAID 10组写入数据时,子组间采用并行的方式写入数据块,子组内数据采用镜像的方式写入。如图所示,D0将写入物理硬盘1,副本将被写入物理硬盘2。

当硬盘在不同的RAID 1组故障(例如硬盘2和4),RAID 10组的数据访问不受影响。这是因为其他2个硬盘(3和1)上有故障盘2和4上数据的完整副本。但是,如果同一RAID 1子组的硬盘(例如,硬盘1和2)在同一时间失败,数据将不能访问。

从理论上讲,RAID 10可以忍受总数一半的物理硬盘失效,然而,从最坏的情况来看,在同一个子组的两个硬盘故障时,RAID 10也可能出现数据丢失。通常RAID 10用来保护单一的硬盘失效。

RAID50

RAID 50是RAID 0和RAID 5的组合。两个子组被配置成RAID 5,这两个子组再形成RAID 0。每个RAID 5子组完全独立于对方。RAID 50需要至少六个硬盘,因为一个RAID 5组最少需要三个硬盘。

所图所示,物理硬盘1,2,和3形成一个RAID 5,物理硬盘4,5,和6形成另一组RAID 5组。两个RAID 5子组间再构成一个RAID 0。

在RAID 50中,RAID可以同时接受多个硬盘的并发故障。然而,一旦两块硬盘在同一RAID5组同时失败,RAID 50的数据将丢失。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值