ONTAP SAN 구성 옵션 및 예
Trident 설치 시 ONTAP SAN 드라이버를 생성하고 사용하는 방법에 대해 알아봅니다. 이 섹션에서는 백엔드 구성 예제 및 Backend를 StorageClasses에 매핑하는 방법에 대한 세부 정보를 제공합니다.
백엔드 구성 옵션
백엔드 구성 옵션은 다음 표를 참조하십시오.
| 매개 변수 | 설명 | 기본값 | ||
|---|---|---|---|---|
| 
 | 항상 1 | |||
| 
 | 스토리지 드라이버의 이름입니다 | 
 | ||
| 
 | 사용자 지정 이름 또는 스토리지 백엔드 | 드라이버 이름 + "_" + dataLIF | ||
| 
 | 클러스터 또는 SVM 관리 LIF의 IP 주소입니다. FQDN(정규화된 도메인 이름)을 지정할 수 있습니다. IPv6 플래그를 사용하여 Trident가 설치된 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 과 같이 대괄호로 정의해야  원활한 MetroCluster 전환은 를 MetroCluster 예참조하십시오. 
 | "10.0.0.1"," [2001:1234:ABCD::fefe]" | ||
| 
 | 프로토콜 LIF의 IP 주소입니다. IPv6 플래그를 사용하여 Trident가 설치된 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 과 같이 대괄호로 정의해야  | SVM에서 파생됩니다 | ||
| 
 | 사용할 스토리지 가상 머신 * MetroCluster에는 생략함 * 를 MetroCluster 예참조하십시오. | SVM이 지정된 경우 파생됩니다  | ||
| 
 | CHAP를 사용하여 ONTAP SAN 드라이버에 대한 iSCSI 인증 [Boolean]. 백엔드에 제공된 SVM에 대한 기본 인증으로 양방향 CHAP를 구성하고 사용하려면 Trident에 대해 으로  | 
 | ||
| 
 | CHAP 이니시에이터 암호입니다. 필요한 경우  | "" | ||
| 
 | 볼륨에 적용할 임의의 JSON 형식 레이블 세트입니다 | "" | ||
| 
 | CHAP 타겟 이니시에이터 암호입니다. 필요한 경우  | "" | ||
| 
 | 인바운드 사용자 이름입니다. 필요한 경우  | "" | ||
| 
 | 대상 사용자 이름입니다. 필요한 경우  | "" | ||
| 
 | Base64 - 클라이언트 인증서의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 | "" | ||
| 
 | Base64 - 클라이언트 개인 키의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 | "" | ||
| 
 | Base64 - 신뢰할 수 있는 CA 인증서의 인코딩된 값입니다. 선택 사항. 인증서 기반 인증에 사용됩니다. | "" | ||
| 
 | ONTAP 클러스터와 통신하는 데 필요한 사용자 이름입니다. 자격 증명 기반 인증에 사용됩니다. | "" | ||
| 
 | ONTAP 클러스터와 통신하는 데 필요한 암호입니다. 자격 증명 기반 인증에 사용됩니다. | "" | ||
| 
 | 사용할 스토리지 가상 머신입니다 | SVM이 지정된 경우 파생됩니다  | ||
| 
 | SVM에서 새 볼륨을 프로비저닝할 때 사용되는 접두사 나중에 수정할 수 없습니다. 이 매개 변수를 업데이트하려면 새 백엔드를 생성해야 합니다. | 
 | ||
| 
 | 프로비저닝을 위한 애그리게이트(선택 사항, SVM에 셋팅해야 하는 경우) 드라이버의 경우  
 
 | "" | ||
| 
 | 사용량이 이 비율을 초과하면 프로비저닝이 실패합니다. Amazon FSx for NetApp ONTAP 백엔드를 사용하는 경우 을 지정하지   | ""(기본적으로 적용되지 않음) | ||
| 
 | 요청된 볼륨 크기가 이 값보다 큰 경우 용량 할당에 실패합니다. 또한 LUN에 대해 관리하는 볼륨의 최대 크기를 제한합니다. | ""(기본적으로 적용되지 않음) | ||
| 
 | FlexVol당 최대 LUN 수는 범위[50, 200]에 있어야 합니다. | 
 | ||
| 
 | 문제 해결 시 사용할 디버그 플래그입니다. 예제, {"api":false, "method":true} 문제 해결을 진행하고 자세한 로그 덤프가 필요한 경우가 아니면 사용하지 마십시오. | 
 | ||
| 
 | ONTAP REST API를 사용하는 부울 매개 변수입니다. | 
 | ||
| 
 | iSCSI,  | 
 | ||
| 
 | `formatOptions`볼륨을 포맷할 때마다 적용되는 명령에 대한 명령줄 인수를 지정하는 데 `mkfs` 사용합니다. 이렇게 하면 기본 설정에 따라 볼륨을 포맷할 수 있습니다. 장치 경로를 제외하고 mkfs 명령 옵션과 비슷한 formatOptions를 지정해야 합니다. 예: "-E NODEARD" 
 | |||
| 
 | ONTAP-SAN-Economy 백엔드에서 LUN을 사용할 때 요청될 수 있는 최대 FlexVol 크기입니다. | ""(기본적으로 적용되지 않음) | ||
| 
 | 백엔드가 LUN을 포함하도록 새 FlexVol 볼륨을 생성하지 못하도록  | 
포맷옵션 사용에 대한 권장 사항
Trident에서는 다음 옵션을 사용하여 서식 프로세스를 신속하게 수행할 것을 권장합니다.
- 
-E nobiscard: * 
- 
유지, mkfs 시간에 블록 삭제를 시도하지 마십시오(처음에는 솔리드 스테이트 디바이스 및 스파스/씬 프로비저닝된 스토리지에서 블록 삭제가 유용함). 이 옵션은 더 이상 사용되지 않는 옵션 "-K"를 대체하며 모든 파일 시스템(xfs, ext3 및 ext4)에 적용됩니다. 
볼륨 프로비저닝을 위한 백엔드 구성 옵션
구성 섹션에서 이러한 옵션을 사용하여 기본 프로비저닝을 제어할 수 defaults 있습니다. 예를 들어, 아래 구성 예제를 참조하십시오.
| 매개 변수 | 설명 | 기본값 | 
|---|---|---|
| 
 | LUN에 대한 공간 할당 | "true" * 지정된 경우 ASA R2 * 에 대해 로 설정합니다  | 
| 
 | 공간 예약 모드, "없음"(씬) 또는 "볼륨"(일반). * ASA R2의 경우 로  | "없음" | 
| 
 | 사용할 스냅샷 정책입니다. * ASA R2의 경우 로  | "없음" | 
| 
 | 생성된 볼륨에 할당할 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다. Trident에서 QoS 정책 그룹을 사용하려면 ONTAP 9 .8 이상이 필요합니다. 비공유 QoS 정책 그룹을 사용하고 정책 그룹이 각 구성 요소에 개별적으로 적용되도록 해야 합니다. 공유 QoS 정책 그룹은 모든 워크로드의 총 처리량에 대한 제한을 적용합니다. | "" | 
| 
 | 생성된 볼륨에 할당할 적응형 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다 | "" | 
| 
 | 스냅숏용으로 예약된 볼륨의 비율입니다. * ASA R2에 대해 지정하지 마십시오. *. | "없음"인 경우 "0", 그렇지 않은 경우 `snapshotPolicy`" | 
| 
 | 생성 시 상위 클론에서 클론을 분할합니다 | "거짓" | 
| 
 | 새 볼륨에서 NetApp 볼륨 암호화(NVE)를 활성화하고, 기본값은 로 설정합니다.  | "FALSE" * 지정된 경우 ASA R2 * 에 대해 로  | 
| 
 | LUKS 암호화를 사용합니다. 을 "LUKS(Linux Unified Key Setup) 사용"참조하십시오. | ASA R2의 경우 ""로  | 
| 
 | "없음"을 사용하는 계층화 정책 * ASA R2에 대해 지정하지 않음 *. | |
| 
 | 사용자 지정 볼륨 이름을 생성하는 템플릿입니다. | "" | 
볼륨 프로비저닝의 예
다음은 기본값이 정의된 예입니다.
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: trident_svm
username: admin
password: <password>
labels:
  k8scluster: dev2
  backend: dev2-sanbackend
storagePrefix: alternate-trident
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: standard
  spaceAllocation: 'false'
  snapshotPolicy: default
  snapshotReserve: '10'|  | 드라이버를 사용하여 생성된 모든 볼륨의 경우 ontap-sanTrident는 LUN 메타데이터를 수용하기 위해 FlexVol에 10%의 용량을 추가합니다. LUN은 사용자가 PVC에서 요청하는 정확한 크기로 프로비저닝됩니다. Trident는 FlexVol에 10%를 추가합니다(ONTAP에서 사용 가능한 크기로 표시됨). 이제 사용자가 요청한 가용 용량을 얻을 수 있습니다. 또한 이 변경으로 인해 사용 가능한 공간이 완전히 활용되지 않는 한 LUN이 읽기 전용이 되는 것을 방지할 수 있습니다. ONTAP-SAN-경제에는 적용되지 않습니다. | 
을 정의하는 백엔드의 경우 snapshotReserve Trident는 다음과 같이 볼륨 크기를 계산합니다.
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1은 LUN 메타데이터를 수용하기 위해 FlexVol에 추가되는 10%의 Trident입니다. = 5%, PVC 요청 = 5GiB의 경우 snapshotReserve 총 볼륨 크기는 5.79GiB이고 사용 가능한 크기는 5.5GiB입니다. 이 volume show 명령은 다음 예제와 유사한 결과를 표시해야 합니다.
 
현재 기존 볼륨에 대해 새 계산을 사용하는 유일한 방법은 크기 조정입니다.
최소 구성의 예
다음 예에서는 대부분의 매개 변수를 기본값으로 두는 기본 구성을 보여 줍니다. 이는 백엔드를 정의하는 가장 쉬운 방법입니다.
|  | NetApp ONTAP on Trident와 함께 Amazon FSx를 사용하는 경우, NetApp은 IP 주소 대신 LIF에 대한 DNS 이름을 지정할 것을 권장합니다. | 
ONTAP SAN의 예
드라이버를 사용하는 기본 구성입니다. ontap-san
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
  k8scluster: test-cluster-1
  backend: testcluster1-sanbackend
username: vsadmin
password: <password>MetroCluster 예
전환 및 전환 중에 백엔드 정의를 수동으로 업데이트할 필요가 없도록 백엔드를 구성할 수 "SVM 복제 및 복구"있습니다.
원활한 스위치오버 및 스위치백의 경우 를 사용하여 SVM을 지정하고 managementLIF 매개 변수를 생략합니다. svm 예를 들면 다음과 같습니다.
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: passwordONTAP SAN 경제성의 예
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>인증서 기반 인증의 예
이 기본 구성 예에서는 clientCertificate clientPrivateKey 및 trustedCACertificate (트러스트된 CA를 사용하는 경우 선택 사항)가 에 채워지고 backend.json 클라이언트 인증서, 개인 키 및 트러스트된 CA 인증서의 base64로 인코딩된 값을 각각 가져옵니다.
---
version: 1
storageDriverName: ontap-san
backendName: DefaultSANBackend
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz양방향 CHAP 예
이 예에서는 로 설정된 true 백엔드를 useCHAP 생성합니다.
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
  k8scluster: test-cluster-1
  backend: testcluster1-sanbackend
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>NVMe/TCP 예
ONTAP 백엔드에서 NVMe로 구성된 SVM이 있어야 합니다. NVMe/TCP에 대한 기본 백엔드 구성입니다.
---
version: 1
backendName: NVMeBackend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_nvme
username: vsadmin
password: password
sanType: nvme
useREST: trueFCP(SCSI over FC) 예
ONTAP 백엔드에서 FC로 SVM을 구성해야 합니다. FC에 대한 기본 백엔드 구성입니다.
---
version: 1
backendName: fcp-backend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_fc
username: vsadmin
password: password
sanType: fcp
useREST: truenameTemplate이 포함된 백엔드 구성 예
---
version: 1
storageDriverName: ontap-san
backendName: ontap-san-backend
managementLIF: <ip address>
svm: svm0
username: <admin>
password: <password>
defaults:
  nameTemplate: "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.vo\
    lume.RequestName}}"
labels:
  cluster: ClusterA
  PVC: "{{.volume.Namespace}}_{{.volume.RequestName}}"ONTAP-SAN-이코노미 드라이버에 대한 옵션 예
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
  method: true
  api: true
defaults:
  formatOptions: -E nodiscard가상 풀의 백엔드 예
이러한 샘플 백엔드 정의 파일에서 특정 기본값은 모든 스토리지 풀에 대해 설정(예: spaceReserve 없음, spaceAllocation 거짓, 거짓 encryption) 가상 풀은 스토리지 섹션에 정의됩니다.
Trident는 "Comments" 필드에 프로비저닝 레이블을 설정합니다. FlexVol volume Trident에 주석이 설정됨 용량 할당 시 가상 풀에 있는 모든 레이블을 스토리지 볼륨으로 복제합니다. 편의를 위해 스토리지 관리자는 가상 풀 및 그룹 볼륨별로 레이블을 레이블별로 정의할 수 있습니다.
이 예에서 일부 스토리지 풀은 자체, spaceAllocation 및 encryption 값을 설정하고 spaceReserve 일부 풀은 기본값을 재정의합니다.
ONTAP SAN의 예
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
  spaceAllocation: "false"
  encryption: "false"
  qosPolicy: standard
labels:
  store: san_store
  kubernetes-cluster: prod-cluster-1
region: us_east_1
storage:
  - labels:
      protection: gold
      creditpoints: "40000"
    zone: us_east_1a
    defaults:
      spaceAllocation: "true"
      encryption: "true"
      adaptiveQosPolicy: adaptive-extreme
  - labels:
      protection: silver
      creditpoints: "20000"
    zone: us_east_1b
    defaults:
      spaceAllocation: "false"
      encryption: "true"
      qosPolicy: premium
  - labels:
      protection: bronze
      creditpoints: "5000"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"ONTAP SAN 경제성의 예
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
  spaceAllocation: "false"
  encryption: "false"
labels:
  store: san_economy_store
region: us_east_1
storage:
  - labels:
      app: oracledb
      cost: "30"
    zone: us_east_1a
    defaults:
      spaceAllocation: "true"
      encryption: "true"
  - labels:
      app: postgresdb
      cost: "20"
    zone: us_east_1b
    defaults:
      spaceAllocation: "false"
      encryption: "true"
  - labels:
      app: mysqldb
      cost: "10"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"
  - labels:
      department: legal
      creditpoints: "5000"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"NVMe/TCP 예
---
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: 10.0.0.1
svm: nvme_svm
username: vsadmin
password: <password>
useREST: true
defaults:
  spaceAllocation: "false"
  encryption: "true"
storage:
  - labels:
      app: testApp
      cost: "20"
    defaults:
      spaceAllocation: "false"
      encryption: "false"백엔드를 StorageClasses에 매핑합니다
다음 StorageClass 정의는 을 가상 풀의 백엔드 예참조하십시오. 각 StorageClass 는 필드를 사용하여 parameters.selector 볼륨을 호스팅하는 데 사용할 수 있는 가상 풀을 호출합니다. 선택한 가상 풀에 볼륨이 정의되어 있습니다.
- 
protection-gold`StorageClass는 백엔드의 첫 번째 가상 풀에 매핑됩니다. `ontap-san골드 레벨 보호 기능을 제공하는 유일한 풀입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4"
- 
protection-not-gold`StorageClass는 백엔드의 두 번째 및 세 번째 가상 풀에 매핑됩니다. `ontap-san금 이외의 보호 수준을 제공하는 유일한 풀입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4"
- 
app-mysqldb`StorageClass는 백엔드의 세 번째 가상 풀에 매핑됩니다. `ontap-san-economymysqldb 유형 앱에 대한 스토리지 풀 구성을 제공하는 유일한 풀입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4"
- 
protection-silver-creditpoints-20k`StorageClass는 백엔드의 두 번째 가상 풀에 매핑됩니다. `ontap-san실버 레벨 보호 및 20,000포인트 적립을 제공하는 유일한 풀입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: csi.trident.netapp.io parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4"
- 
creditpoints-5k`StorageClass는 백엔드의 세 번째 가상 풀과 백엔드의 네 번째 가상 `ontap-san-economy풀에 매핑됩니다.ontap-san5000 크레딧 포인트를 보유한 유일한 풀 서비스입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4"
- 
my-test-app-sc`StorageClass는 를 사용하여 드라이버의 `sanType: nvme가상 풀에ontap-san매핑됩니다.testAPP이것은 유일한 풀 제안입니다.testApp--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-test-app-sc provisioner: csi.trident.netapp.io parameters: selector: "app=testApp" fsType: "ext4"
Trident는 어떤 가상 풀이 선택되었는지 결정하고 스토리지 요구 사항이 충족되는지 확인합니다.
 PDF
PDF