Options et exemples de configuration du SAN ONTAP
Découvrez comment créer et utiliser les pilotes SAN ONTAP avec votre installation Astra 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 |
|
|
Nom personnalisé ou système back-end de stockage |
Nom du pilote + "_" + dataLIF |
|
Adresse IP d'un cluster ou d'une LIF de management du SVM. Un nom de domaine complet (FQDN) peut être spécifié. Peut être défini pour utiliser des adresses IPv6 si Astra 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. Ne spécifiez pas pour iSCSI. ASTRA Trident utilise "Mappage de LUN sélectif ONTAP" pour découvrir les LIF iSCI nécessaires pour établir une session à chemins multiples. Un avertissement est généré si |
Dérivé par la SVM |
|
Machine virtuelle de stockage à utiliser omet pour MetroCluster. Voir la [mcc-best]. |
Dérivé si un SVM |
|
Utilisez CHAP pour authentifier iSCSI pour les pilotes SAN ONTAP [Boolean]. Défini sur |
|
|
Secret de l'initiateur CHAP. Requis si |
« » |
|
Ensemble d'étiquettes arbitraires au format JSON à appliquer aux volumes |
« » |
|
Secret de l'initiateur cible CHAP. Requis si |
« » |
|
Nom d'utilisateur entrant. Requis si |
« » |
|
Nom d'utilisateur cible. Requis si |
« » |
|
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 basée sur des certificats. |
« » |
|
Le nom d'utilisateur devait communiquer avec le cluster ONTAP. Utilisé pour l'authentification basée sur les identifiants. |
« » |
|
Mot de passe requis pour communiquer avec le cluster ONTAP. Utilisé pour l'authentification basée sur les identifiants. |
« » |
|
Serveur virtuel de stockage à utiliser |
Dérivé si un SVM |
|
Préfixe utilisé pour le provisionnement des nouveaux volumes dans la SVM. Ne peut pas être modifié ultérieurement. Pour mettre à jour ce paramètre, vous devez créer un nouveau backend. |
|
|
Echec du provisionnement si l'utilisation est supérieure à ce pourcentage. Si vous utilisez un backend Amazon FSX for NetApp ONTAP, ne spécifiez pas |
« » (non appliqué par défaut) |
|
Echec du provisionnement si la taille du volume demandé est supérieure à cette valeur. Restreint également la taille maximale des volumes qu'il gère pour les qtrees et les LUN. |
« » (non appliqué par défaut) |
|
Nombre maximal de LUN par FlexVol, doit être compris dans la plage [50, 200] |
|
|
Indicateurs de débogage à utiliser lors du dépannage. Exemple, {"api":false, "method":true} n'utilisez que si vous effectuez un dépannage et que vous avez besoin d'un vidage de journal détaillé. |
|
|
Paramètre booléen pour utiliser les API REST de ONTAP. |
|
|
Utilisez pour sélectionner |
|
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 la 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 LUN |
« 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. Avec Astra Trident, les groupes de règles de QoS doivent être utilisés avec ONTAP 9.8 ou version ultérieure. Nous recommandons l'utilisation d'un groupe de règles de qualité de service non partagé et nous assurer que le groupe de règles est appliqué à chaque composant individuellement. Un groupe de règles de QoS partagé appliquera le plafond du débit total de toutes les charges de travail. |
« » |
|
Groupe de règles de QoS adaptative à attribuer aux volumes créés. Choisissez une de qosPolicy ou adaptiveQosPolicy par pool de stockage/back-end |
« » |
|
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 » |
|
Activez le cryptage LUKS. Reportez-vous à la "Utiliser la configuration de clé unifiée Linux (LUKS)". Le cryptage LUKS n'est pas pris en charge pour NVMe/TCP. |
« » |
|
Style de sécurité pour les nouveaux volumes |
|
|
Règle de hiérarchisation à utiliser « aucun » |
« Snapshot uniquement » pour la configuration SVM-DR antérieure à ONTAP 9.5 |
|
Modèle pour créer des noms de volume personnalisés. |
« » |
|
Taille maximale des FlexVol pouvant être demandées lors de l'utilisation de LUN dans le back-end ONTAP-san Economy. |
« » (non appliqué par défaut) |
Exemples de provisionnement de volumes
Voici un exemple avec des valeurs par défaut définies :
--- 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'
Pour tous les volumes créés à l'aide ontap-san du pilote, Astra Trident ajoute une capacité supplémentaire de 10 % au FlexVol pour prendre en charge les métadonnées de LUN. La LUN sera provisionnée avec la taille exacte que l'utilisateur demande dans la demande de volume persistant. Astra Trident ajoute 10 % au système FlexVol (dont la taille disponible dans ONTAP). Les utilisateurs obtiennent à présent la capacité utilisable requise. Cette modification empêche également que les LUN ne soient en lecture seule, à moins que l'espace disponible soit pleinement utilisé. Cela ne s'applique pas à l'économie d'ontap-san.
|
Pour les systèmes back-end définis par snapshotReserve
, Astra Trident calcule la taille des volumes comme suit :
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
Le modèle 1.1 est le modèle 10 % d'Astra Trident supplémentaire qui s'ajoute à la baie FlexVol pour prendre en charge les métadonnées de la LUN. Pour snapshotReserve
= 5 % et demande de volume persistant = 5 Gio, la taille totale du volume est de 5,79 Gio et la taille disponible est de 5,5 Gio. `volume show`La commande doit afficher des résultats similaires à cet exemple :
Actuellement, le redimensionnement est le seul moyen d'utiliser le nouveau calcul pour un volume existant.
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 Astra Trident, nous vous recommandons de spécifier des noms DNS pour les LIF au lieu d'adresses IP. |
Exemple de SAN ONTAP
Il s'agit d'une configuration de base utilisant le ontap-san
pilote.
--- 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>
Exemple d'économie SAN ONTAP
--- version: 1 storageDriverName: ontap-san-economy managementLIF: 10.0.0.1 svm: svm_iscsi_eco username: vsadmin password: <password>
-
exemple
Vous pouvez configurer le back-end pour éviter de devoir 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 transparents, préciser le SVM en utilisant managementLIF
et omettre les dataLIF
paramètres et svm
. Par exemple :
--- version: 1 storageDriverName: ontap-san managementLIF: 192.168.1.66 username: vsadmin password: password
Exemple d'authentification basée sur un certificat
Dans cet exemple de configuration de base clientCertificate
, clientPrivateKey
, et trustedCACertificate
(facultatif, si vous utilisez une autorité de certification approuvée) sont renseignés backend.json
et prennent respectivement les valeurs codées en base64 du certificat client, de la clé privée et du certificat de l'autorité de certification approuvée.
--- 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
Exemples CHAP bidirectionnels
Ces exemples créent un back-end avec useCHAP
défini sur 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>
Exemple NVMe/TCP
Un SVM doit être configuré avec NVMe sur votre back-end ONTAP. Il s'agit d'une configuration back-end de base pour 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
Exemple de configuration back-end avec nomTemplate
--- 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}}"}
Exemples de systèmes back-end avec pools virtuels
Dans ces exemples de fichiers de définition back-end, des valeurs par défaut spécifiques sont définies pour tous les pools de stockage, comme spaceReserve
aucun, spaceAllocation
faux et encryption
faux. Les pools virtuels sont définis dans la section stockage.
ASTRA Trident définit les étiquettes de provisionnement dans le champ « Commentaires ». Les commentaires sont définis sur le FlexVol. Astra 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 définissent leurs propres spaceReserve
valeurs , spaceAllocation
et, et encryption
certains pools remplacent les valeurs par défaut.
Exemple de 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'
Exemple d'économie 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'
Exemple 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'
Mappage des systèmes back-end aux classes de stockage
Les définitions de classe de stockage suivantes font référence à la Exemples de systèmes back-end avec pools virtuels. En utilisant ce parameters.selector
champ, 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.
-
La
protection-gold
classe de stockage est mappée sur le premier pool virtuel duontap-san
back-end. Il s'agit du seul pool 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"
-
La
protection-not-gold
classe de stockage sera mappée sur le deuxième et le troisième pool virtuel duontap-san
back-end. Ce sont les seuls pools offrant un niveau de protection autre que 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-mysqldb
classe de stockage sera mappée sur le troisième pool virtuel duontap-san-economy
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"
-
La
protection-silver-creditpoints-20k
classe de stockage sera mappée sur le second pool virtuel duontap-san
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"
-
La
creditpoints-5k
classe de stockage est mappée sur le troisième pool virtuel duontap-san
back-end et le quatrième pool virtuel duontap-san-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"
-
La
my-test-app-sc
classe de stockage est mappée sur letestAPP
pool virtuel duontap-san
pilote avecsanType: nvme
. C'est la seule offre de piscinetestApp
.--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-test-app-sc provisioner: csi.trident.netapp.io parameters: selector: "app=testApp" fsType: "ext4"
Astra Trident va décider du pool virtuel sélectionné et s'assurer que les besoins en stockage sont satisfaits.