正在加载...

为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
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]