gelöst VMs zurückspielen ohne export

Mitglied: Highend01

Highend01 (Level 1)

22.01.2020, aktualisiert 23.01.2020, 499 Aufrufe, 7 Kommentare

Hallo,

ich hab früher unter Server 2012R2 ein AHK script benutzt, welches alle benötigten Informationen für alle VMs gesichert und bei Bedarf zurückgespielt hat.
Die gesamten Imagedateien liegen natürlich alle auf einem nicht-OS-Laufwerk.

Dadurch konnte ich problemlos z.B. Folgendes tun:
- AHK script für's backup benutzen
- Eine neue VM erstellen, damit arbeiten
- Mein letztes Image (Terabyte IFL) zurückspielen
- AHK script für's restore benutzen

Dadurch hatte ich einen cleanen Zustand, nur die gebackupten VMs (aus dem letzten AHK backup) waren wieder verfügbar,
die zwischenzeitlich erstellte neue VM war vergessen und keinerlei Dateileichen existierten mehr.
Hätte ich nach dem AHK backup eine / mehrere VM(s) gelöscht (ohne die zugehörigen Dateien auf dem nicht-OS-Laufwerk zu entfernen), hätte ich nach dem restore diese wieder gehabt, ohne einen vorherigen export / und späteren import durchführen zu müssen.

Ich habe diese Vorgehensweise geliebt, da sie perfekt das abgebildet hat, was ich brauchte und das Ganze war immer nur ein Vorgang, der 5 Sekunden Zeit und einen Doppelklick brauchte...

So, und was mach ich jetzt unter Windows 10?

Jetzt scheint die Datei "C:\ProgramData\Microsoft\Windows\Hyper-V\data.vmcx" das zu enthalten, was an Informationen zu den existierenden VMs nötig ist.
Nur dummerweise kann man das Ding nicht einfach modifizieren, da sie keine (xml, json, whatever) Struktur hat, sondern binär vorliegt.

Deshalb die Frage: Gibt es noch irgendeine scriptbare Möglichkeit (powershell?), meine alte Vorgehensweise zum Einsatz zu bringen statt darauf angewiesen zu sein, z.B. VMs zu exportieren, damit man sie danach überhaupt wieder einbinden kann? Mir ist klar, dass ich eine neue (AHK) Lösung schreiben müsste, was aber nicht das Problem wäre...
Mitglied: NordicMike
23.01.2020, aktualisiert 17.02.2020
Klar, such einfach nach: powershell hyper-v
Erster Treffer...
Mitglied: Highend01
23.01.2020, aktualisiert um 10:37 Uhr
Aha.

Erster Treffer: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick ...

Ok, wir nehmen mal den letzten link auf der Seite, um weiter zu kommen: https://docs.microsoft.com/en-us/powershell/module/hyper-v/index?view=wi ...

Welches cmlet erlaubt es mir denn, die reine Konfiguration aller VMs zu sichern / zurückzuspielen, ohne ein vorheriges export-vm und nachträgliches import-vm auszuführen, was zur Folge hätte, dass ich 100GB+ an *.vhdx Dateien auf die verwendeten SSDs schreiben lassen müsste?
Mitglied: NordicMike
LÖSUNG 23.01.2020 um 11:10 Uhr
Ich habe mir noch einmal erlaubt für Dich zu googeln:

https://www.faq-o-matic.net/2017/04/05/hyper-v-vm-als-vorlage-ex-und-imp ...

Der Bereich:

#If you dont want to copy the VHDs and AVHDs
$exp.CopyVmStorage = $false

#If you dont want to copy the Saved state
$exp.CopyVmRuntimeInformation = $false

Eigentlich wäre das gesamte Script für Dich interessant.
Mitglied: Highend01
24.01.2020, aktualisiert um 07:49 Uhr
@NordicMike
Danke, ich verwende das script zwar nicht nicht, aber es hat mich auf die (für meine Bedürfnisse) richtige Spur gebracht:
https://www.faq-o-matic.net/2019/12/23/hyper-v-vms-ohne-datenverlust-ent ...

Zuerst habe ich es mit einem:
- Kopiere nur die nötigsten Dateien aus dem Konfigurationsordner einer VM in einen backup Ordner (wenige KB/MB)
- Setze alle snapshot Dateien auf read-only
- Remove-VM
- read-only aufheben
- Alles zurück kopieren
- VM-Import (mit -Register)

Das Ganze funktioniert.

Es geht aber noch einfacher:
- ALLE Dateien im Konfigurationsordner einer VM auf read-only setzen
- Remove-VM (jetzt wird gar keine Datei entfernt)
- read-only aufheben
- VM-Import (mit -Register)

Funktioniert hier gerade auf einem Windows Server 2019...


@Coreknabe
Nein, sorry, aber das funktioniert vermutlich unter Windows 8, 8.1 / Server 2012 / R2 aber Windows 10 / Server 2019 verwendet keine .xml Dateien mehr...
Mitglied: NordicMike
24.01.2020 um 08:52 Uhr
Mal eine andere Frage, warum entfernst und fügst Du so oft die gleiche VM hinzu, dass sich ein Script lohnt? Fahr die VM doch einfach herunter.
Mitglied: Highend01
24.01.2020 um 22:11 Uhr
Das jetzige script arbeitet mit allen existierenden VMs und da der Rechner (der selbst nur ein Testrechner ist) öfter auf ein altes image zurückgesetzt wird, möchte ich eine Lösung, die mit geringstmöglichen Aufwand (und dazu zählt auch das Kopieren von Dateien auf den SSDs) alle vorher existierenden VMs wieder einbindet.
Titel: VMs zurückspielen ohne export
Content-ID: 538110
Art des Inhalts: Frage
Ausgedruckt am: 28.03.2020 um 21:45:07 Uhr
URL: https://administrator.de/contentid/538110