Wortell LAB 2013: Server 2012 Virtualization Technology Deel 1: Fabric

Bij Wortell hebben we recentelijk onze bestaande labomgeving opnieuw opgebouwd op basis van de nieuwste technieken in Windows Server 2012. We hebben daarbij getracht om optimaal gebruik te maken va

Het doel van deze serie is om aan te tonen wat de nieuwe mogelijkheden van Windows Server 2012 zijn en te demonstreren dat het mogelijk is om met beperkte middelen een kleinschalige omgeving op te bouwen. Een omgeving die zich vervolgens er voor leent om eenvoudig en zeer flexibel uit te schalen.

 

In deel 1 van de serie, Fabric, beginnen we met een overzicht van de gebruikte technieken, de hardware en software en de basisconfiguratie van de servers waaronder networking en local storage.

In deel 2 van de serie, Shared Storage, gaan we aan de slag met de storage voor zowel het cluster als de virtuele machines.

In deel 3 van de serie, Hyper-V Cluster, bouwen en configureren we het Hyper-V cluster.

 

deel 1: fabric

De term die Microsoft hanteert voor alle (voornamelijk hardware) componenten die de basis vormen voor een private cloud is Fabric.

Aangezien het onze interne labomgeving betreft, maken we gebruik van hardware die we nog op de plank hebben liggen. Ook hebben we niet de luxe al over VMM te beschikken (die installeren we later als VM), waardoor we alle (Fabric) configuratie buiten VMM om doen.

Door de beperkingen in de labomgeving (en de hardware) zullen we niets redundant uitvoeren. Waar mogelijk wordt er notitie gemaakt van de opties die beschikbaar zijn om dit wel te doen.

Een overzicht van de 2012 technieken waar we gebruik van gaan maken:

 

 

Je ziet dat we gebruik maken van behoorlijk wat nieuwe features. Dit bewijst maar weer wat een enorme sprong er is gemaakt door Microsoft om alle technieken die ze hebben geleerd van hun eigen cloud platform te integreren in Windows Server 2012.

Als je alles bij elkaar brengt krijg je de volgende opstelling:

overview

Een Windows Server 2012 Hyper-V Cluster met converged fabrics met shared storage via iSCSI op een Windows Server 2012 Fileserver, met een combinatie van SAN en local storage

 

hardware

Een kort overzicht van de gebruikte hardware in het lab:

  • 1x Fileserver met 4 SAS disks en 6 NICs en 2 Fibre Channel HBAs
  • 1x MSA1000 Shared SAS Fibre Channel storage
  • 2x Hyper-V 2012 nodes (4 cores, 24GB RAM) met elk 4 NICs
  • 1x 1 Gbe 24p switch

 

In een productieomgeving zouden we er voor kiezen om minimaal 2 switches te gebruiken. Ook de fileserver zou redundant uitgevoerd moeten worden. Verder zijn er ook nog keuzes te maken op het gebied van DCB en 10Gbe networking. Windows Server 2012 biedt zeer veel mogelijkheden om de networking en storagelagen in te richten.

 

software

Alle servers worden voorzien van Windows Server 2012. Vanuit een licensing oogpunt zou je in de meeste gevallen kiezen voor Datacenter licensing voor de clusternodes, en Standard voor de fileserver. We kiezen ervoor om te installeren met GUI om configuratie makkelijker te maken. Als alles up and running is kunnen we de GUI uitschakelen. Let wel dat dit een reboot vereist.

Verder zorgen we dat alle drivers en firmware bijgewerkt zijn en zorgen we dat alle patches geinstalleerd zijn.

Als laatste nog een opmerking over de requirements voor Active Directory: zorg er voor dat de Domain Controllers minimaal 2008 R2 SP1 zijn. Is dit niet het geval kunnen er problemen ontstaan bij de bouw van het cluster (zijn de domain controllers niet bijgewerkt, is er een hotfix beschikbaar: http://support.microsoft.com/kb/976424).

 

fileserver:

Ter voorbereiding, voeg de volgende rollen toe op de fileserver:

addrolesfileserver

hyper-v hosts:

Ter voorbereiding voegen we de Hyper-V rol toe. We maken nog geen virtuele switches aan!

hypervroles

Het is ook mogelijk om alvast de Failover Clustering feature toe te voegen.

networking

switches:

Omdat we gebruik maken van switch independent teaming is er geen noodzaak om configuratie hiervoor op de switch uit te voeren. Wel stellen we alle switchpoorten op trunk mode in voor de VLANs die we gaan hanteren. Voor ons management VLAN, 100, verzorgen we een uplink naar onze productieomgeving. Het is overigens wel de bedoeling om ons lab te gaan voorzien van een tweede switch en gebruik te gaan maken van stacking en LACP teaming.

 

In productieomgevingen verdient het de voorkeur om gebruik te maken van switch-dependent teaming, ook wel LACP of Link Aggegration genoemd. Deze vereisen een configuratie op de switches en bieden het voordeel dat de switch meewerkt aan load balancing (in onze opstelling wordt alleen outbound traffic verdeeld over de NICs) en de controle of poorten “up” zijn. Zie http://www.microsoft.com/en-us/download/details.aspx?id=30160 voor een whitepaper over alle teaming mogelijkheden in Server 2012.

 

fileserver:

Op de fileserver gaan we gebruik maken van een combinatie van SMB en iSCSI voor het storageverkeer. Aangezien we beschikken over 6 NICs kiezen we ervoor om iSCSI verkeer te scheiden van SMB/Management verkeer. Dit kan op 2 manieren; we kunnen gebruik maken van Converged Fabrics samen met QoS of we kunnen een fysieke scheiding maken. Om optimaal gebruik te maken van de hardware features van onze NICs (net name RSS) kiezen we ervoor om het storageverkeer fysiek te scheiden.

Server 2012 ondersteunt SMB multichannel ook voor geteamde NICs. Dit zorgt ervoor dat we gebruik kunnen maken van zowel de verbeterde performance van SMB multichannel alswel van de verhoogde bandbreedte en fouttolerantie door teaming.

Voor iSCSI/Storage maken we geen gebruik van MPIO voor de verbinding vanaf de iSCSI initiators aangezien we in de LAB omgeving beschikken over 1 enkele switch. Redundantie van netwerkpaden is dus niet nodig. Uit performance oogpunt levert het ook meer op om de interfaces op de hyper-v hosts te teamen voor de verhoogde doorvoersnelheid van de overige netwerken (aangezien we op de hyper-v hosts alle netwerken combineren over 1 team bestaande uiti alle adapters hebben we daar ook niet de mogelijkheid om 2 aparte adapters te gebruiken voor MPIO).

 

Dit resulteert in de volgende netwerkconfiguratie:

doel VLAN ID Subnet aantal NICs
Management 100 172.20.1.0/24 2
STORAGE 918 10.9.18.0/24 4

 

We hernoemen eerst de NICs volgens het schema LAN-TEAM-NIC01, 2 en STORAGE-TEAM-NIC01,2,3,4. We maken hierop teams aan met de volgende PowerShell commands:

​# Maak een NIC-team voor management bestaande uit 2 adapters:New-NetLbfoTeam “LAN-TEAM” –TeamMembers “LAN-Team-NIC01″,”LAN-Team-NIC02” TeamNicName “LAN-TEAM”

# Maak een NIC-team voor storage bestaande uit 4 adapters:

New-NetLbfoTeam “STORAGE-TEAM” –TeamMembers “Storage-Team01-NIC01″,”Storage-Team01-NIC02″,”Storage-Team01-NIC03″,”Storage-Team01-NIC04” –TeamNicName “STORAGE-TEAM”

 

De default instelling is hierbij Switch Independent teaming mode met gebruik van Address Hash load balancing. Dit resulteert in de volgende configuratie:

fileserverteams

 

hyper-v hosts:

Op de hyper-v hosts beschikken we over 4 netwerkpoorten. We zullen deze poorten gebruiken voor alle verkeersstromen (Converged Fabrics). Aangezien we hierbij zorg moeten dragen voor een goede scheiding van verkeer gaan we gebruik maken van de Hyper-V extensible switch om per verkeersstroom een virtuele adapter aan te maken met een QoS bandbreedtereservering. Hiervoor moeten we PowerShell gebruiken. Ook geven we de netwerken een relatief gewicht mee. Het totale gewicht dient idealerwijs niet boven 100 uit te komen (dit houdt het overzichtelijk en geeft een 1 op 1 relatie met bandbreedte uitgedrukt in een percentage); we wijzen voor “overig” verkeer, waar ook verkeer vanuit virtuele machines onder valt, een gewicht van 40 toe.

 

Door het gebruik van QoS en het reserveren van een minimum bandbreedte garanderen we dat er geen verkeer “weggedrukt” wordt. Het zorgt er eveneens voor dat het mogelijk is voor 1 van de verkeersstromen om alle beschikbare bandbreedte te benutten, indien andere verkeersstromen daar geen gebruik van maken. Door het combineren van meerdere adapters en het instellen van QoS wordt de totale beschikbare bandbreedte dus optimaal gebruikt.

 

We gaan de volgende netwerken gebruiken:

NAAM VLAN ID SUBNET GEWICHT
CLUSTER 917 10.9.20.0/24 5
LM 919 10.9.19.0/24 20
STORAGE 918 10.9.18.0/24 30
MANAGEMENT 100 10.20.1.0/24 5
Default nvt nvt 40

 

We hernoemen de netwerkadapters op beide servers naar Team-NIC01, Team-NIC02, Team-NIC03, Team-NIC04. Vervolgens gebruiken we de volgende PowerShell commands om de virtuele adapters aan te maken en de VLAN IDs en QoS policies in te stellen:

​# Maak een NIC-team bestaande uit 4 adapters:New-NetLbfoTeam “Team01” –TeamMembers “Team-NIC01″,”Team-NIC02″,”Team-NIC03″,”Team-NIC04” –TeamNicName “Team01”

# Maak een Hyper-V Virtual Switch op het NIC team

New-VMSwitch “VN-Trunk01” –NetAdapterName “Team01” –MinimumBandwidthMode Weight –AllowManagementOS $false

# Maak een virtuele NIC in het management operating system voor Storage

Add-VMNetworkAdapter –ManagementOS –Name “Storage” –SwitchName “VN-Trunk01”

# Maak een virtuele NIC in het management operating system voor Live Migration

Add-VMNetworkAdapter –ManagementOS –Name “LM” –SwitchName “VN-Trunk01”

# Maak een virtuele NIC in het management operating system voor Cluster

Add-VMNetworkAdapter –ManagementOS –Name “Cluster” –SwitchName “VN-Trunk01”

# Maak een virtuele NIC in het management operating system voor Management

Add-VMNetworkAdapter –ManagementOS –Name “Management” –SwitchName “VN-Trunk01”

 

# Definieer een standaard gewicht voor ongeclassificeerd verkeer (VM traffic)

Set-VMSwitch “VN-Trunk01” -DefaultFlowMinimumBandwidthWeight 40

# Geef een gewicht aan Storage

Set-VMNetworkAdapter –ManagementOS –Name “Storage” –MinimumBandwidthWeight 30

# Geef een gewicht aan Live Migration

Set-VMNetworkAdapter –ManagementOS –Name “LM” –MinimumBandwidthWeight 20

# Geef een gewicht aan Cluster

Set-VMNetworkAdapter –ManagementOS –Name “Cluster” –MinimumBandwidthWeight 5

# Geef een gewicht aan Management

Set-VMNetworkAdapter –ManagementOS –Name “Management” –MinimumBandwidthWeight 5

 

# Zet een VLANid op de netwerken:

Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName Storage –Access –VlanId 918

Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName LM –Access –VlanId 919

Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName Cluster –Access –VlanId 917

Set-VMNetworkAdapterVlan –ManagementOS –VMNetworkAdapterName Management –Access –VlanId 100

 

Met het volgende commando controleren we vervolgens de verdeling:

Get-VMNetworkAdapter -ManagementOS -Name *

Deel je enthousiasme