Ubuntu下軟Raid降級后導(dǎo)致機器無法啟動的處理方法
當(dāng)在Ubuntu下使用軟Raid(不是系統(tǒng)盤)后,如果軟Raid出現(xiàn)降級情況,重啟服務(wù)器會導(dǎo)致啟動不起來:
啟動不起來的原因是因為,啟動時會出現(xiàn)提示“do you wish to start the degraded RAID(Y/N)“,但這個提示會很快超時,當(dāng)你沒有及時按“Y”時,就是導(dǎo)致機器啟動不起來。 當(dāng)然,如果你在虛擬機中使用了軟Raid,當(dāng)軟Raid出現(xiàn)降級,重啟虛擬機也會出現(xiàn)上面的相同的問題。 解決的方法是:
1. 編輯文件/etc/initramfs-tools/conf.d/mdadm
2. 改變其中的"BOOT\_DEGRADED=false" 為 "BOOT\_DEGRADED=true"
3. 然后 sudo update-initramfs -u
這時啟動后,就會出現(xiàn)一個降級的軟Raid:
- root@ubuntu01:~# cat /proc/mdstat
- Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
- md127 : active (auto-read-only) raid1 sdb[0]
- 130944 blocks super 1.2 [2/1] [U_]
- unused devices: <none>
如果你想啟動時就不要自動把軟Raid設(shè)備識別出來,需要改ubuntu中內(nèi)核啟動腳本。需要編輯 sudo vi /usr/share/initramfs-tools/hooks/mdadm,如果你的ubuntu是13.04,則大約修改的行是89行:
- 88 if /usr/share/mdadm/mkconf > $tmpfile; then
- 89 cp -p $tmpfile $DESTMDADMCONF
- 90 else
- 91 warn "failed to auto-generate temporary mdadm.conf file."
- 92 fi
需要做的是把89行的內(nèi)容注釋掉,基本的意思在內(nèi)核的啟動過程中就是不生成軟Raid的配置文件,這樣就不會識別出了。修改后的內(nèi)容如下:
- 88 if /usr/share/mdadm/mkconf > $tmpfile; then
- 89 #cp -p $tmpfile $DESTMDADMCONF
- 90 echo Disable mdadm boot auto assemble by osdba 2013.06.28
- 91 else
- 92 warn "failed to auto-generate temporary mdadm.conf file."
- 93 fi
然后執(zhí)行下面命令讓配置生成到/boot/initrd.img.XXXX的啟動文件中:
- sudo update-initramfs -u
以后再啟動ubuntu,就不會自動重組軟Raid了。
當(dāng)然注意:如果你的啟動硬盤是在軟Raid上,則不要做上面的操作。因為這樣做后,因為操作系統(tǒng)不識別軟Raid,也會導(dǎo)致在軟Raid上的操作系統(tǒng)無法啟動。