ubuntu16.04安裝megaraid-9460-16i驅動(raid卡驅動)

大健的日常發表於2020-12-09

目錄

raid的驅動安裝流程大同小異

需要做的準備

起因

處理過程(需要聯網,理論不聯網也可以,博主暫未找到合適方式)

提取raid驅動原始碼和deb檔案

開始編譯ubuntu16.04.5核心

開始安裝ubuntu16.04.5系統

載入raid驅動模組到ubuntu安裝記憶體中

安裝raid驅動包到ubuntu系統中

重啟伺服器

結束語


 

raid的驅動安裝流程大同小異

博主參考的華為伺服器安裝流程:https://support.huawei.com/enterprise/zh/knowledge/EKB1001947841

需要做的準備

  1. 伺服器可以上網
  2. 準備一臺相同系統版本的伺服器編譯原始碼

 

起因

有個客戶買了我們的伺服器,非同以往的配了一個少見的raid卡:megaraid-9460-16i

售後反饋說ubuntu16.04.5的server版安裝系統時無法找到磁碟,desktop版卻可以正常安裝進入系統。沒理由哈,難道ubuntu同一版本的server和desktop核心版本不相同麼

ps 這臺伺服器的磁碟在raid上,也就是說無法識別到raid。同一個客戶,已經是第二次發生無法識別raid,不過上一次的伺服器是華為的,有理可說,這一次卻是自己出廠那個的伺服器,著實打臉。

本著不相信的態度去了現場,走了一遍ubuntu-server版,果然是server無法識別到raid,又對比了下ubuntu16.04.5 desktop(4.15)和server(4.4)的核心版本,的確不一樣。

活久見,先處理眼前的吧。

處理過程(需要聯網,理論不聯網也可以,博主暫未找到合適方式

提取raid驅動原始碼和deb檔案

首先根據raid卡的型號,找到了raid卡官網的驅動下載地址:

https://www.broadcom.com/products/storage/raid-controllers/megaraid-9460-16i

根據型號我下載了這個:

https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/MR_LINUX_DRIVER_7.13-07.713.02.00-PUL.tgz

使用7z解壓開啟MR_LINUX_DRIVER_7.13-07.713.02.00-PUL.tgz,根據系統版本(我的是ubuntu,所以選擇ubuntu)提取出主要的兩個檔案:

deb檔案:megaraid_sas-07.713.02.00-1dkms.noarch.deb  (對應下圖路徑ubuntu\rpms-1\)

驅動原始碼:megaraid_sas-07.713.02.00-src.tar.gz

將這兩個檔案放入已經制作好的ubuntu 16.04.5-server系統盤的doc目錄中,另外準備一份 你的系統的sources.list檔案,之後會install  軟體,預設源太慢,建議換一個,我用的阿里源。

共三個檔案,列表如下(install目錄是系統盤原有的):

開始編譯ubuntu16.04.5核心

由於下載的驅動包裡沒有4.4.0-113核心版本的驅動模組,只好自行編譯。

將原始碼壓縮包megaraid_sas-07.713.02.00-src.tar.gz上傳到另一臺系統核心相同的環境中,解壓後進入該目錄,可以看到目錄下有compile.sh檔案

執行compile.sh,執行前再次確認系統核心是否和現場需要的版本相同。

將編譯的驅動模組拷貝到ubuntu系統盤的doc路徑下,此時doc路徑下應該會有以下檔案

開始安裝ubuntu16.04.5系統

將系統盤插入伺服器,開機進入ubuntu安裝介面,進行到檢測不到磁碟時

執行 ctrl+alt+f2,或者按esc退回到上一級,然後選擇 execute a shell

載入raid驅動模組到ubuntu安裝記憶體中

進入shell後,進入到cdrom目錄,再進入到doc目錄,檢視是否存在驅動檔案,執行以下命令:

將doc目錄下的檔案全部複製到/target/root/目錄下,然後進入/target/root目錄下執行

# modprobe   scsi_transport_sas
# modprobe   raid_class
# modprobe   configfs
# insmod   megarai_sas.ko

執行完成後,輸入exit返回圖形安裝介面,選擇detect disks,正常情況可以識別到硬碟了

如往常安裝ubuntu一樣,繼續安裝下去,直到出現“finish  the installation”,按ctrl+alt+f2進入命令列

安裝raid驅動包到ubuntu系統中

進入命令列後輸入

上圖中命令如下:
# chroot  /target
# bash
# cd /root

上圖中命令如下:
# mv sources.list  /etc/apt/sources.list
# apt-get update

上三張圖 圖中命令如下:
# apt-get install -y dkms
# dpkg -i megaraid_sas-07.713.02.00-1dkms.noarch.deb

重啟伺服器

確保上面命令列中的命令成功執行,缺少什麼包安裝什麼包;

執行完成後,按ctrl+alt+f1回到圖形介面。回車繼續。重啟後應該就可以正常進入系統了。

結束語

這方面經驗不多,網路資源也少,流程以供大家參考,有問題留言交流。

 

相關文章