Opzioni ed esempi di configurazione SAN ONTAP
Scopri come creare e utilizzare i driver ONTAP SAN con la tua installazione Trident . Questa sezione fornisce esempi di configurazione del backend e dettagli per il mapping dei backend alle StorageClass.
"Sistemi ASA r2"differiscono dagli altri sistemi ONTAP (ASA, AFF e FAS) nell'implementazione del loro livello di archiviazione. Tali variazioni incidono sull'utilizzo di determinati parametri come indicato. "Scopri di più sulle differenze tra i sistemi ASA r2 e gli altri sistemi ONTAP".
|
|
Solo il ontap-san Il driver (con protocolli iSCSI e NVMe/TCP) è supportato per i sistemi ASA r2.
|
Nella configurazione del backend Trident non è necessario specificare che il sistema è ASA r2. Quando selezioni ontap-san come il storageDriverName , Trident rileva automaticamente il ASA r2 o il tradizionale sistema ONTAP . Alcuni parametri di configurazione del backend non sono applicabili ai sistemi ASA r2, come indicato nella tabella seguente.
Opzioni di configurazione del backend
Per le opzioni di configurazione del backend, consultare la seguente tabella:
| Parametro | Descrizione | Predefinito | ||
|---|---|---|---|---|
|
Sempre 1 |
|||
|
Nome del driver di archiviazione |
|
||
|
Nome personalizzato o backend di archiviazione |
Nome del driver + "_" + dataLIF |
||
|
Indirizzo IP di un cluster o di un LIF di gestione SVM. È possibile specificare un nome di dominio completo (FQDN). Può essere impostato per utilizzare indirizzi IPv6 se Trident è stato installato utilizzando il flag IPv6. Gli indirizzi IPv6 devono essere definiti tra parentesi quadre, ad esempio Per un passaggio senza interruzioni a MetroCluster , vedereEsempio MetroCluster .
|
"10.0.0.1", "[2001:1234:abcd::fefe]" |
||
|
Indirizzo IP del protocollo LIF. Può essere impostato per utilizzare indirizzi IPv6 se Trident è stato installato utilizzando il flag IPv6. Gli indirizzi IPv6 devono essere definiti tra parentesi quadre, ad esempio |
Derivato dall'SVM |
||
|
Macchina virtuale di archiviazione da utilizzare Ometti per Metrocluster. Vedi ilEsempio MetroCluster . |
Derivato se un SVM |
||
|
Utilizzare CHAP per autenticare iSCSI per i driver ONTAP SAN [Booleano]. Impostato su |
|
||
|
Segreto dell'iniziatore CHAP. Obbligatorio se |
"" |
||
|
Insieme di etichette arbitrarie formattate in JSON da applicare ai volumi |
"" |
||
|
Segreto dell'iniziatore del target CHAP. Obbligatorio se |
"" |
||
|
Nome utente in entrata. Obbligatorio se |
"" |
||
|
Nome utente di destinazione. Obbligatorio se |
"" |
||
|
Valore codificato in Base64 del certificato client. 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 di archiviazione 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, sarà necessario 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. |
"" |
||
|
Il provisioning non riesce se l'utilizzo è superiore a questa percentuale. Se si utilizza un backend Amazon FSx for NetApp ONTAP , non specificare |
"" (non applicato di default) |
||
|
Il provisioning non riesce se la dimensione del volume richiesto è superiore a questo valore. Limita inoltre la dimensione massima dei volumi gestiti per le LUN. |
"" (non applicato di default) |
||
|
Numero massimo di LUN per Flexvol, deve essere compreso nell'intervallo [50, 200] |
|
||
|
Flag di debug da utilizzare durante la risoluzione dei problemi. Esempio: {"api":false, "method":true} Non utilizzare a meno che non si stia risolvendo un problema e si necessiti di un dump di registro dettagliato. |
|
||
|
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 |
`iscsi`se vuoto |
||
|
Utilizzo Supportato per |
|||
|
Dimensione massima FlexVol richiedibile quando si utilizzano LUN nel backend ontap-san-economy. |
"" (non applicato di default) |
||
|
Limita |
Consigli per l'utilizzo di formatOptions
Trident consiglia la seguente opzione per velocizzare il processo di formattazione:
-E nodiscard:
-
Mantieni, 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 a tutti i file system (xfs, ext3 ed ext4).
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 del backend per il provisioning dei volumi
È possibile controllare il provisioning predefinito utilizzando queste opzioni in defaults sezione della configurazione. Per un esempio, vedere gli esempi di configurazione riportati di seguito.
| Parametro | Descrizione | Predefinito |
|---|---|---|
|
Assegnazione dello spazio per LUN |
"true" Se specificato, impostare su |
|
Modalità di prenotazione dello spazio: "nessuno" (sottile) o "volume" (spesso). Impostato su |
"nessuno" |
|
Criterio di snapshot da utilizzare. Impostato su |
"nessuno" |
|
Gruppo di criteri QoS da assegnare ai volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per ogni pool di archiviazione/backend. Per utilizzare i gruppi di policy QoS con Trident è necessario ONTAP 9.8 o versione successiva. È necessario utilizzare un gruppo di policy QoS non condiviso e assicurarsi che il gruppo di policy venga applicato individualmente a ciascun componente. Un gruppo di policy QoS condiviso impone il limite massimo per la produttività totale di tutti i carichi di lavoro. |
"" |
|
Gruppo di policy QoS adattivo da assegnare ai volumi creati. Scegli uno tra qosPolicy o adaptiveQosPolicy per pool di archiviazione/backend |
"" |
|
Percentuale di volume riservata agli snapshot. Non specificare per i sistemi ASA r2. |
"0" se |
|
Dividere un clone dal suo genitore al momento della creazione |
"falso" |
|
Abilita NetApp Volume Encryption (NVE) sul nuovo volume; l'impostazione predefinita è |
"false" Se specificato, impostare su |
|
Abilita la crittografia LUKS. Fare riferimento a"Utilizzare Linux Unified Key Setup (LUKS)" . |
"" Impostato su |
|
Criterio di suddivisione in livelli per utilizzare "nessuno" Non specificare per i sistemi ASA r2. |
|
|
Modello per creare nomi di volume personalizzati. |
"" |
Esempi di provisioning del volume
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 ontap-san driver, Trident aggiunge un ulteriore 10 percento di capacità al FlexVol per ospitare i metadati LUN. La LUN verrà fornita con le dimensioni esatte richieste dall'utente nel PVC. Trident aggiunge il 10 percento al FlexVol (mostrato come dimensione disponibile in ONTAP). Gli utenti riceveranno ora la quantità di capacità utilizzabile richiesta. Questa modifica impedisce inoltre che i LUN diventino di sola lettura, a meno che lo spazio disponibile non sia completamente utilizzato. Ciò non si applica a ontap-san-economy.
|
Per i backend che definiscono snapshotReserve , Trident calcola la dimensione 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. IL 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 minima
Gli esempi seguenti mostrano 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, NetApp consiglia di specificare i nomi DNS per i LIF anziché gli indirizzi IP. |
Esempio ONTAP SAN
Questa è una configurazione di base che utilizza il ontap-san autista.
---
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 il passaggio e il ritorno durante"Replica e ripristino SVM" .
Per un passaggio e un ritorno senza interruzioni, specificare l'SVM utilizzando managementLIF e omettere il svm parametri. Per esempio:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
Esempio di economia ONTAP SAN
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) vengono popolati in backend.json e prendere rispettivamente i valori codificati in 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 impostato 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 NVMe/TCP
È necessario disporre di una SVM configurata con NVMe sul backend ONTAP . Questa è 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 SCSI su FC (FCP)
È necessario disporre di un SVM configurato con FC sul backend ONTAP . Questa è una 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 del 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 formatOptions 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 backend di esempio, vengono impostati valori predefiniti specifici per tutti i pool di archiviazione, ad esempio spaceReserve a nessuno, spaceAllocation a falso, 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 sul FlexVol volume. Trident copia tutte le etichette presenti su un pool virtuale nel volume di archiviazione al momento del provisioning. Per comodità, gli amministratori di storage possono definire etichette per pool virtuale e raggruppare i volumi in base all'etichetta.
In questi esempi, alcuni dei pool di archiviazione impostano i propri spaceReserve , spaceAllocation , E encryption valori e alcuni pool sovrascrivono i valori predefiniti.
Esempio 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"
Esempio di economia ONTAP SAN
---
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"
Mappa i backend su StorageClasses
Le seguenti definizioni StorageClass fanno riferimento aEsempi di backend con pool virtuali . Utilizzando il parameters.selector campo, ogni StorageClass richiama quali pool virtuali possono essere utilizzati per ospitare un volume. Il volume avrà gli aspetti definiti nel pool virtuale scelto.
-
IL
protection-goldStorageClass verrà mappato sul primo pool virtuale nelontap-sanbackend. Questa è l'unica piscina che offre una protezione di livello Gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4" -
IL
protection-not-goldStorageClass verrà mappato sul secondo e terzo pool virtuale inontap-sanbackend. 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: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4" -
IL
app-mysqldbStorageClass verrà mappato sul terzo pool virtuale inontap-san-economybackend. Questo è l'unico pool che offre la configurazione del pool di archiviazione per l'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" -
IL
protection-silver-creditpoints-20kStorageClass verrà mappato sul secondo pool virtuale inontap-sanbackend. Questo è l'unico pool che offre protezione di livello Silver e 20.000 punti di 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" -
IL
creditpoints-5kStorageClass verrà mappato sul terzo pool virtuale inontap-sanbackend e il quarto pool virtuale nelontap-san-economybackend. Queste sono le uniche offerte di pool con 5000 punti di credito.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4" -
IL
my-test-app-scStorageClass verrà mappato sutestAPPpiscina virtuale nelontap-sanautista consanType: nvme. Questa è l'unica piscina 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 deciderà quale pool virtuale selezionare e garantirà che i requisiti di archiviazione siano soddisfatti.