Active openUBMC,Backup openUBMC之间怎么相互切换

// 此模板仅供参考,如果不适用可以修改

问题描述

可以通过ipmcset -d rollback命令使Active openUBMC切换到 Available openUBMC;

有方法使Active openUBMC切换到Backup openUBMC吗?

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:[如 OpenUBMC2509]

  • 硬件配置:[如 CPU、内存等]

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

[您希望实现什么]

实际结果

[实际发生了什么,包含错误信息]

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

答案内容由AI生成,仅供参考:

核心结论

根据知识库中的讨论,Active openUBMCBackup openUBMC 通常被视为同一个版本,它们不是两个独立的可切换版本。主要的版本切换能力存在于 Active/Backup 分区与 Available 分区之间。

相关社区回复明确指出:“Active 和 backup 是1个版本,Available 是1个版本,总共3个版本。” 切到 Available 版本的命令是 ipmcset -d rollback (参考ID 1)。

因此,根据现有信息,没有直接的命令或方法可以实现从 Active openUBMC 切换到 Backup openUBMC

总结分析

  • Active 与 Backup 的关系:它们实际上是同一固件版本的两个备份分区,用于保障升级过程中的安全(如升级失败时可回滚至备份分区)。
  • 版本切换的本质:固件的“切换”并非在 Active 和 Backup 之间进行,而是在当前运行的 Active/Backup 分区Available 分区 之间进行。
  • 您的需求:如果您希望从一个版本的 openUBMC 切换到另一个不同版本的 openUBMC(或 iBMC),通常是通过升级或回滚命令来实现,而非直接切换 Active 和 Backup。
点击此处查看详细分析解答

根据您提供的知识库信息,关于 Active openUBMCBackup openUBMC 之间的切换问题,可以总结如下:

核心结论

根据知识库中的讨论,Active openUBMCBackup openUBMC 通常被视为同一个版本,它们不是两个独立的可切换版本。主要的版本切换能力存在于 Active/Backup 分区与 Available 分区之间。

相关社区回复明确指出:“Active 和 backup 是1个版本,Available 是1个版本,总共3个版本。” 切到 Available 版本的命令是 ipmcset -d rollback (参考ID 1)。

因此,根据现有信息,没有直接的命令或方法可以实现从 Active openUBMC 切换到 Backup openUBMC

支持的版本切换方式

  1. 回滚到 Available 版本

    • 命令ipmcset -d rollback
    • 说明:该命令用于将当前激活的固件(Active/Backup分区)切换到 Available 分区中存储的版本。
    • 注意:BMC 存在主备分区,通过回滚命令回滚至上一个版本是可行的,但无法回退至更早的历史版本 (参考ID 4)。
  2. 升级操作

    • 命令ipmcset -d upgrade -v <文件路径> [activemode]
    • 说明:用于执行固件升级。升级成功后,新的固件版本会写入,并自动切换分区,使最新的版本成为 Active 分区 (参考ID 1)。

升级回退的特殊场景

如果您已经将 iBMC 升级到 openUBMC,并希望回到原来的 iBMC 版本,且标准回滚命令无效时,社区提供了一个复杂的 过渡包升级 方案,具体步骤如下 (参考ID 4):

  1. 拉取 openUBMC/manifest 仓库代码,并进入 manifest 目录。
  2. 获取真实的 datatocheck_upgrade.datpme_profile_en.dat 文件(需联系 PAE 获取),并覆盖 build/manufacture/misc 目录下的同名文件。
  3. 获取原始的根证书文件,重命名为 rootca.der,覆盖 build/product/ca 目录下的同名文件。
  4. 在 manifest 目录执行 bingo build
  5. 在 output 目录中,rootfs_openUBMC.hpm 包即为过渡包。
  6. 先使用此过渡包进行一次升级
  7. 再升级原始包(即 iBMC 固件包)。

注意IPMSet -d Rollback 命令在执行时也可能会失败,系统会提示“内部服务错误” (参考ID 2)。

总结分析

  • Active 与 Backup 的关系:它们实际上是同一固件版本的两个备份分区,用于保障升级过程中的安全(如升级失败时可回滚至备份分区)。
  • 版本切换的本质:固件的“切换”并非在 Active 和 Backup 之间进行,而是在当前运行的 Active/Backup 分区Available 分区 之间进行。
  • 您的需求:如果您希望从一个版本的 openUBMC 切换到另一个不同版本的 openUBMC(或 iBMC),通常是通过升级或回滚命令来实现,而非直接切换 Active 和 Backup。

我要怎么验证,主用镜像连续3次启动失败自动倒换到备用镜像?

(1)BMC上电阶段接串口,一直按’ctrl+b’,直到进入L1控制台L1FW console
(2)执行如下三组命令可以分别切到3个分区
1、fw_upgrade 5 4 5 6;boot_a55
2、fw_upgrade 5 6 4 5;boot_a55
3、fw_upgrade 5 5 6 4;boot_a55
但不清楚对应关系