SAN組態選項與範例ONTAP
瞭解如何在 Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 | ||
---|---|---|---|---|
「分度」 |
永遠為1 |
|||
「torageDriverName」 |
儲存驅動程式名稱 |
|
||
「後端名稱」 |
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
||
《馬納格門達利》 |
叢集或 SVM 管理 LIF 的 IP 位址。您可以指定完整網域名稱(FQDN)。如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 |
「10.0.0.1」、「[2001:1234:abcd:::fefo]」 |
||
「DataLIF」 |
傳輸協定LIF的IP位址。如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 |
源自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中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。 |
|
||
《Aggregate》 |
用於資源配置的Aggregate(選用;如果已設定、則必須指派給SVM)。對於 `ontap-nas-flexgroup`驅動程式、此選項會被忽略。如果未指派、 任何可用的集合體都可用於佈建 FlexGroup Volume 。
|
" |
||
「限制Aggregateusage」 |
如果使用率高於此百分比、則無法進行資源配置。如果您使用 Amazon FSX for NetApp ONTAP 後端、請勿指定 |
""(預設不強制執行) |
||
《限制Volume大小》 |
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理 LUN 的最大磁碟區大小。 |
"" (預設不會強制執行) |
||
《lunsPerFlexvol》 |
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
|
||
「DebugTraceFlags」 |
疑難排解時要使用的偵錯旗標。例如、 { "api" : false 、 "method" : true} |
|
||
《useREST》 |
使用ONTAP Isrest API的布林參數。 |
|
||
|
用於選擇 |
|
||
|
用於
|
|||
|
在 ONTAP SAN 經濟型後端中使用 LUN 時、可要求的最大 FlexVol 大小。 |
""(預設不強制執行) |
||
|
限制 `ontap-san-economy`後端建立新的 FlexVol 磁碟區以包含其 LUN 。只有預先存在的 FlexVols 可用於佈建新的 PV 。 |
使用 formatOptions 的建議
Trident 建議使用下列選項來加速格式化程序:
*-E nobard : *
-
保留、請勿嘗試在 mkfs 時間捨棄區塊(丟棄區塊一開始在固態裝置和稀疏 / 精簡配置儲存設備上很有用)。這會取代已過時的選項「 -K 」、而且適用於所有檔案系統( xfs 、 ext3 和 ext4 )。
用於資源配置磁碟區的後端組態選項
您可以使用中的這些選項來控制預設資源配置 defaults
組態區段。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
"paceAllocate(配置)" |
LUN的空間分配 |
" 對 " |
《保護區》 |
空間保留模式;「無」(精簡)或「 Volume 」(粗) |
" 無 " |
「快照原則」 |
要使用的Snapshot原則 |
" 無 " |
「qosPolicy」 |
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配 Trident 使用 QoS 原則群組需要 ONTAP 9 8 或更新版本。您應該使用非共用的 QoS 原則群組、並確保個別將原則群組套用至每個成員。共享 QoS 原則群組會強制執行所有工作負載總處理量的上限。 |
" |
《adaptiveQosPolicy》 |
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
" |
「快照保留區」 |
保留給快照的磁碟區百分比 |
「 0 」如果 |
「PlitOnClone」 |
建立複本時、從其父複本分割複本 |
"假" |
加密 |
在新磁碟區上啟用 NetApp Volume Encryption ( NVE );預設為 |
"假" |
|
啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。 |
" |
《生態樣式》 |
新磁碟區的安全樣式 |
|
「分層政策」 |
分層原則以使用「無」 |
「僅限快照」適用於 ONTAP 9.5 之前的 SVM-DR 組態 |
|
建立自訂磁碟區名稱的範本。 |
" |
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 、 Trident 會為 FlexVol 額外增加 10% 的容量、以容納 LUN 中繼資料。LUN的配置大小與使用者在PVc中要求的大小完全相同。Trident 將 10% 新增至 FlexVol (在 ONTAP 中顯示為可用大小)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。
|
對於定義的後端 snapshotReserve
, Trident 將按以下方式計算卷的大小:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1 是額外 10% 的 Trident 新增至 FlexVol 、以容納 LUN 中繼資料。若 snapshotReserve
= 5% 、且 PVC 要求 = 5GiB 、則總 Volume 大小為 5.79GiB 、可用大小為 5.5GiB 。 `volume show`命令應顯示類似於此範例的結果:
目前、只有調整大小、才能將新計算用於現有的Volume。
最低組態範例
下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。
如果您在 NetApp ONTAP 上搭配 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}}"}
formatOptions 範例: <code> ONTAP - San 經濟型 </code> 驅動程式
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 會在「意見」欄位中設定資源配置標籤。請在FlexVol The過程中提出意見。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"
Trident 會決定要選取哪個虛擬集區、並確保符合儲存需求。