1 什么是RAID
独立磁盘冗余数组(RAID, Redundant Array of Independent Di);也称其为廉价磁盘冗余数组(Redundant Array of Inexpensive Disks),简称为硬盘阵列。通俗的说RAID就是把硬盘组合在一起,组成一个磁盘阵列;实现对数据的可靠性、读写快速性、冗余性廉价性的存储。
2 RAID技术类别介绍
RAID有级别(level)表示但是级别不是代表性能的先进,只是表述了磁盘组织方式不同,没有上下之分。
2.1 条带化技术
RAID刚刚出现时最重要的技术是条带技术即条带化(用“0”表示)。条带技术实现了把数据分散存储在多个盘上并且加快了存储速度;缺点是不能保证数据本身的安全性
2.2 镜像技术
磁盘镜像技术(用“1’表示),数据条带化以后对数据进行双重存储;极大的提高了数据本身的安全性;缺点是极大的浪费存储空间
 2.3 校验码技术
利用校验码实现对对数据的完全备份或者是分磁盘的备份,也就是RAID4与RAID5等常用的技术;缺点是:数据的修复具有危险性,校验磁盘很大程度的造成了数据的存储速度。
3 常见RAID技术介绍

3.1 RAID0


(1)优点:对数据的读写性能都有了很大的提升
(2)不足之处:不提供冗余能力
 (3)所需磁盘数:至少两块

3.2 RAID1

 

(1)优点:对数据的读取性能提升;具有冗余能力,当磁盘中的一块坏掉后,不会损失任何数据
(2)缺点:对数据的写入的性能下降,空间的利用率低,仅有1/2
(3)所需磁盘数:至少两块
 
3.3 RAID4

 

(1)优点:采用校验技术;有一个特定的磁盘作为数据的完全存储,其他的磁盘采用条带技术,进行对数据的读写性能都有提高并且磁盘利用率高,磁盘损坏一个或者是校验盘损坏也不会造成数据的流失,可以重新计算为(n-1)/n(n代表磁盘个数)
(2)缺点:校验码盘访问量大的性能很大程度的牵制着整个磁盘阵列的性能校验码盘很有可能会成为性能的瓶颈,并且修复损坏磁盘的数据的需要遍历整个阵列,修复慢,性能损失大
(3)所需磁盘数:至少三个磁盘

3.4 RAID5

 

(1)优点:采用校验技术;与RAID不同的是每个磁盘都是校验盘,轮替的当做校验盘的功能,降低了对单个磁盘的巨大的访问量,使其读写性能在RAID4 的基础上又了提高;与RAID4相同磁盘的损坏个数只能有一个,校验盘损坏也不会造成数据的流失,都可以重新计算

(2)缺点: 修复损坏磁盘的数据的需要遍历整个阵列,修复慢,性能损失大,相对RAID4有很大的改善

(3)需要磁盘数:至少三块  
 
 3.5 RAID01

(1)优点:对数据的读写都有提升,并且对数据具有冗余能力,同组的盘损坏也不会影响数据的损坏

(2)缺点:损坏一个盘时,全部的盘都会被牵制,因为两个镜像的条带的方式可能不同对应的盘数据即不相同,需要变量整个镜像盘才能修复坏掉的盘;空间利用率低仅有1/2
(3)需要磁盘数:至少四块
 
 3.6 RAID10

(1)优点:对数据的读写性能都有很大的提升,并且对数据有冗余能力每一个组的任何一个磁盘损坏不会影响数据的损失,并且更换磁盘修复时,不用遍历整个磁盘 
(2)缺点:空间利用率低仅有1/2,同组的磁盘同时损坏时就会造成整个磁盘阵列的数据崩溃
(3)所需磁盘数:至少四个
 
3.7 RAID50

(1)优点:对数据的读写性能都有很大的提高,具有冗余能力;空间利用率大,利用率为:(n-2)/n

(2)缺点:磁盘的个数需要较多
(3)需要磁盘数:至少6块
 
3.8 JBOD

(1) 优点:可以实现让多个小盘叠加起来,对应应用程序这些叠加起来的盘就是一个盘,数据存在这些盘上时仍然一个相同的文件,它的存在就仅增单个磁盘容量;JBOD主要应用在大数据处理中如:Hadoop
(2)缺点:读写速度都不会有提升,并且对数据的安全性没有保障,当其中的一个磁盘损坏掉,数据就会丢失
(3)需要磁盘数:至少两个
 
4  软件RAID介绍:使用软件创建软RAID需要内核提供md这个模块;可以使用mdadm命令管理RAID 4.1 mdadm模式介绍
mdamd命令是个模式化的命令;它可以将任何块设备做成RAID;配置文件是:dev/md#(#是数字,是标示RAID设备,不是RAID级别)
(1)创建模式:
 -C:创建选项
 -x #:指定空闲盘个数
专用选项:
-l:指定级别
-n:设备个数
-a:(后yes或NO:如果没有时自动为其创建设备文件)
-c:指定CHUNK大小即数据块大小(2^n大小,默认是64)
(2)管理模式
用到--add, --fail ,--remove时默认是工作在管理模式下
模拟磁盘损坏:-f --fail --set-faulty(模拟损坏)
(3)监控模式:-F
(4)增长模式: —G
(5)装配模式: -A
4.2 查看RAID阵列的详细信息命令
mdadm –D /dev/md#显示RAID设备的大小
mdadm –detail /dev/md#也可以查看RAID设备的大小
4.3停止阵列命令
mdadm -S /dev/md# 停用md#阵列
mdadm -S /dev/md# 停用md#阵列
rm /dev/md1       删除阵列
5 创建软RAID步骤:
5.11 创建一个两G的RAID0(由于设备限制,这里用同一磁盘上的两个分区来模拟实现)
 规划:可以用4个512M的分区或者用两个1G的
(1)这里我们用两个1G的分区来完成,首先自己先创建好两个分区然后调整分区类型为fd:如图1所示  

                     图1 调整分区5、6类型为fd类型

(2) 让内核重读分区 如图2所示

                     图2  查看结果图

(3)创建md0 如图3所示  

                     图3 创建md0图

(4)查看当前系统启用的RAID设备 如图4所示   

                      图4 查看启用的RAID设备

(5)格式化md0 如图5所示

                          图5 格式化md0

(6)用命令fdisk –l命令查看是否有md0设备 如图6所示

                          图6  查看md0  

(7)挂载md0设备 如图7所示

                    图7 显示挂载成功         

5.12创建一个2G的RAID5
规划:使用3个1G的分区创建一个2G的RAID5
(1)创建好三个分区然后调整分区类型为fd(这里我已创建好了,是sda8,sda9,sda10,)我们直接进入安装
(2)让内核重读分区创建一个RAID5 如图8所示

                 图8 创建RAID5指定分区为sda10,sda9,sda8

(3)格式化md3 如图9所示

                         图9 格式化md3
(4)查看系统启用的RAID设备 如图10所示

                         图10 查看启用的RAID设备

(4)挂载md3 如图11所示

                       图11 挂载md3 到/media

(5)复制一个文件到 /media 进行验证如图12所示

                       图12 验证数据
(6)模拟损坏sda9 如图13所示

                       图 13 模拟损坏
(7)查看/dev/md3信息 如图14所示

                           图14 sda9已被 模拟移除
(8)验证/media下的文件是否丢失 如图15所示

                        图15 数据完整

RAID的介绍就到这里,希望能给予大家一些帮助,RAID的理解图示全是作者自己理解所得,若有理解不到之处,敬请谅解后面还会继续跟出更多知识,望关注!