在 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 參考資料。

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

以下範例顯示完整網址,可列出專案 myprojectus-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"
  

列出磁碟區的所有快照

以下範例顯示完整網址,可列出專案 myprojectus-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 欄位指派磁碟區名稱。建立磁碟區的酬載需要 NetApp Volumes 在建立 ONTAP 模式集區時指派的聚合和儲存虛擬機器 (SVM) 名稱。在 ONTAP 模式中,每個儲存空間集區都有一個 SVM 和一個儲存空間匯總。如要擷取這項資訊,請查詢 ONTAP 的所有 SVM

    如要擷取 SVM 和匯總名稱,請執行下列步驟:

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

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

      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。資源的說明文件頁面會列出所有可用參數,包括必要和選用參數。並提供酬載和回應主體的詳細範例。

  4. 監控 ONTAP 工作。

    大多數 ONTAP API 呼叫 (例如建立或更新資源的 POSTPATCH 作業) 不會同步執行。這些呼叫會傳回 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"
       }
      }
    }
    

    如果 statesuccess,系統就會建立磁碟區。

    這個工作流程範例會引導您在 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 代理程式存取 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 虛擬伺服器 (SVM)。CLI 代理程式也不支援叢集對等互連,因為這是互動式指令。如要執行這些作業,請使用 ONTAP REST API

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

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

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

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

安全防勒索軟體磁碟區安全憑證 - 完全存取權
建立磁碟區時,可以設定防勒索軟體參數。您只能建立伺服器和用戶端憑證。
SnapLock 管理 SnapLock 時鐘和記錄,以及控制 SnapLock 事件型保留和訴訟保留作業 snaplock compliance-clocksnaplock log - 完整存取權 使用 volume snaplock modify 指令,在個別磁碟區上設定 SnapLock。您只能使用 ONTAP REST API 管理 SnapLock 指令 snaplock event-retentionsnaplock legal-hold
SnapMirror 建立及管理 SnapMirror 關係 snapmirror createsnapmirror initializesnapmirror breaksnapmirror resync - 完整存取權
統計資料 顯示定期系統統計資料,或建立特定統計資料的樣本 statistics samplesstatistics startstatistics stopstatistics show-periodic - 完整存取權

statistics volumestatistics lunstatistics aggregatestatistics qtreestatistics SVM - 唯讀
許多指令都需要進階模式才能指定參數。
系統 系統指令通常不支援,但可以叫用 AutoSupport 和效能封存傳輸 system node autosupport invokesystem node autosupport invoke-performance-archive - 完整存取權 NetApp 支援服務可使用 AutoSupport 檔案。
音量 建立及管理磁碟區 volume createvolume deletevolume modifyvolume clonevolume expand (FlexGroup)、volume flexcachevolume flexgroupqtreequotasnaplocksnapshot - 完整存取權 系統會自動管理某些磁碟區功能,例如邏輯空間回報/強制執行和空間保證 (無)。設定磁碟區層級的調整級別政策,以使用集區層級的自動調整級別設定。
Vserver 管理 SVM (vserver),以存取磁碟區的檔案 (SMB、NFS)、區塊 (iSCSI、NVMe) 和物件 (S3)。

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

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

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

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

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

刪除 ONTAP 模式集區

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