Configurer un NetScaler VPX sur l’hyperviseur KVM pour utiliser Intel QAT pour l’accélération SSL en mode SR-IOV
L’instance NetScaler VPX sur l’hyperviseur Linux KVM peut utiliser la technologie Intel QuickAssist (QAT) pour accélérer les performances SSL de NetScaler. En utilisant Intel QAT, tout le traitement cryptographique à forte latence peut être déchargé sur la puce, libérant ainsi un ou plusieurs processeurs hôtes pour d’autres tâches.
Auparavant, tout le traitement cryptographique du chemin de données NetScaler® était effectué dans le logiciel à l’aide des vCPU hôtes.
Remarque :
Actuellement, NetScaler VPX ne prend en charge que le modèle de puce C62x de la famille Intel QAT. Cette fonctionnalité est prise en charge à partir de la version 14.1 build 8.50 de NetScaler.
Prérequis
-
L’hôte Linux est équipé d’une puce Intel QAT C62x, soit intégrée directement à la carte mère, soit ajoutée sur une carte PCI externe.
Modèles de la série Intel QAT C62x : C625, C626, C627, C628. Seuls ces modèles C62x incluent la capacité de chiffrement à clé publique (PKE). Les autres variantes C62x ne prennent pas en charge le PKE.
-
Le NetScaler VPX répond aux exigences matérielles de VMware ESX. Pour plus d’informations, consultez Installer une instance NetScaler VPX sur la plate-forme Linux KVM.
Limitations
Il n’y a aucune disposition pour réserver des unités cryptographiques ou de la bande passante pour des machines virtuelles individuelles. Toutes les unités cryptographiques disponibles de tout matériel Intel QAT sont partagées entre toutes les machines virtuelles utilisant le matériel QAT.
Configurer l’environnement hôte pour l’utilisation d’Intel QAT
-
Téléchargez et installez le pilote fourni par Intel pour le modèle de puce de la série C62x (QAT) sur l’hôte Linux. Pour plus d’informations sur les téléchargements de packages Intel et les instructions d’installation, consultez Pilote Intel QuickAssist Technology pour Linux. Un fichier readme est disponible dans le package de téléchargement. Ce fichier fournit des instructions sur la compilation et l’installation du package sur l’hôte.
Après avoir téléchargé et installé le pilote, effectuez les vérifications de bon fonctionnement suivantes :
-
Notez le nombre de puces C62x. Chaque puce C62x possède jusqu’à 3 points d’extrémité PCIe.
-
Assurez-vous que tous les points d’extrémité sont ACTIFS. Exécutez la commande
adf_ctl statuspour afficher l’état de tous les points d’extrémité PF (jusqu’à 3).root@Super-Server:~# adf_ctl status Checking status of all devices. There is 51 QAT acceleration device(s) in the system qat_dev0 - type: c6xx, inst_id: 0, node_id: 0, bsf: 0000:1a:00.0, #accel: 5 #engines: 10 state: up qat_dev1 - type: c6xx, inst_id: 1, node_id: 0, bsf: 0000:1b:00.0, #accel: 5 #engines: 10 state: up qat_dev2 - type: c6xx, inst_id: 2, node_id: 0, bsf: 0000:1c:00.0, #accel: 5 #engines: 10 state: up <!--NeedCopy--> -
Activez SRIOV (prise en charge des VF) pour tous les points d’extrémité QAT.
root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1a\:00.0/sriov_numvfs root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1b\:00.0/sriov_numvfs root@Super-Server:~# echo 1 > /sys/bus/pci/devices/0000\:1c\:00.0/sriov_numvfs <!--NeedCopy--> - Assurez-vous que tous les VF sont affichés (16 VF par point d’extrémité, pour un total de 48 VF).
-
Exécutez la commande adf_ctl status pour vérifier que tous les points d’extrémité PF (jusqu’à 3) et les VF de chaque puce Intel QAT sont ACTIFS. Dans cet exemple, le système ne possède qu’une seule puce C62x. Ainsi, il dispose d’un total de 51 points d’extrémité (3 + 48 VF).

-
- Activez SR-IOV sur l’hôte Linux.
- Créez des machines virtuelles. Lors de la création d’une machine virtuelle, attribuez le nombre approprié de périphériques PCI pour répondre aux exigences de performance.
Remarque :
Chaque puce C62x (QAT) peut avoir jusqu’à trois points d’extrémité PCI distincts. Chaque point d’extrémité est une collection logique de VF et partage la bande passante de manière égale avec les autres points d’extrémité PCI de la puce. Chaque point d’extrémité peut avoir jusqu’à 16 VF qui apparaissent comme 16 périphériques PCI. Ajoutez ces périphériques à la machine virtuelle pour effectuer l’accélération cryptographique à l’aide de la puce QAT.
Points à noter
- Si l’exigence cryptographique de la machine virtuelle est d’utiliser plus d’un point d’extrémité/puce PCI QAT, nous vous recommandons de choisir les périphériques/VF PCI correspondants de manière alternée (round-robin) pour obtenir une distribution symétrique.
-
Nous recommandons que le nombre de périphériques PCI sélectionnés soit égal au nombre de vCPU sous licence (sans inclure le nombre de vCPU de gestion). L’ajout de périphériques PCI supplémentaires par rapport au nombre de vCPU disponibles n’améliore pas nécessairement les performances.
Exemple :
Considérez un hôte Linux avec une puce Intel C62x qui possède 3 points d’extrémité. Lors du provisionnement d’une machine virtuelle avec 6 vCPU, choisissez 2 VF de chaque point d’extrémité et attribuez-les à la machine virtuelle. Cette attribution assure une distribution efficace et égale des unités cryptographiques pour la machine virtuelle. Parmi le total des vCPU disponibles, par défaut, un vCPU est réservé au plan de gestion, et le reste des vCPU est disponible pour les PE du plan de données.
Attribuer des VF QAT à NetScaler VPX déployé sur l’hyperviseur KVM Linux
-
Dans le gestionnaire de machines virtuelles Linux KVM, assurez-vous que la VM (NetScaler VPX) est éteinte.
-
Accédez à Ajouter du matériel > Périphérique hôte PCI.
-
Attribuez l’Intel QAT VF au périphérique PCI.

-
Cliquez sur Terminer.
-
Répétez les étapes précédentes pour attribuer un ou plusieurs VF Intel QAT à l’instance NetScaler VPX, jusqu’à la limite d’un de moins que le nombre total de vCPU. En effet, un vCPU est réservé au processus de gestion.
Nombre de VF QAT par VM = Nombre de vCPU - 1
-
Mettez la VM sous tension.
-
Exécutez la commande
stat ssldans l’interface de ligne de commande de NetScaler pour afficher le résumé SSL et vérifier les cartes SSL après avoir attribué les VF QAT à NetScaler VPX.Dans cet exemple, nous avons utilisé 5 vCPU, ce qui implique 4 moteurs de paquets (PE).

À propos du déploiement
Ce déploiement a été testé avec les spécifications de composants suivantes :
- Version et build de NetScaler VPX : 14.1–8.50
- Version d’Ubuntu : 18.04, Noyau 5.4.0-146
- Version du pilote Intel C62x QAT pour Linux : L.4.21.0-00001