ONTAP SAN-Konfigurationsoptionen und -Beispiele
Erfahren Sie, wie Sie ONTAP-SAN-Treiber mit Ihrer Trident-Installation erstellen und verwenden. Dieser Abschnitt enthält Beispiele und Details zur Back-End-Konfiguration für die Zuordnung von Back-Ends zu StorageClasses.
"ASA R2-Systeme" Die Implementierung der Speicherschicht unterscheidet sich von anderen ONTAP-Systemen (ASA, AFF und FAS). Diese Abweichungen wirken sich auf die Verwendung bestimmter Parameter aus. "Erfahren Sie mehr über die Unterschiede zwischen ASA r2-Systemen und anderen ONTAP-Systemen".
|
Nur die ontap-san Treiber (mit iSCSI- und NVMe/TCP-Protokollen) wird für ASA R2-Systeme unterstützt.
|
In der Trident-Backend-Konfiguration müssen Sie nicht angeben, dass Ihr System ASA r2 ist. Wenn Sie ontap-san
als die storageDriverName
Trident erkennt automatisch das ASA r2- oder das herkömmliche ONTAP-System. Einige Backend-Konfigurationsparameter sind für ASA r2-Systeme nicht anwendbar, wie in der folgenden Tabelle aufgeführt.
Back-End-Konfigurationsoptionen
Die Back-End-Konfigurationsoptionen finden Sie in der folgenden Tabelle:
Parameter | Beschreibung | Standard | ||
---|---|---|---|---|
|
Immer 1 |
|||
|
Name des Speichertreibers |
|
||
|
Benutzerdefinierter Name oder das Storage-Backend |
Treibername + „_“ + DatenLIF |
||
|
Die IP-Adresse einer Cluster- oder SVM-Management-LIF. Es kann ein vollständig qualifizierter Domänenname (FQDN) angegeben werden. Kann so eingestellt werden, dass IPv6-Adressen verwendet werden, wenn Trident mit dem IPv6-Flag installiert wurde. IPv6-Adressen müssen in eckigen Klammern definiert werden, z. B. Informationen über die nahtlose MetroCluster-Umschaltung finden Sie im Beispiel: MetroCluster.
|
„10.0.0.1“, „[2001:1234:abcd::fefe]“ |
||
|
IP-Adresse des LIF-Protokolls. Kann so eingestellt werden, dass IPv6-Adressen verwendet werden, wenn Trident mit dem IPv6-Flag installiert wurde. IPv6-Adressen müssen in eckigen Klammern definiert werden, z. B. |
Abgeleitet von SVM |
||
|
Zu verwendende Storage Virtual Machine |
Abgeleitet wenn eine SVM |
||
|
Verwenden Sie CHAP, um iSCSI für ONTAP-SAN-Treiber zu authentifizieren [Boolesch]. Legen Sie für Trident fest |
|
||
|
CHAP-Initiatorschlüssel. Erforderlich, wenn |
„“ |
||
|
Satz willkürlicher JSON-formatierter Etiketten für Volumes |
„“ |
||
|
Schlüssel für CHAP-Zielinitiator. Erforderlich, wenn |
„“ |
||
|
Eingehender Benutzername. Erforderlich, wenn |
„“ |
||
|
Zielbenutzername. Erforderlich, wenn |
„“ |
||
|
Base64-codierter Wert des Clientzertifikats. Wird für zertifikatbasierte Authentifizierung verwendet |
„“ |
||
|
Base64-kodierte Wert des privaten Client-Schlüssels. Wird für zertifikatbasierte Authentifizierung verwendet |
„“ |
||
|
Base64-kodierte Wert des vertrauenswürdigen CA-Zertifikats. Optional Wird für die zertifikatbasierte Authentifizierung verwendet. |
„“ |
||
|
Benutzername für die Kommunikation mit dem ONTAP Cluster erforderlich. Wird für die Anmeldeinformationsbasierte Authentifizierung verwendet. |
„“ |
||
|
Passwort, das für die Kommunikation mit dem ONTAP Cluster erforderlich ist. Wird für die Anmeldeinformationsbasierte Authentifizierung verwendet. |
„“ |
||
|
Zu verwendende Storage Virtual Machine |
Abgeleitet wenn eine SVM |
||
|
Das Präfix wird beim Bereitstellen neuer Volumes in der SVM verwendet. Kann später nicht mehr geändert werden. Um diesen Parameter zu aktualisieren, müssen Sie ein neues Backend erstellen. |
|
||
|
Aggregat für die Bereitstellung (optional, wenn eingestellt, muss der SVM zugewiesen werden) Für den
Nicht für ASA r2-Systeme angeben. |
„“ |
||
|
Bereitstellung fehlgeschlagen, wenn die Nutzung über diesem Prozentsatz liegt. Wenn Sie ein Amazon FSX für NetApp ONTAP-Backend verwenden, geben Sie nicht an |
„“ (nicht standardmäßig durchgesetzt) |
||
|
Bereitstellung fehlgeschlagen, wenn die angeforderte Volume-Größe über diesem Wert liegt. Beschränkt außerdem die maximale Größe der Volumes, die es für LUNs managt. |
„“ (standardmäßig nicht erzwungen) |
||
|
Die maximale Anzahl an LUNs pro FlexVol muss im Bereich [50, 200] liegen. |
|
||
|
Fehler-Flags bei der Fehlerbehebung beheben. Beispiel, {„API“:false, „method“:true} |
|
||
|
Boolescher Parameter zur Verwendung von ONTAP REST-APIs. `useREST`Bei Einstellung auf `true` , Trident verwendet ONTAP REST APIs zur Kommunikation mit dem Backend; wenn eingestellt auf `false` , Trident verwendet ONTAPI (ZAPI)-Aufrufe zur Kommunikation mit dem Backend. Diese Funktion erfordert ONTAP 9.11.1 und höher. Darüber hinaus muss die verwendete ONTAP Anmelderolle Zugriff auf die `ontapi` Anwendung. Dies wird durch die vordefinierte `vsadmin` Und `cluster-admin` Rollen. Beginnend mit der Trident Version 24.06 und ONTAP 9.15.1 oder höher, `useREST` ist eingestellt auf `true` standardmäßig; ändern `useREST` Zu `false` um ONTAPI (ZAPI)-Aufrufe zu verwenden. `useREST`ist vollständig für NVMe/TCP qualifiziert.
Wenn angegeben, immer auf |
|
||
|
Verwenden Sie diese Option, um für iSCSI, |
|
||
|
Verwenden Sie Unterstützt für |
|||
|
Maximale anforderbare FlexVol-Größe bei Verwendung von LUNs im ONTAP-san-Economy-Backend. |
„“ (nicht standardmäßig durchgesetzt) |
||
|
Schränkt das Erstellen neuer FlexVol Volumes für LUNs ein |
Empfehlungen für die Verwendung von FormatOptions
Trident empfiehlt die folgende Option, um den Formatierungsprozess zu beschleunigen:
-E nodiscard:
-
Beibehalten, versuchen Sie nicht, Blöcke zur mkfs-Zeit zu verwerfen (das Verwerfen von Blöcken ist zunächst auf Solid State-Geräten und selten/Thin Provisioning-Storage nützlich). Dies ersetzt die veraltete Option "-K" und ist auf alle Dateisysteme anwendbar (xfs, ext3 und ext4).
Back-End-Konfigurationsoptionen für die Bereitstellung von Volumes
Sie können die Standardbereitstellung mit diesen Optionen im steuern defaults
Abschnitt der Konfiguration. Ein Beispiel finden Sie unten in den Konfigurationsbeispielen.
Parameter | Beschreibung | Standard |
---|---|---|
|
Speicherplatzzuweisung für LUNs |
"true" Wenn angegeben, setzen auf |
|
Modus für Speicherplatzreservierung; „none“ (Thin) oder „Volume“ (Thick). Eingestellt auf |
„Keine“ |
|
Zu verwendende Snapshot-Richtlinie. Eingestellt auf |
„Keine“ |
|
QoS-Richtliniengruppe zur Zuweisung für erstellte Volumes Wählen Sie eine der qosPolicy oder adaptiveQosPolicy pro Storage Pool/Backend. Für die Verwendung von QoS-Richtliniengruppen mit Trident ist ONTAP 9 8 oder höher erforderlich. Sie sollten eine nicht gemeinsam genutzte QoS-Richtliniengruppe verwenden und sicherstellen, dass die Richtliniengruppe auf jede Komponente einzeln angewendet wird. Eine Shared-QoS-Richtliniengruppe erzwingt die Obergrenze für den Gesamtdurchsatz aller Workloads. |
„“ |
|
Adaptive QoS-Richtliniengruppe mit Zuordnung für erstellte Volumes Wählen Sie eine der qosPolicy oder adaptiveQosPolicy pro Storage Pool/Backend |
„“ |
|
Prozentsatz des für Snapshots reservierten Volumes. Nicht für ASA r2-Systeme angeben. |
„0“ wenn |
|
Teilen Sie einen Klon bei der Erstellung von seinem übergeordneten Objekt auf |
„Falsch“ |
|
Aktivieren Sie NetApp Volume Encryption (NVE) auf dem neuen Volume, Standardeinstellung ist |
"false" Wenn angegeben, setzen auf |
|
Aktivieren Sie die LUKS-Verschlüsselung. Siehe "Linux Unified Key Setup (LUKS) verwenden". |
"" Eingestellt auf |
|
Tiering-Richtlinie zur Verwendung von „keine“ Nicht für ASA R2-Systeme angeben. |
|
|
Vorlage zum Erstellen benutzerdefinierter Volume-Namen. |
„“ |
Beispiele für die Volume-Bereitstellung
Hier ein Beispiel mit definierten Standardwerten:
---
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'
|
Für alle Volumes, die mit dem Treiber erstellt ontap-san wurden, fügt Trident der FlexVol zusätzliche Kapazität von 10 % hinzu, um die LUN-Metadaten aufzunehmen. Die LUN wird genau mit der Größe bereitgestellt, die der Benutzer in der PVC anfordert. Trident addiert 10 Prozent zum FlexVol (wird als verfügbare Größe in ONTAP angezeigt). Benutzer erhalten jetzt die Menge an nutzbarer Kapazität, die sie angefordert haben. Diese Änderung verhindert auch, dass LUNs schreibgeschützt werden, sofern der verfügbare Speicherplatz nicht vollständig genutzt wird. Dies gilt nicht für die Wirtschaft von ontap-san.
|
Für Back-Ends, die definieren snapshotReserve
, berechnet Trident die Größe der Volumes wie folgt:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
Die 1.1 sind die zusätzlichen 10 Prozent, die Trident zum FlexVol hinzufügt, um die LUN-Metadaten unterzubringen. Für snapshotReserve
= 5 % und PVC-Anforderung = 5 GiB, die Gesamtgröße des Volumes beträgt 5,79 GiB und die verfügbare Größe beträgt 5,5 GiB. Die volume show
Der Befehl sollte ähnliche Ergebnisse wie in diesem Beispiel anzeigen:

Die Größenanpassung ist derzeit die einzige Möglichkeit, die neue Berechnung für ein vorhandenes Volume zu verwenden.
Minimale Konfigurationsbeispiele
Die folgenden Beispiele zeigen grundlegende Konfigurationen, bei denen die meisten Parameter standardmäßig belassen werden. Dies ist der einfachste Weg, ein Backend zu definieren.
|
Wenn Sie Amazon FSX auf NetApp ONTAP mit Trident verwenden, empfiehlt NetApp, dass Sie DNS-Namen für LIFs anstelle von IP-Adressen angeben. |
Beispiel: ONTAP SAN
Dies ist eine grundlegende Konfiguration mit dem ontap-san
Treiber.
---
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>
Beispiel: MetroCluster
Sie können das Backend so konfigurieren, dass die Backend-Definition nach Umschaltung und einem Wechsel während nicht manuell aktualisiert werden muss "SVM-Replizierung und Recovery".
Geben Sie für ein nahtloses Switchover und Switchback die SVM mit an managementLIF
und lassen Sie die Parameter weg svm
. Beispiel:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
Beispiel für die SAN-Ökonomie von ONTAP
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
Beispiel für die zertifikatbasierte Authentifizierung
In diesem Beispiel der Grundkonfiguration clientCertificate
, clientPrivateKey
, und trustedCACertificate
(Optional, wenn Sie eine vertrauenswürdige CA verwenden) werden ausgefüllt backend.json
Und nehmen Sie die base64-kodierten Werte des Clientzertifikats, des privaten Schlüssels und des vertrauenswürdigen CA-Zertifikats.
---
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
Beispiele für bidirektionales CHAP
Diese Beispiele erstellen ein Backend mit useCHAP
Auf einstellen 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
username: vsadmin
password: <password>
---
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>
Beispiel für NVMe/TCP
Sie müssen eine SVM auf Ihrem ONTAP Back-End mit NVMe konfiguriert haben. Dies ist eine grundlegende Backend-Konfiguration für 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
Beispiel für SCSI over FC (FCP
Auf Ihrem ONTAP-Back-End muss eine SVM mit FC konfiguriert sein. Dies ist eine grundlegende Back-End-Konfiguration für FC.
---
version: 1
backendName: fcp-backend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_fc
username: vsadmin
password: password
sanType: fcp
useREST: true
Back-End-Konfigurationsbeispiel mit nameTemplate
---
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}}_{{.vo\
lume.RequestName}}"
labels:
cluster: ClusterA
PVC: "{{.volume.Namespace}}_{{.volume.RequestName}}"
FormatOptions Beispiel für ONTAP-san-Economy-Treiber
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
method: true
api: true
defaults:
formatOptions: -E nodiscard
Beispiele für Back-Ends mit virtuellen Pools
In diesen Beispiel-Back-End-Definitionsdateien werden spezifische Standardwerte für alle Speicherpools festgelegt, z. B. spaceReserve
Bei keiner, spaceAllocation
Bei false, und encryption
Bei false. Die virtuellen Pools werden im Abschnitt Speicher definiert.
Trident legt die Bereitstellungsetiketten im Feld „Kommentare“ fest. Kommentare werden auf die FlexVol volume Trident-Kopien aller Labels, die auf einem virtuellen Pool auf das Speicher-Volume bei der Bereitstellung. Storage-Administratoren können Labels je virtuellen Pool definieren und Volumes nach Label gruppieren.
In diesen Beispielen legen einige Speicherpools eigene fest spaceReserve
, spaceAllocation
, und encryption
Werte und einige Pools überschreiben die Standardwerte.
Beispiel: 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"
Beispiel für die SAN-Ökonomie von ONTAP
---
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"
Beispiel für 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"
Back-Ends StorageClasses zuordnen
Die folgenden StorageClass-Definitionen finden Sie im Beispiele für Back-Ends mit virtuellen Pools. Verwenden der parameters.selector
Jede StorageClass ruft auf, welche virtuellen Pools zum Hosten eines Volumes verwendet werden können. Auf dem Volume werden die Aspekte im ausgewählten virtuellen Pool definiert.
-
Der
protection-gold
StorageClass wird dem ersten virtuellen Pool in zugeordnetontap-san
Back-End: Dies ist der einzige Pool mit Gold-Level-Schutz.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4"
-
Der
protection-not-gold
StorageClass wird dem zweiten und dritten virtuellen Pool in zugeordnetontap-san
Back-End: Dies sind die einzigen Pools, die ein anderes Schutzniveau als Gold bieten.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4"
-
Der
app-mysqldb
StorageClass wird dem dritten virtuellen Pool in zugeordnetontap-san-economy
Back-End: Dies ist der einzige Pool, der Storage-Pool-Konfiguration für die mysqldb-App bietet.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4"
-
Der
protection-silver-creditpoints-20k
StorageClass wird dem zweiten virtuellen Pool in zugeordnetontap-san
Back-End: Dies ist der einzige Pool mit Silber-Level-Schutz und 20000 Kreditpunkte.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"
-
Der
creditpoints-5k
StorageClass wird dem dritten virtuellen Pool in zugeordnetontap-san
Back-End und der vierte virtuelle Pool imontap-san-economy
Back-End: Dies sind die einzigen Poolangebote mit 5000 Kreditpunkten.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4"
-
Der
my-test-app-sc
StorageClass wird dem zugeordnettestAPP
Virtueller Pool imontap-san
Treiber mitsanType: nvme
. Dies ist das einzige PoolangebottestApp
.--- 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 entscheidet, welcher virtuelle Pool ausgewählt wird, und stellt sicher, dass die Speicheranforderungen erfüllt werden.