在使用 SmartRAID V 的服务器上安装 CentOS 5.1

公司有一台老旧的服务器,在闲置一年后,需要重新安装 Linux。鉴于 CentOS 更新比较方便,我尝试在这台使用 SmartRAID V 的服务器上安装 CentOS 5.1。安装过程遇到了不少困难,但最终成功安装了 CentOS 5.1。

服务器的基本配置:

  • 2 x Intel(R) Xeon(TM) CPU 2.40GHz
  • 4G Memory
  • Adaptec (formerly DPT) SmartRAID V Controller
  • 6x 36704 MB SCSI disks
  • Intel Corporation 82545EM Gigabit Ethernet Controller
  • ATAPI 52X CD-ROM drive

安装过程描述如下:

0、做 RAID5

在安装之前,先用SmartRAID Storage Manager 做了一个 5 块硬盘组成的 RAID5,留了一块硬盘做 HotSpare。

1、安装介质

我下载的 Centos 5.1 安装盘是 DVD ISO。但服务器没有 DVD-ROM。所以先用 images/diskboot.img做了个 USB启动盘,尝试用 USB启动服务器,没有成功。不得已,只好用 images/boot.iso刻了一张可引导的 CD-ROM。在另一台 Linux 机器上把 DVD ISO 加载到 Apache 服务器的一个目录下,准备使用 HTTP 方式安装。

2、引导,加载 RAID 驱动

用安装盘引导后, 选择 HTTP 安装介质,配置网络参数和 HTTP 服务器地址,安装过程进入图形界面。这时,如果直接选择 ”Next“ 进入下一个步骤,系统将无法识别任何硬盘!这是因为:CentOS没有将 SmartRAID V的驱动放进用于安装的内核里!

解决方法是:事前将安装盘中的 CentOS/kernel-2.6.18-53.el5.i686.rpm 解开,把下列两个驱动模块文件:

/lib/modules/2.6.18-53.el5/kernel/drivers/message/i2o/i2o_block.ko
/lib/modules/2.6.18-53.el5/kernel/drivers/message/i2o/i2o_scsi.ko

拷贝到 HTTP 服务器的某个目录下,让要安装的服务器可以取得到。

然后,在图形安装界面下,按 Ctrl-Alt-F2 切换到命令行模式,运行 wget 命令将上面两个驱动文件取过来。然后执行命令:

# insmod i2o_block.ko
# insmod i2o_scsi.ko

加载 i2o_scsi.ko 时,可能需要好几分钟。

上面两条命令执行完毕后,按 Ctrl-Alt-F6 切换回图形安装界面,点击“Next”进入下一个步骤。这时会弹出一个错误窗口,大致内容是:

Error opening /dev/sda: No such device or address

不用管它,点击错误窗口的“Cancel”忽略它。这时,安装程序就可以成功地找到我们刚才在 Storage Manager 里做的 RAID5 硬盘 /dev/i2o/hda了。找到硬盘后,我们就可以按通常的步骤分区,安装操作系统了。

(在分区的时候,一开始我使用了缺省的 LVM,但是安装完成后引导时,进入 runlevel 3后,引导几乎处于停顿状态,系统不可用。没有找到原因。重新开始安装过程,选择自己手工分区,不使用 LVM。安装完成后引导一切正常。)

3、制作 initrd

软件包安装完成后,不能点击“Reboot”马上重新启动。因为 i2o_block.ko 和 i2o_scsi.ko并不在 CentOS 内核缺省的 initrd 文件里。这时重新启动,系统将无法引导。

在最后一个图形安装界面下,按 Ctrl-Alt-F2 重新切换到命令行状态,执行如下命令:

# chroot /mnt/sysimage /bin/bash
# /sbin/mkinitrd -f --preload=i2o_block --preload=i2o_scsi \
/boot/initrd-2.6.18-53.el5PAE.img 2.6.18-53.el5PAE
# exit

然后,按 Ctrl-Alt-F6 切换回图形安装界面,点击“Reboot”重新启动系统。大功告成!

以后,凡是升级内核后,都要执行上面的 mkinitrd 命令,把 i2o_block 和 i2o_scsi 两个模块加进 initrd 文件。


留下评论