一 软raid定义
相比较于硬raid的高速稳定,raid卡芯片价格贵,软raid因为配置方便,价格低廉也许更深得人心,缺点是牺牲了一定的主机资源。软件层次的raid有常见的raid0 stripe条带模式,raid1 mirror 镜像模式,raid5,raid6
二 软raid的级别层次
①raid 0
raid0 即条带模式,一根绳上的蚂蚱,存钱你存一点我分一点,属于彼此互相生存的。
②raid 1 raid1 即镜像模式,何为镜像?一模一样就是。此时diskA 和diskB都有一个数据的完整备份
②那raid 0+1 和raid 1+0呢?
Raid 0+1
就是先stripe再mirror,所以想想,条带需要2个盘至少,镜像也至少需要一个完整备份,所以至少得4块吧,其中盘的大小最好相等,否则数据的冗余能力下降。
简单分析一下Raid 0+1
由于disk A和diskB分别组成条带,所以读的能力明显翻倍,写的能力由于要写mirror的份,所以磁盘写速率下降。当一个盘坏掉,那么可以通过镜像盘恢复,但是会有造成二次破坏的风险。同时坏两块盘,只要不同时属于Mirror盘,则ok,否则数据毁坏。磁盘利用率由于MIRROR存在显然为1/2
Raid 1+0
先镜像再条带,和上面同理至少四块,而且磁盘利用率为1/2,读能力增强,写性能降低。
简答分析一下1+0
性能和0+1差不多,当一个盘坏掉,只需要把mirror盘copy到新盘即可恢复
同时坏掉两个不是互为mirror的盘也可以各自恢复
综上,1+0优于0+1
③ raid 5
每次存数据的时候,总有一个盘是负责记录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 0和raid 0 1 实施估计很困难,一般是用为硬件raid