常见的 ONTAP 模式程序

本页介绍了 ONTAP 模式任务所需的常见程序。由于许多 Flex Unified ONTAP 模式存储池任务使用相同的 Google Cloud CLI 和 API 前提条件,因此您只需完成一次此设置,然后即可继续执行特定任务。

准备工作

请完成以下步骤:

  1. 在类 Unix 环境(Linux、macOS 或适用于 Linux 的 Windows 子系统 [WSL])中运行命令示例。ontap_execute shell 函数和其他 bash 示例需要 bash。如果您的工作站不提供类 Unix shell,请使用 Google Cloud Shell,其中包含 bash 和 Google Cloud CLI。

  2. 安装 Google Cloud CLI 559.0.0 版或更高版本并进行身份验证:

    gcloud auth login
    gcloud config set project PROJECT_ID
    
  3. 收集您管理的每个池的以下值:

    • POOL_NAME:存储池名称。

    • LOCATION:池的位置。

    • PROJECT_ID:项目 ID,如果您已在 Google Cloud CLI 配置中设置该 ID,则此参数为可选参数。

设置 ontap_execute

设置 POOL_NAMELOCATION,然后定义一个 shell 函数,以通过 Google Cloud CLI ONTAP CLI 代理运行 ONTAP 命令。该函数会在每次调用时验证变量。PROJECT_ID 使用 Google Cloud CLI 配置中的默认值。

如需定义 ontap_execute 函数,请执行以下操作:

 export POOL_NAME="mypool"
 export LOCATION="us-central1-a"

 ontap_execute() {
   : "${POOL_NAME:?Set POOL_NAME to your ONTAP-mode storage pool name}"
   : "${LOCATION:?Set LOCATION to the pool zone (for example us-central1-a) or region (for example us-central1)}"

   local project="${PROJECT_ID:-$(gcloud config get-value project 2>/dev/null)}"

   if [[ -z "${project}" ]]; then
     echo "Set PROJECT_ID or run: gcloud config set project PROJECT_ID" >&2
     return 1
   fi

   gcloud netapp storage-pools execute "${POOL_NAME}" "$1" \
     --project="${project}" \
     --location="${LOCATION}"
 }

以下示例使用 ontap_execute "ONTAP-COMMAND" 在由 POOL_NAMELOCATION 标识的池上运行指定的 ONTAP 命令。在运行每个命令之前,请替换占位值(例如 SVM_NAME)。

如果某个程序涉及多个池,请在每次调用 ontap_execute 之前更改 POOL_NAMELOCATION

使用代理运行 ONTAP CLI 命令

ONTAP CLI 代理可让您访问存储池的大部分 ONTAP 命令。代理不是交互式的,因此需要输入口令、密码或其他输入的命令将失败。

对于常规的非互动命令,请使用 ontap_execute,如程序部分所示。

使用 REST API 代理执行交互式步骤

当 ONTAP 命令需要交互式输入时,请改用 ONTAP REST API 调用的 Google 代理 API。本文档包含 Python 示例。通过代理发送的 REST 请求在 ONTAP API 载荷周围使用 body 信封。

查找集群和 SVM 名称

如需在 ONTAP 模式池中查找集群和 SVM 名称,请执行以下操作:

 ontap_execute "cluster identity show"
 ontap_execute "vserver show"
 ontap_execute "network interface show -role intercluster"

记下 cluster identity show 中的集群名称和 vserver show 中的数据 SVM 名称。用于集群间流量的 IC-LIF 位于 IPspace Gcnv 中。IC-LIF 的 Vserver 列显示 Gcnv。IC-LIF 名称为 intercluster-1intercluster-2 等,每个节点一个名称。

过程

以下程序包含常规的非交互式命令:

后续步骤