鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网络程序脚本 > 其它 > >

集成raid驱动下CentOS 5.5系统盘的定制

来源:互联网 作者:佚名 时间:2013-08-22 11:18
由于CentOS5.5操作系统自身没有集成LogicMegaRAIDSAS1078驱动,所以在标配有此类raid卡的服务器需要安装CentOS5.5时,需要我们用软驱或者U盘的方式来加载raid驱

    由于CentOS 5.5操作系统自身没有集成Logic MegaRAID SAS 1078驱动,所以在标配有此类raid卡的服务器需要安装CentOS 5.5时,需要我们用软驱或者U盘的方式来加载raid驱动,进而完成系统的安装。针对此种情况,本人突发奇想,想自定制一套满足此类raid卡的CentOS 5.5系统盘,香港虚拟主机,此系统盘除了只需手动分区外(由于分区会因业务的不同会有所变化,故此处不定制),其余所有要实现自动安装之目的,而且需增加一些第三方的软件包与做一些系统安全方面的设置,从而达到真正自动运维之目的,为了这个梦想,本人找遍谷歌与百度,网上都能难找到一篇完全的教程与文档来实现我的这个想法。紧接着...下面就有了我自己艰难的定制之路。

    在定制之前,本人开始直接想尝试修改光盘根目录下的isolinux目录下的引导文件isolinux.cfg,直接在引导选项加入Logic MegaRAID SAS 1078卡的驱动文件megasr.img,即操作方式:dd=cdrom:/megasr.img文件,可是事与愿违,启动安装过程中,提示让我们再次选择设备驱动器来加载第三方驱动,故只有另辟蹊径,重谋对策。考虑到系统安装识别驱动是靠initrd.img这个镜像来实现的,需initrd.img这个文件解开,把Logic MegaRAID SAS 1078 raid卡驱动文件中的.ko文件导入到initrd.img文件,进行再次打包,以实现系统的顺利安装;同时为了实现安装好的系统顺利启动,我们再次需要编辑ks.cfg这个kickstart文件,将Logic MegaRAID SAS 1078 raid卡驱动文件中的.ko文件导入到/lib/modules/`uname -r`/updates/目录下,mkinitrd重新制作initrd文件来实现安装后系统的引导,香港服务器,具体步骤如下:

1、挂载光驱

[root@localhost ~]# mount /dev/cdrom /mnt 

2、创建临时目录

[root@localhost ~]# mkdir -p /root/iso/CentOS 

3、提取安装好系统需要RPM包

    正常安装好操作系统在/root目录下会有install.log文件,这个就是操作系统安装RPM包的记录,我们从这些记录中,将所需的RPM包从/mnt/CentOS中复制到/root/iso/CentOS里面去,这里我们编写脚本package.sh。

运行package.sh脚本,会筛选出我们需要的一些rpm包,rpm包放置在我们定制系统盘的/root/iso目录下的CentOS目录中。

[root@localhost ~]# sh package.sh 

4、把原镜像除了CentOS目录外的文件全部复制至/root/iso目录下

5、解开initrd.img文件(file /root/iso/isolinux/initrd.img查看是gzip文件)

[root@localhost ~]# mkdir /tmp/initrd  

[root@localhost ~]# cd /tmp/initrd  

[root@localhost initrd]# gzip -dc /root/iso/isolinux/initrd.img | cpio -ivd  

[root@localhost initrd]# cd modules  

[root@localhost modules]# gzip -dc modules.cgz | cpio -ivd 

modules子目录中的modules.cgz是经过gzip压缩过的cpio包,将其解开。

6、解压Logic MegaRAID SAS 1078 raid卡驱动文件megasr.img文件(这里以附件的形式上传到博文后面,请自行解压,导入)

mkdir /tmp/megasr 

 7、生成新的initrd.img文件
    就像我们以前所做的,修改了源码包中的内容就势必再次打包恢复,这里我们需要把修改过的内容打包成一个initrd.img文件,不过这里要注意打包时的压缩格式,modules.cgz文件用的是crc格式,而initrd.img文件用的是newc格式,命令参数不要弄错。

8、将打包好的initrd.img文件复制到 /root/iso/isolinux 目录

[root@localhost initrd]# cp /tmp/initrd.img /root/iso/isolinux 

其中MegaCli-2.00.15-1.i386.rpm与nload-0.7.4.tar.gz软件包详见博文后面的nload与MegaCli工具附件,请自行解压开来,上传到服务器上)

[root@localhost initrd]# cd  

[root@localhost ~]# mkdir /root/iso/Custom  

[root@localhost ~]# cp MegaCli-2.00.15-1.i386.rpm /root/iso/CentOS  

[root@localhost ~]# cp /tmp/megasr/2.6.18-194.el5/megasr.ko /root/iso/Custom  

[root@localhost ~]# cp nload-0.7.4.tar.gz /root/iso/Custom  

 10、安装上述定制的软件包,我们需要配置ks.cfg文件,具体ks.cfg的配置文件如下:  

11、为了使用系统安装按照ks.cfg文件来执行安装,编辑/root/iso/isolinux目录下的isolinux.cfg文件,如下:

[root@localhost iso]# cd /root/iso/isolinux/ 


12、生成comps.xml文件

[root@localhost isolinux]# cd ..  

[root@localhost iso]# createrepo -g repodata/*comps.xml /root/iso/ 

13、制作自定制CentOS 5.5系统镜像

网友评论
<