磁盘阵列(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(带区卷,条带卷,条带分区)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

   特点:高读写

   缺点:无数据冗余,不可靠

   组成条件:大小相同的磁盘组成

   容量:多块磁盘容量的总和

  创建方法:

(1).将新放入的磁盘创建分区,T类型代码fd(raid)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(2).输入指令fdisk -l  查看并确定分区及类型创建成功

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建



(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卷使用的磁盘

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(4).使用命令mdadm   -D   /dev/md0查看磁盘阵列的详细信息

或者 cat  /proc/mdstat 查看

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(5).使用命令mkfs.xfs /dev/md0  进行格式化

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(6).创建挂载点,并进行挂载(一般选用自动挂载)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

RAID0卷建立完成





3.RAID1(镜像卷)  

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

特点:高可靠,数据冗余

   缺点:无扩展性

   组成条件:大小相同的磁盘组成(最好是偶数)

   容量:多块磁盘容量的总和的一半

  创建方法:

(1)将新放入的磁盘创建分区,T类型代码fd(raid)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(2)输入命令 mdadm -C   -v    /dev/md1    -l1   -n2    /dev/sd{d..e} 1  -x1 /dev/sdf1

-x:  备用磁盘 (这里使用备用数量为1,也可以是多块备用)

/dev/sdf1:   所使用的备用磁盘设备


Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(3)使用命令mdadm   -D   /dev/md1查看磁盘阵列的详细信息

或者 cat  /proc/mdstat 查看

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(4)使用命令mkfs.xfs /dev/md0  进行格式化

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(5).创建挂载点,并进行挂载

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

RAID1卷创建完成了

当RAID1中有一块磁盘损坏了,备用磁盘会顶替损坏的磁盘,并将实现数据冗余

我们来验证一下

(1).在/opt/md1下面创建文件

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(2).输入命令 mdadm -f   /dev/md1   /dev/sdd1 将RAID1卷中的sdd1设备卸载

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(3).使用命令mdadm -D /dev/md1查看磁盘阵列详细信息

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(4).再查看文件是否丢失

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

数据依然完好





4.RAID5

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

特点:高读写

   缺点:无数据冗余,不可靠

   组成条件:大小相同的磁盘组成

   容量:多块磁盘容量的总和

  创建方法:

(1)将新放入的磁盘创建分区,T类型代码fd(raid)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(2)输入命令 mdadm -C   -v    /dev/md5   -l5   -n3    /dev/sd{b..d}   -x1 /dev/sde1

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(3)使用命令mdadm   -D   /dev/md5查看磁盘阵列的详细信息

或者 cat  /proc/mdstat 查看

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(4)使用命令mkfs.xfs /dev/md5 进行格式化

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(5).创建挂载点,并进行挂载

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

这样RAID5就建立完成了



5.RAID6

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


特点:高读取,写一般,数据冗余,高可靠

   缺点:最多只能损坏两块磁盘

   组成条件:至少4块大小相同的磁盘组成 

   容量:n-2磁盘容量的总和

  创建方法:

(1)将新放入的磁盘创建分区,T类型代码fd(raid)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(2)输入命令 mdadm -C   -v    /dev/md1    -l6  -n4   /dev/sd{b..e}1   -x1 /dev/sdf1

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(3)使用命令mdadm   -D   /dev/md6查看磁盘阵列的详细信息

或者 cat  /proc/mdstat 查看

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(4)使用命令mkfs.xfs /dev/md6  进行格式化

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(5).创建挂载点,并进行挂载

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

这样RAID6就建立完成了



6.RAID10(RAID1+RAID0)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

特点:数据冗余,高可靠,性能高

   组成条件:至少4块大小相同的磁盘组成,且为偶数

   容量:多块磁盘容量的总和的一半

  创建方法:

(1)将新放入的磁盘创建分区,T类型代码fd(raid)

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(2)输入命令 mdadm -C   -v    /dev/md1    -l1   -n2    /dev/sd{b..c}   建立镜像卷md1

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建


(3)输入命令 mdadm -C   -v    /dev/md2   -l1   -n2    /dev/sd{e..f}  建立镜像卷md2 

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(4)输入命令 mdadm -C   -v    /dev/md10   -l10  -n2    /dev/md1  /dev/md2  将2个镜像卷建立成RAID0卷md10

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(5)使用命令mdadm   -D   /dev/md10查看磁盘阵列的详细信息

或者 cat  /proc/mdstat 查看

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(6)使用命令mkfs.xfs /dev/md10  进行格式化

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

(7).创建挂载点,并进行挂载

Centos 7磁盘阵列简介及Raid0,Raid1,Raid5,Raid6,Raid 10的创建

RAID10卷建立完成