{"id":13984,"date":"2013-01-07T13:16:00","date_gmt":"2013-01-07T13:16:00","guid":{"rendered":"https:\/\/aidanfinn.com\/?p=13984"},"modified":"2013-01-07T13:16:00","modified_gmt":"2013-01-07T13:16:00","slug":"windows-server-2012-nic-teaming-back-to-basics","status":"publish","type":"post","link":"https:\/\/aidanfinn.com\/?p=13984","title":{"rendered":"Windows Server 2012 NIC Teaming Part 1 &#8211; Back To Basics"},"content":{"rendered":"<p>Last year I did a <a href=\"https:\/\/aidanfinn.com\/?p=12646\" target=\"_blank\">series of posts on converged fabrics<\/a>.\u00a0 At the time, it was still early days and we had very little information from Microsoft in the public domain.\u00a0 A key piece of the puzzle is the NIC team.\u00a0 It\u2019s clear that NIC teaming is confusing people.\u00a0 I\u2019m seeing loads of questions about bandwidth not being used, concerns about architectures and so on.\u00a0 I thought I\u2019d write a new series of posts on NIC teaming, dealing with one chunk of information in each post.<\/p>\n<p>If you want, you can read the official documentation on NIC teaming from Microsoft.\u00a0 This <a href=\"http:\/\/www.microsoft.com\/en-us\/download\/details.aspx?id=30160\" target=\"_blank\">paper<\/a> was published during the beta but it\u2019s still valid.\u00a0 It is heavy reading, but it\u2019s pretty complete.<\/p>\n<p>OK, let\u2019s get started:<\/p>\n<p><strong><span style=\"text-decoration: underline;\">NIC Teaming in Windows Server 2012<\/span><\/strong><\/p>\n<p>Microsoft has <a href=\"http:\/\/support.microsoft.com\/kb\/968703\" target=\"_blank\">never supported 3rd party NIC teaming<\/a>, such as the sort you get from HP, Dell, Intel or Broadcom:<\/p>\n<blockquote><p>Since Network Adapter Teaming is only provided by Hardware Vendors, Microsoft does not provide any support for this technology thru Microsoft Product Support Services. As a result, Microsoft may ask that you temporarily disable or remove Network Adapter Teaming software when troubleshooting issues where the teaming software is suspect.<\/p>\n<p>If the problem is resolved by the removal of Network Adapter Teaming software, then further assistance must be obtained thru the Hardware Vendor.<\/p><\/blockquote>\n<p>From my perspective, the 3rd party NIC teaming solutions ripped out the guts of Microsoft networking, threw in a few parts of their own, shoved it all back in, and hoped that this Franken-networking would stay running.\u00a0 As a result, lots of the problems I heard about were caused by NIC teaming.\u00a0 I even heard of a problem were a badly configured (not according to the vendor\u2019s guidance) NIC team could cause a network security issue that was not otherwise possible with Hyper-V.<\/p>\n<p>We Hyper-V users begged for Microsoft to write their own NIC teaming for Windows Server.\u00a0 Windows Server 2012 delivered, and gives us NIC teaming that is built into the OS and is fully supported, including Hyper-V and Failover Clustering.\u00a0 In fact, we can use it to create some very nice network designs that abstract the fabrics of the data centre (converged fabrics), that result in simpler, cheaper, and more fault tolerant networking.<\/p>\n<p><strong><span style=\"text-decoration: underline;\">Load Balancing and Failover (LBFO)<\/span><\/strong><\/p>\n<p>NIC teaming has 2 basic reasons to exist:<\/p>\n<p><span style=\"text-decoration: underline;\">Reason 1: Load Balancing<\/span><\/p>\n<p>Load balancing will spread the total traffic of a server or host across a number of NICs.\u00a0 This is an aggregation of bandwidth.\u00a0 You can see a crude example of this in the below diagram, where VM1\u2019s traffic passes through pNIC1 and VM2\u2019s traffic passes through pNIC2.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/01\/image7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/01\/image_thumb6.png\" border=\"0\" alt=\"image\" width=\"304\" height=\"359\" \/><\/a><\/p>\n<p>Bandwidth aggregation is one of the most commonly misunderstood aspects of NIC teaming.\u00a0 Teaming four 1 GbE NICs does not necessarily give you a single 4 GbE pipe.\u00a0 It gives you four 1 GbE NICs that the NIC team can load balance traffic across.\u00a0 The design of the NIC team will dictate how the load balancing is done.\u00a0 In the above example, the virtual network adapter in VM1 is constrained to pNIC1 and the virtual network adapter in VM2 is limited to pNIC2.<\/p>\n<p><em>Note: You can see that the virtual NICs are connected to a virtual switch as usual.\u00a0 They have no visibility of the NIC team underneath.<\/em><\/p>\n<p><span style=\"text-decoration: underline;\">Reason 2: Failover<\/span><\/p>\n<p>In my experience, the most troublesome part of a computer room or data centre is the network.\u00a0 Switches, no matter how expensive they are, fail, and they tend to choose the most inappropriate times.\u00a0 In this case, we can design the NIC team with path fault tolerance.\u00a0 A basic example below shows how each NIC in the NIC team is connected to a different access switch.\u00a0 If one access switch fails, then the other NIC(s) in the team pick up the load.\u00a0 This failover happens automatically.\u00a0 The team will also automatically rebalance the workloads when the storage path comes back online.\u00a0 This solution will work in all scenarios where the team member (pNIC1) detects a connection failure, i.e. pNIC1 goes offline.<\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/01\/image8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2013\/01\/image_thumb7.png\" border=\"0\" alt=\"image\" width=\"304\" height=\"438\" \/><\/a><\/p>\n<p>A computer room or data centre that is designed for fault tolerance will always put in NICs in pairs, access switches in pairs, core switches in pairs, load balancers in pairs, firewalls in pairs, and so on.\u00a0 Of course, \u201cpairs\u201d might be swapped for \u201cteams\u201d in huge environments.\u00a0 And those switches could be standalone or stacked.\u00a0 That\u2019s a question for your network admins or architects.<\/p>\n<p><em>A fairly new concept in the data centre is where fail tolerance is built into the application or service that is running in the servers or VMs.\u00a0 In this case, the hosts are designed to fail, because the application always has fault tolerant copies elsewhere.\u00a0 This allows you to dispense with teaming, switch teaming\/stacking, and all the additional costs of putting in 2 instead of 1.<\/em><\/p>\n<p>There will be more posts on NIC teaming over the coming weeks.<\/p>\n<p>This information has been brought to you by <a href=\"http:\/\/www.amazon.com\/Windows-Server-Hyper-V-Installation-Configuration\/dp\/1118486498%3FSubscriptionId%3DAKIAIJ5WNI7ZSH7W4OXA%26tag%3Dafm0c-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1118486498\" target=\"_blank\">Windows Server 2012 Hyper-V Installation and Configuration Guide<\/a> (available on pre-order on Amazon) where you\u2019ll find lots of PowerShell like in this script:<\/p>\n<p><a href=\"http:\/\/www.amazon.com\/Windows-Server-Hyper-V-Installation-Configuration\/dp\/1118486498%3FSubscriptionId%3DAKIAIJ5WNI7ZSH7W4OXA%26tag%3Dafm0c-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1118486498\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"float: none; margin-left: auto; display: block; margin-right: auto;\" title=\"image\" src=\"https:\/\/aidanfinn.com\/wp-content\/uploads\/2012\/09\/image_thumb19.png\" border=\"0\" alt=\"image\" width=\"196\" height=\"244\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a title=\"Permalink to: Windows Server 2012 NIC Teaming Part 2 \u2013 What\u2019s What?\" rel=\"bookmark\" href=\"https:\/\/aidanfinn.com\/?p=13997\">Windows Server 2012 NIC Teaming Part 2 \u2013 What\u2019s What?<\/a><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/?p=14004\">Windows Server 2012 NIC Teaming Part 3 \u2013 Switch Connection Modes<\/a><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/?p=14032\">Windows Server 2012 NIC Teaming Part 4 \u2013 Load Distribution<\/a><\/p>\n<p><a href=\"https:\/\/aidanfinn.com\/?p=14039\">Windows Server 2012 NIC Teaming Part 5 \u2013 Configuration Matrix<\/a><\/p>\n<div class=\"wlWriterEditableSmartContent\" style=\"float: none; margin: 0px; display: inline; padding: 0px;\">Technorati Tags: <a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Windows+Server+2012\">Windows Server 2012<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Hyper-V\">Hyper-V<\/a>,<a rel=\"tag\" href=\"http:\/\/technorati.com\/tags\/Networking\">Networking<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Last year I did a series of posts on converged fabrics.\u00a0 At the time, it was still early days and we had very little information from Microsoft in the public domain.\u00a0 A key piece of the puzzle is the NIC team.\u00a0 It\u2019s clear that NIC teaming is confusing people.\u00a0 I\u2019m seeing loads of questions about &hellip; <a href=\"https:\/\/aidanfinn.com\/?p=13984\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Windows Server 2012 NIC Teaming Part 1 &#8211; Back To Basics&#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,118],"class_list":["post-13984","post","type-post","status-publish","format-standard","hentry","category-hyper-v","tag-hyper-v","tag-networking","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\/13984","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=13984"}],"version-history":[{"count":0,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=\/wp\/v2\/posts\/13984\/revisions"}],"wp:attachment":[{"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13984"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13984"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aidanfinn.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13984"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}