列舉NAS組態選項與範例ONTAP
瞭解如何在 Astra Trident 安裝中建立及使用 ONTAP NAS 驅動程式。本節提供後端組態範例、以及如何將後端對應至StorageClass的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 |
---|---|---|
|
永遠為1 |
|
|
儲存驅動程式名稱 |
「ONTAP-NAS」、「ONTAP-NAS-節約 型」、「ONTAP-NAS-flexgroup」、「ONTAP-SAN」、「ONTAP-san經濟型」 |
|
自訂名稱或儲存後端 |
驅動程式名稱+「_」+ dataLIF |
|
叢集或SVM管理LIF的IP位址 |
「10.0.0.1」、「[2001:1234:abcd:::fefo]」 |
|
傳輸協定LIF的IP位址。 |
指定位址或從SVM衍生(若未指定)(不建議使用) |
|
啟用自動匯出原則建立及更新[布 林值]。 |
錯 |
|
根據時間篩選Kubernetes節點IP的CIDR清單 |
[「0.00.0/0」、「:/0」] |
|
套用到磁碟區的任意JSON-格式化標籤集 |
「」 |
|
用戶端憑證的Base64編碼值。用於憑證型驗證 |
「」 |
|
用戶端私密金鑰的Base64編碼值。用於憑證型驗證 |
「」 |
|
受信任CA憑證的Base64編碼值。選用。用於憑證型驗證 |
「」 |
|
連線至叢集/ SVM的使用者名稱。用於認證型驗證 |
|
|
連線至叢集/ SVM的密碼。用於認證型驗證 |
|
|
要使用的儲存虛擬機器 |
如果是SVM則衍生 |
|
在SVM中配置新磁碟區時所使用的前置碼。設定後無法更新 |
「Trident」 |
|
如果使用率高於此百分比、則無法進行資源配置。 |
「」(預設不強制執行) |
|
如果要求的磁碟區大小高於此值、則資源配置失敗。 |
「」(預設不會強制執行) |
|
如果要求的磁碟區大小高於此值、則資源配置失敗。 |
「」(預設不會強制執行) |
|
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
「 100 」 |
|
疑難排解時要使用的偵錯旗標。範例:{"API":假、「方法」:true} |
null |
|
設定NFS或SMB磁碟區建立。 |
|
|
以逗號分隔的NFS掛載選項清單。 |
「」 |
|
每FlexVol 個邊的最大qtree數、必須在範圍內[50、300] |
「 200 」 |
|
您可以指定下列其中一項:使用 Microsoft 管理主控台或 ONTAP CLI 建立的 SMB 共用名稱;允許 Astra Trident 建立 SMB 共用的名稱;或將參數保留空白以防止共用磁碟區存取。 |
|
|
使用ONTAP Isrest API的布林參數。技術預覽 |
錯 |
用於資源配置磁碟區的後端組態選項
您可以使用中的這些選項來控制預設資源配置 defaults
組態區段。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
|
LUN的空間分配 |
「真的」 |
|
空間保留模式;「無」(精簡)或「Volume」(完整) |
「無」 |
|
要使用的Snapshot原則 |
「無」 |
|
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
「」 |
|
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。 |
「」 |
|
保留給快照「 0 」的磁碟區百分比 |
如果 |
|
建立複本時、從其父複本分割複本 |
「假」 |
|
在新磁碟區上啟用NetApp Volume Encryption(NVE);預設為 |
「假」 |
|
分層原則以使用「無」 |
ONTAP 9.5之前的SVM-DR組態為「純快照」 |
|
新磁碟區的模式 |
NFS磁碟區為「777」;SMB磁碟區為空白(不適用) |
|
控制的可見度 |
「假」 |
|
要使用的匯出原則 |
「預設」 |
|
新磁碟區的安全樣式。 |
NFS預設為 |
|
搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。 |
Volume資源配置範例
以下是定義預設值的範例:
--- version: 1 storageDriverName: ontap-nas backendName: customBackendName managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 labels: k8scluster: dev1 backend: dev1-nasbackend svm: trident_svm username: cluster-admin password: <password> limitAggregateUsage: 80% limitVolumeSize: 50Gi nfsMountOptions: nfsvers=4 debugTraceFlags: api: false method: true defaults: spaceReserve: volume qosPolicy: premium exportPolicy: myk8scluster snapshotPolicy: default snapshotReserve: '10'
適用於 ontap-nas
和 ontap-nas-flexgroups`Astra Trident現在使用新的計算方法、確保FlexVol 利用snapshotReserve百分比和PVc正確調整尺寸。當使用者要求使用PVCs時、Astra Trident會FlexVol 使用新的計算方式、建立原始的包含更多空間的候選區。此計算可確保使用者在永久虛擬磁碟中獲得所要求的可寫入空間、且空間不得小於所要求的空間。在v21.07之前、當使用者要求使用PVC(例如5GiB)、快照保留區達到50%時、他們只能獲得2.5GiB的可寫入空間。這是因為使用者要求的是整個Volume和 `snapshotReserve
佔此比例。使用Trident 21.07時、使用者要求的是可寫入空間、而Astra Trident定義了 snapshotReserve
數字表示整個Volume的百分比。這不適用於 ontap-nas-economy
。請參閱下列範例以瞭解此功能的運作方式:
計算方式如下:
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
對於snapshotReserve = 50%、而PVc要求= 5GiB、磁碟區總大小為2/0.5 = 10GiB、可用大小為5GiB、這是使用者在PVC要求中要求的大小。。 volume show
命令應顯示類似以下範例的結果:
![顯示Volume show命令的輸出。](../media/volume-show-nas.png)
在升級Astra Trident時、先前安裝的現有後端會按照上述說明來配置磁碟區。對於在升級之前建立的磁碟區、您應該調整其磁碟區大小、以便觀察變更。例如、採用的2GiB PVC snapshotReserve=50
先前產生的磁碟區提供1GiB的可寫入空間。例如、將磁碟區大小調整為3GiB、可讓應用程式在6 GiB磁碟區上擁有3GiB的可寫入空間。
最低組態範例
下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。
|
如果您在NetApp ONTAP 支援Trident的NetApp支援上使用Amazon FSX、建議您指定lifs的DNS名稱、而非IP位址。 |
的最低組態 <code>ontap-nas-economy</code>
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
的最低組態 <code>ontap-nas-flexgroup</code>
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
SMB 磁碟區的最低組態
--- version: 1 backendName: ExampleBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 nasType: smb securityStyle: ntfs unixPermissions: "" dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
憑證型驗證
這是最小的後端組態範例。 clientCertificate
、 clientPrivateKey`和 `trustedCACertificate
(選用、如果使用信任的CA)會填入 backend.json
並分別取得用戶端憑證、私密金鑰及信任CA憑證的基礎64編碼值。
--- version: 1 backendName: DefaultNASBackend storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.15 svm: nfs_svm clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
自動匯出原則
本範例說明如何指示Astra Trident使用動態匯出原則來自動建立及管理匯出原則。這對的運作方式相同 ontap-nas-economy
和 ontap-nas-flexgroup
驅動程式:
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs labels: k8scluster: test-cluster-east-1a backend: test1-nasbackend autoExportPolicy: true autoExportCIDRs: - 10.0.0.0/24 username: admin password: password nfsMountOptions: nfsvers=4
使用IPv6位址
此範例顯示 managementLIF
使用IPv6位址。
--- version: 1 storageDriverName: ontap-nas backendName: nas_ipv6_backend managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]" labels: k8scluster: test-cluster-east-1a backend: test1-ontap-ipv6 svm: nas_ipv6_svm username: vsadmin password: password
使用 SMB Volume 的 Amazon FSX for ONTAP
。 smbShare
使用 SMB 磁碟區的 ONTAP 需要 FSX 參數。
--- version: 1 backendName: SMBBackend storageDriverName: ontap-nas managementLIF: example.mgmt.fqdn.aws.com nasType: smb dataLIF: 10.0.0.15 svm: nfs_svm smbShare: smb-share clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz storagePrefix: myPrefix_
虛擬集區的後端範例
在下面顯示的後端定義檔案範例中、會針對所有儲存池設定特定的預設值、例如 spaceReserve
無、 spaceAllocation
假、和 encryption
錯。虛擬資源池是在儲存區段中定義的。
Astra Trident會在「Comments」欄位中設定資源配置標籤。註解是在的 FlexVol 上設定 ontap-nas
或FlexGroup 支援 ontap-nas-flexgroup
。Astra Trident會在資源配置時、將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。
在這些範例中、有些儲存池是自行設定的 spaceReserve
、 spaceAllocation`和 `encryption
值、而某些資源池會覆寫預設值。
ONTAP NAS 範例
--- version: 1 storageDriverName: ontap-nas managementLIF: 10.0.0.1 svm: svm_nfs username: admin password: <password> nfsMountOptions: nfsvers=4 defaults: spaceReserve: none encryption: 'false' qosPolicy: standard labels: store: nas_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: app: msoffice cost: '100' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' adaptiveQosPolicy: adaptive-premium - labels: app: slack cost: '75' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: legal creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: app: wordpress cost: '50' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: app: mysqldb cost: '25' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
ONTAP NAS FlexGroup 範例
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: flexgroup_store k8scluster: prod-cluster-1 region: us_east_1 storage: - labels: protection: gold creditpoints: '50000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: gold creditpoints: '30000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: protection: silver creditpoints: '20000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: protection: bronze creditpoints: '10000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
ONTAP NAS 經濟效益範例
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 svm: svm_nfs username: vsadmin password: <password> defaults: spaceReserve: none encryption: 'false' labels: store: nas_economy_store region: us_east_1 storage: - labels: department: finance creditpoints: '6000' zone: us_east_1a defaults: spaceReserve: volume encryption: 'true' unixPermissions: '0755' - labels: protection: bronze creditpoints: '5000' zone: us_east_1b defaults: spaceReserve: none encryption: 'true' unixPermissions: '0755' - labels: department: engineering creditpoints: '3000' zone: us_east_1c defaults: spaceReserve: none encryption: 'true' unixPermissions: '0775' - labels: department: humanresource creditpoints: '2000' zone: us_east_1d defaults: spaceReserve: volume encryption: 'false' unixPermissions: '0775'
將後端對應至StorageClass
請參閱下列 StorageClass 定義 虛擬集區的後端範例。使用 parameters.selector
欄位中、每個 StorageClass 都會呼叫哪些虛擬集區可用於主控磁碟區。磁碟區將會在所選的虛擬資源池中定義各個層面。
-
。
protection-gold
StorageClass 會對應至中的第一個和第二個虛擬集區ontap-nas-flexgroup
後端:這是唯一提供金級保護的資源池。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4"
-
。
protection-not-gold
StorageClass 會對應至中的第三和第四個虛擬集區ontap-nas-flexgroup
後端:這是唯一提供金級以外保護層級的資源池。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4"
-
。
app-mysqldb
StorageClass 會對應至中的第四個虛擬集區ontap-nas
後端:這是唯一為 mysqldb 類型應用程式提供儲存池組態的集區。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4"
-
t
protection-silver-creditpoints-20k
StorageClass 會對應至中的第三個虛擬集區ontap-nas-flexgroup
後端:這是唯一提供銀級保護和 20000 個信用點數的資源池。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: netapp.io/trident parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4"
-
。
creditpoints-5k
StorageClass 會對應至中的第三個虛擬集區ontap-nas
後端和中的第二個虛擬集區ontap-nas-economy
後端:這是唯一擁有 5000 個信用點數的集區方案。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"
Astra Trident將決定選取哪個虛擬集區、並確保符合儲存需求。
更新 dataLIF
初始組態之後
您可以在初始組態後變更資料LIF、方法是執行下列命令、以更新資料LIF提供新的後端Json檔案。
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
|
如果將PVCS附加至一或多個Pod、您必須關閉所有對應的Pod、然後將其重新啟動、新的資料LIF才會生效。 |