启用 Secure Boot 后无法安装 lpfc驱动的证书验证问题

启用 Secure Boot 后无法安装 lpfc驱动的证书验证问题

老哥们,今天遇到一个关于驱动安装的安全问题——在启用 Secure Boot 的 ESXi 主机上,无法安装 lpfc(Emulex 光纤通道主机总线适配器)合作伙伴驱动,提示“Could not find a trusted signer: self-signed certificate”。查了一下 VMware KB 429307,其实原来这是一个证书验证失败的问题。

故障现象还原

1. 安装失败提示

当尝试安装 lpfc 合作伙伴驱动时,会收到以下错误:

Could not find a trusted signer: self-signed certificate

2. 详细日志信息

esxupdate.log 中,会看到以下详细错误信息:

YYYY-MM-DDTHH:MM:36Z In(14) esxupdate[2368846] runcommand called with: args = ['/usr/lib/vmware/vob/bin/addvob', 'vob.user.esximage.install.stage.error', '(Updated) ESXi-8.0U3f-24784735-standard', "EMU_bootbank_lpfc_14.4.576.11-1OEM.800.1.0.20613240: ('EMU_bootbank_lpfc_14.4.576.11-1OEM.800.1.0.20613240', 'Could not find a trusted signer: self-signed certificate')"], outfile = None, returnoutput = True, timeout = 0.0.
YYYY-MM-DDTHH:MM:36Z Er(11) esxupdate[2368846] vmware.esximage.Errors.VibSigInvalidError: ('EMU_bootbank_lpfc_14.4.576.11-1OEM.800.1.0.20613240', 'Could not find a trusted signer: self-signed certificate')

3. 系统状态检查

# 检查 Secure Boot 和加密状态
esxcli system settings encryption get

输出可能显示:

EncryptionGet:
Mode: TPM
Require Executables Only From Installed VIBs: false
Require Secure Boot: true

核心原因分析

根据 KB 429307 的解释,问题的根本原因是:

Secure Boot 检查失败 – VIB 证书未获 VMware 认可

    • 当启用 Secure Boot 时,ESXi 会检查所有 VIB(vSphere Installation Bundle)的证书
    • lpfc 合作伙伴异步驱动的 VIB 使用的是自签名证书,而非 VMware 认可的证书
    • Secure Boot 不信任这种证书,因此拒绝安装

解决方案

方法一:为合作伙伴 VIB 分配 VMware 认可的证书(推荐)

按照“VIB Installation Fails on ESXi Hosts with TPM and Secure Boot Enabled”文章中的步骤:

# 检查当前系统的 VIB 签名情况
esxcli software vib list | grep -i lpfc

 

# 查看详细的 VIB 信息
esxcli software vib get -n lpfc

 

# 验证证书链
# 需要使用专门的工具检查 VIB 的证书

方法二:使用 VMware 内置驱动

# 检查 VMware 内置的 lpfc 驱动
esxcli software vib list | grep -i vmware-lpfc

 

# 查看驱动信息
esxcli network nic list

 

# 检查当前使用的驱动
esxcli system module list | grep -i lpfc

 

# 如果使用的是合作伙伴驱动,可以尝试替换为 VMware 内置驱动
# 这需要先卸载合作伙伴驱动,然后安装 VMware 内置驱动
esxcli software vib remove -n lpfc
esxcli software vib install -v 

操作步骤

1. 备份主机配置

# 拍摄 ESXi 主机的快照
# 在 vSphere Client 中操作,或使用 PowerCLI
Get-VMHost -Name  | Get-VM | New-Snapshot -Name "Before_Driver_Change" -Description "Backup before driver change"

2. 检查当前系统状态

# 检查 ESXi 版本
vmware -v

 

# 检查驱动信息
esxcli system module list | grep -i lpfc
esxcli software vib list | grep -i lpfc

 

# 检查网络接口状态
esxcli network nic list

 

# 检查光纤通道适配器状态
esxcli storage core adapter list

3. 实施解决方案

根据选择的方法,执行相应的操作。

4. 验证解决方案

# 再次检查驱动状态
esxcli system module list | grep -i lpfc
esxcli software vib list | grep -i lpfc

 

# 检查网络和存储功能
esxcli network nic list
esxcli storage core adapter list
Get-VMHost -Name  | Get-VM | Select-Object Name, PowerState

预防措施

1. 规划 Secure Boot 部署

# 在部署前检查硬件兼容性
# 确保所有硬件组件都支持 Secure Boot
esxcli system settings encryption get
esxcli hardware secureboot get

2. 验证驱动的 VMware 认可

# 在部署前验证驱动的证书状态
# 使用 VMware Compatibility Guide (VCG) 检查驱动的认证情况
# https://www.vmware.com/resources/compatibility/search.php

3. 测试 Secure Boot 配置

在生产环境中启用 Secure Boot 前,先在测试环境中进行测试:
1. 启用 Secure Boot 和 TPM
2. 安装所需的驱动
3. 测试所有功能
4. 确保没有证书验证问题

常见问题解答

Q:为什么 lpfc 驱动会有自签名证书?
A:这是因为该驱动是由硬件供应商(如 Emulex)提供的合作伙伴驱动,而不是 VMware 的内置驱动。

Q:使用方法二是否会影响性能?
A:通常情况下,VMware 内置驱动会提供良好的性能和稳定性。如果有疑问,建议咨询硬件供应商。

Q:是否可以禁用 Secure Boot 来解决问题?
A:虽然可以这样做,但这会降低系统的安全性。建议使用方法一或方法二。

Q:如何确认当前使用的驱动是 VMware 内置还是合作伙伴驱动?
A:可以通过查看 VIB 名称和版本来确定。

风险评估

1. 业务影响

    • 无法安装所需的驱动
    • 可能影响网络和存储功能
    • 可能影响虚拟机构成的性能

2. 解决方法的风险

  • 驱动替换可能会导致网络和存储连接中断
  • 需要停机时间
  • 可能存在兼容性问题

Reference: VMware KB 429307

有VM问题需要协助?

免费试用VMware技术助理(已接Deepseek)!即时解答VM难题

→ 🤖VM技术助理

解析和诊断各类vCenter错误,ESXi日志,虚拟机vmware.log

→ 📕VMware日志分析器

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理

试试 📕VMware日志分析器 免费诊断各类vCenter错误,ESXi日志,虚拟机vmware.log等等

########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

//omg10.com/4/9119499