RAID

        RAID(Redundant Array Inexpensive Disks)叫做廉价冗余队列。简单说来raid就是把多个磁盘组合起来当成一块存储设备来使用,所以根据磁盘的不用组合方式raid便有不同的级别。但是它并廉价,故后又改名为Redundant Array Independent Disks。它只是在硬件条件下提供冗余。
       一、raid的级别
       raid的级别仅表示磁盘不同的组合方式,它用数字表示。
       raid的级别有0,1,2,3,4,5,6,7,10,50
      下面说明几个常用的级别:
       1、level 0:数据被分为多个有编码的chunk块使用轮询的方式向raid上存储数据。
         具有以下特点:
                   1、具有读写高性能
                   2、磁盘利用率高
                   3、无冗余
                   4、出错率较高
                   5、至少两块磁盘
       2、level 1:相同的chunk块在每个磁盘中分别存储一次。因此level 1的raid也被称为镜像磁盘。
        具有以下特点:
                   1、写入性能低,读取性能高
                   2、磁盘利用率为1/n
                   3、有容错能力
                   4、至少两块磁盘
        3、level 4:至少有三块磁盘,使用轮询的方式将chunk块存储在磁盘中。而且每存储一次就将两个chunk 块的校验码(一般是由异或关系得到)存储在第三块磁盘中。
         具有以下特点:
                   1、具有读写高性能
                   2、磁盘利用率为n-1/n
                   3、有容错能力,但最多只能损坏一块磁盘
                   4、至少三块磁盘
                   5、I/O压力较大
        4、level  5:level 5与level 4的区别在于在每一次存储数据块时,三块磁盘轮流充当校验盘。这种机制默                      认为左对称。
         具有以下特点:
                   1、读写性能提升
                   2、磁盘利用率为n-1/n
                   3、有容错能力,但最多只能损坏一块磁盘
                   4、至少三块磁盘
        5、level  6:它可称为level 5的升级版。此时它至少需要四块磁盘,其中有两块检验盘。
          具有以下特点:
                   1、磁盘利用率为n-2/n
                   2、有容错能力,可坏两块盘
                   3、至少四块磁盘
   
     6、level 10:先把磁盘做成raid1,然后再将raid1做成raid0。     
                    1、读写性能大大提高
                    2、有容错能力也提高
                    3、至少四块磁盘
                    4、磁盘利用率为1/2
       二、常见级别的创建
     
使用mdadm命令可以创建软raid,它是一个模式化命令
     
raid的格式为:mdadm  模式  设备  选项  子组件
     1、常用模式有:
            Assemble(-A):启用;装配模式。
            Create(-C):创建模式
            -n:设定raid的个数
            -x:指定空闲盘的个数
            -c:指定块大小(默认为64k)
            -l:指定raid的级别
           -p:layout
           -a:若创建的raid设备不存在。则可直接创建
           Follow or Monitor(-F):监控模式
           Grow(-G):增长模式
           Manager:管理模式(--add,--fail,--remove)
           -D:查看raid的详细信息
           -S:停用raid     
      2、创建6G的raid0。在此规划为使用2个3G的分区/dev/sda3,/dev/sda4。
           
(1)使用fdisk命令先创建两个3G的分区,然后调整其ID为fd。
           (2)使用partprobe命令重新识别分区。
           (3)使用mdadm创建raid:
                mdadm -C  /dev/md0  -a yes -l 0 -n 2 /dev/sda3,/dev/sda4
           (4)使用mke2fs格式化raid分区:
                mke2fs  -j  /dev/md0
           (5)挂载:
                mount  /dev/md0  /mnt
           (6)cat /proc/mdstat  查看当前系统上软raid的情况。
       3、创建6G的raid1。根据raid1的特性可知,若有两个盘则每个盘都必须是6G。
           (1)使用fdisk命令先创建两个6G的分区,然后调整其ID为fd。
           (2)使用partprobe命令重新识别分区。
           (3)使用mdadm创建raid:
                mdadm -C  /dev/md1  -a yes -l 1 -n 2 /dev/sda5,/dev/sda6
           (4)使用mke2fs格式化raid分区:
                 mke2fs  -j  /dev/md1
           (5)挂载:
                 mount  /dev/md1  /mnt
           (6)cat /proc/mdstat  查看当前系统上软raid的情况。
          
    4、创建raid10
         (1)使用fdisk命令创建四个3G的分区,然后调整其ID为fd。
         (2)使用partprobe命令重新识别分区。
         (3)先使用mdadm创建两个raid1:
              mdadm -C  /dev/md2  -a yes -l 1 -n 2 /dev/sda7,/dev/sda8
              mdadm -C  /dev/md3  -a yes -l 1 -n 2 /dev/sda9,/dev/sda10
          (4)然后创建raid10
               mdadm -C  /dev/md4  -a yes -l 10  -n 2 /dev/md{2,3}
          (5) 使用mke2fs格式化raid分区:
                mke2fs  -j  /dev/md4
          (6)挂载:
                mount  /dev/md4  /mnt
          (7)cat /proc/mdstat  查看当前系统上软raid的情况。
       5、创建有一块空闲盘的raid5。若radi5的大小为2G。则需要四个1G的磁盘
        
   (1)使用fdisk命令创建四个1G的分区,然后调整其ID为fd。

          (2)使用partprobe命令重新识别分区。  
          (3)先使用mdadm创建两个raid5:  
               mdadm -C  /dev/md0  -a yes -l 5  -n 3 -x 1 /dev/sda{5,6,7,8} 
                                               

          (4)cat /proc/mdstat  查看当前系统上软raid的情况。此时知/dev/sda8被标识为S,即空闲磁盘

          (5)格式化分区
                mke2fs  -j  -b 2048  -E stride=32 /dev/md0
          (6)挂载至/data目录下,并在data目录下写文件
               mount  /dev/md0  /data

          (7)使用--fial模拟损坏/dev/sda5磁盘:
               mdadm --fail /dev/md0  /dev/sda5
               使用mdadm -D查看md0的状态,可知空闲盘正在重建为可用盘

        (8)由raid5特性可知,它有容错能力。所以此时模拟又损坏一块盘:
             mdadm --fail /dev/md0  /dev/sda6
            查看raid的状态可知此时只剩两个可使用盘。打开data目录下的文件发现文件完整无缺。

       
(9)使用remove选项将损坏的磁盘移除
             mdadm --remove  /dev/md0  /dev/sda5
             mdadm --remove  /dev/md0  /dev/sda6

       (10)使用--add可将好的磁盘重新安装
               mdadm --add  /dev/md0  /dev/sda5
               查看raid的状态可知此时又有了三个可使用盘。

                mdadm --add  /dev/md0  /dev/sda6
                此时sda6称为了空闲盘

 

       (11)使sda6也成为可用盘
              添加磁盘
               
mdadm --add  /dev/md0  /dev/sda6
              使用Grow模式,指定磁盘个数
              mdadm  -G  /dev/md0  -n  4

 

    但此时增长的只是系统的物理边界,所以还要扩展系统的文件系统边界。这样可用的空间才会真正的扩大。resize2fs命令可改变文件系统的大小,若不指定大小则默认为与物理边界一样。
         resize2fs  /dev/md0
 (12)停用raid
        mdadm -S /dev/md0

 

(13)启用raid
          mdadm -A  /dev/md0  /dev/sda{5,6,7,8}

 

     使用- -examine - -scan 可以查询raid的信息,可以把查询的信息保存至raid的配置文件中,etc/mdadm.conf中,当再次停用raid然后启用是便不可用指定装配设备。

        至此,RAID的有关操作介绍完毕。

 


                                    

你可能感兴趣的:(level,raid,mdadm)