升级 HPE 机箱管理器固件

本页面介绍了在设备更新和修补期间,如果 gdcloud appliance upgrade 在 ChassisFirmware 步骤停止,如何将 HPE Chassis Manager 固件升级到 2.10.12 或更高版本。

准备工作

在启动固件升级之前,请完成以下前提条件:

  1. 按照更新和修补设备中的步骤运行升级命令:

    gdcloud appliance upgrade
    
  2. 等待命令在 ChassisFirmware 步骤暂停。如果该命令检测到 Chassis Manager 固件版本低于 2.10.12,则会自动从发布软件包中提取所需的固件更新 ISO,并将其保存到本地文件系统,然后停止。

  3. 确保电源冗余:将两根电源线连接到设备机箱电源并进行验证,以防止在固件刷写期间意外断电。

  4. 验证网络访问权限:确保升级机器可以访问管理网络上的计算刀片 Integrated Lights-Out (iLO) 和 Chassis Manager IP 地址:

    • 节点 1 (bm01) iLO:https://198.18.0.7
    • 节点 2 (bm02) iLO:https://198.18.0.8
    • 节点 3 (bm03) iLO:https://198.18.0.9
    • Chassis Manager:https://198.18.0.2

    如果端点无法访问,请确保升级机器在管理子网上配置了静态 IP 地址(请参阅将笔记本电脑连接到交换机),或参阅排查设备访问问题。

  5. 找到解压后的 HPE 混合更新 ISO:验证 gdcloud appliance upgrade 是否已在解压后的版本目录中解压固件 ISO:

    ls -lh /root/gdch/full-release-VERSION/images/gpc-system-firmware/EL8000CM_Updater_BI_2.10.12_App_2.10.12.hybrid.iso
    

    将 VERSION 替换为目标补丁版本(例如 1.14.4-gdch.0)。

    如果您在单独的工作站(而非升级机器)上运行网络浏览器,请将 EL8000CM_Updater_BI_2.10.12_App_2.10.12.hybrid.iso 复制到该工作站,以便在 iLO 文件对话框中选择它。

  6. 检索刀片 iLO 和 Chassis Manager 凭证:从 gpc-system 命名空间获取计算刀片 iLO (bmc-credentials-*) 和 Chassis Manager (chassis-*-credential) 的管理员凭证:

    # List the BMC and Chassis credential secrets
    kubectl --kubeconfig=$KUBECONFIG get secrets -n gpc-system | grep -E 'bmc-credentials|chassis-.*-credential'
    
    # Retrieve the blade iLO username and password
    kubectl --kubeconfig=$KUBECONFIG get secret -n gpc-system BMC_CREDENTIAL_SECRET -o jsonpath='{.data.username}' | base64 -d; echo
    kubectl --kubeconfig=$KUBECONFIG get secret -n gpc-system BMC_CREDENTIAL_SECRET -o jsonpath='{.data.password}' | base64 -d; echo
    
    # Retrieve the existing Chassis Manager username and password
    kubectl --kubeconfig=$KUBECONFIG get secret -n gpc-system CHASSIS_CREDENTIAL_SECRET -o jsonpath='{.data.username}' | base64 -d; echo
    kubectl --kubeconfig=$KUBECONFIG get secret -n gpc-system CHASSIS_CREDENTIAL_SECRET -o jsonpath='{.data.password}' | base64 -d; echo
    

    替换以下内容:

    • BMC_CREDENTIAL_SECRET:kubectl get secrets 命令列出的 bmc-credentials-* 密钥的名称。
    • CHASSIS_CREDENTIAL_SECRET:kubectl get secrets 命令列出的 chassis-*-credential Secret 的名称。

升级 Chassis Manager 固件

请按照以下步骤在 iLO 中装载解压后的 ISO,并从计算刀片刷写 Chassis Manager 固件:

连接到刀片服务器 iLO HTML5 控制台

  1. 打开网络浏览器,然后前往任意计算刀片 iLO(例如 https://198.18.0.8)。
  2. 使用在准备工作中检索到的刀片 iLO 管理员凭证登录。
  3. 在导航菜单中,点击 Remote Console & Media(远程控制台和媒体),然后启动 HTML5 Remote Console(HTML5 远程控制台)。

停用 UEFI 安全启动

HPE Chassis Manager 固件更新 ISO 是一个未签名的实时 Linux 环境。为防止在启动 ISO 时出现 Verification failed: (0x1A) Security Violation 错误,请停用 UEFI 安全启动:

  1. 在 HTML5 远程控制台中,依次点击电源 > 重置以重启计算刀片。
  2. 在 HPE Edgeline 启动画面上执行 POST 期间,按 F9 进入系统实用程序。

  3. 依次选择 System Configuration(系统配置)> BIOS/Platform Configuration (RBSU)(BIOS/平台配置 [RBSU])> Server Security(服务器安全)> Secure Boot Settings(安全启动设置)。

  4. 将尝试安全启动设置为已停用。

  5. 按 F10 保存配置。

  6. 在下一部分中装载更新 ISO 时,请留在系统实用程序中。

装载解压后的 HPE 混合更新 ISO

  1. 在 HTML5 远程控制台窗口中,点击菜单栏中的虚拟媒体。
  2. 依次选择 CD/DVD > 本地 *.iso 文件。
  3. 点击浏览,然后选择解压缩的 EL8000CM_Updater_BI_2.10.12_App_2.10.12.hybrid.iso 文件。
  4. 确保选择 Boot on Next Reset(下次重置时启动)。
  5. 点击插入媒体,并验证虚拟媒体状态是否显示为已连接。

重启服务器刀片并运行固件更新

  1. 退出系统实用程序,以重启计算刀片。
  2. 当 HTML5 控制台中的 GNU GRUB 引导加载程序菜单提示时,选择 Live system (amd64),然后按 Enter 键开始固件更新。

重新启用安全启动并重启服务器刀片

  1. 当系统显示安装完成屏幕时,点击 HTML5 远程控制台菜单栏中的虚拟媒体,然后弹出 CD/DVD 媒体。
  2. 在控制台中输入 reboot,以重启服务器刀片。
  3. 在 HPE Edgeline 启动画面上执行 POST 期间,按 F9 进入系统实用程序。
  4. 依次选择系统配置 > BIOS/平台配置 (RBSU) > 服务器安全 > 安全启动设置,然后将尝试安全启动设置为已启用。
  5. 按 F10 保存配置,然后退出系统实用程序,以便刀片服务器重新启动并进入节点操作系统。

重新配置 Chassis Manager 网络和管理员凭证

刷写固件会重新刷写 Chassis Manager eMMC 存储,并将设置重置为出厂默认设置。与硬件引导(其中本地 DHCP 服务器分配 198.18.0.2)不同,已部署的设备不会在管理网络上运行 DHCP,因此 IPv4 DHCP 会使 198.18.0.2 无法访问,直到您恢复静态 IPv4 配置。刷写设备还会将 Administrator 密码重置为 password,并移除自定义用户账号。

请完成以下步骤,以恢复网络连接和凭据:

  1. 等待 2 到 3 分钟,让 Chassis Manager 内部 ARM 处理器完成初始化。
  2. 在连接到设备管理界面的升级机器上,找到 Chassis Manager 链路本地 IPv6 地址:

    ip -6 neigh show dev INTERFACE
    

    将 INTERFACE 替换为升级机器上的管理网络接口名称(例如 mgmt)。

    查找与 Chassis Manager MAC 地址(例如 fe80::5eed:8cff:fe61:c206)匹配的条目。

  3. 使用 Chassis Manager 的链路本地 IPv6 地址和接口名称,通过 SSH 连接到 Chassis Manager:

    ssh "Administrator@CHASSIS_IPV6_LINK_LOCAL%INTERFACE"
    

    将 CHASSIS_IPV6_LINK_LOCAL 替换为上一步中 Chassis Manager 的链路本地 IPv6 地址。

  4. 当系统提示输入密码时,请输入出厂默认密码:password。

  5. 当系统提示您更改初始 Administrator 密码时,请输入并确认您在准备工作中从 chassis-*-credential Kubernetes 密钥中检索到的密码。更改密码后,Chassis Manager 会关闭初始 SSH 会话。

  6. 使用新的 Administrator 密码通过 SSH 重新连接,以打开 EL8000CM-> shell:

    ssh "Administrator@CHASSIS_IPV6_LINK_LOCAL%INTERFACE"
    
  7. 在 EL8000CM-> shell 中,恢复静态 IPv4 配置:

    set network 198.18.0.2 255.255.255.224 198.18.0.1
    
  8. 启用交换机链路传播:

    enable linkpropagation
    
  9. 如果您的 chassis-*-credential Kubernetes 密钥指定的是 gdch 用户名,而不是 Administrator,请在 EL8000CM-> shell 中重新创建 gdch 管理员账号:

    add user gdch PASSWORD admin
    

    将 PASSWORD 替换为 chassis-*-credential Kubernetes 密钥中的密码。

  10. 输入 exit 以关闭 EL8000CM-> shell,然后从升级机器验证 198.18.0.2 是否响应:

    ping -c 3 198.18.0.2
    

恢复设备升级

在 Chassis Manager 恢复在线状态并报告版本 2.10.12 或更高版本后,恢复 gdcloud appliance upgrade。

由于 PreflightCheckAppliance、PreflightCheckHardware 和 SetupRegistry 在 ChassisFirmware 处停止之前已完成,因此您可以直接恢复剩余步骤,而无需重新运行注册表加载过程:

cd /root/gdch/full-release-VERSION/release

./gdcloud appliance upgrade --step=ChassisFirmware && \
./gdcloud appliance upgrade --step=Organization && \
./gdcloud appliance upgrade --step=Storage && \
./gdcloud appliance upgrade --step=Cleanup

或者,如果您想从头开始运行完整的升级序列,请运行不带 --step 的 ./gdcloud appliance upgrade。