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

SAN組態選項與範例ONTAP

貢獻者

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

後端組態選項

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

參數 說明 預設

version

永遠為1

storageDriverName

儲存驅動程式名稱

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

backendName

自訂名稱或儲存後端

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

managementLIF

叢集或SVM管理LIF的IP位址

若要進行無縫 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

useCHAP

使用CHAP驗證iSCSI以供ONTAP 支援不支援的SAN驅動程式使用[布林值]。

設定為 true 用於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 Sendbackend、請勿指定 limitAggregateUsage。提供的 fsxadminvsadmin 請勿包含擷取Aggregate使用量所需的權限、並使用Astra Trident加以限制。

「」(預設不強制執行)

limitVolumeSize

如果要求的磁碟區大小高於此值、則資源配置失敗。

也會限制其管理的qtree和LUN磁碟區大小上限。

「」(預設不會強制執行)

lunsPerFlexvol

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

100

debugTraceFlags

疑難排解時要使用的偵錯旗標。範例:{"API":假、「方法」:true}

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

null

useREST

使用ONTAP Isrest API的布林參數。技術預覽

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

useREST 不支援MetroCluster 使用支援。

false

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

您可以使用中的這些選項來控制預設資源配置 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)"

"

securityStyle

新磁碟區的安全樣式

unix

tieringPolicy

分層原則以使用「無」

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
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 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>
憑證型驗證範例

在此基本組態範例中 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>

虛擬集區的後端範例

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

Astra Trident會在「Comments」欄位中設定資源配置標籤。請在FlexVol The過程中提出意見。Astra 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'

將後端對應至StorageClass

下列 StorageClass 定義請參閱 虛擬集區的後端範例。使用 parameters.selector 欄位中、每個 StorageClass 都會呼叫哪些虛擬集區可用於主控磁碟區。磁碟區將會在所選的虛擬資源池中定義各個層面。

  • protection-gold StorageClass 會對應至中的第一個虛擬集區 ontap-san 後端:這是唯一提供金級保護的集區。

    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-san 後端:這是唯一提供金級以外保護層級的集區。

    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-san-economy 後端:這是唯一為 mysqldb 類型應用程式提供儲存池組態的集區。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: app-mysqldb
    provisioner: netapp.io/trident
    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: netapp.io/trident
    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: netapp.io/trident
    parameters:
      selector: "creditpoints=5000"
      fsType: "ext4"

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