在 ONTAP 模式中管理 ONTAP

本頁說明如何在 ONTAP 模式中管理 ONTAP。

基於安全性和記錄考量,NetApp Volumes 不允許直接連線至 ONTAP 管理 LIF。因此,您無法使用 SystemManager 或 SSH 等工具直接管理 ONTAP 系統。不過,您可以使用下列方法,將 ONTAP 作業提交至 ONTAP 模式的儲存空間集區:

Terraform 等管理工具會使用 Google API Proxy 管理 ONTAP 資源。

事前準備

如要管理 ONTAP 模式儲存集區的 ONTAP 作業,Google Cloud CLI 版本必須至少為 559.0.0。如果版本較舊,Google Cloud CLI 會傳回錯誤,指出指令或旗標未定義。

使用 Google Cloud CLI ONTAP CLI Proxy

雖然無法直接透過 SSH 存取 ONTAP CLI,但您可以使用 Google Cloud CLI 將 ONTAP CLI 指令傳送至儲存集區。

gcloud

執行 ONTAP 指令:

gcloud netapp storage-pools execute POOL-NAME ONTAP-COMMAND --project PROJECT \
  --location=LOCATION

請替換下列資訊:

  • POOL-NAME:Flex Unified ONTAP 模式儲存集區的名稱。

  • ONTAP-COMMAND:要在叢集或儲存集區上執行的 ONTAP 指令。

  • PROJECT:您的專案 ID。

  • LOCATION:儲存空間集區的位置。

使用 Google Proxy API 呼叫 ONTAP REST API

NetApp Volumes 會為每個 FlexUnified ONTAP 模式儲存集區提供 Google API 端點,讓您將 ONTAP REST API 呼叫傳送至基礎 ONTAP 叢集。您可以使用 API 控制 ONTAP 功能。

呼叫 ONTAP Proxy 時,必須使用下列網址格式:

  https://netapp.googleapis.com/v1/projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME/ontap/ONTAP_REST_URL
 

這個網址包含下列元素:

  • 基準網址:https://netapp.googleapis.com/v1

  • 儲存空間集區的 Google URN:/projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME

    請替換下列資訊:

    • PROJECT:您的專案 ID 或編號。

    • LOCATION:區域集區的區域,或區域集區的區域名稱。

    • POOL_NAME:集區名稱。

  • ONTAP REST API 路徑:/ontap/ONTAP_REST_URL。 詳情請參閱 ONTAP REST API 參考資料。

列出儲存空間集區的所有磁碟區

以下範例顯示完整網址,可列出專案 myproject 中 us-central1-a 儲存空間集區 mypool 的所有磁碟區。

https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes

與所有 Google API 呼叫一樣,這項呼叫必須經過驗證。下列 CLI 範例會擷取 API 權杖,然後使用 curl 呼叫網址,列出集區中的所有磁碟區:

   TOKEN=$(gcloud auth print-access-token)
   curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' \
   --header "Authorization: Bearer $TOKEN" \
   --header "Content-Type: application/json"
  

列出磁碟區的所有快照

以下範例顯示完整網址,可列出專案 myproject 中 us-central1-a 的儲存空間集區 mypool 和磁碟區 volume-uuid 的所有快照。

https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes/volume-uuid/snapshots

與所有 Google API 呼叫一樣,這項呼叫必須經過驗證。下列 CLI 範例會擷取 API 權杖,然後使用 curl 呼叫網址,列出磁碟區的所有快照:

   TOKEN=$(gcloud auth print-access-token)
   curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes/volume-uuid/snapshots' \
   --header "Authorization: Bearer $TOKEN" \
   --header "Content-Type: application/json"
  

建立磁碟區

本節說明如何使用 ONTAP REST API,在現有的 Flex Unified ONTAP 模式儲存空間集區 (由 URN /projects/myproject/locations/us-central1-a/storagePools/mypool 識別) 中,建立名為 myvolume 的磁碟區。

如要建立磁碟區,請參閱 ONTAP REST API 線上說明文件。在說明文件中,前往「Storage」(儲存空間) 專區,然後展開「Manage storage volumes」(管理儲存空間磁碟區)。本節提供幾個範例。

請按照下列操作說明建立磁碟區。

  1. 判斷 ONTAP REST API 端點。

    使用 NetApp Volumes 中的基本範例時,所需的 ONTAP API 端點為 /api/storage/volumes。這個端點會建立網址:https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes。

  2. 建構要求酬載。

    請使用 ONTAP 文件中的範例酬載,配合您的特定環境。例如:

    {
      "name": "vol1",
      "aggregates": [
        {
          "name": "aggr1"
        }
      ],
      "svm": {
        "name": "vs1"
      }
    }
    

    建立磁碟區時,請使用 name 欄位指派磁碟區名稱。建立磁碟區的酬載需要匯總和儲存虛擬機器 (SVM) 的名稱,這些名稱是在建立 ONTAP 模式集區時由 NetApp Volumes 指派。在 ONTAP 模式中,每個儲存空間集區都有一個 SVM 和一個儲存空間匯總。如要擷取這項資訊,請查詢 ONTAP 中的「所有 SVM」。

    如要擷取 SVM 和匯總名稱,請按照下列步驟操作:

    1. 選取欄位:在 NetApp Volumes ONTAP 模式集區中,請使用查詢參數 ontap_fields=,而非標準 ONTAP fields= 參數,指定要求的欄位。ontap_fields

    2. 選用:使用jq 擷取欄位:以下範例使用 jq 開放原始碼工具,從 JSON 回應中擷取 name (SVM 名稱) 和 aggregates,這有助於在 Shell 指令碼中處理。

      TOKEN=$(gcloud auth print-access-token)
      curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/svm/svms?ontap_fields=name,aggregates' \
      --header "Authorization: Bearer $TOKEN" \
      --header "Content-Type: application/json" | jq '.rawResponse.records[] | {name: .name, aggregates: .aggregates[].name}'
      

      回應範例:

      {
       "name": "gcnv-7cf6ee41c1a94f0-svm-01",
       "aggregates": "aggr1"
      }
      
  3. 執行磁碟區建立 API 呼叫。

    使用匯總名稱 (aggr1) 和 SVM 名稱 (gcnv-7cf6ee41c1a94f0-svm-01),建立最終磁碟區建立酬載,並提交 API 呼叫。請注意,ONTAP API 酬載必須封裝在 body: {} 信封內,才能用於 NetApp Volumes。

    以下範例會建立名為 myvolume 的磁碟區,大小為 2 GB:

    curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' \
    --header "Authorization: Bearer $TOKEN" \
    --header "Content-Type: application/json" \
    --data '{
      "body": {
        "name": "myvolume",
        "aggregates": [
          {
            "name": "aggr1"
          }
        ],
        "svm": {
          "name": "gcnv-7cf6ee41c1a94f0-svm-01"
        },
        "size": "2GB"
      }
    }'
    

    建立磁碟區時支援許多選用參數,例如 size。舉例來說,酬載指定的大小為 2 GB。資源的說明文件頁面會列出所有可用參數,包括必要和選用參數。並提供酬載和回應體的詳細範例。

    如要在 ONTAP REST API 中設定自動調整級別,請在要求主體中加入 tiering JSON 物件:

    • 如要將磁碟區的層級政策設為 all,請使用 "tiering": {"policy": "all"}。

    • 選用:如要設定冷卻期天數,請使用 "tiering": {"policy": "auto", "min_cooling_days": 31}。

      您可以在「冷卻期」min_cooling_days欄位中,指定 2 至 183 天的冷卻期門檻。預設冷資料判定門檻值為 31 天。

    如要略過熱層,並將資料直接寫入讀寫 (RW) 磁碟區的雲端層,請使用具有進階權限的 Google Cloud CLI ONTAP CLI Proxy:

    set -privilege advanced; volume modify -vserver SVM_NAME -volume VOLUME_NAME -tiering-policy all -is-cloud-write-enabled true
  4. 監控 ONTAP 工作。

    大多數 ONTAP API 呼叫 (例如建立或更新資源的 POST 或 PATCH 作業) 不會同步執行。這些呼叫會改為傳回 ONTAP 工作資源,如磁碟區建立範例所示。

    工作回覆範例:

    {
      "body": {
        "job": {
          "_links": {
            "self": {
              "href": "curl --location
    'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \
    --header "Authorization: Bearer $TOKEN" \
    --header "Content-Type: application/json""
            }
          },
          "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c"
        }
      }
    }
    

    如要查看工作狀態,請使用傳回的 uuid 查詢工作資源:

    curl --location 'https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/cluster/jobs/15be1c46-fd2c-11f0-b3c2-7f15697be61c' \
    --header "Authorization: Bearer $TOKEN" \
    --header "Content-Type: application/json"
    

    回應範例:

    {
      "rawResponse": {
        "uuid": "15be1c46-fd2c-11f0-b3c2-7f15697be61c",
        "description": "POST
    /api/storage/volumes/15be0ad9-fd2c-11f0-b3c2-7f15697be61c",
        "state": "success",
        "message": "success",
        "code": 0,
        "start_time": "2026-01-29T16:03:43+00:00",
        "end_time": "2026-01-29T16:03:44+00:00",
        "svm": {
          "name": "gcnv-7cf6ee41c1a94f0-svm-01",
          "uuid": "8a29c15d-fb31-11f0-ab03-03e1bb49206d"
       }
      }
    }
    

    如果 state 為 success,系統就會建立磁碟區。

    這個工作流程範例會引導您在 ONTAP REST API 說明文件中查詢 ONTAP 動作。此外,本文也會說明如何建立必要的酬載格式,並使用 Google API 將其提交至儲存集區。最後,本文會示範如何監控 ONTAP 工作,直到資源建立完成為止。採用這種方法,您就能控管儲存空間集區的大部分 ONTAP 設定。

使用 Terraform 管理 ONTAP 模式

您可以使用 CLI Proxy 管理 ONTAP 模式資源。CLI Proxy 適用於互動式用途,但自動化作業可能較為複雜。Terraform 可持續管理雲端資源的生命週期,並用於管理 NetApp Volumes 和 ONTAP 資源。

請參考「功能管理總覽」表格,決定要使用哪一個供應商。

  • Google 供應商會透過 NetApp Volumes API 管理資源。

  • NetApp-ONTAP 供應商會透過 ONTAP REST API 管理資源。

舉例來說,您可以使用 Google 供應商 (7.27.0 以上版本) 建立 ONTAP 模式的儲存集區。然後,如要在該 ONTAP 模式集區中建立磁碟區,請使用 NetApp-ONTAP 提供者,版本為 2.6.0 以上。

如要進一步瞭解設定方式和範例,請參閱 NetApp-ONTAP 供應商說明文件。

允許的 ONTAP 動作

透過 API 或 CLI Proxy 存取 ONTAP 模式集區時,您不具備完整權限,也無法執行所有 ONTAP 指令。這項限制有助於保護系統完整性,並防止變更服務管理的基礎實體資源。

對於部分 API,系統會篩選 API 要求和回應酬載。舉例來說,由於 NetApp Volumes 是以邏輯容量計費,系統會封鎖設定實體容量的參數。如果傳送不允許的參數,API 會傳回錯誤。

如要進一步瞭解計費方式,請參閱「計費:邏輯容量與實體容量」。

支援的 ONTAP 指令

如要管理 ONTAP 模式,請使用 Google Cloud CLI ONTAP CLI Proxy 提交 ONTAP 指令。NetApp Volumes 支援大部分的指令,可管理 SVM、LUN、磁碟區和 ONTAP 功能。為保護系統完整性,或因為某些指令管理的是與 NetApp Volumes 等代管服務無關的實體資源,因此遭到封鎖。

您會在 ONTAP 管理員權限層級執行指令。如要將權限層級切換為進階,請在指令開頭加入 set advanced; 或 set -privilege advanced;。部分指令也支援診斷 (diag) 權限層級,只要在指令開頭加上 set diag; 即可存取。這些權限變更不會持續生效。

由於 Proxy 不是互動式殼層,因此一次只能執行一個指令。這項限制表示 Proxy 不支援要求額外資訊的互動式指令。舉例來說,您無法建立需要 Active Directory 管理員憑證的 CIFS 或 SMB vserver (SVM)。此外,CLI Proxy 是互動式指令,因此不支援叢集對等互連。如要執行這些作業,請使用 ONTAP REST API。

下表列出 ONTAP CLI Proxy 支援的指令系列、指令和限制:

指令系列 目的 支援的指令 附註
叢集 SnapMirror 和 FlexCache 的對等叢集,以及叢集的選取資訊 叢集對等互連 - 完全存取權

叢集顯示、身分顯示、日期顯示、高可用性顯示、統計資料顯示和時間服務 NTP 伺服器顯示 - 唯讀
CLI Proxy 不支援互動式 cluster peer create 指令,請改用 REST API。您可以使用其他 cluster peer 指令,例如 show。
偵錯 支援封包追蹤 (tcpdump)、LUN 和鎖定疑難排解 debug network tcpdump、debug san lun 和 debug lock persistence - 完整存取權 所有允許的偵錯指令都必須具備 diag 權限等級。以下是常見的偵錯指令。
事件 建立篩選器,將感興趣的 ONTAP 事件傳送至 SMTP 或 Syslog 目的地 event catalog show 和 事件記錄 show - 唯讀

event config、event filter 和 事件通知 - 完整存取權
可將事件記錄到自訂目的地。您可以使用 event log show 依時間或類型顯示記錄事件。
工作 在節點和叢集層級管理 ONTAP 工作 job show、job schedule、job private、job stop 和 job resume - 完全存取權
LUN 建立及管理 LUN 和啟動器群組,以及匯入外部 LUN lun create、lun bind 和 igroup - 完整存取權 雖然允許匯入 LUN,但無法將外部磁碟連接至 ONTAP 模式系統。
網路 顯示網路連接埠、介面、路由和 IP 空間設定、對外部 IP 位址執行 ping 和 traceroute,以及依通訊協定顯示用戶端連線 網路 Ping、網路 Traceroute、網路連接埠介面、網路 IP 空間和網路連線 - 唯讀
QoS 建立及管理 QoS 政策群組,並顯示相關效能 所有 QoS 指令 - 唯讀 QoS 設定處於唯讀狀態。
安全性 顯示稽核設定、啟用防範勒索軟體功能,以及建立並安裝憑證 安全稽核 - 唯讀

安全防勒索軟體磁碟區和安全憑證 - 完全存取權
建立磁碟區時,可以設定防勒索軟體參數。您只能建立伺服器和用戶端憑證。
SnapLock 管理 SnapLock 時鐘和記錄,以及控制 SnapLock 以事件為基礎的保留和訴訟保留作業 snaplock 規範時鐘和 snaplock 記錄 - 完整存取權 使用 volume snaplock modify 指令,在個別磁碟區上設定 SnapLock。您只能使用 ONTAP REST API 管理 SnapLock 指令 snaplock event-retention 和 snaplock legal-hold。
SnapMirror 建立及管理 SnapMirror 關係 snapmirror create、snapmirror initialize、snapmirror break 和 snapmirror resync - 完整存取權
統計資料 顯示定期系統統計資料,或建立特定統計資料的樣本 statistics samples、statistics start、statistics stop 和 statistics show-periodic - 完整存取權

statistics volume、statistics lun、statistics aggregate、statistics qtree 和 statistics SVM - 唯讀
許多指令都需要進階模式才能指定參數。
系統 系統指令通常不支援,但可以叫用 AutoSupport 和效能封存傳輸 system node autosupport invoke 和 system node autosupport invoke-performance-archive - 完整存取權 NetApp 支援團隊可使用 AutoSupport 檔案。
音量 建立及管理磁碟區 volume create、volume delete、volume modify、volume clone、volume expand (FlexGroup)、volume flexcache、volume flexgroup、qtree、quota、snaplock、snapshot - 完整存取權 系統會自動管理部分磁碟區功能,例如邏輯空間回報/強制執行和空間保證 (無)。設定磁碟區層級的調整級別政策,以使用集區層級設定的自動調整級別功能。
Vserver 管理 SVM (虛擬伺服器),以存取磁碟區的檔案 (SMB、NFS)、區塊 (iSCSI、NVMe) 和物件 (S3)。

管理磁碟區使用的政策,例如 NFS 的匯出政策。

啟用 SVM 功能,例如稽核記錄 (檔案存取)、一致性群組、政策、名稱服務 (DNS、LDAP) 和防毒 (vscan)。

對等互連 SVM,以用於 SnapMirror 和 FlexCache。
vserver cifs create (加入 Active Directory 網域)、vserver nfs create、vserver iscsi create 和 vserver nvme create - 完整存取權

vserver object-store-server - 完整存取權
使用 vserver modify 指令,為所有磁碟區設定預設語言、安全性樣式,以及快照和配額政策。

目前不支援 vserver create。
密碼變更指令無法以互動方式執行,必須使用指令參數或 REST API 指定。
舊版指令 時區和版本 - 完整存取權

刪除 ONTAP 模式集區

如要刪除 ONTAP 模式集區,請先刪除集區中的所有磁碟區。