Options et exemples de configuration du NAS ONTAP
Apprenez à créer et à utiliser des pilotes NAS ONTAP avec votre installation Trident. Cette section fournit des exemples de configuration back-end et des détails sur le mappage des systèmes back-end aux classes de stockage.
Options de configuration du back-end
Voir le tableau suivant pour les options de configuration du back-end :
Paramètre | Description | Valeur par défaut | ||
---|---|---|---|---|
|
Toujours 1 |
|||
|
Nom du pilote de stockage |
« ontap-nas », « ontap-nas-economy », « ontap-nas-flexgroup », « ontap-san », « ontap-san-economy » |
||
|
Nom personnalisé ou système back-end de stockage |
Nom du pilote + "_" + dataLIF |
||
|
Adresse IP d'un cluster ou LIF de gestion De SVM Un nom de domaine complet (FQDN) peut être spécifié. Peut être configuré pour utiliser des adresses IPv6 si Trident a été installé à l'aide de l'indicateur IPv6. Les adresses IPv6 doivent être définies entre crochets, par exemple |
« 10.0.0.1 », « [2001:1234:abcd::fefe] » |
||
|
Adresse IP de la LIF de protocole. Nous vous recommandons de spécifier |
Adresse spécifiée ou dérivée d'un SVM, si non spécifiée (non recommandé) |
||
|
Serveur virtuel de stockage à utiliser |
Dérivé d'un SVM |
||
|
Activer la création et la mise à jour automatiques des règles d'exportation [booléennes]. Grâce aux |
faux |
||
|
Liste des CIDR permettant de filtrer les adresses IP des nœuds Kubernetes par rapport à lorsque |
["0.0.0.0/0", ":/0"]" |
||
|
Ensemble d'étiquettes arbitraires au format JSON à appliquer aux volumes |
« » |
||
|
Valeur encodée en Base64 du certificat client. Utilisé pour l'authentification par certificat |
« » |
||
|
Valeur encodée en Base64 de la clé privée du client. Utilisé pour l'authentification par certificat |
« » |
||
|
Valeur encodée en Base64 du certificat CA de confiance. Facultatif. Utilisé pour l'authentification par certificat |
« » |
||
|
Nom d'utilisateur pour la connexion au cluster/SVM. Utilisé pour l'authentification basée sur les identifiants |
|||
|
Mot de passe pour la connexion au cluster/SVM. Utilisé pour l'authentification basée sur les identifiants |
|||
|
Préfixe utilisé pour le provisionnement des nouveaux volumes dans la SVM. Ne peut pas être mis à jour une fois que vous l'avez défini
|
« trident » |
||
|
Agrégat pour le provisionnement (facultatif ; si défini, doit être attribué au SVM) Pour le
|
« » |
||
|
Echec du provisionnement si l'utilisation est supérieure à ce pourcentage. Ne s'applique pas à Amazon FSX pour ONTAP |
« » (non appliqué par défaut) |
||
FlexgroupAggregateList |
Liste des agrégats pour le provisionnement (facultatif ; si défini, doit être affecté au SVM) Tous les agrégats affectés au SVM sont utilisés pour provisionner un volume FlexGroup. Pris en charge pour le pilote de stockage ONTAP-nas-FlexGroup.
|
« » |
||
|
Echec du provisionnement si la taille du volume demandé est supérieure à cette valeur. Limite également la taille maximale des volumes gérés pour les qtrees et |
« » (non appliqué par défaut) |
||
|
Indicateurs de débogage à utiliser lors du dépannage. Exemple, {"api":false, "method":true} |
nul |
||
|
Configurez la création de volumes NFS ou SMB. Les options sont |
|
||
|
Liste des options de montage NFS séparée par des virgules. Les options de montage des volumes persistants Kubernetes sont normalement spécifiées dans les classes de stockage, mais si aucune option de montage n'est spécifiée dans une classe de stockage, Trident revient à utiliser les options de montage spécifiées dans le fichier de configuration du back-end de stockage. Si aucune option de montage n'est spécifiée dans la classe de stockage ou le fichier de configuration, Trident ne définit aucune option de montage sur un volume persistant associé. |
« » |
||
|
Nombre maximal de qtrees par FlexVol, qui doit être compris dans la plage [50, 300] |
« 200 » |
||
|
Vous pouvez spécifier l'une des options suivantes : le nom d'un partage SMB créé à l'aide de la console de gestion Microsoft ou de l'interface de ligne de commande ONTAP ; un nom permettant à Trident de créer le partage SMB ; ou bien laisser le paramètre vide pour empêcher l'accès au partage commun aux volumes. Ce paramètre est facultatif pour les ONTAP sur site. Ce paramètre est requis pour Amazon FSX pour les systèmes back-end ONTAP et ne peut pas être vide. |
|
||
|
Paramètre booléen pour utiliser les API REST de ONTAP. |
|
||
|
Taille de FlexVol maximale requise lors de l'utilisation de qtrees dans le back-end ONTAP-nas-Economy. |
« » (non appliqué par défaut) |
||
|
Empêche les |
Options de configuration back-end pour les volumes de provisionnement
Vous pouvez contrôler le provisionnement par défaut à l'aide de ces options dans defaults
section de la configuration. Pour un exemple, voir les exemples de configuration ci-dessous.
Paramètre | Description | Valeur par défaut |
---|---|---|
|
Allocation d'espace pour les qtrees |
« vrai » |
|
Mode de réservation d'espace ; « aucun » (fin) ou « volume » (épais) |
« aucun » |
|
Règle Snapshot à utiliser |
« aucun » |
|
QoS policy group à affecter pour les volumes créés. Choisissez une de qosPolicy ou adaptiveQosPolicy par pool de stockage/back-end |
« » |
|
Groupe de règles de QoS adaptative à attribuer aux volumes créés. Choisissez une de qosPolicy ou adaptiveQosPolicy par pool de stockage/back-end. Non pris en charge par l'économie ontap-nas. |
« » |
|
Pourcentage de volume réservé pour les snapshots |
« 0 » si |
|
Séparer un clone de son parent lors de sa création |
« faux » |
|
Activez le chiffrement de volume NetApp (NVE) sur le nouveau volume. La valeur par défaut est |
« faux » |
|
Règle de hiérarchisation à utiliser « aucun » |
« Snapshot uniquement » pour la configuration SVM-DR antérieure à ONTAP 9.5 |
|
Mode pour les nouveaux volumes |
« 777 » pour les volumes NFS ; vide (non applicable) pour les volumes SMB |
|
Contrôle l'accès au |
« True » pour NFSv4 « false » pour NFSv3 |
|
Export policy à utiliser |
« par défaut » |
|
Style de sécurité pour les nouveaux volumes. Prise en charge de NFS |
NFS par défaut est |
|
Modèle pour créer des noms de volume personnalisés. |
« » |
L'utilisation de groupes de règles de qualité de service avec Trident nécessite ONTAP 9.8 ou une version ultérieure. Vous devez utiliser un groupe de règles QoS non partagé et vous assurer que le groupe de règles est appliqué à chaque composant individuellement. Un groupe de règles de QoS partagées applique le débit total de toutes les charges de travail. |
Exemples de provisionnement de volumes
Voici un exemple avec des valeurs par défaut définies :
--- 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'
Pour ontap-nas
et ontap-nas-flexgroups
, Trident utilise maintenant un nouveau calcul pour s'assurer que le FlexVol est correctement dimensionné avec le pourcentage snapshotReserve et le PVC. Lorsque l'utilisateur demande une demande de volume persistant, Trident crée la FlexVol d'origine avec plus d'espace en utilisant le nouveau calcul. Ce calcul garantit que l'utilisateur reçoit l'espace inscriptible demandé dans la demande de volume persistant et qu'il ne dispose pas d'un espace minimal par rapport à ce qu'il a demandé. Avant le 21.07, lorsque l'utilisateur demande une demande de volume persistant (par exemple, 5 Gio), et le snapshotReserve à 50 %, ils ne bénéficient que d'un espace inscriptible de 2,5 Gio. En effet, ce que l'utilisateur a demandé est le volume entier et est un pourcentage de ce volume snapshotReserve
. Avec Trident 21.07, l'utilisateur demande l'espace inscriptible, et Trident définit le snapshotReserve
nombre comme le pourcentage du volume dans son ensemble. Cela ne s'applique pas à ontap-nas-economy
. Voir l'exemple suivant pour voir comment cela fonctionne :
Le calcul est le suivant :
Total volume size = (PVC requested size) / (1 - (snapshotReserve percentage) / 100)
Pour les snapshots Reserve = 50 %, et demande en volume PVC = 5 Gio, la taille totale du volume est 2/0,5 = 10 Gio et la taille disponible est de 5 Gio, ce que l'utilisateur a demandé dans la demande de demande de volume persistant. Le volume show
la commande doit afficher des résultats similaires à cet exemple :
Les systèmes back-end des installations précédentes provisionnent les volumes comme expliqué ci-dessus lors de la mise à niveau de Trident. Pour les volumes que vous avez créés avant la mise à niveau, vous devez redimensionner leurs volumes afin que la modification puisse être observée. Par exemple, une demande de volume persistant de 2 Gio associée à snapshotReserve=50
la précédente a donné lieu à un volume qui fournit 1 Gio d'espace inscriptible. Le redimensionnement du volume à 3 Gio, par exemple, fournit l'application avec 3 Gio d'espace inscriptible sur un volume de 6 Gio.
Exemples de configuration minimaux
Les exemples suivants montrent des configurations de base qui laissent la plupart des paramètres par défaut. C'est la façon la plus simple de définir un back-end.
Si vous utilisez Amazon FSX sur NetApp ONTAP avec Trident, nous vous recommandons de spécifier des noms DNS pour les LIF au lieu d'adresses IP. |
Exemple d'économie NAS ONTAP
--- version: 1 storageDriverName: ontap-nas-economy managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
Exemple de FlexGroup NAS ONTAP
--- version: 1 storageDriverName: ontap-nas-flexgroup managementLIF: 10.0.0.1 dataLIF: 10.0.0.2 svm: svm_nfs username: vsadmin password: password
Exemple MetroCluster
Vous pouvez configurer le back-end pour éviter d'avoir à mettre à jour manuellement la définition du back-end après le basculement et le rétablissement pendant "Réplication et restauration des SVM".
Pour un basculement et un rétablissement fluides, préciser le SVM en utilisant managementLIF
et omettre le dataLIF
et svm
paramètres. Par exemple :
--- version: 1 storageDriverName: ontap-nas managementLIF: 192.168.1.66 username: vsadmin password: password
Exemple de volumes 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
Exemple d'authentification basée sur un certificat
Il s'agit d'un exemple de configuration back-end minimal. clientCertificate
, clientPrivateKey
, et trustedCACertificate
(Facultatif, si vous utilisez une autorité de certification approuvée) est renseigné backend.json
Et prendre les valeurs codées en base64 du certificat client, de la clé privée et du certificat CA de confiance, respectivement.
--- 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_
Exemple de règle d'export automatique
Cet exemple montre comment vous pouvez demander à Trident d'utiliser des règles d'export dynamiques pour créer et gérer automatiquement les règles d'export. Cela fonctionne de la même manière pour les ontap-nas-economy
pilotes et ontap-nas-flexgroup
.
--- 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
Exemple d'adresses IPv6
Cet exemple montre managementLIF
Utilisation d'une adresse 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
Exemple d'Amazon FSX pour ONTAP avec des volumes SMB
Le smbShare
Paramètre obligatoire pour FSX for ONTAP utilisant des volumes 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_
Exemple de configuration back-end avec nomTemplate
--- 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}}"}
Exemples de systèmes back-end avec pools virtuels
Dans les exemples de fichiers de définition back-end présentés ci-dessous, des valeurs par défaut spécifiques sont définies pour tous les pools de stockage, tels que spaceReserve
aucune, spaceAllocation
lors de la fausse idée, et encryption
faux. Les pools virtuels sont définis dans la section stockage.
Trident définit les étiquettes de provisionnement dans le champ « Commentaires ». Les commentaires sont définis sur FlexVol pour ontap-nas
ou FlexGroup pour ontap-nas-flexgroup
. Trident copie toutes les étiquettes présentes sur un pool virtuel vers le volume de stockage lors du provisionnement. Pour plus de commodité, les administrateurs du stockage peuvent définir des étiquettes par pool virtuel et les volumes de groupe par étiquette.
Dans ces exemples, certains pools de stockage sont définis comme étant leurs propres spaceReserve
, spaceAllocation
, et encryption
et certains pools remplacent les valeurs par défaut.
Exemple de 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'
Exemple de FlexGroup NAS 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'
Exemple d'économie 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'
Mappage des systèmes back-end aux classes de stockage
Les définitions de classe de stockage suivantes se rapportent à Exemples de systèmes back-end avec pools virtuels. À l'aide du parameters.selector
Chaque classe de stockage indique quels pools virtuels peuvent être utilisés pour héberger un volume. Les aspects définis dans le pool virtuel sélectionné seront définis pour le volume.
-
Le
protection-gold
StorageClass sera mappé au premier et au deuxième pool virtuel de laontap-nas-flexgroup
back-end. Il s'agit des seuls pools offrant une protection de niveau Gold.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4"
-
Le
protection-not-gold
StorageClass sera mappé au troisième et au quatrième pool virtuel duontap-nas-flexgroup
back-end. Ce sont les seuls pools offrant un niveau de protection autre que l'or.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4"
-
Le
app-mysqldb
StorageClass sera mappé sur le quatrième pool virtuel duontap-nas
back-end. Il s'agit du seul pool offrant la configuration du pool de stockage pour l'application de type mysqldb.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 sera mappé sur le troisième pool virtuel duontap-nas-flexgroup
back-end. Il s'agit de la seule piscine offrant une protection de niveau argent et 20000 points de crédit.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"
-
Le
creditpoints-5k
StorageClass sera mappé sur le troisième pool virtuel duontap-nas
back-end et le second pool virtuel dansontap-nas-economy
back-end. Il s'agit des seules offres de pool avec 5000 points de crédit.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4"
Trident décide du pool virtuel sélectionné et s'assure que les besoins en stockage sont satisfaits.
Mise à jour dataLIF
après la configuration initiale
Vous pouvez modifier la LIF de données après la configuration initiale en exécutant la commande suivante pour fournir le nouveau fichier JSON back-end avec la LIF de données mise à jour.
tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
Si des demandes de volume persistant sont associées à un ou plusieurs pods, tous les pods correspondants doivent être arrêtés, puis réintégrés dans le but de permettre la nouvelle LIF de données d'être effective. |