![在 Rocks 节点上进行 PXE 安装时 Initramfs 损坏](https://linux22.com/image/732325/%E5%9C%A8%20Rocks%20%E8%8A%82%E7%82%B9%E4%B8%8A%E8%BF%9B%E8%A1%8C%20PXE%20%E5%AE%89%E8%A3%85%E6%97%B6%20Initramfs%20%E6%8D%9F%E5%9D%8F.png)
我安装了全新的 Rocks Cluster OS 7.0(基于 CentOS),并尝试测试安装几个节点。系统中的一切似乎都很好,但是当我尝试安装新节点时,insert-ethers
节点上出现此错误(在重新启动前仅显示几毫秒):
抱歉,错误是一张图片,但这是一个物理上的不同屏幕,我无法复制粘贴错误
insert-ethers 屏幕告诉我节点尚未启动,但节点不断给出该错误并重新启动。另一方面,PXE 初始屏幕显示 vmlinuz 和 initrd 已成功下载。
任何关于可能发生的情况的暗示都会受到赞赏。
节点规格如下:
- 主板:AsRock AB350 Pro 4
- EFI 版本:P4.70
- 处理器:AMD Ryzen 3 2200G
- 内存:DDR4 2400Mhz 16GB
编辑
我已经使用不同的旧硬件测试了安装,并且它运行良好,因此一定是内核和节点硬件之间存在某种不兼容性。
uname -r
输出:3.10.0-693.5.2.el7.x86_64
答案1
内核无法从内存中解压 xz 压缩的 initrd。
我认为失败可能有三个原因:
initrd 已损坏(可能性不大)
节点上的内存有问题(内存模块有问题或 BIOS 设置错误,即错误的时序参数导致模块超出其规格)
内核无法对 initrd 进行 xz-uncompress。该功能已静态编译到内核中,但不知何故存在错误/无法按预期工作。
我会尝试以下操作:
尝试 xz-uncompress initrd 以查看它是否已损坏(无需恢复完整的档案)
# copy initrd to /tmp and add suffix ".xz" if missing, adjust path accordingly cp /boot/initrd.img /tmp/initrd.img.xz # unpack xz -d /tmp/initrd.img.xz
检查节点上的 bios 内存设置,打开扩展内存检查选项是否可用。运行完整的内存测试。我不熟悉 Rocks,但这里有一份如何运行的手册Memtest86从中。
尝试从步骤 1 中未压缩的 initrd 启动节点。和/或使用不同的压缩算法(gzip、bzip2 等)。请注意,内核必须支持其他压缩模式。