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 | 数据镜像化 | 2 | 50% | 读写速度一般,容错 (比如两块盘分别大小为1T,两块盘都做raid1,读写速度肯定没有raid0读写快,使用率也没有raid0好,优点就是可以容错,相当于一块盘坏掉了还可以把原来的数据恢复回来,但是只有1T的存储空间。) |
RAID5 | 带奇偶校验的条带集 | 3+ | (n-1)/n | 读写速度快,容错,允许坏一块盘 |
RAID6 | 带奇偶校验的条带集,双校验 | 4+ | (n-2)/n | 读写快,容错,允许坏两块盘 |
RAID10 | RAID1的安全+RAID0的高速 | 4 | 50% | 读写速度快,容错 |
RAID50 | RAID5的安全+RAID0的高速 | 6 | (n-2)/n | 读写速度快,容错 |
RAID60 | RAID5的安全+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结果
0 0 0
1 0 1
0 1 1
1 1 0
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
首先4块做raid0 后4块做raid1,用户写入数据到服务器上,首先经过4块raid0,A数据写到raid0的第一块硬盘上,B数据写到raid0的第二块硬盘上,C数据写到raid0的第三块硬盘上,D数据写到raid0的第四块硬盘上以此类推
然后将这4块raid0硬盘和4块raid1做镜像(同步)如果其中一块raid0硬盘坏掉同时做同步的raid1并顶替上即可。
RAID的选择
RAID硬盘失效处理
一般两种处理方法:热备和热插拔
热备:HotSpare
定义:当冗余的RAID组中某个硬盘失效时,在不干扰当前RAID系统的正常使用的情况下,用RAID系统中另外一个正常的备用硬盘自动顶替失效硬盘,及时保证RAID系统的冗余性
全局式:备用硬盘为系统中所有的冗余RAID组共享
专用式:备用硬盘为系统中某一组冗余RAID组专用
如下图所示:是一个全局热备的示例,该热备盘由系统中两个RAID组共享,可自动顶替任何一个RAID中的一个失效硬盘
热插拔:HotSwap
定义:在不影响系统正常运转的情况下,用正常的物理硬盘替换RAID系统中失效硬盘
关键在于热插拔时电子器件的保护机制
RAID的使用
RAID的实现方式
我们使用RAID,是在装系统前还是之后?
硬RAID:需要RAID卡,我们的磁盘是接在RAID卡的,由它统一管理和控制。数据也由它来进行分配和维护;它有自己的cpu,处理速度快
操作视频链接:链接:http://pan.baidu.com/s/1kVPyror 密码:bd82
软RAID:通过操作系统实现
管理软raid工具:mdadm,mdadm是linux下用于创建和管理软件RAID的命令,是一个模式化命令。