SAN組態選項與範例ONTAP
瞭解如何在 Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。
"ASA r2 系統"與其他 ONTAP 系統(ASA、AFF 和 FAS)在儲存層實作方面有所不同。這些差異會影響某些參數的使用,具體如下。"詳細了解 ASA r2 系統與其他 ONTAP 系統之間的差異"。
|
只有 ontap-san ASA r2 系統支援驅動程式(附有 iSCSI 和 NVMe/TCP 協定)。
|
在 Trident 後端設定中,您無需指定係統是 ASA r2。當您選擇 ontap-san`作為 `storageDriverName
Trident 會自動偵測 ASA r2 或傳統 ONTAP 系統。某些後端設定參數不適用於 ASA r2 系統,如下表所示。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 | ||
---|---|---|---|---|
「分度」 |
永遠為1 |
|||
「torageDriverName」 |
儲存驅動程式名稱 |
|
||
「後端名稱」 |
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
||
《馬納格門達利》 |
叢集或 SVM 管理 LIF 的 IP 位址。 您可以指定完整網域名稱(FQDN)。 如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 如需無縫 MetroCluster 之間的互通性MetroCluster 範例、請參閱。
|
"10.0.0.1 " , "[2001:1234:abcd::fefe] |
||
「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 。
不要指定 ASA r2 系統。 |
" |
||
「限制Aggregateusage」 |
如果使用率高於此百分比、則無法進行資源配置。如果您使用 Amazon FSX for NetApp ONTAP 後端、請勿指定 |
""(預設不強制執行) |
||
《限制Volume大小》 |
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理 LUN 的最大磁碟區大小。 |
"" (預設不會強制執行) |
||
《lunsPerFlexvol》 |
每FlexVol 個LUN的最大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 的要求。
如果指定,則始終設定為 `true`適用於ASA r2 系統。 |
|
||
|
用於選擇 |
|
||
|
用於 *支援 `ontap-san`和 `ontap-san-economy`帶有 iSCSI 協定的驅動程式。 **此外,在使用 iSCSI 和 NVMe/TCP 協定時,支援 ASA r2 系統。 * |
|||
|
在 ONTAP SAN 經濟型後端中使用 LUN 時、可要求的最大 FlexVol 大小。 |
""(預設不強制執行) |
||
|
限制 `ontap-san-economy`後端建立新的 FlexVol 磁碟區以包含其 LUN 。只有預先存在的 FlexVols 可用於佈建新的 PV 。 |
使用 formatOptions 的建議
Trident 建議使用下列選項來加速格式化程序:
*-E nobard : *
-
保留、請勿嘗試在 mkfs 時間捨棄區塊(丟棄區塊一開始在固態裝置和稀疏 / 精簡配置儲存設備上很有用)。這會取代已過時的選項「 -K 」,而且適用於所有檔案系統( xfs , ext3 和 ext4 )。
用於資源配置磁碟區的後端組態選項
您可以使用中的這些選項來控制預設資源配置 defaults
組態區段。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
"paceAllocate(配置)" |
LUN的空間分配 |
"true" 如果指定,則設定為 `true`適用於 ASA r2 系統。 |
《保護區》 |
空間保留模式;「無」(精簡)或「 Volume (大量)」(粗)。設定為 `none`適用於 ASA r2 系統。 |
" 無 " |
「快照原則」 |
要使用的 Snapshot 原則。設定為 `none`適用於 ASA r2 系統。 |
" 無 " |
「qosPolicy」 |
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配 Trident 使用 QoS 原則群組需要 ONTAP 9 8 或更新版本。您應該使用非共用的 QoS 原則群組、並確保個別將原則群組套用至每個成員。共享 QoS 原則群組會強制執行所有工作負載總處理量的上限。 |
" |
《adaptiveQosPolicy》 |
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
" |
「快照保留區」 |
保留給快照的磁碟區百分比。不要為 ASA r2 系統指定。 |
「 0 」如果 |
「PlitOnClone」 |
建立複本時、從其父複本分割複本 |
"假" |
加密 |
在新磁碟區上啟用 NetApp Volume Encryption ( NVE );預設為 |
“false” 如果指定,則設定為 `true`適用於 ASA r2 系統。 |
|
啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。 |
"" 設定為 `false`適用於 ASA r2 系統。 |
「分層政策」 |
分層策略使用「無」 不要為 ASA r2 系統指定。 |
|
|
建立自訂磁碟區名稱的範本。 |
" |
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 是Trident為容納 LUN 元資料而額外添加到FlexVol 的10%。對於 snapshotReserve
= 5%,PVC 請求 = 5 GiB,則總磁碟區大小為 5.79 GiB,可用大小為 5.5 GiB。 `volume show`命令應顯示與此範例類似的結果:

目前、只有調整大小、才能將新計算用於現有的Volume。
最低組態範例
下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。
|
如果您在 NetApp ONTAP 上搭配 Trident 使用 Amazon FSX , NetApp 建議您指定生命體的 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>
MetroCluster 範例
您可以設定後端、避免在切換和切換期間手動更新後端定義 "SVM 複寫與還原"。
若要無縫切換和切換,請使用並省略 svm`參數來指定 SVM `managementLIF
。例如:
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憑證的基礎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
SCSI over FC ( FCP )範例
您必須在 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
名稱範本的後端組態範例
---
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}}"
formatOptions 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 會在「意見」欄位中設定資源配置標籤。在 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"
將後端對應至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 會決定要選取哪個虛擬集區、並確保符合儲存需求。