VM in Hyper-V mit PowerShell sichern

  • Posted on: 18 September 2016
  • By: dc

Im Netz gibt es zahlreiche Scripte und Anleitungen wie VM's aus einem Hyper-V Host gesichert werden können. Dabei werden die virtuellen Maschinen exportiert und die exportieren Daten dann auf einen Backupserver verschoben. Meist waren mir die Skripte zu einfach, zu wenige Einstellmöglichleiten, daher "baute" ich mir mein eigenes Skript. Ich bediente mich natürlich vorhandener Codes aus dem Netz und kupferte mir einige Zeilen Quellcode ab.

Meine Anforderungen / Einstellmöglichkeiten an das Skript sind folgende:

  • Einstellung ob ein Prüfpunkt  / Screenshot erstellt wird
  • Einstellung ob vor dem Exportieren die virtuelle Maschine (VM) heruntergefahren wird
  • Einstellung ob grundsätzlich eine VM exportiert werden soll
  • Einstellung ob das Logfile per Email versendet werden soll
  • Einstellung der Exportpfade und Backuppfade (VM wird erst ein Pfad export und danach an ein endültigen Pfad verschoben)
  • Einstellung ob der Exportpfad nach dem Exportvorgang gelöscht werden soll
  • Einstellung der Emailparameter

Hinweis: Das Skript bitte erst auf einem Testserver / Testumgebung gründlich austesten. Der direkte Einsatz auf einem produktiven  Server wird abgeraten. Ich hafte für keine Schäden oder Verluste im Netzwerk.

Das Skript kann im Download-Bereich nach Anmeldung heruntergeladen werden.

Anleitung zum aktivieren des Scripts

  1. Das Script muss auf jedem HyperV Host ausgeführt werden.
  2. Am besten legt man das Script unter C:\Script ab auf jedem Host. Gerne aber auch ein anderer Pfad.
  3. Übder den Aufgabenplaner kann man sich dann eine Task erstellen wann das Script ausgeführt werden soll.

Erklärung des Skripts:

  1. Grundeinstellungen

Ich denke zu den verschiedenen Einstellungen oben im Bild muss ich nicht viel erklären, da alles beschrieben ist.

Zeile 15 Achtung: Warnmeldung VM bereits eingeschaltetbei laufenden VMs

  • Wenn das Herunterfahren der VMs vor dem Export nicht stattfindet, wird das Script trotzdem versuchen die VM nach dem Export wieder einzuschalten (Sicherheit). Da die VM aber bereits an ist wird eine Warnung ausgegeben, dass sich die Vm bereits in dem geforderten Zustand befindet

Zeile 20 Achtung: Deaktiviert auch Einschalt-Prüfung + Exportdaten löschen

  • Wenn der Export deaktiviert wird, führt das Script auch keine Einschaltprüfung durch und der Exportordner wird nicht gelöscht, da diese zwei Ausführugen an der Funtktion Export gekoppelt sind.

Zeile 27 Achtung bei Nein bleiben sie nur bis zum nächsten Durchlauf erhalten

  • Wenn Exportloeschen deaktiviert ist, srpich der Exportordner nach dem Exportieren nicht geelert werden soll, bleibt dies nur gültig bis zum nächsten Script-Durchlauf gültig. Bedeutet, wenn das Script jeden Tag um 8:00 Uhr ausgeführt wird, bleibe die Exportdaten im Exportordner (Exportpfad) bis zum nächsten Tag 8:00 Uhr vorhanden. Es findet eine Ordner-Leerung vor jedem Export statt. Die Funktion schaltet nur das Leeren des Exportordners NACH dem Export ab.

Erklärungen zum eigentlichen Funtktionsteil folgen noch

Für die Zukunft hab eich folgendes vor

  • Fehlermeldungen die auftreten und nicht im Skript deklariert sind, zu Loggen
  • Eine Script-Version mit einer GUI zubauen
  • Ein Script das zentral auf einem Server läuft und die alle HyperV Hosts sucht und dessen VMs sichert

 

 

Neuen Kommentar schreiben

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.