ONTAP NAS-Konfigurationsoptionen und -Beispiele
Lernen Sie, wie Sie ONTAP NAS-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.
Back-End-Konfigurationsoptionen
Die Back-End-Konfigurationsoptionen finden Sie in der folgenden Tabelle:
Parameter | Beschreibung | Standard | ||
---|---|---|---|---|
|
Immer 1 |
|||
|
Name des Speichertreibers |
„ontap-nas“, „ontap-nas-Economy“, „ontap-nas-flexgroup“, „ontap-san“, „ontap-san-Economy“ |
||
|
Benutzerdefinierter Name oder das Storage-Backend |
Treibername + „_“ + DatenLIF |
||
|
IP-Adresse eines Clusters oder einer SVM-Management-LIF Ein vollständig qualifizierter Domain-Name (FQDN) kann 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. |
„10.0.0.1“, „[2001:1234:abcd::fefe]“ |
||
|
IP-Adresse des LIF-Protokolls. Wir empfehlen die Angabe |
Angegebene Adresse oder abgeleitet von SVM, falls nicht angegeben (nicht empfohlen) |
||
|
Zu verwendende Storage Virtual Machine |
Abgeleitet wenn eine SVM |
||
|
Aktivieren Sie die automatische Erstellung von Exportrichtlinien und aktualisieren Sie [Boolean]. Mithilfe der |
Falsch |
||
|
Liste der CIDRs, nach denen die Node-IPs von Kubernetes gegen gefiltert werden sollen, wenn |
[„0.0.0.0/0“, „:/0“]` |
||
|
Satz willkürlicher JSON-formatierter Etiketten für Volumes |
„“ |
||
|
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 zertifikatbasierte Authentifizierung verwendet |
„“ |
||
|
Benutzername für die Verbindung mit dem Cluster/SVM. Wird für Anmeldeinformationsbasierte verwendet |
|||
|
Passwort für die Verbindung mit dem Cluster/SVM Wird für Anmeldeinformationsbasierte verwendet |
|||
|
Das Präfix wird beim Bereitstellen neuer Volumes in der SVM verwendet. Kann nicht aktualisiert werden, nachdem Sie sie festgelegt haben
|
trident |
||
|
Aggregat für die Bereitstellung (optional, wenn eingestellt, muss der SVM zugewiesen werden) Für den
|
„“ |
||
|
Bereitstellung fehlgeschlagen, wenn die Nutzung über diesem Prozentsatz liegt. Gilt nicht für Amazon FSX für ONTAP |
„“ (nicht standardmäßig durchgesetzt) |
||
FlexgroupAggregateList |
Liste der Aggregate für die Bereitstellung (optional, muss dieser SVM zugewiesen werden, falls festgelegt) Zur Bereitstellung eines FlexGroup Volumes werden alle der SVM zugewiesenen Aggregate verwendet. Unterstützt für den ONTAP-nas-FlexGroup-Speichertreiber.
|
„“ |
||
|
Bereitstellung fehlgeschlagen, wenn die angeforderte Volume-Größe über diesem Wert liegt. Beschränkt darüber hinaus die maximale Größe der Volumes, die es für qtrees managt, und |
„“ (standardmäßig nicht erzwungen) |
||
|
Fehler-Flags bei der Fehlerbehebung beheben. Beispiel, {„API“:false, „method“:true} |
Null |
||
|
Konfiguration der Erstellung von NFS- oder SMB-Volumes Die Optionen lauten |
|
||
|
Kommagetrennte Liste von NFS-Mount-Optionen. Die Mount-Optionen für persistente Kubernetes-Volumes werden normalerweise in Storage-Klassen angegeben. Wenn jedoch keine Mount-Optionen in einer Storage-Klasse angegeben sind, verwendet Trident die Mount-Optionen, die in der Konfigurationsdatei des Storage-Backends angegeben sind. Wenn in der Storage-Klasse oder in der Konfigurationsdatei keine Mount-Optionen angegeben sind, legt Trident keine Mount-Optionen auf einem zugeordneten persistenten Volume fest. |
„“ |
||
|
Maximale Ques pro FlexVol, muss im Bereich [50, 300] liegen |
„200“ |
||
|
Sie können eine der folgenden Optionen angeben: Den Namen einer SMB-Freigabe, die mit der Microsoft Verwaltungskonsole oder der ONTAP-CLI erstellt wurde, einen Namen, über den Trident die SMB-Freigabe erstellen kann, oder Sie können den Parameter leer lassen, um den Zugriff auf gemeinsame Freigaben auf Volumes zu verhindern. Dieser Parameter ist für On-Premises-ONTAP optional. Dieser Parameter ist für Amazon FSX for ONTAP-Back-Ends erforderlich und darf nicht leer sein. |
|
||
|
Boolescher Parameter zur Verwendung von ONTAP REST-APIs. |
|
||
|
Maximale anforderbare FlexVol-Größe bei Verwendung von Qtrees im ONTAP-nas-Economy Backend. |
„“ (nicht standardmäßig durchgesetzt) |
||
|
Schränkt das |
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 |
---|---|---|
|
Platzzuweisung für Qtrees |
„Wahr“ |
|
Modus für Speicherplatzreservierung; „none“ (Thin) oder „Volume“ (Thick) |
„Keine“ |
|
Die Snapshot-Richtlinie zu verwenden |
„Keine“ |
|
QoS-Richtliniengruppe zur Zuweisung für erstellte Volumes Wählen Sie eine der qosPolicy oder adaptiveQosPolicy pro Storage Pool/Backend |
„“ |
|
Adaptive QoS-Richtliniengruppe mit Zuordnung für erstellte Volumes Wählen Sie eine der qosPolicy oder adaptiveQosPolicy pro Storage Pool/Backend. Nicht unterstützt durch ontap-nas-Ökonomie |
„“ |
|
Prozentsatz des für Snapshots reservierten Volumes |
„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 |
„Falsch“ |
|
Tiering-Richtlinie, die zu „keinen“ verwendet wird |
„Nur snapshot“ für eine SVM-DR-Konfiguration vor ONTAP 9.5 |
|
Modus für neue Volumes |
„777“ für NFS Volumes; leer (nicht zutreffend) für SMB Volumes |
|
Steuert den Zugriff auf das |
„Wahr“ für NFSv4 „falsch“ für NFSv3 |
|
Zu verwendende Exportrichtlinie |
„Standard“ |
|
Sicherheitstyp für neue Volumes. NFS unterstützt |
NFS-Standard ist |
|
Vorlage zum Erstellen benutzerdefinierter Volume-Namen. |
„“ |
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. |
Beispiele für die Volume-Bereitstellung
Hier ein Beispiel mit definierten Standardwerten:
--- 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'
Für ontap-nas
und ontap-nas-flexgroups
verwendet Trident jetzt eine neue Berechnung, um sicherzustellen, dass die FlexVol korrekt mit der Snapshot Reserve Prozentsatz und PVC-Größe ist. Wenn der Benutzer eine PVC anfordert, erstellt Trident mithilfe der neuen Berechnung die ursprüngliche FlexVol mit mehr Speicherplatz. Diese Berechnung stellt sicher, dass der Benutzer den beschreibbaren Speicherplatz erhält, für den er in der PVC benötigt wird, und nicht weniger Speicherplatz als der angeforderte. Vor Version 2.07, wenn der Benutzer eine PVC anfordert (z. B. 5 gib), bei der SnapshotReserve auf 50 Prozent, erhalten sie nur 2,5 gib schreibbaren Speicherplatz. Der Grund dafür ist, dass der Benutzer das gesamte Volume angefordert hat und einen prozentualen Anteil davon darstellt. snapshotReserve
Bei Trident 21.07 fordert der Benutzer den beschreibbaren Speicherplatz an, und Trident definiert die snapshotReserve
Zahl als Prozentsatz des gesamten Volumes. Dies gilt nicht für ontap-nas-economy
. Im folgenden Beispiel sehen Sie, wie das funktioniert:
Die Berechnung ist wie folgt:
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
Für die snapshotReserve = 50 %, und die PVC-Anfrage = 5 gib, beträgt die Gesamtgröße des Volumes 2/.5 = 10 gib, und die verfügbare Größe beträgt 5 gib. Dies entspricht dem, was der Benutzer in der PVC-Anfrage angefordert hat. Der volume show
Der Befehl sollte Ergebnisse anzeigen, die diesem Beispiel ähnlich sind:
Vorhandene Back-Ends von vorherigen Installationen stellen Volumes wie oben beschrieben beim Upgrade von Trident bereit. Bei Volumes, die Sie vor dem Upgrade erstellt haben, sollten Sie die Größe ihrer Volumes entsprechend der zu beobachtenden Änderung anpassen. Ein Beispiel: Eine PVC mit 2 gib und einer früheren Version snapshotReserve=50
führte zu einem Volume, das 1 gib schreibbaren Speicherplatz bereitstellt. Wenn Sie die Größe des Volumes auf 3 gib ändern, z. B. stellt die Applikation auf einem 6 gib an beschreibbarem Speicherplatz bereit.
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 es sich, DNS-Namen für LIFs anstelle von IP-Adressen anzugeben. |
Beispiel für die NAS-Ökonomie von ONTAP
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
Beispiel für ONTAP NAS FlexGroup
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs 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".
Für nahtloses Switchover und Switchback geben Sie die SVM über an managementLIF
Und lassen Sie die aus dataLIF
Und svm
Parameter. Beispiel:
--- version: 1 storageDriverName: ontap-nas managementLIF: 192.168.1.66 username: vsadmin password: password
Beispiel: SMB Volumes
--- 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
Beispiel für die zertifikatbasierte Authentifizierung
Dies ist ein minimales Beispiel für die Back-End-Konfiguration. 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 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_
Beispiel für eine Richtlinie für den automatischen Export
Dieses Beispiel zeigt, wie Sie Trident anweisen können, dynamische Exportrichtlinien zu verwenden, um die Exportrichtlinie automatisch zu erstellen und zu verwalten. Dies funktioniert für die und ontap-nas-flexgroup
-Treiber gleich ontap-nas-economy
.
--- 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
Beispiel für IPv6-Adressen
Dieses Beispiel zeigt managementLIF
Verwenden einer IPv6-Adresse.
--- 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
Amazon FSX für ONTAP mit SMB-Volumes – Beispiel
Der smbShare
Der Parameter ist für FSX for ONTAP mit SMB Volumes erforderlich.
--- 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_
Back-End-Konfigurationsbeispiel mit nameTemplate
--- version: 1 storageDriverName: ontap-nas backendName: ontap-nas-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}}"}
Beispiele für Back-Ends mit virtuellen Pools
In den unten gezeigten Beispieldateien für die Backend-Definition 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 FlexVol für oder FlexGroup für ontap-nas-flexgroup
gesetzt ontap-nas
. Trident kopiert bei der Bereitstellung alle Labels, die sich in einem virtuellen Pool befinden, auf das Storage-Volume. 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 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'
Beispiel für 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'
Beispiel für die NAS-Ökonomie von ONTAP
--- 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'
Back-Ends StorageClasses zuordnen
Die folgenden StorageClass-Definitionen finden Sie unter 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 und zweiten virtuellen Pool in zugeordnetontap-nas-flexgroup
Back-End: Dies sind die einzigen Pools, die Gold-Level-Schutz bieten.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 dritten und vierten virtuellen Pool in zugeordnetontap-nas-flexgroup
Back-End: Dies sind die einzigen Pools, die Schutz Level nicht 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 vierten virtuellen Pool in zugeordnetontap-nas
Back-End: Dies ist der einzige Pool, der Storage-Pool-Konfiguration für mysqldb-Typ-App bietet.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4"
-
Tthe
protection-silver-creditpoints-20k
StorageClass wird dem dritten virtuellen Pool in zugeordnetontap-nas-flexgroup
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-nas
Back-End und der zweite virtuelle Pool imontap-nas-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"
Trident entscheidet, welcher virtuelle Pool ausgewählt wird, und stellt sicher, dass die Speicheranforderungen erfüllt werden.
Aktualisierung dataLIF
Nach der Erstkonfiguration
Sie können die Daten-LIF nach der Erstkonfiguration ändern, indem Sie den folgenden Befehl ausführen, um die neue Backend-JSON-Datei mit aktualisierten Daten-LIF bereitzustellen.
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
Wenn PVCs an einen oder mehrere Pods angeschlossen sind, müssen Sie alle entsprechenden Pods herunterfahren und sie dann wieder zurückbringen, damit die neue logische Daten wirksam werden. |