简介:此驱动包专为华为服务器SR130 RAID卡(基于LSI3008芯片组)打造,适用于Windows Server 2012 R2及部分Linux环境,帮助运维人员完成阵列卡驱动安装、固件更新与存储管理,解决系统无法识别RAID卡或磁盘阵列异常等问题。压缩包共9个文件,大小仅2.37MB,以bin/rom固件文件、固件刷写工具、管理命令、自动化安装脚本及版本配置文件为主,结构紧凑,覆盖驱动、固件和实用工具三类内容。目前已有473人学习下载,适合负责华为服务器存储部署与维护的系统管理员、数据中心运维工程师及企业IT人员参考使用。通过该驱动包可获取SR130阵列卡在多系统下的驱动支持,并借助附带工具完成固件升级、RAID配置和状态查询,有效提升服务器存储的稳定性与数据安全性;保持驱动和固件版本同步更新,还有助于获得性能优化与潜在漏洞修复,降低生产环境存储故障风险。 搞过华为服务器维护的兄弟,对“华为RAID驱动RAID-SR130-3008IR-FW-15.00.07.00-Update1”这个包名应该不陌生。这是华为针对SR130 RAID卡发布的一个驱动与固件更新包,核心芯片是Broadcom/LSI的SAS3008,工作在IR(Integrated RAID)模式下,固件版本号是15.00.07.00,Update1代表这是华为官方在原生固件基础上重新封装适配过的版本。
这玩意儿的典型应用场景就是:华为机架服务器装Windows Server、Linux或ESXi时,安装界面找不到硬盘;或者设备管理器里SR130一直挂着黄色感叹号;再或者iBMC告警里报RAID卡固件版本过低。这三类问题,基本都能靠这个更新包解决。适合谁看?凡是手里管着华为RH2288H、RH2288 V5、TaiShan 200这类机型,又正好被RAID卡驱动折腾过的运维和IT工程师,这篇建议直接收藏。
1. 项目背景:SR130这块卡和它的驱动到底怎么回事
1.1 华为SR130是什么来头
SR130是华为服务器产品线里一块入门到中端定位的RAID卡。表面看是华为自己命名的,实际上核心控制器用的是Broadcom/LSI的SAS3008芯片。这块芯片是12Gb/s SAS控制器,带8个内部端口,走PCIe 3.0 x8通道。
SAS3008芯片有个特性:它分IT(Initiator/Target)和IR(Integrated RAID)两种固件模式。IT模式就是纯HBA,硬盘直通给系统,不做阵列逻辑;IR模式则在芯片里集成了一个轻量级RAID引擎,能支持RAID 0、RAID 1、RAID 10和JBOD,但注意,IR模式下没有RAID 5/6,因为那需要带缓存和RAID密钥的独立芯片(比如3108系列)才能实现。SR130出厂默认就是IR模式,所以它叫RAID卡,不是HBA卡。
这块卡在华为产品线里的定位很清晰:给不需要高级RAID功能、只求稳定直通或简单镜像的业务服务器用。比如双盘系统盘做RAID 1,数据盘用JBOD直通,这种组合在中小型机房和边缘计算节点里非常常见。
1.2 驱动包里的门道:FW-15.00.07.00-Update1版本号怎么读
很多人在华为官网上看到这个包名就懵了,一堆数字和英文,不知道哪个是驱动版本哪个是固件版本。我拆开讲一下。
RAID-SR130-3008IR-FW-15.00.07.00-Update1,这个命名拆开看是这么回事:RAID-SR130是产品系列,3008IR是控制器型号和模式,FW是Firmware的缩写,15.00.07.00是固件版本号,Update1是华为的封装修订号。
重点说15.00.07.00这个版本号。熟悉LSI/Broadcom固件体系的人会知道,SAS3008的固件版本分支里,15.x.x.x是IR模式的版本线。这个15.00.07.00对应的是Broadcom官方某个版本,华为在此基础上做了平台适配、BMC联动测试和电源管理调优,然后打成Update1发布。所以你在LSI官网上可能找不到完全相同的版本号,但在华为的兼容性列表里它是经过全平台验证的。
从这个角度说,我强烈建议华为服务器的RAID卡驱动和固件都从华为官方渠道下载,不要图省事去Broadcom官网抓原生包。华为的Update包在自家服务器上做过完整测试,尤其是和iBMC的告警联动、和服务器风扇策略的配合,这些是原生固件没有做适配的部分。
2. 装机前准备:先把硬件和系统环境摸透
2.1 硬件识别与金手指检查
拿到SR130这块卡,第 一步永远是物理检查。这里要提一个搜索结果里很多人都在搜的点:raid卡金手指和PCIe x8规范。SR130走的是PCIe 3.0 x8,对应的物理插槽是PCIe x8或x16。华为机架服务器主板上一般有多个PCIe插槽,你得确认插到了x8或以上带宽的槽位,插到x4槽位虽然物理上能塞进去(x1、x4卡可以插x8/x16槽,反向不行),但带宽会受限,性能跑不满。
金手指检查就三个字:看、摸、擦。看有没有发黑、氧化;摸有没有明显磨损或翘起;擦的话用橡皮擦轻轻擦一遍,把氧化层去掉。这个动作在做系统迁移或设备长期存放后再上架时特别有用,能避免很多“莫名其妙不识别”的问题。
还有一点容易被忽略:SR130卡的供电和散热。这张卡虽然功耗不高,但8个盘位的SAS线缆接满之后,卡上芯片发热量不低。装进机箱时确认卡上的散热片没有被动过,服务器风扇策略正常。我自己就遇到过一台机器,前一个维护的人把SR130的散热片换成了一块更矮的兼容片,结果夏天机房温度到35度时开始随机掉盘,排查了半个月才发现是芯片过热。
2.2 驱动匹配:不同操作系统该怎么选
SR130的驱动选型要看操作系统。由于SAS3008芯片在Linux内核里由mpt3sas模块驱动,在Windows里对应的是LSI的storport驱动,在ESXi里是vmw-ahci或lsi-msgpt3,所以不同系统的处理方式完全不同。
- Windows Server:安装系统时需要加载驱动。华为官方提供的Windows驱动包里包含了多个系统版本的driver目录,用设备管理器手动指定inf文件安装即可。
- RHEL/CentOS/Rocky Linux:内核原生自带mpt3sas,SR130基本即插即用。如果系统版本较老(如RHEL 7.x早期),建议升级内核或安装华为提供的补丁包,否则可能无法正确识别SAS3008的新固件版本。
- Ubuntu/Debian:同样依赖内核模块,一般无需额外操作。
- ESXi:从6.5开始自带mpt3sas驱动,但如果是自定义镜像或老版本,需要手动打VIB包。
我建议在部署系统前先确认驱动来源,这能省去装到一半找驱动的麻烦。下面这个表是我常用的对应关系:
| 操作系统 | 驱动模块/包 | 获取方式 |
|---|---|---|
| Windows Server 2008 R2/2012/2016/2019/2022 | storport (LSI/Avago驱动) | 华为官网SR130驱动包 |
| RHEL/CentOS 7/8/9 | mpt3sas(内核自带) | 无需额外安装,必要时升级内核 |
| Ubuntu 18.04/20.04/22.04 | mpt3sas(内核自带) | 无需额外安装 |
| ESXi 6.5/6.7/7.0/8.0 | lsi-msgpt3 (VIB) | VMware官方或华为定制镜像 |
2.3 备份先行:操作前必做的两件事
这个我必须放在最前面强调:不管是装驱动还是刷固件,第一步永远是备份RAID配置。
怎么备份?如果系统能进,用storcli或sas3flash导出配置。storcli是Broadcom官方的管理工具,命令是storcli /c0 show查看控制器状态,storcli /c0 show all查详细信息。如果要导出阵列配置信息用于灾难恢复,可以用storcli /c0 show j把配置以JSON格式导出来。sas3flash则是直接跟控制器固件对话的工具,也能查固件版本。
如果系统进不去,那就只能在RAID卡自检界面(Ctrl+R或者开机时Ctrl+C进入SAS BIOS配置界面)拍照记录当前阵列配置,包括RAID级别、成员盘位置、热备盘分配。这步别偷懒,照片存手机里都行。有一次我给一台老RH2288H升级固件,结果升级完有一块硬盘的order变了,阵列起不来,就是因为之前没记录,后来对着照片一点点恢复的,累死。
3. 驱动安装与固件升级实操全流程
3.1 首次安装系统时如何加载驱动
新装机或者重装系统时,Windows是最容易卡壳的。
Windows Server安装到选择磁盘那一页,如果看不到SR130后面挂的硬盘,点“加载驱动程序”按钮,把华为驱动包解压后放在U盘里,选择对应系统的目录,系统会自动扫描并识别。这里有个细节:华为的Windows驱动包解压后目录层级很深,最常见的问题是U盘里文件路径中包含中文或特殊字符,导致扫描失败,建议直接把驱动文件夹丢到U盘根目录,路径全英文。
ESXi的话,6.5以上版本通常直接用原版镜像安装就能识别,但如果用的是定制镜像或者服务器型号比较老,安装界面也找不到磁盘。这种情况下有两种办法:一是用ESXi-Customizer这类工具把lsi-msgpt3 VIB打进去生成自定义ISO,二是先装到U盘再通过esxcli software vib install把驱动补上。
Linux系统基本不需要额外操作。如果你用RHEL 7早期版本装完后发现硬盘识别了但报错,先检查内核版本是否过低,一般升到3.10.0-957以上就没问题。
3.2 已装系统下升级驱动和固件的标准路径
如果你机器上已经装了系统,需要升级到15.00.07.00 Update1这个固件版本,推荐路径是:先升级固件,再装/升级驱动,顺序不要反。
固件升级有三种方式:
第一种,华为iBMC web界面升级。登录iBMC,在固件升级页面选择“RAID卡”分类,上传FW包,系统会自动校验并执行刷写。这个方式最安全,因为iBMC会检查固件包的合法性,并且刷写过程中会自动把阵列卡置于维护模式,避免业务I/O中断。缺点是必须一台一台操作,批量环境下效率低。
第二种,华为的Firmware Update工具(一般是Windows或Linux下运行的命令行工具)。这种方式适合在操作系统里批量执行。以Linux为例,脚本执行后会自动检测RAID卡型号和当前固件版本,比对后给出“需要升级”的提示,然后刷写。期间要保证服务器不断电,PDU和UPS状态确认好。
第三种,用sas3flash直刷。这是最底层的做法,操作前一定要确认你手里的fw文件是适配SAS3008 IR模式的,否则可能刷成IT模式固件,那阵列信息直接丢干净。我有一台测试机干过这事,还好只是测试盘。
以Linux下的sas3flash为例,升级流程是:
# 查看当前固件版本 sas3flash -list # 备份当前固件(强烈建议) sas3flash -list -nvram > nvram_backup.txt # 刷写新固件(文件放在当前目录) sas3flash -f 15.00.07.00.fw # 刷写完成后重启 reboot刷完后用sas3flash -list确认版本显示为15.00.07.00,再用storcli确认RAID配置完好。
需要说明的是,sas3flash直刷方式更适合有经验的老手,新人在生产环境还是走iBMC或华为官方工具更稳妥。华为的Update1包在固件里做了很多平台特定的初始化,直刷原生Broadcom固件反而可能丢失这部分适配。
3.3 升级后的验证:阵列状态和性能确认
固件刷完重启后,别急着收工,至少要做三层验证。
第一层,确认固件版本。进SAS BIOS(开机按Ctrl+C)或系统里用sas3flash/storcli看版本号。
storcli /c0 show | grep -i fw第二层,确认阵列状态。用storcli查看所有虚拟磁盘的状态:
storcli /c0 /vall show检查VD State是不是Optl,有没有降级或者重建中的状态。如果有硬盘在Rebuild,先等到完成再说。
第三层,确认直通盘识别。用storcli /c0 /eall /sall show查看所有物理盘状态,确认JBOD或直通盘都被系统正常识别。这一步经常被忽略,但升级固件后出现过物理盘变成“未配置好”状态的情况,需要重新配置。
如果系统里装了华为的iBMC管理插件或者RESTful API对接了监管平台,顺手检查一下RAID卡告警是否消除。很多时候升级前iBMC上报的“RAID卡固件版本过低”告警,在固件升级完成后需要过几分钟才自动清除,不用着急。
4. 常见问题与排查技巧实录
4.1 Windows装完驱动还是黄色感叹号
这是我被问得最多的一个问题。设备管理器里SR130始终显示黄色感叹号,错误码一般是“无法启动设备(代码10)”或者“设备无法找到足够的可用资源(代码12)”。
出现这个情况,八成是驱动版本和固件版本不匹配。比如固件是老的15.00.02.00,你却装了最新版Windows驱动,或者反过来,驱动还停留在老版本,固件已经升到15.00.07.00。解决方法是把驱动和固件版本都统一到华为官方推荐的组合。最简单的办法就是直接下载本文提到的FW-15.00.07.00 Update1整包,里面驱动和固件配套,一次性处理。
另一个原因是系统里残留了旧驱动。Windows下建议先把旧的storport、megasas驱动卸载干净,再重新安装。卸载后重启一次,再接新驱动。有时候需要删掉设备再扫描硬件改动,反复试几次才干净。
4.2 固件升级中断电,引导区损坏怎么办
这是最麻烦的情况。刷固件刷到一半机房跳闸,重启后RAID卡直接不认盘。
遇到这种情况,先别慌,RAID配置一般还在RAID卡上的NVSRAM里,只要不是存储介质挂了,有救。
处理步骤:
- 确认RAID卡还能不能被识别。如果自检能过,进SAS BIOS看能不能看到VD。
- 如果能识别但配置丢了,尝试用之前的storcli配置备份恢复,或者手动重建阵列但选择“不初始化”(Import Foreign Config)。
- 如果卡已经完全无响应,可能需要进入bootrom恢复模式刷回固件。这个操作对sas3flash需要带特殊参数,不建议远程执行,最好是服务器本地接显示器键盘操作。
这个案例的教训是:刷固件一定要用UPS,机房没保障就别选半夜操作,老老实实选业务低峰期且有电池保障的窗口。另外,重要数据阵列在固件升级前把NVSRAM导出,恢复起来就是分钟级的事。
4.3 刷完固件后硬盘顺序变了,数据还在不在
一个让很多人虚惊一场的情况:升级固件后,进系统发现盘符乱了,比如原来的D盘变成E盘,某个挂载点访问报错。这跟RAID卡固件更新后设备枚举顺序变化有关,数据本身没丢,但系统的设备映射变了。
处理方法是先确认RAID VD状态是正常,然后用blkid或磁盘管理确认每个分区的内容,再重新挂载或修改fstab。Windows下就打开磁盘管理看分区卷标,重新分配盘符就行。
如果是在Linux下挂载LVM或文件系统,建议先用lsblk -f确认每个设备上的文件系统UUID,再更新/etc/fstab挂载配置。有备份环境的话,升级固件后第一件事就是跑一次文件系统只读检查,确认数据完整。
4.4 容易被忽略的坑:驱动版本与iBMC告警联动
最后一类问题很多时候不被当成问题,但实际影响很大。华为的iBMC有一个固件版本基线库,装完系统后如果iBMC上报“RAID卡固件版本与基线不匹配”的告警,这个告警在设备维保和故障定位时会干扰判断。尤其是大批量服务器做运维平台纳管时,这种告警很容易刷屏。
解决办法就是统一升级到官方推荐的FW-15.00.07.00 Update1版本,让iBMC基线检查通过。升级完成后去iBMC告警界面确认告警清除。我自己在维护一个小机房时,就因为固件版本不统一,导致iBMC上隔三差五弹出版本不匹配的告警,后来花了一个周末把所有机器统一刷到Update1才算消停。
下面是几个典型问题的速查表:
| 现象 | 可能原因 | 解决动作 |
|---|---|---|
| Windows安装找不到硬盘 | 未加载驱动/驱动目录不对 | 重新加载驱动,确认U盘路径无中文 |
| 设备管理器代码10 | 驱动与固件版本不匹配 | 升级/统一驱动固件组合 |
| ESXi不识别硬盘 | 缺少lsi-msgpt3 VIB | 使用自定义镜像或esxcli安装VIB |
| Linux下盘符错乱 | 固件升级后枚举顺序变化 | 用UUID挂载,更新fstab |
| iBMC报固件基线不匹配 | 固件版本过旧 | 升级到15.00.07.00 Update1 |
5. 维护经验与后续建议
根据我自己的实操体会,RAID卡驱动和固件这块,最值得投入精力的时间是第一次部署时。只要初始的固件版本、驱动版本、iBMC基线三者对齐了,后面基本可以安静跑两三年不用动。反而是那种“机器跑着没事就不管”的习惯,等到上不了业务才想起来查版本,往往是最折磨人的。
最后再分享一个小技巧:每次升级完RAID卡固件,都把storcli的配置导出文件、sas3flash的NVSRAM备份、当前固件版本号这三个信息打包存到一个固定目录,文件名格式用“服务器SN_日期_操作内容”。这习惯养成了,处理任何RAID卡故障都能节省至少一半排查时间。
另外,如果你用的是ZFS这类自带软RAID的文件系统,有篇文章问“ZFS不用RAID卡更好吗”——SR130这类IR模式卡在直通模式下确实可以把硬盘透传给ZFS管理,只要把阵列卡设置为JBOD模式,别让硬卡的逻辑层和ZFS的软层打架,这个组合在生产环境里是完全可用的。具体怎么切JBOD模式,需要进SAS BIOS里把每个盘位从RAID模式改成JBOD,或者用storcli命令操作,这又是另一个话题了,下次有空再展开写。
本文还有配套的精品资源,点击获取