nsdrvd-Treiber für NetScaler BLX im dedizierten Modus ohne DPDK-Unterstützung konfigurieren

NetScaler BLX umgeht den Netzwerk-Stack des Linux-Kernels, jedoch entsteht ein Overhead beim Übertragen von Paketen zwischen dem Linux-Kernel-Speicher und dem Benutzerspeicher. Dieser Overhead beeinträchtigt die Gesamtleistung der Paketverarbeitung.

Wir empfehlen die Verwendung von DPDK-kompatiblen NICs für eine hohe Paketverarbeitungsleistung. Eine Liste der von BLX unterstützten DPDK-kompatiblen NICs finden Sie unter Hardwareanforderungen des Linux-Hosts.

Wenn Sie keine DPDK-kompatiblen NICs haben, können Sie den nsdrvd-Treiber verwenden, um die Leistung der Paketverarbeitung ohne DPDK-Unterstützung zu verbessern.

Der nsdrvd-Treiber übernimmt die gesamte Interaktion mit dem Linux-Kernel für den Paketempfang und die Paketübertragung. Er verteilt den Datenverkehr auch an die PEs. Sie können den nsdrvd-Treiber mithilfe des nsdrvd-Parameters in der Datei blx.conf konfigurieren. Die folgende Tabelle erläutert die möglichen Werte des nsdrvd-Parameters.

Möglicher Wert Beschreibung
nsdrvd: 1 Für jeden dedizierten Port wird ein Treiberprozess erstellt. Rx und Tx erfolgen sequenziell.
  • nsdrvd: 2 Für jeden dedizierten Port werden ein Rx-Prozess und ein Tx-Thread erstellt.
  • nsdrvd: 3 Für jeden dedizierten Port werden ein Rx-Prozess und 2 Tx-Threads erstellt.

Um den nsdrvd-Treiber zu verwenden, muss der Linux-Host basierend auf der folgenden Berechnung mindestens n Kerne haben.

  • n >= WP + (INT*P) + 1

Wo:

  • WP – Anzahl der Worker-Prozesse (Paket-Engines) für BLX. Der Parameter worker-processes in der Datei blx.conf gibt die Anzahl der Paket-Engines für BLX an.
  • INT – Anzahl der dedizierten Linux-Host-NIC-Ports für BLX. Der Parameter interface in der Datei blx.conf gibt die für BLX dedizierten Linux-Host-NIC-Ports an.
  • P – Anzahl der nsdrvd-Treiberprozesse für BLX. Der Parameter nsdrvd in der Datei blx.conf gibt die Anzahl der nsdrvd-Treiberprozesse an.

Beispiel: BLX mit der folgenden Konfiguration muss mindestens 10 Kerne haben:

  • WP = 3 Paket-Engines
  • INT = 2 dedizierte Schnittstellen
  • P = 3 nsdrvd-Prozesse

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

Voraussetzungen

nsdrvd-Treiber aktivieren

Sie müssen die Linux-Host-CLI verwenden, um den nsdrvd-Treiber zu aktivieren.

  1. Öffnen Sie die Datei blx.conf, indem Sie den folgenden Befehl ausführen:

    Hinweis:

    Sie können jeden Texteditor verwenden, um die Datei blx.conf zu bearbeiten.

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. Kommentieren Sie den Parameter nsdrvd aus und setzen Sie den Wert auf 1, 2 oder 3.

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. Speichern Sie die Datei blx.conf.
  4. Starten Sie BLX neu.

    systemctl restart blx
    <!--NeedCopy-->
    

Nach dem Neustart von BLX ist der nsdrvd-Treiber auf dem BLX aktiviert.

nsdrvd-Treiber deaktivieren

Sie müssen die Linux-Host-CLI verwenden, um den nsdrvd-Treiber zu deaktivieren.

  1. Um den nsdrvd-Treiber zu deaktivieren, kommentieren Sie den Parameter nsdrvd in der Datei blx.conf aus.

    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
    <!--NeedCopy-->
    
  2. Starten Sie BLX neu.

    systemctl restart blx
    <!--NeedCopy-->
    

Nach dem Neustart von BLX ist der nsdrvd-Treiber auf dem BLX deaktiviert.

nsdrvd-Treiber für NetScaler BLX im dedizierten Modus ohne DPDK-Unterstützung konfigurieren