Veeam B&R: „Post-job script terminated with exit code 3“

Problem

veeam-post-job-script-exit-3In den Backup-Reports und in der Statusübersicht sind verschiedene Veeam-Sicherungen mit Post-Job Batch-Scripts mit „Warning“ markiert, obwohl der Job korrekt gelaufen ist. Das schreint ebenso für das Script zu gelten, es sind keine Fehler feststellbar.

Lösung

Veeam B&R wertet den Rückgabecode („ERRORLEVEL„) des Scripts aus. Alle Statuscodes außer „0“ werden als Warning im Bericht aufgeführt. Am einfachsten ergänzt man sein Script um einen exit mit dem code 0:

...
echo Done with hypercomplicated batch script.
exit 0

Veeam v8 „Post-job script timed out“

Problem

Seit dem Update auf Veeam v8 läuft die Sicherung von virtuellen Maschinen zwar fehlerfrei („SUCCESS“) durch, trotzdem erhält der Job am Ende aber den Status „Warning“. Grund ist die Meldung „Post-job script timed out“.

veeam-post-job-timeoutLösung

In v8 wurde ein Timeout eingeführt, das nach 15 Minuten für Scripts die nach der Sicherung abläuft. Die zeit ist reichlich knapp bemessen. Das Timeout lässt sich in der Registry zum Glück ändern:

HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication

Einen REG_DWORD (32bit) Wert „PostJobScriptTimeoutSec“ hinzufügen und das Timeout in Sekunden angeben. Beispiel für fünf (5) Stunden:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam Backup and Replication]
"PostJobScriptTimeoutSec"=dword:00004650

Nach der Änderung müssen die Backup-Services neu gestartet werden.

NetAPP FAS schreibt sehr langsam Veeam reversed-incremental Backup-Jobs

Problem

Mit Veeam Backup and Replication geschriebene Sicherung von von virtuellen Maschinen (vmware oder Hyper-V) sind sehr langsam, wenn diese Faktoren zusammenkommen:

  • NetAPP Storage via CIFS
  • Sicherung im Reversed-Incremental Modus
  • Veeam B&R 6 oder 7

Lösung

Die CIFS-Sitzungsdaten in NetAPP Filern sind im Auslieferzustand für Windows 2000, IIS6 und SQL Server 2000 konfiguriert und lassen viele performancekritische Optimierungsmöglichkeiten vermissen, die Veeam nutzt.

Diese Einstellungen haben sich als „best practice“ erwiesen:

options cifs.max_mpx 1124
options cifs.tcp_window_size 2096560
options cifs.neg_buf_size 65535
options raid.mirror_read_plex_pref alternate

Veeam VMWare Backup Job „File is locked by running session (Jobname)“

Wenn man eine Veeam Backup-Server im falschen Moment (=mitten im Job) neu startet oder der Prozess sich mal unglücklich aufhängt, lässt sich ein Job schon mal nicht neu starten.

Man kann natürlich das SQL Management Studio Express installieren, man kann als fauler Admin aber auch auf dem binntools Verzeichnis das SQLCMD für die Reparatur nutzen:

sqlcmd -s SERVERNAME -Q "EXEC sp_databases;" 
  • Datenbanknamen holen, falls unbekannt
sqlcmd -s SERVERNAME -d "VeeamBackup" -Q "delete from [Backup.TrackedActions.LockItems]"

sqlcmd -s SERVERNAME -d "VeeamBackup" -Q "delete from [Backup.TrackedActions.Locks]"

sqlcmd -s SERVERNAME -d "VeeamBackup" -Q "delete from [Backup.TrackedActions.Locks]" 

Wenn der SQL Server im ersten Moment die Verbindung verweigert, muss die Remote-Verbindung erst zugelassen werden. Das geht im SQL-Server-Configuration-Manager; hier unter den Netzwerkprotokollen die NamedPipes aktivieren und in der Instanz die Netzwerkverbindungen auf „enable“ setzen. Es gibt auch einen Veeam-KB-Artikel dazu.

Veeam: „Host with uuid ‚xxxx-xxxx-xxx‘ was not found“ nach Hostupdate (oder Hardwareänderung)

Bei einem vSphere Update bekommt der jeweilige Host eine neue UUID. Das ist auch vollkommen korrekt so. Veeam verwaltet aber seine Lizenzen nach diesen UUIDs, was nach einer Hostupdate zu der irreführenden Fehlermeldung führt:

Veeam: "Host with uuid 'xxxx-xxxx-xxx' was not found"

Lösung: Zurücksetzen der Veeam-Lizenzen für den passenden Host.veeam_lizenzen_zuruecksetzen

  1. Dash -> Help -> License Information
  2. Licensed Hosts
  3. Host auswählen und „revoken“

 

 

Beim nächsten Backup (oder Replikation) werden die freien Lizenzen wieder neu vergeben.