ONTAP 모드에서 ONTAP 관리

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

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

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

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

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

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

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

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

  • 기준 URL: https://netapp.googleapis.com/v1beta1/projects

  • 스토리지 풀의 Google URN: /PROJECT/locations/LOCATION/storagePools/POOL_NAME

    다음 정보를 바꿉니다.

    • PROJECT: project ID 또는 번호입니다.

    • LOCATION: 영역별 풀의 경우 영역 이름, 리전별 풀의 경우 리전입니다.

    • POOL_NAME: 풀의 이름입니다.

  • ONTAP REST API 경로: /ontap/ONTAP_REST_URL 자세한 내용은 ONTAP REST API 참조를 확인하세요.

스토리지 풀의 모든 볼륨 나열

다음 예시는 프로젝트 myprojectus-central1-a에 있는 스토리지 풀 mypool의 모든 볼륨을 나열하는 전체 URL을 보여줍니다.

https://netapp.googleapis.com/v1beta1/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/v1beta1/projects/myproject/locations/us-central1-a/storagePools/mypool/ontap/api/storage/volumes' 
--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/v1beta1/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 볼륨에서 할당한 애그리게이트 및 스토리지 가상 머신 (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/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}'
      

      응답 예:

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

    볼륨 생성은 size와 같은 다양한 선택적 매개변수를 지원합니다. 예를 들어 페이로드는 2GB 크기를 지정합니다. 리소스의 문서 페이지에는 필수 매개변수와 선택적 매개변수를 비롯한 사용 가능한 모든 매개변수가 나열되어 있습니다. 또한 페이로드와 응답 본문의 자세한 예시를 제공합니다.

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

    리소스를 만들거나 업데이트하는 POST 또는 PATCH 작업과 같은 대부분의 ONTAP API 호출은 동기식으로 실행되지 않습니다. 대신 이러한 호출은 볼륨 생성 예에 표시된 대로 ONTAP 작업 리소스를 반환합니다.

    작업 응답 예시:

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

    작업 상태를 확인하려면 반환된 uuid를 사용하여 작업 리소스를 쿼리합니다.

    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"
    

    응답 예:

    {
      "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 설정을 제어할 수 있습니다.

허용되는 ONTAP 작업

API 또는 CLI 프록시를 통해 풀에 액세스하면 권한이 제한되어 모든 ONTAP 명령어를 실행할 수 없습니다. 이렇게 하면 시스템의 무결성이 보호됩니다. 일부 API의 경우 시스템에서 API 요청 및 응답 페이로드를 필터링합니다. 예를 들어 NetApp Volumes는 논리적 용량에 대해 청구하므로 시스템에서 물리적 용량 구성 매개변수를 차단합니다. 허용되지 않는 매개변수를 보내면 API에서 오류를 반환합니다.

ONTAP 모드 풀 삭제

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