none
Server 2012 R2, VMQ config RRS feed

  • Question

  • Hi

    I am looking to configure VMQ (dVMQ in Server 2012 R2?) on a host and wanted to confirm I understood it correctly.

    We have 2 x Intel X550-T2 cards and 1 NIC from each card (Two in total) is
    configured in a team on the server using switch independent and dynamic
    teaming options.

    The server has 2 x E5-2650 CPUs with HT turned on, so 16 cores and 32 logical processors.

    The host will utilize the team as well as the VM's via vNICs (vManagement
    and vBackup for the Host), the VMs will have various vNICs dependent on
    there requirements, not sure if this information is needed or not.

    The current output from Get-NetAdapterVmq is shown below, ignore the
    Broadcom NICs and BTeam this is temporary, they will be disabled when
    live.

    Name                           InterfaceDescription              Enabled BaseVmqProcessor MaxProcessors NumberOfReceive
                                                                                                            Queues
    ----                           --------------------              ------- ---------------- ------------- ---------------
    vBackup - PTeam                Microsoft Network Adapter Mu...#3 False   0:0                            0
    BCom 4                         Broadcom NetXtreme Gigabit E...#3 False   0:0              16            16
    BCom 3                         Broadcom NetXtreme Gigabit Eth... False   0:0              16            16
    BCom 2                         Broadcom NetXtreme Gigabit E...#2 False   0:0              16            16
    BCom 1                         Broadcom NetXtreme Gigabit E...#4 False   0:0              16            16
    Intel Eth2                     Intel(R) Ethernet Converged ...#4 False   0:0              16            0
    Intel Eth1                     Intel(R) Ethernet Converged ...#3 True    0:0              16            63
    vManagement - PTeam            Microsoft Network Adapter Mu...#2 False   0:0                            0
    ATeam                          Microsoft Network Adapter Mult... False   0:0                            0
    BTeam                          Microsoft Network Adapter Mu...#4 False   0:0                            16
    Intel Eth3                     Intel(R) Ethernet Converged ...#2 True    0:0              16            63
    Intel Eth4                     Intel(R) Ethernet Converged Ne... False   0:0              16            0
    

    Should I set the following

    Set-NetAdapterVmq -Name Intel Eth1 -BaseProcessorNumber 2 -MaxProcessors 4
    
    Set-NetAdapterVmq -Name Intel Eth3 -BaseProcessorNumber 10 -MaxProcessors 4
    

    Or should I be basing the MaxProcessors limit on the logical processors
    number (32) not the physical cores like I have done above?  Or even the
    number of Receive Queues listed on them two adapters (63)?

    This would then mean for 32

    -BaseProcessorNumber 2 -MaxProcessors 8
    
    -BaseProcessorNumber 18 -MaxProcessors 8
    


    I have another query about the status of the ATeam showing as false, but the above is more pressing.

    I have referenced http://www.hypervrockstar.com/tag/dvmq/

    Any help/advice appreciated

    Thursday, March 23, 2017 7:30 PM

Answers

  • Hi ChrisJKnights,

    >>Or should I be basing the MaxProcessors limit on the logical processors
    number (32) not the physical cores like I have done above?

    We should use Logical processors.

    You could refer to the blogs for more details:

    https://blogs.technet.microsoft.com/networking/2013/09/10/vmq-deep-dive-1-of-3/

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • Marked as answer by ChrisJKnights Thursday, March 30, 2017 1:53 PM
    Friday, March 24, 2017 6:56 AM
    Moderator
  • Hi Chris

    Your configuration should be as following

    Set-NetAdapterVmq -Name "Intel Eth1" -BaseProcessorNumber 2 -MaxProcessorNumber 14 -MaxProcessors 7
    Set-NetAdapterVmq -Name "Intel Eth3" -BaseProcessorNumber 16 -MaxProcessorNumber 30 -MaxProcessors 8

    This will ensure you have no overlapping queues and not using Core 0.

    In Hyper-V 2012 R2 VMQ is starting from the base processor and then add up from there so you if you don't set max processor number it will continue into the range overlapping with the other NIC.

    This is changes in 2016, now it is using a more cleaver method to distribute the queues more evenly over the cores. So for 2016 the only change needed is to move the queue away from core 0 and no more.


    Andreas Sobczyk CloudMechanic.net


    Friday, March 24, 2017 8:06 PM

All replies

  • Hi ChrisJKnights,

    >>Or should I be basing the MaxProcessors limit on the logical processors
    number (32) not the physical cores like I have done above?

    We should use Logical processors.

    You could refer to the blogs for more details:

    https://blogs.technet.microsoft.com/networking/2013/09/10/vmq-deep-dive-1-of-3/

    Best Regards,

    Leo


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • Marked as answer by ChrisJKnights Thursday, March 30, 2017 1:53 PM
    Friday, March 24, 2017 6:56 AM
    Moderator
  • Hi Leo

    Thanks for taking the time to respond, really helpful link, never come across that page before.

    I also never knew about the Get-NetAdapterVmqQueue command which will be helpful once we start using VMQ.

    Would you agree with the idea of setting the two NICs with the following then?

    Set-NetAdapterVmq -Name Intel Eth1 -BaseProcessorNumber 2 -MaxProcessors 8
    
    Set-NetAdapterVmq -Name Intel Eth3 -BaseProcessorNumber 18 -MaxProcessors 8
    Many thanks

    Friday, March 24, 2017 12:26 PM
  • Hi Chris

    Your configuration should be as following

    Set-NetAdapterVmq -Name "Intel Eth1" -BaseProcessorNumber 2 -MaxProcessorNumber 14 -MaxProcessors 7
    Set-NetAdapterVmq -Name "Intel Eth3" -BaseProcessorNumber 16 -MaxProcessorNumber 30 -MaxProcessors 8

    This will ensure you have no overlapping queues and not using Core 0.

    In Hyper-V 2012 R2 VMQ is starting from the base processor and then add up from there so you if you don't set max processor number it will continue into the range overlapping with the other NIC.

    This is changes in 2016, now it is using a more cleaver method to distribute the queues more evenly over the cores. So for 2016 the only change needed is to move the queue away from core 0 and no more.


    Andreas Sobczyk CloudMechanic.net


    Friday, March 24, 2017 8:06 PM