歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux安裝 >> 【工程師筆記】第四期:老版Linux不用愁

【工程師筆記】第四期:老版Linux不用愁

日期:2017/4/19 13:56:30   编辑:Linux安裝

【工程師筆記】第四期:老版Linux不用愁 ——使用DKMS輕松制作RAID卡驅動

2016-06-03 郭棟 戴爾企業級解決方案

戴爾企業級解決方案

【工程師筆記】第四期:老版Linux不用愁

DELL_Enterprise

在變革的時代中,唯以變,可應萬變! 戴爾企業級解決方案,讓您第一時間了解戴爾最新的服務器、存儲和網絡技術,實時獲悉戴爾大數據和雲計算等解決方案,最快掌握戴爾最新的成功案例和活動信息。以創新技術和前瞻視野,助您把握時代先機,讓企業在未來就緒!

點擊"戴爾企業級解決方案"快速訂閱


【工程師筆記】第四期:老版Linux不用愁

做技術的朋友可能有過類似這樣的感覺——每天都會遇到新的問題,或者學到新的知識。然而一個人的時間和精力畢竟有限,不是所有的崗位都能做到總是親力親為,每人最擅長的領域也各不相同。為了使工程師自己踩過的坑、那些實用的心得體會也能給大家帶來幫助,把經驗記錄和分享出來就顯得尤為可貴,這就是我們開設《工程師筆記》專欄的目的。

【工程師筆記】第四期:老版Linux不用愁

老版Linux不用愁 ——使用DKMS輕松制作RAID卡驅動

【工程師筆記】第四期:老版Linux不用愁

在我們的技術支持工作中,經常遇到有些客戶需要在我們的新款服務器上安裝老版本Linux操作系統,而老版本Linux沒有內置新硬件的驅動文件,不能直接安裝。有些客戶會通過虛擬機來安裝老版本Linux。
然而有些客戶因種種原因,Linux不能運行在虛擬機上,需要直接運行在物理服務器硬件上,這就帶來了很多麻煩。本文我們就探討,在這種情況下如何制作驅動,來安裝系統。
安裝Linux操作系統時,最大的困難往往在RAID卡驅動,這個RAID卡驅動是在安裝Linux時需要加載的,沒有它就不能識別出硬盤,Linux也將無法安裝下去。在操作系統自動識別不到RAID卡時,需要事先找到對應的驅動,才能成功安裝Linux。而硬件廠商往往不再提供老版本Linux的驅動,這時需要利用RAID卡廠商提供的source code(源代碼)自己制作RAID卡驅動。

【工程師筆記】第四期:老版Linux不用愁

在戴爾官網PowerEdge R730服務器的驅動下載頁面,PERC 9系列RAID卡除了Red Hat Enterprise Linux 7之外,只提供了6.5、6.6和6.7版本的下載。而這並不代表較早的版本都無法支持。
制作RAID卡驅動有很多種方法。一種是把驅動加入到內核裡編譯,這個方法也有局限性——制作驅動過程中一旦報錯,不容易找到出錯原因,大大增加了制作難度。而且如果需要升級內核,需要重新編譯RAID卡驅動。

【工程師筆記】第四期:老版Linux不用愁

這裡介紹另一種方法,可以使用DKMS工具方便的制作出RAID卡驅動。
DKMS (Dynamic Kernel Module Support) 是Dell的一個open source開源項目,主頁在
DKMS目的是讓依賴內核的模塊源碼獨立出來,以便升級內核的時候可以容易地重新建立。Linux模塊和內核是有依賴關系的,如果遇到內核版本的升級和變動,以前編譯的驅動模塊是無法繼續使用的,需要手動再編譯一遍。這就是Dell創建的DKMS項目的意義所在。DKMS可以幫我們維護內核外的這些驅動程序,在內核版本變動之後可以自動重新生成新的模塊。另DKMS也提供了強大的功能,可以利用驅動的源代碼來編譯出相應版本的驅動。正因為DKMS工具強大的功能,很多廠商都會發布DKMS版本驅動。
DKMS的使用流程可以看下圖:

【工程師筆記】第四期:老版Linux不用愁


這裡我們就以老版本RedHat Linux為例,用DKMS來制作PERC H730 RAID卡驅動。
首先在一台虛擬機上安裝好需要安裝的Linux系統,以及相關模塊。
然後到LSI(現為Avago)網站下載到H730對應的MegaRAID SAS 9361-8i的Linux驅動。解壓後,在dkms-1目錄下有一個megaraid_sas-06.806.08.00-1.dkms.tar.gz文件。把該文件解壓後,裡面有dkms-2.0.21.1-1.noarch.rpmmegaraid_sas-06.806.08.00-1dkms.noarch.rpm這2個文件。
1.安裝dkms:#rpm –ivh dkms-2.0.21.1-1.noarch.rpm
2.安裝RAID卡驅動:# rpm -ivh megaraid_sas-06.806.08.00-1dkms.noarch.rpm
3. DKMS會把驅動模塊加入到目錄樹下,把驅動源代碼copy到相應位置,並生成相應的驅動模塊文件。也可以單獨使用DKMS生成驅動模塊文件。# dkms build -m megaraid_sas -v 06.806.08.00 -k 2.6.32-220.el6.x86_64 -a x86_64
4. 最後可以使用DKMS生成Redhat下的驅動映像文件:# dkms mkdriverdisk -d redhat -m megaraid_sas -v 06.806.08.00 -k 2.6.32-220.el6.x86_64 -a x86_64這樣就使用DKMS工具很容易的制作出RAID卡驅動映像文件。
5. 另還可以使用DKMS創建出rpm安裝包,對linux不熟悉的人,可以很方便的使用做好的網卡或其他的驅動或軟件rpm包安裝。# dkms mkrpm -m megaraid_sas -v 06.806.08.00不知您看完本文有什麼感想,是否有幫助呢?如果您對《工程師筆記》欄目有任何的意見或者建議,都可以在文章下面留言,以便我們將來能夠更好地為讀者服務。
相關內容導讀↓↓↓

【工程師筆記】第四期:老版Linux不用愁

點擊“閱讀原文”了解更多戴爾未來就緒解決方案



閱讀

精選留言

該文章作者已設置需關注才可以留言

寫留言

【工程師筆記】第四期:老版Linux不用愁

該文章作者已設置需關注才可以留言

寫留言

【工程師筆記】第四期:老版Linux不用愁

【工程師筆記】第四期:老版Linux不用愁

加載中

以上留言由公眾號篩選後顯示

Copyright © Linux教程網 All Rights Reserved