一  软raid定义

    相比较于硬raid的高速稳定,raid芯片价格贵,软raid因为配置方便,价格低廉也许更深得人心,缺点是牺牲了一定的主机资源。软件层次的raid有常见的raid0 stripe条带模式,raid1 mirror 镜像模式,raid5,raid6

 

二  软raid的级别层次

    ①raid 0

    raid0 即条带模式,一根绳上的蚂蚱,存钱你存一点我分一点,属于彼此互相生存的。

     

spacer.gifspacer.gifspacer.gif 

  raid 1    raid1 即镜像模式,何为镜像?一模一样就是。此时diskA diskB都有一个数据的完整备份

spacer.gif 

 raid 0+1 raid 1+0呢?

Raid 0+1 

就是先stripemirror,所以想想,条带需要2个盘至少,镜像也至少需要一个完整备份,所以至少得4块吧,其中盘的大小最好相等,否则数据的冗余能力下降。

spacer.gif 

简单分析一下Raid 0+1    

由于disk AdiskB分别组成条带,所以读的能力明显翻倍,写的能力由于要写mirror的份,所以磁盘写速率下降。当一个盘坏掉,那么可以通过镜像盘恢复,但是会有造成二次破坏的风险。同时坏两块盘,只要不同时属于Mirror盘,则ok,否则数据毁坏。磁盘利用率由于MIRROR存在显然为1/2

Raid 1+0

先镜像再条带,和上面同理至少四块,而且磁盘利用率为1/2,读能力增强,写性能降低。

spacer.gif 

简答分析一下1+0

性能和0+1差不多,当一个盘坏掉,只需要把mirror盘copy到新盘即可恢复

同时坏掉两个不是互为mirror的盘也可以各自恢复

 

综上,1+0优于0+1

③ raid 5

spacer.gif 

每次存数据的时候,总有一个盘是负责记录parity的,parity是校验值,可以理解为一个和的备份,有点类似于条带,所以可以允许坏掉一块盘,通过异或运算找回原数据

Raid 6原理相似,用2个盘存parity,可以允许坏掉2块盘

 

④sparedisk

备用盘,一般是安装的时候顺带安装备用的盘,支持热插拔更好,否则需要关机

备用盘可以用于数据的恢复上述已经有所说明,一般建议安装raid同时准备好备用盘,方便以后恢复

 

三 raid的level层次的实现(centos6.4版)

 

①raid 0  2G

 

第一步利用fdisk命令创建新建两个1G的分区并修改为fd格式

 

 Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         132     1060258+  fd  Linux raid autodetect

/dev/sdb2             133         264     1060290   fd  Linux raid autodetect

执行partprobe命令让内核读取分区信息

第二步

mdadm -C创建模式创建md0设备

 

[root@localhost ~]# mdadm -C -n 2 /dev/md0 -a yes -l 0 /dev/sdb1 /dev/sdb2

mdadm: Defaulting to version 1.2 metadata

mdadm: array /dev/md0 started.

 

第三部格式化md0挂载新盘区

[root@localhost ~]# mke2fs -j /dev/md0

[root@localhost ~]# mount /dev/md0 /mnt

[root@localhost ~]# cd /mnt

[root@localhost mnt]# ll

total 16

drwx------. 2 root root 16384 Apr  1 00:43 lost+found

 

 

②raid 0   2G

由于磁盘利用率是一半,所以需要2个2G的分区或者其他搭配

[root@localhost ~]# mdadm --create /dev/md1 -n 2 -l 1 -a yes /dev/sdb3 /dev/sdb4

格式化挂载同上..

 

可以模拟设备出问题

[root@localhost /]# mdadm /dev/md1 --fail /dev/sdb3

mdadm: set /dev/sdb3 faulty in /dev/md1

 

使用mdadm --detail /dev/md1显示 --remove表示移除 --add表示增加

 Number   Major   Minor   RaidDevice State

       0       0        0        0      removed

       1       8       20        1      active sync   /dev/sdb4

 

       0       8       19        -      faulty spare   /dev/sdb3

 

这时由于sdb3损坏,所以需要把它移除,或者热插拔

[root@localhost /]# mdadm /dev/md1 -r /dev/sdb3

mdadm: hot removed /dev/sdb3 from /dev/md1

 

Mdadm --add /dev/md1 /dev/sdb5

 

 

 

 

 

①raid 5  2G  用一个做备用盘

和1差不多

这里不做介绍

 

 

raid 1 0raid 0 1 实施估计很困难,一般是用为硬件raid