Impact de Kerberos sur les performances sur les volumes Azure NetApp Files NFSv4.1
Azure NetApp Files prend en charge le chiffrement client NFS dans les modes Kerberos (krb5, krb5i et krb5p) avec le chiffrement AES-256. Cet article décrit l’impact de Kerberos sur les performances sur les volumes NFSv4.1. Les comparaisons de performances référencées dans cet article sont effectuées par rapport au paramètre de sécurité sec=sys
, en testant sur un seul volume avec un seul client.
Options de sécurité disponibles
Les options de sécurité actuellement disponibles pour les volumes NFSv4.1 sont les suivantes :
- sec = sys utilise des UID et GID UNIX locaux à l’aide d’AUTH_SYS pour authentifier les opérations NFS.
- sec = krb5 utilise Kerberos V5 au lieu des UID et GID UNIX locaux pour authentifier les utilisateurs.
- sec=krb5i utilise Kerberos V5 pour authentifier les utilisateurs et effectuer des vérifications d’intégrité des opérations NFS qui utilisent des sommes de contrôle sécurisées pour prévenir la falsification de données.
- s = krb5p utilise Kerberos V5 pour authentifier les utilisateurs et effectuer des vérifications d’intégrité. Il chiffre le trafic NFS pour empêcher l’espionnage du trafic. Cette option est le paramètre le plus sécurisé, mais elle implique également la surcharge de performance la plus importante.
Vecteurs de performances testés
Cette section décrit l’impact des différentes options de sec=*
sur les performances côté client uniquement.
- L’impact sur les performances a été testé à deux niveaux : faible concurrence (faible charge) et concurrence élevée (limites supérieures d’E/S et débit).
- Trois types de charges de travail ont été testés :
- Lecture/écriture aléatoire de petites opérations (à l’aide de FIO)
- Lecture/écriture aléatoire de grandes opérations (à l’aide de FIO)
- Charge de travail importante de métadonnées telle que générée par les applications, par exemple, git
Impact des performances attendues
Il existe deux zones principales : la charge faible et la limite supérieure. Les listes suivantes décrivent l’impact sur les performances de paramètre de sécurité à paramètre de sécurité et de scénario à scénario.
Étendue de test
- Toutes les comparaisons sont effectuées par rapport au paramètre de sécurité
sec=sys
. - Le test a été effectué sur un seul volume, à l’aide d’un seul client.
Impact sur les performances de krb5 :
- Les IOPS moyennes ont diminué de 53 %
- Le débit moyen a diminué de 53 %
- Latence moyenne augmentée de 0,2 ms
Impact sur les performances de krb5i :
- Les IOPS moyennes ont diminué de 55 %
- Le débit moyen a diminué de 55 %
- La latence moyenne a augmentée de 0,6 ms
Impact sur les performances de krb5p :
- Les IOPS moyennes ont diminué de 77 %
- Le débit moyen a diminué de 77 %
- La latence moyenne a augmentée de 1,6 ms
Considérations relatives aux performances avec nconnect
Il n’est pas recommandé d’utiliser les options de montage nconnect
et sec=krb5*
ensemble. La détérioration des performances a été observée lors de l’utilisation des deux options combinées.
L’interface de programmation d’applications standard de sécurité générique (GSS-API) permet aux applications de protéger les données envoyées aux applications homologues. Ces données peuvent être envoyées d’un client sur un ordinateur à un serveur sur un autre ordinateur.
Lorsque nconnect
est utilisé dans Linux, le contexte de sécurité GSS est partagé entre toutes les connexions nconnect
à un serveur particulier. TCP est un transport fiable qui prend en charge la livraison de paquets non ordonnés pour traiter les paquets non ordonnés dans un flux GSS, à l’aide d’une fenêtre glissante de numéros de séquence. Lorsque les paquets non dans la fenêtre de séquence sont reçus, le contexte de sécurité est ignoré et un nouveau contexte de sécurité est négocié. Tous les messages envoyés dans le contexte maintenant ignoré ne sont plus valides, ce qui oblige les messages à être renvoyés. Un plus grand nombre de paquets dans une configuration nconnect
provoque des paquets non dans la fenêtre fréquents, ce qui déclenche le comportement décrit. Aucun pourcentage de détérioration spécifique ne peut être indiqué avec ce comportement.