Administra ONTAP en modo ONTAP

En esta página, se describe cómo administrar ONTAP en el modo ONTAP.

Por motivos de seguridad y registro, NetApp Volumes no permite conexiones directas a la LIF de administración de ONTAP. Por lo tanto, no puedes usar herramientas como SystemManager o SSH para administrar el sistema ONTAP directamente. En cambio, puedes enviar operaciones de ONTAP a tu grupo de almacenamiento en modo ONTAP con una API de proxy de Google para las llamadas a la API de REST de ONTAP.

Las herramientas de administración, como Terraform, usan el proxy de la API de Google para administrar los recursos de ONTAP.

Usa una API de proxy de Google para las llamadas a la API de REST de ONTAP

NetApp Volumes proporciona un extremo de API de Google para cada grupo de almacenamiento en modo ONTAP unificado de Flex, lo que te permite enviar llamadas a la API de REST de ONTAP al clúster de ONTAP subyacente. Esto te permite controlar las funciones de ONTAP con APIs.

Las llamadas al proxy de ONTAP deben usar el siguiente formato de URL:

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

Esta URL consta de los siguientes elementos:

  • URL de referencia: https://netapp.googleapis.com/v1beta1/projects

  • URN de Google para el grupo de almacenamiento: /PROJECT/locations/LOCATION/storagePools/POOL_NAME

    Reemplaza la siguiente información:

    • PROJECT: Tu project ID o número

    • LOCATION: Es el nombre de la zona para los grupos zonales o la región para los grupos regionales.

    • POOL_NAME: Es el nombre de tu grupo.

  • Ruta de acceso a la API de REST de ONTAP: /ontap/ONTAP_REST_URL. Para obtener más información, consulta la referencia de la API de REST de ONTAP.

Enumera todos los volúmenes de un grupo de almacenamiento

En el siguiente ejemplo, se muestra la URL completa para enumerar todos los volúmenes del grupo de almacenamiento mypool en us-central1-a en el proyecto myproject.

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

Al igual que todas las llamadas a la API de Google, esta llamada debe autenticarse. En el siguiente ejemplo de CLI, se recupera un token de API y, luego, se llama a la URL con curl para enumerar todos los volúmenes del grupo:

   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"

Crear un volumen

En esta sección, se muestra cómo crear un volumen llamado myvolume en un grupo de almacenamiento existente en modo ONTAP unificado de Flex, identificado por el URN: /projects/myproject/locations/us-central1-a/storagePools/mypool, con la API de REST de ONTAP.

Para crear un volumen, consulta la documentación en línea de la API de REST de ONTAP. En la documentación, navega a la sección Almacenamiento y, luego, expande Administra volúmenes de almacenamiento. En esta sección, se proporcionan varios ejemplos.

Usa las siguientes instrucciones para crear un volumen.

  1. Determina el extremo de API de REST de ONTAP.

    Con el ejemplo básico en NetApp Volumes, el extremo de API de ONTAP requerido es /api/storage/volumes. Este extremo crea la URL: https://netapp.googleapis.com/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes.

  2. Construye la carga útil de la solicitud.

    Usa la carga útil de ejemplo de la documentación de ONTAP para que coincida con tu entorno específico. Por ejemplo:

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

    Cuando crees un volumen, usa el campo name para asignarle un nombre. La carga útil de creación de volúmenes requiere los nombres del agregado y de la máquina virtual de almacenamiento (SVM) que asignan NetApp Volumes durante la creación del grupo en modo ONTAP. En el modo ONTAP, cada grupo de almacenamiento tiene una SVM y un agregado de almacenamiento. Esta información se puede recuperar consultando ONTAP para todas las SVM.

    Para recuperar los nombres de la SVM y el agregado, haz lo siguiente:

    1. Usa ontap_fields para la selección de campos: En los grupos en modo ONTAP de NetApp Volumes, usa el parámetro de consulta ontap_fields= en lugar del parámetro estándar fields= de ONTAP para especificar los campos solicitados.

    2. Opcional: Usajq para extraer campos: En el siguiente ejemplo, se usa la herramienta de código abierto jq para extraer name (nombre de SVM) y aggregates de la respuesta JSON, lo que resulta útil para el procesamiento en secuencias de comandos de shell.

      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}'
      

      Respuesta de ejemplo:

      {
       "name": "gcnv-7cf6ee41c1a94f0-svm-01",
       "aggregates": "aggr1"
      }
      
  3. Ejecuta la llamada a la API de creación de volúmenes.

    Con el nombre agregado (aggr1) y el nombre del SVM (gcnv-7cf6ee41c1a94f0-svm-01), crea la carga útil final de creación del volumen y envía la llamada a la API. Ten en cuenta que la carga útil de la API de ONTAP debe incluirse dentro de un sobre body: {} para NetApp Volumes.

    En el siguiente ejemplo, se crea un volumen llamado myvolume con un tamaño de 2 GB:

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

    La creación de volúmenes admite muchos parámetros opcionales, como size. Por ejemplo, la carga útil especifica un tamaño de 2 GB. En la página de documentación del recurso, se enumeran todos los parámetros disponibles, incluidos los obligatorios y los opcionales. También proporciona ejemplos detallados de cargas útiles y cuerpos de respuesta.

  4. Supervisa el trabajo de ONTAP.

    La mayoría de las llamadas a la API de ONTAP, como las operaciones POST o PATCH que crean o actualizan recursos, no se ejecutan de forma síncrona. En cambio, estas llamadas devuelven un recurso de trabajo de ONTAP, como se muestra en el ejemplo de creación de volúmenes.

    Ejemplo de respuesta del trabajo:

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

    Para verificar el estado del trabajo, consulta el recurso del trabajo con el uuid que se devolvió:

    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"
    

    Respuesta de ejemplo:

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

    Si state es success, se crea el volumen.

    En este flujo de trabajo de ejemplo, se explica cómo buscar acciones de ONTAP en la documentación de la API de REST de ONTAP. También se muestra cómo crear el formato de carga útil requerido y enviarlo al grupo de almacenamiento con una API de Google. Por último, demuestra cómo supervisar un trabajo de ONTAP hasta que se cree el recurso. Con este enfoque, puedes controlar la mayoría de los parámetros de configuración de ONTAP para tu grupo de almacenamiento.

Acciones de ONTAP permitidas

Cuando accedes a un grupo a través del proxy de la API o la CLI, tienes permisos limitados y no puedes ejecutar todos los comandos de ONTAP. Esto protege la integridad del sistema. En algunas APIs, el sistema filtra las cargas útiles de las solicitudes y respuestas a la API. Por ejemplo, debido a que NetApp Volumes factura la capacidad lógica, el sistema bloquea los parámetros para configurar la capacidad física. Si envías un parámetro que no está permitido, la API devolverá un error.

Borra un grupo en modo ONTAP

Para borrar un grupo en modo ONTAP, primero debes borrar todos los volúmenes del grupo.