Navigation
Search
Recent Articles
« System Center Virtual Machine Manager 2012 SP1 Beta released | Main | Installation of SCOM 2012 Agent on Windows Server 2012 RC fails with “Failed to install performance counters” »
Monday
Sep102012

Set up a converged Network for Windows Server 2012 Hyper-V Failover Cluster

Converged networks is a new functionality in Windows Server 2012 which allows the creation of virtual network adapter (normally used for virtual machines) in the parent partition (management OS). This feature is specially useful in Hyper-V Failover Cluster scenarios where multiple networks are required.  These networks are, the Management network (or host network), the Live Migration network, the Cluster & CSV network and the network for the virtual machine network traffic.

In this example I start with a computer with five NICs. NIC 1-3 are teamed using the Windows Server 2012 teaming feature. The team network adapter is called ConvergedNicTeam. There are also two NICs for iSCSI network traffic.

Since converged networks can not be created using a user interface, PowerShell must be used. Therefore, PowerShell will be used in this example. So, let’s get an overview of the installed NICs first:

PS C:\> Get-NetAdapter | sort Name

Name                InterfaceDescription                    ifIndex Status MacAddress         LinkSpeed

----                --------------------                    ------- ------ ----------         ---------

1vO Converged Team  Intel(R) 82579V Gigabit Network Conn... 22      Up     F4-6D-04-52-C7-4D  1 Gbps

2vO Converged Team  Intel(R) Gigabit CT Desktop Adapter     12      Up     00-1B-21-A8-5E-F7  1 Gbps

3vO Converged Team  Intel(R) PRO/1000 GT Desktop Adapter    14      Up     00-1B-21-B4-CA-F6  1 Gbps

4vO – iSCSI         Intel(R) Gigabit CT Desktop Adapter #2  13      Up     00-1B-21-A8-5D-03  1 Gbps

5vO – iSCSI         Intel(R) PRO/1000 GT Desktop Adapter #2 15      Up     00-1B-21-B0-1E-1F  1 Gbps

ConvergedNicTeam    Microsoft Network Adapter Multiplexo... 25      Up     F4-6D-04-52-C7-4D  3 Gbps

First a new Hyper-V virtual switch needs to be created. The switch is created with the “Weight” mode in order to guaranty a minimum amount of network bandwidth for the cluster networks.

PS C:\> New-VMSwitch "ConvergedVMSwitch" -MinimumBandwidthMode Weight -NetAdapterName "ConvergedNicTeam"

Name               SwitchType  NetAdapterInterfaceDescription

----               ----------  ------------------------------

ConvergedVMSwitch  External    Microsoft Network Adapter Multiplexor Driver

Next, I check that the Hyper-V Extensible Virtual Switch is bind to the correct network adapter.

PS C:\Windows\system32> Get-NetAdapterBinding | where {$_.DisplayName -like "Hyper-V*"}

Name                          DisplayName                       ComponentID Enabled

----                          -----------                       ----------- -------

vEthernet (ConvergedVMSwitch) Hyper-V Extensible Virtual Switch vms_pp      False

5vO – iSCSI                   Hyper-V Extensible Virtual Switch vms_pp      False

3vO Converged Team            Hyper-V Extensible Virtual Switch vms_pp      False

1vO Converged Team            Hyper-V Extensible Virtual Switch vms_pp      False

4vO – iSCSI                   Hyper-V Extensible Virtual Switch vms_pp      False

2vO Converged Team            Hyper-V Extensible Virtual Switch vms_pp      False

ConvergedNicTeam              Hyper-V Extensible Virtual Switch vms_pp      True

This shows that the ConvergeNicTeam is bind to the Hyper-V Exensible Virtual Switch protocol. By default, when a VM switch is created using this PowerShell cmdlet, a virtual management NICs is also created. This NICs is required because I used all the NICs for the NIC team and the team is now my Hyper-V virtual switch. Without, the virtual management NIC, I would have no access to the Hyper-V host itself anymore, or I would need to place a separate physical NIC into the Hyper-V host.

Let’s have another look at the NICs:

PS C:\> Get-NetAdapter | sort name

Name                        InterfaceDescription                     ifIndex  Status  MacAddress      

----                        --------------------                     -------  ------  ----------       

1vO Converged Team          Intel(R) 82579V Gigabit Network Conn...  22       Up      F4-6D-04-52-C7-4D 

2vO Converged Team          Intel(R) Gigabit CT Desktop Adapter      12       Up      00-1B-21-A8-5E-F7 

3vO Converged Team          Intel(R) PRO/1000 GT Desktop Adapter     14       Up      00-1B-21-B4-CA-F6 

4vO – iSCSI                 Intel(R) Gigabit CT Desktop Adapter #2   13       Up      00-1B-21-A8-5D-03 

5vO – iSCSI                 Intel(R) PRO/1000 GT Desktop Adapter #2  15       Up      00-1B-21-B0-1E-1F 

ConvergedNicTeam            Microsoft Network Adapter Multiplexo...  25       Up      F4-6D-04-52-C7-4D 

vEthernet (ConvergedVM...   Hyper-V Virtual Ethernet Adapter #2      35       Up      F4-6D-04-52-C7-4D 

The new management NIC is created with the name vEthernet (ConvgeredVMSwitch). The interface description is Hyper-V Virtual Ethernet Adapter. The name in brackets basically tells to which Hyper-V virtual switch this NIC belongs to.

Next, I create the virtual NICs for the LiveMigration and the ClusterCSV networks.  Then I set a VLanID on each of the NICs to have separate broadcast domains. Note that –ManagementOS parameter. This tells the command to create the virtual network adapter in the parent partition (the Hyper-V OS). The other parameters are the name of the new virtual network adapter and the Hyper-V virtual switch they are connected to.

PS C:\> Add-VMNetworkAdapter -ManagementOS -Name "LiveMigration" -SwitchName "ConvergedVMSwitch"

PS C:\> Add-VMNetworkAdapter -ManagementOS -Name "ClusterCSV" -SwitchName "ConvergedVMSwitch"

PS C:\> Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "LiveMigration" -Access -VlanId 10

PS C:\> Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "ClusterCSV" -Access -VlanId 20

Let’s look at the NICs again:

PS C:\> Get-NetAdapter | sort name

Name                       InterfaceDescription

----                       --------------------

1vO Converged              Team Intel(R) 82579V Gigabit Network Conn...

2vO Converged              Team Intel(R) Gigabit CT Desktop Adapter

3vO Converged              Team Intel(R) PRO/1000 GT Desktop Adapter

4vO – iSCSI                Intel(R) Gigabit CT Desktop Adapter #2

5vO – iSCSI                Intel(R) PRO/1000 GT Desktop Adapter #2

ConvergedNicTeam           Microsoft Network Adapter Multiplexo...

vEthernet (ClusterCSV)     Hyper-V Virtual Ethernet Adapter #4

vEthernet (ConvergedVM...  Hyper-V Virtual Ethernet Adapter #2

vEthernet (LiveMigration)  Hyper-V Virtual Ethernet Adapter #3

The PowerShell cmdlets created two new NIC. Each NICs gets the virtual network adapter name in the brackets. That basically tells me which NIC is associated with which virtual network adapter. For consistent naming, I rename the NIC that was automatically created as the management NIC:

PS C:\> Rename-NetAdapter -Name "vEthernet (ConvergedVMSWitch)" -NewName "vEthernet (Host)"

As a result, the list of NICs now look like:

PS C:\> Get-NetAdapter | sort name

Name

----

1vO Converged Team

2vO Converged Team

3vO Converged Team

4vO – iSCSI

5vO - iSCSI

ConvergedNicTeam

vEthernet (ClusterCSV)

vEthernet (Host)

vEthernet (LiveMigration)

Since I renamed the NIC, I can not tell what the previous virtual network adapter name was. To get a list of the created virtual network adapters in the parent partition, I run following cmdlet:

PS C:\> Get-vmnetworkadapter -ManagementOS

Name               IsManagementOs  VMName  SwitchName         MacAddress    Status IPAddresses

----               -------------- ------   ----------         ----------    ------ -----------

ClusterCSV         True                    ConvergedVMSwitch  00155D143304  {Ok}

LiveMigration      True                    ConvergedVMSwitch  00155D143303  {Ok}

ConvergedVMSwitch  True                    ConvergedVMSwitch  F46D0452C74D  {Ok}

This now shows me all the virtual network adapters that are connected to my Hyper-V virtual switch. Using the MAC Address, I can find out which of these virtual network adapters belong to which NIC, called vEthernet (…).

Finally, I set up the minimum bandwidth weight that I want to provide on each adapter. This guaranties a bandwidth that is available on the virtual network adapter in relation to the other adapters. In my example, the CSV network will get the most bandwidth. This is not a fixed bandwidth value, but a value that is a percentage of the complete bandwidth available. Therefore, if you increase the total bandwidth of your NIC team, the minimum bandwidth also increases. To calculate the percentage a virtual network adapter gets, add all the weights together. Then divide the configured weight of a single virtual network adapter by the value of the total weight and multiply with 100.

Note: If you don’t want to go with a weight value but with a fixed bandwidth value. You need to specify that during the creation of the Hyper-V virtual switch.

So here’s what I configured:

PS C:\> Set-VMNetworkAdapter -ManagementOS -Name "ClusterCSV" -MinimumBandwidthWeight 40

PS C:\> Set-VMNetworkAdapter -ManagementOS -Name "LiveMigration" -MinimumBandwidthWeight 20

PS C:\> Set-VMNetworkAdapter -ManagementOS -Name "ConvergedVMSwitch" -MinimumBandwidthWeight 5

The ClusterCSV adapter gets quite a high weight compared to the other adapters. The reason for this is following: In case that a storage connection to the shared storage is lost, the storage data traffic of that Hyper-V cluster node is redirected via the CSV network to another Hyper-V cluster node. When this happens, you want to assure that there is enough bandwidth for this storage traffic.

Next, I configured the IP addresses on the NICs of the ClusterCSV and the LiveMigration network. Now, when I open the failover manager, I see that the new networks are available:

clip_image001

The final step would be to verify that the cluster networks are configured correctly. However, this has nothing to do with converged networks and is stand cluster administration.

Hope that helps..

PrintView Printer Friendly Version

EmailEmail Article to Friend