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>