目录
一、RAID
什么是RAID
RAID(磁盘阵列)是一种通过将多个硬盘驱动器结合在一起,形成一个逻辑硬盘,从而提供比单个硬盘更高的存储性能和提供数据备份技术(读和写)
组成磁盘阵列的不同方式称为RAID Level,阵列卡是用来实现RAID的板卡,缓存(Cache)是RAID卡与外部总线交换数据的场所
RAID的优点:
① 节约成本,称为廉价的磁盘冗余阵列
② 提高IO(读写)能力,磁盘并行读写
③ 提高耐用性,冗余算法来实现
④ 提供高可用作用
RAID等级
① RAID 0 (一般不会单独使用)
条带化存储:用于需要高吞吐量和低延迟的应用程序(例如视频流,大规模数据处理)是一种将数据分散在多个物理磁盘上的存储方式(其中一个物理设备损坏,影响整个所有的数据卷,没有容错性)读写性能高,分散轮流读写
特点:读写性能高,没有数据备份功能,最少要用两个磁盘(偶数数量的磁盘),恢复数据困难
② RAID 1 (镜像存储)
实现数据冗余,在成对的独立磁盘产生互为备份的数据(所有数据相同)当一个磁盘故障时,另一个可以继续读取使用
特点:互为备份(镜像存储)两块硬盘同时写入相同数据,写性能差一点,读的性能一般,高可用(坏掉了一块磁盘不影响正常使用),硬盘数量也需要偶数数量的硬盘
③ RAID 5 (有数据校验功能,检测数据是否完整)
N(N>=3)块硬盘组成阵列,一份数据产生N - 1个条带,还有一份校验数据,供N份数据在N块硬盘上循环均衡存储(N-1/N的使用率)
特点:硬盘数量最少为三块硬盘,读性能强,写性能较为一般,允许损坏最多一块硬盘(不影响正常数据业务),拥有数据校验机制
④ RAID 6 (奇偶校验)一种简单的错误检测和纠正技术(在数据中添加一位校验位)
独立的奇偶系统可以支撑最多同时损坏两块硬盘,且不影响业务数据
特点:硬盘数量要大于等于四块,最少四块硬盘,奇偶校验(校验位),读性能和RAID 5相当,写性能要比RAID 5差一点,可以最多损坏两块硬盘
⑤ RAID 1+0 (先做镜像,再做条带化存储)先相互备份,再进行分散存储
最少需要四块硬盘(偶数的硬盘数量)两两进行相互备份(镜像)再组成RAID 0进行分散存储,磁盘的总使用率大概N/2,这里N代表磁盘的数量
特点:最少使用四块硬盘(硬盘数量是偶数),只有一半的利用率,读性能高,写性能较差,理论上而言可以最多损坏三块硬盘,但在实际工作生产中只能允许两个相互备份的基组中各坏一块硬盘
硬盘数量 | 磁盘利用率 | 读性能 | 写性能 | 高可用性 | |
RAID 0 | N | N(100%) | 高 | 高 | 无 |
RAID 1 | N(偶数) | N/2(50%) | 低 | 低 | 中等 |
RAID 5 | N>=3 | (N-1)/N | 高 | 低 | 高 |
RAID 6 | N>=4 | (N-2)/N | 高 | 低 | 很高 |
RAID 10 | N>=4(偶数) | N/2(50%) | 高 | 中等 | 中等 |
总特点:
RAID 0(追求最大容量和读写熟读,坏一块硬盘会导致全部数据异常)
RAID 1(追求安全,只坏一块硬盘不影响使用,数据也不受影响)
RAID 5(成本控制的前提下,追求最大的容量,速度以及高可用性,可以坏一块硬盘,不会影响正常的数据业务)
RAID 6(比RAID 5的数据安全更高,但写性能速度比较低,可以坏掉两块硬盘,不会影响正常的数据业务)
RAID 10(综合RAID 0和RAID 1的优点,既有速度也有高可用,每个基组可以坏掉一个硬盘,不会影响正常业务数据)
二、热备份
什么是热备盘
热备盘(相当于RAID阵列的备份)
当RAID阵列坏掉的盘超出当前RAID Level的最大限制时,再加了热备份盘之后,会临时顶替掉损坏的磁盘,继续维持原来的数据正常运转,相当于磁盘的最后一层保险
三、创建RAID
正常创建RAID阵列
用RAID 6作为举例创建一下
首先创建足够的硬盘设备,要了解RAID 6最少需要多少个硬盘进行创建
进入到Centos 7当中检查一下磁盘是否添加成功,如果没有刷新一下设备即可显示出来
命令:lsblk
检查当前环境是否安装了 “ mdadm ” 组件
命令:rpm -q mdadm
接下来进行分盘,全部分为主分区即可
命令:fdisk [设备全路径]
创建RAID 6阵列
命令:mdadm -Cv /dev/md6 -l6 -n4 /dev/sd[b-f]1 -x1 /dev/sdf1
接下来用mdadm -D来检查一下
命令:mdadm -D /dev/md6
三、如何用LVM逻辑卷创建RAID阵列
前面和正常步骤一样,先进行分区
命令:fdisk
进行物理卷的创建,这里我用通配符进行统一创建
命令:pvcreate /dev/sd[b-e]1 /dev/sd[b-e]2
接下来进行卷组的创建,统一进行通配符创建
命令:vgcreate 123 /dev/sd[b-e]1 /dev/sd[b-e]2
创建逻辑卷进行分区,这里不可以进行通配符统一创建
命令:lvcreate -L 5G -n 1 123
以防故障发生,我们需要确认一下是否逻辑卷分区成功
命令:lsblk
确认好物理卷,卷组,逻辑卷都没有问题的情况下,进行RAID 5的创建(这里用RAID 5举例)
命令:mdadm -Cv /dev/md5 -l5 -n4 /dev/123/[1-3] -x1 /dev/123/4
查看RAID是否创建成功
命令:mdadm -D /dev/md5
接下来进行完整的创建,创建文件系统
命令:mkfs.xfs /dev/md5
然后创建一个新的目录进行挂载
命令:mkdir /data
命令:mount /dev/md5 /data
查看挂载是否成功
命令:df -h
到这里我们的LVM逻辑卷创建RAID已经成功了,接下来做一个故障模拟,如果故障是否会使RAID阵列中的设备失效
命令:mdadm /dev/md5 -f /dev/123/1 (强制下线一个设备)
我们在查询一下RAID的热备盘是否正常顶替上来
命令:mdadm -D /dev/md5