Umstellung unseres Failover Cluster auf 10 Gbit/s Converged Network
Der ein oder andere von Ihnen wird es über Facebook schon mitbekommen haben: Wir stellen aktuell unser Failover Cluster unter Windows Server 2012 von 1 GBit/s auf 10 GBit/s um. Durch diese Umstellung haben wir die Möglichkeit, die vorhandenen Karten als Team einzusetzen und so zum einen eine Erhöhung der Bandbreite bekommen, zum anderen eine Ausfallsicherheit. Die Erhöhung der Bandbreite wird sich positiv auf die Zeiten während einer oder mehreren Livemigrationen bemerkbar machen, da dies deutlich schneller ablaufen wird wie bisher.
Um Ihnen ebenfalls einen Mehrwert bei dieser Umstellung zu geben, werde ich den Vorgang mit diesem Artikel dokumentieren und erklären.
Aktuell sieht unsere Netzwerk-Konfiguration wie folgt aus:
Die Definition der Netzwerke ändert sich nicht, alle Netzwerke bleiben wie bisher auch bestehen. Was sich allerdings ändert ist die Aufteilung der Netzwerk-Adapter in den einzelnen Servern. Aktuell sieht dies in der Systemsteuerung so aus (Zur Info: Der eine Knoten hat 2x 10GBit und 2x 1GBit, der andere hat 2x 10GBit und 4x 1 GBit):
Nach der Umstellung soll das Netzwerk pro Cluster-Knoten die folgende Struktur haben:
Die Adapter “Intel(R) Gigabit 4P X540/I350 rNDC” und “Intel(R) Gigabit 4P X540/I350 rNDC #2” werden zu einem eigenen Team zusammengefasst und stehen mit insgesamt 2 GBit/s für die Kommunikation mit der Domäne, zum Management und für unser Veeam-Backup zur Verfügung. Die Adapter “Intel(R) Ethernet 10G 4P X540/I350 rNDC” und “Intel(R) Ethernet 10G 4P X540/I350 rNDC #2” werden zu einem eigenen Team zusammengefasst, basierend auf diesem Team wird eine Hyper-V Switch erstellt. Diese Switch steht zum einen für die VMs bereit, weiterhin werden basierend auf dieser Switch im Management-OS (das Host-Betriebssystem) virtuelle Netzwerkkarten (vNICs) erstellt. Diese stellen das Netzwerk für iSCSI, iSCSI2, CSV und Livemigration. Die Erstellung und Konfiguration von vNICs ist nur mit dem SCVMM oder per PowerShell möglich. In unserem Fall arbeiten wir mit der PowerShell.
Damit die einzelnen Netzwerke sich nicht gegenseitig behindern oder eine Karte den gesamten möglichen Traffic nutzen, wird mit Quality of Service (QoS) gearbeitet. Somit garantieren wir jedem einzelnen Netzwerk eine gewisse Bandbreite.
Nachdem nun der eine Knoten im Failovercluster-Manager mittels Livemigration leer geschoben wurde, wird das System mit Hilfe eines Skripts konfiguriert. Dieses Skript sieht wie folgt aus:
#Abfrage der End-IP-Adresse des Systems
$IP = Read-Host "Bitte geben Sie den vierten und letzten Bereich der IP-Adresse an (z.B. 101 fuer 192.168.210.101)"
#ConvergedSwitch-Team erstellen
New-NetLbfoTeam -Name Team01 -TeamMembers "10GbE #1","10GbE #2" -LoadBalancingAlgorithm HyperVPort -TeamingMode Lacp -Confirm:$false
#Management-Team erstellen
New-NetLbfoTeam -Name Team02 -TeamMembers "1GbE #1","1GbE #2" -LoadBalancingAlgorithm TransportPorts -TeamingMode SwitchIndependent -Confirm:$false
# Die virtuelle Switch erstellen, keine gemeinsame Verwendung
New-VMSwitch "VM" -MinimumBandwidthMode weight -NetAdapterName "Team01" -AllowManagementOS 0 -Confirm:$false
# Standard-Bandbreitenreservierung setzen
Set-VMSwitch "VM" -DefaultFlowMinimumBandwidthWeight 1
# Erstellen der virtuellen Netzwerkkarten
Add-VMNetworkAdapter -ManagementOS -Name "Livemigration" -SwitchName "VM"
Add-VMNetworkAdapter -ManagementOS -Name "CSV" -SwitchName "VM"
Add-VMNetworkAdapter -ManagementOS -Name "iSCSI" -SwitchName "VM"
Add-VMNetworkAdapter -ManagementOS -Name "iSCSI2" -SwitchName "VM"
# Assign static IP addresses to the virtual network adapters
Set-NetIPInterface -InterfaceAlias "vEthernet (Livemigration)" -dhcp Disabled -verbose
New-NetIPAddress -AddressFamily IPv4 -PrefixLength 24 -InterfaceAlias "vEthernet (Livemigration)" -IPAddress 192.168.214.$IP -verbose
Set-NetAdapterBinding -Name "vEthernet (Livemigration)" -ComponentID ms_tcpip6 -Enabled $False
Set-NetIPInterface -InterfaceAlias "vEthernet (CSV)" -dhcp Disabled -verbose
New-NetIPAddress -AddressFamily IPv4 -PrefixLength 24 -InterfaceAlias "vEthernet (CSV)" -IPAddress 192.168.215.$IP –verbose
Set-NetAdapterBinding -Name "vEthernet (CSV)" -ComponentID ms_tcpip6 -Enabled $False
Set-NetIPInterface -InterfaceAlias "vEthernet (iSCSI)" -dhcp Disabled -verbose
New-NetIPAddress -AddressFamily IPv4 -PrefixLength 24 -InterfaceAlias "vEthernet (iSCSI)" -IPAddress 192.168.212.$IP -verbose
Set-NetAdapterBinding -Name "vEthernet (iSCSI)" -ComponentID ms_tcpip6 -Enabled $False
Set-NetAdapterBinding -Name "vEthernet (iSCSI)" -ComponentID ms_msclient -Enabled $False
Set-NetAdapterBinding -Name "vEthernet (iSCSI)" -ComponentID ms_server -Enabled $False
Set-NetIPInterface -InterfaceAlias "vEthernet (iSCSI2)" -dhcp Disabled -verbose
New-NetIPAddress -AddressFamily IPv4 -PrefixLength 24 -InterfaceAlias "vEthernet (iSCSI2)" -IPAddress 192.168.213.$IP -verbose
Set-NetAdapterBinding -Name "vEthernet (iSCSI2)" -ComponentID ms_tcpip6 -Enabled $False
Set-NetAdapterBinding -Name "vEthernet (iSCSI2)" -ComponentID ms_msclient -Enabled $False
Set-NetAdapterBinding -Name "vEthernet (iSCSI2)" -ComponentID ms_server -Enabled $False
# QoS-Konfiguration der vNICs
Set-VMNetworkAdapter -ManagementOS -Name "LiveMigration" -MinimumBandwidthWeight 20 -verbose
Set-VMNetworkAdapter -ManagementOS -Name "CSV" -MinimumBandwidthWeight 25 -verbose
Set-VMNetworkAdapter -ManagementOS -Name "iSCSI" -MinimumBandwidthWeight 10 -verbose
Set-VMNetworkAdapter -ManagementOS -Name "iSCSI2" -MinimumBandwidthWeight 10 -verbose
# Konfiguration des Management-Teams
Set-NetIPInterface -InterfaceAlias "Team02" -dhcp Disabled -verbose
New-NetIPAddress -AddressFamily IPv4 -PrefixLength 23 -InterfaceAlias "Team02" -IPAddress 192.168.210.$IP -verbose
Set-DnsClientServerAddress -InterfaceAlias "Team02" -ServerAddresses ("192.168.210.2","192.168.210.4")
# Show VLanIDs on VMNetWorkAdapters
Get-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName *
Eine Kopie des Skripts als .txt-Datei finden Sie hier: ConvergedNetwork.txt
Nach der Ausführung des Skripts sieht die Netzwerk-Konfiguration des Hosts ein wenig anders aus:
Sie sehen die beiden Teams. Team01 steht mit insgesamt 20 GBit/s zur Verfügung, Team02 ist das Management-Team mit 2 GBit/s.