ONTAP SAN 구성 옵션 및 예
Astra Trident 설치에서 ONTAP SAN 드라이버를 생성하고 사용하는 방법을 알아보십시오. 이 섹션에서는 백엔드 구성 예제 및 Backend를 StorageClasses에 매핑하는 방법에 대한 세부 정보를 제공합니다.
백엔드 구성 옵션
백엔드 구성 옵션은 다음 표를 참조하십시오.
매개 변수 | 설명 | 기본값 |
---|---|---|
|
항상 1 |
|
|
스토리지 드라이버의 이름입니다 |
|
|
사용자 지정 이름 또는 스토리지 백엔드 |
드라이버 이름 + "_" + dataLIF |
|
클러스터 또는 SVM 관리 LIF의 IP 주소입니다. |
“10.0.0.1”, “[2001:1234:ABCD::fee]” |
|
프로토콜 LIF의 IP 주소입니다. |
SVM에서 파생됩니다 |
|
사용할 스토리지 가상 머신입니다 |
SVM에서 파생된 경우 |
|
CHAP를 사용하여 ONTAP SAN 드라이버에 대한 iSCSI 인증 [Boolean]. |
|
|
CHAP 이니시에이터 암호입니다. 필요한 경우 |
"" |
|
볼륨에 적용할 임의의 JSON 형식 레이블 세트입니다 |
"" |
|
CHAP 타겟 이니시에이터 암호입니다. 필요한 경우 |
"" |
|
인바운드 사용자 이름입니다. 필요한 경우 |
"" |
|
대상 사용자 이름입니다. 필요한 경우 |
"" |
|
Base64 - 클라이언트 인증서의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
|
Base64 - 클라이언트 개인 키의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
|
Base64 - 신뢰할 수 있는 CA 인증서의 인코딩된 값입니다. 선택 사항. 인증서 기반 인증에 사용됩니다. |
"" |
|
ONTAP 클러스터와 통신하는 데 필요한 사용자 이름입니다. 자격 증명 기반 인증에 사용됩니다. |
"" |
|
ONTAP 클러스터와 통신하는 데 필요한 암호입니다. 자격 증명 기반 인증에 사용됩니다. |
"" |
|
사용할 스토리지 가상 머신입니다 |
SVM에서 파생된 경우 |
|
SVM에서 새 볼륨을 프로비저닝할 때 사용되는 접두사 |
|
|
사용량이 이 비율을 초과하면 프로비저닝이 실패합니다. |
""(기본적으로 적용되지 않음) |
|
요청된 볼륨 크기가 이 값보다 큰 경우 용량 할당에 실패합니다. |
""(기본적으로 적용되지 않음) |
|
FlexVol당 최대 LUN 수는 범위[50, 200]에 있어야 합니다. |
|
|
문제 해결 시 사용할 디버그 플래그입니다. 예: {"api":false, "method":true} |
|
|
ONTAP REST API를 사용하는 부울 매개 변수입니다. * 기술 미리 보기 * |
|
|
를 사용하여 선택합니다 |
|
볼륨 프로비저닝을 위한 백엔드 구성 옵션
에서 이러한 옵션을 사용하여 기본 프로비저닝을 제어할 수 있습니다 defaults
섹션을 참조하십시오. 예를 들어, 아래 구성 예제를 참조하십시오.
매개 변수 | 설명 | 기본값 |
---|---|---|
|
LUN에 대한 공간 할당 |
"참" |
|
공간 예약 모드, "없음"(씬) 또는 "볼륨"(일반) |
"없음" |
|
사용할 스냅샷 정책입니다 |
"없음" |
|
생성된 볼륨에 할당할 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다. |
"" |
|
생성된 볼륨에 할당할 적응형 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다 |
"" |
|
스냅숏용으로 예약된 볼륨의 백분율입니다 |
"0"인 경우 |
|
생성 시 상위 클론에서 클론을 분할합니다 |
"거짓" |
|
새 볼륨에 NVE(NetApp Volume Encryption)를 활성화합니다. 기본값은 입니다 |
"거짓" |
|
LUKS 암호화를 사용합니다. 을 참조하십시오 "LUKS(Linux Unified Key Setup) 사용". |
"" |
|
새로운 볼륨에 대한 보안 스타일 |
|
|
"없음"을 사용하는 계층화 정책 |
ONTAP 9.5 SVM-DR 이전 구성의 경우 "스냅샷 전용 |
볼륨 프로비저닝의 예
다음은 기본값이 정의된 예입니다.
--- 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-san 드라이버, Astra Trident는 FlexVol에 10%의 용량을 추가하여 LUN 메타데이터를 수용합니다. LUN은 사용자가 PVC에서 요청하는 정확한 크기로 프로비저닝됩니다. Astra Trident가 FlexVol에 10%를 더합니다(ONTAP에서 사용 가능한 크기로 표시). 이제 사용자가 요청한 가용 용량을 얻을 수 있습니다. 또한 이 변경으로 인해 사용 가능한 공간이 완전히 활용되지 않는 한 LUN이 읽기 전용이 되는 것을 방지할 수 있습니다. ONTAP-SAN-경제에는 적용되지 않습니다.
|
을 정의하는 백엔드의 경우 snapshotReserve
, Astra Trident는 다음과 같이 볼륨의 크기를 계산합니다.
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1은 LUN 메타데이터를 수용하도록 FlexVol에 추가된 10%의 Astra Trident입니다. 용 snapshotReserve
= 5%, PVC 요청 = 5GiB인 경우 총 볼륨 크기는 5.79GiB이고 사용 가능한 크기는 5.5GiB입니다. 를 클릭합니다 volume show
명령은 이 예제와 유사한 결과를 표시해야 합니다.

현재 기존 볼륨에 대해 새 계산을 사용하는 유일한 방법은 크기 조정입니다.
최소 구성의 예
다음 예에서는 대부분의 매개 변수를 기본값으로 두는 기본 구성을 보여 줍니다. 이는 백엔드를 정의하는 가장 쉬운 방법입니다.
|
NetApp ONTAP에서 Astra Trident와 함께 Amazon FSx를 사용하는 경우 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>
ONTAP SAN 경제 예
--- version: 1 storageDriverName: ontap-san-economy managementLIF: 10.0.0.1 svm: svm_iscsi_eco username: vsadmin password: <password>
MetroCluster 예
전환 및 전환 중에 백엔드 정의를 수동으로 업데이트할 필요가 없도록 백엔드를 구성할 수 있습니다 "SVM 복제 및 복구".
원활한 스위치오버 및 스위치백의 경우 를 사용하여 SVM을 지정합니다 managementLIF
를 생략합니다 dataLIF
및 svm
매개 변수. 예를 들면 다음과 같습니다.
--- version: 1 storageDriverName: ontap-san managementLIF: 192.168.1.66 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 예
이 예에서는 를 사용하여 백엔드를 생성합니다 useCHAP
를 로 설정합니다 true
.
--- 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: true
가상 풀의 백엔드 예
이러한 백엔드 정의 파일 샘플에서는 와 같은 모든 스토리지 풀에 대해 특정 기본값이 설정됩니다 spaceReserve
없음, spaceAllocation
거짓일 경우, 및 encryption
거짓일 때. 가상 풀은 스토리지 섹션에 정의됩니다.
Astra Trident가 "Comments" 필드에 프로비저닝 레이블을 설정합니다. FlexVol에 주석이 설정됩니다. Astra Trident는 프로비저닝할 때 가상 풀에 있는 모든 레이블을 스토리지 볼륨에 복사합니다. 편의를 위해 스토리지 관리자는 가상 풀 및 그룹 볼륨별로 레이블을 레이블별로 정의할 수 있습니다.
이 예에서는 일부 스토리지 풀이 자체적으로 설정됩니다 spaceReserve
, spaceAllocation
, 및 encryption
일부 풀은 기본값을 재정의합니다.
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 정의는 을 참조하십시오 가상 풀의 백엔드 예. 를 사용합니다 parameters.selector
필드에서 각 StorageClass는 볼륨을 호스팅하는 데 사용할 수 있는 가상 풀을 호출합니다. 선택한 가상 풀에 볼륨이 정의되어 있습니다.
-
를 클릭합니다
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-economy
백엔드. mysqldb 유형 앱에 대한 스토리지 풀 구성을 제공하는 유일한 풀입니다.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
에 있는 백엔드 및 네 번째 가상 풀입니다ontap-san-economy
백엔드. 5000 크레딧 포인트를 보유한 유일한 풀 서비스입니다.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 가 에 매핑됩니다testAPP
의 가상 풀입니다ontap-san
를 사용하여 운전합니다sanType: nvme
. 이것은 유일한 풀 제안입니다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"
Astra Trident가 선택한 가상 풀을 결정하고 스토리지 요구 사항을 충족시킵니다.