免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3588 | 回复: 5
打印 上一主题 下一主题

Scsi总线的驱动加载问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-02 13:31 |只看该作者 |倒序浏览
我用vmware workstation 做双机测试,虚拟机为Redhat9,建立共享磁盘后,改vmx文件,共享磁盘使用scsi1,lsilogic。由于装rh9的时候,我选的是scsi硬盘buslogic型,所以系统默认启动的时候只加载buslogic模块。
加上共享磁盘后,rh9启动的时候发现了新的scsi总线设备,自动配置后进入系统,我发现/etc/modules中以及自动加上了alias hostadapter1 mptscsih,理论上应该加载了lsi驱动,但是lsmod发现没有加载,所以也看不到共享磁盘。
我试过用modprobe手工加载没有问题,insmod加载错误,是因为mptscsih依赖mptbase。

我试了多种方法,比如下载新的驱动rpm包,安装后由于更新了initrd.img,所以可以正常加载lsi。或者我加命令到启动脚本,也可以正常加载。或者我重新生成initrd,加入lsi驱动,也可以。

但是我是想弄明白是,为什么rh9明明内核支持lsi,就因为initrd里面没有包含,不论怎样设置/etc/modules,都不能正常加载lsi驱动了吗?我看过initrd里面的内容,bin目录下只有insmod命令,modprobe虽然有,但是实际指向了nash,我查了man,modprobe指向nash就只会退出返回0,也就是说系统启动的时候只会用insmod对moudules文件里面的模块进行加载,如果有依赖关系的话,一定会失败吗?

还望高手指点一下,我这方面的基础知识比较差啊!

论坛徽章:
0
2 [报告]
发表于 2006-11-05 13:17 |只看该作者
initrd 必须要有对应的scsi设备的驱动,否则就引导过程就是先有鸡还是先有蛋的过程了. 你的system+files都在scsi 设备上,但是启动的时候得找你的kernel file, 没有kernel file+module  files,你无法load scsi device, 可是找不到 scsi 设备怎么来load kernel files+modules files呢? initrd就是派这个用处的,在kernel 还没有被locate并且extract之前,把一个小ramdisk image(initrd)里面的驱动引导起来,定位和初始化需要在系统正常引导之前激活的设备.

论坛徽章:
0
3 [报告]
发表于 2006-11-05 19:45 |只看该作者
我反复试验过了,如果initrd不加载scsi驱动的话,是不能正确加载module的。
版主说的理论我这两天也看了点资料,对initrd的作用有些了解。
还有一点怀疑,如果版主说的,首先要有驱动才可以启动系统文件,我initrd里面 本身是有buslogic的驱动的,所有可以引导系统起来,我把虚拟系统装到buslogic驱动的scsi盘上了。加载不了的是后加的LSI驱动的共享磁盘。我反复试验的是,如果装系统的时候不提前加好不同scsi总线的虚拟盘,系统自动生成的initrd里面就只包含已存在的scsi设备驱动,后加的scsi总线设备没有initrd支持是不能用的。
我试验的另一个结果是系统盘是lsi的话,后加buslogic总线设备,更新initrd的话,可以加载,但是一连硬盘,vmware workstation5.51就crash了,启动不了系统,只要在vmx中把对应的硬盘的选项改为false,就正常了。
我不知道理论上是什么原因,我的workstation测试linux就先到这里了,开始文档整理,接下来我就先测一下装Redhat AS3有没有rh9的那些问题,然后就开始使用vmware的server版本测试双机了。

论坛徽章:
0
4 [报告]
发表于 2006-11-06 16:43 |只看该作者
我今天上午又试了一下,如果没有装系统前配置好虚拟机,虚拟机系统盘使用lsi,另外再增加一块甚至几块buslogic的scsi虚拟盘,使用另外的scsi总线。然后再开始装linux系统,系统就会正常启动并同时加载bus和lsi两种scsi驱动,而且不会因为再增加buslogic的共享虚拟盘而crash。
对照我以前的测试,这次的结果是比较理想的,看来如果已经装好了系统再加scsi盘,明显麻烦许多,而且有可能使vmware启动不了,所以还是推荐大家最好先加好硬盘后再装系统。
我是血的教训啊!在scsi虚拟盘上,我折腾了一周都多了,反复试验了N种情况啊!

论坛徽章:
0
5 [报告]
发表于 2006-11-06 16:45 |只看该作者
我很快就会把最近的文档记录放到Blog上,希望能给别人尤其是类似我这样的菜鸟提供点可借鉴的反面教材啊

论坛徽章:
0
6 [报告]
发表于 2006-11-06 17:40 |只看该作者
原帖由 robotyan 于 2006-11-6 16:43 发表
我今天上午又试了一下,如果没有装系统前配置好虚拟机,虚拟机系统盘使用lsi,另外再增加一块甚至几块buslogic的scsi虚拟盘,使用另外的scsi总线。然后再开始装linux系统,系统就会正常启动并同时加载bus和lsi两种 ...



不知道为什么要这样折腾自己.... 你就不能用一种vmware提供的scsi disk 类型么?

创建好vmware guest OS配置之后,在安装之前,在vmware console里面选择disk->advanced,你就可以修改disk type. 我是从来不用vmware图形界面创建和管理vmware的, 用vmdiskmanager 可以很方便的制定任何过程中的任何scsi盘的驱动类型. 所以也根本不会遇到这样的情况.

退一万步说, 就算创建guest OS选择LSI, 并且安装操作系统的之后才添加buslogic 类型的额外的盘, 你用kudzu(RHEL)的话,也可以额外增加对这个盘的支持.

我从来不用workstation版本的vmware,  从gsx到vmware server,都没有任何问题.(无论是先加还是后加).
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP