跳到主要内容

从存储库更新

从远程存储库更新服务器固件

概述

CIFS/NFS/HTTPS/板载固件历史记录功能需要 XCC Premier 许可证。

XCC 引入了使用更新捆绑包(服务包)更新服务器固件的功能。此功能可使用单个 API 或 Redfish 客户端工具来更新系统中的所有固件(包括 OOB 和 IB 固件包),从而简化更新流程。该过程包括识别适用的固件包、从远程 HTTP/HTTPS 服务器下载并提取这些固件包或通过 Web 浏览器将这些固件包上传到 BMC 内部存储,或者从 CIFS 或 NFS 共享目录装载这些固件包。

如果使用 CIFS 或 NFS 装载,则需要将元数据(JSON 格式)文件放在网络共享文件系统的根目录中,并在元数据中指定固件有效负载。服务器的 microSD 设备可以存储历史存储库,以允许用户回滚固件级别。

如果固件包包含任何不支持带外固件更新的有效负载,BMC 将启动服务器并将其配置为从安装在 BMC 中的嵌入式操作系统映像启动,然后再执行更新。

更新捆绑包和元数据

更新捆绑包(服务包)是固件捆绑包的压缩文件,其中会包含用于系统内组件的一个或多个固件包。XCC 的“从存储库更新”功能会使用更新捆绑文件。解压缩后的捆绑文件包含元数据和有效负载二进制文件。JSON 元数据文件向 XCC 提供有关捆绑文件所包含的固件映像类型的信息,有效负载二进制文件则提供固件映像。

XCC 内的固件存储库

更新捆绑包可以包含多个固件包,XCC 会在其闪存中保留 2 GB 的空间用于新功能。当收到新捆绑包时,XCC 会清理旧数据。一些平台会使用 MicroSD 卡来提供额外的存储空间,而 XCC 会将最后更新的捆绑包移动到 SD 卡的历史存储库中。固件历史存储库最多可以存储三个捆绑包,用户可以使用“固件回滚”功能恢复到之前的捆绑包。

  • 如果更新捆绑包仅包含可用于系统的 OOB 固件包,XCC 将不会更改系统电源状态。要更新 PCI 设备固件,系统需要处于开机状态。

  • 如果更新捆绑包包含可用于系统的 IB 固件包,XCC 会存储更新前的系统电源状态,并在更新后恢复电源状态。在更新过程中,XCC 会将主机重新启动至嵌入式操作系统。

  • 如果更新捆绑包包含 UEFI 固件的先决条件级别,而当前安装的 UEFI 版本不符合或低于该级别,则 XCC 会先关闭系统以执行 UEFI 固件更新。

  • 如果更新捆绑包包含 XCC 固件的先决条件级别,并且当前安装的 XCC 版本不符合或低于该级别,则 XCC 在自我升级后会先重新启动。

使用 WebGUI 更新

利用从存储库更新,用户可以将 XCC 配置为将服务器固件与内部存储同步。固件存储库中应包含包(包括二进制文件和元数据文件),或者更新捆绑包元数据 JSON 和相应的二进制文件。XCC 会解析这些元数据 JSON 文件,从中挑选出支持对此特定系统硬件进行 OOB 更新的固件包,然后启动批量更新。

要从存储库更新,请完成以下步骤:

  1. 如果使用的是内部存储,请单击导入固件包并找到固件包(.tgz 或 zip 格式)。
  2. 单击更新系统,开始执行批量更新。
  3. 单击查看详细信息,查看更新状态。
    • 绿色复选标记 固件升级成功完成。
    • 红色 X 标记 固件升级失败。
    • 更新中:固件正在升级过程中。
    • 取消:固件升级被取消。
    • 等待中:固件升级正在等待部署。
    单击停止更新将在当前安装包更新完成后取消队列中的更新。
  4. 如果使用的是 CIFS 或 NFS,请单击卸载,断开与远程存储库的连接。
  5. 如果更新需要重新启动 XClarity Controller 才能生效,将会显示一条警告消息。有关如何重新启动 XClarity Controller 的详细信息,请参阅电源操作
如果系统安装了 MicroSD 卡,您可以查看更新捆绑包的更新历史记录,并选择更新捆绑包的索引进行固件回滚。这个过程类似于从存储库更新,只不过历史更新捆绑包是放置在 MicroSD 中的。