列舉SAN組態選項與範例ONTAP
瞭解如何在 Astra Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 |
---|---|---|
|
永遠為1 |
|
|
儲存驅動程式名稱 |
|
|
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
|
叢集或 SVM 管理 LIF 的 IP 位址。您可以指定完整網域名稱(FQDN)。如果使用 IPv6 旗標安裝 Astra Trident 、則可以設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 |
「10.0.0.1」、「[2001:1234:abcd:::fefo]」 |
|
傳輸協定LIF的IP位址。* 請勿指定 iSCSI 。 Astra Trident 使用"可選擇的LUN對應ONTAP"來探索建立多重路徑工作階段所需的 iSCI 生命。如果明確定義、就會產生警告 |
源自SVM |
|
儲存虛擬機器使用 * 略過 MetroCluster 。 *請參閱[mcc-best]。 |
如果指定 SVM 則衍生 |
|
使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設為 |
|
|
CHAP啟動器密碼。必要條件 |
" |
|
套用到磁碟區的任意JSON-格式化標籤集 |
" |
|
CHAP目標啟動器機密。必要條件 |
" |
|
傳入使用者名稱。必要條件 |
" |
|
目標使用者名稱。必要條件 |
" |
|
用戶端憑證的Base64編碼值。用於憑證型驗證 |
" |
|
用戶端私密金鑰的Base64編碼值。用於憑證型驗證 |
" |
|
受信任CA憑證的Base64編碼值。選用。用於憑證型驗證。 |
" |
|
與ONTAP 該叢集通訊所需的使用者名稱。用於認證型驗證。 |
" |
|
與ONTAP 該叢集通訊所需的密碼。用於認證型驗證。 |
" |
|
要使用的儲存虛擬機器 |
如果指定 SVM 則衍生 |
|
在SVM中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。 |
|
|
如果使用率高於此百分比、則無法進行資源配置。如果您使用 Amazon FSX for NetApp ONTAP 後端、請勿指定 |
""(預設不強制執行) |
|
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理的qtree和LUN磁碟區大小上限。 |
""(預設不強制執行) |
|
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
|
|
疑難排解時要使用的偵錯旗標。例如、除非您正在進行疑難排解並需要詳細的記錄傾印、否則 { "api" : false 、 "method" : true} 不使用。 |
|
|
使用ONTAP Isrest API的布林參數。 |
|
|
用於選擇 |
`iscsi`如果空白 |
用於資源配置磁碟區的後端組態選項
您可以使用組態區段中的這些選項來控制預設資源配置 defaults
。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
|
LUN的空間分配 |
" 對 " |
|
空間保留模式;「無」(精簡)或「 Volume 」(粗) |
" 無 " |
|
要使用的Snapshot原則 |
" 無 " |
|
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。我們建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。 |
" |
|
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
" |
|
保留給快照的磁碟區百分比 |
如果為「無」、則為「 0 |
|
建立複本時、從其父複本分割複本 |
"假" |
|
在新磁碟區上啟用 NetApp Volume Encryption ( NVE );預設為 |
"假" |
|
啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。NVMe / TCP 不支援 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 額外增加 10% 的容量、以容納 LUN 中繼資料。LUN的配置大小與使用者在PVc中要求的大小完全相同。Astra Trident在FlexVol 整個過程中增加10%的速度(顯示ONTAP 在畫面上可用的尺寸)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。
|
對於定義的後端 snapshotReserve
、 Astra Trident 會依照下列公式計算體積大小:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1是額外10%的Astra Trident加入FlexVol 到the支援LUN中繼資料的功能。若 snapshotReserve
= 5% 、且 PVC 要求 = 5GiB 、則總 Volume 大小為 5.79GiB 、可用大小為 5.5GiB 。 `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 複寫與還原"、以避免在切換後手動更新後端定義、並在期間切換。
若要無縫切換和切換、請使用並省略 dataLIF`和 `svm`參數來指定 SVM `managementLIF
。例如:
--- version: 1 storageDriverName: ontap-san managementLIF: 192.168.1.66 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
名稱範本的後端組態範例
--- 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
、和 `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"
Astra Trident將決定選取哪個虛擬集區、並確保符合儲存需求。