Veeam: NetApp Storage Snapshot

Always on, Zero Downtime, Availability, Backups, Snapshot… Heute muss alles zu jederzeit egal von wo aus immer verfügbar sein. Der Aussendienstmitarbeiter will seine Mails auf dem Laptop oder dem Smartphone jederzeit abrufen können. Zeigniederlassungen einer Firma müssen zu jederzeit auf den Terminalservern oder virtuellen Desktops arbeiten können. Der Webshop muss immer laufen damit die Kunden Waren bestellen können. Das sind hohe Anforderungen an die IT in der heutigen Zeit. Aber für alle von uns irgendwie selbstverständlich. Wir nutzen viele dieser Dienste ja selbst auch, und ärgern uns wenn etwas mal nicht funktioniert.

Das gleiche gilt für die Datensicherung. Früher ging es nicht anders, da hat die Datensicherung einfach mal eine Nacht lange, oder länger, gedauert bis alles aufs Band gesichert werden konnte. In der heutigen Zeit nahezu undenkbar. Daten ändern sich heute in kürzester Zeit wieder, vielfach bereits schon während der Sicherung, spätestens kurz darauf. Wie soll man da kurze RPO oder RTO einhalten?

In der heutigen Zeit, wo bereits ein sehr hoher Virtualisierungsgrad bei den meisten Firmen vorhanden ist, sollte das möglich sein. Zumindest wenn man mit einer Verfügbarkeitssoftware wie Veeam Backup & Replication resp. Veeam Availability Suite arbeitet. Ja ihr habt richtig gelesen. Verfügbarkeitssoftware steht da. Mit Veeam lässt sich viel mehr machen als bloss Daten zu sichern. Klar, das geht einfach, gut und schnell mit Veeam. Aber mit dieser Software lässt sich mehr machen. Kurze RPO oder RTO lassen sich realisieren, Veeam nennt das kombiniert RTPO. Einzelne Dateien, Ordner oder gar ganze virtuelle Maschinen lassen sich innerhalb von Minuten wiederherstellen. Innerhalb von kurzer Zeit einen kompletten Site Failover durchführen. Alles möglich mit Veeam.

Storage SnapShots

Heute möchte ich euch eine Funktion etwas näher bringen. Die Storage Spezialisten und NetApp Freunde kennen dies sicher schon länger. Storage Snapshots. Das ist etwas ähnliches wie ein Snapshot einer virtuellen Maschine zu erstellen. Jedoch nochmals eine Ebene tiefer direkt auf der Storage. Das ist einfach, schnell, und minimiert den Einfluss auf die laufenden virtuellen Maschinen um ein vielfaches. Der laufende Betrieb wird dadurch nicht gestört. Und wenn eine VM nicht mehr sauber läuft, oder Daten gelöscht wurden, kann dieser Storage Snapshot genutzt werden, um die Sache rasch und einfach zu beheben.

NetApp-logo-smallVeeam ist ein NetApp Alliance Partner und unterstützt eine breite Palette von Storage Systemen. Diese enge Zusammenarbeit zwischen Veeam und NetApp macht es möglich, das Maximum aus der bestehenden Virtualisierungsinfrastruktur herauszuholen. Ebenso kann ein Maximum an Verfügbarkeit, sowie schnelle Backups und schnelle Restores zu gewährleistet werden.

Wie nutze ich NetApp Storage SnapShot in Veeam

Wenn ihr schon mit Veeam arbeitet und einen Backup Job eingerichtet habt, geht ihr im Prinzip durch die gleichen Schritte durch. Nur das Repository, also das Ziel der Datensicherung, ändert sich. So einfach lässt sich das einrichten. Etwas mehr Details zeige ich euch anhand der nachfolgenden Screenshots.

In der Veeam Console erstellt ihr einen neuen Backup Job:

Storage SnapShot

Ihr gebt dem Backup Job einen passenden Namen…

Storage SnapShot

…und fügt die gewünschten VMs hinzu. Wählt hierbei aber die verfügbaren Speicher aus in der Anzeige, nicht die ESXi Hosts!

Storage SnapShot

Als Backup Repository wählt ihr nun aus der Dropdownliste “NetApp SnapShot” aus.

Storage SnapShot

Die bekannten Funktionen zum “application-aware processing” können wie bei einem normalen Backup Job über “Advanced” gesetzt werden (VSS etc.). Vergesst die notwendigen Guest OS Credentials nicht.

Storage SnapShot

Erstellt einen Zeitplan für eure Storage Snapshots und schon seid ihr fertig.

Storage SnapShot

Weiterführende Informationen

Veeam: kleine Performance-Optimierung

Mit dem Release von Veeam Backup & Replication v9 wurde die allgemeine Performance im Vergleich zu den Vorgängerversionen weiter verbessert. Version 8 lief schon sehr gut und hat überzeugende Resultate gezeigt. Mit Version 9 wurde das aber nochmals getoppt. Ebenso sind viele neue Features in die Software integriert worden. Drei kleine, vielleicht eher versteckte Features, möchte ich euch heute vorstellen. Sie sollen euch helfen noch etwas mehr Performance aus der Software rauszuholen und eure Backupzeitfenster weiter verkleinern.

Use per-VM backup files

Das erste der drei Feature ist auf Repository-Ebene zu finden und heisst “Per-VM Backup Files”. Wenn ihr einen Backup Job einrichtet und ihn auf das gewünschte Repository sichern lasst, macht Veeam erstmal eine grosse vbk-Datei und sichert dort alle VMs rein. Das gleiche passiert bei den darauf folgenden inkrementellen Sicherungen, da ists einfach eine grosse vib-Datei. Im Endeffekt wird einfach mit einem Stream auf das Repository geschrieben.

Mit der Funktion “Per-VM Backup Files” aus Version 9 sichert der Backup Job nicht mehr alles in einer Datei sondern erstellt für jede VM eine eigene Backup Chain. So könnt ihr das Repository besser auslasten und mehrere Streams parallel auf das Repository schreiben. Das steigert die Backup Performance erspart euch unter Umständen etwas Zeit beim Backup, da die Parallelisierung nicht nur im Job sondern auch auf Repository-Ebene genutzt werden kann. Ebenso hilfreich ist die Funktion, falls man eine VM restoren muss während das Backup läuft. So wird nicht das gesamte Backup-File durch Veeam blockiert sondern nur die Files die grad gesichert werden.

Macht einen Rechtsklick auf euer Repository => Edit => Repository => Advanced => Haken setzen bei “Use per-VM backup files”

Hinweis: bei einem leeren Repository wird diese Funktion beim nächsten Lauf des Backup Jobs aktiv. Bei einem Repository welches bereits genutzt wird muss erst ein Full Backup gemacht werden. Ab dem Startzeitpunkt des Full Backups wird pro VM eine Backup Chain erstellt.

Exclude deleted file blocks

Das zweite Feature ist auf Stufe Backup Job zu finden. Mit dem Aktivieren dieser Funktion werden gelöschte Datenblöcke innerhalb einer VM nicht mehr durch Veeam gesichert. Das erspart euch einige Gigabyte (oder vielleicht mehr) an Platz im Repository. Wenn man innerhalb einer VM Daten löscht (Platten bereinigt, Datenbanken verkleinert, grössere Datenmengen löscht) dann werden diese Blöcke als Frei / Überschreibbar markiert. Veeam achtet beim Changed Block Tracking darauf und sichert diese Blöcke, da sie sich ja verändert haben.

Wenn man nun die gelöschten Blöcke ausklammert mit dem Aktivieren dieser Funktion, weiss Veeam dass solche Blöcke nicht gesichert werden müssen, da sie gelöscht wurden und dort somit keine Daten enthalten sind.

Macht einen Rechtsklick auf den gewünschten Backup Job => Edit => Storage => Advanced => Storage

File Exclusions

Das dritte Feature im Bunde kennt man von diversen anderen Backupprogrammen. Neu in Version 9 können nun auch Dateien oder Ordner explizit vom Backup ausgeschlossen oder gegebenenfalls inkludiert werden. Dieses Feature findet man auf der Stufe der virtuellen Maschine. Vielleicht ist diese Funktion nicht unbedingt eine Performance-Optimierung. Aus meiner Erfahrung wird das Backupzeitfenster auf jeden Fall nicht sehr verlängert.

Nehmen wir einen WSUS-Server als Beispiel. Da liegen zig Gigabyte an Daten herum, Updates für Windows, Office und Co. und ihr wollt die nicht sichern. Das ist durchaus legitim. Sind ja Updates, kann man jederzeit wieder neu herunterladen. Das können aber auch andere Ordner oder Files sein, wie bspw. Druckertreiber. Ihr wisst selbst am Besten was ihr alles an Daten in eurer Infrastruktur habt.

Mit der Funktion von File Exclusions sagt ihr auf Stufe der VM welche Dateien oder Ordner ihr explizit nicht sichern wollt. Oder eben doch, wenn an einer VM noch eine Disk dranhängt, wo nur eine handvoll Ordner mit etwas an Daten drauf liegen. Dann könnt ihr explizit diesen Ordner angeben das er auch gesichert wird.

Macht einen Rechtsklick auf den gewünschten Backup Job => Edit => Guest Processing => Applications => Klickt die VM an => Edit => File Exclusions

Fazit zur Performance

Alles in allem drei doch sehr hilfreiche Funktionen, finde ich, wenn es um Performance und Platz sparen geht. Die Performance von Veam Backup & Replication sucht seinesgleichen. Ich persönlich kenne keine Backupsoftware die schnell mal über den Mittag in einer halben Stunde eine ganze vSphere Infrastruktur sichert. Klar, das ist sicher abhängig von den eingesetzten Komponenten (Hosts, Storage, Backupserver, Netzwerk etc.). Und wenn man da noch das eine oder andere Quäntchen rausholen kann, wieso nicht? Selbst physische Server können mittlerweile mit Veeam gesichert werden, bald sogar richtig sauber auch Exchange und SQL, inkl. Log-Truncation. Aber dazu zu einem späteren Zeitpunkt mehr…

Veeam Dateierweiterungen / Filetypes / weiterführende Links

Dateierweiterung Beschreibung
.vbk Full backup file
.vib or .vrb incremental backup file
.vbm Backup Metadata
.bco Veeam configuration backup
.vsb Pointers to backup data blocks
.vlb SQL server transaction log files

Veeam Support – Logfiles für den Support sammeln

Veeam Backup & Replication lässt sich sehr einfach und schnell installieren, konfigurieren und in Betrieb nehmen. Das ist Fakt. Die Software skaliert mit dem Unternehmen mit, sei es bei kleinen Infrastrukturen mit wenigen virtuellen Servern, bis hin zu grossen Infrastrukturen, mit mehreren hundert Virtualisierungshosts, tausenden VMs und bestenfalls auch noch verschiedenen Standorten. Auch das ist Fakt. Probleme gibt es nur selten, da spreche ich aus eigener Erfahrung. Meist sind es Kleinigkeiten, bspw. ein Haken nicht gesetzt, oder ein falsches Passwort. Das lässt sich einfach lösen, da helfen die bereits verfügbaren Ressourcen wie das Log in der Veeam GUI oder die Knowledgebase.

Was aber wenns mal wirklich brennt? Das Backup oder die Replikation nicht funktioniert? Oder der Failoverplan nicht so läuft wie er soll?

In diesem Fall steht euch der Veeam Support jederzeit zur Verfügung. Ihr meldet euch mit eurem Account im Veeam Customer Portal an und klickt dort auf “Open a Case”.

Ihr beschreibt das Problem so genau wie möglich, füllt die notwendigen Felder aus und ladet zum Schluss die gesammelten Logfiles hoch, damit der Support diese auswerten und nach möglichen Fehlern oder Fehlerquellen ausschau halten kann.

Heute zeige ich euch wie ihr diese Logs sammelt.

Veeam Support Logs
Logs sammeln in der Veeam Konsole

Das Bild oben zeigt euch wie ihr die Logs in der Veeam Konsole sammelt. Die nachfolgenden Schritte sollen euch als Hilfestellung dienen wie das genau zu machen ist.

  1. Um die Logs mit dem Compilation Wizard zu sammeln, klickt ihr in der Konsole oben links auf den Menü Button, dann auf Help => Support Information.
  2. Der Wizard erlaubt verschiedene Methoden um Logs zu sammeln. Für Backup, Replication und andere Jobs klickt ihr auf “export logs for this job”. Wenn mehrere Jobs vom Problem betroffen sind, könnt ihr hier auch eine Mehrfachauswahl treffen. Bei Problemen mit einer einzelnen VM (z.B. Restore oder Replica Fehler) klickt ihr auf “Export logs for this VM” und wählt dann die VM mit dem Problemen aus. Wenn es bspw. Probleme geben sollte der GUI, oder Probleme die nicht unter die erwähnten Kategorien fallen, dann wählt ihr “Export all logs for selected components” und wählt “This server”.
  3. Nach Möglichkeit sollte der Zeitraum der gesammelten Logs mindestens einer Woche entsprechen (voreingestellt sind “7 days”).
  4. Ihr könnt die Logs irgendwo speichern. Stellt einfach sicher dass dort genügend Speicherplatz frei ist. Der Haken bei “Prepare logs package for technical support” ist standardmässig markiert. Das ergibt ganz zum Schluss eine Zip-Datei mit allen gesammelten Logs. Sehr praktisch.
  5. Mit einem Klick auf “Next” gehts nun los, der Wizard sammelt die Logs. Bei kleineren Dateigrössen (unterhalb von 3.5MB) kann man diese als Antwort an die Supportmail anhängen. Alles was drüber ist, lädt man nun via das Veeam My Portal hoch oder fragt den Support nach dem Zugang zu einem FTP-Server.

Ach ja, SFTP ist nun auch unterstützt wenn man es auf supportftp2 hochlädt.

Weitere Informationen betreffend Veeam Support

Falls es zu Problemen kommen sollte wenn ihr via Wizard die Logs sammelt, findet ihr hier natürlich auch noch die relativen Pfadangaben für verschiedene Betriebssysteme, sodass ihr diese manuell sammeln, zippen und an den Support senden könnt.

  • Windows 2003, XP: C:\Documents and Settings\All Users\Application Data\Veeam\Backup\
  • Windows Vista, 7: C:\Users\All Users\Veeam\Backup\
  • Windows 2008 / 2008 R2 / 2012: C:\ProgramData\Veeam\Backup\
  • Linux: /var/log/VeeamBackup/

Typische Logs, die vom Support angefragt werden, können sein:

  • Der Tasks Ordner im Stammverzeichnis, gezippt. Darin sind alle relevanten Job- / Task- und Agent-Daten enthalten.
  • Alle Protokolle aus dem übergeordneten Verzeichnis mit dem Namen svc.*.log, util.*.log, sowie VeeamBackupManager.log als auch VeeamShell.log.

Veeam SureBackup – Ping-Test Troubleshooting

SureBackupNeulich wollte ich bei einem Kunden einen SureBackup Job in Veeam Backup & Replication einrichten. Mit SureBackup lassen sich Backups automatisch auf ihre Wiederherstellbarkeit testen. So kann bspw. ein Microsoft Exchange Server geprüft werden ob dessen Backup im Falle eines Restores auch sauber ist und überhaupt wiederhergestellt werden kann. Die Einrichtung des SureBackup Jobs soweit sehr gut funktioniert. Nur der anschliessende Testlauf wollte nicht wie geplant funktionieren.

In Veeam erstellt man zuerst eine Application Group und ein Virtual Lab. Die Application Group umfasst alle für den Test notwendigen VMs. So werden bspw. für einen Microsoft Exchange Server sicher mal die VM für Exchange benötigt, aber auch ein Domaincontroller. Man fügt also die entsprechenden VMs zur Application Group hinzu und definiert auf diesen VMs die passenden Rollen (DNS, DC, Mail etc.). Abhängig von diesen Rollen werden die entsprechenden Tests vom SureBackup Job automatisch ausgeführt. Das Virtual Lab umschreibt prinzipiell das Netzwerk und die Einstellungen, mit welchen die VMs im SureBackup Job arbeiten. Anschliessend wird mit der Application Group und dem Virtual Lab ein SureBackup Job eingerichtet.

Das hat alles einwandfrei funktioniert. Der SureBackup Job konnte ausgeführt werden, die erste VM wurde erfolgreich gestartet und auch der Heartbeat-Test (VMware) war erfolgreich. Doch egal wie lange die VM lief, Veeam konnte sie nicht pingen. Das ist noch nicht tragisch, man könnte diesen Test auch deaktivieren. Jedoch ist dann der Restore nicht zwingend erfolgreich, wenn bspw. Probleme mit der Netzwerkschnittstelle vorhanden sind. Mit dem Ping-Test können diese allenfalls herausgefunden werden. Nachdem die maximale Boot-Zeit für die Domaincontroller VM abgelaufen war wurde der Test als “failed” beendet.

Also zurück ans SureBackup Reissbrett und schauen wo der Fehler liegt

Das Virtual Lab ist noch etwas mehr als bloss die Netzwerkeinstellung für die VMs die getestet werden. Das Lab beinhaltet auch eine eigene virtual Appliance welche Routingfunktionen bietet. Normalerweise hat ein Virtual Lab, welches man aus Veeam heraus startet, keine Netzwerkverbindung nach draussen ins Internet. Das kann mit dieser virtual Appliance aber konfiguriert werden. So können diverse Virtual Labs erstellt werden, welche bspw. auch länger verfügbar sind als nur für einen Restore-Test. So kann man Virtual Labs und Sandboxen erstellen welche für Patch-Testing und Development gebraucht werden können.

Schlussendlich war das Problem eines auf Netzwerkebene

Damit Veeam die VMs im Virtual Lab anpingen kann, müssen die Netzwerkeinstellungen der virtual Appliance korrekt sein. Wenn nach dem ersten Deployment und anschliessenden Testlauf der Test fehlschlägt können vielleicht die folgenden Tipps helfen damit die Tests nachher funktionieren:

Veeam KnowledgeBase KB1067

Bei mir war es der zweite Punkt (“VNIC FOR ISOLATED NETWORK MISCONFIGURED”). Mein Virtual Lab hatte eine falsche IP-Adresse, aus einem Netzwerkrange den es bei diesem Kunden nicht gibt. Das Virtual Lab sollte als eigene IP-Adresse immer die IP Adresse des Default Gateways haben, damit oben erwähnte Ping-Tests funktionieren.

Keine Panik, es ergibt sich daraus kein IP-Konflikt. Die virtual Appliance selbst bekommt von eurem DHCP-Server eine IP-Adresse. Da das Lab ein in sich geschlossenes Netzwerk ist ohne Verbindung nach draussen spielt das Virtual Lab hier die Rolle des Gateways für die VMs im Lab.

Falls ihr mehr zum Thema SureBackup Jobs wissen wollt und solche eure Backups zukünftig automatisch testen lassen wollt, erfährt ihr im Veeam HelpCenter mehr dazu:

Veeam HelpCenter – Verifying Backups, Replicas and VMs from Storage Snapshots

Ich wünsche euch viel Spass beim Konfigurieren und Testen eurer Backups!