对Gentoo的RAID bug进行Workaround

在之前的文章中已经提到了,Gentoo的mdadm在Intel的FakeRAID存在bug,会将一个三块正常硬盘组成的RAID5阵列少识别一块硬盘,但由于RAID5在2块硬盘也能正常运行。而重新启动计算机后,mdadm又能识别出三块硬盘,并开始重建RAID阵列。再次重启后,又回到最初的情况。

为了解决这个bug,比尔盖子经过多次实验均以失败告终,而失败的后果就是等待3个小时重建阵列。最后,在StackOverflow上看到一个关于mdadm的提问,用了一下发现工作完美,便索性禁了mdadm的服务,用自己写的Quick and Dirty的脚本替代。

启动RAID的脚本
#!/bin/bash
#禁用内核自动激活的RAID设备,它们会导致mdadm将三块硬盘识别为两块
mdadm -S /dev/md* > /dev/null 2>&1
#自动检测并激活Intel FakeRAID
mdadm --assemble --scan > /dev/null 2>&1
mdadm -I /dev/md/imsm0 > /dev/null 2>&1
禁用RAID的脚本
#!/bin/bash
#批量解除挂载RAID
umount /dev/md* > /dev/null 2>&1
#批量停止RAID块设备
mdadm -S /dev/md* > /dev/null 2>&1
 

文章来源:http://biergaizi.info/archives/2012/07/1392.html

你可能感兴趣的:(对Gentoo的RAID bug进行Workaround)