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

列舉NAS組態選項與範例ONTAP

貢獻者

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

後端組態選項

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

參數 說明 預設

version

永遠為1

storageDriverName

儲存驅動程式名稱

「ONTAP-NAS」、「ONTAP-NAS-節約 型」、「ONTAP-NAS-flexgroup」、「ONTAP-SAN」、「ONTAP-san經濟型」

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位址。

我們建議具體說明 dataLIF。如果未提供、Astra Trident會從SVM擷取資料lifs。您可以指定要用於NFS掛載作業的完整網域名稱(FQDN)、讓您建立循環配置資源DNS、以便在多個資料生命期之間達到負載平衡。

可在初始設定之後變更。請參閱 。

如果使用安裝Astra Trident、則可設定使用IPv6位址 --use-ipv6 旗標。IPv6位址必須以方括弧來定義、例如[28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。

指定位址或從SVM衍生(若未指定)(不建議使用)

autoExportPolicy

啟用自動匯出原則建立及更新[布 林值]。

使用 autoExportPolicyautoExportCIDRs 選項:Astra Trident可自動管理匯出原則。

autoExportCIDRs

根據時間篩選Kubernetes節點IP的CIDR清單 autoExportPolicy 已啟用。

使用 autoExportPolicyautoExportCIDRs 選項:Astra Trident可自動管理匯出原則。

[「0.00.0/0」、「:/0」]

labels

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

「」

clientCertificate

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

「」

clientPrivateKey

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

「」

trustedCACertificate

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

「」

username

連線至叢集/ SVM的使用者名稱。用於認證型驗證

password

連線至叢集/ SVM的密碼。用於認證型驗證

svm

要使用的儲存虛擬機器

如果是SVM則衍生 managementLIF 已指定

storagePrefix

在SVM中配置新磁碟區時所使用的前置碼。設定後無法更新

「Trident」

limitAggregateUsage

如果使用率高於此百分比、則無法進行資源配置。

*不適用於Amazon FSX for ONTAP Sfor Sfor *

「」(預設不強制執行)

limitVolumeSize

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

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

limitVolumeSize

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

也會限制其管理的qtree和LUN、以及的磁碟區大小上限 qtreesPerFlexvol 選項可自訂每FlexVol 個支援區的配額樹數上限。

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

lunsPerFlexvol

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

「 100 」

debugTraceFlags

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

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

null

nasType

設定NFS或SMB磁碟區建立。

選項包括 nfssmb 或null。NFS磁碟區的預設值設為null。

nfs

nfsMountOptions

以逗號分隔的NFS掛載選項清單。

Kubernetes持續磁碟區的掛載選項通常會在儲存類別中指定、但如果儲存類別中未指定掛載選項、則Astra Trident會改回使用儲存後端組態檔中指定的掛載選項。

如果儲存類別或組態檔中未指定掛載選項、Astra Trident將不會在相關的持續磁碟區上設定任何掛載選項。

「」

qtreesPerFlexvol

每FlexVol 個邊的最大qtree數、必須在範圍內[50、300]

「 200 」

smbShare

您可以指定下列其中一項:使用 Microsoft 管理主控台或 ONTAP CLI 建立的 SMB 共用名稱;允許 Astra Trident 建立 SMB 共用的名稱;或將參數保留空白以防止共用磁碟區存取。

對於內部部署 ONTAP 、此參數為選用項目。

Amazon FSX 需要此參數才能支援 ONTAP 後端、且不可為空白。

smb-share

useREST

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

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

useREST 不支援MetroCluster 使用支援。

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

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

參數 說明 預設

spaceAllocation

LUN的空間分配

「真的」

spaceReserve

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

「無」

snapshotPolicy

要使用的Snapshot原則

「無」

qosPolicy

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

「」

adaptiveQosPolicy

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

不受ONTAP-NAS-經濟支援。

「」

snapshotReserve

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

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

splitOnClone

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

「假」

encryption

在新磁碟區上啟用NetApp Volume Encryption(NVE);預設為 false。必須在叢集上授權並啟用NVE、才能使用此選項。

如果在後端啟用NAE、則Astra Trident中配置的任何磁碟區都會啟用NAE。

如需詳細資訊、請參閱: "Astra Trident如何與NVE和NAE搭配運作"

「假」

tieringPolicy

分層原則以使用「無」

ONTAP 9.5之前的SVM-DR組態為「純快照」

unixPermissions

新磁碟區的模式

NFS磁碟區為「777」;SMB磁碟區為空白(不適用)

snapshotDir

控制的可見度 .snapshot 目錄

「假」

exportPolicy

要使用的匯出原則

「預設」

securityStyle

新磁碟區的安全樣式。

NFS支援 mixedunix 安全樣式:

SMB 支援 mixedntfs 安全樣式:

NFS預設為 unix

SMB 預設值為 ntfs

註 搭配Astra Trident使用QoS原則群組需要ONTAP 使用更新版本的版本。建議使用非共用的QoS原則群組、並確保原則群組會個別套用至每個組成群組。共享的QoS原則群組將強制所有工作負載的總處理量上限。

Volume資源配置範例

以下是定義預設值的範例:

---
version: 1
storageDriverName: ontap-nas
backendName: customBackendName
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
labels:
  k8scluster: dev1
  backend: dev1-nasbackend
svm: trident_svm
username: cluster-admin
password: <password>
limitAggregateUsage: 80%
limitVolumeSize: 50Gi
nfsMountOptions: nfsvers=4
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: premium
  exportPolicy: myk8scluster
  snapshotPolicy: default
  snapshotReserve: '10'

適用於 ontap-nasontap-nas-flexgroups`Astra Trident現在使用新的計算方法、確保FlexVol 利用snapshotReserve百分比和PVc正確調整尺寸。當使用者要求使用PVCs時、Astra Trident會FlexVol 使用新的計算方式、建立原始的包含更多空間的候選區。此計算可確保使用者在永久虛擬磁碟中獲得所要求的可寫入空間、且空間不得小於所要求的空間。在v21.07之前、當使用者要求使用PVC(例如5GiB)、快照保留區達到50%時、他們只能獲得2.5GiB的可寫入空間。這是因為使用者要求的是整個Volume和 `snapshotReserve 佔此比例。使用Trident 21.07時、使用者要求的是可寫入空間、而Astra Trident定義了 snapshotReserve 數字表示整個Volume的百分比。這不適用於 ontap-nas-economy。請參閱下列範例以瞭解此功能的運作方式:

計算方式如下:

Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)

對於snapshotReserve = 50%、而PVc要求= 5GiB、磁碟區總大小為2/0.5 = 10GiB、可用大小為5GiB、這是使用者在PVC要求中要求的大小。。 volume show 命令應顯示類似以下範例的結果:

顯示Volume show命令的輸出。

在升級Astra Trident時、先前安裝的現有後端會按照上述說明來配置磁碟區。對於在升級之前建立的磁碟區、您應該調整其磁碟區大小、以便觀察變更。例如、採用的2GiB PVC snapshotReserve=50 先前產生的磁碟區提供1GiB的可寫入空間。例如、將磁碟區大小調整為3GiB、可讓應用程式在6 GiB磁碟區上擁有3GiB的可寫入空間。

最低組態範例

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

註 如果您在NetApp ONTAP 支援Trident的NetApp支援上使用Amazon FSX、建議您指定lifs的DNS名稱、而非IP位址。
的最低組態 <code>ontap-nas-economy</code>
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
的最低組態 <code>ontap-nas-flexgroup</code>
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
SMB 磁碟區的最低組態
---
version: 1
backendName: ExampleBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
nasType: smb
securityStyle: ntfs
unixPermissions: ""
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
憑證型驗證

這是最小的後端組態範例。 clientCertificateclientPrivateKey`和 `trustedCACertificate (選用、如果使用信任的CA)會填入 backend.json 並分別取得用戶端憑證、私密金鑰及信任CA憑證的基礎64編碼值。

---
version: 1
backendName: DefaultNASBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.15
svm: nfs_svm
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_
自動匯出原則

本範例說明如何指示Astra Trident使用動態匯出原則來自動建立及管理匯出原則。這對的運作方式相同 ontap-nas-economyontap-nas-flexgroup 驅動程式:

---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-nasbackend
autoExportPolicy: true
autoExportCIDRs:
- 10.0.0.0/24
username: admin
password: password
nfsMountOptions: nfsvers=4
使用IPv6位址

此範例顯示 managementLIF 使用IPv6位址。

---
version: 1
storageDriverName: ontap-nas
backendName: nas_ipv6_backend
managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]"
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-ontap-ipv6
svm: nas_ipv6_svm
username: vsadmin
password: password
使用 SMB Volume 的 Amazon FSX for ONTAP

smbShare 使用 SMB 磁碟區的 ONTAP 需要 FSX 參數。

---
version: 1
backendName: SMBBackend
storageDriverName: ontap-nas
managementLIF: example.mgmt.fqdn.aws.com
nasType: smb
dataLIF: 10.0.0.15
svm: nfs_svm
smbShare: smb-share
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_

虛擬集區的後端範例

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

Astra Trident會在「Comments」欄位中設定資源配置標籤。註解是在的 FlexVol 上設定 ontap-nas 或FlexGroup 支援 ontap-nas-flexgroup。Astra Trident會在資源配置時、將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。

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

ONTAP NAS 範例
---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
svm: svm_nfs
username: admin
password: <password>
nfsMountOptions: nfsvers=4
defaults:
  spaceReserve: none
  encryption: 'false'
  qosPolicy: standard
labels:
  store: nas_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
- labels:
    app: msoffice
    cost: '100'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
    adaptiveQosPolicy: adaptive-premium
- labels:
    app: slack
    cost: '75'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    department: legal
    creditpoints: '5000'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    app: wordpress
    cost: '50'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    app: mysqldb
    cost: '25'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'
ONTAP NAS FlexGroup 範例
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
svm: svm_nfs
username: vsadmin
password: <password>
defaults:
  spaceReserve: none
  encryption: 'false'
labels:
  store: flexgroup_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
- labels:
    protection: gold
    creditpoints: '50000'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    protection: gold
    creditpoints: '30000'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    protection: silver
    creditpoints: '20000'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    protection: bronze
    creditpoints: '10000'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'
ONTAP NAS 經濟效益範例
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
svm: svm_nfs
username: vsadmin
password: <password>
defaults:
  spaceReserve: none
  encryption: 'false'
labels:
  store: nas_economy_store
region: us_east_1
storage:
- labels:
    department: finance
    creditpoints: '6000'
  zone: us_east_1a
  defaults:
    spaceReserve: volume
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    protection: bronze
    creditpoints: '5000'
  zone: us_east_1b
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0755'
- labels:
    department: engineering
    creditpoints: '3000'
  zone: us_east_1c
  defaults:
    spaceReserve: none
    encryption: 'true'
    unixPermissions: '0775'
- labels:
    department: humanresource
    creditpoints: '2000'
  zone: us_east_1d
  defaults:
    spaceReserve: volume
    encryption: 'false'
    unixPermissions: '0775'

將後端對應至StorageClass

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

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

    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-nas-flexgroup 後端:這是唯一提供金級以外保護層級的資源池。

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

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: app-mysqldb
    provisioner: netapp.io/trident
    parameters:
      selector: "app=mysqldb"
      fsType: "ext4"
  • t protection-silver-creditpoints-20k StorageClass 會對應至中的第三個虛擬集區 ontap-nas-flexgroup 後端:這是唯一提供銀級保護和 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-nas 後端和中的第二個虛擬集區 ontap-nas-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將決定選取哪個虛擬集區、並確保符合儲存需求。

更新 dataLIF 初始組態之後

您可以在初始組態後變更資料LIF、方法是執行下列命令、以更新資料LIF提供新的後端Json檔案。

tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
註 如果將PVCS附加至一或多個Pod、您必須關閉所有對應的Pod、然後將其重新啟動、新的資料LIF才會生效。