Opzioni ed esempi di configurazione DELLA SAN ONTAP
Crea e usa i driver SAN ONTAP con la tua installazione di Trident. Questa sezione fornisce esempi di configurazione del backend e dettagli per la mappatura dei backend a StorageClasses. "Sistemi ASA r2" differiscono dagli altri sistemi ONTAP (ASA, AFF e FAS) nell'implementazione del loro livello di storage. Queste variazioni influiscono sull'uso di alcuni parametri come indicato. "Scopri di più sulle differenze tra i sistemi ASA r2 e gli altri sistemi ONTAP". Nella configurazione del backend di Trident, non devi specificare che il tuo sistema è ASA r2. Quando selezioni ontap-san come storageDriverName, Trident rileva automaticamente ASA r2 o altri sistemi ONTAP. Alcuni parametri di configurazione del backend non sono applicabili ai sistemi ASA r2 come indicato nella tabella seguente.
|
|
Solo il ontap-san Il driver (con protocolli iSCSI, NVMe/TCP e FC) è supportato per i sistemi ASA r2.
|
Opzioni di configurazione back-end
A partire dalla versione 26.06, puoi abilitare il posizionamento bilanciato di ONTAP così che ONTAP selezioni l'aggregato per i nuovi volumi. Consulta "Usa un posizionamento bilanciato con i backend ONTAP" per i requisiti e gli esempi.
Per le opzioni di configurazione del backend, consultare la tabella seguente:
| Parametro | Descrizione | Predefinito | ||
|---|---|---|---|---|
|
Sempre 1 |
|||
|
Nome del driver di storage |
|
||
|
Nome personalizzato o backend dello storage |
Nome del driver + "_" + dataLIF |
||
|
Indirizzo IP di un cluster o di una LIF di gestione SVM. È possibile specificare un nome di dominio completo (FQDN). Può essere impostato in modo da utilizzare gli indirizzi IPv6 se Trident è stato installato utilizzando il flag IPv6. Gli indirizzi IPv6 devono essere definiti tra parentesi quadre, ad esempio Per lo switchover di MetroCluster senza problemi, vedere la Esempio MetroCluster.
|
"10,0.0,1", "[2001:1234:abcd::fefe]" |
||
|
Indirizzo IP del protocollo LIF. Può essere impostato in modo da utilizzare gli indirizzi IPv6 se Trident è stato installato utilizzando il flag IPv6. Gli indirizzi IPv6 devono essere definiti tra parentesi quadre, ad esempio |
Derivato dalla SVM |
||
|
Macchina virtuale per lo storage da utilizzare |
Derivato se un SVM |
||
|
Utilizzare CHAP per autenticare iSCSI per i driver SAN ONTAP [booleano]. Impostare su |
|
||
|
Segreto iniziatore CHAP. Necessario se |
"" |
||
|
Set di etichette arbitrarie formattate con JSON da applicare sui volumi |
"" |
||
|
CHAP target Initiator secret. Necessario se |
"" |
||
|
Nome utente inbound. Necessario se |
"" |
||
|
Nome utente di destinazione. Necessario se |
"" |
||
|
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 necessario per comunicare con il cluster ONTAP . Utilizzato per l'autenticazione basata sulle credenziali. Per l'autenticazione di Active Directory, vedere "Autenticare Trident su un SVM backend utilizzando le credenziali di Active Directory". |
"" |
||
|
Password necessaria per comunicare con il cluster ONTAP . Utilizzato per l'autenticazione basata sulle credenziali. Per l'autenticazione di Active Directory, vedere "Autenticare Trident su un SVM backend utilizzando le credenziali di Active Directory". |
"" |
||
|
Macchina virtuale per lo storage da utilizzare |
Derivato se un SVM |
||
|
Prefisso utilizzato durante il provisioning di nuovi volumi nell'SVM. Non può essere modificato in seguito. Per aggiornare questo parametro, devi creare un nuovo backend. |
|
||
|
Aggregato per il provisioning (facoltativo; se impostato, deve essere assegnato all'SVM). Per il
Non specificare per i sistemi ASA r2. Non specificare quando |
"" |
||
|
Delega la selezione dell'aggregato per i nuovi volumi a ONTAP [Boolean]. Richiede ONTAP 9.19.1 o versioni successive e Consulta la documentazione "Usa un posizionamento bilanciato con i backend ONTAP" per requisiti ed esempi. |
|
||
|
Il provisioning non riesce se l'utilizzo è superiore a questa percentuale. Se si utilizza un backend Amazon FSX per NetApp ONTAP, non specificare |
"" (non applicato per impostazione predefinita) |
||
|
Fallire il provisioning se la dimensione del volume richiesta è superiore a questo valore. Limita anche le dimensioni massime dei volumi che gestisce per i LUN. |
"" (non applicato per impostazione predefinita) |
||
|
LUN massimi per FlexVol, devono essere compresi nell'intervallo [50, 200] |
|
||
|
Flag di debug da utilizzare per la risoluzione dei problemi. Esempio, {"api":false, "method":true} |
|
||
|
Parametro booleano per utilizzare le API REST ONTAP . `useREST`Quando impostato su `true` , Trident utilizza le API REST ONTAP per comunicare con il backend; quando impostato su `false` Trident utilizza chiamate ONTAPI (ZAPI) per comunicare con il backend. Questa funzionalità richiede ONTAP 9.11.1 e versioni successive. Inoltre, il ruolo di accesso ONTAP utilizzato deve avere accesso a `ontapi` applicazione. Ciò è soddisfatto dal predefinito `vsadmin` E `cluster-admin` ruoli. A partire dalla versione Trident 24.06 e ONTAP 9.15.1 o successiva, `useREST` è impostato su `true` per impostazione predefinita; modifica `useREST` A `false` per utilizzare le chiamate ONTAPI (ZAPI). `useREST`è completamente qualificato per NVMe/TCP.
Se specificato, impostare sempre su |
|
||
|
Utilizzare per selezionare |
|
||
|
Usa Supportato per |
|||
|
Dimensioni massime degli FlexVol richiedibili quando si utilizzano le LUN di un backend ONTAP-san-economy. |
"" (non applicato per impostazione predefinita) |
||
|
Limita |
Consigli per l'uso di formatOptions
Trident consiglia le seguenti opzioni per velocizzare il processo di formattazione:
-
-E nodiscard (ext3, ext4): Non tentare di scartare i blocchi in fase di mkfs (scartare i blocchi inizialmente è utile su dispositivi a stato solido e storage sparse/thin-provisioned). Sostituisce l'opzione obsoleta "-K" ed è applicabile ai file system ext3, ext4.
-
-K (xfs): Non tentare di scartare blocchi al momento dell'esecuzione di mkfs. Questa opzione è applicabile al file system xfs.
Autenticare Trident su un SVM backend utilizzando le credenziali di Active Directory
È possibile configurare Trident per l'autenticazione a un SVM backend utilizzando le credenziali di Active Directory (AD). Prima che un account AD possa accedere all'SVM, è necessario configurare l'accesso del controller di dominio AD al cluster o all'SVM. Per l'amministrazione del cluster con un account AD, è necessario creare un tunnel di dominio. Fare riferimento a "Configurare l'accesso al controller di dominio Active Directory in ONTAP" per i dettagli.
-
Configurare le impostazioni del Domain Name System (DNS) per un SVM backend:
vserver services dns create -vserver <svm_name> -dns-servers <dns_server_ip1>,<dns_server_ip2> -
Eseguire il seguente comando per creare un account computer per l'SVM in Active Directory:
vserver active-directory create -vserver DataSVM -account-name ADSERVER1 -domain demo.netapp.com -
Utilizzare questo comando per creare un utente o un gruppo AD per gestire il cluster o SVM
security login create -vserver <svm_name> -user-or-group-name <ad_user_or_group> -application <application> -authentication-method domain -role vsadmin -
Nel file di configurazione del backend Trident , impostare
usernameEpasswordparametri rispettivamente per il nome utente o gruppo AD e la password.
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 |
"true" Se specificato, impostare su |
|
Modalità di prenotazione dello spazio; "nessuno" (sottile) o "volume" (spesso). Impostato su |
"nessuno" |
|
Policy Snapshot da utilizzare. Impostato su |
"nessuno" |
|
Gruppo di criteri QoS da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend. L'utilizzo di gruppi di criteri QoS con Trident richiede ONTAP 9.8 o versioni successive. È necessario utilizzare un gruppo di criteri QoS non condiviso e garantire che il gruppo di criteri venga applicato singolarmente a ciascun componente. Un gruppo di policy QoS condiviso impone un limite massimo per il throughput totale di tutti i carichi di lavoro. |
"" |
|
Gruppo di criteri QoS adattivi da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend |
"" |
|
Percentuale del volume riservato alle snapshot. Non specificare per i sistemi ASA r2. |
"0" se |
|
Separare un clone dal suo padre al momento della creazione |
"falso" |
|
Abilita NetApp Volume Encryption (NVE) sul nuovo volume; il valore predefinito è |
"false" Se specificato, impostare su |
|
Attivare la crittografia LUKS. Fare riferimento alla "Utilizzo di Linux Unified Key Setup (LUKS)". |
"" Impostato su |
|
Criterio di suddivisione in livelli per utilizzare "none" Non specificare per i sistemi ASA r2. |
|
|
Modello per creare nomi di volume personalizzati. |
"" |
Esempi di provisioning di volumi
Ecco un esempio con i valori predefiniti definiti:
---
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'
|
|
Per tutti i volumi creati utilizzando il ontap-san driver, Trident aggiunge un ulteriore 10% di capacità al FlexVol per ospitare i metadati del LUN. Il LUN viene predisposto con la dimensione esatta richiesta dall'utente nel PVC. Trident aggiunge il 10% al FlexVol (mostrato come Dimensione disponibile in ONTAP). Ora ottieni la quantità di capacità utilizzabile che hai richiesto. Questa modifica impedisce anche che i LUN diventino di sola lettura, a meno che lo spazio disponibile non sia completamente utilizzato. Questo non si applica a ontap-san-economy.
|
Per i backend che definiscono snapshotReserve, Trident calcola le dimensioni dei volumi come segue:
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
L'1,1 è il 10 percento in più Trident aggiunge al FlexVol per ospitare i metadati LUN. Per snapshotReserve = 5% e richiesta PVC = 5 GiB, la dimensione totale del volume è 5,79 GiB e la dimensione disponibile è 5,5 GiB . volume show il comando dovrebbe mostrare risultati simili a questo esempio:
Attualmente, il ridimensionamento è l'unico modo per utilizzare il nuovo calcolo per un volume esistente.
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 utilizzi Amazon FSX su NetApp ONTAP con Trident, NetApp consiglia di specificare i nomi DNS per le LIF invece degli indirizzi IP. |
Esempio DI SAN ONTAP
Si tratta di una configurazione di base che utilizza ontap-san driver.
---
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>
Esempio MetroCluster
È possibile configurare il backend per evitare di dover aggiornare manualmente la definizione del backend dopo lo switchover e lo switchback durante "Replica e recovery di SVM".
Per uno switchover e uno switchback perfetto, specifica la SVM utilizzando managementLIF ed omette i svm parametri. Ad esempio:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
Esempio di economia SAN ONTAP
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
Esempio di autenticazione basata su certificato
In questo esempio di configurazione di base 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
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
Esempi CHAP bidirezionali
Questi esempi creano un backend con useCHAP impostare su 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>
Esempio di posizionamento bilanciato
Questo esempio abilita il posizionamento bilanciato di ONTAP, così che ONTAP selezioni l'aggregato per i nuovi volumi. Il posizionamento bilanciato richiede ONTAP 9.19.1 o versioni successive. Consulta "Usa un posizionamento bilanciato con i backend ONTAP" per i dettagli.
---
version: 1
storageDriverName: ontap-san
backendName: san-balanced-placement
managementLIF: 10.0.0.1
svm: svm_iscsi
username: vsadmin
password: <password>
useBalancedPlacement: true
Esempio NVMe/TCP
Devi disporre di una SVM configurata con NVMe sul back-end ONTAP. Si tratta di una configurazione backend di base per 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
Esempio di SCSI su FC (FCP)
Devi disporre di una SVM configurata con FC sul back-end ONTAP. Configurazione backend di base per 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
Esempio di configurazione backend con 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}}"
Esempio di formattoOpzioni per il driver ONTAP-san-economy
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
method: true
api: true
defaults:
formatOptions: -E nodiscard
Esempi di backend con pool virtuali
In questi file di definizione back-end di esempio, 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.
Trident imposta le etichette di provisioning nel campo "commenti". I commenti vengono impostati sulle copie FlexVol volume Trident. 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 SAN ONTAP
---
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"
Esempio di economia SAN 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"
Esempio 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"
Mappare i backend in StorageClasses
Le seguenti StorageClass definizioni si riferiscono a Esempi di backend con pool virtuali. Utilizzando il campo parameters.selector, ciascuna StorageClass indica quali pool virtuali puoi usare per ospitare un volume. Ora il volume ha le caratteristiche definite nel pool virtuale scelto.
-
Il
protection-goldStorageClass mappa il primo pool virtuale nelontap-sanbackend. Questo è l'unico pool che offre protezione di livello oro.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4" -
La
protection-not-goldStorageClass corrisponde al secondo e al terzo pool virtuale nelontap-sanbackend. Questi sono gli unici pool che offrono un livello di protezione diverso da gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4" -
La
app-mysqldbStorageClass corrisponde al terzo pool virtuale nelontap-san-economybackend. Questo è l'unico pool che offre la configurazione del pool di storage per le app di tipo mysqldb.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4" -
La
protection-silver-creditpoints-20kStorageClass corrisponde al secondo pool virtuale nelontap-sanbackend. Questo è l'unico pool che offre protezione di livello argento e 20000 punti credito.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" -
La
creditpoints-5kStorageClass corrisponde al terzo pool virtuale nelontap-sanbackend e al quarto pool virtuale nelontap-san-economybackend. Queste sono le uniche offerte di pool con 5000 creditpoints.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4" -
La
my-test-app-scStorageClass corrisponde altestAPPpool virtuale nelontap-sandriver consanType: nvme. Questo è l'unico pool che offretestApp.--- 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 decide quale pool virtuale viene selezionato e garantisce che il requisito di storage sia soddisfatto.