ONTAP 모드에서 ONTAP 관리

이 페이지에서는 ONTAP 모드에서 ONTAP를 관리하는 방법을 설명합니다.

보안 및 로깅상의 이유로 NetApp Volumes는 ONTAP 관리 LIF에 대한 직접 연결을 허용하지 않습니다. 따라서 SystemManager나 SSH와 같은 도구를 사용하여 ONTAP 시스템을 직접 관리할 수 없습니다. 대신 다음 방법을 사용하여 ONTAP 모드 스토리지 풀에 ONTAP 작업을 제출할 수 있습니다.

Terraform과 같은 관리 도구는 Google API 프록시를 사용하여 ONTAP 리소스를 관리합니다.

시작하기 전에

ONTAP 모드 스토리지 풀의 ONTAP 작업을 관리하려면 Google Cloud CLI 버전이 559.0.0 이상이어야 합니다. 버전이 이전 버전인 경우 Google Cloud CLI는 명령어 또는 플래그가 정의되지 않았다는 오류를 반환합니다.

Google Cloud CLI ONTAP CLI 프록시 사용

ONTAP CLI에 대한 직접 SSH 액세스는 사용할 수 없지만 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: 스토리지 풀의 위치입니다.

ONTAP REST API 호출에 Google 프록시 API 사용

NetApp Volumes는 각 Flex Unified ONTAP 모드 스토리지 풀에 Google API 엔드포인트를 제공하므로 기본 ONTAP 클러스터에 ONTAP REST API 호출을 보낼 수 있습니다. 이를 통해 API를 사용하여 ONTAP 기능을 제어할 수 있습니다.

ONTAP 프록시 호출은 다음 URL 형식을 사용해야 합니다.

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

이 URL은 다음 요소로 구성됩니다.

  • 기준 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의 모든 볼륨을 나열하는 전체 URL을 보여줍니다.

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

모든 Google API 호출과 마찬가지로 이 호출은 인증되어야 합니다. 다음 CLI 예에서는 API 토큰을 가져온 다음 curl를 사용하여 URL을 호출하여 풀의 모든 볼륨을 나열합니다.

   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의 모든 스냅샷을 나열하는 전체 URL을 보여줍니다.

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를 사용하여 URL을 호출하여 볼륨의 모든 스냅샷을 나열합니다.

   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를 사용하여 URN(/projects/myproject/locations/us-central1-a/storagePools/mypool)으로 식별되는 기존 Flex Unified ONTAP 모드 스토리지 풀에 myvolume라는 볼륨을 만드는 방법을 보여줍니다.

볼륨을 만들려면 ONTAP REST API 온라인 문서를 참고하세요. 문서에서 스토리지 섹션으로 이동한 다음 스토리지 볼륨 관리를 펼칩니다. 이 섹션에서는 몇 가지 예를 제공합니다.

다음 안내에 따라 볼륨을 만듭니다.

  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 URL을 생성합니다.

  2. 요청 페이로드를 구성합니다.

    ONTAP 문서의 페이로드 예시를 사용하여 특정 환경에 맞게 조정합니다. 예를 들면 다음과 같습니다.

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

    볼륨을 만들 때 name 필드를 사용하여 볼륨 이름을 할당합니다. 볼륨 생성 페이로드에는 ONTAP 모드 풀 생성 중에 NetApp Volumes에서 할당한 애그리게이트 및 스토리지 가상 머신 (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 페이로드는 NetApp Volumes의 body: {} 봉투 안에 포함되어야 합니다.

    다음 예시에서는 크기가 2GB인 myvolume이라는 볼륨을 만듭니다.

    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와 같은 다양한 선택적 매개변수를 지원합니다. 예를 들어 페이로드는 2GB 크기를 지정합니다. 리소스의 문서 페이지에는 필수 매개변수와 선택적 매개변수를 비롯한 사용 가능한 모든 매개변수가 나열됩니다. 또한 페이로드와 응답 본문의 자세한 예시를 제공합니다.

  4. ONTAP 작업을 모니터링합니다.

    리소스를 만들거나 업데이트하는 POST 또는 PATCH 작업과 같은 대부분의 ONTAP API 호출은 동기식으로 실행되지 않습니다. 대신 이러한 호출은 볼륨 생성 예에 표시된 대로 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 프록시를 사용하여 ONTAP 모드 리소스를 관리할 수 있습니다. CLI 프록시는 대화형 사용에 효과적이지만 자동화는 더 복잡할 수 있습니다. Terraform은 클라우드 리소스의 수명 주기를 일관되게 관리하며, 이를 사용하여 NetApp Volumes와 ONTAP 리소스를 모두 관리할 수 있습니다.

기능 관리 개요 표를 사용하여 사용할 제공업체를 결정합니다.

  • Google 제공업체는 NetApp Volumes API를 통해 리소스를 관리합니다.

  • NetApp-ONTAP 공급자는 ONTAP REST API를 통해 리소스를 관리합니다.

예를 들어 버전 7.27.0 이상의 Google 프로바이더를 사용하여 ONTAP 모드 스토리지 풀을 만듭니다. 그런 다음 해당 ONTAP 모드 풀에서 볼륨을 만들려면 NetApp ONTAP 프로바이더 버전 2.6.0 이상을 사용합니다.

설정 및 예시에 대한 자세한 내용은 NetApp ONTAP 프로바이더 문서를 참고하세요.

허용되는 ONTAP 작업

API 또는 CLI 프록시를 통해 ONTAP 모드 풀에 액세스하면 전체 권한이 없으므로 모든 ONTAP 명령어를 실행할 수 없습니다. 이 제한은 시스템 무결성을 보호하고 서비스에서 관리하는 기본 물리적 리소스의 변경을 방지하는 데 도움이 됩니다.

일부 API의 경우 시스템에서 API 요청 및 응답 페이로드를 필터링합니다. 예를 들어 NetApp Volumes는 논리적 용량에 대해 청구하므로 시스템에서 실제 용량 구성 매개변수를 차단합니다. 허용되지 않는 매개변수를 보내면 API에서 오류를 반환합니다.

지원되는 ONTAP 명령어

Google Cloud CLI ONTAP CLI 프록시를 사용하여 ONTAP 명령어를 제출하여 ONTAP 모드를 관리할 수 있습니다. NetApp Volumes는 SVM, LUN, 볼륨, ONTAP 기능을 관리하는 대부분의 명령어를 지원합니다. 일부 명령어는 시스템 무결성을 보호하기 위해 또는 NetApp Volumes와 같은 관리 서비스와 관련이 없는 물리적 리소스를 관리하기 때문에 차단됩니다.

ONTAP 관리자 권한 수준에서 명령어를 실행합니다. 권한 수준을 고급으로 전환하려면 명령어 시작 부분에 set advanced; 또는 set -privilege advanced;를 추가합니다. 제한된 명령어 집합은 진단(diag) 권한 수준도 지원하며, 명령어 시작 부분에 set diag;를 추가하여 액세스할 수 있습니다. 이러한 권한 변경은 지속되지 않습니다.

프록시는 대화형 셸이 아니므로 한 번에 하나의 명령어만 실행할 수 있습니다. 이 제한으로 인해 프록시는 추가 정보를 요청하는 대화형 명령어를 지원하지 않습니다. 예를 들어 Active Directory 관리자 사용자 인증 정보가 필요한 CIFS 또는 SMB vserver (SVM)를 만들 수 없습니다. CLI 프록시는 대화형 명령어이므로 클러스터 피어링도 지원하지 않습니다. 이러한 작업을 수행하려면 ONTAP REST API를 사용해야 합니다.

다음 표에는 지원되는 명령 패밀리, 명령어, ONTAP CLI 프록시의 제한사항이 나와 있습니다.

명령어 패밀리 목적 지원되는 명령어 참고
클러스터 SnapMirror 및 FlexCache의 피어 클러스터 및 클러스터에 관한 선택된 정보 표시 cluster peer - 전체 액세스

cluster show, identity show, date show, ha show, statistics show, time-service ntp server show - 읽기 전용
CLI 프록시는 대화형 cluster peer create 명령어를 지원하지 않습니다. 대신 REST API를 사용하세요. show과 같은 다른 cluster peer 명령어를 사용할 수 있습니다.
디버그 패킷 추적 (tcpdump), LUN, 잠금 문제 해결 지원 debug network tcpdump, debug san lun, debug lock persistence - 전체 액세스 허용된 모든 디버그 명령어에는 diag 권한 수준이 필요합니다. 다음은 일반적인 디버그 명령어입니다.
이벤트 관심 있는 ONTAP 이벤트를 SMTP 또는 syslog 대상으로 전송하는 필터 만들기 event catalog showevent log show - 읽기 전용

event config, event filter, event notification - 전체 액세스
맞춤 대상에 이벤트를 기록할 수 있습니다. event log show를 사용하여 시간 또는 유형별로 로그 이벤트를 표시할 수 있습니다.
작업 노드 및 클러스터 수준에서 ONTAP 작업 관리 job show, job schedule, job private, job stop, job resume - 모든 권한
LUN LUN 및 이니시에이터 그룹 만들기 및 관리, 외부 LUN 가져오기 lun create, lun bind, igroup - 전체 액세스 LUN 가져오기는 허용되지만 ONTAP 모드 시스템에 외부 디스크를 연결할 수는 없습니다.
네트워크 네트워크 포트, 인터페이스, 경로, ipspace 구성을 표시하고, 외부 IP 주소에 ping 및 traceroute를 실행하고, 프로토콜별 클라이언트 연결을 표시합니다. 네트워크 핑, 네트워크 traceroute, 네트워크 포트 인터페이스, 네트워크 ipspace, 네트워크 연결 - 읽기 전용
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 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 invokesystem 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 볼륨에 대한 파일 (SMB, NFS), 블록 (iSCSI, NVMe), 객체 (S3) 액세스를 위한 SVM (vserver)을 관리합니다.

NFS용 내보내기 정책과 같은 볼륨에 사용되는 정책을 관리합니다.

감사 로깅 (파일 액세스), 일관성 그룹, 정책, 이름 서비스 (DNS, LDAP), 바이러스 백신 (vscan)과 같은 SVM 기능을 사용 설정합니다.

SnapMirror 및 FlexCache용 SVM을 피어링합니다.
vserver cifs create (Active Directory 도메인에 조인), vserver nfs create, vserver iscsi create, vserver nvme create - 전체 액세스

vserver object-store-server - 전체 액세스
vserver modify 명령어를 사용하여 모든 볼륨의 기본 언어, 보안 스타일, 스냅샷 및 할당량 정책을 설정합니다.

현재 vserver create는 지원되지 않습니다.
비밀번호 변경 명령어는 대화형으로 실행할 수 없으며 명령 매개변수를 사용하거나 REST API를 사용하여 지정해야 합니다.
기존 명령어 timezoneversion - 전체 액세스 권한

ONTAP 모드 풀 삭제

ONTAP 모드 풀을 삭제하려면 먼저 풀의 모든 볼륨을 삭제해야 합니다.