ADC

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 de l’hyperviseur KVM Linux peut utiliser la technologie Intel QuickAssist (QAT) pour accélérer les performances SSL de NetScaler. Grâce à Intel QAT, tous les traitements cryptographiques à latence élevée peuvent être déchargés sur la puce, libérant ainsi un ou plusieurs processeurs hôtes pour effectuer d’autres tâches.

Auparavant, tout le traitement cryptographique des chemins de données NetScaler était effectué dans le logiciel à l’aide de processeurs virtuels 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.

Logiciels requis

Limitations

Aucune disposition n’est prévue 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.

Configuration de l’environnement hôte pour utiliser Intel QAT

  1. 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 des packages Intel et les instructions d’installation, consultez le pilote de la technologie Intel QuickAssist pour Linux. Un fichier Lisez-moi est disponible dans le package de téléchargement. Ce fichier fournit des instructions relatives à 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 d’intégrité suivantes :

    • Notez le nombre de puces C62x. Chaque puce C62x possède jusqu’à 3 terminaux PCIe.

    • Assurez-vous que tous les points de terminaison sont actifs. Exécutez la commande adf_ctl status pour afficher l’état de tous les points de terminaison 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 (support VF) pour tous les terminaux 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 terminal, soit un total de 48 VF).
    • Exécutez la commande adf_ctl status pour vérifier que tous les points de terminaison 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. Il a donc 51 points de terminaison (3 + 48 VF) au total.

      adf_ctl status command

  2. Activez SR-IOV sur l’hôte Linux.
  3. 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 performances.

Remarque :

Chaque puce C62x (QAT) peut comporter jusqu’à trois points de terminaison PCI distincts. Chaque point de terminaison est un ensemble logique de VF et partage la bande passante de manière égale avec les autres points de terminaison PCI de la puce. Chaque terminal peut avoir jusqu’à 16 VF qui apparaissent sous la forme de 16 périphériques PCI. Ajoutez ces appareils à la machine virtuelle pour effectuer l’accélération cryptographique à l’aide de la puce QAT.

Points à noter

  • Si l’exigence de chiffrement des machines virtuelles est d’utiliser plus d’un point de terminaison/puce PCI QAT, nous vous recommandons de sélectionner les dispositifs/VF PCI correspondants de manière circulaire pour obtenir une distribution symétrique.
  • Nous recommandons que le nombre de périphériques PCI sélectionnés soit égal au nombre de processeurs virtuels sous licence (sans compter le nombre de processeurs virtuels de gestion). L’ajout d’un nombre de périphériques PCI supérieur au nombre de vCPU disponibles n’améliore pas nécessairement les performances.

    Exemple :

    Prenons l’exemple d’un hôte Linux doté d’une puce Intel C62x dotée de 3 terminaux. Lors du provisionnement d’une machine virtuelle avec 6 vCPU, choisissez 2 VF sur chaque point de terminaison et attribuez-les à la machine virtuelle. Cette attribution garantit 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 les autres vCPU sont disponibles pour les PE du plan de données.

Attribuez des VF QAT à NetScaler VPX déployé sur un hyperviseur KVM Linux

  1. Dans le gestionnaire de machines virtuelles Linux KVM, assurez-vous que la machine virtuelle (NetScaler VPX) est hors tension.

  2. Accédez à Ajouter du matériel > Périphérique hôte PCI.

  3. Assignez Intel QAT VF au périphérique PCI.

    Assignez Intel QAT VF

  4. Cliquez sur Terminer.

  5. Répétez les étapes précédentes pour attribuer un ou plusieurs Intel QAT VF à l’instance NetScaler VPX dans la limite d’un de moins que le nombre total de vCPU. Parce qu’un seul processeur virtuel est réservé au processus de gestion.

    Nombre de VF QAT par machine virtuelle = nombre de processeurs virtuels - 1

  6. Allumez la machine virtuelle.

  7. Exécutez la commande stat ssl dans la CLI NetScaler pour afficher le résumé SSL et vérifiez les cartes SSL après avoir attribué des VF QAT à NetScaler VPX.

    Dans cet exemple, nous avons utilisé 5 vCPU, ce qui implique 4 moteurs de paquets (PE).

    commande stat SSL

À propos du déploiement

Ce déploiement a été testé avec les spécifications des 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
Configurer un NetScaler VPX sur l’hyperviseur KVM pour utiliser Intel QAT pour l’accélération SSL en mode SR-IOV