硬盘阵列RAID技术学习

Last Updated: 2023-05-12 01:05:04 Friday

-- TOC --

RAID,即磁盘阵列,Redundant Arrays of Inexpensive Disks的缩写。这是一种已经在服务器上广泛使用的磁盘阵列技术。

磁盘阵列是由很多便宜、容量较小、稳定性较高、速度较慢磁盘,组合成一个大型的磁盘阵列组,利用多个磁盘同时提供数据所产生叠加效果提升整个磁盘系统效能。利用这项技术,能够将数据切割成许多区段,分别存放在不同的硬盘上,增加冗余,提升安全。磁盘阵列还能利用校验的观念,在数组中任一颗硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

RAID技术最早在1987年由美国柏克莱大学提出,作为高性能的存储系统,巳经得到了越来越广泛的应用。伯克利大学当时研究RAID的目的是想充分利用当时CPU的越来越高的性能(摩尔定律)。CPU效能每年大约成长30~50%,而硬盘只能成长约7%。研究小组希望能找出一种新的技术,在短期内,立即提升硬盘的效能来平衡计算机的运算能力。

RAID的级别从RAID概念的提出到现在,巳经发展出了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的安全性和稳定性。

下面来看看不同等级的RAID对应的技术区别:

NRAID:No RAID

硬盘连续使用。

NRAID意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID不提供资料的备余。

RAID0:Disk Stripping without Parity

又称数据分块,即把数据分成若干相等大小的小块,并把它们写到阵列上不同的硬盘上,这种技术又称Stripping(即将数据条带化),这种把数据分布在多个盘上,在读写时以并行的方式对各硬盘同时进行操作。从理论上讲,其容量和数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。当然,若阵列控制器有多个硬盘通道时,对多个通道上的硬盘进行RAID0操作,I/O性能会更高。因此常用于图象,视频等领域,RAID0 I/O传输率较高,但平均无故障时间MTTF(Mean Time To Failures)只有单盘的N分之一,因此RAID0可靠性最差。(N块硬盘中任一块出问题,整体就会有问题,因此可靠性最差,比单块硬盘的可靠性还差)

raid0.png

RAID1:Disk Mirroring

又称镜像。

即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠性很高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场合,如财政、金融等领域。

raid1.jpg

RAID(0+1)

同时执行RAID0和RAID1的阵列。

raid01.jpg

也有人说这是RAID10,就是1和0结合。

RAID2

又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,运用于大数据的读写,但冗余信息开销太大(校验盘为多个),已被淘汰。

RAID3:Parallel Disk Array

单盘容错并行传输。

即采用Stripping技术将数据分块,对这些块进行异或(XOR)校验,校验数据写到最后一个硬盘上。它的特点是有一个盘为校验盘,数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发生故障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对剩余数据盘和校验盘的异或计算重构故障盘上应有的数据来进行的。

RAID4

与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,无须像RAID3那样,哪怕每一次小I/O操作也要涉及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而提高了小量数据I/O速度。缺点:对于随机分散的小数据量I/O,固定的校验盘又成为I/O瓶颈,例如:事务处理。作两个很小的写操作,一个写在drive2的stripe1 上,一个写在drive3的stripe2上,它们都要往校验盘上写,所以发生争用校验盘的问题。

RAID5: Stripping with floating parity drive(最常用)

是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校验信息均匀地分布在阵列所属的硬盘上,所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,使得在同一组内并发进行多个写操作。所以RAID5即适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。

raid5.jpg

Clear RAID

clear-raid.jpg

Clear RAID就是普通硬盘盒模式,RAID中的每个硬盘都能独立看到并使用。

Combine RAID

Combine-raid.jpg

Combine RAID模式就是将多个硬盘当成一个更大的硬盘来用。

本文链接:https://cs.pynote.net/hd/hdisk/202204131/

-- EOF --

-- MORE --