Hyper-V Livemigration – Der Unterschied zwischen CredSSP und Kerberos

KerberosWenn Sie mit Hyper-V eine Livemigration machen möchten, ist dies seit dem Windows Server 2012 etwas, was ohne Failovercluster oder gemeinsamen Speicher funktioniert. Um die Funktion der Livemigration zu aktivieren, muss in den Hyper-V-Einstellungen unter Livemigration die Option Ein- und ausgehende Livemigrationen ermöglichen aktiviert werden. Nach der Aktivierung können bzw. müssen Sie diverse Einstellungen vornehmen, unter anderem die Frage nach dem Authentifizierungsprotokoll. Hier haben Sie die Wahl zwischen Security Support Provider für Anmeldeinformationen (CredSSP) und Kerberos. Dies sieht wie folgt aus:

image

Die Beschreibung unter den beiden Einstellungen verrät bereits ein klein wenig, was es auf sich hat mit diesen beiden Einstellungen.

CredSSP

Bei dieser Art der Authentifizierung müssen Sie sich an dem Server anmelden, an dem Sie die Livemigration starten möchten. Dies bedeutet, dass Sie nur VMs verschieben können, wenn Sie entweder direkt an dem System angemeldet sind oder eine Sitzung per RDP bzw. einer anderen Fernwartungslösung geöffnet haben. Im Umkehrschluss bedeutet dies, dass Sie keine Livemigration einer VM starten können, wenn Sie mit einem Hyper-V-Manager eine Verbindung zu diesem System aufbauen und über diesen Weg eine Livemigration starten.

Kerberos

Wenn Sie diese Art der Authentifizierung wählen, ist dies laut der Beschreibung erst einmal sicherer, erfordert aber weitere Schritte der Einrichtung.

 

Die Livemigration per CredSSP

image

Wenn Sie CredSSP auswählen, können Sie recht schnell eine Livemigration durchführen. In meinem Beispiel habe ich eine VM mit dem Namen vLiveMigrationTest, die zwischen den Systemen Hyperv3 und Hyperv9 übertragen werden soll. Im Aktionsmenü der VM im Hyper-V-Manager wählen wir die Option Verschieben…

Es öffnet sich ein Assistent, der uns durch den Migrationsvorgang führt. Bei der Wahl des Verschiebungstyp wählen wir die Option Virtuellen Computer verschieben.

image

Im nächsten Fenster geben wir den Namen des Zielsystems ein und bestätigen die Auswahl. Es wird direkt eine Verbindung zu diesem Host aufgenommen und überprüft, ob eine Verbindung generell möglich ist.

image

Nun können wir wählen, wie die Daten der VM abgelegt werden. Ich behalte die Standard-Einstellung und lege alle Daten in einen einzelnen Speicherort.

image

Nun können wir den Zielspeicherort angeben (die 4 MB in meinem Fall werden angezeigt, weil die VHDX-Datei keine Daten enthält)

image

Es erscheint eine Zusammenfassung der getätigten Einstellungen, mit einem Klick auf Fertig stellen beginnt die Migration

image

image

Nachdem der Vorgang erfolgreich abgeschlossen ist, läuft die VM auf Hyperv9, wir können dies überprüfen, indem wir uns die VMs auf diesem Host anschauen

image

Wenn wir die gleichen Einstellungen auf Hyperv9 im Verschiebe-Assistenten durchführen, können wir dies auch machen bis zur Zusammenfassung

image

Wenn wir nun diese Einstellungen Fertig stellen, erscheint die folgende Meldung und die Migration wird nicht durchgeführt

Fehler beim Herstellen einer Verbindung mit dem Host „HYPERV3“: Die Anmeldeinformationen, die dem Paket übergeben wurden, wurden nicht erkannt. (0x8009030D).

image

Die Meldung zeigt uns nicht nur eine Fehlermeldung und die ID 0x8009030D, sondern führt ebenfalls direkt die Lösung des Problems auf.

Die Livemigration per Kerberos

Wenn die Livemigration per Kerberos authentifiziert werden soll, muss dies entsprechend in den Hyper-V-Einstellungen geändert werden

image

Diese Einstellung alleine ist noch nicht alles, wenn wir nun versuchen eine Livemigration durchzuführen, erscheint die folgende Meldung

Fehler beim Herstellen einer Verbindung mit dem Host „HYPERV3“: Im Sicherheitspaket sind keine Anmeldeinformationen verfügbar. (0x8009030E).

image

Wie die Fehlermeldung korrekt anmerkt, muss in der Active Directory noch die eingeschränkte Delegierung für den Host aktiviert werden. Hierzu wählen wir uns auf einen der Domänencontroller auf und öffnen Active Directory-Benutzer und –Computer. Im Objekt der beiden Hyper-V Hosts öffnen wir den Reiter Delegierung. Die Einstellungen sehen standardmäßig wie folgt aus

image

Wir passen diese Einstellungen an und wählen Computer bei Delegierung angegebener Dienste vertrauen. Die Option Nur Kerberos verwenden bleibt stehen und unter Dienste, für die diese Konto delegierte Anmeldeinformationen verwenden kann, tragen wir die folgenden Daten ein

image

SNAGHTML54986fd

Das Ergebnis sieht wie folgt aus

image

Wir haben nun eine Delegation in den Eigenschaften von Hyperv3 erstellt. Die gleichen Einstellungen müssen nun in den Eigenschaften von Hyperv9 gemacht werden, damit eine Migration in beide Richtungen funktioniert. Das Ergebnis sieht wie folgt aus

image

Nach der Übernahme der Einstellung und einer erneuten Migration der VM funktioniert diese ohne Probleme und die VM auf Hyperv9 kann im Hyper-V-Manager auf Hyperv3 migriert werden.

Die Konfiguration per PowerShell

Da das Hinzufügen der einzelnen Objekte und Rechte per GUI recht lange dauert, habe ich ein kurzes Script geschrieben, welches diese Aufgabe übernimmt inkl. der Abfrage der Systemnamen.

Write-Host "Achten Sie bitte bei der Eingabe darauf, NICHT den vollen Namen (FQDN) zu verwenden!" 
$Hostname1 = Read-Host "Bitte Namen des ersten Systems eingeben" 
$Hostname2 = Read-Host "Bitte Namen des zweiten Systems eingeben" 
$Domain = Read-Host "Bitte Namen der AD-Domaene eingeben" 
Get-ADComputer $Hostname1 | Set-ADObject -Add @{"msDS-AllowedToDelegateTo"="Microsoft Virtual System Migration Service/$Hostname2.$Domain", "cifs/$Hostname2.$Domain","Microsoft Virtual System Migration Service/$Hostname2", "cifs/$Hostname2"} 
Get-ADComputer $Hostname2 | Set-ADObject -Add @{"msDS-AllowedToDelegateTo"="Microsoft Virtual System Migration Service/$Hostname1.$Domain", "cifs/$Hostname1.$Domain","Microsoft Virtual System Migration Service/$Hostname1", "cifs/$Hostname1"}

Das Script muss auf einem Domänencontroller ausgeführt werden, da dort die Einstellungen vorgenommen werden. Das Script fragt den Namen von System A, System B sowie die Domäne ab, danach wird zwischen den beiden Hosts jeweils eine Delegation erstellt. Die Ausführung sieht wie folgt aus

Jan Kappen
 

Jan Kappen ist ausgebildeter Fachinformatiker in der Richtung Systemintegration. Er hat seine Ausbildung im Sommer 2008 abgeschlossen und arbeitete bis August 2018 bei der Rachfahl IT-Solutions GmbH & Co. KG. Seit September 2018 arbeitet er als Senior Netzwerk- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland. Jan Kappen ist unter anderen MCITP Server Administrator, Enterprise Administrator und Enterprise Messaging Administrator 2010 sowie MCTS für System Center Virtual Machine Manager 2008, Windows Server 2008 Active Directory, Windows Server Virtualization und Windows Server 2008 Network Infrastructure. Seit 2015 wird Jan Kappen im Bereich "File System Storage" bzw. "Cloud & Datacenter Management" für seine Expertise und seine Community-Arbeit mit dem MVP Award von Microsoft ausgezeichnet.

Comments are closed