SAN組態選項與範例ONTAP
瞭解如何在 Astra Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 |
---|---|---|
「分度」 |
永遠為1 |
|
「torageDriverName」 |
儲存驅動程式名稱 |
|
「後端名稱」 |
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
《馬納格門達利》 |
叢集或 SVM 管理 LIF 的 IP 位址。 |
「10.0.0.1」、「[2001:1234:abcd:::fefo]」 |
「DataLIF」 |
傳輸協定LIF的IP位址。 |
源自SVM |
《虛擬機器》 |
要使用的儲存虛擬機器 |
如果指定SVM "managementLIF"則衍生 |
《使用CHAP》 |
使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設定為 |
「假」 |
《chapInitiator機密》 |
CHAP啟動器密碼。如果是"useCHAP=true"、則為必要項目 |
" |
《標籤》 |
套用到磁碟區的任意JSON-格式化標籤集 |
" |
《chapTargetInitiator機密》 |
CHAP目標啟動器機密。如果是"useCHAP=true"、則為必要項目 |
" |
「chapUsername」 |
傳入使用者名稱。如果是"useCHAP=true"、則為必要項目 |
" |
《chapTargetUsername》 |
目標使用者名稱。如果是"useCHAP=true"、則為必要項目 |
" |
「用戶端憑證」 |
用戶端憑證的Base64編碼值。用於憑證型驗證 |
" |
「clientPrivate Key」 |
用戶端私密金鑰的Base64編碼值。用於憑證型驗證 |
" |
「可信賴的CACertifcate」 |
受信任CA憑證的Base64編碼值。選用。用於憑證型驗證。 |
" |
《使用者名稱》 |
與ONTAP 該叢集通訊所需的使用者名稱。用於認證型驗證。 |
" |
密碼 |
與ONTAP 該叢集通訊所需的密碼。用於認證型驗證。 |
" |
《虛擬機器》 |
要使用的儲存虛擬機器 |
如果指定SVM "managementLIF"則衍生 |
「toragePrefix」 |
在SVM中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。 |
|
「限制Aggregateusage」 |
如果使用率高於此百分比、則無法進行資源配置。如果您使用Amazon FSX for NetApp ONTAP Sendbackend、請勿指定 |
""(預設不強制執行) |
《限制Volume大小》 |
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理的qtree和LUN磁碟區大小上限。 |
"" (預設不會強制執行) |
《lunsPerFlexvol》 |
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
|
「DebugTraceFlags」 |
疑難排解時要使用的偵錯旗標。例如、 { "api" : false 、 "method" : true} |
|
《useREST》 |
使用ONTAP Isrest API的布林參數。 |
|
|
用於選擇 |
|
用於資源配置磁碟區的後端組態選項
您可以使用中的這些選項來控制預設資源配置 defaults
組態區段。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
"paceAllocate(配置)" |
LUN的空間分配 |
" 對 " |
《保護區》 |
空間保留模式;「無」(精簡)或「 Volume 」(粗) |
" 無 " |
「快照原則」 |
要使用的Snapshot原則 |
" 無 " |
「qosPolicy」 |
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。我們建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。 |
" |
《adaptiveQosPolicy》 |
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
" |
「快照保留區」 |
保留給快照的磁碟區百分比 |
「 0 」如果 |
「PlitOnClone」 |
建立複本時、從其父複本分割複本 |
"假" |
加密 |
在新磁碟區上啟用NetApp Volume Encryption(NVE);預設為「假」。必須在叢集上授權並啟用NVE、才能使用此選項。如果在後端啟用NAE、則Astra Trident中配置的任何磁碟區都會啟用NAE。如需詳細資訊、請參閱: "Astra Trident如何與NVE和NAE搭配運作"。 |
"假" |
|
啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。 |
" |
《生態樣式》 |
新磁碟區的安全樣式 |
|
「分層政策」 |
分層原則以使用「無」 |
「僅限快照」適用於 ONTAP 9.5 之前的 SVM-DR 組態 |
|
建立自訂磁碟區名稱的範本。 |
" |
|
在 ONTAP SAN 經濟型後端中使用 LUN 時、可要求的最大 FlexVol 大小。 |
""(預設不強制執行) |
Volume資源配置範例
以下是定義預設值的範例:
--- 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 the支援LUN中繼資料的情況下、為該系統的功能增加10%的容量。LUN的配置大小與使用者在PVc中要求的大小完全相同。Astra Trident在FlexVol 整個過程中增加10%的速度(顯示ONTAP 在畫面上可用的尺寸)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。 |
對於定義「快照保留區」的後端、Astra Trident會計算磁碟區大小、如下所示:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1是額外10%的Astra Trident加入FlexVol 到the支援LUN中繼資料的功能。對於「快照保留區」= 5%、而PVc要求= 5GiB、磁碟區總大小為5.79GiB、可用大小為5.5GiB。「volume show(Volume show)命令應顯示類似以下範例的結果:
目前、只有調整大小、才能將新計算用於現有的Volume。
最低組態範例
下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。
如果您在 NetApp ONTAP 上搭配 Astra Trident 使用 Amazon FSX 、建議您指定生命的 DNS 名稱、而非 IP 位址。 |
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>
-
範例
您可以設定後端、避免在切換和切換期間手動更新後端定義 "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憑證的基礎64編碼值。
--- 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
名稱範本的後端組態範例
--- 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}}_{{.volume.RequestName}}" }, "labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"}
虛擬集區的後端範例
在這些後端定義檔案範例中、會針對所有儲存池設定特定的預設值、例如 spaceReserve
無、 spaceAllocation
假、和 encryption
錯。虛擬資源池是在儲存區段中定義的。
Astra Trident 會在「意見」欄位中設定資源配置標籤。請在FlexVol The過程中提出意見。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'
將後端對應至StorageClass
下列 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
後端:這是唯一提供銀級保護和 20000 個信用點數的資源池。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將決定選取哪個虛擬集區、並確保符合儲存需求。