列舉SAN組態選項與範例ONTAP
瞭解如何在 Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 | ||
---|---|---|---|---|
|
永遠為1 |
|||
|
儲存驅動程式名稱 |
|
||
|
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
||
|
叢集或 SVM 管理 LIF 的 IP 位址。 您可以指定完整網域名稱(FQDN)。 如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 如需無縫 MetroCluster 之間的互通性MetroCluster 範例、請參閱。
|
"10.0.0.1 " , "[2001:1234:abcd::fefe] |
||
|
傳輸協定LIF的IP位址。如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 |
源自SVM |
||
|
儲存虛擬機器使用 * 略過 MetroCluster 。 *請參閱MetroCluster 範例。 |
如果指定 SVM 則衍生 |
||
|
使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設為 |
|
||
|
CHAP啟動器密碼。必要條件 |
" |
||
|
套用到磁碟區的任意JSON-格式化標籤集 |
" |
||
|
CHAP目標啟動器機密。必要條件 |
" |
||
|
傳入使用者名稱。必要條件 |
" |
||
|
目標使用者名稱。必要條件 |
" |
||
|
用戶端憑證的Base64編碼值。用於憑證型驗證 |
" |
||
|
用戶端私密金鑰的Base64編碼值。用於憑證型驗證 |
" |
||
|
受信任CA憑證的Base64編碼值。選用。用於憑證型驗證。 |
" |
||
|
與ONTAP 該叢集通訊所需的使用者名稱。用於認證型驗證。 |
" |
||
|
與ONTAP 該叢集通訊所需的密碼。用於認證型驗證。 |
" |
||
|
要使用的儲存虛擬機器 |
如果指定 SVM 則衍生 |
||
|
在SVM中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。 |
|
||
|
用於資源配置的Aggregate(選用;如果已設定、則必須指派給SVM)。對於 `ontap-nas-flexgroup`驅動程式、此選項會被忽略。如果未指派、 任何可用的集合體都可用於佈建 FlexGroup Volume 。
|
" |
||
|
如果使用率高於此百分比、則無法進行資源配置。如果您使用 Amazon FSX for NetApp ONTAP 後端、請勿指定 |
""(預設不強制執行) |
||
|
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理 LUN 的最大磁碟區大小。 |
""(預設不強制執行) |
||
|
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
|
||
|
疑難排解時要使用的偵錯旗標。例如、除非您正在進行疑難排解並需要詳細的記錄傾印、否則 { "api" : false 、 "method" : true} 不使用。 |
|
||
|
使用ONTAP Isrest API的布林參數。 |
|
||
|
用於選擇 |
`iscsi`如果空白 |
||
|
用於
|
|||
|
在 ONTAP SAN 經濟型後端中使用 LUN 時、可要求的最大 FlexVol 大小。 |
""(預設不強制執行) |
||
|
限制 `ontap-san-economy`後端建立新的 FlexVol 磁碟區以包含其 LUN 。只有預先存在的 FlexVols 可用於佈建新的 PV 。 |
使用 formatOptions 的建議
Trident 建議使用下列選項來加速格式化程序:
*-E nobard : *
-
保留、請勿嘗試在 mkfs 時間捨棄區塊(丟棄區塊一開始在固態裝置和稀疏 / 精簡配置儲存設備上很有用)。這會取代已過時的選項「 -K 」,而且適用於所有檔案系統( xfs , ext3 和 ext4 )。
用於資源配置磁碟區的後端組態選項
您可以使用組態區段中的這些選項來控制預設資源配置 defaults
。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
|
LUN的空間分配 |
"true" * 如果指定,則將 ASA R2* 的設置爲 |
|
空間保留模式;「無」(精簡)或「 Volume (大量)」(粗)。* 針對 ASA R2* 設為 |
" 無 " |
|
要使用的 Snapshot 原則。* 針對 ASA R2* 設為 |
" 無 " |
|
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配 Trident 使用 QoS 原則群組需要 ONTAP 9 8 或更新版本。您應該使用非共用的 QoS 原則群組、並確保個別將原則群組套用至每個成員。共享 QoS 原則群組會強制執行所有工作負載總處理量的上限。 |
" |
|
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
" |
|
保留給快照的磁碟區百分比。* 請勿指定 ASA R2* 。 |
如果為「無」、則為「 0 |
|
建立複本時、從其父複本分割複本 |
"假" |
|
在新磁碟區上啟用 NetApp Volume Encryption ( NVE );預設為 |
"false" * 如果指定,請針對 ASA R2* 將其設為 |
|
啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。 |
針對 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 是額外 10% 的 Trident 新增至 FlexVol 、以容納 LUN 中繼資料。若 snapshotReserve
= 5% 、且 PVC 要求 = 5GiB 、則總 Volume 大小為 5.79GiB 、可用大小為 5.5GiB 。 `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 憑證的 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
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
、和 `encryption`值、 `spaceAllocation`有些資源池則會覆寫預設值。
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`驅動程序 `sanType: nvme`中的虛擬池 `ontap-san
。這是唯一提供的資源池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 會決定要選取哪個虛擬集區、並確保符合儲存需求。