Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

列舉SAN組態選項與範例ONTAP

貢獻者

瞭解如何在 Astra Trident 安裝中建立及使用 ONTAP SAN 驅動程式。本節提供後端組態範例及將後端對應至 StorageClasses 的詳細資料。

後端組態選項

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

參數 說明 預設

version

永遠為1

storageDriverName

儲存驅動程式名稱

ontap-nas、、 ontap-nas-economy ontap-nas-flexgroup ontap-sanontap-san-economy

backendName

自訂名稱或儲存後端

驅動程式名稱 + "_" + dataLIF

managementLIF

叢集或 SVM 管理 LIF 的 IP 位址。您可以指定完整網域名稱(FQDN)。如果使用 IPv6 旗標安裝 Astra Trident 、則可以設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。如需無縫 MetroCluster 之間的互通性[mcc-best]、請參閱。

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

dataLIF

傳輸協定LIF的IP位址。* 請勿指定 iSCSI 。 Astra Trident 使用"可選擇的LUN對應ONTAP"來探索建立多重路徑工作階段所需的 iSCI 生命。如果明確定義、就會產生警告 dataLIF MetroCluster 省略。 *請參閱[mcc-best]

源自SVM

svm

儲存虛擬機器使用 * 略過 MetroCluster 。 *請參閱[mcc-best]

如果指定 SVM 則衍生 managementLIF

useCHAP

使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設為 true for Astra Trident 、以設定和使用雙向 CHAP 做為後端所指定 SVM 的預設驗證。如 "準備使用ONTAP 不完善的SAN驅動程式來設定後端" 需詳細資訊、請參閱。

false

chapInitiatorSecret

CHAP啟動器密碼。必要條件 useCHAP=true

"

labels

套用到磁碟區的任意JSON-格式化標籤集

"

chapTargetInitiatorSecret

CHAP目標啟動器機密。必要條件 useCHAP=true

"

chapUsername

傳入使用者名稱。必要條件 useCHAP=true

"

chapTargetUsername

目標使用者名稱。必要條件 useCHAP=true

"

clientCertificate

用戶端憑證的Base64編碼值。用於憑證型驗證

"

clientPrivateKey

用戶端私密金鑰的Base64編碼值。用於憑證型驗證

"

trustedCACertificate

受信任CA憑證的Base64編碼值。選用。用於憑證型驗證。

"

username

與ONTAP 該叢集通訊所需的使用者名稱。用於認證型驗證。

"

password

與ONTAP 該叢集通訊所需的密碼。用於認證型驗證。

"

svm

要使用的儲存虛擬機器

如果指定 SVM 則衍生 managementLIF

storagePrefix

在SVM中配置新磁碟區時所使用的前置碼。稍後無法修改。若要更新此參數、您需要建立新的後端。

trident

limitAggregateUsage

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

""(預設不強制執行)

limitVolumeSize

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

""(預設不強制執行)

lunsPerFlexvol

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

100

debugTraceFlags

疑難排解時要使用的偵錯旗標。例如、除非您正在進行疑難排解並需要詳細的記錄傾印、否則 { "api" : false 、 "method" : true} 不使用。

null

useREST

使用ONTAP Isrest API的布林參數。
useREST 設為 true`時、 Astra Trident 將使用 ONTAP REST API 與後端通訊;設為 `false`時、 Astra Trident 將使用 ONTAP ZAPI 呼叫與後端通訊。此功能需要ONTAP 使用更新版本的版本。此外、使用的 ONTAP 登入角色必須具有應用程式存取權 `ontap 。這是預先定義的和角色所滿足 vsadmin cluster-admin 的。從 Astra Trident 24.06 版本開始、 ONTAP 9.15.1 或更新版本 userREST 預設為 true ;變更
useRESTfalse 使用 ONTAP ZAPI 呼叫。
useREST 完全符合 NVMe / TCP 的資格。

true 對於 ONTAP 9.15.1 或更高版本,否則 false

sanType

用於選擇 iscsi iSCSI 或 nvme NVMe / TCP 。

`iscsi`如果空白

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

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

參數 說明 預設

spaceAllocation

LUN的空間分配

" 對 "

spaceReserve

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

" 無 "

snapshotPolicy

要使用的Snapshot原則

" 無 "

qosPolicy

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

"

adaptiveQosPolicy

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

"

snapshotReserve

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

如果為「無」、則為「 0 snapshotPolicy 」、否則為「」

splitOnClone

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

"假"

encryption

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

"假"

luksEncryption

啟用LUKS加密。請參閱 "使用Linux統一金鑰設定(LUKS)"。NVMe / TCP 不支援 LUKS 加密。

"

securityStyle

新磁碟區的安全樣式

unix

tieringPolicy

分層原則以使用「無」

「僅限快照」適用於 ONTAP 9.5 之前的 SVM-DR 組態

nameTemplate

建立自訂磁碟區名稱的範本。

"

limitVolumePoolSize

在 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 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>
  1. 範例

您可以設定後端"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

ONTAP SAN CHAP 範例
---
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>
ONTAP SAN 經濟 CHAP 範例
---
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將決定選取哪個虛擬集區、並確保符合儲存需求。