银河麒麟高级服务器操作系统V10SP2(X86)更新9560Raid卡驱动
一、基本环境
1 操作系统版本信息
[root@localhost ~]# nkvers
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)
Kernel:
4.19.90-24.4.v2101.ky10.x86_64
Build:
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
#################################################
2 9560驱动版本信息
(1)默认系统自带的版本为:07.707.03.00-rc1
[root@localhost ~]# modinfo megaraid_sas | egrep "^version|filename"
filename: /lib/modules/4.19.90-24.4.v2101.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko.xz
version: 07.707.03.00-rc1
(2) 更新之后的版本为:07.726.02.00-1
二、驱动编译安装
2.1 解压驱动源码包进行编译
执行./compile.sh进行源码驱动编译。由于驱动源码中没有提供针对麒麟系统编译好的驱动文件,所以需要使用src源码进行编译
[root@localhost raid]# ls
07.726.02.00-1_Driver_Linux.tgz
[root@localhost raid]# tar xf 07.726.02.00-1_Driver_Linux.tgz
[root@localhost raid]# ls
07.726.02.00-1_Driver_Linux.tgz DCSG00411462_selfcert.der generic_srpm megaraid_sas-07.726.02.00-src.tar.gz rhel8_oel8_centos8 signed_rhel9_oel9_centos9 sles12
citrix7 dkms-rpms kmod_srpm OS_Support_list.txt rhel9_oel9_centos9 signed_sles12 sles15
citrix8 fusionOs kmp_srpm README.pdf signed_rhel8_oel8_centos8 signed_sles15 ubuntu
[root@localhost raid]# tar xf megaraid_sas-07.726.02.00-src.tar.gz
[root@localhost raid]#
[root@localhost raid]# cd megaraid_sas-07.726.02.00/
[root@localhost megaraid_sas-07.726.02.00]# ls
compile.sh dkms.conf Makefile Makefile.standalone megaraid_sas_base.c megaraid_sas_debugfs.c megaraid_sas_fp.c megaraid_sas_fusion.c megaraid_sas_fusion.h megaraid_sas.h
[root@localhost megaraid_sas-07.726.02.00]# ./compile.sh
./compile.sh:行39: ./clean.sh: 没有那个文件或目录
make: 进入目录“/usr/src/kernels/4.19.90-24.4.v2101.ky10.x86_64”
CC [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas_base.o
CC [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas_fusion.o
CC [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas_fp.o
CC [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas_debugfs.o
LD [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas.o
Building modules, stage 2.
MODPOST 1 modules
CC /root/raid/megaraid_sas-07.726.02.00/megaraid_sas.mod.o
LD [M] /root/raid/megaraid_sas-07.726.02.00/megaraid_sas.ko
make: 离开目录“/usr/src/kernels/4.19.90-24.4.v2101.ky10.x86_64”
[root@localhost megaraid_sas-07.726.02.00]#
# 编译好的驱动文件在生成在了/root/raid/megaraid_sas-07.726.02.00/megaraid_sas.ko
2.2 将编译好的驱动进行压缩
xz -z megaraid_sas.ko
# megaraid_sas.ko文件会变为megaraid_sas.ko.xz
2.3 备份原有驱动,拷贝新驱动到指定路径
mkdir /root/bak && mv /lib/modules/4.19.90-24.4.v2101.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko.xz /root/bak
cp /root/raid/megaraid_sas-07.726.02.00/megaraid_sas.ko.xz /lib/modules/4.19.90-24.4.v2101.ky10.x86_64/kernel/drivers/scsi/megaraid/
2.4 更新img文件,保证重启系统生效
dracut --force --fstab --early-microcode --kmoddir /lib/modules/4.19.90-24.4.v2101.ky10.x86_64 --kver=4.19.90-24.4.v2101.ky10.x86_64
2.5 运行depmod -a,更新模块依赖
[root@localhost ~]# depmod -a 4.19.90-24.4.v2101.ky10.x86_64
# -a后面是具体的内核版本,根据实际情况进行更换
2.6 查看megaraid_sas模块版本
[root@localhost ~]# modinfo megaraid_sas | grep version
version: 07.726.02.00
srcversion: 256AA5FE00F7E356021D82E
vermagic: 4.19.90-24.4.v2101.ky10.x86_64 SMP mod_unload modversions
[root@localhost ~]# modinfo megaraid_sas
filename: /lib/modules/4.19.90-24.4.v2101.ky10.x86_64/kernel/drivers/scsi/megaraid/megaraid_sas.ko.xz
description: Broadcom MegaRAID SAS Driver
author: megaraidlinux.pdl@broadcom.com
version: 07.726.02.00
license: GPL
srcversion: 256AA5FE00F7E356021D82E
alias: pci:v00001000d000010E7sv*sd*bc*sc*i*
alias: pci:v00001000d000010E4sv*sd*bc*sc*i*
alias: pci:v00001000d000010E3sv*sd*bc*sc*i*
alias: pci:v00001000d000010E0sv*sd*bc*sc*i*
alias: pci:v00001000d000010E6sv*sd*bc*sc*i*
alias: pci:v00001000d000010E5sv*sd*bc*sc*i*
alias: pci:v00001000d000010E2sv*sd*bc*sc*i*
alias: pci:v00001000d000010E1sv*sd*bc*sc*i*
alias: pci:v00001000d0000001Csv*sd*bc*sc*i*
alias: pci:v00001000d0000001Bsv*sd*bc*sc*i*
alias: pci:v00001000d00000017sv*sd*bc*sc*i*
alias: pci:v00001000d00000016sv*sd*bc*sc*i*
alias: pci:v00001000d00000015sv*sd*bc*sc*i*
alias: pci:v00001000d00000014sv*sd*bc*sc*i*
alias: pci:v00001000d00000053sv*sd*bc*sc*i*
alias: pci:v00001000d00000052sv*sd*bc*sc*i*
alias: pci:v00001000d000000CFsv*sd*bc*sc*i*
alias: pci:v00001000d000000CEsv*sd*bc*sc*i*
alias: pci:v00001000d0000005Fsv*sd*bc*sc*i*
alias: pci:v00001000d0000005Dsv*sd*bc*sc*i*
alias: pci:v00001000d0000002Fsv*sd*bc*sc*i*
alias: pci:v00001000d0000005Bsv*sd*bc*sc*i*
alias: pci:v00001028d00000015sv*sd*bc*sc*i*
alias: pci:v00001000d00000413sv*sd*bc*sc*i*
alias: pci:v00001000d00000071sv*sd*bc*sc*i*
alias: pci:v00001000d00000073sv*sd*bc*sc*i*
alias: pci:v00001000d00000079sv*sd*bc*sc*i*
alias: pci:v00001000d00000078sv*sd*bc*sc*i*
alias: pci:v00001000d0000007Csv*sd*bc*sc*i*
alias: pci:v00001000d00000060sv*sd*bc*sc*i*
alias: pci:v00001000d00000411sv*sd*bc*sc*i*
depends:
retpoline: Y
name: megaraid_sas
vermagic: 4.19.90-24.4.v2101.ky10.x86_64 SMP mod_unload modversions
parm: lb_pending_cmds:Change raid-1 load balancing outstanding threshold. Valid Values are 1-128. Default: 4 (int)
parm: max_sectors:Maximum number of sectors per IO command (int)
parm: msix_disable:Disable MSI-X interrupt handling. Default: 0 (int)
parm: msix_vectors:MSI-X max vector count. Default: Set by FW (int)
parm: allow_vf_ioctls:Allow ioctls in SR-IOV VF mode. Default: 0 (int)
parm: throttlequeuedepth:Adapter queue depth when throttled due to I/O timeout. Default: 16 (int)
parm: resetwaittime:Wait time in (1-180s) after I/O timeout before resetting adapter. Default: 180s (int)
parm: smp_affinity_enable:SMP affinity feature enable/disable Default: enable(1) (int)
parm: rdpq_enable:Allocate reply queue in chunks for large queue depth enable/disable Default: enable(1) (int)
parm: dual_qdepth_disable:Disable dual queue depth feature. Default: 0 (int)
parm: scmd_timeout:scsi command timeout (10-90s), default 90s. See megasas_reset_timer. (int)
parm: crashdump_enable:Firmware Crash dump feature enable/disbale Default: enable(1) (int)
parm: perf_mode:Performance mode (only for Aero adapters), options:
0 - balanced: High iops and low latency queues are allocated &
interrupt coalescing is enabled only on high iops queues
1 - iops: High iops queues are not allocated &
interrupt coalescing is enabled on all queues
2 - latency: High iops queues are not allocated &
interrupt coalescing is disabled on all queues
default mode is 'balanced' (int)
parm: event_log_level:Asynchronous event logging level- range is: -2(CLASS_DEBUG) to 4(CLASS_DEAD), Default: 2(CLASS_CRITICAL) (int)
parm: disable_ext_io:Disable 1M IO support Default: 0(1M IO enabled) (int)
parm: enable_sdev_max_qd:Enable sdev max qd as can_queue. Default: 0 (int)
parm: poll_queues:Not supported for this kernel. (int)