做技术的同学可能有过类似这样的觉得——每天都会遇见新的问题,或则学到新的知识。但是一个人的时间和精力虽然有限,不是所有的岗位都能做到总是亲力亲为,每人最擅长的领域也各不相同。为了使工程师自己踩过的坑、那些实用的心得感受也能给你们带来帮助,把经验记录和分享下来就变得尤为可贵,这就是我们开办《工程师笔记》专栏的目的。
老版Linux不用愁——使用DKMS轻松制做RAID卡驱动
在我们的技术支持工作中,常常碰到有些顾客须要在我们的新品服务器上安装老版本Linux操作系统,而老版本Linux没有外置新硬件的驱动文件,不能直接安装。有些顾客会通过虚拟机来安装老版本Linux。
但是有些顾客因种种缘由,Linux不能运行在虚拟机上,须要直接运行在化学服务器硬件上,这就带来了好多麻烦。本文我们就阐述,在这些情况下怎样制做驱动,来安装系统。
安装Linux操作系统时,最大的困难常常在RAID卡驱动,这个RAID卡驱动是在安装Linux时须要加载的,没有它就不能辨识出硬碟对老机支持最好的linux,Linux也将难以安装下去。在操作系统手动辨识不到RAID卡时对老机支持最好的linux,须要事先找到对应的驱动,能够成功安装Linux。而硬件厂商常常不再提供老版本Linux的驱动,这时须要借助RAID卡厂商提供的sourcecode(源代码)自己制做RAID卡驱动。
在戴尔官网PowerEdgeR730服务器的驱动下载页面,PERC9系列RAID卡不仅RedHatEnterpriseLinux7之外,只提供了6.5、6.6和6.7版本的下载。而这并不代表较早的版本都难以支持。
制做RAID卡驱动有好多种方式。一种是把驱动加入到内核里编译,这个方式也有局限性——制作驱动过程中一旦报错,不容易找到出错缘由,大大降低了制做难度。并且假如须要升级内核,须要重新编译RAID卡驱动。
这儿介绍另一种方式,可以使用DKMS工具便捷的制做出RAID卡驱动。
DKMS(DynamicKernelModuleSupport)是Dell的一个opensource开源项目,主页在
DKMS目的是让依赖内核的模块源码独立下来,便于升级内核的时侯可以容易地重新构建。Linux模块和内核是有依赖关系的linux deepin,假如遇见内核版本的升级和变动,原先编译的驱动模块是难以继续使用的,须要自动再编译一遍。这就是Dell创建的DKMS项目的意义所在。DKMS可以帮我们维护内核外的这种驱动程序,在内核版本变动过后可以手动重新生成新的模块。另DKMS也提供了强悍的功能,可以借助驱动的源代码来编译出相应版本的驱动。正由于DKMS工具强悍的功能,好多厂商还会发布DKMS版本驱动。
DKMS的使用流程可以看右图:
这儿我们就以老版本RedHatLinux为例,用DKMS来制做PERCH730RAID卡驱动。
首先在一台虚拟机上安装好须要安装的Linux系统,以及相关模块。
之后到LSI(现为Avago)网站下载到H730对应的MegaRAIDSAS9361-8i的Linux驱动。解压后,在dkms-1目录下有一个megaraid_sas-06.806.08.00-1.dkms.tar.gz文件。把该文件解压后,上面有dkms-2.0.21.1-1.noarch.rpm和megaraid_sas-06.806.08.00-1dkms.noarch.rpm这2个文件。
1.安装dkms:#rpm–ivhdkms-2.0.21.1-1.noarch.rpm
2.安装RAID卡驱动:#rpm-ivhmegaraid_sas-06.806.08.00-1dkms.noarch.rpm
3.DKMS会把驱动模块加入到目录树下,把驱动源代码copy到相应位置,并生成相应的驱动模块文件。也可以单独使用DKMS生成驱动模块文件。#dkmsbuild-mmegaraid_sas-v06.806.08.00-k2.6.32-220.el6.x86_64-ax86_64
4.最后可以使用DKMS生成Redhat下的驱动映像文件:#dkmsmkdriverdisk-dredhat-mmegaraid_sas-v06.806.08.00-k2.6.32-220.el6.x86_64-ax86_64这样就使用DKMS工具很容易的制做出RAID卡驱动映像文件。
5.另还可以使用DKMS创建出rpm安装包linux查看磁盘空间,对linux不熟悉的人,可以很便捷的使用做好的网卡或其他的驱动或软件rpm包安装。#dkmsmkrpm-mmegaraid_sas-v06.806.08.00
以上是老版Linux不用愁——使用DKMS轻松制作RAID卡驱动的详细内容。更多信息请关注PHP中文网其他相关文章!