Virtuelle Computer sind eine feine Sache und können leicht auf andere Hosts verschoben bzw. migriert werden. Mitunter gerät dabei ins Hintertreffen, das die Konfigurationsversion aktualisiert werden kann, um neuere Funktionen zu nutzen oder mehr Performance zu erhalten.
Unter Windows gibt es zwei Wege, die Version eines virtuellen Computers zu aktualisieren, dieser muss für diesen Vorgang heruntergefahren sein:
Im Hyper-V-Manager geht dies über das Kontextmenü des jeweiligen virtuellen Computers, dort steht der Menüpunkt “Konfigurationsversion upgraden…” nur zur Verfügung, wenn eine Aktualisierung möglich ist:
Alternativ kann man den Vorgang in der PowerShell ausführen:
Update-VMVersion <VM-Name>
Aber Achtung: Ungeachtet vom Weg kann man nur auf eine neuere Version wechseln, ein zurück (sprich Downgrade) ist nicht möglich! In einem solchen Fall hilft nur ein Löschen des virtuellen Computers und ein Importieren der vorigen/alten Konfiguration oder ein Anlegen eines neuen virtuellen Computers unter der expliziten Angabe einer Konfigurationsversion via PowerShell (siehe Quellen). Ferner müssen alle genutzten Hyper-V-Hosts die neue Version beherrschen, hierbei gilt: Je neuer der Host, desto breiter die Unterstützung. Oder anders ausgedrückt: Ein Windows Server 2016 kennt keine Konfigurationsversion 10 eines Windows Server 2022, folglich kann eine solche Konfiguration bzw. ein solcher virtueller Computer nicht importiert werden.
Zur Sicherheit sollte man bevor man das Upgrade durchführt mindestens eine Datensicherung der Konfigurationsdateien der zu aktualisierenden virtuellen Computer vorhalten. Eine vollständige Datensicherung ist ebenfalls empfehlenswert, nur für den Fall, das etwas misslingt.
Vorher/Nachher Messungen in Sachen Performance können zudem Aufschluss darüber geben, ob die Aktualisierung in dieser Hinsicht positive Effekte bringt.
Mitunter ist es mit dem einfachen Aktualisieren der Konfigurationsversion nicht getan. Einzelne Einstellungen des virtuellen Computers sollten im Anschluss angepasst werden, so beispielsweise unter “Prozessor – NUMA”.
In der Praxis zeigen sich meist positive Effekte einer Aktualisierung, wenn gleich es im ersten Moment Startschwierigkeiten geben kann. Ein Beispiel: Ein virtueller Computer mit Windows Server 2016 Standard wurde von einem Hyper-V-Host (gleiche Server-Version) auf einen neuen Hyper-V-Host auf Basis von Windows Server 2022 Standard migriert und bei dieser Gelegenheit die Konfigurationsversion angepasst. Der erste Startvorgang war leider von einer extrem schlechten Performance und einem Absturz geprägt. Ab dem zweiten Boot war und ist alles in Ordnung und der virtuelle Computer profitiert nicht nur vom moderneren Unterbau, sprich dem neuen Host, sondern auch von der aktualisierten Konfiguration, wie Messungen gezeigt haben.
Quellen
Microsoft – Docs – Aktualisieren der VM-Version in Hyper-V auf Windows oder Windows Server
WindowsFAQ – HYPER-V KONFIGURATIONSVERSION UPGRADEN
Anreiter – Hyper-V: Update der VM-Konfigurationsversion
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
# Script zur Sicherung der Hyper-V VM-Konfigurationsfiles
$ExportPath = “R:VMConfig.bak”
$VMList = Get-VM
foreach($VM in $VMList) {
$VMConfig = $VM.ConfigurationLocation
$VMconfig = Get-ChildItem -Path $VMConfig *.vm* -Recurse
if (Test-Path “$($ExportPath)$($VM.Name)”) {
Write-Host “Skipping creation of $($ExportPath)$($VM.Name). Path already exists.”
} else {
New-Item -Path “$($ExportPath)$($VM.Name)Virtual Machines” -ItemType directory -Force
}
Copy-Item $VMconfig.FullName -Destination “$($ExportPath)$($VM.Name)Virtual Machines” -Force
}
———————————————————–
Beim Umzug auf einen anderen Host gibt es noch das häßliche und offenbar nicht per Powershell lösbare Problem, die NUMA Topologie der VM an jene des neuen Hosts anzupassen; am manuellen: VM -> Einstellungen -> Prozessor -> NUMA -> Klick auf “Hardwaretopologie verwenden” führt somit kein Weg vorbei.