转自:http://coralzd.blog.51cto.com/90341/580046

新来了一批服务器,全都是清一色的国产服务器,相同的阵列卡,令人头疼的是Linux标准内核不包含该raid驱动,需要单独安装,如果是新升级内核,肯定需要编译进去该raid驱动。
一、先把主板自带的驱动光盘中的驱动文件拷贝出来,或者到Intel的网站下载,当前最新的是 ESRT2_Linux_v.14.00.1203.2010_u1_.zip,解压缩后找到对应系统版本的驱动镜像,CentOS 5.5 对应的是 : megasr-14.00.1203.2010-1-rhel50-u5-all.img,为使用方便,同时在优盘建个文件夹,用UltraISO 打开前面的img文件,将里面文件拖放到新建的文件夹中;

二、机器启动,进到BIOS里,将SAS模式设置为阵列模式,Quick Boot设置为 Disabled ,磁盘优先顺序里吧阵列提到第一位, F10 保存重启;

三、启动过程中按CTRL+E 或者进raid设置raid10模式(根据实际需要),配置好raid, 保存退出重启;

四、光驱放入安装光盘,在安装界面的第一个画面输入 :linux text dd (根据个人习惯来安装)
五、安装程序启动,会提示是否需要加载,按Yes,在弹出的对话框里找到含有驱动的USB设备,选中拷贝好的.img文件,确定,驱动加载完毕,安装程序提示是否需要继续加载其他驱动,如无其他设备,选择No,返回安装界面,按正常步骤操作即可,安装过程中会发现安装程序能正常识别到raid驱动设备了;

接下来,将U盘拔出,因为U盘符占用/dev/sda,不拔出linux会把U盘当硬盘的,这样系统直至安装结束。
安装结束,多半会yum -y update 升级下,如果同时升级了内核,新的内核不会自动添加raid驱动的,重启后就进不了系统了,所以升级完毕切记不要忙着重启 , 以CentOS升级到5.6举例:

megasr.ko 是驱动模块,如果更新前的内核里不包含这个文件可以在驱动的.img文件里找到:

# mkdir ~/megasr  
# mkdir /mnt/tmp  
# mount -o loop /temp/megasr-14.00.1203.2010-1-rhel50-u5-all.img /mnt/tmp  
# cd /mnt/tmp  
# cp modules.cgz ~/megasr  
# cd ~/megasr  
# gunzip -S .cgz modules.cgz  
# cpio -ivd < modules  
# cp 2.6.18-194.el5/x86_64/megasr.ko /lib/modules/2.6.18-238.12.1.el5/updates/megasr.ko #注意根据实际版本情况适当调整  
# depmod -v 2.6.18-238.12.1.el5  
# mv /boot/initrd-2.6.18-238.12.1.el5.img /boot/initrd-2.6.18-238.12.1.el5.img.backup  
# mkinitrd /boot/initrd-2.6.18-238.12.1.el5.img 2.6.18-238.12.1.el5



================================以上是转载内容=================================

下面说说我的经验

第三行的 /mount -o loop 后面的 /temp/megasr-14.00....   这个目录可以根据你的具体情况,自己设定就可以了。但前提是你需要有该LSI SAS的驱动

CentOS 5.2驱动 

CentOS 5.3驱动 

CentOS 5.4驱动 

下载完以后,找到你当初装系统时用的那个驱动IMG就可以了。 然后把该IMG文件挂载到 /mnt/tmp 目录即可。


第二个要注意的就是,原作者在代码中注释的 根据具体的版本,调整 2.6.18-238.12 等这样的目录就可以。