更改Raid卡和HBA卡在Linux下的启动顺序

http://tech.ddvip.com   2007年08月08日    社区交流

内容摘要:当server安装好RHEL3系统以后,如果又添加了HBA卡,准备连接光纤存储的时候,通常系统就无法启动了,去掉HBA卡恢复正常。

  当server安装好RHEL3系统以后,如果又添加了HBA卡,准备连接光纤存储的时候,通常系统就无法启动了,去掉HBA卡恢复正常。

  原理分析:

  linux系统启动的时候,除了加载内核文件之外,还要加载一个初始化映像,用来加载一些必要的驱动,比如scsi卡,raid卡,ext3文件系统等等。

  通常对于存储设备,谁先加到内存,谁就是第一个硬盘,如sda 后面的就是sdb,以此类推。

  因为有的时候如果安装HBA卡连接了存储柜,而加载驱动的时候先加载了HBA的驱动,而后才加载主板scsi或者raid的驱动,这样就导致磁盘柜认到的是sda了,影响的系统启动。

  解决方法:

  重新生成初始化文件,更改驱动加载顺序,让本地硬盘或者raid卡上的硬盘成为sda,磁盘柜上的认成sdb。

  具体步骤如下:

  以x366 添加8i卡,和HBA卡,连接ds400为例子,系统安装在8i卡控制的本地硬盘操作系统为redhat as2.1 update 6 ,8i卡的驱动和HBA卡的驱动系统都可以自己认到,如果直接启动系统,系统就会把HBA卡上的盘认成sda,因此,安装系统的时候不连接盘柜,可以正常安装系统,安装好之后用root登陆系统。

  观察默认的 /etc/modules.conf 通常如下:

  alias scsi_hostadapter qla2300
  alias scsi_hostadapter1 aacraid
  alias scsi_hostadapter2 aacraid

  更改成如下:

  alias scsi_hostadapter0 aacraid
  alias scsi_hostadapter1 aacraid
  alias scsi_hostadapter2 qla2300
  alias scsi_hostadapter3 qla2300
  options scsi_mod max_scsi_lunx=128

  保存退出

  运行如下命令重新生成初始化文件

  #cd /boot
  #mv initrd-2.4.9-e.57.img initrd-2.4.9-e.57bak.img
  #mkinitrd initrd-2.4.9-e.57.img 2.4.9-e.57
  #mv initrd-2.4.9-e.57smp.img initrd-2.4.9-e.57smpbak.img
  #mkinitrd initrd-2.4.9-e.57smp.img 2.4.9-e.57smp
  #mv initrd-2.4.9-e.57summit.img initrd-2.4.9-e.57summitbak.img
  #mkinitrd initrd-2.4.9-e.57summit.img 2.4.9-e.57summit
  #init 6

  连接ds400,可以正常启动了。

责编:豆豆技术应用

正在加载评论...