Ubuntu下软Raid降级后导致机器无法启动的处理方法 ubuntu 禁止raid自动启动

kevin.Zhu 发布于:2013-1-16 16:45 分类:大数据存储  有 12 人浏览,获得评论 0 条  

http://os.51cto.com/art/201306/401091.htm


当在Ubuntu下使用软Raid(不是系统盘)后,如果软Raid出现降级情况,重启服务器会导致启动不起来:

ubuntu下软Raid降级后导致机器启动不起来的处理方法 - 网易杭研后台技术中心 - 网易杭研后台技术中心的博客  

启动不起来的原因是因为,启动时会出现提示“do you wish to start the degraded RAID(Y/N)“,但这个提示会很快超时,当你没有及时按“Y”时,就是导致机器启动不起来。 当然,如果你在虚拟机中使用了软Raid,当软Raid出现降级,重启虚拟机也会出现上面的相同的问题。 解决的方法是:

1.  编辑文件/etc/initramfs-tools/conf.d/mdadm

2.  改变其中的"BOOT\_DEGRADED=false" 为 "BOOT\_DEGRADED=true"

3.  然后 sudo update-initramfs -u 

这时启动后,就会出现一个降级的软Raid:

  1. root@ubuntu01:~# cat /proc/mdstat 

  2. Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]  

  3. md127 : active (auto-read-only) raid1 sdb[0] 

  4.       130944 blocks super 1.2 [2/1] [U_] 

  5. unused devices: <none> 

如果你想启动时就不要自动把软Raid设备识别出来,需要改ubuntu中内核启动脚本。需要编辑 sudo vi /usr/share/initramfs-tools/hooks/mdadm,如果你的ubuntu是13.04,则大约修改的行是89行:

						
  1. 88 if /usr/share/mdadm/mkconf > $tmpfile; then 

  2. 89 cp -p $tmpfile $DESTMDADMCONF 

  3. 90 else 

  4. 91 warn "failed to auto-generate temporary mdadm.conf file." 

  5. 92 fi 

需要做的是把89行的内容注释掉,基本的意思在内核的启动过程中就是不生成软Raid的配置文件,这样就不会识别出了。修改后的内容如下:

												
  1. 88 if /usr/share/mdadm/mkconf > $tmpfile; then 

  2. 89 #cp -p $tmpfile $DESTMDADMCONF 

  3. 90 echo Disable mdadm boot auto assemble by osdba 2013.06.28 

  4. 91 else     

  5. 92 warn "failed to auto-generate temporary mdadm.conf file." 

  6. 93 fi 

然后执行下面命令让配置生成到/boot/initrd.img.XXXX的启动文件中:

																			
  1. sudo update-initramfs -u  

以后再启动ubuntu,就不会自动重组软Raid了。

当然注意:如果你的启动硬盘是在软Raid上,则不要做上面的操作。因为这样做后,因为操作系统不识别软Raid,也会导致在软Raid上的操作系统无法启动。