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:
-
Greifen Sie auf die offizielle DPDK-Download-Seite zu.
-
Laden Sie die folgende unterstützte DPDK-Paketversion auf den Linux-Host herunter:
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:
-
Führen Sie das Skript dpdk-setup.sh aus:
bash $RTE_SDK/usertools/dpdk-setup.sh
-
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:
-
Führen Sie das Skript dpdk-setup.sh aus:
./$RTE_SDK/usertoos/dpdk-setup.sh
-
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-->
-
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-->
-
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:
-
Führen Sie das Skript dpdk-setup.sh aus:
./$RTE_SDK/usertoos/dpdk-setup.sh
-
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-->
-
Geben Sie in der Benutzeraufforderung die Anzahl der
Hugepages
ein, 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:
-
Öffnen Sie die im Linux-Host vorhandene BLX-Konfigurationsdatei (blx.conf). Der vollständige Pfad der BLX-Konfigurationsdatei lautet:
/etc/blx/blx.conf
-
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 Parametereinstellungdpdk-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:
-
Öffnen Sie die im Linux-Host vorhandene BLX-Konfigurationsdatei (blx.conf). Der vollständige Pfad der BLX-Konfigurationsdatei lautet:
/etc/blx/blx.conf
-
Entfernen Sie die Kommentarzeichen aus dem folgenden Parameter und legen Sie die Verwaltungs-IP-Adresse fest:
# ipaddress:
-
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-Datei
werden 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.