ONTAP SAN 구성 옵션 및 예
Trident 설치 시 ONTAP SAN 드라이버를 생성하고 사용하는 방법에 대해 알아봅니다. 이 섹션에서는 백엔드 구성 예제 및 Backend를 StorageClasses에 매핑하는 방법에 대한 세부 정보를 제공합니다.
"ASA r2 시스템" 다른 ONTAP 시스템(ASA, AFF, FAS)과 저장 계층 구현 방식이 다릅니다. 이러한 차이는 명시된 특정 매개변수의 사용 방식에 영향을 미칩니다. "ASA r2 시스템과 다른 ONTAP 시스템 간의 차이점에 대해 자세히 알아보세요."..
|
오직 ontap-san 드라이버(iSCSI 및 NVMe/TCP 프로토콜 포함)는 ASA r2 시스템에서 지원됩니다.
|
Trident 백엔드 구성에서는 시스템이 ASA r2임을 지정할 필요가 없습니다 . ontap-san
로서 storageDriverName
Trident는 ASA r2 또는 기존 ONTAP 시스템을 자동으로 감지합니다. 아래 표에 나와 있는 것처럼 일부 백엔드 구성 매개변수는 ASA r2 시스템에 적용되지 않습니다.
백엔드 구성 옵션
백엔드 구성 옵션은 다음 표를 참조하십시오.
매개 변수 | 설명 | 기본값 | ||
---|---|---|---|---|
'내전' |
항상 1 |
|||
'torageDriverName'입니다 |
스토리지 드라이버의 이름입니다 |
|
||
백엔드이름 |
사용자 지정 이름 또는 스토리지 백엔드 |
드라이버 이름 + "_" + dataLIF |
||
마나멘타LIF |
클러스터 또는 SVM 관리 LIF의 IP 주소입니다. FQDN(정규화된 도메인 이름)을 지정할 수 있습니다. IPv6 플래그를 사용하여 Trident가 설치된 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 과 같이 대괄호로 정의해야 원활한 MetroCluster 전환은 를 MetroCluster 예참조하십시오.
|
"10.0.0.1"," [2001:1234:ABCD::fefe]" |
||
다타LIF |
프로토콜 LIF의 IP 주소입니다. IPv6 플래그를 사용하여 Trident가 설치된 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 과 같이 대괄호로 정의해야 |
SVM에서 파생됩니다 |
||
'VM'입니다 |
사용할 스토리지 가상 머신입니다 |
SVM 'managementLIF'가 지정된 경우에 파생됩니다 |
||
'useCHAP'입니다 |
CHAP를 사용하여 ONTAP SAN 드라이버에 대한 iSCSI 인증 [Boolean]. 백엔드에 제공된 SVM에 대한 기본 인증으로 양방향 CHAP를 구성하고 사용하려면 Trident에 대해 으로 |
거짓입니다 |
||
챕터시크릿 |
CHAP 이니시에이터 암호입니다. useCHAP=true인 경우 필수입니다 |
"" |
||
'라벨' |
볼륨에 적용할 임의의 JSON 형식 레이블 세트입니다 |
"" |
||
챕터타겟이니터시크릿 |
CHAP 타겟 이니시에이터 암호입니다. useCHAP=true인 경우 필수입니다 |
"" |
||
'chapUsername'입니다 |
인바운드 사용자 이름입니다. useCHAP=true인 경우 필수입니다 |
"" |
||
'chapTargetUsername'입니다 |
대상 사용자 이름입니다. useCHAP=true인 경우 필수입니다 |
"" |
||
'고객증명서' |
Base64 - 클라이언트 인증서의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
||
'clientPrivateKey'입니다 |
Base64 - 클라이언트 개인 키의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
||
신탁인증서다 |
Base64 - 신뢰할 수 있는 CA 인증서의 인코딩된 값입니다. 선택 사항. 인증서 기반 인증에 사용됩니다. |
"" |
||
'사용자 이름' |
ONTAP 클러스터와 통신하는 데 필요한 사용자 이름입니다. 자격 증명 기반 인증에 사용됩니다. |
"" |
||
"암호" |
ONTAP 클러스터와 통신하는 데 필요한 암호입니다. 자격 증명 기반 인증에 사용됩니다. |
"" |
||
'VM'입니다 |
사용할 스토리지 가상 머신입니다 |
SVM 'managementLIF'가 지정된 경우에 파생됩니다 |
||
'토르agePrefix' |
SVM에서 새 볼륨을 프로비저닝할 때 사용되는 접두사 나중에 수정할 수 없습니다. 이 매개 변수를 업데이트하려면 새 백엔드를 생성해야 합니다. |
|
||
골재 |
프로비저닝을 위한 애그리게이트(선택 사항, SVM에 셋팅해야 하는 경우) 드라이버의 경우
ASA r2 시스템에 대해서는 지정하지 마세요. |
"" |
||
제한선태사용법 |
사용량이 이 비율을 초과하면 프로비저닝이 실패합니다. Amazon FSx for NetApp ONTAP 백엔드를 사용하는 경우 을 지정하지 |
""(기본적으로 적용되지 않음) |
||
LimitVolumeSize |
요청된 볼륨 크기가 이 값보다 큰 경우 용량 할당에 실패합니다. 또한 LUN에 대해 관리하는 볼륨의 최대 크기를 제한합니다. |
""(기본적으로 적용되지 않음) |
||
'오만유연한' |
FlexVol당 최대 LUN 수는 범위[50, 200]에 있어야 합니다. |
|
||
debugTraceFlags를 선택합니다 |
문제 해결 시 사용할 디버그 플래그입니다. 예: {"api":false, "method":true} |
|
||
'useREST' |
ONTAP REST API를 사용하기 위한 부울 매개변수입니다. `useREST`설정 시 `true` , Trident 백엔드와 통신하기 위해 ONTAP REST API를 사용합니다. `false` Trident 백엔드와 통신하기 위해 ONTAPI(ZAPI) 호출을 사용합니다. 이 기능을 사용하려면 ONTAP 9.11.1 이상이 필요합니다. 또한, 사용되는 ONTAP 로그인 역할에는 다음에 대한 액세스 권한이 있어야 합니다. `ontapi` 애플리케이션. 이는 사전 정의된 것에 의해 충족됩니다. `vsadmin` 그리고 `cluster-admin` 역할. Trident 24.06 릴리스 및 ONTAP 9.15.1 이상부터 `useREST` 로 설정됩니다 `true` 기본적으로; 변경 `useREST` 에게 `false` ONTAPI(ZAPI) 호출을 사용합니다. `useREST`NVMe/TCP에 완벽하게 적합합니다.
*지정된 경우 항상 다음으로 설정됩니다. |
|
||
|
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" *지정된 경우 설정됨 |
'예비공간' |
공간 예약 모드, "없음"(씬) 또는 "볼륨"(일반). 설정 |
"없음" |
냅샷정책 |
사용할 스냅샷 정책입니다. *설정 |
"없음" |
"qosPolicy" |
생성된 볼륨에 할당할 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다. Trident에서 QoS 정책 그룹을 사용하려면 ONTAP 9 .8 이상이 필요합니다. 비공유 QoS 정책 그룹을 사용하고 정책 그룹이 각 구성 요소에 개별적으로 적용되도록 해야 합니다. 공유 QoS 정책 그룹은 모든 워크로드의 총 처리량에 대한 제한을 적용합니다. |
"" |
적응성 QosPolicy |
생성된 볼륨에 할당할 적응형 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다 |
"" |
안산예비역 |
스냅숏용으로 예약된 볼륨의 비율입니다. ASA r2 시스템에 대해서는 지정하지 마세요. |
"0"인 경우 |
'plitOnClone'을 선택합니다 |
생성 시 상위 클론에서 클론을 분할합니다 |
"거짓" |
암호화 |
새 볼륨에서 NetApp 볼륨 암호화(NVE)를 활성화하고, 기본값은 로 설정합니다. |
"false" *지정된 경우 설정됨 |
|
LUKS 암호화를 사용합니다. 을 "LUKS(Linux Unified Key Setup) 사용"참조하십시오. |
"" *로 설정 |
'계층화 정책' |
"없음"을 사용하는 계층화 정책 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-san Trident는 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
Trident FlexVol 에 추가하는 10%입니다. snapshotReserve
= 5%, PVC 요청 = 5GiB인 경우 총 볼륨 크기는 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: password
ONTAP 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 예
이 예에서는 를 사용하여 백엔드를 생성합니다 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
FCP(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: true
nameTemplate이 포함된 백엔드 구성 예
---
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에 주석이 설정됨 용량 할당 시 가상 풀에 있는 모든 레이블을 스토리지 볼륨으로 복제합니다. 편의를 위해 스토리지 관리자는 가상 풀 및 그룹 볼륨별로 레이블을 레이블별로 정의할 수 있습니다.
이 예에서는 일부 스토리지 풀이 자체적으로 설정됩니다 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"
Trident는 어떤 가상 풀이 선택되었는지 결정하고 스토리지 요구 사항이 충족되는지 확인합니다.