Hyper-V – Xenit Technical

Category: Hyper-V

Windows Server 2016: Hyper-V Discrete Device Assignment

En stor nyhet i Windows Server 2016 och Hyper-V är möjligheten att via Discrete Device Assignment vidarekoppla enheter anslutna med PCI-Express till virtuella maskiner.

Det har t.ex. sedan tidigare varit möjligt att vidarekoppla grafikkort till en VDI-infrastruktur med både XenServer och VMware vilket i sin tur har gjort det möjligt att virtualisera även de mest krävande användarnas arbetsstationer. Detta kommer alltså snart också vara möjligt med Hyper-V.

Vi satte därför i ett NVIDIA GRID K2 grafikkort i en server, installerade Windows Server 2016 Technical Preview 5 med Hyper-V och testade. Följande skärmdumpar är från en virtuell maskin som har en NVIDIA GRID K2 GPU tilldelad via Discrete Device Assignment.

1

2



Flytta Hyper-V VM till Azure

Det finns många sätt att flytta Hyper-V VM till Azure, i detta fallet beskriver jag hur det kan göras till ett befintligt virtual network (classic / Azure Service Management – ASM).

Kortfattat är det följande som behöver hanteras: (denna guide utgår från att VM:et kört sysprep innan det importeras)

Innan ett VM flyttas från Hyper-V till Azure behöver det bekräftas att Remote Desktop är aktiverat samt att det är tillåtet i brandväggen för Domain, Public och Private networks.

Mer info om hur powershell för Azure installeras och används finn här: How to install and configure Azure PowerShell

Kortfattat, vad som behöver göras för att koppla upp sig innan ovan kan utföras:

När väl den virtuella maskinen är igång finns det några saker som är rekommenderade att utföra (enligt Windows IT Pro: Use a Non-SYSPREP VHD in Azure):

KMS Client Keys finns här: Technet – Appendix A: KMS Client Setup Keys

Jag valde även att installera Azure Windows VM agent, vilket även kräver .NET 4.5 om det inte redan är installerat. Mer information om detta finns här: About the virtual machine agent and extensions

Jag valde även att ta bort så kallade ”Ghost NICs” från den virtuella maskinen, då jag sett att det ibland kan ställa till problem:

Har du något mer du gör när du flyttar VM till Azure? Lämna gärna en kommentar!



Microsoft Hyper-V CSV ClusterStorage.000

Vi såg nyligen ettproblem i ett Hyper-V kluster där ena noden inte längre kunde starta VM.
Efter felsökning och kollat i loggarna såg vi att ClusterStorage inte var helt korrekt på servern, det fanns både ClusterStorage och ClusterStorage.000.
Det var under C:\ClusterStorage.000\  som CSV sharet Volume 1 låg och i där fanns alla VMs, inte under C:\ClusterStorage som tanken är.
C_ClusterStorage000

Under Cluster Disk var sökvägen inte korrekt:
CSV_ClusterDisk_Incorrect

För att åtgärda detta behövde vi genomföra följande:

  1. Stoppa ”Cluster Service”-tjänsten på Hyper-V-noden
  2. Högerklicka på respektive C:\ClusterStorage.XXX och Properties -> Security > Advanced > Owner > Change > Administrators
  3. Ta bort alla C:\ClusterStorage.XXX och C:\ClusterStorage så det tomt enlig
    LocalDisk_C
  4. Starta om servern (så att alla tjänster startas upp i korrekt ordning)
  5. Säkerställ så C:\ClusterStorage skapas (och inte ClusterStorage.000) och säkerställ att Volume1 finns där:C_ClusterStorage_Volume1_Volume2
  6. Efter rensning såg det normalt ut igen under Cluster Disk:
    CSV_ClusterDisk_Correct

Att tänka på:

  • Ta backup av miljön innan så man kan rulla tillbaka om något går fel
  • När man tagit ägarskap av katalogen, kontrollera så att inga VMs faktiskt ligger där. Tar man bort katalogen med dem där i så riskerar man att förlora dem
  • Syns problemet på fler en en nod i klustret, genomför ovan steg och i slutskedet, migrera Cluster Disk mellan noderna och säkerställ att allt fungerar i efterhand
  • I steg 3, säkerställ så du permanent tar bort katalogerna (töm papperskorgen), annars riskerar du att komma tillbaka till ruta 1


Hyper-V 2016: LockOnDisconnect

En ny funktion i Hyper-V på Windows Server 2016 Technical Preview 3 är LockOnDisconnect.

I tidigare versioner av Hyper-V har man kunnat ansluta till en virtuell maskin, där en person redan varit inloggad och återanslutit redan inloggad på maskinen.

  1. Person A ansluter till DC01 över console och loggar in med sina inloggningsuppgifter
  2. Person A loggar INTE ut eller låser sin anslutning utan bara stänger ner Console-anslutningen
  3. Person B ansluter till DC01 över console, och är redan inloggad med Person A’s inloggningsuppgifter.

I Hyper-V på WS2016 TP3 har Microsoft lagt till en ny switch till Set-VM, vilket är -LockOnDisconnect On som förhindrar detta.

För att aktivera kör man följande och startar sedan om maskinen:

Set-VM -LockOnDisconnect On

Vill man aktivera detta på samtliga VMs kan man köra följande: