RAID 技术产生的背景
·普通的IDE硬盘速度不够快,性能不够稳定,不能应用于企业级的关键任务
·高效并且稳定可靠的SCSI硬盘价格昂贵,中小企业征收不起
·RAID (Redundant Array of Inexpensive/Independent Disks),即廉价/独立磁盘冗于阵列(或简称趁盘阵列),他的出现,可以让我们把普通的IDE硬盘组成快速安全可靠的
存储设备。
RAID原理
·RAID是一种把多块独立的硬盘按不同方式组合起来形成一个磁盘组,从而提供比单个硬盘更高的存储性能和提供数据的冗余的技术,不同的组织方式称为RAID级别(RAID level)·数据冗余的功能是在用户数据一旦发生损坏后,利用冗于信息可以使损坏的数据得以恢复,从而保障了用户数据的安全。
·在用户看来,组成的磁盘组就像一个硬盘,对磁盘阵列的操作与单个硬盘一模一样。
RAID 级别
·常用的RAID级别是level0,level 1和level 5
·需要RAID控制器(一种PC适配器)来管理硬盘
·linux内核可以模拟RAID控制器,用来管理硬盘,但只支持级别0,1,4,5,6
RAID 0
特点:RAID 0又称为striping。通过把连续的数据访问分散到多个磁盘上来提供存储性能,这样,数据请求就可以被多个磁盘并行的执行,每个磁盘只负责属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存储性。在所有的级别中,RAID 0的速度是最快的。但没有数据冗余,阵列中任何一个磁盘坏掉,意味着所有数据丢失。
磁盘利用数:n(假设有n个磁盘)。
配置条件:最低两块磁盘,且分区大小尽量相同。
应用领域:对高磁盘容量及高速磁盘存取有特殊需求,而又不计较其高故障率的工作。当然,如果你正在使用集群,RAID 0 无疑是提高磁盘I/O性能的最好方法,因为在这种情况下,你就不用担心冗余的问题了。
RAID 1
特点:RAID 1又称为mirror或者mirroring,他的宗旨是最大限度的保证用户数据的可用性和可修复性。RAID1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。因为有了备份磁盘,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。尽管其写入数据的速度比较慢,但因其数据是以分段的方式作储存,因而在读取时,它几乎和RAID 0有同样的性能。
磁盘利用数:n/2。
配置条件:最低两块磁盘,且分区大小尽量相同。
应用领域:数据库、金融系统等一些对数据有着高可靠性要求的领域。再者就是系统中写数据量比较少,而读数据量又比较多的情况下可以采用这一模式。
RAID 5
特点:RAID 5 不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息交互存放于各个磁盘上,任何一个磁盘损坏,都可以根据其他磁盘上的校验位来重建损坏的数据。并行读写数据,性能也很高。
磁盘利用数:n-1。
配置条件:最低三块硬盘,且分区大小尽量相同。
应用领域:适合于事务处理环境,例如民航售票处、销售系统等。
RAID 0+1
特点:是RAID 0和RAID 1的组合形式,也称为RAID 10。形式为最少需要4块磁盘,组成两个一组,比如1和3,2和4组成RAID 0 那么1和2或者1和3,对应的2和3或者2和4就组成RAID 1即提高可性质也提高安全性。
磁盘利用数:n/2。
配置条件:最低四块磁盘,且分区大小尽量相同。
Linux中的RAID
·使用linux内核实现的RAID控制器
·需要内核的支持
·需要相应的应用软件(mdadm或者早期的raidtools)创建管理RAID设备
·软件RAID设备文件名:
/dev/mdN (N= 0,1,2…)
·软件RAID设备可以当分区看待,需要格式化后挂载
# mkfs.ext3 /dev/md1
# mount /dev/md1 /mnt/md1
实验环境:vmware 5.5.3,Red Hat Enterprise Linux 4 update 5
系统:/dev/sda
RAID Devices:/dev/sdb /dev/sdc /dev/sdd /dev/sde
设备准备:直接使用硬盘硬件设备,不需要分区。如果要具体使用哪个硬盘的分区做RAID,才需要fdisk特定的分区,并给它指定分区类型:fd。
1.确认raid应用软件已经安装好。
[root@www.linuxidc.com]# rpm -q mdadm
mdadm-1.12.0-2
2.创建raid:
mdadm的每个命令都有其简写形式,当然也可以使用shell的正规表达式:
#[root@www.linuxidc.com]# mdadm –create –verbose /dev/md0 –level=raid5 –raid-devices=3 /dev/sdb /dev/sdc /dev/sdd –spare-devices=1 /dev/sde
mdadm: layout defaults to left-symmetric
mdadm: chunk size defaults to 64K
mdadm: size set to 8388544K
mdadm: array /dev/md0 started.
等效命令如下:
mdadm -Cv /dev/md0 -l5 -n3 /dev/sdb /dev/sdc /dev/sdd -x1 /dev/sde
mdadm -Cv /dev/md0 -l5 -n3 /dev/sd[bcd] -x1 /dev/sde
3.格式化raid设备:
[root@www.linuxidc.com]# mkfs.ext3 /dev/md0
4.挂载raid设备:
[root@www.linuxidc.com]# mkdir /mnt/md0
[root@www.linuxidc.com]# mount -t ext3 /dev/md0 /mnt/md0/
[root@www.linuxidc.com]# df -lh
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda3 5.8G 2.0G 3.6G 36% /
/dev/sda1 99M 8.8M 85M 10% /boot
none 147M 0 147M 0% /dev/shm
/dev/md0 16G 77M 15G 1% /mnt/md0
5.查看raid设备状态:
[root@www.linuxidc.com]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Array Size : 16777088 (16.00 GiB 17.18 GB)
Device Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat Feb 23 10:26:26 2008
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Events : 0.72
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 – spare /dev/sde
[root@www.linuxidc.com]# more /proc/mdstat
Personalities : [raid5]
md0 : active raid5 sdd[2] sde[3] sdc[1] sdb[0]
16777088 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>
说明:
sdd[2]:此设备在RAID中的次序。
[3/3]:RAID使用3个设备,当前有3个设备正常运行。当某一个设备出错时将会显示[3/2]。
[UUU]:RAID中所有磁盘运转正常。如果出错则显示[_UU],则说明RAID中第一磁盘fail。
[root@www.linuxidc.com]# mdadm -E /dev/sdb
/dev/sdb:
Magic : a92b4efc
Version : 00.90.00
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Update Time : Sat Feb 23 10:26:26 2008
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Checksum : e5bbfe68 – correct
Events : 0.72
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 16 0 active sync /dev/sdb
0 0 8 16 0 active sync /dev/sdb
1 1 8 32 1 active sync /dev/sdc
2 2 8 48 2 active sync /dev/sdd
3 3 8 64 3 spare /dev/sde
6.mdadm配置文件:
mdadm的缺省配置文件为/etc/mdadm.conf。对于阵列而言不是必须的,主要是为了方便阵列的日常管理。
使用配置文件后,我们每次启动RAID时,就不需要再次输入建立RAID时的一大堆的参数。
mdadm.conf文件中要包含两行:
第一行是以DEVICE开头的行,它指明在阵列中的设备列表。
第二行是以ARRAY开头的行,它详细地说明了阵列的名称、模式、阵列中活动设备的数目以及设备的UUID号。
生成方法:
[root@www.linuxidc.com]# echo ‘DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde’ > /etc/mdadm.conf 等同echo ‘DEVICE /dev/sd[bcde]’ > /etc/mdadm.conf
[root@www.linuxidc.com]# mdadm -Ds >> /etc/mdadm.conf
一般会有如下格式:
[root@www.linuxidc.com]# cat /etc/mdadm.conf
DEVICE /dev/sdb /dev/sdc /dev/sdd /dev/sde
ARRAY /dev/md0 level=raid5 num-devices=3 spares=1 UUID=b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
7.配置mdadm开机自启动:
使用配置文件后,RAID设备在重启后也可以正常的自动加载,因为系统在开机启动时会自动加载RAID。
#cat /etc/rc.d/rc.sysinit
=============================================================================
update_boot_stage RCraid
if [ -f /etc/mdadm.conf ]; then
/sbin/mdadm -A -s
# LVM2 initialization, take 2
if [ -c /dev/mapper/control ]; then
if [ -x /sbin/multipath.static ]; then
modprobe dm-multipath >/dev/null 2>&1
/sbin/multipath.static -v 0
if [ -x /sbin/kpartx ]; then
/sbin/dmsetup ls –target multipath –exec “/sbin/kpartx -a”
fi
fi
if [ -x /sbin/dmraid ]; then
modprobe dm-mirror > /dev/null 2>&1
/sbin/dmraid -i -a y
fi
if [ -x /sbin/lvm.static ]; then
action $”Setting up Logical Volume Management:” /sbin/lvm.static vgchange -a y –ignorelockingfailure
fi
fi
fi
============================================================================
设备配置文件只能使系统在开机时正常启用RAID设备,但自动挂载RAID设备还是要再修改/etc/fstab
#vi /etc/fstab
============================================================================
/dev/md0 /mnt/md0 ext3 defaults 0 0
============================================================================
8.停止与开启RAID设备:
停止:
[root@mytest ~]# umount /mnt/md0/
[root@mytest ~]# mdadm -S /dev/md0
开启:
使用配置文件时:
[root@mytest ~]# mdadm -As /dev/md0
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
没有使用配置文件时:
[root@mytest ~]# mdadm -A /dev/md0 /dev/sd[bcde]
mdadm: /dev/md0 has been started with 3 drives and 1 spare.
9.故障演示
(1)将一个磁盘标记为faulty,模拟硬盘坏损
[root@mytest ~]# mdadm /dev/md0 -f /dev/sdb
mdadm: set /dev/sdb faulty in /dev/md0
(2)查看RAID5重建过程
[root@mytest ~]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Array Size : 16777088 (16.00 GiB 17.18 GB)
Device Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat Feb 23 12:01:42 2008
State : clean, degraded, recovering
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
Rebuild Status : 3% complete
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Events : 0.98
Number Major Minor RaidDevice State
0 0 0 – removed
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 64 0 spare rebuilding /dev/sde //正在重建数据
4 8 16 – faulty /dev/sdb
(3)查看完成坏损设备后的RAID状态
[root@mytest ~]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Array Size : 16777088 (16.00 GiB 17.18 GB)
Device Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat Feb 23 12:05:08 2008
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 1
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Events : 0.111
Number Major Minor RaidDevice State
0 8 64 0 active sync /dev/sde //重建完成后/dev/sde取代了原/dev/sdb
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 16 – faulty /dev/sdb
(4)移除坏损设备
[root@mytest ~]# mdadm /dev/md0 -r /dev/sdb
mdadm: hot removed /dev/sdb
(5)添加新的设备
[root@mytest ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: hot added /dev/sdb
(6)查看最终状态
[root@mytest ~]# mdadm -D /dev/md0
/dev/md0:
Version : 00.90.01
Creation Time : Sat Feb 23 10:22:34 2008
Raid Level : raid5
Array Size : 16777088 (16.00 GiB 17.18 GB)
Device Size : 8388544 (8.00 GiB 8.59 GB)
Raid Devices : 3
Total Devices : 4
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sat Feb 23 12:06:15 2008
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : b4ea24cc:fa3b279e:e8fb1bb5:14703dd1
Events : 0.117
Number Major Minor RaidDevice State
0 8 64 0 active sync /dev/sde
1 8 32 1 active sync /dev/sdc
2 8 48 2 active sync /dev/sdd
3 8 16 – spare /dev/sdb //此时/dev/sdb成为备用冗于状态
mdadm中文man(引用) 完整帮助还需要参考# man mdadm
基本语法 : mdadm [mode] [options]
[mode] 有7种:
Assemble:将以前定义的某个阵列加入当前在用阵列。
Build:Build a legacy array ,每个device 没有 superblocks
Create:创建一个新的阵列,每个device 具有 superblocks
Manage: 管理阵列,比如 add 或 remove
Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
Grow:改变raid 容量或 阵列中的 device 数目
可用的 [options]:
-A, –assemble:加入一个以前定义的阵列
-B, –build:Build a legacy array without superblocks.
-C, –create:创建一个新的阵列
-Q, –query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, –detail:打印一个或多个 md device 的详细信息
-E, –examine:打印 device 上的 md superblock 的内容
-F, –follow, –monitor:选择 Monitor 模式
-G, –grow:改变在用阵列的大小或形态
-h, –help:帮助信息,用在以上选项后,则显示该选项信息
–help-options
-V, –version
-v, –verbose:显示细节
-b, –brief:较少的细节。用于 –detail 和 –examine 选项
-f, –force
-c, –config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf
-s, –scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf
create 或 build 使用的选项:
-c, –chunk=:Specify chunk size of kibibytes. 缺省为 64.
–rounding=: Specify rounding factor for linear array (==chunk size)
-l, –level=:设定 raid level.
–create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
–build可用:linear, raid0, 0, stripe.
-p, –parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
–layout=:类似于–parity
-n, –raid-devices=:指定阵列中可用 device 数目,这个数目只能由 –grow 修改
-x, –spare-devices=:指定初始阵列的富余device 数目
-z, –size=:组建RAID1/4/5/6后从每个device获取的空间总数
–assume-clean:目前仅用于 –build 选项
-R, –run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, –force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。
-a, –auto{=no,yes,md,mdp,part,p}{NN}:
假设有sda,sdb,sdc三块硬盘,其中系统安装在sda上,现在我们用其他两块来做raid
使用fdisk将sdb分个一个区sdb1,同样sdc1,在做测试时,我们可以在一块硬盘上划分多个分区来模拟,但是实际中是没有任何意义的,既无法提高速度,也无法提高可靠性。
建立raid0
先检查是否正确安装了raidtools软件包
# rpm -q raidtools
如果已经安装好可以直接使用
# rpm -ql raidtools 可以看到该软件里提供的工具如:lsraid,mkraid以及/usr/share/doc/raidtools-1.00.3/目录下的示范配置文件。
# man 5 raidtab raidtab文件格式帮助
# cp /usr/share/doc/raidtools-1.00.3/raid0.conf.sample /etc/raidtab 复制一个配置文件
# vi /etc/raidtab 编译配置文件,一般信息保持默认,修改以下信息为实际情况
nr-raid-disks 2 指用来做raid0磁盘的个数
nr-spare-disks 0 保留用来做冗于的磁盘个数,raid0没有冗于,个数为0
device /dev/sdb1 指定设备
raid-disk 0 对该设备进行编号,不能重复。
device /dev/sdc1
raid-disk 1
修改好配置文件保存退出
# mkraid /dev/md0
handling MD device /dev/md0
analyzing super-block 该信息完成即表示已经创建完成raid
# mkfs.ext3 /dev/md0 对raid分区格式化
# mount /dev/md0 /md0 挂载 完成后可以进行文件读写测试操作看是否正常
为了可以直接使用,我们也可以直接将其写入fstab,系统启动时直接挂载,增加一行
/dev/md0 /mnt/md0 ext3 defaults 0 0
如果需要停止使用raid设置,可以先卸载umount,然后用raidstop /dev/md0
建立raid1
# cp /usr/share/doc/raidtools-1.00.3/raid1.conf.sample /etc/raidtab
同上修改该配置文件
# vi /etc/raidtab
raiddev /dev/md1 这里可以根据需要修改设备名称
raid-level 1 raid级别
nr-raid-disks 2 磁盘数目,raid1必须为偶数个
nr-spare-disks 0
chunk-size 4
device /dev/sdb1
raid-disk 0
device /dev/sdc1
raid-disk 1
保存。
# mkfs.ext3 /dev/md1
格式化挂载,即可使用
# lsraid -A -a /dev/md1 显示raid设备的详细信息,是否正常等。停止同raid0
注:raid设备如果不需要使用,删除/etc/下对应的raid配置文件,否则如果fstab中设置了自动挂载,系统重启动会自动激活raid设备。
建立raid 5
至少需要三块磁盘
同sdb1,sdc1一样建立sdd1。
# cp /usr/share/doc/raidtools-1.00.3/raid5.conf.sample /etc/raidtab
修改配置文件
前部分定义了raid5中的调用方式,默认不用修改
我们只需要修改 下面的设备部分
device /dev/sdb1
raid-disk 0
device /dev/sdc1
raid-disk 1
device /dev/sdd1
raid-disk 2
# mkraid /dev/md0
analyzing super-block
disk 0: /dev/sdb1,4192933kB,raid superblock at 4192832kB
/dev/sdb1 sppears to be alrady part of a raid array –use -f to
force the destruction of old superblock
mkraid:aborted.
(In addition to the aove messages.see the syslog and /proc/mdstat as well for potential clues.)
# mkraid -f /dev/md0 之前因为sdb1做过raid1 存在一个超级块,按照提示一使用-f参数强制破坏该超级块。
但是还是会有错误提示,需要用 –really-force or -R 来重新创建数据块。
# mkraid -R /dev/md0
# more /proc/mdstat 查看raid信息
# mkfs.ext3 /dev/md0
创建完成后可以看到容量是是硬盘数量的n-1/n 即为2/3
# mount /dev/md0 /md0
在硬盘比较多的情况下,可以同时组建raid0 raid1,raid5,把上述文件组和在一起使用不同的设备名即可。可以参考/usr/share/doc/raidtools-1.00.3/raid.conf.sample
在建立好raid后,我们可以将raid设备md0挂载到根分区/上,然后将原根分区的数据/dev/sda1数据移植到/dev/md0上,这样我们就可以用md0来挂载根分区,但是注意:raid设备
上的内核文件是无法借位的,我们需要为/boot单独建一个分区,将其中的内核文件提取出来。因为linux系统在启动是是靠/etc/grub.conf来加载内核文件的,
root (hd0,0)
kernel /boot/vmlinux-2.4.22-1.2115.nptl ro root=/LABEL=/ hdc=ide-scsi
initrd /boot/initrd-2.4.22-1.2115.nptl.img
这里就是用root (hd0,0)来借位的,如果需要用raid设备上的内核文件,需要将raid设备的支持加进内核。
因为raid设备的容量不易扩展,我们后续会在LVM中实现数据移植。
??7分30秒时又说直接将根分区的所有内容全部移到/dev/md0上,并重新将/dev/md0挂载为根分区,重新启动后即可???
为了后续LVM实现,暂时不这样做。
# umont /md0
# raidstop /dev/md0 停raid设置,准备实现LVM
# more /proc/mdstat 可以看到raid设备停止后还可以看到相关信息
实现raid1的数据恢复,按照上面的要求重新建立raid1
建立好,
# mount /dev/md0 /mnt
# cp /etc/services /mnt 挂载并复制一个文件过去。
# lsraid -A -a /dev/md0 查看raid1状态正常
# raidsetfaulty –help 模拟raid设备的失效,通常需要指定一个磁盘设置
# raidsetfaulty /dev/md0 /dev/sdb1
# lsraid -A -a /dev/md0 查看raid1中的/dev/sdb1是failed状态
# ls /mnt 由于raid1中有一个设备sdc1正常,所以文件是可以正常读取的。
# raidhotadd /dev/md0 /dev/hdd1 想raid设备md0中增加一个设备/dev/sdd1来修复raid1
# more /proc/mdstat 可以看到磁盘的修复过程
# raidhotremove /dev/md0 /dev/sdb1 将有问题的替换掉,换入新的正常磁盘后可以用raidhotadd命令添加进去
以上为手动修复raid,
使用冗于磁盘自动修复raid设备:
卸载umount后停止raidstop md0
修改/etc/raidtab在raid1组中加如一块冗于磁盘,当磁盘故障时自动修复设置,不需要人工干预,修改/etc/raidtab如下内容
nr-spare-disks 1 默认为0 即无冗于磁盘
device /dev/sdd1
spare-disk 0 冗于磁盘编号也从0开始,不能重复。
保存。
# mkraid -R /dev/md0 重建md0
# lsraid -A -a /dev/md0
# mkfs.ext3 /dev/md0
同样挂载后写入文件,再模拟
# raidsetfaulty /dev/md0 /dev/sdb1
# lsraid -A -a /dev/md0
# more /proc/mdstat 可以看到自动修复过程
同样可以在raid5上实现冗于,具体参考
# man raidtab 参看raid-level 5这部分即可
组建raid10
可以先组建两个raid0设置md0,md1,然后再用md0与md1组建raid1设备md2,当然也可以先组建raid1,再组建raid0
按照文件中raid配置文件的顺序定义的顺序来创建raid设备,md0,md1,md2。格式化是只需要格式化最后的总的raid设备md2即可,因为此时的md0与md1是一个raid的成员,不需要独立进行操作。