本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

SAN組態選項與範例ONTAP

貢獻者

瞭解如何透過ONTAP Astra Trident安裝來建立及使用支援NetApp的SAN驅動程式。本節提供後端組態範例、以及如何將後端對應至StorageClass的詳細資料。

後端組態選項

如需後端組態選項、請參閱下表:

參數 說明 預設

「分度」

永遠為1

「torageDriverName」

儲存驅動程式名稱

ontap-nasontap-nas-economyontap-nas-flexgroupontap-sanontap-san-economy

「後端名稱」

自訂名稱或儲存後端

驅動程式名稱+「_」+ dataLIF

《馬納格門達利》

叢集的IP位址或SVM管理LIF若要順暢MetroCluster 切換、您必須指定SVM管理LIF。您可以指定完整網域名稱(FQDN)。如果使用安裝Astra Trident、則可設定使用IPv6位址 --use-ipv6 旗標。IPv6位址必須以方括弧來定義、例如[28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。

「10.0.0.1」、「[2001:1234:abcd:::fefo]」

「DataLIF」

傳輸協定LIF的IP位址。請勿指定iSCSI。 Astra Trident的用途 "可選擇的LUN對應ONTAP" 探索建立多重路徑工作階段所需的iSCI LIF。如果發生此情況、將會產生警告 dataLIF 已明確定義。

源自SVM

《使用CHAP》

使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設定為 true 用於Astra Trident設定及使用雙向CHAP做為後端SVM的預設驗證。請參閱 "準備使用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中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。

trident

「限制Aggregateusage」

如果使用率高於此百分比、則無法進行資源配置。如果您使用Amazon FSX for NetApp ONTAP Sendbackend、請勿指定 limitAggregateUsage。提供的 fsxadminvsadmin 請勿包含擷取Aggregate使用量所需的權限、並使用Astra Trident加以限制。

「」(預設不強制執行)

《限制Volume大小》

如果要求的磁碟區大小高於此值、則資源配置失敗。也會限制其管理的qtree和LUN磁碟區大小上限。

「」(預設不強制執行)

《lunsPerFlexvol》

每FlexVol 個LUN的最大LUN數量、範圍必須在[50、200]

100

「DebugTraceFlags」

疑難排解時要使用的偵錯旗標。例如、除非您正在疑難排解並需要詳細的記錄傾印、否則請勿使用{"API":假、「method」:true}。

null

《useREST》

使用ONTAP Isrest API的布林參數。技術預覽
useREST 以*技術預覽*的形式提供、建議用於測試環境、而非用於正式作業工作負載。設定為時 true、Astra Trident將使用ONTAP 靜止API與後端進行通訊。此功能需要ONTAP 使用更新版本的版本。此外ONTAP 、所使用的登入角色必須能夠存取 ontap 應用程式:這是預先定義的 vsadmincluster-admin 角色:
useREST 不支援MetroCluster 使用支援。

「假」

用於資源配置磁碟區的後端組態選項

您可以使用中的這些選項來控制預設資源配置 defaults 組態區段。如需範例、請參閱下列組態範例。

參數 說明 預設

"paceAllocate(配置)"

LUN的空間分配

「真的」

《保護區》

空間保留模式;「無」(精簡)或「Volume」(完整)

「無」

「快照原則」

要使用的Snapshot原則

「無」

「qosPolicy」

要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。我們建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。

「」

《adaptiveQosPolicy》

要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy

「」

「快照保留區」

保留給快照「0」的磁碟區百分比

如果「快照原則」為「無」、則其他為「」

「PlitOnClone」

建立複本時、從其父複本分割複本

「假」

加密

在新磁碟區上啟用NetApp Volume Encryption(NVE);預設為「假」。必須在叢集上授權並啟用NVE、才能使用此選項。如果在後端啟用NAE、則Astra Trident中配置的任何磁碟區都會啟用NAE。如需詳細資訊、請參閱: "Astra Trident如何與NVE和NAE搭配運作"

「假」

luksEncryption

啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"

"

《生態樣式》

新磁碟區的安全樣式

unix

「分層政策」

分層原則以使用「無」

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'
附註 對於使用「ONTAP-san」驅動程式建立的所有磁碟區、Astra Trident會在FlexVol the支援LUN中繼資料的情況下、為該系統的功能增加10%的容量。LUN的配置大小與使用者在PVc中要求的大小完全相同。Astra Trident在FlexVol 整個過程中增加10%的速度(顯示ONTAP 在畫面上可用的尺寸)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。

對於定義「快照保留區」的後端、Astra Trident會計算磁碟區大小、如下所示:

Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1

1.1是額外10%的Astra Trident加入FlexVol 到the支援LUN中繼資料的功能。對於「快照保留區」= 5%、而PVc要求= 5GiB、磁碟區總大小為5.79GiB、可用大小為5.5GiB。「volume show(Volume show)命令應顯示類似以下範例的結果:

顯示Volume show命令的輸出。

目前、只有調整大小、才能將新計算用於現有的Volume。

最低組態範例

下列範例顯示基本組態、讓大部分參數保留預設值。這是定義後端最簡單的方法。

附註 如果您在NetApp ONTAP 支援Astra Trident的NetApp上使用Amazon FSX、建議您指定lifs的DNS名稱、而非IP位址。

ontap-san 具有憑證型驗證的驅動程式

這是最小的後端組態範例。「clientCertificate」、「clientPrivate Key」和「Trusted CACertifate」(選用、如果使用信任的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會在資源配置時、將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。

在此範例中、有些儲存資源池會設定自己的「資源保留」、「資源配置」和「加密」值、有些資源池會覆寫上述設定的預設值。

---
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'

以下是「ONTAP-san經濟」驅動程式的iSCSI範例:

---
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"