Skip to main content
BeeGFS on NetApp with E-Series Storage
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

更新文件节点适配器固件

贡献者 mcwhiteside

按照以下步骤将文件节点的ConnectX-7适配器更新为最新固件。

概述

要支持新的MLNX_OFED驱动程序、启用新功能或修复错误、可能需要更新ConnectX-7适配器固件。本指南将使用NVIDIA的 `mlxfwmanager`实用程序进行适配器更新、因为它易于使用且效率高。

升级注意事项

本指南介绍更新ConnectX-7适配器固件的两种方法:滚动更新和双节点集群更新。根据集群大小选择适当的更新方法。在执行固件更新之前、请验证:

  • 安装了受支持的MLNR_OFED驱动程序,请参阅"技术要求"

  • 您的BeeGFS文件系统和PacMaker集群配置具有有效的备份。

  • 集群处于运行状况良好的状态。

固件更新准备

建议使用NVIDIA的 `mlxfwmanager`实用程序更新节点的适配器固件、该固件与NVIDIA的MLNR_OFED驱动程序捆绑在一起。开始更新之前、请从下载适配器的固件映像"NVIDIA的支持站点"、并将其存储在每个文件节点上。

提示 对于联想ConnectX-7适配器、请使用 `mlxfwmanager_LES`NVIDIA页面上提供的工具"OEM 固件"

滚动更新方法

对于具有两个以上节点的任何HA集群、建议使用此方法。此方法涉及一次更新一个文件节点上的适配器固件、以使HA集群能够继续处理请求、但建议避免在此期间处理I/O。

  1. 确认集群处于最佳状态、每个BeeGFS服务都在其首选节点上运行。有关详细信息、请参见 "检查集群的状态"

  2. 选择要更新的文件节点并将其置于备用模式、此模式会从该节点中消耗(或移动)所有BeeGFS服务:

    pcs node standby <HOSTNAME>
  3. 运行以下命令、验证节点的服务是否已耗尽:

    pcs status

    确认没有服务在备用节点上报告为 Started

    备注 根据集群大小、BeeGFS服务可能需要几秒钟或几分钟才能移至姊妹节点。如果BeeGFS服务无法在姊妹节点上启动,请参阅"故障排除指南"
  4. 使用更新适配器固件 mlxfwmanager

     mlxfwmanager -i <path/to/firmware.bin> -u

    记下接收固件更新的 `PCI Device Name`每个适配器的。

  5. 使用实用程序重置每个适配器 `mlxfwreset`以应用新固件。

    备注 某些固件更新可能需要重新启动才能应用更新。有关指导、请参见。"NVIDIA的mxfwreset限制"如果需要重新启动、请执行重新启动、而不是重置适配器。
    1. 停止opensm服务:

      systemctl stop opensm
    2. 对前面提到的每个执行以下命令 PCI Device Name

      mlxfwreset -d <pci_device_name> reset -y
    3. 启动opensm服务:

      systemctl start opensm
    4. 重新启动 eseries_nvme_ib.service

      systemctl restart eseries_nvme_ib.service
    5. 验证 E 系列存储阵列的卷是否存在。

multipath -ll
  1. 运行 `ibstat`并验证所有适配器是否以所需的固件版本运行:

    ibstat
  2. 在节点上启动PacMaker集群服务:

    pcs cluster start <HOSTNAME>
  3. 使节点退出待机状态:

    pcs node unstandby <HOSTNAME>
  4. 将所有BeeGFS服务重新定位回其首选节点:

    pcs resource relocate run

对集群中的每个文件节点重复上述步骤、直到所有适配器均已更新为止。

双节点集群更新方法

对于仅包含两个节点的HA集群、建议使用此方法。此方法类似于滚动更新、但还包括一些额外的步骤、以防止在一个节点的集群服务停止时出现服务停机。

  1. 确认集群处于最佳状态、每个BeeGFS服务都在其首选节点上运行。有关详细信息、请参见 "检查集群的状态"

  2. 选择要更新的文件节点并将该节点置于备用模式、此操作将从该节点中消耗(或移动)所有BeeGFS服务:

    pcs node standby <HOSTNAME>
  3. 运行以下命令、验证节点的资源是否已耗尽:

    pcs status

    确认没有服务在备用节点上报告为 Started

    提示 根据集群大小、BeeGFS服务可能需要数秒或数分钟才能报告为 `Started`在姐妹节点上。如果BeeGFS服务无法启动,请参见"故障排除指南"
  4. 将集群置于维护模式。

    pcs property set maintenance-mode=true
  5. 使用更新适配器固件 mlxfwmanager

     mlxfwmanager -i <path/to/firmware.bin> -u

    记下接收固件更新的 `PCI Device Name`每个适配器的。

  6. 使用实用程序重置每个适配器 `mlxfwreset`以应用新固件。

    备注 某些固件更新可能需要重新启动才能应用更新。有关指导、请参见。"NVIDIA的mxfwreset限制"如果需要重新启动、请执行重新启动、而不是重置适配器。
    1. 停止opensm服务:

      systemctl stop opensm
    2. 对前面提到的每个执行以下命令 PCI Device Name

      mlxfwreset -d <pci_device_name> reset -y
    3. 启动opensm服务:

      systemctl start opensm
  7. 运行 `ibstat`并验证所有适配器是否以所需的固件版本运行:

    ibstat
  8. 在节点上启动PacMaker集群服务:

    pcs cluster start <HOSTNAME>
  9. 使节点退出待机状态:

    pcs node unstandby <HOSTNAME>
  10. 使集群退出维护模式。

    pcs property set maintenance-mode=false
  11. 将所有BeeGFS服务重新定位回其首选节点:

    pcs resource relocate run

对集群中的每个文件节点重复上述步骤、直到所有适配器均已更新为止。