从存储库更新
从远程存储库更新服务器固件
概述
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 更新的固件包,然后启动批量更新。
要从存储库更新,请完成以下步骤:
- 如果使用的是内部存储,请单击导入固件包并找到固件包(.tgz 或 zip 格式)。
- 单击更新系统,开始执行批量更新。
- 单击查看详细信息,查看更新状态。
- 绿色复选标记 :固件升级成功完成。
- 红色 X 标记 :固件升级失败。
- 更新中:固件正在升级过程中。
- 取消:固件升级被取消。
- 等待中:固件升级正在等待部署。
注单击停止更新将在当前安装包更新完成后取消队列中的更新。 - 如果使用的是 CIFS 或 NFS,请单击卸载,断开与远程存储库的连接。
- 如果更新需要重新启动 XClarity Controller 才能生效,将会显示一条警告消息。有关如何重新启动 XClarity Controller 的详细信息,请参阅电源操作。