Die wachsende Bedeutung von VM-Konfigurationsversionen in Hyper-V
Die VM-Konfigurationsversion gibt an, auf welchen Hosts eine VM ablaufen kann. Diese Tipps helfen bei Upgrade und Rückwärtskompatibilität.
Wie bei fast jeder Art von Software gab es auch bei Hyper-V schon immer eine Versionsnummer für virtuelle Maschinen. Bisher kam dieser Versionsnummer kaum Bedeutung zu. Zukünftig allerdings dürften Hyper-V-Administratoren der Versionsnummer eine größere Bedeutung beimessen als bisher.
Microsoft legt inzwischen eine gewisse Betonung auf die VM-Konfigurationsversion, wie sich mit dem vor kurzem erfolgten Windows 10 Anniversary Update gezeigt hat. Einige Versionen von Windows 10 verfügen mit Client Hyper-V über die Möglichkeit, Hyper-V lokal auf dem Desktop auszuführen. Wer schon vor der Anwendung des Windows 10 Anniversary Updates virtuelle Maschinen angelegt hat, wird bei einem Rechtsklick darauf eine neue Option im Kontextmenü finden, die eine Aktualisierung der Konfigurationsversion ermöglicht.
Das führt zu einer Reihe wichtiger Fragen: Erstens, wie funktioniert eine solche Aktualisierung der Konfigurationsversion? Zweitens, welche Implikationen bringt eine Änderung der Konfigurationsversion mit sich?
Vor dem Upgrade der Konfigurationsversion einer virtuellen Maschine ist es möglich, die derzeitige Konfigurationsversion der VM über die PowerShell zu ermitteln. Hierfür kann der folgende Befehl verwendet werden:
Get-VM * | Select-Object Name, Version
Dieses Kommando weist die PowerShell an, die Namen und Konfigurationsversionen für jede virtuelle Maschine anzuzeigen. Das Ergebnis sollte dem in Abbildung 1 ähneln.
Anschließend wechselt man zurück zum Hyper-V-Manager, führt einen Rechtsklick auf die VM aus und wählt aus dem Kontextmenü Upgrade Configuration Version aus. Windows zeigt daraufhin einen Dialog an, der auch die Möglichkeit zum Abbruch der Operation bietet. Abhängig vom gegenwärtigen Zustand der VM könnte das Dialogfenster auch einige Warnmeldungen anzeigen, beispielsweise könnte Windows davor warnen, dass eine Fortsetzung des Vorgangs zum Verlust der Zustandsdaten und Checkpoints führen würde.
Die Fortsetzung der Aktualisierung verläuft dann im Normalfall ohne Probleme und es gibt auch keinerlei visuelle Rückmeldung über den Erfolg. Eine Prüfung der Versionsnummer über die PowerShell sollte aber die höhere Versionsnummer ausgeben.
Was also wurde bei dieser Versionsaktualisierung tatsächlich erreicht, und warum ist das wichtig? Einer der primären Gründe, warum die Versionsnummer wichtig ist, ist der direkte Einfluss der Versionsnummer darauf, wo die virtuelle Maschine ablaufen kann.
Einer der wichtigsten Anwendungsfälle von Client Hyper-V ist das Erstellen und Testen von virtuellen Maschinen, um sie später in eine Serverumgebung zu migrieren, wenn die VM bereit für den Roll-out in Produktivsysteme ist. Das Problem dabei ist, dass Windows Server 2012 R2 Hyper-V VM-Konfigurationen bis maximal Version 5.0 unterstützt. Eine VM mit höherer Konfigurationsversionsnummer kann nicht auf Windows Server 2012 R2 Hyper-V ablaufen. Die unterstützten Konfigurationsversionen stellen sich wie folgt dar:
Windows-Server-Betriebssystem |
Unterstützte VM-Konfigurationsversion |
Windows 8.1/Windows Server 2012 R2 |
5.0 |
Windows 10 (pre-10565) |
5.0, 6.2 |
Windows 10 (10565 and later) |
5.0, 6.2, 7.0 |
Windows Server 2016 |
5.0, 6.2, 7.0, 7.1 |
Windows 10 Anniversary Update |
5.0, 6.2, 7.0, 7.1, 8.0 |
Was also passiert, wenn man mit Windows 10 eine virtuelle Maschine erstellt, die später auf Windows Server migriert werden soll? In einer solchen Situation sollte man als Erstes die Konfigurationsversionen in Erfahrung bringen, die vom Server unterstützt werden. Hierfür könnte man zwar die oben aufgeführte Tabelle verwenden, allerdings könnten sich hier durchaus auch Änderungen ergeben, weshalb es sicherer ist, sich über die PowerShell die jeweils unterstützten Versionen anzeigen zu lassen. Der dafür benötigte Befehl lautet Get-VMHostSupportedVersion.
Leider unterstützt nicht jede Version von Windows diesen PowerShell-Befehl. Wenn das Kommando ausgeführt wird und als Reaktion darauf eine Fehlermeldung angezeigt wird, dann kann als Alternative noch die Versionsnummer der bestehenden VMs ermittelt werden. Abbildung 2 zeigt beispielhaft, wie das Kommando auf Windows Server 2012 R2 nicht funktioniert, immerhin lässt sich aber herausfinden, dass die virtuellen Maschinen mit der Konfigurationsversion 5.0 arbeiten.
Das Ausführen des Kommandos auf Windows 10 offenbart mehrere unterstützte Versionen. Hängen wir den Parameter -Default an das Kommando an, so erfahren wir, dass VMs standardmäßig in der Konfigurationsversion 8.0 erstellt werden, wie in Abbildung 3 zu sehen ist.
Wer Windows 10 verwenden will, um zu Windows Server 2012 R2 rückwärtskompatible virtuelle Maschinen zu erstellen, der kann das PowerShell-Cmdlet New-VM verwenden, um damit die gewünschte Versionsnummer anzugeben. Abbildung 4 zeigt, wie dies funktioniert.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!