ONTAP NAS 구성 옵션 및 예
Trident 설치 시 ONTAP NAS 드라이버를 생성하고 사용하는 방법에 대해 알아봅니다. 이 섹션에서는 백엔드 구성 예제 및 Backend를 StorageClasses에 매핑하는 방법에 대한 세부 정보를 제공합니다.
백엔드 구성 옵션
백엔드 구성 옵션은 다음 표를 참조하십시오.
매개 변수 | 설명 | 기본값 | ||
---|---|---|---|---|
'내전' |
항상 1 |
|||
'torageDriverName'입니다 |
스토리지 드라이버의 이름입니다 |
"ONTAP-NAS", "ONTAP-NAS-Economy", "ONTAP-NAS-flexgroup", "ONTAP-SAN", "ONTAP-SAN-Economy" |
||
백엔드이름 |
사용자 지정 이름 또는 스토리지 백엔드 |
드라이버 이름 + "_" + dataLIF |
||
마나멘타LIF |
클러스터 또는 SVM 관리 LIF의 IP 주소 정규화된 도메인 이름(FQDN)을 지정할 수 있습니다. IPv6 플래그를 사용하여 Trident가 설치된 경우 IPv6 주소를 사용하도록 설정할 수 있습니다. IPv6 주소는 과 같이 대괄호로 정의해야 |
“10.0.0.1”, “[2001:1234:ABCD::fee]” |
||
다타LIF |
프로토콜 LIF의 IP 주소입니다. 지정하는 것이 좋습니다 |
지정되지 않은 경우 SVM에서 지정 주소 또는 파생(권장하지 않음) |
||
'VM'입니다 |
사용할 스토리지 가상 머신입니다 |
SVM 'managementLIF'가 지정된 경우에 파생됩니다 |
||
자동 내보내기 정책 |
자동 엑스포트 정책 생성 및 업데이트 [Boolean] 활성화 Trident는 및 |
거짓 |
||
자동 내보내기 |
이 설정된 경우에 대해 Kubernetes 노드 IP를 필터링하는 CIDR |
["0.0.0.0/0",":/0"]' |
||
'라벨' |
볼륨에 적용할 임의의 JSON 형식 레이블 세트입니다 |
"" |
||
'고객증명서' |
Base64 - 클라이언트 인증서의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
||
'clientPrivateKey'입니다 |
Base64 - 클라이언트 개인 키의 인코딩된 값입니다. 인증서 기반 인증에 사용됩니다 |
"" |
||
신탁인증서다 |
Base64 - 신뢰할 수 있는 CA 인증서의 인코딩된 값입니다. 선택 사항. 인증서 기반 인증에 사용됩니다 |
"" |
||
'사용자 이름' |
클러스터/SVM에 연결할 사용자 이름입니다. 자격 증명 기반 인증에 사용됩니다 |
|||
"암호" |
클러스터/SVM에 연결하는 암호 자격 증명 기반 인증에 사용됩니다 |
|||
'토르agePrefix' |
SVM에서 새 볼륨을 프로비저닝할 때 사용되는 접두사 설정한 후에는 업데이트할 수 없습니다
|
"트리덴트" |
||
골재 |
프로비저닝을 위한 애그리게이트(선택 사항, SVM에 셋팅해야 하는 경우) 드라이버의 경우
|
"" |
||
제한선태사용법 |
사용량이 이 비율을 초과하면 프로비저닝이 실패합니다. ONTAP * 용 아마존 FSx에는 * 가 적용되지 않습니다 |
""(기본적으로 적용되지 않음) |
||
flexgroupAggregateList 를 참조하십시오 |
프로비저닝을 위한 애그리게이트 목록(선택 사항, SVM에 할당되어야 함) SVM에 할당된 모든 애그리게이트는 FlexGroup 볼륨을 프로비저닝하는 데 사용됩니다. ONTAP-NAS-FlexGroup * 스토리지 드라이버에 대해 지원됩니다.
|
"" |
||
LimitVolumeSize |
요청된 볼륨 크기가 이 값보다 큰 경우 용량 할당에 실패합니다. 또한 qtree에서 관리하는 볼륨의 최대 크기를 제한하고, |
""(기본적으로 적용되지 않음) |
||
debugTraceFlags를 선택합니다 |
문제 해결 시 사용할 디버그 플래그입니다. 예: {"api":false, "method":true} |
null입니다 |
||
|
NFS 또는 SMB 볼륨 생성을 구성합니다. 옵션은 입니다 |
|
||
nfsMountOptions를 선택합니다 |
쉼표로 구분된 NFS 마운트 옵션 목록입니다. Kubernetes 영구 볼륨의 마운트 옵션은 일반적으로 스토리지 클래스에 지정되어 있지만, 스토리지 클래스에 마운트 옵션이 지정되지 않은 경우 Trident는 스토리지 백엔드의 구성 파일에 지정된 마운트 옵션을 사용하도록 폴백합니다. 스토리지 클래스 또는 구성 파일에 마운트 옵션이 지정되지 않은 경우 Trident는 연결된 영구 볼륨에 마운트 옵션을 설정하지 않습니다. |
"" |
||
"케트리스퍼플랙스볼륨" |
FlexVol당 최대 qtree, 범위 [50, 300]에 있어야 함 |
"200" |
||
|
Microsoft 관리 콘솔 또는 ONTAP CLI를 사용하여 생성된 SMB 공유의 이름, Trident에서 SMB 공유를 생성할 수 있는 이름, 볼륨에 대한 일반적인 공유 액세스를 방지하기 위해 매개 변수를 비워 둘 수 있습니다. 이 매개 변수는 사내 ONTAP의 경우 선택 사항입니다. 이 매개변수는 ONTAP 백엔드에 대한 아마존 FSx에 필요하며 비워둘 수 없습니다. |
|
||
'useREST' |
ONTAP REST API를 사용하는 부울 매개 변수입니다. |
|
||
|
ONTAP-NAS-이코노미 백엔드에서 Qtree를 사용할 때 가장 필요한 최대 FlexVol 크기입니다. |
""(기본적으로 적용되지 않음) |
||
|
못하도록백 엔드가 새 FlexVol 볼륨을 생성하지 포함하도록 |
볼륨 프로비저닝을 위한 백엔드 구성 옵션
에서 이러한 옵션을 사용하여 기본 프로비저닝을 제어할 수 있습니다 defaults
섹션을 참조하십시오. 예를 들어, 아래 구성 예제를 참조하십시오.
매개 변수 | 설명 | 기본값 |
---|---|---|
'팩시배부 |
Qtree에 공간 할당 |
"참" |
'예비공간' |
공간 예약 모드, "없음"(씬) 또는 "볼륨"(일반) |
"없음" |
냅샷정책 |
사용할 스냅샷 정책입니다 |
"없음" |
"qosPolicy" |
생성된 볼륨에 할당할 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다 |
"" |
적응성 QosPolicy |
생성된 볼륨에 할당할 적응형 QoS 정책 그룹입니다. 스토리지 풀/백엔드에서 qosPolicy 또는 adapativeQosPolicy 중 하나를 선택합니다. ONTAP에서 지원되지 않음 - NAS - 이코노미 |
"" |
안산예비역 |
스냅숏용으로 예약된 볼륨의 백분율입니다 |
"0"인 경우 |
'plitOnClone'을 선택합니다 |
생성 시 상위 클론에서 클론을 분할합니다 |
"거짓" |
암호화 |
새 볼륨에서 NetApp 볼륨 암호화(NVE)를 활성화하고, 기본값은 로 설정합니다. |
"거짓" |
'계층화 정책' |
"없음"을 사용하는 계층화 정책 |
ONTAP 9.5 SVM-DR 이전 구성의 경우 "스냅샷 전용 |
유니크권한 |
모드를 선택합니다 |
NFS 볼륨의 경우 "777", SMB 볼륨의 경우 비어 있음(해당 없음 |
나프산디렉토리 |
에 액세스를 제어합니다 |
NFSv3의 경우 NFSv4의 경우 "true"입니다 |
엑포트정책 |
사용할 엑스포트 정책 |
"기본값" |
'생태성 스타일'을 참조하십시오 |
새로운 볼륨에 대한 보안 스타일 NFS를 지원합니다 |
NFS 기본값은 입니다 |
|
사용자 지정 볼륨 이름을 생성하는 템플릿입니다. |
"" |
Trident에서 QoS 정책 그룹을 사용하려면 ONTAP 9 .8 이상이 필요합니다. 비공유 QoS 정책 그룹을 사용하고 정책 그룹이 각 구성 요소에 개별적으로 적용되도록 해야 합니다. 공유 QoS 정책 그룹은 모든 워크로드의 총 처리량에 대한 제한을 적용합니다. |
볼륨 프로비저닝의 예
다음은 기본값이 정의된 예입니다.
--- version: 1 storageDriverName: ontap-nas backendName: customBackendName managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 labels: k8scluster: dev1 backend: dev1-nasbackend svm: trident_svm username: cluster-admin password: <password> limitAggregateUsage: 80% limitVolumeSize: 50Gi nfsMountOptions: nfsvers=4 debugTraceFlags: api: false method: true defaults: spaceReserve: volume qosPolicy: premium exportPolicy: myk8scluster snapshotPolicy: default snapshotReserve: '10'
및 ontap-nas-flexgroups
의 경우 ontap-nas
Trident는 이제 새로운 계산을 사용하여 FlexVol의 크기가 snapshotReserve 비율 및 PVC로 올바르게 지정되도록 합니다. 사용자가 PVC를 요청하면 Trident는 새 계산을 사용하여 더 많은 공간을 가진 원래 FlexVol를 생성합니다. 이 계산을 통해 사용자는 PVC에서 요청한 쓰기 가능 공간을 확보할 수 있으며 요청된 공간보다 적은 공간을 확보할 수 있습니다. v21.07 이전에는 사용자가 스냅샷 보존 공간을 50%로 하여 PVC(예: 5GiB)를 요청할 때 쓰기 가능한 공간은 2.5GiB에 불과합니다. 이는 사용자가 요청한 볼륨이 전체 볼륨에 해당하고 그 비율이기 snapshotReserve
때문입니다. Trident 21.07에서 사용자가 요청하는 것은 쓰기 가능 공간이며 Trident는 이 snapshotReserve
수를 전체 볼륨의 백분율로 정의합니다. 에는 적용되지 ontap-nas-economy
않습니다. 이 작동 방식을 보려면 다음 예를 참조하십시오.
계산은 다음과 같습니다.
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
snapshotReserve = 50%, PVC request = 5GiB의 경우, 총 볼륨 크기는 2/.5 = 10GiB이고 사용 가능한 크기는 5GiB입니다. 이는 사용자가 PVC 요청에서 요청한 것입니다. 'volume show' 명령은 다음 예와 유사한 결과를 표시합니다.
이전 설치의 기존 백엔드는 Trident를 업그레이드할 때 위에서 설명한 대로 볼륨을 프로비저닝합니다. 업그레이드하기 전에 생성한 볼륨의 경우 변경 사항을 관찰하기 위해 볼륨의 크기를 조정해야 합니다. 예를 들어, 이전 버전의 2GiB PVC는 snapshotReserve=50
1GiB의 쓰기 가능 공간을 제공하는 볼륨을 생성했습니다. 예를 들어, 볼륨을 3GiB로 조정하면 애플리케이션에 6GiB 볼륨의 쓰기 가능 공간이 3GiB로 표시됩니다.
최소 구성의 예
다음 예에서는 대부분의 매개 변수를 기본값으로 두는 기본 구성을 보여 줍니다. 이는 백엔드를 정의하는 가장 쉬운 방법입니다.
Trident가 있는 NetApp ONTAP에서 Amazon FSx를 사용하는 경우 IP 주소 대신 LIF에 대한 DNS 이름을 지정하는 것이 좋습니다. |
ONTAP NAS 경제도 예
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
ONTAP NAS FlexGroup 예
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
MetroCluster 예
전환 및 전환 중에 백엔드 정의를 수동으로 업데이트할 필요가 없도록 백엔드를 구성할 수 있습니다 "SVM 복제 및 복구".
원활한 스위치오버 및 스위치백의 경우 를 사용하여 SVM을 지정합니다 managementLIF
를 생략합니다 dataLIF
및 svm
매개 변수. 예를 들면 다음과 같습니다.
--- version: 1 storageDriverName: ontap-nas managementLIF: 192.168.1.66 username: vsadmin password: password
SMB 볼륨의 예입니다
--- version: 1 backendName: ExampleBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 nasType: smb securityStyle: ntfs unixPermissions: "" dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
인증서 기반 인증의 예
이는 최소 백엔드 구성의 예입니다. clientCertificate
, clientPrivateKey
, 및 trustedCACertificate
(신뢰할 수 있는 CA를 사용하는 경우 선택 사항)는 에 채워집니다 backend.json
그리고 각각 클라이언트 인증서, 개인 키 및 신뢰할 수 있는 CA 인증서의 base64로 인코딩된 값을 사용합니다.
--- version: 1 backendName: DefaultNASBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.15 svm: nfs_svm clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
자동 엑스포트 정책의 예
이 예에서는 Trident에서 동적 엑스포트 정책을 사용하여 엑스포트 정책을 자동으로 생성 및 관리하도록 하는 방법을 보여 줍니다. 및 ontap-nas-flexgroup
드라이버에도 동일하게 ontap-nas-economy
작동합니다.
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs labels: k8scluster: test-cluster-east-1a backend: test1-nasbackend autoExportPolicy: true autoExportCIDRs: - 10.0.0.0/24 username: admin password: password nfsMountOptions: nfsvers=4
IPv6 주소 예
이 예에서는 를 보여 줍니다 managementLIF
IPv6 주소 사용.
--- version: 1 storageDriverName: ontap-nas backendName: nas_ipv6_backend managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]" labels: k8scluster: test-cluster-east-1a backend: test1-ontap-ipv6 svm: nas_ipv6_svm username: vsadmin password: password
SMB 볼륨을 사용하는 ONTAP용 Amazon FSx의 예
를 클릭합니다 smbShare
SMB 볼륨을 사용하는 ONTAP용 FSx에 매개 변수가 필요합니다.
--- version: 1 backendName: SMBBackend storageDriverName: ontap-nas managementLIF: example.mgmt.fqdn.aws.com nasType: smb dataLIF: 10.0.0.15 svm: nfs_svm smbShare: smb-share clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
nameTemplate이 포함된 백엔드 구성 예
--- version: 1 storageDriverName: ontap-nas backendName: ontap-nas-backend managementLIF: <ip address> svm: svm0 username: <admin> password: <password> defaults: { "nameTemplate": "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.volume.RequestName}}" }, "labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"}
가상 풀의 백엔드 예
아래 표시된 샘플 백엔드 정의 파일에서 와 같은 모든 스토리지 풀에 대한 특정 기본값이 설정됩니다 spaceReserve
없음, spaceAllocation
거짓일 경우, 및 encryption
거짓일 때. 가상 풀은 스토리지 섹션에 정의됩니다.
Trident는 "Comments" 필드에 프로비저닝 레이블을 설정합니다. 설명은 의 FlexVol ontap-nas
또는 의 FlexGroup에 ontap-nas-flexgroup
설정됩니다. Trident는 프로비저닝 시 가상 풀에 있는 모든 레이블을 스토리지 볼륨에 복제합니다. 편의를 위해 스토리지 관리자는 가상 풀 및 그룹 볼륨별로 레이블을 레이블별로 정의할 수 있습니다.
이 예에서는 일부 스토리지 풀이 자체적으로 설정됩니다 spaceReserve
, spaceAllocation
, 및 encryption
일부 풀은 기본값을 재정의합니다.
ONTAP NAS의 예
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 svm: svm_nfs username: admin password: <password> nfsMountOptions: nfsvers=4 defaults: spaceReserve: none encryption: 'false' qosPolicy: standard labels: store: nas_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: app: msoffice cost: '100' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' adaptiveQosPolicy: adaptive-premium - labels: app: slack cost: '75' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: legal creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: app: wordpress cost: '50' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: app: mysqldb cost: '25' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
ONTAP NAS FlexGroup의 예
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: flexgroup_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: protection: gold creditpoints: '50000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: gold creditpoints: '30000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: protection: silver creditpoints: '20000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: protection: bronze creditpoints: '10000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
ONTAP NAS 경제도 예
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: nas_economy_store region: us_east_1 storage: - labels: department: finance creditpoints: '6000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: bronze creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: engineering creditpoints: '3000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: department: humanresource creditpoints: '2000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
백엔드를 StorageClasses에 매핑합니다
다음 StorageClass 정의는 을 참조하십시오 가상 풀의 백엔드 예. 를 사용합니다 parameters.selector
필드에서 각 StorageClass는 볼륨을 호스팅하는 데 사용할 수 있는 가상 풀을 호출합니다. 선택한 가상 풀에 볼륨이 정의되어 있습니다.
-
를 클릭합니다
protection-gold
StorageClass는 의 첫 번째 및 두 번째 가상 풀에 매핑됩니다ontap-nas-flexgroup
백엔드. 골드 레벨 보호 기능을 제공하는 유일한 풀입니다.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-nas-flexgroup
백엔드. 금 이외의 보호 수준을 제공하는 유일한 풀입니다.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-nas
백엔드. 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-nas-flexgroup
백엔드. 실버 레벨 보호 및 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-nas
의 백엔드 및 두 번째 가상 풀입니다ontap-nas-economy
백엔드. 5000 크레딧 포인트를 보유한 유일한 풀 서비스입니다.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4"
Trident는 어떤 가상 풀이 선택되었는지 결정하고 스토리지 요구 사항이 충족되는지 확인합니다.
업데이트 dataLIF
초기 구성 후
다음 명령을 실행하여 초기 구성 후에 데이터 LIF를 변경할 수 있으며, 업데이트된 데이터 LIF가 포함된 새 백엔드 JSON 파일을 제공할 수 있습니다.
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
PVC가 하나 이상의 포드에 연결된 경우 해당 포드를 모두 내린 다음 다시 불러와서 새 데이터 LIF가 적용되도록 해야 합니다. |