跳到主要内容

使用网关 API 对 ONTAP 卷进行故障诊断

网关 API 可充当调用 ONTAP API 的网关,来查询有关 ONTAP 存储对象的信息,并采取补救措施来解决所报告的问题。

请参见下文的工作流程示例用例,在此用例中,当 ONTAP 卷即将达到最大容量时引发了一个事件。该工作流程还展示了如何通过综合调用 DM 系列 Unified Manager 和 ONTAP REST API 来处理这一事件。

在运行工作流步骤之前,请确保:
  • 您了解网关 API 及其使用方法。有关信息,请参阅“通过代理来访问 ONTAP API”部分。

    通过代理来访问 ONTAP API

  • 您了解 ONTAP REST API 的用法。有关使用 ONTAP REST API 的更多信息,请参阅《ONTAP REST API 开发者指南》

    ONTAP REST API 开发者指南

  • 您是应用程序管理员。
  • 要运行 REST API 操作的集群在 ONTAP 9.5 或更高版本中受支持,并且该集群已通过 HTTPS 添加到 Unified Manager

下图展示了对 ONTAP 卷容量使用问题进行故障诊断的每个工作流程步骤。



此工作流程同时涵盖 Unified Manager 调用点和 ONTAP REST API 调用点。

  1. 记下卷容量利用通知事件中的卷名称。
  2. 使用卷名称作为 name 参数中的值,通过运行以下 Unified Manager API 来查询对应的卷。
    类别HTTP 动词路径
    datacenterGET

    /datacenter/storage/volumes

  3. 从输出结果中检索集群 UUID 和卷 UUID。
  4. Unified Manager Web UI 的“设置”下,导航到 General(常规) > Feature Settings(功能设置) > API Gateway(API 网关),验证是否已启用 API 网关功能。只有在此功能启用的情况下,您才能调用 gateway 类别下的 API。如果此功能被禁用,请启用此功能。
  5. 使用集群 UUID,通过 API 网关运行 ONTAP API /storage/volumes/{uuid}。在将卷 UUID 作为 API 参数传递时,查询会返回卷详细信息。

    通过 API 网关运行 ONTAP API 时,系统会在内部传递 Unified Manager 凭证以进行认证,因此访问单个集群时无需运行其他认证步骤。

    类别HTTP 动词路径

    Unified Manager:网关

    ONTAP:存储

    GET

    网关 API:/gateways/{uuid}/{path}

    ONTAP API:/storage/volumes/{uuid}

    /gateways/{uuid}/{path} 中,{uuid} 的值必须替换为要执行 REST 操作的集群 UUID。{path} 必须替换为 ONTAP REST URL /storage/volumes/{uuid}

    附加的 URL 为:/gateways/{cluster_uuid}/storage/volumes/{volume_uuid}

    在运行 GET 操作时,生成的 URL 为:GEThttps://<hostname>/api/gateways/<cluster_UUID>/storage/volumes/{volume_uuid}

    示例 cURL 命令
    curl -X GET "https://<hostname>/api/gateways/1cd8a442-86d1-11e0-ae1c-9876567890123/storage/volumes/028baa66-41bd-11e9-81d5-00a0986138f7" 
    -H "accept: application/hal+json" -H "Authorization: Basic <Base64EncodedCredentials>"
  6. 根据输出结果确定卷的大小、使用情况和要采取的补救措施。此工作流程中采取的补救措施是调整卷的大小。
  7. 使用集群 UUID,通过 API 网关运行以下 ONTAP API 来调整卷的大小。有关网关和 ONTAP API 输入参数的信息,请参阅步骤 5。
    类别HTTP 动词路径

    Unified Manager:网关

    ONTAP:storage

    PATCH

    网关 API:/gateways/{uuid}/{path}

    ONTAP API:/storage/volumes/{uuid}

    除集群 UUID 和卷 UUID 外,还必须输入 size 参数的值,用于调整卷大小。确保输入以字节为单位 的值。例如,如果要将卷的大小从 100 GB 增加到 120 GB,请在查询末尾输入 size 参数的值:-d {\"size\": 128849018880}"
    示例 cURL 命令
    curl -X PATCH "https://<hostname>/api/gateways/1cd8a442-86d1-11e0-ae1c-9876567890123/storage/volumes/028baa66-41bd-11e9-81d5-00a0986138f7" -H
    "accept: application/hal+json" -H "Authorization: Basic <Base64EncodedCredentials>" -d
    {\"size\": 128849018880}"

    JSON 输出结果会返回作业 UUID。

  8. 使用作业 UUID 验证作业是否成功运行。使用集群 UUID 和作业 UUID,通过 API 网关运行以下 ONTAP API。有关网关和 ONTAP API 输入参数的信息,请参阅步骤 5。
    类别HTTP 动词路径

    Unified Manager:网关

    ONTAP:cluster

    GET

    网关 API:/gateways/{uuid}/{path}

    ONTAP API:/cluster/jobs/{uuid}

    返回的 HTTP 代码与 ONTAP REST API HTTP 状态代码相同。

  9. 运行以下 ONTAP API 以查询调整大小后的卷的详细信息。有关网关和 ONTAP API 输入参数的信息,请参阅步骤 5。
    类别HTTP 动词路径

    Unified Manager:网关

    ONTAP:storage

    GET

    网关 API:/gateways/{uuid}/{path}

    ONTAP API:/storage/volumes/{uuid}

    输出结果显示卷大小已增加到 120 GB。