Backup mit PowerCLI, Skripts und PowerShell

VMs in ESXi/vSphere mit kostenlosem Skript sichern

| Autor / Redakteur: Thomas Joos / Peter Schmitz

Am Beispiel des Open-Source-Skripts GhettoVCB zeigen wir, wie man mit einem Skript VMs in vSphere/ESXi sichern kann.
Am Beispiel des Open-Source-Skripts GhettoVCB zeigen wir, wie man mit einem Skript VMs in vSphere/ESXi sichern kann. (© jijomathai - stock.adobe.com)

Gerade bei virtuellen Maschinen (VMs) ist es sinnvoll, Datensicherungen zu automatisieren. Praktischerweise lassen sich VMs in vSphere/ESXI, aber auch in Hyper-V mit Skripten sichern. Dazu stehen verschiedene Schnittstellen zur Verfügung, auf deren Basis auf die Server zugegriffen werden kann. Wir zeigen die Vorgehensweise.

Um vSphere/ESXi mit einem Skript zu sichern, stehen verschiedene Möglichkeiten zur Verfügung. Im Internet sind verschiedene Skripte zu finden, und auch viele Sicherungslösungen bieten Skripte an, die eine Sicherung auf Basis der PowerCLI oder anderer Schnittstellen bieten. Im ersten Schritt sollte dazu getestet werden, ob die PowerCLI funktioniert und eine Verbindung herstellen kann.

Mit der PowerCLI eine Verbindung zu vSphere/ESXi aufbauen

Mit Connect-VIServer wird mit der PowerCLI zunächst eine Verbindung zum Host oder einem vCenter-Server aufgebaut. Der Befehl Connect-VIServer -Server <IP-Adresse> -Protocol https -User <Benutzername> -Password <Kennwort> baut die Verbindung auf. Funktioniert die Verbindung, lassen sich Skripte auf diesem Weg umsetzen. Mit Get-VM werden die Daten von VMs angezeigt. Durch dieses CMDlet kann getestet werden, ob die PowerShell-Verbindung erfolgreich hergestellt wurde. Die hier angezeigten Server und VMs können über die PowerCLI anschließend gesichert und auch wiederhergestellt werden.

Vor allem bei der Verwendung von Skripten zur Datensicherung ist es notwendig, auf die Sicherheit zu achten. Entweder wird hier auf ein selbstsigniertes Zertifikat gesetzt, oder die Zertifikatewarnung wird ignoriert. Das erfolgt über den Befehl

„Set-PowerCLIConfiguration -InvalidCertificateAction ignore“

Um Skripte zu erstellen, können Befehle verwendet werden, die in der PowerCLI verfügbar sind. Diese werden mit dem Befehl Get-VICommand angezeigt. Skripte für vSphere lassen sich auch über eine Batch-Datei auf einem Windows-Rechner starten. Ein Weg besteht zum Beispiel darin, die PowerShell über eine Batch-Datei zu starten, das VMware-Modul zu laden und anschließend das Skript zu starten:

C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -psc "C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1" -command "<Pfad zur ps1-Datei"

Patch-Management unter Hyper-V mit PowerShell Direct

Hyper-V-Hosts und VMs mit Skripten starten

Patch-Management unter Hyper-V mit PowerShell Direct

20.02.18 - Microsoft hat in Windows Server 2016 die PowerShell erweitert. Mit der PowerShell Direct können Admins aus einer PowerShell-Sitzung heraus auf VMs zuzugreifen und Befehle auszuführen. Der Vorteil dabei besteht darin, dass sich in der PowerShell sehr schnell Admin-Aufgaben auf Host und VMs durchführen lassen. Zum Beispiel lassen sich so Windows-Updates installieren. lesen

Snapshots und Co. mit der PowerShell erstellen

Um vSphere/ESXi zu sichern oder Aktionen mit VMs zu erstellen, sind nicht immer Skripte notwendig. Es lassen sich auch mit einfachen CMDLets aus der PowerCLI Sicherungsmaßnahmen durchführen, zum Beispiel Skripts erstellen. Hier unterstützt die PowerCLI auch Pipelines. Das heißt, Befehle können Daten aus vSphere über die PowerCLI auslesen und an Skripte zur Sicherung weitergeben. Ein Beispiel dafür ist der Befehl get-vm | get-snapshot | format-list. Der Befehl liest zunächst alle VMs in der Umgebung ein und danach die Snapshots der VMs. Hier lassen sich aber auch die Daten filtern, indem angegeben wird, welche Daten angezeigt werden sollen:

get-vm | get-snapshot | format-list VM,SizeGB

Auf Basis dieser Befehle können Snapshots auch erstellt werden. Dazu steht das CMDlet New-Snapshot zur Verfügung:

New-Snapshot -vm server1 -Memory:$false -confirm:$false -name "Ticket number 12345

Snapshots können dabei nicht nur für einen Server, sondern gleich für mehrere Server erstellt werden:

New-Snapshot -vm server1,server2,server3 -Memory:$false -confirm:$false -name "Ticket number 12345

Windows-Updates mit kostenlosen Tools im Griff

Tools für Updates und Installationspakete

Windows-Updates mit kostenlosen Tools im Griff

08.01.19 - Mit einigen praktischen und vor allem kostenlosen Zusatztools, auch von Microsoft, können Admins Probleme mit Windows Updates in Windows 10 ganz einfach beheben. Auch das Erstellen eigener Installationsmedien ist mit Zusatztools möglich. Wir geben einen Überblick zu den Möglichkeiten und stellen die besten Tools vor. lesen

VMs mit Zusatzskript sichern

Wie bereits eingangs erwähnt, finden sich im Internet Skripte, mit denen VMs in vSphere/ESXi gesichert werden können. Der Vorteil bei der Verwendung fertiger Skripte besteht darin, dass diese bereits über einen gewissen Funktionsumfang verfügen und gleichzeitig erweiter- und änderbar sind. Ein Beispiel für ein solches Skript ist die Open Source „GhettoVCB“.

Das Skript ermöglicht die Anpassung an die eigenen Anforderungen. So ist es zum Beispiel möglich, E-Mail-Benachrichtigungen zu aktivieren. Das Skript muss zunächst an die eigenen Anforderungen angepasst werden. GhettoVCB wird direkt auf ESXi-Hosts gespeichert und führt von da die Sicherung der VMs aus. Es sind also keine Verwaltungsarbeitsstationen notwendig, um die Sicherung durchzuführen. Die Bearbeitung des Skriptes lässt sich mit SSH oder Linux-Editoren durchführen.

Die Bearbeitung des Skriptes erfordert keine Kenntnisse in der Skriptsprache. Der Entwickler hat über Kommentare Optionen eingebaut, die Administratoren nur anpassen müssen. In den Optionen wird zum Beispiel festgelegt, wo das Skript die gesicherten Daten speichern soll. Dazu kann das Skript auch Datastores in ESXi nutzen. Idealerweise sollten hier Speicherbereiche verwendet werden, in denen keine VMs gespeichert werden.

Im Skript werden alle wichtigen Optionen gesteuert, zum Beispiel auch das Starten oder Herunterfahren von VMs. Die Option VM_BACKUP_ROTATION_COUNT legt zum Beispiel die Anzahl der Sicherungen fest, die gespeichert werden sollen. Das Starten des Skriptes kann auch manuell über SSH erfolgen. Dabei muss beim Aufrufen des Skriptes der komplette Pfad mit angegeben werden:

“/vmfs/volumes/DatastoreBackup/ghettoVCB/ghettoVCB.sh”

Beim Verwenden des Skriptes muss auch auf die Berechtigungen geachtet werden. Teilweise kann es passieren, dass Fehler erscheinen, wenn das Sicherungsskript gestartet wurde. In diesem Fall hilft teilweise der Befehl chmod 777 ghettoVCB.sh. Neben den Optionen innerhalb des Skriptes kann GhettoVCB selbst mit Optionen gestartet werden.

Mit der Option -a sichert das Tool alle Server auf einem ESXi-Host. Die Option -e ermöglicht das Erstellen einer Liste, um verschiedene VMs auf einem Host zu sichern. Mit -f kann eine Liste erstellt werden, und -m sichert einzelne VMs.

GhettoVCB bietet die Möglichkeit, eine gemeinsame Konfigurationsdatei zu nutzen, wenn mehrere ESXi-Hosts in einem Netzwerk gesichert werden sollen. Dabei wird die Datei an einem Speicherort abgelegt, der für alle GhettoVCB-Installationen zugreifbar ist, zum Beispiel auf einer Dateifreigabe. Erfolgt der Start von GhettoVCB mit der Option -g, kann der Pfad zur globalen Konfigurationsdatei angegeben werden. Die Option -l erstellt eine Protokolldatei der Sicherung.

Mit dem Update-Manager vSphere 6.5 aktuell halten

Updates, Aktualisierungen und Migrationen automatisieren

Mit dem Update-Manager vSphere 6.5 aktuell halten

24.10.17 - Mit dem Update-Manager können Administratoren die ESXi-Hosts in vSphere-Umgebungen aktuell halten, und in den VMs auch die VMware-Tools automatisiert aktualisieren. Mit vSphere 6.5 hält der Update-Manager auch Einzug in die vSphere-Appliance. Bisher war dafür ein Windows-Server notwendig. lesen

Automatische Sicherung von VMs mit GhettoVCB

Natürlich ist es sinnvoll, Datensicherungen zu automatisieren. Dazu kann GhettoVCB mit Cron-Jobs auf Linux-Servern oder direkt auf dem ESXi-Host automatisiert werden. Ein Beispiel dafür ist:

00 22 * * * /root/bin/backupesx/backupscript.sh & > /dev/null 2>&1

Wir der Job auf dem ESXi-Host gespeichert, kann die Aufgabe über /var/spool/cron/crontabs/root eingelesen werden.

Kommentare werden geladen....

Was meinen Sie zu diesem Thema?

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45951995 / Allgemein)