Gerenciar o ONTAP no modo ONTAP

Nesta página, descrevemos como gerenciar o ONTAP no modo ONTAP.

Por motivos de segurança e geração de registros, o NetApp Volumes não permite conexões diretas com a LIF de gerenciamento do ONTAP. Portanto, não é possível usar ferramentas como o SystemManager ou o SSH para gerenciar o sistema ONTAP diretamente. Em vez disso, você pode enviar operações do ONTAP para seu pool de armazenamento no modo ONTAP usando os seguintes métodos:

As ferramentas de gerenciamento, como o Terraform, usam o proxy de API do Google para gerenciar recursos do ONTAP.

Antes de começar

Sua versão da CLI do Google Cloud precisa ser pelo menos 559.0.0 para gerenciar operações do ONTAP no pool de armazenamento no modo ONTAP. Se a versão for mais antiga, a Google Cloud CLI vai retornar um erro informando que o comando ou a flag não está definida.

Usar o proxy da CLI do ONTAP da CLI do Google Cloud

Embora o acesso SSH direto à CLI do ONTAP não esteja disponível, é possível enviar comandos da CLI do ONTAP para seu pool de armazenamento usando a Google Cloud CLI.

gcloud

Execute um comando do ONTAP:

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

Substitua as seguintes informações:

  • POOL-NAME: o nome do pool de armazenamento do modo ONTAP do Flex Unified.

  • ONTAP-COMMAND: o comando do ONTAP que você quer executar no cluster ou pool de armazenamento.

  • PROJECT: o ID do projeto.

  • LOCATION: o local do pool de armazenamento.

Usar uma API de proxy do Google para chamadas da API REST do ONTAP

O NetApp Volumes fornece um endpoint de API do Google para cada pool de armazenamento no modo FlexUnified ONTAP, permitindo enviar chamadas da API REST do ONTAP para o cluster do ONTAP subjacente. Isso permite controlar recursos do ONTAP usando APIs.

As chamadas ao proxy do ONTAP precisam usar o seguinte formato de URL:

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

Esse URL consiste nos seguintes elementos:

  • URL de base: https://netapp.googleapis.com/v1

  • URN do Google para o pool de armazenamento: /projects/PROJECT/locations/LOCATION/storagePools/POOL_NAME

    Substitua as seguintes informações:

    • PROJECT: o ID do projeto ou o número.

    • LOCATION: o nome da zona para pools zonais ou a região para pools regionais.

    • POOL_NAME: o nome do pool.

  • Caminho da API REST do ONTAP: /ontap/ONTAP_REST_URL. Para mais informações, consulte a referência da API REST do ONTAP.

Listar todos os volumes de um pool de armazenamento

O exemplo a seguir mostra o URL completo para listar todos os volumes do pool de armazenamento mypool em us-central1-a no projeto myproject.

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

Como todas as chamadas de API do Google, essa chamada precisa ser autenticada. O exemplo de CLI a seguir busca um token de API e chama o URL usando curl para listar todos os volumes no pool:

   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"
  

Listar todos os snapshots de um volume

O exemplo a seguir mostra o URL completo para listar todos os snapshots do pool de armazenamento mypool e do volume volume-uuid em us-central1-a no projeto myproject.

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

Como todas as chamadas de API do Google, essa chamada precisa ser autenticada. O exemplo de CLI a seguir busca um token de API e chama o URL usando curl para listar todos os snapshots do volume:

   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"
  

Criar um volume

Esta seção mostra como criar um volume chamado myvolume em um pool de armazenamento unificado do Flex no modo ONTAP, identificado pelo URN: /projects/myproject/locations/us-central1-a/storagePools/mypool, usando a API REST do ONTAP.

Para criar um volume, consulte a documentação on-line da API REST do ONTAP. Na documentação, navegue até a seção Armazenamento e expanda Gerenciar volumes de armazenamento. Esta seção fornece vários exemplos.

Use as instruções a seguir para criar um volume.

  1. Determine o endpoint de API REST do ONTAP.

    Usando o exemplo básico no NetApp Volumes, o endpoint de API ONTAP necessário é /api/storage/volumes. Esse endpoint cria o URL: https://netapp.googleapis.com/v1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes.

  2. Construa o payload da solicitação.

    Use o exemplo de payload da documentação do ONTAP para corresponder ao seu ambiente específico. Exemplo:

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

    Ao criar um volume, use o campo name para atribuir o nome dele. O payload de criação de volume exige os nomes do agregado e da máquina virtual de armazenamento (SVM) atribuídos pelo NetApp Volumes durante a criação do pool no modo ONTAP. No modo ONTAP, cada pool de armazenamento tem uma SVM e um agregado de armazenamento. Essas informações podem ser recuperadas consultando o ONTAP para todas as SVMs.

    Para recuperar os nomes da SVM e do agregado:

    1. Use ontap_fields para seleção de campos: em pools do modo ONTAP do NetApp Volumes, use o parâmetro de consulta ontap_fields= em vez do parâmetro padrão fields= do ONTAP para especificar os campos solicitados.

    2. Opcional: Usejq para extrair campos: o exemplo a seguir usa a ferramenta de código aberto jq para extrair o name (nome da SVM) e aggregates da resposta JSON, o que é útil para processamento em scripts 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}'
      

      Exemplo de resposta:

      {
       "name": "gcnv-7cf6ee41c1a94f0-svm-01",
       "aggregates": "aggr1"
      }
      
  3. Execute a chamada de API de criação de volume.

    Com o nome agregado (aggr1) e o nome da SVM (gcnv-7cf6ee41c1a94f0-svm-01), crie o payload final de criação de volume e envie a chamada de API. Observação: o payload da API ONTAP precisa estar dentro de um envelope body: {} para NetApp Volumes.

    O exemplo a seguir cria um volume chamado myvolume com um tamanho de 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"
      }
    }'
    

    A criação de volumes oferece suporte a muitos parâmetros opcionais, como size. Por exemplo, o payload especifica um tamanho de 2 GB. A página de documentação do recurso lista todos os parâmetros disponíveis, incluindo os obrigatórios e opcionais. Ele também fornece exemplos detalhados de payloads e corpos de resposta.

    Para configurar níveis automáticos na API REST do ONTAP, inclua o objeto JSON tiering no corpo da solicitação:

    • Para definir a política de níveis do volume como all, use "tiering": {"policy": "all"}.

    • Opcional: para configurar os dias de resfriamento, use "tiering": {"policy": "auto", "min_cooling_days": 31}.

      É possível especificar um limite de resfriamento entre 2 e 183 dias no campo min_cooling_days. O valor padrão do limite de resfriamento é de 31 dias.

    Para ignorar o nível quente e gravar dados diretamente no nível da nuvem em volumes de leitura e gravação (RW), use o proxy da CLI do Google Cloud ONTAP com privilégios avançados:

    set -privilege advanced; volume modify -vserver SVM_NAME -volume VOLUME_NAME -tiering-policy all -is-cloud-write-enabled true
  4. Monitore o job do ONTAP.

    A maioria das chamadas de API ONTAP, como operações POST ou PATCH que criam ou atualizam recursos, não são executadas de forma síncrona. Em vez disso, essas chamadas retornam um recurso de job do ONTAP, conforme mostrado no exemplo de criação de volume.

    Exemplo de resposta do trabalho:

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

    Para verificar o status do job, consulte o recurso usando o uuid retornado:

    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"
    

    Exemplo de resposta:

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

    Se o state for success, o volume será criado.

    Este exemplo de fluxo de trabalho mostra como pesquisar ações do ONTAP na documentação da API REST do ONTAP. Ele também mostra como criar o formato de payload necessário e enviá-lo ao pool de armazenamento usando uma API do Google. Por fim, ele demonstra como monitorar um job do ONTAP até que o recurso seja criado. Com essa abordagem, é possível controlar a maioria das configurações do ONTAP para seu pool de armazenamento.

Usar o Terraform para gerenciar o modo ONTAP

É possível gerenciar recursos no modo ONTAP usando o proxy da CLI. O proxy da CLI é eficaz para uso interativo, mas a automação pode ser mais complexa. O Terraform gerencia de forma consistente o ciclo de vida dos recursos de nuvem, e você pode usá-lo para gerenciar recursos do NetApp Volumes e do ONTAP.

Use a tabela Visão geral do gerenciamento de recursos para determinar qual provedor usar.

  • O provedor Google gerencia recursos pela API NetApp Volumes.

  • O provedor NetApp-ONTAP gerencia recursos usando APIs REST do ONTAP.

Por exemplo, é possível criar um pool de armazenamento no modo ONTAP usando o provedor do Google, versão 7.27.0 ou mais recente. Em seguida, para criar um volume nesse pool no modo ONTAP, use o provedor NetApp-ONTAP, versão 2.6.0 ou mais recente.

Para mais informações sobre configuração e exemplos, consulte a documentação do provedor NetApp-ONTAP.

Ações permitidas do ONTAP

Ao acessar um pool no modo ONTAP pela API ou pelo proxy da CLI, você não tem permissões completas e não pode executar todos os comandos do ONTAP. Essa restrição ajuda a proteger a integridade do sistema e impede mudanças nos recursos físicos subjacentes gerenciados pelo serviço.

Para algumas APIs, o sistema filtra os payloads de solicitação e resposta da API. Por exemplo, como o NetApp Volumes cobra pela capacidade lógica, o sistema bloqueia parâmetros para configurar a capacidade física. Se você enviar um parâmetro que não é permitido, a API vai retornar um erro.

Para mais informações sobre como fazemos o faturamento, consulte Faturamento: capacidade lógica x física.

Comandos do ONTAP aceitos

É possível gerenciar o modo ONTAP enviando comandos ONTAP usando o proxy da CLI ONTAP da CLI do Google Cloud. O NetApp Volumes é compatível com a maioria dos comandos para gerenciar SVMs, LUNs, volumes e recursos do ONTAP. Alguns comandos são bloqueados para proteger a integridade do sistema ou porque gerenciam recursos físicos que não são relevantes em um serviço gerenciado, como o NetApp Volumes.

Você executa comandos no nível de privilégio de administrador do ONTAP. Para mudar o nível de privilégio para avançado, adicione set advanced; ou set -privilege advanced; ao início do comando. Um conjunto limitado de comandos também é compatível com o nível de privilégio de diagnóstico (diag), que pode ser acessado adicionando set diag; ao início do comando. Essas mudanças de privilégio não são permanentes.

Como o proxy não é um shell interativo, só é possível executar um comando por vez. Essa limitação significa que o proxy não é compatível com comandos interativos que pedem mais informações. Por exemplo, não é possível criar um vserver (SVM) CIFS ou SMB que exija credenciais de administrador do Active Directory. O proxy da CLI também não é compatível com o peering de cluster porque é um comando interativo. Para realizar essas operações, use a API REST do ONTAP.

A tabela a seguir lista as famílias de comandos, os comandos e as limitações compatíveis do proxy da CLI do ONTAP:

Família de comandos Finalidade Comandos aceitos Observações
Cluster Clusters semelhantes para SnapMirror, FlexCache e exibição de informações selecionadas sobre o cluster cluster peer: acesso total

cluster show, identity show, date show, ha show, statistics show e time-service ntp server show: somente leitura
O proxy da CLI não é compatível com o comando interativo cluster peer create. Use a API REST. Você pode usar outros comandos cluster peer, como show.
Depuração Suporte ao rastreamento de pacotes (tcpdump), LUN e solução de problemas de bloqueio debug network tcpdump, debug san lun e debug lock persistence: acesso total Todos os comandos de depuração permitidos exigem o nível de privilégio diag. Esses são comandos de depuração comuns.
Evento Crie filtros para enviar eventos do ONTAP de interesse para destinos SMTP ou syslog event catalog show e log de eventos show: somente leitura

event config, event filter e notificação de evento: acesso total
Permite registrar eventos em destinos personalizados. É possível usar event log show para mostrar eventos de registro por hora ou tipo.
Job Gerenciar jobs do ONTAP no nível do nó e do cluster job show, job schedule, job private, job stop e job resume: acesso total
LUN Criar e gerenciar LUNs e grupos de iniciadores e importar LUNs externos lun create, lun bind e igroup: acesso total Embora a importação de LUNs seja permitida, não é possível conectar discos externos a um sistema no modo ONTAP.
Rede Mostrar configurações de porta de rede, interface, rota e ipspace, executar ping e traceroute para endereços IP externo e mostrar conexões de cliente por protocolo ping de rede, traceroute de rede, interface de porta de rede, espaço IP de rede e conexões de rede (somente leitura)
QoS Criar e gerenciar grupos de políticas de QoS e mostrar o desempenho deles Todos os comandos de QoS (somente leitura) As configurações de QoS são somente leitura.
Segurança Mostrar a configuração de auditoria, ativar o recurso antirransomware e criar e instalar certificados Auditoria de segurança: somente leitura

volume de segurança antirransomware e certificado de segurança: acesso total
Os parâmetros antirransomware podem ser definidos ao criar o volume. Só é possível criar certificados de servidor e cliente.
SnapLock Gerenciar o relógio e os registros do SnapLock e controlar as operações de retenção e guarda de documentos baseadas em eventos do SnapLock snaplock compliance-clock e snaplock log: acesso total Use o comando volume snaplock modify para configurar o SnapLock em volumes individuais. Só é possível gerenciar os comandos do SnapLock snaplock event-retention e snaplock legal-hold usando a API REST do ONTAP.
SnapMirror Criar e gerenciar relacionamentos do SnapMirror snapmirror create, snapmirror initialize, snapmirror break e snapmirror resync: acesso total
Estatísticas Mostrar estatísticas periódicas do sistema ou criar amostras de estatísticas específicas statistics samples, statistics start, statistics stop e statistics show-periodic: acesso total

statistics volume, statistics lun, statistics aggregate, statistics qtree e statistics SVM: somente leitura
Muitos comandos precisam do modo avançado para especificar os parâmetros.
Sistema Os comandos do sistema geralmente não são aceitos, mas é possível invocar a transmissão automática de suporte e de arquivos de desempenho. system node autosupport invoke e system node autosupport invoke-performance-archive: acesso total Os arquivos do AutoSupport estão disponíveis para o suporte da NetApp.
Volume Criar e gerenciar volumes volume create, volume delete, volume modify, volume clone, volume expand (FlexGroup), volume flexcache, volume flexgroup, qtree, quota, snaplock, snapshot: acesso total Alguns recursos de volume, como relatórios/aplicação de espaço lógico e garantia de espaço (nenhum), são gerenciados automaticamente pelo sistema. Defina a política de divisão em níveis de volume para usar a divisão em níveis automática definida no nível do pool.
Vserver Gerencie a SVM (vserver) para acesso a volumes de arquivos (SMB, NFS), blocos (iSCSI, NVMe) e objetos (S3).

Gerencie políticas usadas para volumes, como políticas de exportação para NFS.

Ative recursos da SVM, como registro de auditoria (acesso a arquivos), grupos de consistência, política, serviços de nomes (DNS, LDAP) e antivírus (vscan).

Faça peering de SVMs para SnapMirror e FlexCache.
vserver cifs create (ingressar em um domínio do Active Directory), vserver nfs create, vserver iscsi create e vserver nvme create: acesso total

vserver object-store-server: acesso total
Use o comando vserver modify para definir o idioma padrão, o estilo de segurança e as políticas de snapshot e de cota para todos os volumes.

O comando vserver create não é compatível no momento.
Os comandos de mudança de senha não podem ser executados de forma interativa e precisam ser especificados usando parâmetros de comando ou a API REST.
Comandos legados timezone e version: acesso total

Excluir um pool no modo ONTAP

Para excluir um pool no modo ONTAP, primeiro é necessário excluir todos os volumes dele.