SD-WAN 閘道 在標準 Hypervisor (KVM 或 VMware ESXi) 上執行。
伺服器最低需求
執行 Hypervisor:
- CPU:需要最低時脈速度為 2.0 Ghz 的 Intel XEON (至少需要 10 核心,用於執行單一 8 核心閘道虛擬機器),以達到最大效能。
- ESXi vmxnet3 網路排程功能必須為每個閘道虛擬機器 (VM) 保留 2 個核心,無論指派給閘道的核心數為何。
- 範例:假設有一個執行 ESXi+vmxnet3 的 24 核心伺服器。您可以部署 2 個 (8 核心) 閘道。亦即,2 個閘道乘以 8 個核心等於 16 個核心,這需要為閘道應用程式保留 16 個核心,並維持 8 個可用核心。按照上述公式,為了支援這兩個閘道以高峰效能規模執行,ESXi/vmxnet3 系統另需要額外的 4 個核心 (所部署的兩個閘道各需要兩個核心)。也就是說,總共需要 20 個核心,才能在 24 核心系統上執行 2 個閘道。
備註: 當使用 SR-IOV 時,網路排程功能會卸載到 pNIC,以達到更高的效能。不過,Hypervisor 仍需執行其他排程功能,如 CPU、記憶體、NUMA 配置管理。一律需要維持有兩個可用的核心,以供 Hypervisor 使用。
- 範例:假設有一個執行 ESXi+vmxnet3 的 24 核心伺服器。您可以部署 2 個 (8 核心) 閘道。亦即,2 個閘道乘以 8 個核心等於 16 個核心,這需要為閘道應用程式保留 16 個核心,並維持 8 個可用核心。按照上述公式,為了支援這兩個閘道以高峰效能規模執行,ESXi/vmxnet3 系統另需要額外的 4 個核心 (所部署的兩個閘道各需要兩個核心)。也就是說,總共需要 20 個核心,才能在 24 核心系統上執行 2 個閘道。
- ESXi vmxnet3 網路排程功能必須為每個閘道虛擬機器 (VM) 保留 2 個核心,無論指派給閘道的核心數為何。
- CPU 必須支援並啟用以下指令集:AES-NI、SSSE3、SSE4、RDTSC、RDSEED、RDRAND、AVX/AVX2/AVX512。
- 最少必須為伺服器系統提供 4GB 的可用 RAM,外加指派記憶體給 PGW 虛擬機器。一個閘道虛擬機器需要有 16 GB RAM;如果啟用了以憑證為基礎的驗證,則需要 32 GB RAM。
- 最少 150 GB 磁碟或 SSD 型持續性磁碟區 (如果啟用了以憑證為基礎的驗證,則一個閘道虛擬機器需要 64 GB 或 96 GB 磁碟區)。
- 所需的最低 IOPS 效能:200 IOPS。
- 最少需要 1 個 10 Ge 網路介面連接埠,啟用閘道合作夥伴遞交介面時,最好使用 2 個連接埠 (支援 1 Ge NIC,但會出現效能瓶頸)。支援 SR-IOV 的實體 NIC 卡包括 Intel 82599/82599ES 和 Intel X710/XL710 晶片組。(請參閱「啟用 SR-IOV」指南)。
備註: SR-IOV 不支援 NIC 繫結。對於備援上行,請使用 ESXi vSwitch。
- VMware SD-WAN 閘道是一種資料平面密集型工作負載,需要使用專用 CPU 週期,以確保獲得最佳的效能和可靠性。需要符合這些定義的設定,以確保閘道虛擬機器不會超額訂閱基礎硬體並導致出現可能破壞閘道服務穩定性的動作 (例如,NUMA 界限跨越、記憶體及/或 vCPU 超額訂閱)。
- 確保 SD-WAN 合作夥伴閘道虛擬機器和用來支援它的資源可放在一個 NUMA 節點中。
- 如果可能,請盡可能在網路介面、記憶體、實體 CPU 和虛擬機器與單一 NUMA 節點之間,保持完全垂直對齊。
-
備註: 按下列方式設定主機 BIOS 設定:
- 超執行緒 - 已關閉
- 省電功能 - 已關閉
- CPU Turbo - 已啟用
- AES-NI - 已啟用
- NUMA 節點交錯 - 已關閉
伺服器規格範例
NIC 晶片組 | 硬體 | 規格 |
---|---|---|
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
|
SR-IOV 支援所需的 NIC 規格
硬體製造商 | 韌體版本 | 適用於 Ubuntu 18.04 的主機驅動程式 | 適用於 ESXi 6.7 的主機驅動程式 |
---|---|---|---|
適用於 40GbE QSFP+ 的雙埠 Intel Corporation 乙太網路控制卡 XL710 | 7.0 | 2.10.19.30 | 1.8.6 和 1.10.9.0 |
適用於 10GbE SFP+ 的雙埠 Intel Corporation 乙太網路控制卡 X710 | 7.0 | 2.10.19.30 | 1.8.6 和 1.10.9.0 |
適用於 10GbE SFP+ 的四埠 Intel Corporation 乙太網路控制卡 X710 | 7.0 | 2.10.19.30 | 1.8.6 和 1.10.9.0 |
Dell rNDC X710/350 卡 | nvm 7.10 和 FW 19.0.12 | 2.10.19.30 | 1.8.6 和 1.10.9.0 |
支援的 Hypervisor 版本
Hypervisor | 支援的版本 |
---|---|
VMware |
|
KVM |
|
重要: 在 Ubuntu 18.04 LTS 伺服器上安裝 Intel i40e 主機驅動程式版本 2.10.19.30,可能會導致編譯錯誤。如果發生這種情況,建議客戶修補主機驅動程式。
SD-WAN 閘道虛擬機器 (VM) 規格
對於 VMware,OVA 已指定虛擬硬體最低規格。對於 KVM 已提供範例 XML 檔案。虛擬硬體最低規格如下:
- 如果使用 VMware ESXi:
- 必須將 [延遲敏感度 (Latency Sensitivity)] 設定為 [高 (High)]。
- 程序 (調整延遲敏感度)
- 在 vSphere Client 中瀏覽至虛擬機器。
- 若要尋找虛擬機器,請選取一個資料中心、資料夾、叢集、資源集區或主機。
- 按一下虛擬機器 (VMs) 索引標籤。
- 在虛擬機器上按一下滑鼠右鍵,然後按一下編輯設定 (Edit Settings)。
- 按一下虛擬機器選項 (VM Options),然後按一下進階 (Advanced)。
- 從延遲敏感度 (Latency Sensitivity) 下拉式功能表中,選取一項設定。
- 按一下確定 (OK)。
- 在 vSphere Client 中瀏覽至虛擬機器。
- [CPU 保留 (CPU reservation)] 設定為 100%。
- [CPU 共用率 (CPU shares)] 設定為高 (high)。
- [CPU 限制 (CPU Limit)] 必須設定為無限制 (Unlimited)。
- 8 個 vCPU (支援 4 個 vCPU,但預期效能較低)。
重要: 所有 vCPU 核心都應該對應到同一個插槽,並將 [每個插槽核心數 (Cores per Socket)] 參數設定為 8 (使用 8 個 vCPU) 或 4 (使用 4 個 vCPU)。備註: 必須停用超執行緒才能達到最大效能。
- 配置 CPU 資源的程序:
- 按一下 VMware Host Client 詳細目錄中的虛擬機器 (Virtual Machines)。
- 在虛擬機器上按一下滑鼠右鍵,然後從快顯功能表中選取編輯設定 (Edit settings)。
- 在虛擬硬體 (Virtual Hardware) 索引標籤上,展開 CPU,並配置 CPU 容量給該虛擬機器。
選項 說明 保留 (Reservation) 保證配置給此虛擬機器的 CPU。 限制 (Limit) 此虛擬機器的 CPU 配置上限。可選取 [無限制 (Unlimited)],以指定無上限。 共用率 (Shares) 此虛擬機器在父系虛擬機器總 CPU 中所佔的共用率。同層級虛擬機器會根據其相對共用率值來共用資源,這些值受保留和限制的約束。請選取 [低 (Low)]、[正常 (Normal)] 或 [高 (High)],它們分別以 1:2:4 比率來指定共用率值。選取 [自訂 (Custom)],則會為每個虛擬機器提供特定的共用率,這些共用率表示一個比例加權。
- 程序 (調整延遲敏感度)
- 必須啟用 CPU 相似性。請按照下面步驟進行。
- 在 vSphere Web Client 中,移至虛擬機器設定 (VM Settings) 索引標籤。
- 選擇選項 (Options) 索引標籤,然後按一下進階一般 (Advanced General) > 組態參數 (Configuration Parameters)。
- 新增 numa.nodeAffinity=0、numa.nodeAffinity=1 等項目,其中 0 和 1 是處理器插槽號碼。
- vNIC 必須為「vmxnet3」(或 SR-IOV,如需支援詳細資料,請參閱〈SR-IOV〉一節)。
- 最少為以下 vNIC 之一:
- 第一個 vNIC 是公用 (外部) 介面,必須是未標記的介面。
- 第二個 vNIC 為選用,並且作為可支援 VLAN 標記 dot1q 和 Q-in-Q 的私人 (內部) 介面。此介面通常面向 PE 路由器或 L3 交換器。
- 選用 vNIC (如果需要獨立管理/OAM 介面)。
- [記憶體保留 (Memory reservation)] 設定為 [最大值 (maximum)]。
- 16 GB 記憶體 (當啟用以憑證為基礎的驗證時,需要 32 GB RAM)。
- 64 GB 虛擬磁碟 (當啟用以憑證為基礎的驗證時,需要 96 GB 磁碟)。
備註: VMware 會使用上面定義的設定,以取得規模和效能數字。不符合上述需求的設定並未經過 VMware 測試,可能會產生無法預測的效能和規模結果。
- 必須將 [延遲敏感度 (Latency Sensitivity)] 設定為 [高 (High)]。
- 如果使用 KVM:
- vNIC 必須為「Linux 橋接器」類型。(若要達到高效能,需要 SR-IOV;如需支援詳細資料,請參閱〈SR-IOV〉一節)。
- 8 個 vCPU (支援 4 個 vCPU,但預期效能較低)。
重要: 所有 vCPU 核心都應該對應到同一個插槽,並將 [每個插槽核心數 (Cores per Socket)] 參數設定為 8 (使用 8 個 vCPU) 或 4 (使用 4 個 vCPU)。備註: 必須停用超執行緒才能達到最大效能。
- 16 GB 記憶體 (當啟用以憑證為基礎的驗證時,需要 32 GB RAM)。
- 最少為以下 vNIC 之一:
- 第一個 vNIC 是公用 (外部) 介面,必須是未標記的介面。
- 第二個 vNIC 為選用,並且作為可支援 VLAN 標記 dot1q 和 Q-in-Q 的私人 (內部) 介面。此介面通常面向 PE 路由器或 L3 交換器。
- 選用 vNIC (如果需要獨立管理/OAM 介面)。
- 64 GB 虛擬磁碟 (當啟用以憑證為基礎的驗證時,需要 96 GB 磁碟)。
防火牆/NAT 需求
備註: 如果在防火牆和/或 NAT 裝置後方部署
SD-WAN 閘道,則必須滿足這些需求。
- 防火牆必須允許從 SD-WAN 閘道 到 TCP/443 的輸出流量 (為了與 SASE Orchestrator 通訊)。
- 防火牆必須允許從網際網路到 UDP/2426 (VCMP)、UDP/4500 和 UDP/500 的輸入流量。如果未使用 NAT,則防火牆必須同時允許 IP/50 (ESP)。
- 如果使用 NAT,則必須將以上連接埠轉譯為可從外部連線的 IP 位址。支援 1:1 NAT 和連接埠轉譯。
包含範本和範例的 Git 存放庫
下列 Git 存放庫包含範本和範例。
git clone https://gitlab.eng.vmware.com/velocloud/velocloud.src.git
備註: 如需詳細資訊,請參閱 Partner Connect 入口網站上所發佈的
VMware SD-WAN 效能和規模資料工作表。若要存取該資料工作表,必須使用您的合作夥伴認證 (使用者名稱和密碼) 來登入 Partner Connect 入口網站。
在 SD-WAN 閘道 上使用 DPDK
為提高封包輸送量效能,SD-WAN 閘道 會利用資料平面開發套件 (DPDK) 技術。DPDK 是 Intel 提供的一組資料平面庫和驅動程式,用來將 TCP 封包處理從作業系統核心,卸載到正在使用者空間中執行的程序,從而提高封包輸送量。如需更多詳細資料,請參閱 https://www.dpdk.org/。
在 VMware 主控的閘道和合作夥伴閘道上,會將 DPDK 用於管理資料平面流量的介面,而不會用於保留給管理平面流量的介面。例如,在一般的 VMware 主控閘道上,會將 eth0 用於管理平面流量,而不會使用 DPDK。相對之下,會將 eth1、eth2 和 eth3 用於資料平面流量,並使用 DPDK。