ONTAP im ONTAP-Modus verwalten

Auf dieser Seite wird beschrieben, wie Sie ONTAP im ONTAP-Modus verwalten.

Aus Sicherheits- und Protokollierungsgründen sind in NetApp Volumes keine direkten Verbindungen zur ONTAP-Verwaltungs-LIF zulässig. Daher können Sie Tools wie SystemManager oder SSH nicht verwenden, um das ONTAP-System direkt zu verwalten. Stattdessen können Sie ONTAP-Vorgänge für Ihren ONTAP-Speicherpool über eine Google-Proxy-API für ONTAP-REST-API-Aufrufe senden.

Die Verwaltungstools wie Terraform verwenden den Google API-Proxy, um ONTAP-Ressourcen zu verwalten.

Google-Proxy-API für ONTAP REST API-Aufrufe verwenden

NetApp Volumes bietet für jeden Flex Unified ONTAP-Modus-Speicherpool einen Google API-Endpunkt, über den Sie ONTAP REST API-Aufrufe an den zugrunde liegenden ONTAP-Cluster senden können. So können Sie ONTAP-Funktionen über APIs steuern.

Für Aufrufe des ONTAP-Proxys muss das folgende URL-Format verwendet werden:

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

Diese URL besteht aus folgenden Elementen:

  • Baseline-URL: https://netapp.googleapis.com/v1beta1/projects

  • Google-URN für den Speicherpool: /PROJECT/locations/LOCATION/storagePools/POOL_NAME

    Ersetzen Sie die folgenden Informationen:

    • PROJECT: Ihre project ID oder Nummer.

    • LOCATION: Der Name der Zone für zonale Pools oder die Region für regionale Pools.

    • POOL_NAME: Der Name des Pools.

  • ONTAP REST API-Pfad: /ontap/ONTAP_REST_URL. Weitere Informationen finden Sie in der ONTAP REST API-Referenz.

Alle Volumes eines Speicherpools auflisten

Das folgende Beispiel zeigt die vollständige URL zum Auflisten aller Volumes für den Speicherpool mypool in us-central1-a im Projekt myproject.

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

Wie alle Google API-Aufrufe muss auch dieser Aufruf authentifiziert werden. Im folgenden CLI-Beispiel wird ein API-Token abgerufen und dann die URL mit curl aufgerufen, um alle Volumes im Pool aufzulisten:

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

Volume erstellen

In diesem Abschnitt wird gezeigt, wie Sie mit der ONTAP REST API ein Volume mit dem Namen myvolume in einem vorhandenen Flex Unified-Speicherpool im ONTAP-Modus mit der URN /projects/myproject/locations/us-central1-a/storagePools/mypool erstellen.

Informationen zum Erstellen eines Volumes finden Sie in der ONTAP REST API-Onlinedokumentation. Rufen Sie in der Dokumentation den Abschnitt Storage auf und maximieren Sie Manage storage volumes (Speichervolumes verwalten). Dieser Abschnitt enthält mehrere Beispiele.

So erstellen Sie ein Volume:

  1. Bestimmen Sie den ONTAP REST API-Endpunkt.

    Wenn Sie das einfache Beispiel in NetApp Volumes verwenden, ist der erforderliche ONTAP API-Endpunkt /api/storage/volumes. Mit diesem Endpunkt wird die URL https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes erstellt.

  2. Erstellen Sie die Anfragenutzlast.

    Verwenden Sie die Beispielnutzlast aus der ONTAP-Dokumentation, um sie an Ihre spezifische Umgebung anzupassen. Beispiel:

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

    Verwenden Sie beim Erstellen eines Volumes das Feld name, um den Namen des Volumes zuzuweisen. Für die Nutzlast zum Erstellen von Volumes sind die Namen des Aggregats und der Storage Virtual Machine (SVM) erforderlich, die von NetApp Volumes während der Erstellung des ONTAP-Modus-Pools zugewiesen werden. Im ONTAP-Modus hat jeder Speicherpool eine SVM und ein Speicheraggregat. Diese Informationen können abgerufen werden, indem ONTAP nach allen SVMs abgefragt wird.

    So rufen Sie die SVM- und Aggregatnamen ab:

    1. ontap_fields zur Feldauswahl verwenden: Verwenden Sie in NetApp Volumes ONTAP-mode-Pools den Abfrageparameter ontap_fields= anstelle des Standard-ONTAP-Parameters fields=, um die angeforderten Felder anzugeben.

    2. Optional: jq verwenden, um Felder zu extrahieren: Im folgenden Beispiel wird das Open-Source-Tool jq verwendet, um name (SVM-Name) und aggregates aus der JSON-Antwort zu extrahieren. Das ist nützlich für die Verarbeitung in Shell-Skripts.

      TOKEN=$(gcloud auth print-access-token)
      curl --location
      'https://netapp.googleapis.com/v1beta1/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}'
      

      Beispielantwort:

      {
       "name": "gcnv-7cf6ee41c1a94f0-svm-01",
       "aggregates": "aggr1"
      }
      
  3. Führen Sie den API-Aufruf zum Erstellen des Volumes aus.

    Erstellen Sie mit dem Aggregatnamen (aggr1) und dem SVM-Namen (gcnv-7cf6ee41c1a94f0-svm-01) die Nutzlast für die endgültige Volume-Erstellung und senden Sie den API-Aufruf. Die ONTAP API-Nutzlast muss für NetApp-Volumes in einem body: {}-Umschlag eingeschlossen werden.

    Im folgenden Beispiel wird ein Volume mit dem Namen myvolume und einer Größe von 2 GB erstellt:

    curl --location
    'https://netapp.googleapis.com/v1beta1/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"
      }
    }'
    

    Beim Erstellen von Volumes werden viele optionale Parameter unterstützt, z. B. size. Die Nutzlast gibt beispielsweise eine Größe von 2 GB an. Auf der Dokumentationsseite der Ressource sind alle verfügbaren Parameter aufgeführt, einschließlich der erforderlichen und optionalen Parameter. Außerdem enthält sie detaillierte Beispiele für Nutzlasten und Antworttexte.

  4. ONTAP-Job überwachen

    Die meisten ONTAP-API-Aufrufe, z. B. POST- oder PATCH-Vorgänge, mit denen Ressourcen erstellt oder aktualisiert werden, werden nicht synchron ausgeführt. Stattdessen wird eine ONTAP-Jobressource zurückgegeben, wie im Beispiel für die Volume-Erstellung gezeigt.

    Beispiel für eine Antwort auf eine Anfrage zu einem Job:

    {
      "body": {
        "job": {
          "_links": {
            "self": {
              "href": "curl --location
    'https://netapp.googleapis.com/v1beta1/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"
        }
      }
    }
    

    Wenn Sie den Status des Jobs prüfen möchten, fragen Sie die Jobressource mit der zurückgegebenen uuid ab:

    curl --location
    'https://netapp.googleapis.com/v1beta1/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"
    

    Beispielantwort:

    {
      "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"
       }
      }
    }
    

    Wenn state success ist, wird das Volume erstellt.

    In diesem Beispiel-Workflow wird beschrieben, wie Sie ONTAP-Aktionen in der ONTAP REST API-Dokumentation nachschlagen. Außerdem wird gezeigt, wie Sie das erforderliche Nutzlastformat erstellen und es mit einer Google API an den Speicherpool senden. Schließlich wird gezeigt, wie ein ONTAP-Job überwacht wird, bis die Ressource erstellt ist. Mit diesem Ansatz können Sie die meisten ONTAP-Einstellungen für Ihren Speicherpool steuern.

Zulässige ONTAP-Aktionen

Wenn Sie über den API- oder CLI-Proxy auf einen Pool zugreifen, haben Sie eingeschränkte Berechtigungen und können nicht alle ONTAP-Befehle ausführen. So wird die Integrität des Systems geschützt. Bei einigen APIs filtert das System API-Anfrage- und Antwortnutzlasten. Da bei NetApp Volumes beispielsweise die logische Kapazität abgerechnet wird, werden Parameter zum Konfigurieren der physischen Kapazität vom System blockiert. Wenn Sie einen nicht zulässigen Parameter senden, gibt die API einen Fehler zurück.

ONTAP-Modus-Pool löschen

Wenn Sie einen Pool im ONTAP-Modus löschen möchten, müssen Sie zuerst alle Volumes im Pool löschen.