Migration von SQL Express zu PostgreSQL als Veeam Backup & Replication Datenbank

Wer Veeam Backup & Replication für ein Backup seiner VMs und Server nutzt, der nutzt in vielen Fällen auch die standardmäßig installierte Microsoft SQL Express Datenbank im Hintergrund. Diese wird bei einer Standard-Installation direkt mit installiert und funktioniert prinzipiell auch ganz gut, allerdings hat sie einige Einschränkungen gegenüber den größeren und kostenpflichtigen Editionen. Eine dieser Einschränkung ist, dass die Datenbank selbst nur maximal 10 GB groß werden kann. Je nach Anzahl der Jobs und der Aufbewahrungsdauer der Informationen kann dies irgendwann zu wenig sein.

Seit der Version 12 von Veeam unterstützt die Software auch die Nutzung von einer PostgreSQL Datenbank. Die Software ist kostenlos und hat unter anderem die Größeneinschränkungen von Microsoft SQL Express nicht. Bei einer Neuinstallation von Veeam wird PostgreSQL direkt als Standard-Datenbank vorgeschlagen und genutzt, bei einem Update von einer vorherigen Version bleibt SQL Express bestehen. Man kann allerdings auch nachträglich noch die Art der Datenbank wechseln und von MS SQL Express umsteigen auf PostgreSQL. Dieser Artikel beschreibt die Vorgehensweise und die Erfahrungen, die ich während der Umstellung gemacht habe.

Voraussetzungen

Um einen Wechsel der Datenbank zu machen, muss Veeam in der Version v12 installiert sein, ein Wechsel bei einer älteren Version ist nicht direkt möglich. Sollte eure Installation noch nicht auf v12 sein, dann plant das Update bitte direkt mit ein.

Sicherung der Konfiguration

Im ersten Schritt müssen wir eine Sicherung der aktuellen Konfiguration erstellen bzw. überprüfen, ob die tägliche Sicherung aktuell ist und gelaufen ist. Ein Tipp an dieser Stelle: Wenn Sie das Backup der Veeam-Konfiguration verschlüsseln, werden die hinterlegten Credentials ebenfalls im Backup gespeichert. Nutzen Sie die Verschlüsselung nicht, müssen Sie nach dem Restore der Konfiguration alle Kennwörter erneut eingeben. Daher empfiehlt es sich, eine Verschlüsselung einzustellen und das Kennwort dafür gut wegzulegen.

Das Backup der Konfiguration muss zwingend mit der Version 12 der Software erstellt worden sein, da nur diese Version in der Lage ist, in einer PostgreSQL-Datenbank wiederhergestellt zu werden. Wenn Sie noch auf einer älteren Version sein, bitte einmal ein Update auf v12 machen, und dann erneut ein Backup der Konfiguration erstellen. Ein Backup von v11 lässt sich nicht in eine PostgreSQL-Datenbank wiederherstellen!

Installation von PostgreSQL

Wir können nun im zweiten Schritt die manuelle Installation der Datenbank-Software vornehmen. Die Software wird direkt mit auf dem Installationsmedium von Veeam mitgeliefert, und befindet sich im Ordner Redistr – x65 – PostgreSQL – 15.1-1.

Grundsätzlich könnten wir diese Setup-Datei benutzen, allerdings gibt es in den Version 15.1 bis 15.2 einen Bug mit der Verarbeitung von XML-Dateien. Aus diesem Grund habe ich dann von der Herstellerseite die aktuellere Version 15.4 heruntergeladen und installiert, um diesen Fehler nicht zu haben. Der Download ist auf dieser Seite zu finden: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

Der Veeam KB-Artikel dazu ist hier zu finden: Veeam.com: Configuration Restore Fails With: „2200N: invalid XML content DETAIL: buffer full“

Die Installation geht recht einfach von der Hand, wir müssen lediglich die Pfade und den Port überprüfen, sowie ein Master-Kennwort setzen. Hier Screenshots der Installation.

Nachdem die Installation abgeschlossen ist, kann das Setup beendet werden. Den Stack Builder brauchen wir nicht ausführen.

Im nächsten Schritt müssen wir jetzt einen neuen Datenbank-Benutzer anlegen, der dann innerhalb der Veeam-Installation verwendet werden kann. Dazu öffnen wir das Programm pgAdmin4, was durch die Installation der Datenbank direkt mit installiert wurde.

Im linken Bereich müssen wir die Server-Liste aufklappen, dadurch müssen wir uns dann an der Datenbank anmelden. Die Anmeldung wird gemacht mit dem Kennwort, was während dem Setup vergeben wurde (der Datenbank Administrator-Account „postgres“).

Mit einem Rechtsklick auf „Login/Group Roles“ können wir einen neuen Benutzer erzeugen.

Wir müssen die folgenden drei Reiter ausfüllen, benötigt wird ein Benutzername, das Kennwort und die Rechte:

Jetzt können die Einstellungen mit einem Klick auf „Save“ übernommen werden. Der Benutzer wird angelegt und kann im weiteren Verlauf genutzt werden, um die Datenbank wiederherzustellen. Wir müssen im pgAdmin nichts weiter machen, das Programm kann geschlossen werden.

Die Wiederherstellung der Veeam-Datenbank

Wir können nun mit dem Schwenk der Veeam-Datenbank beginnen. Benötigt wird, wie bereits erwähnt, ein Backup der Veeam-Konfiguration, erstellt mit der Software-Version v12. Die Wiederherstellung kann gestartet werden über den Eintrag „Configuration Restore“ im Startmenü auf dem Server.

Es öffnet sich ein Assistent, der durch den Wiederherstellungsprozess führt. Direkt im ersten Auswahlmenü wählen wir die Option „Migrate“.

Danach wählen wir das Backup der Konfiguration aus. Wir bekommen eine Übersicht der Backup-Inhalte und Einstellungen. Hier können wir dann z.B. unter „Database“ auch direkt sehen, ob eine Wiederherstellung unterstützt wird.

Danach müssen wir das Kennwort eingeben, mit dem das Backup verschlüsselt und geschützt ist.

Bei der Auswahl der Ziel-Datenbank müssen wir dann den Server inkl. Port, den gewünschten Datenbank-Namen sowie den Datenbank-Benutzer und das zugehörige Kennwort angeben, was wir im vorherigen Schritt im pgAdmin erstellt haben.

Im nächsten Schritt können die Wiederherstellungsoptionen bearbeitet werden. Vielleicht ein hilfreicher Tipp: Ich hatte bei dem Restore Probleme, die Session History zu importieren, es kam dort zu diesem XML-Fehler beim Import. Der Restore der Datenbank wurde abgebrochen, und musste wiederholt werden. Auch bei mehreren Versuchen hat es nicht erfolgreich geklappt. Die Lösung war in meinem Fall, die Session History nicht mit zu importieren. Damit verliert man dann die Log-Einträge, wann welche Jobs gelaufen sind und mit welchem Ergebnis sie beendet wurden. Wichtig: Die Restore-Möglichkeiten sind damit nicht weg! Sollte es also nicht klappen, den Restore erfolgreich abzuschließen, vielleicht einmal mit deaktivierter Session history.

Vor dem Restore wird noch geprüft, ob die Dienste laufen oder gestoppt werden müssen.

Danach startet der Restore, und läuft dann im besten Fall erfolgreich durch. Ist dies der Fall, wurde damit auf PostgreSQL umgestellt, und die alte SQL Datenbank-Installation kann auf Wunsch deinstalliert werden.

Optimierung der Datenbank

Veeam empiehlt, nach der Migration auf PostgreSQL einen PowerShell-Befehl zur Optimierung der Datenbank abzusetzen. Der Befehl ist Set-VBRPSQLDatabaseServerLimits – Nach der erfolgreichen Ausführung sollte der postgresql-x64-15 Dienst einmal neugestartet werden, dies geht ebenfalls per PowerShell (Restart-Service postgresql-x64-15) oder alternativ natürlich auch über den Dienste-Manager.

Als Quelle für diese Anleitung habe ich den Veeam-Blog verwendet, der diese Schritte ebenfalls erklärt und ausführt, allerdings sind dort ein paar Screenshots zu wenig, z.B. bei der Erstellung des DB-Benutzers, daher habe ich es ebenfalls hier beschrieben. Der XML-Fehler ist mir erst bei der ersten Umstellung aufgefallen, daher habe ich diese Information direkt mal an den Anfang gepackt. Der Betrieb der aktuellen Version macht ja grundsätzlich Sinn 🙂

Falls Sie Unterstützung bei der Umstellung brauchen, melden Sie sich gerne bei mir, wir sind gerne behilflich.


Sie benötigten persönliche Unterstützung oder haben nicht die richtige Lösung für Ihr Problem gefunden?

Dieser Blog wird von mir, Jan Kappen, in seiner Freizeit betrieben, hier beschreibe ich Lösungen für Probleme aller Art oder technische Anleitungen mit Lösungsansätzen.

Die berufliche Unabhängigkeit

Ich bin seit Januar 2020 vollständig selbstständig und habe meine eigene Firma gegründet, die Building Networks mit Sitz in Winterberg im schönen Sauerland. Hier stehe ich als Dienstleister gerne für Anfragen, Support oder Projekte zur Verfügung.

Die Firma Building Networks bietet Ihnen:

  • Hilfe und Support per Telefon, Fernwartung oder persönlich vor Ort
  • Projekt-Unterstützung
  • Ausgezeichnete Kompetenz zu den Themen
    • Microsoft Hyper-V
    • Microsoft Failover Clustering & HA
    • Storage Spaces Direct (S2D) & Azure Stack HCI
    • Veeam Backup & Recovery
    • Microsoft Exchange
    • Microsoft Exchange Hybrid Infrastruktur
    • Microsoft Active Directory
    • Microsoft Office 365
    • Ubiquiti
    • 3CX VoIP PBX
    • Fortinet Network Security
    • Baramundi Software
    • ...

Ich freue mich über Ihren Kontakt, weitere Informationen finden Sie auf der Webseite meiner Firma unter Building-Networks.de

Jan

Jan Kappen arbeitet seit 2005 in der IT. Er hat seine Ausbildung 2008 abgeschlossen und war bis 2018 als IT-Consultant im Bereich Hyper-V, Failover Clustering und Software Defined Storage unterwegs. Seit 2015 wurde er jährlich von Microsoft als Most Valuable Professional (MVP) im Bereich "Cloud & Datacenter Management" ausgezeichnet für seine Kenntnisse und die Weitergabe seines Wissens. Jan ist häufig auf Konferenzen als Sprecher zu finden, weiterhin bloggt er viel. Von September 2018 bis Dezember 2019 war Jan als Senior Network- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland angestellt. Im Januar 2020 hat er den Sprung in die Selbstständigkeit gewagt und ist seitdem Geschäftsführer der Firma Building Networks in Winterberg. In seiner Freizeit kümmert er sich um das Freifunk-Netzwerk in Winterberg und Umgebung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert