ADC

Konfigurieren Sie einen NetScaler VPX auf dem KVM-Hypervisor, um Intel QAT für die SSL-Beschleunigung im SR-IOV-Modus zu verwenden

Die NetScaler VPX-Instanz auf dem Linux-KVM-Hypervisor kann die Intel QuickAssist Technology (QAT) verwenden, um die NetScaler SSL-Leistung zu beschleunigen. Mithilfe von Intel QAT kann die gesamte Kryptoverarbeitung mit hoher Latenz auf den Chip verlagert werden, sodass eine oder mehrere Host-CPUs für andere Aufgaben frei werden.

Zuvor wurde die gesamte Kryptoverarbeitung von NetScaler-Datenpfaden in der Software mithilfe von Host-vCPUs durchgeführt.

Hinweis:

Derzeit unterstützt NetScaler VPX nur das C62x-Chipmodell der Intel QAT-Familie. Diese Funktion wird ab NetScaler Version 14.1 Build 8.50 unterstützt.

Voraussetzungen

Einschränkungen

Es ist nicht vorgesehen, Kryptoeinheiten oder Bandbreite für einzelne VMs zu reservieren. Alle verfügbaren Kryptoeinheiten jeder Intel QAT-Hardware werden von allen VMs gemeinsam genutzt, die die QAT-Hardware verwenden.

Richten Sie die Host-Umgebung für die Verwendung von Intel QAT ein

  1. Laden Sie den von Intel bereitgestellten Treiber für das Chipmodell der C62x-Serie (QAT) herunter und installieren Sie ihn auf dem Linux-Host. Weitere Informationen zu den Paket-Downloads und Installationsanweisungen von Intel finden Sie unter Treiber für die Intel QuickAssist-Technologie für Linux. Eine Readme-Datei ist als Teil des Download-Pakets verfügbar. Diese Datei enthält Anweisungen zum Kompilieren und Installieren des Pakets auf dem Host.

    Nachdem Sie den Treiber heruntergeladen und installiert haben, führen Sie die folgenden Plausibilitätsprüfungen durch:

    • Notieren Sie sich die Anzahl der C62x-Chips. Jeder C62x-Chip hat bis zu 3 PCIe-Endpunkte.

    • Stellen Sie sicher, dass alle Endpunkte aktiv sind. Führen Sie den Befehl adf_ctl status aus, um den Status aller PF-Endpunkte (bis zu 3) anzuzeigen.

       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-->
      
    • Aktivieren Sie SRIOV (VF-Unterstützung) für alle QAT-Endpunkte.

       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-->
      
    • Stellen Sie sicher, dass alle VFs angezeigt werden (16 VFs pro Endpunkt, insgesamt 48 VFs).
    • Führen Sie den Befehl adf_ctl status aus, um zu überprüfen, ob alle PF-Endpunkte (bis zu 3) und die VFs jedes Intel QAT-Chips AKTIV sind. In diesem Beispiel hat das System nur einen C62x-Chip. Es hat also insgesamt 51 Endpunkte (3 + 48 VFs).

      Befehl adf_ctl status

  2. Aktivieren Sie SR-IOV auf dem Linux-Host.
  3. Erstellen Sie virtuelle Maschinen. Weisen Sie beim Erstellen einer VM die entsprechende Anzahl von PCI-Geräten zu, um die Leistungsanforderungen zu erfüllen.

Hinweis:

Jeder C62x (QAT) -Chip kann bis zu drei separate PCI-Endpunkte haben. Jeder Endpunkt ist eine logische Sammlung von VFs und teilt sich die Bandbreite zu gleichen Teilen mit anderen PCI-Endpunkten des Chips. Jeder Endpunkt kann bis zu 16 VFs haben, die als 16 PCI-Geräte angezeigt werden. Fügen Sie diese Geräte zur VM hinzu, um die Kryptobeschleunigung mithilfe des QAT-Chips durchzuführen.

Wichtige Hinweise

  • Wenn die VM-Kryptoanforderung darin besteht, mehr als einen QAT-PCI-Endpunkt/-Chip zu verwenden, empfehlen wir, dass Sie die entsprechenden PCI-Geräte/VFs nach dem Round-Robin-Verfahren auswählen, um eine symmetrische Verteilung zu erzielen.
  • Wir empfehlen, dass die Anzahl der ausgewählten PCI-Geräte der Anzahl der lizenzierten vCPUs entspricht (ohne die Anzahl der Verwaltungs-vCPUs einzubeziehen). Das Hinzufügen von mehr PCI-Geräten als die verfügbare Anzahl an vCPUs verbessert nicht unbedingt die Leistung.

    Beispiel:

    Stellen Sie sich einen Linux-Host mit einem Intel C62x-Chip vor, der über 3 Endpunkte verfügt. Wählen Sie bei der Bereitstellung einer VM mit 6 vCPUs 2 VFs von jedem Endpunkt aus und weisen Sie sie der VM zu. Diese Zuordnung gewährleistet eine effektive und gleichmäßige Verteilung der Kryptoeinheiten für die VM. Von den insgesamt verfügbaren vCPUs ist standardmäßig eine vCPU für die Managementebene reserviert, und die übrigen vCPUs sind für die PEs der Datenebene verfügbar.

Weisen Sie QAT-VFs NetScaler VPX zu, das auf dem Linux-KVM-Hypervisor bereitgestellt wird

  1. Stellen Sie im Linux KVM Virtual Machine Manager sicher, dass die VM (NetScaler VPX) ausgeschaltet ist.

  2. Navigieren Sie zu Hardware hinzufügen > PCI-Hostgerät.

  3. Weisen Sie dem PCI-Gerät Intel QAT VF zu.

    Intel QAT VF zuweisen

  4. Klicken Sie auf Fertig stellen.

  5. Wiederholen Sie die vorherigen Schritte, um der NetScaler VPX-Instanz ein oder mehrere Intel QAT-VFs zuzuweisen, bis zu einer Grenze, die unter der Gesamtzahl der vCPUs liegt. Weil eine vCPU für den Verwaltungsprozess reserviert ist.

    Anzahl der QAT-VFs pro VM = Anzahl der vCPUs — 1

  6. Schalten Sie die VM ein.

  7. Führen Sie den stat ssl Befehl in der NetScaler CLI aus, um die SSL-Zusammenfassung anzuzeigen, und überprüfen Sie die SSL-Karten, nachdem Sie NetScaler VPX QAT-VFs zugewiesen haben.

    In diesem Beispiel haben wir 5 vCPUs verwendet, was 4 Packet Engines (PES) impliziert.

    stat-SSL-Befehl

Über den Einsatz

Diese Bereitstellung wurde mit den folgenden Komponentenspezifikationen getestet:

  • NetScaler VPX Version und Build: 14.1—8.50
  • Ubuntu-Version: 18.04, Kernel 5.4.0-146
  • Intel C62x QAT-Treiberversion für Linux : L.4.21.0-00001
Konfigurieren Sie einen NetScaler VPX auf dem KVM-Hypervisor, um Intel QAT für die SSL-Beschleunigung im SR-IOV-Modus zu verwenden