Linux之磁盘RAID

 

RAID:

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意.

目的:为了提高磁盘IO能力,提高冗余和耐用性。

磁盘阵列其样式有三种,一是外接式磁盘阵列柜、二是内接式磁盘阵列卡,三是利用软件来仿真。

外接式磁盘阵列柜最常被使用大型服务器上,具可热交换(Hot Swap)的特性,不过这类产品的价格都很贵。

内接式磁盘阵列卡,因为价格便宜,但需要较高的安装技术,适合技术人员使用操作。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能***能、数据保护、可靠性、可用性和可管理性的解决方案。阵列卡专用的处理单元来进行操作。

利用软件仿真的方式,是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降低幅度还比较大,达30%左右。因此会拖累机器的速度,不适合大数据流量的服务器

几种常见的RAID级别:

 

1、RAID 0

RAID 0是最早出现的RAID模式,即Data Stripping数据分条技术。RAID 0是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提高整个磁盘的性能和吞吐量。RAID 0没有提供冗余或错误修复能力,但实现成本是最低的。

RAID0是以条带的形式将数据均匀分布在阵列的各个磁盘上

RAID条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法。简单的说,条带是一种将多个磁盘驱动器合并为一个卷的方法。 许多情况下,这是通过硬件控制器来完成的。

所需成员磁盘数

2个或更多,最低为2个

优点

极高的磁盘读写效率

不存在校验,不会占用太多CPU资源

设计、使用和配置比较简单

缺点

无冗余,不能用于对数据安全性要求高的环境

适用领域

视频生成和编辑、图像编辑

其他需要大的传输带宽的操作

 

 

 

2、RAID 1

RAID 1称为磁盘镜像,原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行,当一块硬盘失效时,系统会忽略该硬盘,转而使用剩余的镜像盘读写数据,具备很好的磁盘冗余能力。虽然这样对数据来讲绝对安全,但是成本也会明显增加,磁盘利用率为50%,以四块80GB容量的硬盘来讲,可利用的磁盘空间仅为160GB。另外,出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。因此,RAID 1多用在保存关键性的重要数据的场合。

RAID 1主要是通过二次读写实现磁盘镜像,所以磁盘控制器的负载也相当大,尤其是在需要频繁写入数据的环境中。为了避免出现性能瓶颈,使用多个磁盘控制器就显得很有必要。

 

所需成员磁盘数

2N个,(N≥1),最低为2个

优点

具有100%数据冗余,提供最高的数据安全保障

理论上可以实现2倍的读取效率

设计和使用比较简单

缺点

开销大,空间利用率只有50%

在写性能方面提升不大

适用领域

财务、金融等高可用、高安全的数据存储环境

 

Linux之磁盘RAID_第1张图片

3、RAID3:带奇偶校验码的并行传送

在RAID3中,数据块被分为更小的块并行传输到各个成员磁盘上,同时计算XOR校验数据存放到专用的校验磁盘上
  这种校验码只能查错不能纠错。它访问数据时一次处理一个带区,这样可以提高读取和写入速度。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。用软件实现RAID控制将是十分困难的,控制器的实现也不是很容易。它主要用于图形(包括动画)等要求吞吐率比较高的场合。RAID 3使用单块磁盘存放奇偶校验信息。如果一块磁盘失效,奇偶盘及其他数据盘可以重新产生数据。 如果奇偶盘失效,则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据,奇偶盘会成为写操作的瓶颈。

所需成员磁盘数

3个或更多,最低为3个

优点

读写性能都比较好

当有磁盘损坏时,对整体吞吐量影响较小

减少了开销

缺点

控制器设计复杂

采用并行存取方式,主轴同步时吞吐量没有提高

校验磁盘的写性能有瓶颈

适用领域

视频生成和图像、视频编辑等

需要高吞吐量的应用环境

Linux之磁盘RAID_第2张图片

4、RAID 5:RAID5采用独立存取的阵列方式,校验信息被均匀的分散到阵列的各个磁盘上

RAID 5不单独指定奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。

所需成员磁盘数

3个或更多,最低为3个

优点

读性能比较高

中等的写性能

校验信息的分布式存取,避免出现写操作的瓶颈

缺点

控制器设计复杂

磁盘重建的过程比较复杂

适用领域

文件服务器、Email服务器、Web服务器等环境

数据库应用

 

 

 

组合RAID:

组合不同级别RAID的目的

从RAID0到RAID6,不同级别的RAID在性能、冗余、价格等方面做了不同程度的折中

组合不同级别的RAID,目的是扬长避短,产生具有优势特性的混合RAID级别

常见:

RAID0+1

RAID1+0

Raid5+0

 

 

5、RAID10的工作原理

RAID10结合RAID1和RAID0,先镜像,再条带化

Linux之磁盘RAID_第3张图片

所需成员磁盘数

2N个,(N≥2),最低为4个

优点

读性能很高

写性能比较好

数据安全性好,允许同时有N个磁盘失效

缺点

空间利用率只有50%

开销大

适用领域

多用于要求高可用性和高安全性的数据库应用

 

6、RAID01

结合RAID1和RAID0,先条带,再镜像

所需成员磁盘数

2N个,(N≥2),最低为4个

优点

读性能很高

写性能比较好

数据安全性好,允许同时有N个磁盘失效

缺点

空间利用率只有50%

开销大

适用领域

多用于要求高可用性和高安全性的数据库应用

 

 

7、RAID 50 先实现RAID5,再条带化

Linux之磁盘RAID_第4张图片

 

所需成员磁盘数

6个或更多,最低为6个

优点

比RAID5有更好的读性能

比相同容量的RAID5重建时间更短

可以容许N个磁盘同时失效

缺点

设计复杂,比较难实现

同一个RAID5组内的两个磁盘失效会导致整个阵列的失效

适用领域

大型数据库服务器、应用服务器、文件服务器等应用

 

 

常用RAID级别的比较

RAID级别

RAID0

RAID1

RAID3

RAID5

RAID10

别名

条带

镜像

专用奇偶位条带

分布奇偶位条带

镜像阵列条带

容错性

冗余类型

镜像

奇偶校验

奇偶校验

镜像

备盘

读性能

中间

随机写性能

最低

中间

连续写性能

中间

需要的磁盘数

2个或更多

2个或2N个

3个或更多

3个或更多

4个或2N(N≥2)

可用容量

总的磁盘容量

磁盘容量的50%

磁盘容量的(N-1)/N

磁盘容量的(N-1)/N

磁盘容量的50%

 

 

你可能感兴趣的:(linux,raid,磁盘)