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

VMware vSphere Homelab: Die erste VM läuft im PoC

vSphere Web Client - vCenter

Heute Abend habe ich endlich wieder Zeit gefunden um mich um meinen Proof of Concept (PoC) zu kümmern. Wie vor einiger Zeit angekündigt arbeite ich derzeit an einem PoC für mein Homelab. Das Ziel des Homelab ist eine Anzahl an nested ESXi auf einem physischen ESXi zu installieren, und ganz oben drauf, auf den nested ESXi, einige VMs zu Testzwecken einzurichten. Schlussendlich soll mir das Homelab zum besseren Verständnis der VMware Technologien und zur Vorbereitung auf Zertifizierungsprüfungen dienen. Da noch nicht die gesamte Hardware bei mir ist (eine gute Basis ist sehr wohl vorhanden, es fehlen aber noch verschiedene Komponenten) musste ich mich etwas einschränken. Im Blogpost über die ersten Gehversuche im Homelab habe ich die ersten Schritte erklärt.

Nun habe ich heute Abend also meine erste VM innerhalb des PoC Homelabs, also dem ESXi Cluster mit VSAN, eingerichtet und installiert. Es war zu Beginn etwas mühsam. Ich bin auf das eine oder andere Problem gestossen welches ich lösen musste. Angefangen bei der VM-Konsole, über das Mounten des ISO-Images für das Betriebssystem bis hin zu DNS.

Problem 1 – PoC und die Eingabegeräte

Besonders mühsam war die VM-Konsole, also der “Bildschirm” über welchen ich die VM anschauen und bedienen kann. Mit vSphere 6 läuft der vSphere Web Client richtig gut. Ich habe im ersten Moment gar nicht daran gedacht den C# Client (Fat Client) zu installieren. Die Performance des Web Client ist toll, ein riesiger Sprung im Vergleich zu dessen Vorgängerversionen. Jedoch ist es so eine Sache mit der VM-Konsole in der HTML5 Oberfläche im Browser. Die Tastatur hat funktioniert, auch klicken mit der Maus war drin, aber den Cursor konnte ich nicht bewegen. Ich denke da herrscht noch Nachholbedarf seitens VMware. So musste ich dennoch den VMware vSphere Client herunterladen und installieren und konnte dann über diesen bequem die VM-Konsole starten.

Problem 2 – ISO-Image in den Datastore laden

Zugegeben, dieses Problem ist noch nicht gelöst. Aufgrund der nichtssagenden Fehlermeldung konnte ich hier auf die Schnelle keine Lösung finden. Es war nicht möglich via Browser (HTML5 Web Client) ein ISO-File in den VSAN Datastore hochzuladen, um dies dann bspw. für die Installation einer VM zu nutzen. Also musste ich das ISO-Image beim virtuellen (nested) ESXi einbinden und durchreichen. Das ist sicher nicht der übliche Weg, aber er hat funktioniert. Und nur für den PoC reichts allemal. Aber ich suche noch nach einer Lösung für dieses Problem.

Problem 3 – DNS, DNS, DNS…

Wenn es in einem Netzwerk zu irgendwelchen Problemen kommt, ist das wohl einer der ersten Punkte den man prüft. DNS. Kann ich den Hostnamen pingen? Wird der Hostname korrekt in eine IP-Adresse aufgelöst? Funktioniert das ganze auch zurück?

"Unable to connect to the MKS: Login (username / password) incorrect"

Das war die Fehlermeldung wenn ich die VM-Konsole starten wollte. Ein erster Ansatz war eine Konfigurationsdatei von VMware Workstation anzupassen und dort drin den “authd.client.port” auf Port 902 zu stellen (war bei mir 903). Anschliessend noch den “VMware Authorization Service” sowie den “VMware Workstation Server” neustarten, dann sollte es gehen. Sollte. Ging aber nicht. Also weitergrübeln und suchen. Ich fand einen Beitrag in der VMware Community der schlussendlich zur Lösung half. Anscheinend sind gewisse VMware Dienste / Programme heikel was DNS angeht. Wenn DNS nicht sauber funktioniert, funktionieren auch bestimmte Dinge bei VMware nicht. So konnte ich mich bspw. über die IP-Adresse der vCenter Server Appliance mit dem vSphere Client anmelden. Sobald ich aber die VM-Konsole öffnen wollte, erschien obige Fehlermeldung.

Sodann habe ich auf meinem Rechner das Hosts-File gesucht und die notwendigen Einträge gemacht. Anschliessend habe ich mich über den FQDN der vCenter Server Appliance mit dem vSphere Client verbunden und konnte erfolgreich die VM-Konsole starten.

Ach ja, so sieht sie aus, die erste VM im PoC Homelab…

VMware vSphere Homelab – erste Gehversuche

VMware Workstation 12 Pro

Gestern Abend habe ich meine ersten Gehversuche mit einem VMware vSphere Homelab gestartet. Ja, Gehversuche. Weil ich keine unlimitierte Hardwarekapazität zu Hause habe, und nicht hunderte von Dollar in ein virtuelles Lab in der Cloud investieren kann und will, musste ich mir erst mal Gedanken machen wie ich das ganze angehen soll. Also musste ich ein Proof of Concept für ein Homelab erarbeiten.

VMware Workstation 12 Pro - Homelab
VMware Workstation 12 Pro – Homelab

Ich musste meine Idee zu Papier bringen, um zumindest die grössten Fallstricke im Vornherein zu erkennen und zu lösen. Welche vorhandene Hardware kann ich nutzen und wie kann ich sie erweitern? Wie installiere ich einen Hypervisor als virtuelle Maschine und wie verwalte ich das ganze? Brauche ich dazu einen Domaincontroller? Wie mache ich das mit dem Storage?

Das waren einige der Fragen die ich mir für mein Homelab stellen musste und auf die ich auch Antworten gefunden habe. Anschliessend habe ich viel Zeit mit Recherchen verbracht, im Internet gesucht wie das andere Leute gelöst haben. Viele interessante Ansätze, technisch anspruchsvolle Lösungen und verschiedenste Hardware konnte ich so kennen lernen. Und natürlich auch mit meinen Ansätzen vergleichen um zu sehen ob es noch weitere Fallstricke gibt.

Somit werde ich als übernächsten Schritt meine ehemalige Workstation mit zusätzlicher Hardware aufrüsten. Die ersten bestellten Teile sind bereits eingetroffen und warten auf die Montage. Die CPU-Basis ist gut, genügend Cores sind vorhanden. Dazu gesellen sich dann 64 GB Ram und verschiedene SSD-Disks sowie ein SAS-Controller. Weitere Details dazu liefere ich sobald diese Maschine zusammengebaut ist. Und wer weiss. Vielleicht wird Version 2.0 meines Homelab ja auch aus einigen kleinen Intel NUC’s bestehen…

Die ersten Schritte im Homelab

Parallel zur Hardwareplanung und -Beschaffung habe ich mit VMware Workstation eine kleine Version meines Homelabs auf meiner aktuellen Workstation eingerichtet. Mit diesem Minilab arbeite ich am Proof of Concept. Wenn die Hardware mal zusammengebaut ist, will ich nicht tagelang mit der Installation beschäftigt sein, dann will ich die Ressourcen schnell nutzen und mit dem Lab produktiv arbeiten. Der Schwerpunkt liegt dabei auf Tests von verschiedenen Szenarien als auch dem Ausprobieren der Technik und Software sowie der Vorbereitung auf Zertifizierungsprüfungen.

Jetzt aber mal los…

Zuallererst kümmerte ich mich um die Installation eines Domaincontrollers. Aufgrund eines bereits vorhandenen Server-Templates auf Basis von Windows Server 2008 R2 konnte ich hier den Zeitaufwand drücken. Folglich war rund eine Stunde und einige Windows Updates später eine Domäne inkl. DNS-Server eingerichtet.

Dank dem Blog von William Lam konnte ich auch den Zeitaufwand für die Installation von virtuellen ESXi Servern auf ein Minimum reduzieren. Nach etwas weniger als zehn Minuten waren drei ESXi installiert, konfiguriert und bereit. Auch auf dem Blog von Florian Grehl habe ich gute Tipps gefunden wie man schnell und einfach eine vCenter Server Appliance in Betrieb nimmt. Das Deployment an sich war einfach. Allerdings habe ich mir dann doch ernste Gedanken gemacht ob das Ding jetzt läuft oder nicht, als sich nach 10 Minuten der Ladebalken noch keinen Millimeter weiter bewegt hat. In den Kommentaren zum Artikel von Florian Grehl habe ich aber dann gelesen dass es gut mal eine Viertelstunde dauern kann bis vCenter das erste Mal gestartet ist. Puhh, nochmal gut gegangen.

Homelab Troubleshooting und erste Bilder

Heute Abend werde ich den Fehlermeldungen im vCenter auf den Grund gehen. Insgesamt sind elf Warnungen und Alarme vorhanden welche Virtual SAN betreffen, alles Integritätsalarme. Ich bin gespannt was dabei rauskommt. Nun folgen aber erst mal einige Bilder des “Setups”. Mehr Informationen zum Troubleshooting gibt es zu einem späteren Zeitpunkt.

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.

VMware vCenter Server Appliance – Update von 6.0 auf 6.0 Update 2

vCenterHeute zeige ich euch in einem kurzen Abriss wie man die vCenter Server Appliance in der Version 6.0 auf Update 2 aktualisiert. Dieses Vorgehen unterscheidet sich ganz wesentlich vom Upgrade-Prozess von Version 5.5 auf Version 6.0. Es ist nämlich wesentlich kürzer und damit in wenigen Minuten erledigt.

Ihr ladet euch erst mal den notwendigen Patch herunter. Das macht ihr über diesen Link (VMware Login erforderlich). Und bevor ihr ein Update auf eure Appliance installiert, empfiehlt es sich zumindest einen Snapshot zu erstellen, bestenfalls ein vollständiges Backup durchzuführen (bspw. mit Veeam Backup & Replication).

  1. Nun bindet ihr das ISO-File via vSphere Client oder Webclient in eure laufende Appliance ein und stellt sicher das der Haken bei “Connected” gesetzt ist.
  2. Verbindet euch dann via SSH (bspw. mit PuTTY) mit euer vCenter Appliance.
    1. SSH muss allenfalls zuerst aktiviert werden.
    2. Öffnet dazu im vSphere- oder Webclient die Console der Appliance, drückt F2 => “Customize System” => “Troubleshooting Mode Options”.
  3. Im nächsten Schritt werden die Installations-Pakete von der DVD (ISO-Image) erst mal in der Appliance bereitgestellt (staging).
    1. software-packages stage --iso
  4. Ihr könnt die bereitgestellten Pakete noch kontrollieren indem ihr die Liste anzeigen lässt.
    1. software-packages list --staged
  5. Und mit dem nächsten Befehl wird die Installation gestartet.
    1. software-packages install --staged
  6.  Zum schluss wird die Appliance neugestartet.
    1. shutdown reboot -r "patch reboot"

Natürlich geht das ganze auch direkt ohne staging im Voraus.

Wenn ihr ein ISO-Image eingebunden habt, geht das mit diesem Befehl:
software-packages install --iso

Anschliessend die vCenter Appliance neustarten mit dem Befehl:
shutdown reboot -r "patch reboot"

Das wars. Die vCenter Appliance läuft nun auf dem aktuellsten Stand. Prüft auf jeden Fall ob eure Einstellungen für Cluster, DRS, HA etc. weiterhin passen. Ändern sollte sich mit dem vCenter Update nichts diesbezüglich. Weitere Informationen, mehr im Detail, gibt es natürlich direkt bei VMware in der Knowledge Base oder im Dokumentationcenter.

Quellen zum vCenter Appliance Update