Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Opzioni ed esempi di configurazione DELLA SAN ONTAP

Collaboratori

Informazioni su come creare e utilizzare i driver SAN ONTAP con l'installazione Trident. In questa sezione vengono forniti esempi di configurazione backend e dettagli per la mappatura dei backend a StorageClasses.

Opzioni di configurazione back-end

Per le opzioni di configurazione del backend, consultare la tabella seguente:

Parametro Descrizione Predefinito

version

Sempre 1

storageDriverName

Nome del driver di storage

ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, ontap-san-economy

backendName

Nome personalizzato o backend dello storage

Nome del driver + "_" + dataLIF

managementLIF

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 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555] . Per lo switchover di MetroCluster senza problemi, vedere la [mcc-best].

"10.0.0.1", "[2001:1234:abcd::fefe]"

dataLIF

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 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555] . Non specificare per iSCSI. Trident utilizza "Mappa LUN selettiva ONTAP" per scoprire le interfacce LIF isci necessarie per stabilire una sessione multipercorso. Viene generato un avviso se dataLIF è definito esplicitamente. Omettere per MetroCluster. Consultare la [mcc-best].

Derivato dalla SVM

svm

Macchina virtuale per lo storage da utilizzare

Ometti per MetroCluster. vedere la [mcc-best].

Derivato se un SVM managementLIF è specificato

useCHAP

Utilizzare CHAP per autenticare iSCSI per i driver SAN ONTAP [booleano]. Impostare su true for Trident per configurare e utilizzare il protocollo CHAP bidirezionale come autenticazione predefinita per la SVM fornita nel backend. Per ulteriori informazioni, fare riferimento alla "Prepararsi a configurare il backend con i driver SAN ONTAP" sezione.

false

chapInitiatorSecret

Segreto iniziatore CHAP. Necessario se useCHAP=true

""

labels

Set di etichette arbitrarie formattate con JSON da applicare sui volumi

""

chapTargetInitiatorSecret

CHAP target Initiator secret. Necessario se useCHAP=true

""

chapUsername

Nome utente inbound. Necessario se useCHAP=true

""

chapTargetUsername

Nome utente di destinazione. Necessario se useCHAP=true

""

clientCertificate

Valore del certificato client codificato con base64. Utilizzato per l'autenticazione basata su certificato

""

clientPrivateKey

Valore codificato in base64 della chiave privata del client. Utilizzato per l'autenticazione basata su certificato

""

trustedCACertificate

Valore codificato in base64 del certificato CA attendibile. Opzionale. Utilizzato per l'autenticazione basata su certificato.

""

username

Nome utente necessario per comunicare con il cluster ONTAP. Utilizzato per l'autenticazione basata su credenziali.

""

password

Password necessaria per comunicare con il cluster ONTAP. Utilizzato per l'autenticazione basata su credenziali.

""

svm

Macchina virtuale per lo storage da utilizzare

Derivato se un SVM managementLIF è specificato

storagePrefix

Prefisso utilizzato per il provisioning di nuovi volumi nella SVM. Non può essere modificato in seguito. Per aggiornare questo parametro, è necessario creare un nuovo backend.

trident

aggregate

Aggregato per il provisioning (facoltativo; se impostato, deve essere assegnato alla SVM). Per il ontap-nas-flexgroup driver, questa opzione viene ignorata. Se non viene assegnato, è possibile utilizzare qualsiasi aggregato disponibile per il provisioning di un volume FlexGroup.

Nota Una volta aggiornato l'aggregato in SVM, viene aggiornato automaticamente in Trident eseguendo un polling della SVM senza riavviare il controller Trident. Dopo aver configurato un aggregato specifico in Trident per il provisioning dei volumi, in caso di ridenominazione o spostamento dell'aggregato dalla SVM, il back-end passa allo stato di errore in Trident durante il polling dell'aggregato della SVM. È necessario modificare l'aggregato in uno presente nella SVM o rimuoverlo del tutto per riportare online il back-end.

""

limitAggregateUsage

Il provisioning non riesce se l'utilizzo è superiore a questa percentuale. Se si utilizza un backend Amazon FSX per NetApp ONTAP, non specificare limitAggregateUsage. Fornito fsxadmin e vsadmin non contiene le autorizzazioni necessarie per recuperare l'utilizzo dell'aggregato e limitarlo mediante Trident.

"" (non applicato per impostazione predefinita)

limitVolumeSize

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)

lunsPerFlexvol

LUN massimi per FlexVol, devono essere compresi nell'intervallo [50, 200]

100

debugTraceFlags

Flag di debug da utilizzare per la risoluzione dei problemi. Esempio, {"api":false, "method":true}

Non utilizzare a meno che non si stia eseguendo la risoluzione dei problemi e non si richieda un dump dettagliato del log.

null

useREST

Parametro booleano per l'utilizzo delle API REST di ONTAP.
useREST Quando è impostato su true, Trident utilizza le API REST ONTAP per comunicare con il backend; quando è impostato su false, Trident utilizza le chiamate ZAPI ONTAP per comunicare con il backend. Questa funzione richiede ONTAP 9.11.1 e versioni successive. Inoltre, il ruolo di accesso ONTAP utilizzato deve avere accesso all' ontap applicazione. Ciò è soddisfatto dai ruoli predefiniti vsadmin e cluster-admin . A partire da Trident 24,06 e ONTAP 9.15,1 o versioni successive, userREST è impostato su true per impostazione predefinita; modificare
useREST su false per utilizzare le chiamate ZAPI di ONTAP.
useREST È pienamente qualificato per NVMe/TCP.

true Per ONTAP 9.15.1 o versioni successive, altrimenti false.

sanType

Utilizzare per selezionare iscsi iSCSI, nvme NVMe/TCP o fcp SCSI over Fibre Channel (FC). 'fcp' (SCSI over FC) è una funzionalità di anteprima tecnica nella versione Trident 24,10.

iscsi se vuoto

formatOptions

Consente formatOptions di specificare gli argomenti della riga di comando per il mkfs comando, che verranno applicati ogni volta che un volume viene formattato. In questo modo è possibile formattare il volume in base alle proprie preferenze. Assicurarsi di specificare le opzioni formatOptions simili a quelle del comando mkfs, escludendo il percorso del dispositivo. Esempio: "-e nodiscard"

Supportato ontap-san ontap-san-economy solo per i driver e.

limitVolumePoolSize

Dimensioni massime degli FlexVol richiedibili quando si utilizzano le LUN di un backend ONTAP-san-economy.

"" (non applicato per impostazione predefinita)

denyNewVolumePools

Limita ontap-san-economy i backend dalla creazione di nuovi volumi FlexVol per contenere le proprie LUN. Per il provisioning di nuovi PVS vengono utilizzati solo i FlexVol preesistenti.

Consigli per l'uso di formatOptions

Per accelerare il processo di formattazione, Trident consiglia di utilizzare la seguente opzione:

-e nodose:

  • Keep, non tentare di scartare i blocchi al momento di mkfs (scartare inizialmente i blocchi è utile sui dispositivi a stato solido e sullo storage sparse/thin-provisioning). Sostituisce l'opzione obsoleta "-K" ed è applicabile a tutti i file system (xfs, ext3 e ext4).

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

spaceAllocation

Allocazione dello spazio per LUN

"vero"

spaceReserve

Modalità di prenotazione dello spazio; "nessuno" (sottile) o "volume" (spesso)

"nessuno"

snapshotPolicy

Policy di Snapshot da utilizzare

"nessuno"

qosPolicy

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.

""

adaptiveQosPolicy

Gruppo di criteri QoS adattivi da assegnare per i volumi creati. Scegliere tra qosPolicy o adaptiveQosPolicy per pool di storage/backend

""

snapshotReserve

Percentuale di volume riservato agli snapshot

"0" se snapshotPolicy è "nessuno", altrimenti ""

splitOnClone

Separare un clone dal suo padre al momento della creazione

"falso"

encryption

Abilitare la crittografia del volume NetApp (NVE) sul nuovo volume; il valore predefinito è false. NVE deve essere concesso in licenza e abilitato sul cluster per utilizzare questa opzione. Se NAE è abilitato sul backend, qualsiasi volume sottoposto a provisioning in Trident sarà abilitato NAE. Per ulteriori informazioni, fare riferimento a: "Come funziona Trident con NVE e NAE".

"falso"

luksEncryption

Attivare la crittografia LUKS. Fare riferimento a. "Utilizzo di Linux Unified Key Setup (LUKS)".

La crittografia LUKS non è supportata per NVMe/TCP.

""

securityStyle

Stile di sicurezza per nuovi volumi

unix

tieringPolicy

Criterio di tiering da utilizzare "nessuno"

"Solo Snapshot" per la configurazione SVM-DR pre-ONTAP 9,5

nameTemplate

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'
Nota Per tutti i volumi creati utilizzando il ontap-san driver, Trident aggiunge un ulteriore 10% di capacità alla FlexVol per ospitare i metadati LUN. Il LUN viene fornito con le dimensioni esatte richieste dall'utente nel PVC. Trident aggiunge il 10% al FlexVol (mostra come dimensioni disponibili in ONTAP). A questo punto, gli utenti otterranno la quantità di capacità utilizzabile richiesta. Questa modifica impedisce inoltre che le 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 le dimensioni dei volumi come segue:

Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1

1,1 rappresenta il 10% di Trident in più aggiunto alla FlexVol per ospitare i metadati LUN. Per snapshotReserve = 5% e richiesta PVC = 5GiB, la dimensione totale del volume è 5,79GiB e la dimensione disponibile è 5,5GiB. Il volume show comando dovrebbe mostrare risultati simili a questo esempio:

Mostra l'output del comando di visualizzazione del volume.

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.

Nota Se stai utilizzando Amazon FSX su NetApp ONTAP con Trident, ti consigliamo 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 di economia SAN ONTAP
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
  1. esempio

È 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 e omettere dataLIF e. svm parametri. Ad esempio:

---
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
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.

Esempio di SAN ONTAP CHAP
---
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>
Esempio di ONTAP SAN economy CHAP
---
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

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 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}}_{{.volume.RequestName}}"
},
"labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"}
Esempio di formatOptions per il driver </code> <code> 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 su FlexVol. 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 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 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-gold StorageClass verrà mappato al primo pool virtuale in ontap-san back-end. Questo è l'unico pool 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-gold StorageClass eseguirà il mapping al secondo e al terzo pool virtuale in ontap-san back-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: csi.trident.netapp.io
    parameters:
      selector: "protection!=gold"
      fsType: "ext4"
  • Il app-mysqldb StorageClass eseguirà il mapping al terzo pool virtuale in ontap-san-economy back-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: csi.trident.netapp.io
    parameters:
      selector: "app=mysqldb"
      fsType: "ext4"
  • Il protection-silver-creditpoints-20k StorageClass eseguirà il mapping al secondo pool virtuale in ontap-san back-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: csi.trident.netapp.io
    parameters:
      selector: "protection=silver; creditpoints=20000"
      fsType: "ext4"
  • Il creditpoints-5k StorageClass eseguirà il mapping al terzo pool virtuale in ontap-san il back-end e il quarto pool virtuale in ontap-san-economy back-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: csi.trident.netapp.io
    parameters:
      selector: "creditpoints=5000"
      fsType: "ext4"
  • Il my-test-app-sc StorageClass verrà mappato su testAPP pool virtuale in ontap-san conducente con sanType: nvme. Si tratta dell'unica offerta di piscina testApp.

    ---
    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 viene selezionato e garantirà che i requisiti di storage vengano soddisfatti.