ubuntu16.04安装avago megaraid-9460-16i驱动(raid卡驱动)

目录

raid的驱动安装流程大同小异

需要做的准备

起因

处理过程(需要联网,理论不联网也可以,博主暂未找到合适方式)

提取raid驱动源码和deb文件

方式一:提取raid驱动模块

方式二:编译raid驱动模块

开始安装ubuntu16.04.5系统

加载raid驱动模块到ubuntu安装内存中

安装raid驱动包到ubuntu系统中

重启服务器

结束语


raid的驱动安装流程大同小异

博主参考的华为服务器安装流程:https://support.huawei.com/enterprise/zh/knowledge/EKB1001947841

需要做的准备

  1. 服务器可以上网
  2. 准备一台相同系统版本的服务器编译源码

 

起因

有个客户买了我们的服务器,非同以往的配了一个少见的raid卡:avago  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目录是系统盘原有的):

方式一:提取raid驱动模块

在相同的ubuntu 内核版本中安装megaraid_sas-07.713.02.00-1dkms.noarch.deb 

安装前需要先安装dkms,由于dkms需要patch依赖,建议联网安装

# apt-get install dkms
# dpkg  -i megaraid_sas-07.713.02.00-1dkms.noarch.deb 
(正在读取数据库 ... 系统当前共安装有 353228 个文件和目录。)
正准备解包 megaraid_sas-07.713.02.00-1dkms.noarch.deb  ...

Uninstall of megaraidsas module (version 07.713.02.00) beginning:
正在将 megaraid-sas (07.713.02.00-1dkms) 解包到 (07.713.02.00-1dkms) 上 ...
正在设置 megaraid-sas (07.713.02.00-1dkms) ...

Creating symlink /var/lib/dkms/megaraid_sas/07.713.02.00/source ->
                 /usr/src/megaraid_sas-07.713.02.00

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.4.0-177-generic -C /lib/modules/4.4.0-177-generic/build M=/var/lib/dkms/megaraid_sas/07.713.02.00/build modules......
cleaning build area....

DKMS: build completed.

megaraid_sas:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/4.4.0-177-generic/updates/dkms/

/etc/modprobe.d/dkms.conf: added alias reference for 'megaraid_sas'
depmod........

Backing up initrd.img-4.4.0-177-generic to /boot/initrd.img-4.4.0-177-generic.old-dkms
Making new initrd.img-4.4.0-177-generic
(If next boot fails, revert to initrd.img-4.4.0-177-generic.old-dkms image)
update-initramfs....

DKMS: install completed.
正在处理用于 initramfs-tools (0.122ubuntu8.14) 的触发器 ...
update-initramfs: Generating /boot/initrd.img-4.4.0-177-generic

安装完成后,查看驱动输出目录是否存在ko文件

# ls -l /lib/modules/$(uname -r)/updates/dkms/      
总用量 252
-rw-r--r-- 1 root root 256528 12月  9 10:26 megaraid_sas.ko

将编译的驱动模块拷贝到ubuntu系统盘的doc路径下,此时doc路径下应该会有以下文件

方式二:编译raid驱动模块

博主愚钝,现场实施的时候没考虑到方式一

将源码压缩包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目录,查看是否存在驱动文件(若没有找到准备的ko文件,就拷贝另一个U盘插入到服务器上,挂载U盘,找到准备好的那些文件),执行以下命令:

将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回到图形界面。回车继续。重启后应该就可以正常进入系统了。

结束语

这方面经验不多,网络资源也难找,流程以供大家参考,有问题留言交流。

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值