SAN組態選項與範例ONTAP
瞭解如何透過ONTAP Astra Trident安裝來建立及使用支援NetApp的SAN驅動程式。本節提供後端組態範例、以及如何將後端對應至StorageClass的詳細資料。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 |
---|---|---|
|
永遠為1 |
|
|
儲存驅動程式名稱 |
「ONTAP-NAS」、「ONTAP-NAS-節約 型」、「ONTAP-NAS-flexgroup」、「ONTAP-SAN」、「ONTAP-san經濟型」 |
|
自訂名稱或儲存後端 |
驅動程式名稱+「_」+ dataLIF |
|
叢集的IP位址或SVM管理LIF若要順暢MetroCluster 切換、您必須指定SVM管理LIF。您可以指定完整網域名稱(FQDN)。如果使用安裝Astra Trident、則可設定使用IPv6位址 |
「10.0.0.1」、「[2001:1234:abcd:::fefo]」 |
|
傳輸協定LIF的IP位址。請勿指定iSCSI。 Astra Trident的用途 "可選擇的LUN對應ONTAP" 探索建立多重路徑工作階段所需的iSCI LIF。如果發生此情況、將會產生警告 |
源自SVM |
|
使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設定為 |
錯 |
|
CHAP啟動器密碼。必要條件 |
「」 |
|
套用到磁碟區的任意JSON-格式化標籤集 |
「」 |
|
CHAP目標啟動器機密。必要條件 |
「」 |
|
傳入使用者名稱。必要條件 |
「」 |
|
目標使用者名稱。必要條件 |
「」 |
|
用戶端憑證的Base64編碼值。用於憑證型驗證 |
「」 |
|
用戶端私密金鑰的Base64編碼值。用於憑證型驗證 |
「」 |
|
受信任CA憑證的Base64編碼值。選用。用於憑證型驗證。 |
「」 |
|
與ONTAP 該叢集通訊所需的使用者名稱。用於認證型驗證。 |
「」 |
|
與ONTAP 該叢集通訊所需的密碼。用於認證型驗證。 |
「」 |
|
要使用的儲存虛擬機器 |
如果是SVM則衍生 |
|
要使用之SAN磁碟區的igroup名稱。請參閱 以取得更多資訊。 |
「Trident -<後端-UUID>」 |
|
在SVM中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。 |
「Trident」 |
|
如果使用率高於此百分比、則無法進行資源配置。如果您使用Amazon FSX for NetApp ONTAP Sendbackend、請勿指定 |
「」(預設不強制執行) |
|
如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理的qtree和LUN磁碟區大小上限。 |
「」(預設不強制執行) |
|
每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200] |
「100」 |
|
疑難排解時要使用的偵錯旗標。例如、除非您正在疑難排解並需要詳細的記錄傾印、否則請勿使用{"API":假、「method」:true}。 |
null |
|
使用ONTAP Isrest API的布林參數。技術預覽 |
錯 |
詳細資料 igroupName
igroupName
可設定為ONTAP 已在叢集上建立的igroup。如果未指定、Astra Trident會自動建立名為的igroup trident-<backend-UUID>
。
如果提供預先定義的igroupName、我們建議每個Kubernetes叢集使用一個igroup、如果要在不同環境之間共用SVM。這是Astra Trident自動維護IQN新增與刪除作業所必需的。
-
igroupName
可更新以指向在Astra Trident以外的SVM上建立及管理的新igroup。 -
igroupName
可省略。在此案例中、Astra Trident將建立並管理名為的igrouptrident-<backend-UUID>
自動:
在這兩種情況下、仍可繼續存取Volume附件。未來的Volume附件將使用更新的igroup。此更新不會中斷對後端磁碟區的存取。
用於資源配置磁碟區的後端組態選項
您可以使用中的這些選項來控制預設資源配置 defaults
組態區段。如需範例、請參閱下列組態範例。
參數 | 說明 | 預設 |
---|---|---|
|
LUN的空間分配 |
「真的」 |
|
空間保留模式;「無」(精簡)或「Volume」(完整) |
「無」 |
|
要使用的Snapshot原則 |
「無」 |
|
要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。我們建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。 |
「」 |
|
要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy |
「」 |
|
保留給快照「0」的磁碟區百分比 |
如果 |
|
建立複本時、從其父複本分割複本 |
「假」 |
|
在新磁碟區上啟用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 igroupName: custom debugTraceFlags: api: false method: true defaults: spaceReserve: volume qosPolicy: standard spaceAllocation: 'false' snapshotPolicy: default snapshotReserve: '10'
針對使用建立的所有Volume ontap-san 驅動程式Astra Trident在FlexVol 支援LUN中繼資料的過程中、額外增加10%的容量。LUN的配置大小與使用者在PVc中要求的大小完全相同。Astra Trident在FlexVol 整個過程中增加10%的速度(顯示ONTAP 在畫面上可用的尺寸)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。
|
用於定義的後端 snapshotReserve
、Astra Trident會依照下列方式計算Volume大小:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1是額外10%的Astra Trident加入FlexVol 到the支援LUN中繼資料的功能。適用於 snapshotReserve
= 5%、而PVC要求= 5GiB、磁碟區總大小為5.79GiB、可用大小為5.5GiB。。 volume show
命令應顯示類似以下範例的結果:
目前、只有調整大小、才能將新計算用於現有的Volume。
最低組態範例
下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。
如果您在NetApp ONTAP 支援Astra Trident的NetApp上使用Amazon FSX、建議您指定lifs的DNS名稱、而非IP位址。 |
ontap-san
具有憑證型驗證的驅動程式
這是最小的後端組態範例。 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 igroupName: trident clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
ontap-san
使用雙向CHAP的驅動程式
這是最小的後端組態範例。此基本組態會建立 ontap-san
後端 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 igroupName: trident username: vsadmin password: password
ontap-san-economy
驅動程式
--- 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 igroupName: trident username: vsadmin password: password
虛擬集區的後端範例
在下圖所示的範例後端定義檔案中、會針對所有儲存資源池設定特定的預設值、例如 spaceReserve
無、 spaceAllocation
假、和 encryption
錯。虛擬資源池是在儲存區段中定義的。
Astra Trident會在「Comments」欄位中設定資源配置標籤。請在FlexVol The過程中提出意見。Astra Trident會在資源配置時、將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。
在此範例中、有些儲存資源池會自行設定 spaceReserve
、 spaceAllocation`和 `encryption
值、部分集區會覆寫上述設定的預設值。
--- version: 1 storageDriverName: ontap-san managementLIF: 10.0.0.1 svm: svm_iscsi useCHAP: true chapInitiatorSecret: cl9qxIm36DKyawxy chapTargetInitiatorSecret: rqxigXgkesIpwxyz chapTargetUsername: iJF4heBRT0TCwxyz chapUsername: uh2aNCLSd6cNwxyz igroupName: trident 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'
以下是的iSCSI範例 ontap-san-economy
驅動程式:
--- 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 igroupName: trident 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'
將後端對應至StorageClass
下列StorageClass定義是指上述虛擬資源池。使用 parameters.selector
欄位中、每個StorageClass會呼叫哪些虛擬資源池可用於裝載Volume。磁碟區將會在所選的虛擬資源池中定義各個層面。
-
第一個StorageClass (
protection-gold
)將對應至中的第一個、第二個虛擬集區ontap-nas-flexgroup
後端和中的第一個虛擬集區ontap-san
後端:這是唯一提供金級保護的資源池。 -
第二個StorageClass (
protection-not-gold
)將對應至中的第三、第四個虛擬集區ontap-nas-flexgroup
中的後端和第二個、第三個虛擬集區ontap-san
後端:這是唯一提供金級以外保護層級的資源池。 -
第三個StorageClass (
app-mysqldb
)將對應至中的第四個虛擬資源池ontap-nas
中的後端和第三個虛擬集區ontap-san-economy
後端:這些是唯一提供mysqldb類型應用程式儲存池組態的集區。 -
第四個StorageClass (
protection-silver-creditpoints-20k
)將對應至中的第三個虛擬集區ontap-nas-flexgroup
中的後端和第二個虛擬集區ontap-san
後端:這些資源池是唯一能以20000個信用點數提供金級保護的資源池。 -
第五個StorageClass (
creditpoints-5k
)將對應至中的第二個虛擬資源池ontap-nas-economy
中的後端和第三個虛擬集區ontap-san
後端:這些是唯一提供5000個信用點數的資源池產品。
Astra Trident將決定選取哪個虛擬集區、並確保符合儲存需求。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4" --- 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" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"