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: 2Für jeden dedizierten Port werden ein Rx-Prozess und ein Tx-Thread erstellt. -
nsdrvd: 3Fü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-processesin der Dateiblx.confgibt die Anzahl der Paket-Engines für BLX an. -
INT – Anzahl der dedizierten Linux-Host-NIC-Ports für BLX. Der Parameter
interfacein der Dateiblx.confgibt die für BLX dedizierten Linux-Host-NIC-Ports an. -
P – Anzahl der
nsdrvd-Treiberprozesse für BLX. Der Parameternsdrvdin der Dateiblx.confgibt die Anzahl dernsdrvd-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
- Stellen Sie sicher, dass BLX im dedizierten Modus konfiguriert ist. Die Konfigurationsprozedur finden Sie unter BLX im dedizierten Modus konfigurieren.
- Stellen Sie sicher, dass die dedizierten NIC-Ports nicht in den von BLX unterstützten DPDK-kompatiblen NICs aufgeführt sind. Weitere Informationen finden Sie unter Hardwareanforderungen des Linux-Hosts.
nsdrvd-Treiber aktivieren
Sie müssen die Linux-Host-CLI verwenden, um den nsdrvd-Treiber zu aktivieren.
-
Ö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--> -
Kommentieren Sie den Parameter
nsdrvdaus und setzen Sie den Wert auf 1, 2 oder 3.blx-system-config { ... nsdrvd: <number of process> ... } <!--NeedCopy--> - Speichern Sie die Datei
blx.conf. -
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.
-
Um den
nsdrvd-Treiber zu deaktivieren, kommentieren Sie den Parameternsdrvdin der Dateiblx.confaus.blx-system-config { ... # nsdrvd: 2 ... } <!--NeedCopy--> -
Starten Sie BLX neu.
systemctl restart blx <!--NeedCopy-->
Nach dem Neustart von BLX ist der nsdrvd-Treiber auf dem BLX deaktiviert.