{"id":12572,"date":"2012-05-24T09:00:00","date_gmt":"2012-05-24T08:00:00","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=12572"},"modified":"2012-05-24T09:00:00","modified_gmt":"2012-05-24T08:00:00","slug":"windows-server-2012-hyper-v-network-card-nic-teaming","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=12572","title":{"rendered":"Windows Server 2012 Hyper-V &#038; Network Card (NIC) Teaming"},"content":{"rendered":"<p>Every time Microsoft gave us a new version of Hyper-V (including W2008 R2 SP1) we got more features to get the solution closer in functionality to the competition.&#160; With the current W2008 R2 SP release, I reckon that we have a solution that is superior to most vSphere deployments (think of licensed or employed features).&#160; Every objection, one after the next, was knocked down: Live Migration, CSV, Dynamic Memory, and so on.&#160; The last objection was NIC teaming \u2026 VMware had it but Microsoft didn\u2019t have a supported solution.<\/p>\n<p>True, MSFT hasn\u2019t had NIC teaming and there\u2019s a <a href=\"http:\/\/support.microsoft.com\/kb\/968703\" target=\"_blank\">KB article<\/a> which says they don\u2019t support it.&#160; NIC teaming is something that the likes of HP, Dell, Intel and Broadcom provided using their software.&#160; If you had a problem, MSFT might ask you to remove it.&#160; And guess what, just about every networking issue I\u2019ve heard on on Hyper-V was driver or NIC teaming related.<\/p>\n<p>As a result, I\u2019ve always recommended against NIC teaming using OEM software.<\/p>\n<p>We want NIC teaming!&#160; That was the cry \u2026 every time, every event, every month.&#160; And the usual response from Microsoft is \u201cwe heard you but we don\u2019t talk about futures\u201d.&#160; Then Build came along in 2011, and they announced that NIC teaming would be included in W2012 and fully supported for Hyper-V and Failover Clustering.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image_thumb5.png\" width=\"504\" height=\"346\" \/><\/a><\/p>\n<p>NIC teaming gives us LBFO.&#160; In other words, we can aggregate the bandwidth of NICs and have automatic failover between NICs.&#160; If I had 2 * 10 GbE NICs then I could team them to have a single pipe with 20 Gbps if both NICs are working and connected.&#160; With failover we typically connect both NICs to ports on different access switches.&#160; The result is that if one switch, it\u2019s NIC becomes disconnected, but the other one stays connected and the team stays up and running, leaving the dependent services available to the network and their clients.<\/p>\n<p>Here\u2019s a few facts about W2012 NIC teaming:<\/p>\n<li>We can connect up to 32 NICs in a single team.&#160; That\u2019s a lot of bandwidth!<\/li>\n<li>NICs in a single team can be different models from the same manufacturer or <em>even<\/em> NICs from different manufacturers.&#160; Seeing as drivers can be troublesome, maybe you want to mix Intel and Broadcom NICs in a team for extreme uptime.&#160; Then a dodgy driver has a lesser chance of bringing down your services.<\/li>\n<li>There are multiple teaming modes for a team: Generic\/Static Teaming requires the switches to be configured for the team and isn\u2019t dynamic.&#160; LACP is self-discovering and enables dynamic expansion and reduction of the NICs in the team.&#160; Switch independent works with just a single switch \u2013 switches have no knowledge of the team.<\/li>\n<li>There are two hashing algorithms for traffic distribution in the NIC team.&#160; With Hyper-V switch mode, a VM\u2019s traffic is limited to a single NIC.&#160; In lightly loaded hosts, this might no distribute the network load across the team.&#160; Apparently it can work well on heavily loaded hosts with VMQ enabled.&#160; Address hashing uses a hashing algorithm to spread the load across NICs.&#160; There is 4-tuple hashing (great distribution) but it doesn\u2019t work with \u201chidden\u201d protocols such as IPsec and fails back to 2-tuple hashing.<\/li>\n<p>&#160;<\/p>\n<p>NIC teaming is easy to set up.&#160; You can use Server Manager (under Local Server) to create a team.&#160; This GUI is similar to what I\u2019ve seen from OEMs in the past.&#160; <\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image_thumb6.png\" width=\"504\" height=\"319\" \/><\/a><\/p>\n<p>You can also use PowerShell cmdlets such as New-NetLbfoTeam and Set-VMNetworkAdapter.<\/p>\n<p>One of the cool things about a NIC team is that, just like with OEM versions, you can create virtual networks\/connections on a team.&#160; Each of those connections have have an IP stack, it\u2019s own policies, and VLAN binding.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/05\/image_thumb7.png\" width=\"304\" height=\"385\" \/><\/a><\/p>\n<p>In the Hyper-V world, we can use NIC teams to do LBFO for important connections.&#160; We can also use it for creating converged fabrics.&#160; For example, I can take a 2U server with 2 * 10 GbE connections and use that team for all traffic.&#160; I will need some more control \u2026 but that\u2019s another blog post.<\/p>\n<div style=\"padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px\" id=\"scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a3a7eb65-2c61-40a4-84e3-fe2f549d3f06\" class=\"wlWriterEditableSmartContent\">Technorati Tags: <a href=\"http:\/\/technorati.com\/tags\/Windows+Server+2012\" rel=\"tag\">Windows Server 2012<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Hyper-V\" rel=\"tag\">Hyper-V<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Networking\" rel=\"tag\">Networking<\/a>,<a href=\"http:\/\/technorati.com\/tags\/Virtualisation\" rel=\"tag\">Virtualisation<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Every time Microsoft gave us a new version of Hyper-V (including W2008 R2 SP1) we got more features to get the solution closer in functionality to the competition.&#160; With the current W2008 R2 SP release, I reckon that we have a solution that is superior to most vSphere deployments (think of licensed or employed features).&#160; &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=12572\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Windows Server 2012 Hyper-V &#038; Network Card (NIC) Teaming&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[20],"tags":[181,80,195,118],"class_list":["post-12572","post","type-post","status-publish","format-standard","hentry","category-hyper-v","tag-hyper-v","tag-networking","tag-virtualisation","tag-windows-server-2012"],"aioseo_notices":[],"jetpack_featured_media_url":"","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/12572","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=12572"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/12572\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=12572"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=12572"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=12572"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}