关于mdadm的使用方法可以参见:http://blog.csdn.net/liumang_D/archive/2009/07/06/4325013.aspx 这上面介绍的很详细,我也就不多说了。
本文主要讲我在使用mdadm中遇到的一些问题,及其解决方法
1.是用mdadm -C...创建raid时提示:
mdadm: error opening /dev/md0: No such file or directory
这主要是/dev/下没有md0这个设备文件,需要用mknod命令创建一个
mknod /dev/md0 b 9 0 #b为块设备,9为主设备号,0为次设备号
2.创建raid时提示:
mdadm: cannot open device /dev/sdb1: Device or resource busy
这个通常是因为/dev/sdb1已经被挂载到了某个目录下,解决的方法是:
umount /dev/sdb1
3.创建raid过程中进行格式化:
在raid初始化过程中,可以对该其进行格式化,但是要注意必须在raid初始化完成到一定程度才可以开始,比如对于ext2、ext3,默认情况下它们的inode信息要占到卷空间5%的大小,所以尽量在初始化完成到5%以上的时候,再开始格式化。
4.对于降级的raid强制激活:
当raid降级后,比如raid5掉一块盘,raid6掉2块盘,可以通过
mdadm -A --force /dev/md0 /dev/sdb1 /dev/sdc1
的方式使用raid。但要注意,当raid失效时,即raid5掉2块以上盘,raid6掉3块以上盘数,用--force仍然能将raid激活,但是这时候再向raid中写入数据,将会造成raid里的文件信息丢失。
5.降级raid的重建:
对于正在运行的raid,可以用add命令给其新增一块盘,如下:
mdadm --manage --add /dev/md0 /dev/sdd1
再cat /proc/mdstat,就可以看到raid重建的进度了
对于已经停止的raid,可以用
mdadm -A --force /dev/md0 /dev/sdb1 /dev/sdc1
先将降级的raid强制激活,
然后再运行
mdadm --manage --add /dev/md0 /dev/sdd1
6.将raid信息保存到配置文件:
在很多网上的教程中,给出的mdadm配置文件的路径是/etc/mdadm.conf,但我在ubuntu 10.10和centos 5.0上发现,它们的配置文件路径为/etc/mdadm/mdadm.conf,所以保险起见,还是将配置文件同时放到两个目录下好
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
mdadm配置文件的目的是使每次重启后系统能够重新识别到raid
7.对于一些特殊的系统,比如经过内核经过裁剪的嵌入式设备,只把配置信息写入/etc/mdadm.conf中可能仍然无法保证重启后系统能识别到raid,所以要自己做点手脚,我的方法是在/etc/init.d/rc.local中加入:
mknod /dev/md0 b 9 0
mdadm --assemble /dev/md0 $(echo $(fdisk -l 2>/dev/null | grep "Linux raid autodetect" | awk '{print $1}'))
mount /dev/md0 /mnt
这样,就可以使每次重启后,系统能重新获得raid的信息了,并将其mount到了/mnt下。