SD-WAN Gateway viene eseguito in un hypervisor standard (KVM o VMware ESXi).
Requisiti minimi del server
Per eseguire l'hypervisor:
- CPU: Intel XEON (almeno 10 core per l'esecuzione di una singola macchina virtuale gateway a 8 core) con velocità di clock minima di 2,0 GHz necessario per ottenere prestazioni ottimali.
- Le funzionalità di pianificazione della rete vmxnet3 di ESXi devono avere 2 core riservati per ogni macchina virtuale gateway, indipendentemente dal numero di core assegnati al gateway.
- Si supponga ad esempio che sia presente un server a 24 core che esegue ESXi+vmxnet3. È possibile distribuire 2 gateway da 8 core. 2 gateway moltiplicati per 8 core richiedono 16 core riservati per l'applicazione del gateway e lasciano liberi 8 core. Utilizzando la formula precedente, per supportare questi due gateway in esecuzione al massimo delle prestazioni, il sistema ESXi/vmxnet3 richiede 4 core aggiuntivi (due core per ciascuno dei due gateway distribuiti). Ciò significa che sono necessari 20 core in totale per eseguire 2 gateway in un sistema a 24 core.
Nota: Quando si utilizza SR-IOV, viene eseguito l'offload della funzionalità di pianificazione della rete nella pNIC per ottenere prestazioni più elevate. Tuttavia, l'hypervisor deve comunque eseguire altre funzionalità di pianificazione come la gestione di CPU, memoria e allocazione NUMA. È necessario mantenere sempre due core liberi per l'utilizzo dell'hypervisor.
- Si supponga ad esempio che sia presente un server a 24 core che esegue ESXi+vmxnet3. È possibile distribuire 2 gateway da 8 core. 2 gateway moltiplicati per 8 core richiedono 16 core riservati per l'applicazione del gateway e lasciano liberi 8 core. Utilizzando la formula precedente, per supportare questi due gateway in esecuzione al massimo delle prestazioni, il sistema ESXi/vmxnet3 richiede 4 core aggiuntivi (due core per ciascuno dei due gateway distribuiti). Ciò significa che sono necessari 20 core in totale per eseguire 2 gateway in un sistema a 24 core.
- Le funzionalità di pianificazione della rete vmxnet3 di ESXi devono avere 2 core riservati per ogni macchina virtuale gateway, indipendentemente dal numero di core assegnati al gateway.
- La CPU deve supportare e attivare i seguenti set di istruzioni: AES-NI, SSSE3, SSE4, RDTSC, RDSEED, RDRAND, AVX/AVX2/AVX512.
- Per il sistema server devono essere disponibili almeno 4 GB di RAM liberi oltre alla memoria assegnata alle macchine virtuali PGW. Una macchina virtuale gateway richiede 16 GB di RAM o 32 GB di RAM se è attivata l'autenticazione basata su certificato.
- Devono essere disponibili almeno 150 GB di volume del disco persistente magnetico o basato su SSD (una macchina virtuale gateway richiede 64 GB o 96 GB di volume se è attivata l'autenticazione basata su certificato).
- Prestazioni minime di IOPS richieste: 200 IOPS.
- Sono necessarie porte dell'interfaccia di rete da almeno 1x10Ge e 2 porte sono preferibili quando si abilita l'interfaccia di handoff del partner gateway (le NIC 1Ge sono supportate, ma causano colli di bottiglia delle prestazioni). Le schede NIC fisiche che supportano SR-IOV sono chipset Intel 82599/82599ES e Intel X710/XL710. (Vedere la guida "Abilitazione di SR-IOV").
Nota: SR-IOV non supporta il binding della NIC. Per gli uplink ridondanti, utilizzare ESXi vSwitch.
- VMware SD-WAN Gateway è un carico di lavoro intensivo del piano dati che richiede cicli di CPU dedicati per garantire prestazioni e affidabilità ottimali. È necessario soddisfare queste impostazioni definite per garantire che la macchina virtuale gateway non esegua l'oversubscription dell'hardware sottostante causando azioni che possono destabilizzare il servizio gateway (ad esempio, superamento del limite NUMA e oversubscription della memoria e/o di vCPU).
- Assicurarsi che la macchina virtuale del gateway partner SD-WAN e le risorse come le interfacce di rete, la memoria e le CPU fisiche utilizzate per supportarla rientrino in un singolo nodo NUMA.
-
Nota: Configurare le impostazioni del BIOS dell'host nel modo seguente:
- Hyperthreading - Disattivato
- Risparmio di energia - Disattivato
- CPU Turbo - Abilitata
- AES-NI - Abilitato
- Interleaving del nodo NUMA - Disattivato
Specifiche del server di esempio
Chipset NIC | Hardware | Specifica |
---|---|---|
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
|
Intel E810-CQDA2 | Dell PowerEdge R640 | https://www.dell.com/en-us/work/shop/povw/poweredge-r640
|
Specifiche della NIC richiesta per il supporto di SR-IOV
Produttore hardware | Versione firmware | Driver host per Ubuntu 20.04.6 | Driver host per Ubuntu 22.04.2 | Diver host per ESXi 7.0U3 | Diver host per ESXi 8.0U1a |
---|---|---|---|---|---|
Controller Ethernet Intel Corporation Dual Port XL710 per 40GbE QSFP+ | 7.10 | 2.20.12 | 2.20.12 | 1.11.2.5 e 1.11.3.5 | 1.11.2.5 e 1.11.3.5 |
Controller Ethernet Intel Corporation Dual Port X710 per 10GbE SFP+ | 7.10 | 2.20.12 | 2.20.12 | 1.11.2.5 e 1.11.3.5 | 1.11.2.5 e 1.11.3.5 |
Controller Ethernet Intel Corporation Quad Port X710 per 10GbE SFP+ | 7.10 | 2.20.12 | 2.20.12 | 1.11.2.5 e 1.11.3.5 | 1.11.2.5 e 1.11.3.5 |
Scheda Dell rNDC X710/350 | nvm 7.10 e FW 19.0.12 | 2.20.12 | 2.20.12 | 1.11.2.5 e 1.11.3.5 | 1.11.2.5 e 1.11.3.5 |
Controller Ethernet Intel Corporation Dual Port E810-CQDA2 per 100GbE QSFP | 4,20 | ICE 1.11.14 | ICE 1.11.14 | Non ancora supportato | Non ancora supportato |
Versioni dell'hypervisor supportate
Hypervisor | Versioni supportate |
---|---|
VMware |
|
KVM |
|
Specifica della macchina virtuale di SD-WAN Gateway
- Se si utilizza VMware ESXi:
- La sensibilità della latenza deve essere impostata su "Alta".
- Procedura (regolazione della sensibilità della latenza)
- Passare alla macchina virtuale in vSphere Client.
- Per trovare una macchina virtuale, selezionare un data center, una cartella, un cluster, un pool di risorse o un host.
- Fare clic sulla scheda Macchine virtuali (VMs).
- Fare clic con il pulsante destro del mouse sulla macchina virtuale e scegliere Modifica impostazioni (Edit Settings).
- Fare clic su Opzioni macchina virtuale (VM Options) e quindi su Avanzate (Advanced).
- Selezionare un'impostazione nel menu a discesa Sensibilità latenza (Latency Sensitivity).
- Fare clic su OK.
- Passare alla macchina virtuale in vSphere Client.
- La prenotazione della CPU deve essere impostata su 100%.
- La condivisione della CPU deve essere impostata su Alta (High).
- Il limite della CPU deve essere impostato su Illimitato (Unlimited).
- 8 vCPU (sono supportate anche 4 vCPU ma le prestazioni risultano inferiori).
Importante: Tutti i core delle vCPU devono essere mappati allo stesso socket con il parametro Core per socket (Cores per Socket) impostato su 8 con 8 vCPU o su 4 se vengono utilizzate 4 vCPU.Nota: Per ottenere prestazioni ottimali, è necessario disattivare l'hyperthreading.
- Procedura per l'allocazione delle risorse della CPU:
- Nell'inventario di VMware Host Client fare clic su Macchine virtuali (Virtual Machines).
- Fare clic con il pulsante destro del mouse su una macchina virtuale nell'elenco e scegliere Modifica impostazioni (Edit Settings) dal menu popup.
- Nella scheda Hardware virtuale (Virtual Hardware), espandere CPU e allocare la capacità della CPU per la macchina virtuale.
Opzione Descrizione Prenotazione (Reservation) Allocazione della CPU garantita per questa macchina virtuale. Limite Limite superiore per l'allocazione della CPU di questa macchina virtuale. Selezionare Illimitato (Unlimited) per non specificare alcun limite superiore. Condivisioni (Shares) Condivisioni della CPU per questa macchina virtuale in relazione al totale dell'elemento principale. Le macchine virtuali di pari livello condividono le risorse in base ai loro valori di condivisione relativi delimitati dalla prenotazione e dal limite. Selezionare Basso (Low), Normale (Normal) o Alto (High), che specificano valori di condivisione in un rapporto 1:2:4 rispettivamente. Selezionare Personalizzato (Custom) per assegnare a ogni macchina virtuale un numero specifico di condivisioni che esprimono un peso proporzionale.
- Procedura (regolazione della sensibilità della latenza)
- L'affinità CPU deve essere attivata. Eseguire i passaggi seguenti:
- In vSphere Web Client passare alla scheda Impostazioni macchina virtuale (VM Settings).
- Scegliere la scheda Opzioni (Options) e fare clic su Generali avanzate (Advanced General)>Parametri di configurazione (Configuration Parameters).
- Aggiungere voci per numa.nodeAffinity=0, 1, ..., dove 0 e 1 sono i numeri di socket del processore.
- La vNIC deve essere di tipo "vmxnet3" (o SR-IOV; vedere la sezione relativa a SR-IOV per informazioni sul tipo supportato).
- Almeno una delle vNIC seguenti:
- La prima vNIC è l'interfaccia pubblica (esterna), che deve essere un'interfaccia senza contrassegno.
- La seconda vNIC è facoltativa e funge da interfaccia privata (interna) in grado di supportare il contrassegno VLAN dot1q e Q-in-Q. Questa interfaccia è in genere rivolta al router PE o allo switch L3.
- vNIC facoltativa (se è necessaria un'interfaccia di gestione/OAM separata).
- La prenotazione della memoria è impostata su "massima".
- 16 GB di memoria (sono necessari 32 GB di RAM quando si abilita l'autenticazione basata su certificato).
- 64 GB di disco virtuale (è necessario un disco da 96 GB quando si abilita l'autenticazione basata su certificato).
Nota: VMware utilizza le impostazioni definite sopra per ottenere i numeri relativi alla scalabilità e alle prestazioni. Le impostazioni che non sono allineate ai requisiti precedenti non vengono testate da VMware e possono generare risultati imprevedibili..
- La sensibilità della latenza deve essere impostata su "Alta".
- Se si utilizza KVM:
- La vNIC deve essere di tipo "Bridge Linux". (SR-IOV è necessario per ottenere prestazioni elevate; vedere la sezione relativa a SR-IOV per informazioni sul tipo supportato).
- 8 vCPU (sono supportate anche 4 vCPU ma le prestazioni risultano inferiori).
Importante: Tutti i core delle vCPU devono essere mappati allo stesso socket con il parametro Core per socket (Cores per Socket) impostato su 8 con 8 vCPU o su 4 se vengono utilizzate 4 vCPU.Nota: Per ottenere prestazioni ottimali, è necessario disattivare l'hyperthreading.
- 16 GB di memoria (sono necessari 32 GB di RAM quando si abilita l'autenticazione basata su certificato)
- Almeno una delle vNIC seguenti:
- La prima vNIC è l'interfaccia pubblica (esterna), che deve essere un'interfaccia senza contrassegno.
- La seconda vNIC è facoltativa e funge da interfaccia privata (interna) in grado di supportare il contrassegno VLAN dot1q e Q-in-Q. Questa interfaccia è in genere rivolta al router PE o allo switch L3.
- vNIC facoltativa (se è necessaria un'interfaccia di gestione/OAM separata).
- 64 GB di disco virtuale (è necessario un disco da 96 GB quando si abilita l'autenticazione basata su certificato).
Requisiti del firewall o del NAT
- Il firewall deve consentire il traffico in uscita da SD-WAN Gateway a TCP/443 (per la comunicazione con SASE Orchestrator).
- Il firewall deve consentire il traffico in entrata da Internet a UDP/2426 (VCMP), UDP/4500 e UDP/500. Se non si utilizza il NAT, il firewall deve consentire anche IP/50 (ESP).
- Se si utilizza il NAT, le porte indicate sopra devono essere convertite in un indirizzo IP raggiungibile esternamente. Entrambe le conversioni di porta e NAT 1:1 sono supportate.
Repository Git con modelli ed esempi
Il repository Git seguente contiene modelli ed esempi.
git clone https://gitlab.eng.vmware.com/velocloud/velocloud.src.git
Utilizzo di DPDK in SD-WAN Gateway
Per migliorare le prestazioni della velocità effettiva dei pacchetti, SD-WAN Gateway sfruttano la tecnologia Data Plane Development Kit (DPDK). DPDK è un set di librerie e driver dei piani dati fornito da Intel per l'offload dell'elaborazione dei pacchetti TCP dal kernel del sistema operativo ai processi in esecuzione nello spazio utente e porta a una maggiore velocità effettiva dei pacchetti. Per ulteriori dettagli, vedere https://www.dpdk.org/.
Sui gateway ospitati da VMware e sui gateway partner, DPDK viene utilizzato sulle interfacce che gestiscono il traffico del piano dati e non viene utilizzato sulle interfacce riservate al traffico del piano di gestione. Ad esempio, in un tipico gateway ospitato da VMware, eth0 è utilizzato per il traffico del piano di gestione e non utilizza DPDK. Al contrario, eth1, eth2 e eth3 vengono utilizzati per il traffico del piano dati e utilizzano DPDK.