Skip to main content
Element Software
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

升级存储固件

贡献者 netapp-pcarriga

从 Element 12.0 和管理服务版本 2.14 开始,您可以使用NetApp Hybrid Cloud Control UI 和 REST API 对存储节点执行仅固件升级。此过程不会升级 Element 软件,但允许您在 Element 主要版本之外升级存储固件。

你需要什么
  • 管理员权限:您拥有存储集群管理员权限来执行升级。

  • 系统时间同步:您已确保所有节点上的系统时间已同步,并且已为存储集群和节点正确配置 NTP。每个节点都必须在其各自的 Web 用户界面中配置 DNS 名称服务器。(https://[IP address]:442 )没有与时间偏差相关的未解决的集群故障。

  • 系统端口:如果您使用NetApp Hybrid Cloud Control 进行升级,则必须确保必要的端口已打开。看"网络端口"了解更多信息。

  • 管理节点:对于NetApp Hybrid Cloud Control UI 和 API,您环境中的管理节点正在运行版本 11.3。

  • 管理服务:您的管理服务包已更新至最新版本。

重要说明 对于运行 Element 软件版本 12.0 的 H610S 存储节点,在升级到存储固件包 2.27 之前,应应用 D-patch SUST-909。升级前请联系NetApp支持部门获取 D 补丁。看"存储固件包 2.27 发行说明"
重要说明 在升级存储节点的固件之前,必须先升级到最新的管理服务包。如果您要将 Element 软件更新到 12.2 或更高版本,则需要管理服务 2.14.60 或更高版本才能继续。
备注 如需查看适用于您硬件的完整固件和驱动程序固件列表,请参阅"SolidFire存储节点支持的存储固件版本"
  • 升级过程时间:您已安排足够的时间执行升级。当您升级到 Element 软件 12.5 或更高版本时,升级过程时间取决于您当前的 Element 软件版本和固件更新情况。

    存储节点 当前 Element 软件版本 每个节点的软件和固件安装大约需要10000秒1 每个节点的大约数据同步时间2 每个节点的大约总升级时间

    所有配备最新固件的SolidFire和NetApp H 系列节点3

    12.x

    15 分钟

    10到15分钟

    20至30分钟

    H610S 和 H410S

    12.x 和 11.8

    60分钟

    30至60分钟

    90至120分钟

    H610S

    11.7 及更早版本

    90分钟

    40至70分钟

    130至160分钟 您还必须 "执行节点完全关闭和断电操作"针对每个 H610S 节点。

    1有关适用于您硬件的固件和驱动程序固件的完整矩阵,请参阅"SolidFire存储节点支持的存储固件版本"

    2如果将集群与高写入 IOPS 负载和较长的固件更新时间结合起来,数据同步时间将会增加。

    3 以下节点不受支持。如果您尝试将这些节点之一升级到不受支持的 Element 版本,您将看到一条错误消息,指出 Element 12.x 不支持该节点:

    • 从 Element 12.8、SF4805、SF9605、SF19210 和 SF38410 存储节点开始。

    • 从 Element 12.7、SF2405 和 SF9608 存储节点以及 FC0025 和 SF-FCN-01 FC 节点开始。

  • 最终用户许可协议 (EULA):从管理服务 2.20.69 版本开始,您必须先接受并保存 EULA,然后才能使用NetApp Hybrid Cloud Control UI 或 API 升级存储固件:

    1. 在网页浏览器中打开管理节点的IP地址:

      https://<ManagementNodeIP>
    2. 使用存储集群管理员凭据登录NetApp Hybrid Cloud Control。

    3. 在界面右上角附近选择“升级”。

    4. 最终用户许可协议弹出。向下滚动,选择“我接受当前及所有未来的更新”,然后选择“保存”。

升级选项

请选择以下存储固件升级选项之一:

使用NetApp Hybrid Cloud Control UI 升级存储固件

您可以使用NetApp Hybrid Cloud Control UI 来升级集群中存储节点的固件。

你需要什么
注意 有关使用NetApp Hybrid Cloud Control 升级存储集群时可能出现的问题及其解决方法,请参阅以下内容: "知识库文章"
提示 每个存储节点的升级过程大约需要 30 分钟。如果您要将 Element 存储集群升级到高于 2.76 版本的存储固件,则只有在新固件写入节点的情况下,各个存储节点才会在升级期间重新启动。
步骤
  1. 在网页浏览器中打开管理节点的IP地址:

    https://<ManagementNodeIP>
  2. 使用存储集群管理员凭据登录NetApp Hybrid Cloud Control。

  3. 在界面右上角附近选择“升级”。

  4. 在“升级”页面上,选择“存储”。

    备注

    “存储”选项卡列出了安装中包含的存储集群。如果NetApp Hybrid Cloud Control 无法访问集群,则该集群不会显示在“升级”页面上。如果您的集群运行的是 Element 12.0 或更高版本,您将看到这些集群的当前固件包版本。如果单个集群中的节点具有不同的固件版本,或者随着升级的进行,您将在“当前固件包版本”列中看到“多个”。您可以选择“多个”导航到“节点”页面以比较固件版本。如果您的所有集群运行的 Element 版本都早于 12.0,您将看不到任何有关固件包版本号的信息。

    如果集群是最新的,并且/或者没有可用的升级包,则不会显示 ElementFirmware Only 选项卡。升级过程中,这些选项卡也不会显示。如果显示“元素”选项卡,但不显示“仅固件”选项卡,则表示没有可用的固件包。

  5. 选择要升级的集群旁边的下拉箭头。

  6. 选择“浏览”上传您下载的升级包。

  7. 等待上传完成。进度条显示上传状态。

    注意 如果您离开浏览器窗口,上传的文件将会丢失。

    文件成功上传并验证后,屏幕上会显示一条消息。验证可能需要几分钟时间。如果您此时离开浏览器窗口,文件上传内容仍会被保留。

  8. 选择“仅固件”,然后从可用的升级版本中进行选择。

  9. 选择“开始升级”。

    提示 升级过程中,“升级状态”会发生变化,以反映升级过程的状态。它还会根据您采取的操作而改变,例如暂停升级,或者升级返回错误。看升级状态变更
    备注 升级过程中,您可以离开此页面,稍后再返回查看进度。如果集群行已折叠,则页面不会动态更新状态和当前版本。必须展开集群行才能更新表格,或者您可以刷新页面。

升级完成后即可下载日志。

升级状态变更

以下是升级过程中“升级状态”列在升级前、升级过程中和升级后显示的不同状态:

升级状态 描述

最新

集群已升级到最新的 Element 版本,或者固件已升级到最新版本。

无法检测

当存储服务 API 返回的升级状态不在已列出的可能升级状态列表中时,将显示此状态。

可用版本

Element 和/或存储固件的更新版本可供升级。

进行中

升级正在进行中。进度条显示升级状态。屏幕消息还会显示节点级故障,并在升级过程中显示集群中每个节点的节点 ID。您可以使用 Element UI 或适用于 vCenter Server UI 的NetApp Element插件来监控每个节点的状态。

正在暂停升级

您可以选择暂停升级。根据升级过程的状态,暂停操作可能会成功,也可能会失败。您会看到一个用户界面提示,要求您确认暂停操作。为了确保集群在暂停升级之前处于安全状态,升级操作可能需要长达两个小时才能完全暂停。要恢复升级,请选择“恢复”。

已暂停

您已暂停升级。选择“继续”以继续该过程。

错误

升级过程中发生错误。您可以下载错误日志并将其发送给NetApp支持部门。解决错误后,您可以返回该页面,然后选择“继续”。恢复升级时,进度条会倒退几分钟,同时系统会运行健康检查并检查升级的当前状态。

如果使用NetApp Hybrid Cloud Control 进行升级失败会发生什么情况

如果在升级过程中驱动器或节点发生故障,Element UI 将显示集群故障。升级过程不会继续到下一个节点,而是等待集群故障解决。用户界面中的进度条显示,升级正在等待集群故障解决。现阶段,在用户界面中选择“暂停”将不起作用,因为升级需要等待集群运行正常。您需要联系NetApp支持部门协助进行故障调查。

NetApp Hybrid Cloud Control 预设了三个小时的等待期,在此期间可能会出现以下情况之一:

  • 集群故障在三小时内得到解决,升级继续进行。在这种情况下,您无需采取任何行动。

  • 三个小时后问题仍然存在,升级状态显示“错误”,并带有红色横幅。问题解决后,您可以选择“恢复”来继续升级。

  • NetApp支持团队已确定,需要在三小时窗口期之前暂时中止升级,以便采取纠正措施。支持人员将使用 API 来中止升级。

注意 在节点更新过程中中止集群升级可能会导致驱动器从节点中意外移除。如果驱动器被错误移除,则在升级过程中重新添加驱动器将需要NetApp支持人员的手动干预。节点可能需要更长时间才能完成固件更新或更新后同步活动。如果升级过程似乎停滞不前,请联系NetApp支持部门寻求帮助。

使用NetApp Hybrid Cloud Control API 升级存储固件

您可以使用 API 将集群中的存储节点升级到最新的 Element 软件版本。您可以使用您选择的自动化工具来运行 API。此处记录的 API 工作流程以管理节点上可用的 REST API UI 为例。

步骤
  1. 将存储固件升级包下载到管理节点可访问的设备;然后打开 Element 软件。 "下载页面"并下载最新的存储固件镜像。

  2. 将存储固件升级包上传到管理节点:

    1. 在管理节点上打开管理节点 REST API 用户界面:

      https://<ManagementNodeIP>/package-repository/1/
    2. 选择“授权”,然后完成以下步骤:

      1. 请输入集群用户名和密码。

      2. 请输入客户端 ID mnode-client

      3. 选择“授权”以开始会话。

      4. 关闭授权窗口。

    3. 从 REST API UI 中选择 POST /packages

    4. 选择*试用一下*。

    5. 选择“浏览”,然后选择升级包。

    6. 选择“执行”以开始上传。

    7. 从响应中复制并保存包 ID("id" ) 供后续步骤使用。

  3. 确认上传状态。

    1. 从 REST API UI 中选择 GET /packages/{id}/status

    2. 选择*试用一下*。

    3. id 中输入您在上一步中复制的固件包 ID。

    4. 选择“执行”以发起状态请求。

      回应表明 `state`作为 `SUCCESS`完成后。

  4. 找到安装资产 ID:

    1. 在管理节点上打开管理节点 REST API 用户界面:

      https://<ManagementNodeIP>/inventory/1/
    2. 选择“授权”,然后完成以下步骤:

      1. 请输入集群用户名和密码。

      2. 请输入客户端 ID mnode-client

      3. 选择“授权”以开始会话。

      4. 关闭授权窗口。

    3. 从 REST API UI 中选择 GET /installations

    4. 选择*试用一下*。

    5. 选择*执行*。

    6. 从响应中复制安装资产 ID(id )。

      "id": "abcd01e2-xx00-4ccf-11ee-11f111xx9a0b",
      "management": {
        "errors": [],
        "inventory": {
          "authoritativeClusterMvip": "10.111.111.111",
          "bundleVersion": "2.14.19",
          "managementIp": "10.111.111.111",
          "version": "1.4.12"
    7. 从 REST API UI 中选择 GET /installations/{id}

    8. 选择*试用一下*。

    9. 将安装资产 ID 粘贴到 id 字段中。

    10. 选择*执行*。

    11. 从响应中复制并保存存储集群 ID("id" ) 您打算升级的集群,以便在后续步骤中使用。

      "storage": {
        "errors": [],
        "inventory": {
          "clusters": [
            {
              "clusterUuid": "a1bd1111-4f1e-46zz-ab6f-0a1111b1111x",
              "id": "a1bd1111-4f1e-46zz-ab6f-a1a1a111b012",
  5. 运行存储固件升级程序:

    1. 在管理节点上打开存储 REST API 用户界面:

      https://<ManagementNodeIP>/storage/1/
    2. 选择“授权”,然后完成以下步骤:

      1. 请输入集群用户名和密码。

      2. 请输入客户端 ID mnode-client

      3. 选择“授权”以开始会话。

      4. 关闭窗口。

    3. 选择 POST /升级

    4. 选择*试用一下*。

    5. 在参数字段中输入升级包 ID。

    6. 在参数字段中输入存储集群 ID。

    7. 选择“执行”以启动升级。

      响应应表明状态为 initializing

    {
      "_links": {
        "collection": "https://localhost:442/storage/upgrades",
        "self": "https://localhost:442/storage/upgrades/3fa85f64-1111-4562-b3fc-2c963f66abc1",
        "log": https://localhost:442/storage/upgrades/3fa85f64-1111-4562-b3fc-2c963f66abc1/log
      },
      "storageId": "114f14a4-1a1a-11e9-9088-6c0b84e200b4",
      "upgradeId": "334f14a4-1a1a-11e9-1055-6c0b84e2001b4",
      "packageId": "774f14a4-1a1a-11e9-8888-6c0b84e200b4",
      "config": {},
      "state": "initializing",
      "status": {
        "availableActions": [
          "string"
        ],
        "message": "string",
        "nodeDetails": [
          {
            "message": "string",
            "step": "NodePreStart",
            "nodeID": 0,
            "numAttempt": 0
          }
        ],
        "percent": 0,
        "step": "ClusterPreStart",
        "timestamp": "2020-04-21T22:10:57.057Z",
        "failedHealthChecks": [
          {
            "checkID": 0,
            "name": "string",
            "displayName": "string",
            "passed": true,
            "kb": "string",
            "description": "string",
            "remedy": "string",
            "severity": "string",
            "data": {},
            "nodeID": 0
          }
        ]
      },
      "taskId": "123f14a4-1a1a-11e9-7777-6c0b84e123b2",
      "dateCompleted": "2020-04-21T22:10:57.057Z",
      "dateCreated": "2020-04-21T22:10:57.057Z"
    }
    1. 复制升级 ID(`"upgradeId"`这是回应的一部分。

  6. 验证升级进度和结果:

    1. 选择 GET /upgrades/{upgradeId}

    2. 选择*试用一下*。

    3. upgradeId 中输入上一步得到的升级 ID。

    4. 选择*执行*。

    5. 如果在升级过程中出现问题或有特殊要求,请执行以下操作之一:

      选项 步骤

      您需要修复由于以下原因导致的集群健康状况问题: `failedHealthChecks`响应正文中的消息。

      1. 请前往每个问题对应的知识库文章或执行指定的解决方法。

      2. 如果指定了知识库文章,请按照相关知识库文章中描述的步骤完成操作。

      3. 解决集群问题后,如果需要,请重新进行身份验证,然后选择 PUT /upgrades/{upgradeId}

      4. 选择*试用一下*。

      5. upgradeId 中输入上一步得到的升级 ID。

      6. 进入 `"action":"resume"`在请求正文中。

        {
          "action": "resume"
        }
      7. 选择*执行*。

      由于维护窗口即将关闭或其他原因,您需要暂停升级。

      1. 如果需要,请重新验证身份并选择 PUT /upgrades/{upgradeId}

      2. 选择*试用一下*。

      3. upgradeId 中输入上一步得到的升级 ID。

      4. 进入 `"action":"pause"`在请求正文中。

        {
          "action": "pause"
        }
      5. 选择*执行*。

    6. 根据需要多次运行 GET /upgrades/{upgradeId} API,直到过程完成。

      升级过程中, status`表示 `running`如果没有遇到错误。随着每个节点的升级, `step`值变化 `NodeFinished

    升级成功完成的标志是: percent`值是 `100`以及 `state`表示 `finished

查找更多信息