Microsoft Hyper-V

HPE Proliant server cluster + HPE MSA SAN met Hyper-V

Ik heb de beschikking over een nieuw test lab bestaande uit twee HPE Proliant DL360 servers en een HPE MSA 2040 SAN. Op dit hardware platform ga ik een cluster opzetten waarbij ik middels Hyper-V virtualisatie wil gaan doen.

De servers beschikken over een quad-nic (rj45) en een dual SFP+ kaart. De MSA2040 beschikt over twee controllers met ieder 4 iscsi aansluitingen.

We beginnen uiteraard met een Windows Server in een separaat management netwerk. De beide te realiseren servers zullen voorzien worden van de Hyper-V feature, Multipath-IO (ivm iSCSI) en Failover-Clustering.

Als de windows installatie is afgerond, geef je de server een vast-ipadres, geef je deze een hostnaam.

Installeer de feature Hyper-V inclusief de bijbehorende management tools.

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Indien je een MSA / SAN hebt die werkt op basis van Fibre Channel, ben je zo klaar. Deze heeft heeft namelijk een directe koppeling tussen Compute en Storage. In het geval van een iSCSI uitvoering dien je eerst ip-adressen te bepalen die je over en weer gaat gebruiken, eventueel een dedicated storage-switch inzetten en je iSCSI initiaters toegang te geven op je storage.

Bepaal nu de ip-adressen die je in je iSCSI netwerk gaat gebruiken. Configureer op je MSA dienst host-poorten. Dit doe je onder de menu optie System.

Start op je hyper-v host de Microsoft iSCSI Initiater Service en zet het start-up type ervan op automatisch.

Get-Service –name "MSiSCSI" | Start-Service; Set-Service –Name "MSiSCSI" –StartupType Automatic

Via Powershell kun je met een commando de iSCSI Initiator ID opvragen:

Get-InitiatorPort

Deze dien je op de MSA toe te voegen onder hosts.

Hierna kun je bij Mapping de op de MSA aangemaakte volumes toekennen aan de host.

Schakel op je je MSA SAN de jumbo frames in op het tabblad Advanced Settings onder de Host Port Settings.

Ga vervolgens verder op je hyper-v host. Stel ook op ook de netwerk kaarten jumbo packets/frames in.

Open op je hyper-v host de iSCSI Initiator Properties. Voer bij target een ip-adres op dat je op de MSA bij de Host Port Settings hebt gebruikt. Als je bij discovery al je iscsi poorten terug ziet ga je naar het tabblad volumes and devices. Druk daar op autoconfigure en de LUN’s van je MSA zullen daar verschijnen.

Ik ga ervan uit dat je net als ik iedere hyper-v host met een iscsi port op beide controllers van de MSA wil verbinden voor redundantie. Schakel in dit geval dan Multipath I/O in.

Install-WindowsFeature Multipath-IO
Enable-MSDSMAutomaticClaim -BusType iSCSI

Open vervolgens Computer Management en ga daar naar Disk Management. Zet je iscsi volumes online, initialiseer en formateer ze.

Open nu je Hyper-V manager en pas de default paden voor virtual harddisks en virtual machines aan zodat ze naar de volumes op je SAN verwijzen.

Je kunt ook nog een handmatige mpclaim uitvoeren. Baseer je bij verschillende modellen op de output die je krijgt van get-physicaldisk. Let op, bij er zitten 5 spaties tussen HP en MSA.

mpclaim -n -I -d "HP     MSA 2040 SAN"

Sidenote… bij een MSA 2060 zou dit “HPE MSA 2060 ISCSI” zijn.

Dan is het nu zaak dat je de tweede server installeert.

  • wijzig diens naam en herstart
  • geef de tweede server een vast ip-adres
  • installeer de hyper-v feature
  • start de iSCSI initiator en voer de discovery uit
  • vraag de server zijn iscsi initiator naam op en maak de nodige mappings aan op je SAN
  • installeer multipath I/O en zet MSDSMAutomaticClaim aan
  • open computer management en voeg de volumes op de MSA toe. Let op dat je deze daarbij niet formateert!

Omdat je gebruik gaat maken van een SAN als centrale storage, is het nu zaak dat je op beide servers Failover Clustering installeert:

Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -Restart

Vervolgens ga je naar Failover Cluster Manager en maak je een cluster aan. Voeg de hyper-v hosts toe, verzin een clusternaam en ken deze een ip-adres toe.

Voer voordat je in productie gaat een test uit op je cluster. Hiervoor kun je de optie Validate Configuration gebruiken.

Daarbij kan het zijn dat je warnings krijgt, neem deze door in de summary die op het einde gegeven wordt. Zo kan het zijn dat er services niet op automatisch starten staan waar dat wel nodig is, of dat tussen je twee hosts een te groot verschil aan updates zit.

Een ding dat je meteen dient te controleren is het gebruik van netwerken binnen het cluster. In mijn setup heb ik het iscsi netwerk moeten uitsluiten van cluster and client use. Anders wil je live migration mogelijk over dat netwerk gaan lopen.

Lees verder in dit artikel over het werken met cluster shared volumes.