Das SD-WAN Gateway wird auf einem Standard-Hypervisor (KVM oder VMware ESXi) ausgeführt.
Mindestanforderungen an Server
Zur Ausführung des Hypervisors:
- CPU: Intel XEON (mindestens 10 Kerne für die Ausführung einer einzelnen Gateway-VM mit 8 Kernen) mit einer Mindesttaktgeschwindigkeit von 2,0 GHz ist erforderlich, um eine maximale Leistung zu erzielen.
- Für ESXi vmxnet3-Netzwerkplanungsfunktionen müssen 2 Kerne pro virtueller Gateway-Maschine (VM) reserviert sein, unabhängig von der Anzahl der dem Gateway zugewiesenen Kerne.
- Beispiel: Angenommen, auf einem 24-Kern-Server wird ESXi+vmxnet3 ausgeführt. Sie können 2 – (8 Kerne) Gateways bereitstellen, d. h. für 2 Gateways multipliziert mit 8 Kernen werden 16 Kerne für die Gateway-Anwendung reserviert und es bleiben 8 freie Kerne. Nach der obigen Formel benötigt das ESXi/vmxnet3-System 4 zusätzliche Kerne (zwei Kerne für jedes der beiden eingesetzten Gateways), um diese beiden Gateways bei maximaler Leistung zu unterstützen. Das sind insgesamt 20 Kerne, die für den Betrieb von 2 Gateways auf einem System mit 24 Kernen erforderlich sind.
Hinweis: Bei Verwendung von SR-IOV wird die Netzwerkplanungsfunktion an die pNIC ausgelagert, um eine höhere Leistung zu erzielen. Der Hypervisor muss jedoch weiterhin andere Planungsfunktionen wie CPU-, Speicher- und NUMA-Zuteilungsverwaltung ausführen. Es müssen immer zwei Kerne für die Nutzung durch den Hypervisor frei bleiben.
- Beispiel: Angenommen, auf einem 24-Kern-Server wird ESXi+vmxnet3 ausgeführt. Sie können 2 – (8 Kerne) Gateways bereitstellen, d. h. für 2 Gateways multipliziert mit 8 Kernen werden 16 Kerne für die Gateway-Anwendung reserviert und es bleiben 8 freie Kerne. Nach der obigen Formel benötigt das ESXi/vmxnet3-System 4 zusätzliche Kerne (zwei Kerne für jedes der beiden eingesetzten Gateways), um diese beiden Gateways bei maximaler Leistung zu unterstützen. Das sind insgesamt 20 Kerne, die für den Betrieb von 2 Gateways auf einem System mit 24 Kernen erforderlich sind.
- Für ESXi vmxnet3-Netzwerkplanungsfunktionen müssen 2 Kerne pro virtueller Gateway-Maschine (VM) reserviert sein, unabhängig von der Anzahl der dem Gateway zugewiesenen Kerne.
- Die CPU muss die folgenden Anweisungssätze unterstützen und aktivieren: AES-NI, SSSE3, SSE4, RDTSC, RDSEED, RDRAND, AVX/AVX2/AVX512.
- Dem Serversystem müssen mindestens 4 GB freier Arbeitsspeicher zur Verfügung stehen, abgesehen von dem den PGW-VMs zugewiesenen Speicher. Eine Gateway-VM benötigt 16 GB RAM oder 32 GB RAM, wenn die zertifikatsbasierte Authentifizierung aktiviert ist.
- Mindestens 150 GB magnetisches oder SSD-basiertes, persistentes Festplattenvolumen (eine Gateway-VM erfordert 64 GB oder 96 GB Festplattenvolumen, wenn die zertifikatsbasierte Authentifizierung aktiviert ist).
- Mindestens erforderliche IOPS-Leistung: 200 IOPS.
- Mindestens 1x10Ge-Netzwerkschnittstellenports, wobei 2 Ports bevorzugt werden, wenn die Übergabeschnittstelle des Gateway-Partners aktiviert wird (1Ge-Netzwerkkarten werden zwar unterstützt, führen aber zu Leistungsengpässen). Die physischen Netzwerkkarten, die SR-IOV unterstützen, sind die Chipsätze Intel 82599/82599ES und Intel X710/XL710. (Weitere Informationen finden Sie im Handbuch „Aktivieren von SR-IOV“).
Hinweis: SR-IOV unterstützt kein Netzwerkkarten-Bonding. Für redundante Uplinks verwenden Sie ESXi vSwitch.
- VMware SD-WAN Gateway ist eine intensive Arbeitslast auf Datenebene, die dedizierte CPU-Zyklen erfordert, um optimale Leistung und Zuverlässigkeit zu gewährleisten. Durch die Einhaltung dieser definierten Einstellungen wird sichergestellt, dass die Gateway-VM die zugrunde liegende Hardware nicht überbeansprucht und Aktionen auslöst, die den Gateway-Dienst destabilisieren können (z. B. Überschreitung des NUMA-Grenzwerts, Überbeanspruchung des Arbeitsspeichers und/oder der vCPU).
- Stellen Sie sicher, dass die SD-WAN-Partner-Gateway-VM und die zur Unterstützung verwendeten Ressourcen in einen NUMA-Knoten passen.
- Streben Sie nach Möglichkeit eine vollständige vertikale Ausrichtung von Netzwerkschnittstellen, Arbeitsspeicher, physischen CPUs und virtuellen Maschinen auf einem einzigen NUMA-Knoten an.
-
Hinweis: Konfigurieren Sie die BIOS-Einstellungen des Hosts wie folgt:
– Hyperthreading – Deaktiviert
– Einsparungen durch Stromversorgung – Deaktiviert
– CPU-Turbo – Aktiviert
– AES-NI – Aktiviert
– NUMA-Knoten-Interleaving – Deaktiviert
Beispiel für Serverspezifikationen
Netzwerkkarten-Chipsatz | Hardware | Spezifikation |
---|---|---|
Intel 82599/82599ES | HP DL380G9 | http://www.hp.com/hpinfo/newsroom/press_kits/2014/ComputeEra/HP_ProLiantDL380_DataSheet.pdf |
Intel X710/XL710 | Dell PowerEdge R640 | https://www.dell.com/en-us/work/shop/povw/poweredge-r640
|
Intel X710/XL710 | Supermicro SYS-6018U-TRTP+ | https://www.supermicro.com/en/products/system/1U/6018/SYS-6018U-TRTP_.cfm
|
Erforderliche Netzwerkkartenspezifikationen für SR-IOV-Unterstützung
Hardwarehersteller | Firmwareversion | Hosttreiber für Ubuntu 18.04 | Hosttreiber für ESXi 6.7 |
---|---|---|---|
Dual Port Intel Corporation Ethernet Controller XL710 für 40GbE QSFP+ | 7.0 | 2.10.19.30 | 1.8.6 und 1.10.9.0 |
Dual Port Intel Corporation Ethernet Controller X710 für 10GbE SFP+ | 7.0 | 2.10.19.30 | 1.8.6 und 1.10.9.0 |
Quad Port Intel Corporation Ethernet Controller X710 für 10GbE SFP+ | 7.0 | 2.10.19.30 | 1.8.6 und 1.10.9.0 |
Dell rNDC X710/350-Karte | nvm 7.10 und FW 19.0.12 | 2.10.19.30 | 1.8.6 und 1.10.9.0 |
Unterstützte Hypervisor-Versionen
Hypervisor | Unterstützte Versionen |
---|---|
VMware |
|
KVM |
|
SD-WAN Gateway-VM-Spezifikation
- Bei Verwendung von VMware ESXi:
- Latenzempfindlichkeit muss auf „Hoch (High)“ festgelegt werden.
- Vorgehensweise (Anpassen der Latenzempfindlichkeit)
- Navigieren Sie zur virtuellen Maschine im vSphere Client.
- Um eine virtuelle Maschine zu finden, wählen Sie ein Datencenter, einen Ordner, einen Cluster, einen Ressourcenpool oder einen Host aus.
- Klicken Sie auf die Registerkarte VMs.
- Klicken Sie mit der rechten Maustaste auf die virtuelle Maschine und dann auf Einstellungen bearbeiten (Edit Settings).
- Klicken Sie auf VM-Optionen (VM Options) und dann auf Erweitert (Advanced).
- Wählen Sie eine Einstellung aus dem Dropdown-Menü Latenzempfindlichkeit (Latency Sensitivity).
- Klicken Sie auf OK.
- Navigieren Sie zur virtuellen Maschine im vSphere Client.
- CPU-Reservierung auf 100 % festgelegt.
- CPU-Anteile auf Hoch (High) festgelegt.
- CPU-Grenzwert muss auf Unbegrenzt (Unlimited) festgelegt werden.
- 8 vCPUs (4 vCPUs werden unterstützt, aber eine geringere Leistung erwartet).
Wichtig: Alle vCPU-Kerne sollten demselben Socket zugeordnet werden, wobei der Parameter „Kerne pro Socket (Cores per Socket)“ entweder auf 8 bei 8 vCPUs oder auf 4 bei 4 vCPUs eingestellt ist.Hinweis: Hyper-Threading muss deaktiviert werden, um maximale Leistung zu erzielen.
- Verfahren zum Zuteilen von CPU-Ressourcen:
- Klicken Sie in der VMware Host Client-Bestandsliste auf Virtuelle Maschinen (Virtual Machines).
- Klicken Sie mit der rechten Maustaste auf eine virtuelle Maschine in der Liste und wählen Sie im Popup-Menü Einstellungen bearbeiten (Edit Settings) aus.
- Erweitern Sie auf der Registerkarte Virtuelle Hardware (Virtual Hardware) die Option „CPU“, und teilen Sie CPU-Kapazität für die virtuelle Maschine zu.
Option Beschreibung Reservierung (Reservation) Garantierte CPU-Zuteilung für diese virtuelle Maschine. Grenzwert (Limit) Obergrenze für die CPU-Zuteilung für diese virtuelle Maschine. Wählen Sie „Unbegrenzt“ (Unlimited), wenn Sie keine Obergrenze festlegen möchten. Anteile (Shares) CPU-Anteile für diese virtuelle Maschine bezogen auf die Gesamtanteile der übergeordneten Maschine. Hierarchisch gleichwertige virtuelle Maschinen nutzen Ressourcen gemeinsam auf der Basis ihrer relativen Anteilswerte, die an die Reservierung und den Grenzwert geknüpft sind. Wählen Sie „Niedrig (Low)“, „Normal“ oder „Hoch (High)“. Dadurch werden die Anteilswerte im Verhältnis 1:2:4 festgelegt. Wählen Sie „Benutzerdefiniert (Custom)“, um jeder virtuellen Maschine einen bestimmten Anteil zuzuweisen, der einer proportionalen Gewichtung entspricht.
- Vorgehensweise (Anpassen der Latenzempfindlichkeit)
- CPU-Affinität muss aktiviert sein. Befolgen Sie die unten beschriebenen Schritte.
- Wechseln Sie im vSphere Web Client zur Registerkarte VM-Einstellungen (VM Settings).
- Wählen Sie die Registerkarte Optionen (Options) und klicken Sie auf Erweitert Allgemein (Advanced General) > Konfigurationsparameter (Configuration Parameters).
- Fügen Sie Einträge für numa.nodeAffinity=0, 1, ... hinzu, wobei 0 und 1 die Nummern der Prozessorsockets sind.
- vNIC muss vom Typ „vmxnet3“ oder „SR-IOV“ sein (oder SR-IOV, weitere Informationen zur Unterstützung finden Sie im Abschnitt „SR-IOV“).
- Mindestens eine der folgenden vNICs:
- Die erste vNIC ist die öffentliche (externe) Schnittstelle, die eine nicht markierte Schnittstelle sein muss.
- Die zweite vNIC ist optional und fungiert als private (interne) Schnittstelle, die VLAN-Tagging dot1q und Q-in-Q unterstützen kann. Diese Schnittstelle ist in der Regel dem PE-Router oder L3-Switch zugewandt.
- Optionale vNIC (wenn eine separate Verwaltungs-/OAM-Schnittstelle erforderlich ist).
- Die Arbeitsspeicherreservierung ist auf „Maximum“ eingestellt.
- 16 GB Arbeitsspeicher (bei Aktivierung der zertifikatsbasierten Authentifizierung sind 32 GB RAM erforderlich).
- Eine virtuelle Festplatte von 64 GB (bei Aktivierung der zertifikatsbasierten Authentifizierung sind 96 GB erforderlich).
Hinweis: VMware verwendet die oben definierten Einstellungen, um Skalierungs- und Leistungszahlen zu erhalten. Einstellungen, die nicht mit den oben genannten Anforderungen übereinstimmen, werden von VMware nicht getestet und können zu unvorhersehbaren Leistungs- und Skalierungsergebnissen führen.
- Latenzempfindlichkeit muss auf „Hoch (High)“ festgelegt werden.
- Bei Verwendung von KVM:
- vNIC muss vom Typ „Linux Bridge“ sein. (SR-IOV ist für eine hohe Leistung erforderlich. Weitere Informationen zum Support finden Sie im Abschnitt „SR-IOV“.)
- 8 vCPUs (4 vCPUs werden unterstützt, aber eine geringere Leistung erwartet).
Wichtig: Alle vCPU-Kerne sollten demselben Socket zugeordnet werden, wobei der Parameter „Kerne pro Socket (Cores per Socket)“ entweder auf 8 bei 8 vCPUs oder auf 4 bei 4 vCPUs eingestellt ist.Hinweis: Hyper-Threading muss deaktiviert werden, um maximale Leistung zu erzielen.
- 16 GB Arbeitsspeicher (32 GB RAM sind erforderlich, wenn die zertifikatsbasierte Authentifizierung aktiviert wird)
- Mindestens eine der folgenden vNICs:
- Die erste vNIC ist die öffentliche (externe) Schnittstelle, die eine nicht markierte Schnittstelle sein muss.
- Die zweite vNIC ist optional und fungiert als private (interne) Schnittstelle, die VLAN-Tagging dot1q und Q-in-Q unterstützen kann. Diese Schnittstelle ist in der Regel dem PE-Router oder L3-Switch zugewandt.
- Optionale vNIC (wenn eine separate Verwaltungs-/OAM-Schnittstelle erforderlich ist).
- Eine virtuelle Festplatte von 64 GB (bei Aktivierung der zertifikatsbasierten Authentifizierung sind 96 GB erforderlich).
Firewall-/NAT-Anforderungen
- Die Firewall muss ausgehenden Datenverkehr von SD-WAN Gateway zu TCP/443 zulassen (für die Kommunikation mit SASE Orchestrator).
- Die Firewall muss eingehenden Datenverkehr vom Internet zu UDP/2426 (VCMP), UDP/4500 und UDP/500 zulassen. Wenn NAT nicht verwendet wird, muss die Firewall auch IP/50 (ESP) zulassen.
- Wenn NAT verwendet wird, müssen die obigen Ports in eine extern erreichbare IP-Adresse übersetzt werden. Sowohl die 1:1-NAT- als auch die Portübersetzung werden unterstützt.
Git-Repository mit Vorlagen und Beispielen
Das folgende Git-Repository enthält Vorlagen und Beispiele.
git clone https://gitlab.eng.vmware.com/velocloud/velocloud.src.git
Verwendung von DPDK auf SD-WAN Gateways
Um die Leistung des Paketdurchsatzes zu verbessern, nutzen SD-WAN Gateways die Vorteile der DPDK-Technologie (Data Plane Development Kit). Bei DPDK handelt es sich um eine Reihe von Data-Plane-Bibliotheken und ‑Treibern, die von Intel bereitgestellt werden, um die TCP-Paketverarbeitung vom Betriebssystem-Kernel auf Prozesse zu verlagern, die im Userspace ausgeführt werden, was zu einem höheren Paketdurchsatz führt. Weitere Einzelheiten finden Sie unter https://www.dpdk.org/.
Auf von VMware gehosteten Gateways und Partner-Gateways wird DPDK auf Schnittstellen verwendet, die den Datenebenenverkehr verwalten, und nicht auf Schnittstellen, die für den Datenverkehr der Verwaltungsebene (Management Plane) reserviert sind. Auf einem typischen von VMware gehosteten Gateway wird z. B. eth0 für den Datenverkehr auf der Verwaltungsebene (Management Plane) verwendet und würde DPDK nicht nutzen. Im Gegensatz dazu werden eth1, eth2 und eth3 für den Datenverkehr der Datenebene verwendet und nutzen DPDK.