Stellen Sie ein NetScaler BLX-Gerät mit DPDK-Unterstützung bereit

NetScaler BLX-Geräte unterstützen das Data Plane Development Kit (DPDK), eine Reihe von Linux-Bibliotheken und Netzwerkschnittstellen-Controllern für eine bessere Netzwerkleistung. Ein BLX-Gerät mit DPDK-Unterstützung funktioniert nur im dedizierten Netzwerkmodus. Die Bereitstellung einer BLX-Appliance mit DPDK-Unterstützung auf einem Linux-Host umfasst die folgenden Schritte:

  • Herunterladen, Installieren und Kompilieren der DPDK-Bibliotheken auf dem Linux-Host
  • Konfigurieren Sie DPDK auf dem Linux-Host
  • Konfigurieren Sie das BLX-Gerät für DPDK-Unterstützung
  • Erstmaliges Einrichten der Management-IP-Adresse der BLX-Appliance
  • Starten der BLX-Appliance

Herunterladen, Installieren und Kompilieren der DPDK-Bibliotheken auf dem Linux-Host

DPDK-Bibliotheken werden auf der offiziellen DPDK-Website gehostet. Die Installation der DPDK-Bibliotheken auf dem Linux-Host besteht aus dem Extrahieren des DPDK-Pakets, dem Festlegen von DPDK-Umgebungsvariablen und dem Kompilieren der DPDK-Bibliotheken.

So laden Sie die unterstützten DPDK-Bibliotheken auf den Linux-Hostherunter:

  1. Greifen Sie auf die offizielle DPDK-Download-Seite zu.

  2. Laden Sie die folgende unterstützte DPDK-Paketversion auf den Linux-Host herunter:

    DPDK 17.11.6 (LTS)

Nachdem Sie die DPDK-Bibliotheken heruntergeladen haben, extrahieren Sie das DPDK-Paket auf dem Linux-Host, legen Sie die DPDK-Umgebungsvariable RTE_SDK fest und kompilieren Sie dann die DPDK-Bibliotheken:

export RTE_SDK=<path to the extracted DPDK installation directory on the Linux host>

Weitere Informationen zur Installation und Kompilierung von DPDK auf einem Linux-Gerät finden Sie in der offiziellen DPDK-Dokumentation unter Offizielle DPDK-Dokumentation.

Konfigurieren Sie DPDK auf dem Linux-Host

Nach der Installation der DPDK-Bibliotheken müssen Sie DPDK auf dem Linux-Host konfigurieren. Die Konfiguration von DPDK umfasst die folgenden Aufgaben:

  • Einfügen des DPDK IGB UIO Kernelmoduls
  • Binden Sie die für das BLX-Gerät zu verwendenden NIC-Ports des Linux-Hosts an das DPDK IGB UIO-Modul.
  • Richten Sie riesige Seiten für DPDK ein

Verwenden Sie zum Ausführen dieser Aufgaben das DPDK-Setup-Skript (dpdk-setup.sh), das sich im DPDK-Unterverzeichnis usertools befindet.

Notiz

Die folgenden DPDK-bezogenen Verfahren werden zu Ihrer Bequemlichkeit hinzugefügt. Weitere Informationen zum Konfigurieren von DPDK auf einem Linux-System finden Sie in der offiziellen DPDK-Dokumentation unter Offizielle DPDK-Dokumentation.

Einfügen des DPDK IGB UIO Kernelmoduls

So fügen Sie das DPDK IGB UIO-Kernelmodulein:

  1. Führen Sie das Skript dpdk-setup.sh aus:

    bash $RTE_SDK/usertools/dpdk-setup.sh

  2. Geben Sie in der Benutzeraufforderung die Option 17 ein und drücken Sie die Eingabetaste.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 17
    
    <!--NeedCopy-->
    

Binden Sie die NIC-Ports des Linux-Hosts an das DPDK IGB UIO-Modul

So binden Sie die NIC-Ports des Linux-Hosts an das DPDK IGB UIO-Modul:

  1. Führen Sie das Skript dpdk-setup.sh aus:

    ./$RTE_SDK/usertoos/dpdk-setup.sh

  2. Geben Sie in der Benutzeraufforderung die Option 23 ein und drücken Sie die Eingabetaste.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 23
    
    <!--NeedCopy-->
    
  3. Geben Sie die PCI-Adresse des Linux-Host-Ports, den Sie an das DPDK IGB UIO-Kernelmodul binden möchten, in die Benutzereingabeaufforderung ein und drücken Sie die Eingabetaste:

    
    Network devices using DPDK-compatible driver
    ============================================
    0000:83:00.1 'I350 Gigabit Fiber Network Connection 1522' drv=igb_uio unused=igb
    
    Network devices using kernel driver
    ===================================
    0000:01:00.0 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno1 drv=ixgbe unused=igb_uio *Active*
    0000:01:00.1 'Ethernet Controller 10-Gigabit X540-AT2 1528' if=eno2 drv=ixgbe unused=igb_uio
    0000:83:00.0 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f0 drv=igb unused=igb_uio
    0000:02:00.0 'Ethernet Controller XL710 for 40GbE QSFP+ 1584' drv=i40e unused=igb_uio. << add
    0000:83:00.2 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f2 drv=igb unused=igb_uio
    0000:83:00.3 'I350 Gigabit Fiber Network Connection 1522' if=enp131s0f3 drv=igb unused=igb_uio
    0000:84:00.0 'I350 Gigabit Fiber Network Connection 1522' if=enp132s0f0 drv=igb unused=igb_uio
    0000:84:00.1 'I350 Gigabit Fiber Network Connection 1522' if=enp132s0f1 drv=igb unused=igb_uio
    ………..
    Mempool devices using kernel driver
    ===================================
    <none>
    
    Other Mempool devices
    =====================
    <none>
    
    
    Enter PCI address of device to bind to IGB UIO driver: 0000:02:00.0
    
    <!--NeedCopy-->
    
  4. Wiederholen Sie die obigen Schritte, um einen anderen Linux-Host-Netzwerkport an das DPDK IGB UIO-Modul zu binden.

Richten Sie riesige Seiten für DPDK ein

So richten Sie riesige Seiten für DPDKein:

  1. Führen Sie das Skript dpdk-setup.sh aus:

    ./$RTE_SDK/usertoos/dpdk-setup.sh

  2. Geben Sie in der Benutzeraufforderung die Option 20 oder 21ein, basierend auf der Speicherarchitektur des Linux-Hosts, und drücken Sie die Eingabetaste.

    .
    .
    [17] Insert IGB UIO module
    [18] Insert VFIO module
    [19] Insert KNI module
    [20] Setup hugepage mappings for non-NUMA systems.
    [21] Setup hugepage mappings for NUMA systems
    [22] Display current Ethernet/Crypto device settings
    [23] Bind Ethernet/Crypto device to IGB UIO module
    [24] Bind Ethernet/Crypto device to VFIO module
    [25] Setup VFIO permissions
    .
    .
    ………………
    [34] Exit Script
    
    Option: 21
    
    <!--NeedCopy-->
    
  3. Geben Sie in der Benutzeraufforderung die Anzahl der Hugepagesein, die für DPDK reserviert werden sollen, und drücken Sie die Eingabetaste:

    Removing currently reserved hugepages
    Unmounting /mnt/huge and removing directory
    
    Input the number of 2048kB hugepages
    Example: to have 128MB of hugepages available in a 2MB huge page system,
    enter '64' to reserve 64 * 2MB pages
    
    Number of pages: 1024
    
    Reserving hugepages
    Creating /mnt/huge and mounting as hugetlbfs
    
    <!--NeedCopy-->
    

Konfigurieren Sie das BLX-Gerät für DPDK-Unterstützung

Um das BLX-Gerät für DPDK-Unterstützung zu konfigurieren, müssen Sie den folgenden Parameter in der BLX-Konfigurationsdatei (blx.conf) festlegen.

  • DPDK-Konfiguration. Dieser Parameter ermöglicht den Start des BLX-Geräts im DPDK-Modus für eine bessere Leistung. Außerdem gibt dieser Parameter die Anzahl der Paket-Engines an, die vom BLX-Gerät mit DPDK-Unterstützung verwendet werden sollen. Der Standardwert ist auf 8 (0xff) eingestellt. Die maximale Anzahl von Paket-Engines, die vom BLX-Gerät mit DPDK-Unterstützung unterstützt werden, beträgt 28.

Notiz

Nachdem Sie den DPDK-Konfigurationsparameter festgelegt und das BLX-Gerät gestartet haben, werden die DPDK-gebundenen Linux-NIC-Ports automatisch als Teil des BLX-Geräts hinzugefügt.

So konfigurieren Sie das BLX-Gerät für DPDK-Unterstützung:

  1. Öffnen Sie die im Linux-Host vorhandene BLX-Konfigurationsdatei (blx.conf). Der vollständige Pfad der BLX-Konfigurationsdatei lautet:

    /etc/blx/blx.conf

  2. Entfernen Sie die Kommentarzeichen aus der folgenden Zeile, die den Parameter dpdk-config enthält, in der BLX-Konfigurationsdatei (blx.conf), indem Sie das # (Raute-Symbol) am Anfang der Zeile entfernen:

    # dpdk-config: -c 0xff

    Beispielkonfiguration

    Im folgenden Beispielauszug einer blx.conf -Datei ist die Parametereinstellung dpdk-config aktiviert.

    .
    .
    # dpdk EAL core mask parameter. Applicable only when blx-dpdk is installed.
    
    dpdk-config: -c 0xff
    .
    .
    <!--NeedCopy-->
    

Erstmaliges Einrichten der Management-IP-Adresse der BLX-Appliance

Die Verwaltungs-IP-Adresse eines BLX-Geräts ist die IP-Adresse, unter der Sie zu Verwaltungszwecken auf das Gerät zugreifen. Die Verwaltungs-IP-Adresse des BLX-Geräts wird auch als Citrix ADC-IP-Adresse (NSIP) bezeichnet.

Ein BLX-Gerät kann nur eine Citrix ADC-IP-Adresse (NSIP) haben. Außerdem müssen Sie eine Standardroute für das konfigurierte Citrix ADC-IP-Subnetz hinzufügen, damit die Citrix ADC-IP von anderen Netzwerken im LAN aus erreichbar wird.

Um die Verwaltungs-IP-Adresse des BLX-Geräts zum ersten Mal einzurichten, müssen Sie die entsprechenden Parameter in der BLX-Konfigurationsdatei (blx.conf) festlegen.

So legen Sie die Verwaltungs-IP-Adresse und die Standardroute zum ersten Mal fest:

  1. Öffnen Sie die im Linux-Host vorhandene BLX-Konfigurationsdatei (blx.conf). Der vollständige Pfad der BLX-Konfigurationsdatei lautet:

    /etc/blx/blx.conf

  2. Entfernen Sie die Kommentarzeichen aus dem folgenden Parameter und legen Sie die Verwaltungs-IP-Adresse fest:

    # ipaddress:

  3. Entfernen Sie die Kommentarzeichen aus dem folgenden Parameter und legen Sie die Standardroute im Abschnitt „Statische Route“ fest:

    # default

Beispielkonfiguration:

Im folgenden Beispielauszug einer blx.conf-Dateiwerden die Verwaltungs-IP-Adresse und die Standardroute festgelegt:

.
.

ipaddress: 203.0.113.10
.
.
default 203.0.113.1
.
.
<!--NeedCopy-->

Starten der BLX-Appliance mit DPDK-Unterstützung

Starten Sie das BLX-Gerät, indem Sie den folgenden Befehl ausführen:

systemctl start blx

Das BLX-Gerät befindet sich jetzt im Zustand Up .

Überprüfen Sie den Status der BLX-Appliance erneut:

systemctl status blx

Nachdem Sie ein BLX-Gerät erfolgreich installiert und gestartet haben, können Sie die Citrix ADC-Funktionen auf dem Gerät mit einer der folgenden Methoden konfigurieren:

  • Citrix ADC-CLI
  • Citrix ADC-Benutzeroberfläche
  • Citrix NITRO REST-APIs

Weitere Informationen zur Verwendung dieser Methoden finden Sie unter Konfigurieren eines BLX-Geräts.

Weitere Informationen zu Citrix ADC-Funktionen finden Sie in der Citrix ADC-Dokumentation.

Stellen Sie ein NetScaler BLX-Gerät mit DPDK-Unterstützung bereit