磁盘阵列(Redundant Arrays of Independent Drives,RAID)
简介
磁盘阵列:“独立磁盘构成的具有冗余能力的阵列”
磁盘阵列是把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(LVM逻辑卷),从而提供比单个硬盘更高的存储性能和提供数据备份技术。 磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。
功能
RAID技术主要有以下三个基本功能:
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。
原理
磁盘阵列作为独立系统在主机外直连或通过网络与主机相连。磁盘阵列有多个端口可以被不同主机或不同端口连接。一个主机连接阵列的不同端口可提升传输速度。
和当时PC用单磁盘内部集成缓存一样,在磁盘阵列内部为加快与主机交互速度,都带有一定量的缓冲存储器。主机与磁盘阵列的缓存交互,缓存与具体的磁盘交互数据。
在应用中,有部分常用的数据是需要经常读取的,磁盘阵列根据内部的算法,查找出这些经常读取的数据,存储在缓存中,加快主机读取这些数据的速度,而对于其他缓存中没有的数据,主机要读取,则由阵列从磁盘上直接读取传输给主机。对于主机写入的数据,只写在缓存中,主机可以立即完成写操作。然后由缓存再慢慢写入磁盘。
RAID各个级别数据读写冗余的过程(给大家一个小应用,可以通过动画详细了解一下具体过程)
链接:https://pan.baidu.com/s/1apyAVWcxmg6zExEC7dqEjw
提取码:bdet
RAID级别
1.跨区卷(LVM逻辑卷)
特点:扩展性
缺点:无数据冗余,不可靠
组成条件:可以不同大小的磁盘追加而成
容量:多块磁盘容量的总和
创建方法:(详见上篇文章“LVM逻辑卷管理”)
2.RAID 0(带区卷,条带卷,条带分区)
特点:高读写
缺点:无数据冗余,不可靠
组成条件:大小相同的磁盘组成
容量:多块磁盘容量的总和
创建方法:
(1).将新放入的磁盘创建分区,T类型代码fd(raid)
(2).输入指令fdisk -l 查看并确定分区及类型创建成功
(3).输入命令 mdadm -C -v /dev/md0 -l0 -n2 /dev/sd{b..c}1
-C :创建
-v:详细过程
-l:级别(我们创建的时RAID0卷,级别是0)
-n:使用的磁盘数量(我们这里用了2块)
/dev/md0 :创建的RAID0卷名字和位置
/dev/sd{b..c}:创建RAID0卷使用的磁盘
(4).使用命令mdadm -D /dev/md0查看磁盘阵列的详细信息
或者 cat /proc/mdstat 查看
(5).使用命令mkfs.xfs /dev/md0 进行格式化
(6).创建挂载点,并进行挂载(一般选用自动挂载)
RAID0卷建立完成
3.RAID1(镜像卷)
特点:高可靠,数据冗余
缺点:无扩展性
组成条件:大小相同的磁盘组成(最好是偶数)
容量:多块磁盘容量的总和的一半
创建方法:
(1)将新放入的磁盘创建分区,T类型代码fd(raid)
(2)输入命令 mdadm -C -v /dev/md1 -l1 -n2 /dev/sd{d..e} 1 -x1 /dev/sdf1
-x: 备用磁盘 (这里使用备用数量为1,也可以是多块备用)
/dev/sdf1: 所使用的备用磁盘设备
(3)使用命令mdadm -D /dev/md1查看磁盘阵列的详细信息
或者 cat /proc/mdstat 查看
(4)使用命令mkfs.xfs /dev/md0 进行格式化
(5).创建挂载点,并进行挂载
RAID1卷创建完成了
当RAID1中有一块磁盘损坏了,备用磁盘会顶替损坏的磁盘,并将实现数据冗余
我们来验证一下
(1).在/opt/md1下面创建文件
(2).输入命令 mdadm -f /dev/md1 /dev/sdd1 将RAID1卷中的sdd1设备卸载
(3).使用命令mdadm -D /dev/md1查看磁盘阵列详细信息
(4).再查看文件是否丢失
数据依然完好
4.RAID5
特点:高读写
缺点:无数据冗余,不可靠
组成条件:大小相同的磁盘组成
容量:多块磁盘容量的总和
创建方法:
(1)将新放入的磁盘创建分区,T类型代码fd(raid)
(2)输入命令 mdadm -C -v /dev/md5 -l5 -n3 /dev/sd{b..d} -x1 /dev/sde1
(3)使用命令mdadm -D /dev/md5查看磁盘阵列的详细信息
或者 cat /proc/mdstat 查看
(4)使用命令mkfs.xfs /dev/md5 进行格式化
(5).创建挂载点,并进行挂载
这样RAID5就建立完成了
5.RAID6
特点:高读取,写一般,数据冗余,高可靠
缺点:最多只能损坏两块磁盘
组成条件:至少4块大小相同的磁盘组成
容量:n-2磁盘容量的总和
创建方法:
(1)将新放入的磁盘创建分区,T类型代码fd(raid)
(2)输入命令 mdadm -C -v /dev/md1 -l6 -n4 /dev/sd{b..e}1 -x1 /dev/sdf1
(3)使用命令mdadm -D /dev/md6查看磁盘阵列的详细信息
或者 cat /proc/mdstat 查看
(4)使用命令mkfs.xfs /dev/md6 进行格式化
(5).创建挂载点,并进行挂载
这样RAID6就建立完成了
6.RAID10(RAID1+RAID0)
特点:数据冗余,高可靠,性能高
组成条件:至少4块大小相同的磁盘组成,且为偶数
容量:多块磁盘容量的总和的一半
创建方法:
(1)将新放入的磁盘创建分区,T类型代码fd(raid)
(2)输入命令 mdadm -C -v /dev/md1 -l1 -n2 /dev/sd{b..c} 建立镜像卷md1
(3)输入命令 mdadm -C -v /dev/md2 -l1 -n2 /dev/sd{e..f} 建立镜像卷md2
(4)输入命令 mdadm -C -v /dev/md10 -l10 -n2 /dev/md1 /dev/md2 将2个镜像卷建立成RAID0卷md10
(5)使用命令mdadm -D /dev/md10查看磁盘阵列的详细信息
或者 cat /proc/mdstat 查看
(6)使用命令mkfs.xfs /dev/md10 进行格式化
(7).创建挂载点,并进行挂载
RAID10卷建立完成