Microsoft Hyper-V v5 (2016)
Seit Windows Server 2012 bringt Hyper-V das Feature der "Shared nothing Live Migration" mit. Die Einrichtung habe ich schon vor längerer Zeit hier beschrieben.
Nun wollte ich das ganze Prozedere ein wenig komfortabler gestalten. Dazu habe ich ein Powershell Script gefunden, das mir die Einrichtung automatisiert. Das Script habe ich von Edwin Lagunijr.
Ich habe das Script noch um einen Zeileneintrag ergänzt. Denn seit Server 2016 muss statt Kerberos die Option "use any authentication protocol" gesetzt werden. Das Script wird auf dem Domänencontroller ausgeführt. Da im Script auch cmdlets aus dem Hyper-V Powershell Modul verwendet werden, muss am DC das Powershell Modul vorher installiert werden.
Powershell Parameter
-TrustedForDelegation konfiguriert "Kerberos"
-TrustedToAuthForDelegation konfiguriert "use any authentication protocol"
Quelle: Edwin Langunijr
weitere Quellen: hyper-v-server.de
Nested Virtualization (geschachtelte Virtualisierung) ist ein neues Hyper-V Feature unter Windows Server 2016 und Windows 10. Nested Virtualization ermöglicht es, einen Hypervisor innerhalb einer virtuellen Maschine zu betreiben. Es kann also ein Hyper-V Host selbst virtualisiert werden. Dies ist gerade in Labor Umgebungen eine tolle Sache.
Anforderungen
- Mindestens Windows Server 2016 oder Windows 10 1607 auf dem Hyper-V Host und dem virtualisierten Host
- Hyper-V-VM mit Konfigurationsversion 8.0 oder höher
- mind. 4 GB RAM für den virtualisierten Hyper-V Host
- Ein Prozessor mit Intel Virtualization Technology (Nested Virtualization derzeit nur für Intel Prozessoren verfügbar)
Konfiguration
Um die geschachtelte Virtualisierung zu konfigurieren, müssen folgende Schritte durchgeführt werden:
- Erstellen einer virtuellen Maschine
- Dynamischen Arbeitsspeicher der virtuellen Maschine deaktivieren
- Der virtuellen Maschine mindestens 4 GB RAM zuweisen
- Virtualization Extensions auf der vCPU aktivieren
- MAC Address Spoofing aktivieren
Um Virtualization Extension und MAC Address Spoofing zu aktivieren, werden folgende PowerShell-Befehle am physikalischen Host verwendet. Bitte beachten Sie, dass die virtuelle Maschine den Status "Aus" hat.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions 1
Get-VMNetworkAdapter -VMName <VMName> | Set-VMNetworkAdapter -MacAddressSpoofing On
Quelle: www.thomas-krenn.com
Damit die Replikation zwischen standalone Hyper-V Servern funktioniert, müssen zwingend Zertifikate verwendet werden.
Das Erstellen von selbst signierten Zertiikaten funktioniert mit den neuen Powershell cmdlets recht einfach. Für das Erstellen solcher Zertifikate wird Powershell 5.0 vorausgesetzt (Windows 10 , Server 2016)
In meinem Beispiel verwende ich zwei Hyper-V Hosts mit Windows Server 2016 (HyperV-19, HyperV-20) und einen Windows 10 Verwaltungs-PC.
Weiterlesen: Hyper-V Server 2016 Replikation selbst signierte Zertifikate verwenden
Hyper-V Sicherung mittels Powershell Skript für Windows Server 2016 (Update 2)
Habe für meine Zwecke im Script die "function" MAIL so geändert, dass eine Mail Authentifizierung mit verschlüsseltem Passwort mit einem Office365 Mail Account möglich ist.
function Mail
{ Write-Host -ForegroundColor Green (Get-Date) “Mail wird an die angegebene Adresse gesendet!”
$EncryptedCredential = “C:\!scripts\Password.txt”
$EmailUsername = “Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!”
$EncryptedPW = Get-Content $EncryptedCredential | ConvertTo-SecureString
$Credential = New-Object System.Management.Automation.PsCredential($EmailUsername, $EncryptedPW)
$EmailFrom = “mailFROM”
$EmailTo = “mailTO”
$EmailSubject = “‘VM Export der VM’ $VM”
$EmailBody = “Anbei das Log der Export-Sicherung von VM $VM”
$EmailAttachments = $Logdatei
$SMTPServer = “smtp.office365.com”
$SMTPPort = "587"
$SMTPSsl = $true
Send-MailMessage -From $EmailFrom -to $EmailTo -Subject $EmailSubject -Body $EmailBody -SmtpServer $SMTPServer -Port $SMTPPort -Credential $Credential -UseSsl -Attachments $EmailAttachments }
Da ich es wieder einmal gebraucht habe. Hier der Link zu einem bereits älteren Artikel von mir.
Download Microsoft Virtual Machine Converter 3.1 (es wird zwar 3.0 angezeigt, ist aber 3.1). Die Datei würde ich mir gut aufbewahren, da Microsoft das Tool im Juni 2017 aus dem Verkehr zieht und Azure Site Recovery als langfristige Lösung empfiehlt.
Auf einem Hyper-V 2016 konnte ich keine Verbindung mit dem localhost herstellen.
Fehler:
Das Problem hängt mit einem Update der HP Treiber zusammen. Weiß leider nicht mit welchen.
Lösung:
Ausführen: MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof
Damit werden die WMI Komponenten für die Virtualisierung wieder hergestellt.
Update am 01.01. 2017: Startverhalten der VM fehlt nach dem ausgeführten Befehl ist keine Änderung des Startverhaltens mehr innerhalb der VM möglich.
Wenn man aber aber auf Nummer sicher gehen will, dass alles funktioniert, würde ich lieber die Hyper-V Rolle entfernen und wieder hinzufügen.
PowerShell:
Remove-WindowsFeature Hyper-V (2x Windows-Neustart)
Install-WindowsFeature Hyper-V (2x Windows-Neustart)