Raid的实现分为:硬件RAID,软件RAID.
linux中是通过mdadm程序来实现的。
mdadm支持的RAID级别为:RAID0,RAID1,RAID4,RAID5, RAID6.
Mdadm可以支持多个硬盘,分区逻辑卷来创建软件RAID。
创建好的RAID,设备名为/dev/mdn,如果是第一个那则N=0,第二个则n=1.
----------------------------------------------------------------------------------------------------------------------
通过虚拟机添加几块硬盘,容量为1G,我这里添加了4块硬盘
在实际的生产环境中注意添加的硬盘,容量以及规格,劲量要保持一致,以便后期工作维护的时候出现不兼容的情况。
进入linux系统之后执行以下命令。
RAID0: mdadm -C /dev/md0 -a yes - l 0 -n 2 /dev/sdb /dev/sdc
RAID1: mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc
(命令说明这里就不解释了 百度一大堆)
RAID5: mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc
---------------------------------------------------------------------------------------------------------------------------
当创建了RAID之后,需要在创建一个配置信息;
mdadm -D --scan > /etc/mdadm.conf
现在对我们的raid设备md0进行格式化
#mkfs.ext3 /dev/md0
然后挂在到我的mnt目录下面。
#mount /dev/md0 /mnt
---------------------------------------------------------------------------------------------------------------------------------------------------------
现在我用mdadm -D /dev/md0 来查看我们的md0,如果希望挂在了之后,重启linux能够重新自动挂载可以:
# vim /etc/fstab
可以通过:
mdadm -D /dev/md0
cat /proc/mdstat
查看raid相关信息。
此外 mdadm 还有一个很好用的参数 -x 这个参数可以指定一个备用磁盘,备用磁盘一般情况下不会使用,只有在出现故障磁盘的情况下才能使用,指定的备用磁盘
可以自动上线,替换掉故障磁盘。这样来说就不必像XP那么麻烦 还需要手动去更换,linux中就这一条命令就可以完事,太强大了。
mdadm -C /dev/md5 -a yes -l 5 -n(指的几块硬盘作为RAID设备) -x l /dev/sdb /dev/sdc /dev/sdd /dev/sde
比如我创建了一个RAID5,并且我指定了一个备用的磁盘sdd.
首先先清除sdb 和sdc上的数据:
mdadm --zero-superblock /dev/sdb /dev/sdc
创建文件系统ext3
mkfs -t ext3 /dev/md5
挂载到mnt目录上:
mount /dev/md5 /dev/mnt
mdn 中的n 代表的是设备标识, -l 后边跟的是设备级别, -n表示,加入的磁盘块数,上图中的sdd 会在我的前面sdb,sdc任何一个出现故障的时候,替换掉故障盘。
接下来测试一下磁盘是否真的会正常工作。
标识其中的一块设备为故障盘:
mdadm /dev/md5 -f /dev/sdb
查看信息:more /proc/mdstat
因为有备份设备,所以当阵列中出现设备损坏时,阵列能够在短时间内实现重构和数据的恢复。从当前的状态可以看出,阵列正在重构.
sdb[4]已经打上了F的标志。
mdadm -D /dev/md5
可以发现我们的md5中的sdb已经是futrue设备,不在是active。
在reboot了之后,可以发现我们的sdb设备已经自动的被移除掉了
如果想添加一个设备到raid中。
那么可以用:mdadm /dev/md5 -a /dev/sdb
#more /proc/mdstat
可以查看到我们添加进来的sdb已经是spare了。
作为了我们的备用磁盘出现在mdstat中。
RAID设备的关闭与开启:
开启:mdadm -As /dev/md5
-A:装载一个已经存在的整列
s:代表通过查阅mdadm.conf信息
该命令是通过查阅mdadm.conf中的配置信息为根据来开启设备。
关闭:mdadm -S /dev/md5
查看磁盘或者分区是否存在了RAID设备。
mdadm -E /dev/md5
至于mdadm其他的命令选项,可以man一下,不同版本的mdadm可能功能会有点小小的差异,
但是差异不大。