为openSUSE添加 RAID 驱动
[ 2014/07/04 11:39 | by selboo ]
感谢 丁哥 分享 QQ:13712899
1 制作2.6.34-12 和 2.6.34.10的驱动模块:
准备一台与安装服务器相同版本的操作系统:(注意内核版本号,这台服务器我们称它为 'b服务器')
需要安装的生产服务器我们称它为 ‘a服务器’
1.1 解压 megaraid_sas-06.703.11.00-src.tar
1.2 进入 megaraid_sas-06.703.11.00 目录
1.3 生成驱动模块
#make -c "本机内核目录" M=要安装的目的地址 modules
例如 make -c /lib/modules/内核/build M=$pwd modules
1.4 得到需要的驱动模块:megaraid_sas.ko
使用命令modinfo检查模块内容,其中有支持版本!
2 修改光盘内的启动内核!
2.1 提取光盘内的initrd: (/boot/i386/loader/initrd)
2.2 解压initrd文件:gzip -dc initrd |cpio -ivd && rm -f initrd
2.3 进入驱动目录,并拷贝(1.3生成的.ko文件)
cp xxx.ko ./lib/modules/内核版本号/initrd/目录下
2.4 检查.ko文件的MD5和 modinfo是否正确!
2.5 封装initrd
find . |cpio -o -H newc |gzip -9 >/tmp/initrd
2.6 替换光盘内的initrd: (/boot/i386/loader/initrd)
2.7 save光盘,并刻录!
注意:光盘引导内核结构简单,并不存在别名和主配置文件(modules.dep)
至此,安装光盘已经可以识别出raid卡
3 让硬盘上的系统也识别出raid卡!!
修改系统引导内核/boot/initrd-版本号
添加.ko文件
3.1 重复1.3的步骤,制作出与硬盘上操作系统内核版本一致的.ko文件!
3.2 在光盘安装过程中将驱动添加,此步骤方法有三种,方法2,3在附录中介绍!
安装完毕后,系统弹出是否重启,选择stop!
3.3 在b服务器上制作 ‘initrd-内核版本’文件!
3.3.1 将已经暂停的a服务器上的‘/boot/initrd-内核版本’文件拷贝到‘b服务器’上!
注意:此硬盘已经umount,需要手工mount!
3.3.2 gzip -dc initrd |cpio -ivd && rm -f ‘initrd-内核版本’
3.3.3 拷贝.ko文件到./lib/modules/内核版本/kernel/drivers/scsi/megaraid/
3.3.4 修改配置文件和别名文件:
lib/modules/内核版本/modules.alias
lib/modules/内核版本/modules.dep
3.3.4.1 其中modules.dep 指明了.ko文件所在位置,按照实际目录拷贝或者修改文件即可,保证一致!!
3.3.4.2 modules.alias是.ko文件的的别名,其中指定了驱动调用硬件的终断号等信息!!
使用modinfo megaraid_sas.ko,将其中的alias 取出!
检查 modules.alias中关于 megaraid_sas 模块的别名信息,确保两者完全一致即可。
3.3.5 封装‘initrd-内核版本’文件!
find . |cpio -o -H newc |gzip -9 >/tmp/initrd-内核版本号
3.4 拷贝‘initrd-内核版本’到 ‘a服务器’
和光盘不同,系统引导内核有lib/modules/内核版本/目录下有配置文件需要修改!
3.5 进入‘a服务器’,重复3.3.3 和3.3.4步骤
注意:3.5步骤目前来看并不是必须步骤,笔者曾经测试没有3.5步骤一样可以正常使用,但是为了安全起见,最好是进行3.5!
4 按照部署文档进行升级,reboot前重复 步骤 3
5 附录:
方法1
安装过程可以不用修改 /boot/initrd-内核版本号 文件!!
具体方法如下:在系统进入安装过程以后, 按alt-f2 进入命令行!
时刻查看/mnt/lib/modules/内核/目录
在目录出现的时候立刻拷贝.ko文件到 /mnt/lib/modules/内核/目录/kernel/drivers/scsi/megaraid/ 目录下!
方法2:制造驱动程序镜像,启动光盘的时候按f6加载:
此方法缺少几个安装脚本,不知道在哪里下载。
详细办法需要查看:http://lists.opensuse.org/opensuse-autoinstall 内的邮件,信息量太大。
方法3:制造aotuinst.xml文件, 在其中加入安装驱动的步骤。
未测试!
方法4:直接在内核中增加驱动!
相关日志
为openSUSE添加 RAID 驱动
为openSUSE添加 RAID 驱动 操作笔记
参考资料:
http://www.2cto.com/os/201306/217217.html
http://hi.baidu.com/ope_perfect/item/3f56a33376c483f9df22210d
http://blog.sina.com.cn/s/blog_6795385f0100kdb7.html
http://www.robinlu.com/blog/archives/144
http://lists.opensuse.org/opensuse-autoinstall/2009-10/msg00043.html
http://www.newhua.com/2011/0623/125591.shtml
最后编辑: selboo 编辑于2014/07/04 11:45