适用于 PowerPC(ppc64le)的 Rocky Linux 9.2 现已发布
发布工程团队
在对架构特定错误进行了额外测试和深入调查后,Rocky Linux 团队很高兴地宣布适用于 PowerPC(LE)或 ppc64le 架构的 Rocky 9.2 现已发布。在将您的 ppc64le 机器升级到 Rocky 9.2 之前,请查看以下关于升级的部分。
我们的调查表明,我们在进行测试时所处的环境运行的是 Power 9 CPU 架构的“预生产”版本,这会导致我们在模拟和物理环境中都能重现的段错误,并且会影响到受影响的处理器版本(步进)。有关更详细的解释,请阅读以下内容。
其他技术细节
PowerPC POWER 9 架构在物理 CPU 上经过了多次修改,然后才成为“普遍可用”。具体来说,Power 9 ISA 的设计文档版本 2.2(Power 9 DD2.2)是 Red Hat 认为已准备好投入生产的第一版处理器,因此从软件角度来说是可以支持的。实际上,2.0 和 2.1 设计文档规范中存在许多问题,目前这些规范已经相当老旧了。
在我们对这个问题进行调查并与 Red Hat 合作解决这个问题的过程中,我们发现,在我们的一些测试机器上,我们无法在虚拟机上直接重现这个问题。经过检查,我们发现不受影响的机器都使用的是 POWER 9 规范的 2.2 或 2.3 版本。这些虚拟机是我们用来进行本地软件包和镜像构建的虚拟机,是由俄勒冈州立大学开源实验室提供的 KVM 客户机。
对于我们的镜像构建,我们使用 Empanadas 工具包,该工具包使用 ImageFactory 和 Oz 在 qemu 内部协调镜像生成。由于为构建镜像而设置的 ppc64le 虚拟化环境的嵌套性质,我们必须在没有 KVM 加速的情况下使用 qemu,并依赖 QEMU 提供的仿真功能。这并非理想选择,原因有很多。首先,速度很慢,需要花费大量时间来迭代和测试更改,以查看是否能解决问题。其次,由于这个错误,我们发现 QEMU 中存在一个缺陷,即它只能模拟 POWER 9 DD2.0 规范。因此,qemu 目前对我们进行测试和镜像构建来说是一个不可靠的测试平台。
为了解决这些问题,我们正在与 QEMU 上游合作,调查在 QEMU 中模拟 POWER 9 DD2.2(及更高版本)步进的方法,并以另一种方式构建我们的 ppc64le 容器和云镜像,以便能够发布它们。
我们感谢大家在识别、确定范围和解决这些问题方面的耐心和考虑,同时我们也确保整个版本在大多数情况下是安全的,即使您使用的是 ppc64le 架构,也能够安全升级。无论上游错误状态如何,Rocky Linux 团队都认为这是一个 9.0、9.1 和 9.2 之间的回归,因为我们能够在 9.2 中可靠地重现这个故障,并且偶尔也会在 9.1 中发生。在 9.0 中还没有遇到过这个故障,尽管还没有进行过广泛的测试。
升级
在将 ppc64le 架构上的系统升级到 Rocky Linux 9.2 之前,请检查物理机和虚拟机上 /proc/cpuinfo
的内容。一些早期的 POWER 9 处理器型号是“预生产”硅片,可能容易受到许多错误的影响,这些错误会阻止系统稳定使用。无法通过微代码修补这些问题,因为它们是针对 CPU 芯片的物理修改,目的是解决这些缺陷。
如果以下命令返回的版本号大于或等于 2.2,则您的系统受支持。如果它报告版本 2.0 或 2.1,则您将遇到由于处理器版本支持回归而导致的故障。
$ grep -i revision /proc/cpuinfo
revision : 2.3 (pvr 004e 1203)
在虚拟化环境中,您的 hypervisor 主机可能可以使用 libvirt 配置为向客户机呈现正确的版本,但如果物理系统报告的 POWER 9 设计文档版本低于 2.2 版,那么唯一的缓解措施是更换 CPU 本身,使用具有更新的 POWER 9 CPU 步进版本的 CPU。
我们感谢 Fedora Linux 上游开发工作、CentOS Stream 的整理工作,以及这些发行版构建中无数的开发者和项目。