網卡性能加速(vmq、sr-iov)、intel相關虛擬化技術、在hyper-v上啟用vmq 、sr-iov等功能


vmq介紹:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/virtual-machine-queue--vmq-
重要參考:https://blog.51cto.com/ichbinleo/1897503 必看
VMM(虛擬化層,通常的角色為hyper-v 、esxi、qemu等)在服務器的物理網卡中為每個虛機分配一個獨立的隊列,這樣虛機出來的流量可以直接經過軟件交換機發送到指定隊列上,軟件交換機無需進行排序和路由操作。
但是,VMM和虛擬交換機仍然需要將網絡流量在VMDq和虛機之間進行復制。

PS C:> Get-NetworkAdapterRss -Name “Ethernet 4”

Name: Ethernet 4
InterfaceDescription: Intel Ethernet CNA X540-T2 #2
Enabled: True
NumberOfReceiveQueues: 8
Profile : NUMAStatic
BaseProcessor:[Group:Number] [Group:Number] [Group:Number] [Group:Number]: 0
MaxProcessor:[Group:Number]【[][Group:Number]: :
MaxProcessors : 16
其中幾個重要的參數說明如下:
Enabled:啟用或者禁用RSS;
BaseProcessor:系統分配給網卡的最小處理器數量;[Group:Number] – 處理器組數量和處理器數量比。
MaxProcessor:分配給網卡的最大處理器數量;[Group:Number] - 處理器組數量和處理器數量比。
MaxProcessors:分配給網卡的處理器總數的最大值。

我們可以通過Set-NetAdapter命令設置參與接收隊列數和RSS中斷的最大CPU數量,如下示例將網卡Ethernet4的RSS默認接收隊列數為16。
PS C:> Set-NetworkAdapterRss -Name “Ethernet 4” -NumberOfReceiveQueues 16
Name: Ethernet 4
InterfaceDescription: Intel Ethernet CNA X540-T2 #2
Enabled: True
NumberOfReceiveQueues: 16
Profile : NUMAStatic
BaseProcessor:[Group:Number] [Group:Number] [Group:Number] [Group:Number]: 0
MaxProcessor:[Group:Number]【[][Group:Number]: :
MaxProcessors : 16
虛機VMQ開啟關閉也比較簡單,默認情況下,Hyper-V虛機會啟用VMQ功能。我們可以依據虛機是否需要VMQ和實際的網卡性能進行開啟或者關閉。如果虛機過多而網卡的VMQ隊列又不足時,我們還可以適時為啟用了VMQ的虛機設置VMQ權重,權重高的虛機網絡數據將優先置於VMQ隊列,反之亦然,默認的VMQ權重是100,如下示例所示。

PS C:> Set-NetworkAdapterRss -Name “Ethernet 4” -NumberOfReceiveQueues 16
VMQWeight : 100

sr-iov介紹https://docs.microsoft.com/zh-cn/windows-hardware/drivers/network/single-root-i-o-virtualization--sr-iov-
參考:
Server 2012 Hyper-v新功能之六:SR-IOV https://blog.51cto.com/dinghuqiang/941708
虛擬化中的SR-IOV https://blog.51cto.com/maomaostyle/1439651 (win2012 hyper-v實操sr-iov)


這張圖解釋的很清楚
參考 網卡虛擬化技術:VMDq和SR-IOV https://www.cnblogs.com/tcicy/p/10006437.html

實際案例參考:
①、Windows Server(案例中是博通網卡):啟用虛擬機隊列 (VMQ) 的 Hyper-V 虛擬機上的網絡性能緩慢 https://www.dell.com/support/article/zh-cn/sln132131/windows-server-啟用虛擬機隊列-vmq-的-hyper-v-虛擬機上的網絡性能緩慢?lang=zh
https://docs.microsoft.com/zh-cn/troubleshoot/windows-server/networking/poor-network-performance-hyper-v-host-vm
②、略

附說明:intel虛擬計划技術
Intel在早期為了支持虛擬化環境,在CPU和PCI總線上提供了三層虛擬化技術,它們分別是:
基於處理器的虛擬化技術VT-x
基於PCI總線實現的IO虛擬化技術VT-d
基於網絡的虛擬化技術VT-c


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM