外部阵列抢占/dev/sda设备号
各位好,
小弟今日遇到一问题未能解决(到现在还在加班想办法T_T),希望各位大哥大姐叔叔阿姨能帮忙想想办法
在一台服务器上外接了一个磁盘阵列——我之前也遇见过这个问题,忘了后来怎么解决了,但是因此知道和设备型号无关,故略去——在安装完系统后重启,Grub引导失败,查看原因是机器把外接阵列识别成了 /dev/sda,本机硬盘变成了 /dev/sdb ,所以无法找到系统文件,因此无法起动
在网络上找到如下解决办法:http://www.kuqin.com/article/34storage_backup/823626.html
linux系统加载存储时,时常会出现本地的设备好sda被存储抢占,而本地变成sdb、
sdc等。这种现象是因为连接外部存储的适配器的优先级比本地的scsi/fc的适配器的优先级高造成的。出现这种情况os启动时会有swap报错,给系
统管理带来一些麻烦,但这个问题可以通过更改os的内核实现改变驱动顺序,具体过程如下。
1、修改/etc/modules.conf将本地的scsi卡或者光纤卡放置在后加的板卡后面.
alias eth0 tg3
alias eth1 tg3
alias scsi_hostadapter1 aic79xx
alias scsi_hostadapter qla2300 #再有些情况下修改这个文件就能解决问题。
2、如果修改modules.conf没有解决问题,开始下面的操作:
# cp /boot/initrd-2.4.21-el.img /root/
# file initrd-2.4.21-el.img -----该文件是一个压缩文件;
# mv initrd-2.4.21-el.img initrd-2.4.21.img.gz
# gzip -d initrd-2.4.21-el.img.gz
# file initrd-2.4.21-el.img
initrd-2.4.21-el.img:linux rev 1.0 ext2 filesystem data(mount or unclean)
# mount initrd-2.4.21-el.img /mnt -o loop
#cd /mnt
#ls
bin dev etc lib linuxrc loopfs proc sbin sysroot
#vi linuxrc
echo "loading aic79xx.o module"
insmod /lib/aic79xx.o
echo "loading qla2300.o module"
insmod /lib/qla2300.o
变更aic79xx和qla2300的上下位置。然后保存。
3、# cd /root
# umount /mnt
#gzip -9 initrd-2.4.21-el.img
#mv initrd-2.4.21-el.img.gz initrd-2.4.21-el.img
#cp initrd-2.4.21-el.img /boot
#reboot
4、fdisk -l 完成操作。
但是在debian里没有这个/etc/modules.conf ,在 /etc/modprobe.d/alias 里也没有类似 alias scsi_hostadapter1 的片段
要是按下面那个办法来弄又太复杂了
我之前也遇到过这个问题(另一台服务器),后来不记得是怎么就给弄好了,哪位有办法?先谢过了
--
0000
MININEWS.INFO
Mininews是一个业界微新闻站点,添加xiaohuabot@hotmail.com为MSN好友
做最敏捷的媒体,人人都可以是记者,关注身边正在发生的事。[M]
Reply to: