鲲鹏服务器PXE启动失败导致超时问题

问题描述

客户在近期交付的裸金属服务器进行冷重启测试时发现,多台次重启时间大于40-50分钟,后续对200台反复重启,共计出现40台次重启超过40分钟以上问题。

告警信息

现场查看设备bmc查看均为任何报警信息,客户管理平台的启动超时记录如下:

鲲鹏服务器PXE启动失败导致超时问题

通过bmc日志查看PXE引导失败系统侧告警信息:

鲲鹏服务器PXE启动失败导致超时问题

处理过程

1、通过对现场现象和日志信息分析,发现下载到引导文件错误信息,pxelinux.0,而非 .efi 文件,分析是下载引导文件异常导致。

鲲鹏服务器PXE启动失败导致超时问题

2、对现场PEX启动失败的服务器进行抓包分析,服务器并非每次PXE轮询都发送 DHCP request。

鲲鹏服务器PXE启动失败导致超时问题

鲲鹏服务器PXE启动失败导致超时问题

3、PXE轮询时因dhcp request存在缺失,导致对端会获取到一个值为16的错误架构码,无法获取到正确的efi启动文件, PXE引导失败。

鲲鹏服务器PXE启动失败导致超时问题

根因

服务器端做PXE轮询时,没有每次PXE轮询都发送dhcp request,导致架构码传递错误(正常arm架构码值为11,错误值为16),从而服务器侧无法获取到正确的efi启动文件, PXE引导概率性失败。

解决方案

更新服务器BIOS PXE轮询策略,保持每次PXE轮询都发送dhcp request,在实验室48小时对pxe轮询时抓包验证dhcp request发送正常后,对服务器批量更新BIOS版本。

建议与总结

总结:该问题的根因为BIOS PXE轮询策略不适配现场复杂的网络环境导致,且前期实验室版本测试和产线装备测试均无现场类似的复杂环境部署,难以提前发现和拦截;另外,装备测试在做重启测试时,目前只做重启次数检查,无启动超时检查。

改善:产线装备TU执行重启测试时,增加启动超时检查,增大出厂前提前拦截问题的可能性。

阅读剩余
THE END