RAID磁盘阵列的原理

RAID磁盘阵列的原理


RAID概念

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。

RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡);在企业中用的最多的是:raid1、raid10和raid5。不过随着云的高速发展,供应商一般可以把硬件问题解决掉。


RAID几种常见的类型



注释:

n:是磁盘个数   默认最好不要超过16个 硬盘大小最好都一样

RAID类型说 明 最低磁盘个数空间利用率各自的优缺点
RAID0数据条带化2+100%读写速度快,不容错(比如两块盘分别大小为1T,两块盘都做raid0,读写速度是最快的,而且可以使用100%的磁盘空间,但是如果一块盘坏掉了数据是无法还原回来的。)
RAID1数据镜像化250%读写速度一般,容错   (比如两块盘分别大小为1T,两块盘都做raid1,读写速度肯定没有raid0读写快,使用率也没有raid0好,优点就是可以容错,相当于一块盘坏掉了还可以把原来的数据恢复回来,但是只有1T的存储空间。)
RAID5带奇偶校验的条带集3+(n-1)/n读写速度快,容错,允许坏一块盘
RAID6带奇偶校验的条带集,双校验4+(n-2)/n读写快,容错,允许坏两块盘
RAID10RAID1的安全+RAID0的高速4 50%读写速度快,容错
RAID50RAID5的安全+RAID0的高速6(n-2)/n读写速度快,容错
RAID60RAID5的安全+RAID0的高速8(n-4)/n读写速度快,容错


 RAID出现的原因

 

RAID基本思想:把好几块便宜的硬盘通过一定组合方式把它组合起来,成为一个新的硬盘阵列组,从而使它能够达到高性能硬盘的要求


RAID有三个关键技术:

镜像:提供了数据的安全性;

条带(块大小也可以说是条带的粒度),它的存在的就是为了提高I/O,提供了数据并发性

数据的校验:提供了数据的安全



容量   ————————》  性能  --------》 可靠性 ——————————》     RAID




企业级RAID 0, 1,5,10的工作原理




2.1 RAID-0

 

条带 (strping),也是我们最早出现的RAID模式

需磁盘数量:2块以上(大小最好相同)

是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可.


特点:

成本低,可以提高整个磁盘的性能和吞吐量。

RAID 0没有提供冗余或错误修复能力,速度快.

任何一个磁盘的损坏将损坏全部数据;磁盘利用率为100%。



RAID0工作原理



注释:

A:代表20G文件    B:代表20G文件C:代表20G文件     D:代表20G文件


写入数据:



用户导入服务器100G大小的文件等,将50G数据写入到第一块硬盘上面,同时在把另外50G的数据写到另一块硬盘上,这100G文件又分成A,B,C,D  将A 写入第一块硬盘上,将B写到第二块硬盘上,将C写到第一块硬盘上,将D写到第二块硬盘上,这个就是数据的条带,并行传输到硬盘上


读取数据:

将上传上去的100G文件复制到别的服务器上,读取的时候也是先从第一块读取数据A,然后再从第二块硬盘上读取B,然后再从第一块硬盘读取C数据,然后再从第二块硬盘读取数据D,但是如果有一块硬盘有损坏会导致数据不全。




RAID-1

mirroring(镜像卷)

需要磁盘两块以上

原理:是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件,(同步)

RAID 1 mirroring(镜像卷),至少需要两块硬盘,raid大小等于两个raid分区中最小的容量(最好将分区大小分为一样),数据有冗余,在存储时同时写入两块硬盘,实现了数据备份;

磁盘利用率为50%,即2块100G的磁盘构成RAID1只能提供100G的可用空间。如下图




RAID1工作原理:


注释:


A:代表50G文件  B:代表50G文件 


写入数据:

用户导入服务器100G大小的文件等,将A,B写到第一块硬盘,同时将A,B写到另一块硬盘上,进行镜像操作(备份)


读取数据:

将上传上去的100G文件复制到别的服务器上,直接读取一块盘的数据即可,而且如果有一块盘坏掉的话另一块数据还是可以进行正常读写等。




RAID-5


需要三块或以上硬盘,可以提供热备盘实现故障的恢复;只损坏一块,没有问题。但如果同时损坏两块磁盘,则数据将都会损坏。 空间利用率: (n-1)/n   2/3  如下图所示



RAID 5原理 


写入数据:


100G文件分别写入3块硬盘,写入第一块硬盘时,会有一个校验值,然后将A数据写入第二块硬盘,将B数据写入第三块硬盘,将C数据写入第一块硬盘,第二块硬盘生成校验值,将数据D写入第三块硬盘以此类推。

校验值的作用可以推算出第三块盘的数据,不论哪一块盘,但是如果坏掉两块盘那就恢复不了了。



奇偶校验信息的作用:

当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

扩展异或运算:


是用相对简单的异或逻辑运算(相同为0,相异为1)


A值B值Xor结果

000

101

011

110


 RAID10

镜像+条带

RAID 10是将镜像和条带进行两级组合的RAID级别,第一级是RAID1镜像对,第二级为RAID 0。RAID10也是一种应用比较广泛的RAID级别。 

RAID 1+0的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。



一共8块硬盘做RAID 10


是从下往上看的,最后面试raid1,上面是raid0所以就是raid10 


不同的数据分别用字母代替:A,B,C,D,E,F,G,H


wKioL1lZBU3AhQJFAAQDOvcwFkQ845.png






首先4块做raid0  后4块做raid1,用户写入数据到服务器上,首先经过4块raid0,A数据写到raid0的第一块硬盘上,B数据写到raid0的第二块硬盘上,C数据写到raid0的第三块硬盘上,D数据写到raid0的第四块硬盘上以此类推

然后将这4块raid0硬盘和4块raid1做镜像(同步)如果其中一块raid0硬盘坏掉同时做同步的raid1并顶替上即可。

RAID的选择

wKioL1lZBU3z6430AACh5N6B7pI974.png

 RAID硬盘失效处理

一般两种处理方法:热备和热插拔

热备:HotSpare

定义:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性

全局式:备用硬盘为系统中所有的冗余RAID组共享

专用式:备用硬盘为系统中某一组冗余RAID组专用

如下图所示:是一个全局热备的示例,该热备盘由系统中两个RAID组共享,可自动顶替任何一个RAID中的一个失效硬盘

 

wKiom1lZBU7zkicwAAC34bVs-lI889.png

热插拔:HotSwap

定义:在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘

关键在于热插拔时电子器件的保护机制

RAID的使用

RAID的实现方式

我们使用RAID,是在装系统前还是之后?

硬RAID:需要RAID卡,我们的磁盘是接在RAID卡的,由它统一管理和控制。数据也由它来进行分配和维护;它有自己的cpu,处理速度快

wKioL1lZBU6xDXQWAABEPEuT1tM687.jpg

操作视频链接:链接:http://pan.baidu.com/s/1kVPyror 密码:bd82

软RAID:通过操作系统实现

管理软raid工具:mdadm,mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章