Linux下如何升级Intel 10G网卡固件

Linux下如何升级Intel 10G网卡固件

有一台 Linux 服务器,配备多张 Intel 82599ES 卡:

# lspci | grep -i eth
01:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
01:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)

# ethtool -i enp1s0f0 | grep firmware-version
firmware-version: 0x18b30001

# ethtool -i enp2s0f0 | grep firmware-version
firmware-version: 0x800004d0

如何将最新固件刷入这些卡?无需重启即可实现吗?

答案1

硬件固件更新

要获取更新的固件,请从供应商处获取服务器的 BIOS/固件更新文件。任何其他方法都可能会破坏您与他们签订的保修/支持合同。

相应的内核更新

为了确保您拥有适用于硬件的最新内核模块,请将您的操作系统更新为操作系统供应商支持的最新内核。

无需重启?

不是。硬件更新肯定需要重新启动才能使新固件生效。

如果您已安装受支持的 hotpatch 内核,则您可能无需重新启动即可更新内核,然后卸载/重新加载 NIC 的内核模块(前提是您通过控制台或其他带外方法(如 idrac/ilo)连接)。您甚至可以构建新的内核模块并在卸载旧模块后对其进行 insmod。使用此方法无法保证服务器不会出现网络问题。

答案2

82599 网络控制器上的固件基于 ROM,一般来说不可升级。可以进行小幅调整,但这些调整并未广泛部署,通常用于非常具体的需求(如平台集成)。这些控制器通常可以正常工作,除非技术支持人员指示您这样做,否则没有必要升级其固件。

另一个故事是 Option ROM 升级,有时被错误地称为固件(它不是固件,因为它在主机系统上执行,而不是在 ASIC 本身上执行)。在这种情况下,升级到最新和最好的版本通常是需要考虑的事情,特别是当您从网络启动时观察到一些异常时。

相关内容