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

SAN組態選項與範例ONTAP

貢獻者

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

後端組態選項

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

參數 說明 預設

「分度」

永遠為1

「torageDriverName」

儲存驅動程式名稱

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

「後端名稱」

自訂名稱或儲存後端

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

《馬納格門達利》

叢集或 SVM 管理 LIF 的 IP 位址。您可以指定完整網域名稱(FQDN)。如果使用 IPv6 旗標安裝 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 。 Trident 使用"可選擇的LUN對應ONTAP"來探索建立多重路徑工作階段所需的 iSCI 生命。如果明確定義、就會產生警告 dataLIF MetroCluster 省略。 *請參閱[mcc-best]

源自SVM

《虛擬機器》

要使用的儲存虛擬機器

* MetroCluster 請省略。 * 請參閱 [mcc-best]

如果指定SVM "managementLIF"則衍生

《使用CHAP》

使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。設為 true、讓 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

《Aggregate》

用於資源配置的Aggregate(選用;如果已設定、則必須指派給SVM)。對於 `ontap-nas-flexgroup`驅動程式、此選項會被忽略。如果未指派、 任何可用的集合體都可用於佈建 FlexGroup Volume 。

註 在 SVM 中更新 Aggregate 時、它會透過輪詢 SVM 而無需重新啟動 Trident 控制器、在 Trident 中自動更新。當您在 Trident 中設定特定的 Aggregate 以配置 Volume 時、如果將 Aggregate 重新命名或移出 SVM 、則在輪詢 SVM Aggregate 時、後端將會移至 Trident 中的失敗狀態。您必須將 Aggregate 變更為 SVM 上的 Aggregate 、或是將其全部移除、才能使後端重新上線。

"

「限制Aggregateusage」

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

""(預設不強制執行)

《限制Volume大小》

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

"" (預設不會強制執行)

《lunsPerFlexvol》

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

100

「DebugTraceFlags」

疑難排解時要使用的偵錯旗標。例如、 { "api" : false 、 "method" : true}

除非您正在進行疑難排解並需要詳細的記錄傾印、否則請勿使用。

null

《useREST》

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

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

sanType

用於選擇 iscsi iSCSI 、 nvme NVMe / TCP 或 fcp SCSI over Fibre Channel ( FC )。*'FCP ( SCSI over FC )是 Trident 24.10 版本的技術預覽功能。 *

iscsi 如果空白

formatOptions

用於 formatOptions`指定命令的命令列引數、每當格式化磁碟區時都會套用這些引數 `mkfs。這可讓您根據偏好設定來格式化 Volume 。請務必指定與 mkfs 命令選項類似的格式選項、但不包括裝置路徑。範例:「 -E nobard 」

  • ontap-san ontap-san-economy 僅支援和驅動程式。 *

limitVolumePoolSize

在 ONTAP SAN 經濟型後端中使用 LUN 時、可要求的最大 FlexVol 大小。

""(預設不強制執行)

denyNewVolumePools

限制 `ontap-san-economy`後端建立新的 FlexVol 磁碟區以包含其 LUN 。只有預先存在的 FlexVols 可用於佈建新的 PV 。

使用 formatOptions 的建議

Trident 建議使用下列選項來加速格式化程序:

*-E nobard : *

  • 保留、請勿嘗試在 mkfs 時間捨棄區塊(丟棄區塊一開始在固態裝置和稀疏 / 精簡配置儲存設備上很有用)。這會取代已過時的選項「 -K 」、而且適用於所有檔案系統( xfs 、 ext3 和 ext4 )。

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

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

參數 說明 預設

"paceAllocate(配置)"

LUN的空間分配

" 對 "

《保護區》

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

" 無 "

「快照原則」

要使用的Snapshot原則

" 無 "

「qosPolicy」

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

"

《adaptiveQosPolicy》

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

"

「快照保留區」

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

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

「PlitOnClone」

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

"假"

加密

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

"假"

luksEncryption

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

NVMe / TCP 不支援 LUKS 加密。

"

《生態樣式》

新磁碟區的安全樣式

unix

「分層政策」

分層原則以使用「無」

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

nameTemplate

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

"

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、 Trident 會為 FlexVol 額外增加 10% 的容量、以容納 LUN 中繼資料。LUN的配置大小與使用者在PVc中要求的大小完全相同。Trident 將 10% 新增至 FlexVol (在 ONTAP 中顯示為可用大小)。使用者現在可以取得所要求的可用容量。此變更也可防止LUN成為唯讀、除非可用空間已充分利用。這不適用於ONTAP-san經濟型。

對於定義的後端 snapshotReserve, Trident 將按以下方式計算卷的大小:

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

1.1 是額外 10% 的 Trident 新增至 FlexVol 、以容納 LUN 中繼資料。若 snapshotReserve = 5% 、且 PVC 要求 = 5GiB 、則總 Volume 大小為 5.79GiB 、可用大小為 5.5GiB 。 `volume show`命令應顯示類似於此範例的結果:

顯示Volume show命令的輸出。

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

最低組態範例

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

註 如果您在 NetApp ONTAP 上搭配 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 複寫與還原"

若要無縫切換和切換、請使用指定 SVM managementLIF 並省略 dataLIFsvm 參數。例如:

---
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
憑證型驗證範例

在此基本組態範例中 clientCertificateclientPrivateKey`和 `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
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}}"}
formatOptions 範例: <code> ONTAP - San 經濟型 </code> 驅動程式
version: 1
storageDriverName: ontap-san-economy
managementLIF: ''
svm: svm1
username: ''
password: "!"
storagePrefix: whelk_
debugTraceFlags:
  method: true
  api: true
defaults:
  formatOptions: "-E nodiscard"

虛擬集區的後端範例

在這些後端定義檔案範例中、會針對所有儲存池設定特定的預設值、例如 spaceReserve 無、 spaceAllocation 假、和 encryption 錯。虛擬資源池是在儲存區段中定義的。

Trident 會在「意見」欄位中設定資源配置標籤。請在FlexVol The過程中提出意見。Trident 會在資源配置時、將虛擬集區上的所有標籤複製到儲存磁碟區。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。

在這些範例中、有些儲存池是自行設定的 spaceReservespaceAllocation`和 `encryption 值、而某些資源池會覆寫預設值。

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 中的虛擬集區 ontap-san 驅動程式搭配 sanType: nvme。這是唯一的集區服務項目 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"

Trident 會決定要選取哪個虛擬集區、並確保符合儲存需求。