Opzioni ed esempi di configurazione del NAS ONTAP
Scopri come creare e utilizzare i driver NAS ONTAP con l'installazione di Astra Trident. Questa sezione fornisce esempi di configurazione back-end e dettagli su come mappare i backend a StorageClasses.
Opzioni di configurazione back-end
Per le opzioni di configurazione del backend, consultare la tabella seguente:
| Parametro | Descrizione | Predefinito |
|---|---|---|
|
Sempre 1 |
|
|
Nome del driver di storage |
"ontap-nas", "ontap-nas-economy", "ontap-nas-flexgroup", "ontap-san", "ontap-san-economy" |
|
Nome personalizzato o backend dello storage |
Nome del driver + "_" + dataLIF |
|
Indirizzo IP di un cluster o LIF di gestione SVM |
"10.0.0.1", "[2001:1234:abcd::fefe]" |
|
Indirizzo IP del protocollo LIF. |
Indirizzo specificato o derivato da SVM, se non specificato (non consigliato) |
|
Abilita la creazione e l'aggiornamento automatici dei criteri di esportazione [booleano]. |
falso |
|
Elenco di CIDR per filtrare gli IP dei nodi Kubernetes rispetto a quando |
["0.0.0.0/0", ":/0"]` |
|
Set di etichette arbitrarie formattate con JSON da applicare sui volumi |
"" |
|
Valore del certificato client codificato con base64. Utilizzato per l'autenticazione basata su certificato |
"" |
|
Valore codificato in base64 della chiave privata del client. Utilizzato per l'autenticazione basata su certificato |
"" |
|
Valore codificato in base64 del certificato CA attendibile. Opzionale. Utilizzato per l'autenticazione basata su certificato |
"" |
|
Nome utente per la connessione al cluster/SVM. Utilizzato per l'autenticazione basata sulle credenziali |
|
|
Password per la connessione al cluster/SVM. Utilizzato per l'autenticazione basata sulle credenziali |
|
|
Macchina virtuale per lo storage da utilizzare |
Derivato se un SVM |
|
Prefisso utilizzato per il provisioning di nuovi volumi nella SVM. Non può essere aggiornato dopo l'impostazione |
"tridente" |
|
Il provisioning non riesce se l'utilizzo è superiore a questa percentuale. |
"" (non applicato per impostazione predefinita) |
|
Fallire il provisioning se la dimensione del volume richiesta è superiore a questo valore. |
"" (non applicato per impostazione predefinita) |
|
Fallire il provisioning se la dimensione del volume richiesta è superiore a questo valore. |
"" (non applicato per impostazione predefinita) |
|
LUN massimi per FlexVol, devono essere compresi nell'intervallo [50, 200] |
"100" |
|
Flag di debug da utilizzare per la risoluzione dei problemi. Ad esempio, {"api":false,} method":true |
nullo |
|
Configurare la creazione di volumi NFS o SMB. |
|
|
Elenco separato da virgole delle opzioni di montaggio NFS. |
"" |
|
Qtree massimi per FlexVol, devono essere compresi nell'intervallo [50, 300] |
"200" |
|
È possibile specificare una delle seguenti opzioni: Il nome di una condivisione SMB creata utilizzando la console di gestione Microsoft o l'interfaccia utente di ONTAP; un nome per consentire ad Astra Trident di creare la condivisione SMB; oppure è possibile lasciare vuoto il parametro per impedire l'accesso condiviso ai volumi. |
|
|
Parametro booleano per l'utilizzo delle API REST di ONTAP. Anteprima tecnica |
falso |
Opzioni di configurazione back-end per il provisioning dei volumi
È possibile controllare il provisioning predefinito utilizzando queste opzioni in defaults della configurazione. Per un esempio, vedere gli esempi di configurazione riportati di seguito.
| Parametro | Descrizione | Predefinito |
|---|---|---|
|
Allocazione dello spazio per LUN |
"vero" |
|
Modalità di riserva dello spazio; "nessuno" (sottile) o "volume" (spesso) |
"nessuno" |
|
Policy di Snapshot da utilizzare |
"nessuno" |
|
Gruppo di criteri QoS da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend |
"" |
|
Gruppo di criteri QoS adattivi da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend. |
"" |
|
Percentuale di volume riservato agli snapshot "0" |
Se |
|
Separare un clone dal suo padre al momento della creazione |
"falso" |
|
Abilitare NetApp Volume Encryption (NVE) sul nuovo volume; il valore predefinito è |
"falso" |
|
Policy di tiering per utilizzare "nessuno" |
"Solo snapshot" per configurazione SVM-DR precedente a ONTAP 9.5 |
|
Per i nuovi volumi |
"777" per volumi NFS; vuoto (non applicabile) per volumi SMB |
|
Controlla la visibilità di |
"falso" |
|
Policy di esportazione da utilizzare |
"predefinito" |
|
Stile di sicurezza per nuovi volumi. |
Il valore predefinito di NFS è |
|
|
L'utilizzo di gruppi di policy QoS con Astra Trident richiede ONTAP 9.8 o versione successiva. Si consiglia di utilizzare un gruppo di criteri QoS non condiviso e assicurarsi che il gruppo di criteri sia applicato a ciascun componente singolarmente. Un gruppo di policy QoS condiviso applicherà il limite massimo per il throughput totale di tutti i carichi di lavoro. |
Esempi di provisioning di volumi
Ecco un esempio con i valori predefiniti definiti:
--- 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'
Per ontap-nas e. ontap-nas-flexgroups, Astra Trident utilizza ora un nuovo calcolo per garantire che il FlexVol sia dimensionato correttamente con la percentuale di snapshotReserve e PVC. Quando l'utente richiede un PVC, Astra Trident crea il FlexVol originale con più spazio utilizzando il nuovo calcolo. Questo calcolo garantisce che l'utente riceva lo spazio scrivibile richiesto nel PVC e non uno spazio inferiore a quello richiesto. Prima della versione 21.07, quando l'utente richiede un PVC (ad esempio, 5GiB), con SnapshotReserve al 50%, ottiene solo 2,5 GiB di spazio scrivibile. Questo perché ciò che l'utente ha richiesto è l'intero volume e. snapshotReserve è una percentuale. Con Trident 21.07, ciò che l'utente richiede è lo spazio scrivibile e Astra Trident definisce snapshotReserve numero come percentuale dell'intero volume. Questo non si applica a. ontap-nas-economy. Vedere l'esempio seguente per vedere come funziona:
Il calcolo è il seguente:
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
Per snapshotReserve = 50% e richiesta PVC = 5GiB, la dimensione totale del volume è 2/0,5 = 10GiB e la dimensione disponibile è 5GiB, che è ciò che l'utente ha richiesto nella richiesta PVC. Il volume show il comando dovrebbe mostrare risultati simili a questo esempio:
I backend esistenti delle installazioni precedenti eseguiranno il provisioning dei volumi come spiegato in precedenza durante l'aggiornamento di Astra Trident. Per i volumi creati prima dell'aggiornamento, è necessario ridimensionare i volumi per osservare la modifica. Ad esempio, un PVC 2GiB con snapshotReserve=50 In precedenza, si è creato un volume che fornisce 1 GB di spazio scrivibile. Il ridimensionamento del volume su 3GiB, ad esempio, fornisce all'applicazione 3GiB di spazio scrivibile su un volume da 6 GiB.
Esempi di configurazione minimi
Gli esempi seguenti mostrano le configurazioni di base che lasciano la maggior parte dei parametri predefiniti. Questo è il modo più semplice per definire un backend.
|
|
Se si utilizza Amazon FSX su NetApp ONTAP con Trident, si consiglia di specificare i nomi DNS per le LIF anziché gli indirizzi IP. |
Configurazione minima per <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
Configurazione minima per <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
Configurazione minima per volumi 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
Autenticazione basata su certificato
Si tratta di un esempio minimo di configurazione di back-end. clientCertificate, clientPrivateKey, e. trustedCACertificate (Facoltativo, se si utilizza una CA attendibile) sono inseriti in backend.json E prendere rispettivamente i valori codificati base64 del certificato client, della chiave privata e del certificato CA attendibile.
--- 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_
Policy di esportazione automatica
Questo esempio mostra come impostare Astra Trident a utilizzare policy di esportazione dinamiche per creare e gestire automaticamente le policy di esportazione. Questo funziona allo stesso modo per ontap-nas-economy e. ontap-nas-flexgroup driver.
--- 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
Utilizzo degli indirizzi IPv6
Questo esempio mostra managementLIF Utilizzando un indirizzo 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
Amazon FSX per ONTAP con volumi SMB
Il smbShare Il parametro è obbligatorio per FSX per ONTAP che utilizza volumi SMB.
--- 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_
Esempi di backend con pool virtuali
Nei file di definizione back-end di esempio illustrati di seguito, vengono impostati valori predefiniti specifici per tutti i pool di storage, ad esempio spaceReserve a nessuno, spaceAllocation a false, e. encryption a falso. I pool virtuali sono definiti nella sezione storage.
Astra Trident imposta le etichette di provisioning nel campo "commenti". I commenti sono impostati su FlexVol per ontap-nas O FlexGroup per ontap-nas-flexgroup. Astra Trident copia tutte le etichette presenti su un pool virtuale nel volume di storage al momento del provisioning. Per comodità, gli amministratori dello storage possono definire le etichette per ogni pool virtuale e raggruppare i volumi per etichetta.
In questi esempi, alcuni dei pool di storage sono impostati in modo personalizzato spaceReserve, spaceAllocation, e. encryption e alcuni pool sovrascrivono i valori predefiniti.
Esempio di NAS ONTAP
---
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'
Esempio di NAS FlexGroup ONTAP
---
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'
Esempio di economia NAS 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'
Mappare i backend in StorageClasses
Le seguenti definizioni di StorageClass fanno riferimento a. Esempi di backend con pool virtuali. Utilizzando il parameters.selector Ciascun StorageClass richiama i pool virtuali che possono essere utilizzati per ospitare un volume. Gli aspetti del volume saranno definiti nel pool virtuale scelto.
-
Il
protection-goldStorageClass eseguirà il mapping al primo e al secondo pool virtuale inontap-nas-flexgroupback-end. Questi sono gli unici pool che offrono una protezione di livello gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4"
-
Il
protection-not-goldStorageClass eseguirà il mapping al terzo e al quarto pool virtuale inontap-nas-flexgroupback-end. Questi sono gli unici pool che offrono un livello di protezione diverso dall'oro.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4"
-
Il
app-mysqldbStorageClass eseguirà il mapping al quarto pool virtuale inontap-nasback-end. Questo è l'unico pool che offre la configurazione del pool di storage per l'applicazione di tipo mysqldb.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4"
-
Til
protection-silver-creditpoints-20kStorageClass eseguirà il mapping al terzo pool virtuale inontap-nas-flexgroupback-end. Questo è l'unico pool che offre una protezione di livello Silver e 20000 punti di credito.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"
-
Il
creditpoints-5kStorageClass eseguirà il mapping al terzo pool virtuale inontap-nasil back-end e il secondo pool virtuale inontap-nas-economyback-end. Queste sono le uniche offerte di pool con 5000 punti di credito.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"
Astra Trident deciderà quale pool virtuale è selezionato e garantirà il rispetto dei requisiti di storage.
Aggiornare dataLIF dopo la configurazione iniziale
È possibile modificare la LIF dei dati dopo la configurazione iniziale eseguendo il seguente comando per fornire al nuovo file JSON di back-end i dati aggiornati LIF.
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
|
|
Se i PVC sono collegati a uno o più pod, è necessario abbassare tutti i pod corrispondenti e riportarli di nuovo in alto per rendere effettiva la nuova LIF dei dati. |