前些日子弄了很长时间的swraid,原因当然还有其他很多。甚是恼火!
1. mdadm 创建的superblock 记得是写在一个存储设备的后面。而不是lvm或分区表写在设备的前面多少个字节。
2. mdadm --create 创建raid,这里支持很多类型,包括常见的linear,0,1,5,6,multypath..
其他的关于mdadm的详细介绍
还是很详细的。
我当时遇到问题:其实归结也就是没有仔细看man的原因。
一、在删除一个raid时,最完整的做法,需要先stop掉,然后将raid信息删掉
停止对swraid的读写操作(比如umount等)
1) mdadm -S /dev/md0 (stop 之前,你需要先查看一下md0使用的哪些存储设备,当然你也可以不看,mdadm --zero-superblock 的时候,你需要将所有设备全部清一下,被swraid使用的,或没有信息的是不会出错误的)
2) mdadm --zero-superblock (将那些存储设备clear to zero)
如果不zero superblock的话,你每次mdadm -E 或者 mdadm -Q --examine 仍会看到他的 swraid信息。我想这是一件很不利于你工作的一件事。
二、swraid 是否支持热插拔问题
当然这不是swraid的问题,而是在于你的存储设备是否可对你的os 热插拔。
如果你的os能够支持,但swraid并不是这样非常的智能的。其实,把过错交给mdadm并不完全正确。
因为mdadm调用raid模块,是他导致的不能够释放已丢失的磁盘的某些相关信息。导致,新插入的磁盘盘符名称改变。某些时候,你如果没有将坏设备的信息在raid(md设备)信息中去除,你频繁的热插拔设备,将导致不可想象的后果。设备文件将会被用完。
类似于手动将raid设备里的设备标记为坏盘一样,你可以手动将坏盘信息扔掉。
例如 拔掉sda设备
mdadm /dev/md0 -r /dev/sda 此时,sda这个坏的设备资源才被真正释放,并可以继续被使用了sda这个设备文件了。
三、发现的bug
2。6 version的mdadm 自动监控进程,无法进行同热背盘组的热背盘调度。
四、默认raid5 的创建模式,是降级到重构的过程,这样比初始化速度要快。(--force --run 即会强制从初始化模式创建)
五、初始化速度,默认并不是最快的速度。当然你可以改变这一切只要你愿意。
echo 50000 > /proc/sys/dev/raid/speed_limit_min
还有当有负荷的时候,mdadm会自动降低初始化或重构的速度
六、raid0 ,在有盘损坏的情况下,并不能直接从raid信息读取出此盘丢失的信息。
所有swraid 在不可用的情况下,mdadm都不能乐意的告诉你,此raid不可用。
比如raid5 丢失2块设备,raid6丢失3块设备,mdadm始终都认为你是降级,但你读写的时候必然会出错误。这只是不够完美,你是管理员,你会清楚这一点。
阅读(1006) | 评论(0) | 转发(0) |