从 Broadcom (参看 参考资料)下载最新的 bcm57xx 驱动程序并解包驱动程序源代码。
从解包后的 bcm 驱动程序的 src 目录运行 make 来针对当前的运行内核进行构建。
将构建驱动程序 (bcm5700.ko for 2.6 kernel 或 bcm5700.o for 2.4 kernels)复制到管理服务器上的 /csminstall/csm/drivers/lt;kernel versiongt;/x86_64。
如果想针对其他内核版本进行构建,可以运行 make clean 来清除当前的构建,然后再运行 make LINUX=/path/to/your/kernel/source。
CSM 在构建 RAM 磁盘映像时,使用目录结构 /csminstall/csm/drivers/lt;kernel versiongt;/lt;architecturegt 之下的驱动程序;当内核版本匹配 RAM 磁盘内核版本时,这些映像用来在安装过程中引导系统。注意当为安装映像创建驱动程序时一定要小心:安装内核的内核版本号可能会不一样。例如 Red Hat 通常会在版本字符串尾部追加单词 BOOT。如果内核版本与所安装系统的运行内核相匹配,驱动程序对当前的操作系统也可用。如果您不能确认内核的版本,可以在 RAM 磁盘映像内进一步深入研究,如以下一节所述。
修改 RAM 磁盘
通常,这一步骤不推荐使用。但有时候又不得不这么做,比如不能确认内核版本的情况。在由于更新应用程序或其他情况而需要深入研究 RAM 磁盘映像时,以下命令会很有帮助。
当使用主机总线适配器 (HBA) 将存储直接被连到 Red Hat Linux 系统时,存储驱动程序(例如 qlogic qla2300 驱动程序)可能会在 ServeRAID 驱动程序(用于内部系统磁盘即操作系统磁盘)之前加载。如果是这样,就意味着安装在错误的磁盘上了。/dev/sda 代表的是附加存储介质而非本地磁盘上的 LUN。在这种情况下,在安装新的操作系统时,对重写 SAN 上而非本地磁盘上的数据要格外小心。为避免其发生,请从 CSM 用来创建引导映像的默认 Red Hat RAM 磁盘上移除 qlogic 驱动程序。当然,系统运行时也需要驱动程序,所以请使用另外一种机制,例如 post 安装脚本来为运行中的操作系统安装驱动程序。由于默认 Red Hat qlogic 驱动程序通常都不是故障转移驱动程序,所以推荐采用上述做法。
例如,从 Red Hat Enterprise Linux Advanced Server Version 3 的默认 RAM 磁盘映像移除 qla2300 驱动程序。表 4 给出了能实现此目的的命令。
表 4: RAM 磁盘命令
| 命令 |
目的 |
| cd /csminstall/Linux/RedHatEL-AS/3/x86_64/RedHatEL-AS3-QU5/images/pxeboot |
转到包含所需更改的 RAM 磁盘映像的那个目录。 |
| cp initrd.img initrd.img.orig |
备份原始映像。 |
| mkdir mnt |
创建一个挂载点。 |
| gunzip -S .img initrd.img |
解包这个映像。 |
| mount -o loop initrd.img /mnt |
将这个映像挂载到挂载点。 |
| 手动步骤 |
手动移除所有到 mnt/modules/* 中的 qla[23]00 的引用。 |
| cp mnt/modules/modules.cgz |
将模块归档文件从映像复制到当前目录。 |
| gunzip -c modules.cgz | cpio -ivd |
解包这个模块归档文件。 |
| rm modules.cgz |
删除这个模块归档文件。 |
| rm 2.4.21-32.EL/ia32e/qla2* |
从解包后的模块归档文件中删除 qlogic 模块。 |
| find 2.4.21-32.EL -type f | cpio -–o -H crc | gzip -c -9 > modules.cgz |
删除 qlogic 模块后,打包剩余模块。 |
| rm -rf 2.4.21-32.EL |
删除解包后的模块归档文件。 |
| mv -f modules.cgz mnt/modules |
用新的模块归档文件代替旧的模块归档文件。 |
| umount mnt |
卸载这个 RAM 磁盘映像。 |
| rmdir mnt |
移除挂载点。 |
| gzip -S .img initrd |
再次打包这个 RAM 磁盘映像。 |
注意:要修改 Suse 或 SLES 的 RAM 磁盘,必须确保 ips(ServeRAID 驱动程序)出现在 INITRD_MODULES stanza 之下的 /etc/sysconfig/kernel 文件内的所有 HBA 驱动程序之前。用于创建 RAM 磁盘映像的 Suse 或 SLES 机制可确保驱动程序被顺序加载。
安装重新引导前和重新引导后脚本
由于每个环境和集群都是不相同的,您可能需要应用一些安装后脚本来根据您自己的特定需求定制操作系统安装。可以在重新引导到新安装的系统之前或之后进行这些操作。对于配置备用网络适配器来说,这十分有用,CSM 针对此目的提供了一个示例脚本。由于双网络设置(到每个节点都有一个计算网络和一个存储网络)的原因,这个示例集群将需要使用备用适配器配置。具体的步骤如下所示:
- 将 CSM 提供的默认适配器配置脚本复制到
installprereboot 脚本执行目录以使脚本可以在安装时运行,确保它能运行,如下所示: