一、RAID简单介绍

   RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列,早期称为廉价磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用。RAID技术大致分为两种:基于硬件的RAID技术和基于软件的RAID技术。

1,RAID 0

  实现RAID0至少需要两块磁盘,没有容错能力。数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上,所以RAID0的磁盘利用率是100%。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。RAID0实现了数据的并发存储,但在冗余上却为0,如果是为了快速读取数据则RAID0是个不错的选择。

RAID简介及软RAID的配置管理_md

2,RAID 1

  RAID 1 最少需要两块硬盘,一块用来存放数据,另一块用来做镜像,用牺牲容量的方式换来了系统容错能力的提升。RAID1的磁盘利用率只有50%,是所有RAID中磁盘利用率最低的。

RAID简介及软RAID的配置管理_md_02

3,RAID 4

  RAID 4需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以RAID 0方式将数据写入其它磁盘,如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据。如果两个驱动器出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入其它磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈。

RAID简介及软RAID的配置管理_RAID_03

4,RAID 5

  RAID 5至少需要三块磁盘,允许一块盘出错。RAID5 与 RAID4 之间最大的区别就是校验信息均匀分布在各个驱动器上,如图4所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5 可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。

RAID简介及软RAID的配置管理_RAID_04

5、RAID 10

  RAID 10至少需要四块磁盘,说白了就是先做两组RAID 1 再做成RAID 0,然后将这两组各自视为RAID 1运作。RAID 10有着不错的读取速度,而且拥有比RAID 0更高的数据保护性。允许不同RAID1组内各坏一块盘。



RAID简介及软RAID的配置管理_RAID_05

6、RAID 01

  RAID 01则是跟RAID 10的程序相反,是先分区再将数据镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。RAID 01比起RAID 10有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID 01就会停止运作,而RAID 10则可以在牺牲RAID 0的优势下正常运作。

RAID简介及软RAID的配置管理_RAID_06

   RAID 10/01巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。

二、软RAID相关命令说明

1、mdadm命令(multiple devices admin)

  linux下的软件RAID叫md,我们要用mdadm(配置文件:/etc/mdadm.conf)这个命令来搞定软件RAID的创建及维护。

  语法: mdadm [mode] <raiddevice> [options] <component-devices>

  [mode]:

        A:装配模式:使用指定的设备装配并启动指定的RAID设备  mdadm -A /dev/md0 /dev/sdb{1,2,3}

        C:创建模式

               -n #:用于创建RAID设备的个数

               -x #:热备磁盘的个数

               -l:RAID的级别

               -a:yes,自动为创建的RAID设备创建设备文件

               -c:CHunk_Size:指定分块大小,默认为512,单位为KB

        F:监控模式

           管理模式

               -f:fault,设置为损坏

               -r:remove,移除损坏的磁盘

               -a:add,增加RAID磁盘

               -S:stop,停止指定的RAID设备

               -D:--detail,显示阵列的详细信息

2、命令格式举例

      mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb{1,2,3,4}

3、查看软件RAID状态信息  

      fdisk -l

      mdadm -D /dev/md0

      cat /proc/mdstat

      watch -n1 'cat /proc/mdstat/ '

三、创建一个RAID 5,增加热备盘,并模拟损坏、移除、增加,最后停止RAID并重新装配。

1、首先创建四个linux软RAID的FD分区,3个用作RAID5,一个用作热备盘。

RAID简介及软RAID的配置管理_md_07

2、创建分区并修改文件系统标识为FD,保存退出。

RAID简介及软RAID的配置管理_md_08

3、格式化四个磁盘,主要目的是创建文件系统。

RAID简介及软RAID的配置管理_mdadm_09

4、使用mdadm命令创建软RAID5,为/dev/md0

RAID简介及软RAID的配置管理_RAID_10

5、使用cat /proc/mdstat查看RAID状态。

RAID简介及软RAID的配置管理_md_11

6、使用命令mdadm -D /dev/md0查看RAID详细信息,RAID 5状态正常,热备盘状态正常。

RAID简介及软RAID的配置管理_mdadm_12

7、使用mdadm /dev/md0 -f /dev/sdc3命令设置sdc3损坏。

RAID简介及软RAID的配置管理_RAID_13

8、查看RAID5一个磁盘损坏后的状态:热备盘自动补上,且会同步数据,损坏盘撤下,RAID工作正常。

RAID简介及软RAID的配置管理_RAID_14

9、使用mdadm /dev/md0 -r /dev/sdc3命令撤下损坏盘。

RAID简介及软RAID的配置管理_md_15

10、撤下损坏盘后,RAID状态。

RAID简介及软RAID的配置管理_RAID_16

11、使用mdadm /dev/md0 -a /dev/sdc3命令增加一块新的热备盘到RAID上。

RAID简介及软RAID的配置管理_RAID_17

12、增加新RAID热备盘后,工作状态回复到最初状态。

RAID简介及软RAID的配置管理_RAID_18

13、使用mdadm -S /dev/md0命令停止指定RAID设备,并用mdadm -A /dev/md0 /dev/sdc{1,2,3,4}命令进行重新装配。

RAID简介及软RAID的配置管理_mdadm_19

14、RAID重新装配后,状态依然完好如初。

RAID简介及软RAID的配置管理_md_20