我有一些服务器,可以反复尝试在启动时搜索引导设备(本地sata磁盘、usb棒、网络引导),直到一个可用为止。
我也有一个带有iPXE的网络引导设置。默认情况下,它检查机器的mac地址的自定义引导脚本并执行该脚本。如果没有,它就会退出。
这能工作一段时间。但在大约5分钟后,我开始得到"NBP太大,无法容纳到空闲的基本内存“,它不执行自定义脚本。相反,我认为它没有启动iPXE‘网络引导程序’。
这些系统的内存超过64 of。所以它不会用完系统内存。但是也许这张卡有一个非常小的可用范围,或者卡本身上的内存,每次它尝试引导时,它都必须使用新的内存。
在我看来,这就像是NIC固件中的内存泄漏。
我希望当NIC在启动时在NIC的OPROM屏幕上说“初始化”时,NIC会完全新初始化。我希望当它无法通过NIC引导时,nic使用的所有ram都会被释放。
如何防止此NBP错误发生?在ipxe中是否有命令来释放这个内存或强制完全重新初始化nic?
发布于 2021-07-13 17:47:57
它已经没有记忆了。我假设您在这里使用的是传统的pcbios,因为一切都指向这一点。在这个旧时代,我们实际上只有640 to的基本内存可用于初始程序。
现在耗尽的原因是,在旧的pcbios堆栈中,实际上没有干净的方法来退出和清理所有的东西。
最简单的“修复”方法是重新启动机器。也许可以改进一些东西,但为了进一步帮助,更详细的输出日志是首选的,以及您正在使用的iPXE二进制文件,以及从iPXE获得的完整错误消息(如果有的话)(其中将包含一个ipxe.org url --也可以阅读该页面)。
我记得有一个类似的问题正在讨论(可能是在iPXE论坛上),但那是很多年前的事了,而且还没有足够的记忆去找到它。(错误消息可能会有所帮助)
编辑:一些帮助你长寿的想法是:
#!ipxe
:retry
autoboot || goto :retry这将永远在iPXE内部重试,而不会对每次尝试执行初始化(和占用内存)。
发布于 2023-03-13 06:24:23
将BIOS中的启动模式更改为UEFI以修复此问题。遗产可能没有足够的资源。
https://serverfault.com/questions/1055630
复制相似问题