Linux Software RAID实践(3)

        1.准备源盘
        我们先在虚拟机下虚拟9块SCSI硬盘.
                RAID0:  sdb    sdc
                RAID1:  sdd    sde    sdf
                RAID5:  sdg    sdh    sdi    sdj
        新建一文件answer,内容如下:
                n
                p
                1


                t
                FD
                w
        然后执行如下操作:
                [root@server ~]# for i in b c d e f g h i j; do fdisk /dev/sd$i < answer; done
                [root@server ~]# fdisk -l | grep 'Linux raid autodetect'
                /dev/sdb1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdc1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdd1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sde1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdf1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdg1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdh1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdi1               1        1044     8385898+  fd  Linux raid autodetect
                /dev/sdj1               1        1044     8385898+  fd  Linux raid autodetect
        以上操作确保把每个盘分区,再设置为FD的磁盘.

 

        2.创建新的阵列
        用sdb1,sdc1创建RAID0
                mdadm --create /dev/md0 --level=0 --chunk=32 --raid-devices=2 /dev/sd[bc]1
                选项解释:
                        --level=,-l:指定raid的级别,可选的值为0,1,4,5,6,linear,multipath和synonyms
                        --chunk=,-c:指定条带数据块的大小,以K为单位.默认为64K,条带单元的大小配置对不同负载的阵列读写性能有很大影响
                        --raid-devices=,-n:指定活动磁盘的数量
                以上命令也可写作:mdadm -C /dev/md0 -l0 -c32 -n2 /dev/sdb[bc]1
        用sdd1,sde1,sdf1创建RAID1
                mdadm --create /dev/md1 --level=1 --raid-devices=2 --spare-devices=1 /dev/sd[d-f]1
                选项解释:
                        --spare-devices=,-x:表示阵列中热备盘的个数,一旦阵列中的某个磁盘失效,MD内核驱动程序自动用将热备磁盘加入到阵列,然后重构丢失磁盘上的数据到热备磁盘上.
                以上命令也可写作:mdadm -C /dev/md1 -l1 -n2 -x1 /dev/sd[d-f]1
        用sdg1,sdh1,sdi1,sdj1创建RAID5
                mdadm --create /dev/md2 --level=5 --raid-devices=3 /dev/sd[g-i]1 --spare-devices=1 /dev/sdj1
                以上命令也可写作:mdadm -C /dev/md2 -l5 -n3 /dev/sd[g-i]1 -x1 /dev/sdj1
        此外还可以参考如下命令,创建一个RAID1+0设备
                mdadm -C /dev/md0 -l1 -n2 /dev/sd[bc]1
                mdadm -C /dev/md1 -l1 -n2 /dev/sd[de]1
                mdadm -C /dev/md2 -l1 -n2 /dev/sd[fg]1
                mdadm -C /dev/md3 -l0 -n3 /dev/md[0-2]
        当RAID1/4/5/6/10等创建成功后,需要计算每个条带的校验和信息并写入到相应磁盘上,使用cat /proc/mdstat信息查询RAID阵列当前状态,重构的速度和预期的完成时间.
                [root@server ~]# cat /proc/mdstat
                Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
                md2 : active raid5 sdi1[4] sdj1[3](S) sdh1[1] sdg1[0]
                      16771584 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_]
                      [>....................]  recovery =  1.9% (167760/8385792) finish=9.7min speed=13980K/sec
               
                md1 : active raid1 sdf1[2](S) sde1[1] sdd1[0]
                      8385792 blocks [2/2] [UU]
               
                md0 : active raid0 sdc1[1] sdb1[0]
                      16771584 blocks 32k chunks
               
                unused devices: <none>

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25222.html