Vmware-Esxi

ESXI,pfSense,10gbE

  • November 14, 2017

美好的一天!我會試著把它做得又短又甜。我目前的設置是:

XS708T NETGEAR 10gbE 交換機

ESXi 機器 #1:

  • 2x 英特爾 10gbE
  • pfSense (VM) 在一個 vSwitch 上具有 WAN,在另一個 vSwitch 上具有 LAN,分別為上面的 NIC。
  • pfSense、Ubuntu Server (x2)、FreeNAS 伺服器、Windows Server VM

ESXi 機器 #2:

  • 1 個英特爾 10gb (SFP+)
  • Ubuntu Server (x2)、FreeNAS 伺服器、Windows Server 虛擬機

VLAN:在 pfSense 和交換機上設置

  • 10 = 虛擬機
  • 20 = LAN_OTHER
  • 30 = 無線網路
  • 99 = 管理員

所以這是問題所在:在不同的和相同的 ESXi 機器上的兩個 Ubuntu VM 之間使用 iperf 在相同的 VLAN 上能夠達到 10GB/s 的全部吞吐量。我也跑過兩個方向。在 pfSense 上觀看 sysstat -ifstat,我可以驗證沒有流量通過 pfSense。如果我嘗試在相同或不同的 ESXi 機器上的兩個 Ubuntu VM 之間切換,但具有不同的 VLAN(即:10 和 99),它會下降到大約 2 - 3 GB/s 的吞吐量。在此測試期間,我可以看到所有通過 pfSense 傳輸的流量。

所以我的思考過程是這樣的;我的交換機已經過驗證,在同一 VLAN 上能夠處理 10GB/s 的吞吐量。我在所有測試期間都監控了 pfSense,以驗證我沒有達到任何類型的硬體 (CPU) 限制。

那麼這是我的設置問題還是我的 pfSense VM 的問題?任何和所有的幫助表示讚賞!謝謝!

pfSense 虛擬機有相當多的成本需要解決——入口數據包通過主機 NIC、主機 vSwitch,被複製到虛擬機,通過客戶堆棧,被處理,出口數據包採用相同的方式返回。所有這些都發生在軟體中,並且需要相當多的上下文切換。這些會導致數據包延遲,並且通過產生的頻寬延遲產品可能會限制對延遲敏感的傳輸協議(例如 TCP)的整體吞吐量。

有三種基本方法:減少延遲(為 VM 保留主機資源,使用半虛擬化 vNIC 或具有直通功能的專用 NIC,微調 NUMA 設置),通過 TCP 視窗縮放增加 TCP 接收視窗,或使用多個 TCP 流同時。

引用自:https://serverfault.com/questions/883309