45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:解决安装第2块scsi卡和新的磁盘阵列柜后系统无法启动的方法

解决安装第2块scsi卡和新的磁盘阵列柜后系统无法启动的方法

2016-08-30 21:28:35 来源:www.45fan.com 【

解决安装第2块scsi卡和新的磁盘阵列柜后系统无法启动的方法

系统是一台HP LH-6000,好像已经买了好多年,安装的是redhat 7.2, 一直运行正常。由于原来的硬盘空间不够,所以,给机器加了一张scsi卡,原来已经内置有一张(设置为raid5), 然后,插入一个外置的磁盘阵列柜。那知道,重新开机出现如下错误:
Mounting root filesystem
mount: error 6 mounting ext3
pivotroot: pivot_root(/sysroot, /sysroot/initrd) failed: 2
Freeing unused kernel memory: 240K freed
kernel panic: NO init found. Try passing init= option to kernel.

硬件在其它地方测试都是没问题的,如果将外置的磁盘阵列柜的关闭电源,重新开机又可以正常进入!

在网上查找,一般“mount: error 6 mounting ext3”都是说没有把ext3驱动编译到内核,但,原来的硬盘,已经是ext3格式了,可能性不大。

中间走了些弯路。不过,最后,似乎还是解决了。

主要是,开机自检的时候,先出现那种内置的scsi卡,然后,再检到新插进去的那张卡,所以,开始没想到“盘符”调乱了。

解决方法,很简单,如下:


·在出现GRUB引导画面时,按字母e键,进入GRUB编辑状态。
·按↑键或↓键选择相应的引导项,并再接字母e键进入命令行编辑。
·在出现的命令行,将原来的
kernel /vmlinuz-2.4.7-10 ro root=/dev/sdb2
修改为:
kernel /vmlinuz-2.4.7-10 ro root=/dev/sdc2
并按回车键,返回GRUB编辑状态。
·按字母b键,引导进入单用户模式。
· 过来自检,提示无法装载某些分区,按要求输入root密码进入管理模式
· 编辑/etc/fstab, 修改分区对应到新的转载点,保存
· 重新启动
· 修改 grub.conf 文件

ixpub.net 的 nntp 提了另外一种解决方法:

1. rescue mode login
2. adjust the order in your /etc/modules.conf, (RHEL4 改为:/etc/modprobe.conf)

3. rebuild initrd (参考:http://www.cn.redhat.com/kbase/2521.php)

修改文件以后,需要重新编译initrd文件,使得在启动时该模块被正确插入到模块中。

# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak
# mkinitrd -f initrd-$(uname -r).img $(uname -r)

例如

 
cp /boot/initrd-2.4.21-27.0.2.ELsmp.img /boot/initrd-2.4.21-27.0.2.ELsmp.img.bak
mkinitrd -v -f /boot/initrd-2.4.21-27.0.2.ELsmp.img 2.4.21-27.0.2.ELsmp

这个例子对一个运行2.4.21-27.0.2smp内核的系统重建了initrd.img,根据自己系统的实际运行版本自行条成mkinitrd的参数(可以使用uname -r得到本机运行的内核版本号)。

  * mkinitrd的-v参数可以显示initrd.img中包括的所有模块。
  * mkinitrd的-f参数可以强制覆盖initrd.img中已有的同名模块。

或者参考这里:外部存储抢占sda设备号的解决办法http://www.chinaunix.net/jh/34/823626.html

linux系统加载存储时,时常会出现本地的设备好sda被存储抢占,而本地变成sdb、sdc等。这种现象是因为连接外部存储的适配器的优先级比本地的scsi/fc的适配器的优先级高造成的。出现这种情况os启动时会有swap报错,给系统管理带来一些麻烦,但这个问题可以通过更改os的内核实现改变驱动顺序,具体过程如下。
1、修改/etc/modules.conf将本地的scsi卡或者光纤卡放置在后加的板卡后面.
aliaseth0tg3
aliaseth1tg3
aliasscsi_hostadapter1aic79xx
aliasscsi_hostadapterqla2300#再有些情况下修改这个文件就能解决问题。
2、如果修改modules.conf没有解决问题,开始下面的操作:
#cp/boot/initrd-2.4.21-el.img/root/
#fileinitrd-2.4.21-el.img-----该文件是一个压缩文件;
#mvinitrd-2.4.21-el.imginitrd-2.4.21.img.gz
#gzip-dinitrd-2.4.21-el.img.gz
#fileinitrd-2.4.21-el.img
initrd-2.4.21-el.img:linuxrev1.0ext2filesystemdata(mountorunclean)
#mountinitrd-2.4.21-el.img/mnt-oloop
#cd/mnt
#ls
bindevetcliblinuxrcloopfsprocsbinsysroot
#vilinuxrc
echo"loadingaic79xx.omodule"
insmod/lib/aic79xx.o
echo"loadingqla2300.omodule"
insmod/lib/qla2300.o
变更aic79xx和qla2300的上下位置。然后保存。
3、#cd/root
#umount/mnt
#gzip-9initrd-2.4.21-el.img
#mvinitrd-2.4.21-el.img.gzinitrd-2.4.21-el.img
#cpinitrd-2.4.21-el.img/boot
#reboot
4、fdisk-l完成操作。

 

本文地址:http://www.45fan.com/a/question/69994.html
Tags: 安装 2块 scsi
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部