Enabled 状态,且没有被强制限制为较低速率(如 Gen1/Gen2)。lspci -vvv | grep -i nvme 命令,查看 PCI 总线上实际挂载了多少个 NVMe 控制器。如果 lspci 只能看到 2 个,说明是主板/BIOS 层面的 PCIe 通道未连通;如果能看到 22 个但 OS 没加载驱动,则是驱动问题。暂无评论
BMC 能看到 22 块 NVMe、OS 只看到 2 块,典型是 BIOS / 存储控制器模式、背板链路 / 供电、NVMe 驱动 / 内核、或 PCIe 枚举限制这四类问题;你刚换过背板,优先查背板与主板的连接、PCIe/BIOS 设置、RAID 卡模式和固件版本。
下面按 “最可能→最不可能” 给你原因 + 可直接落地的排查步骤(R3950 G7 为华为 TaiShan 服务器,NVMe 走 PCIe / 背板)。
一、最可能原因(你换背板后出现,优先查)
1)背板与主板的 PCIe/SAS 线缆没插紧 / 插错(高概率)
现象:BMC 是带外管理,不依赖 OS 驱动 / PCIe 枚举,所以能看到所有盘;但 BIOS/OS 走 PCIe 总线,链路不稳就只能识别部分盘。
你这次是 “换背板后从 21 块→只剩 2 块”,非常符合背板到主板的 PCIe x16 线缆 / 连接器没插牢、针脚歪、或插错槽位。
2)BIOS 里 NVMe/PCIe 控制器被禁用或枚举限制
R3950 G7 默认可能:
NVMe Controller 设为 Disabled
PCIe Slot 1~n 设为 Disabled 或 Legacy 模式
PCIe 枚举数量限制(最多只扫 2 个控制器)
表现:BMC 正常,BIOS 里也只能看到 2 块,OS 自然也只有 2 块。
3)RAID 卡 / 存储控制器模式不对(NVMe 被屏蔽)
如果服务器带 RAID 卡(如 LSI 9300/9400),且设为RAID 模式,会屏蔽所有直通 NVMe 盘,只认 RAID 组;要 NVMe 直通必须设为HBA/IT/JBOD 模式。
你现在只看到 2 块,很可能是:2 块在 RAID 卡下、20 块在被禁用的 NVMe 控制器下。
4)背板 CPLD / 固件不兼容或版本过低
新背板固件和主板 BIOS/BMC 版本不匹配,导致20 个盘位无法被 PCIe 正确枚举,但 BMC 带外能看到。
5)OS 内核 / 驱动太旧,不支持多 NVMe 控制器
老内核(CentOS 7.x 默认 3.10)对 ** 多 NVMe 控制器(22 盘 = 多控制器)** 支持差,只能识别前 2 个。
dmesg 会报:nvme: probe of ... failed 或 no space for nvme devices。
二、快速排查步骤(按顺序,最快定位)
1. 先看 BIOS 里能看到几块(关键分界点)
开机按 Del/F2 进入 BIOS → Advanced → PCIe Configuration → NVMe Controller:全部设为 Enabled。
再看 Storage 里的 NVMe 列表:
BIOS 里也只有 2 块 → 问题在背板 / 线缆 / PCIe/BIOS 设置(90% 概率)。
BIOS 里有 22 块 → 问题在 OS 驱动 / 内核 / 模块(10% 概率)。
2. 检查背板→主板的 PCIe 线缆(你刚换背板,必做)
关机、拔电源,重新插拔所有背板到主板的 PCIe/SAS 线缆,确认:
插头完全插到底、卡扣锁死
针脚无弯曲、无氧化
插对槽位(对照 R3950 G7 官方布线图)
开机再看 BIOS NVMe 数量。
3. 检查 RAID 卡模式(如有)
开机按 Ctrl+R 进入 RAID 卡配置 → 确认模式为 HBA/IT/JBOD,不是 RAID0/1/5。
若有 RAID 组,先删除(数据会丢)或临时切换模式。
4. 升级固件(BMC、BIOS、背板 CPLD)
华为官网下载 R3950 G7 最新BMC、BIOS、背板 CPLD固件,全量升级。
重点:新背板 CPLD 必须和主板 BIOS 匹配,否则会出现枚举异常。
5. OS 侧排查(BIOS 已看到 22 块时)
bash
运行
# 1. 看内核是否识别所有NVMe控制器
lspci | grep -i nvme
# 正常应看到22个NVMe控制器(或多个控制器+多个盘)
# 2. 看内核日志有没有NVMe报错
dmesg | grep -i nvme
# 3. 检查nvme模块是否加载
lsmod | grep nvme
# 4. 若内核旧,升级到5.4+(CentOS 8/9、Ubuntu 20.04+)
uname -r
若 dmesg 报failed to enumerate,就是驱动 / 内核不支持多 NVMe,升级内核或换新版 OS 镜像。
三、你这个场景最可能的结论
换背板时,背板到主板的 PCIe 线缆没插紧 / 插错,或新背板固件和主板 BIOS 不匹配,导致 20 个 NVMe 盘位无法被 PCIe 枚举;BMC 带外不受影响,所以能看到 22 块。
四、下一步建议
先进 BIOS 确认 NVMe 数量;
关机重插所有背板 PCIe 线缆;
升级 BMC/BIOS/ 背板 CPLD 到最新匹配版本;
若 BIOS 正常、OS 异常,升级内核或重装新版 OS。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论