In diesem Artikel werden wir unsere Erfahrungen mit CommVault für PostgreSQL-Backups überprüfen. Dazu analysieren wir einen kleinen Teil eines unserer früheren Projekte, in dem wir eine Sicherung der PostgreSQL-Datenbank vom Client aus einrichten.

Über CommVault
CommVault ist eine einzige skalierbare Plattform, die integrierten Datenschutz und Inhaltsverwaltung bietet. Die Plattform unterstützt Softwaremodule mit Funktionen zum Sichern und Wiederherstellen von Daten, deren Archivierung, Deduplizierung, Replikation, hierarchischer Verteilung von Medien und Verschlüsselung. Die Plattformmodule arbeiten mit Unternehmensinhalten aus verschiedenen Quellen und bieten dank einer einzigen intelligenten Indizierung von Dokumenten in einem virtuellen Repository eine End-to-End-Suche nach Informationen in der Unternehmensumgebung und deren ständige Verfügbarkeit auch aus Archiven. Die Plattform ist außerdem mit fortschrittlichen Analysetools ausgestattet, die Berichte über die Aktionen von Benutzern und Anwendungen sowie über die Funktionsweise der Infrastruktur erstellen.
CommVault schützt, stellt Daten wieder her und verwaltet sie und greift in physischen und virtuellen Umgebungen darauf zu.
Informationen zur PostgreSQL-Sicherung
Um eine Sicherung der PostgreSQL-Datenbank durchzuführen, wird ein Agent (iDataAgent) verwendet, der auf dem Server installiert ist, auf dem die Datenbank ausgeführt wird. Der Agent dient zum effektiven Verwalten und Schützen wichtiger Geschäftsdaten in PostgreSQL-Datenbanken. Mit diesem Agenten können Sie den gesamten PostgreSQL-Server oder einzelne Datenbanken sichern und wiederherstellen. Bei Bedarf können Sie auch einzelne Tabellen wiederherstellen.
Hauptmerkmale:
PostgreSQL iDataAgent bietet die Flexibilität, Datenbanken in verschiedenen Modi zu sichern und in kürzester Zeit wiederherzustellen. Sie können jederzeit den gesamten PostgreSQL-Server, einzelne Datenbanken oder archivierte Protokolle sichern oder sichern.
Die Sicherungs- und Wiederherstellungsfunktionen, die in verschiedenen Modi ausgeführt werden können:
- iDataAgent bietet die Möglichkeit, den gesamten PostgreSQL-Server wiederherzustellen. Alle auf dem Quellserver befindlichen Datenbanken können auf dem Zielserver wiederhergestellt werden.
- Definieren Sie eine einzelne Datenbank oder Gruppe von Datenbanken als Subclient-Daten und sichern und wiederherstellen.
- Sichern Sie nur die Protokolle auf dem PostgreSQL-Server. Diese Protokolldateien können verwendet werden, um Datenbanktransaktionen wiederherzustellen, die aufgrund eines Betriebssystem- oder Festplattenfehlers verloren gegangen sind.
- Stellen Sie Ihren gesamten PostgreSQL-Server zu einem bestimmten Zeitpunkt für die dateisystembasierte Sicherung wieder her.
- Anzeigen und Überprüfen des Status von Sicherungs- und Wiederherstellungsvorgängen über Job Controller und Ereignisanzeige in der CommCell-Konsole. Verfolgen Sie den Status Ihrer Arbeit mit Berichten, die Sie speichern und verteilen können.
- Verwenden Sie Sicherungen auf Blockebene, um Daten schneller zu sichern, da Sicherungen nur für Speicherbereiche (oder geänderte Teile der Datenbank) und nicht für die gesamte PostgreSQL-Datenbank gelten.
- Deduplizierung auf Blockebene Die Deduplizierung bietet eine intelligentere Möglichkeit zum Speichern von Daten, indem Duplikate bei Datenschutzvorgängen identifiziert und entfernt werden.
Architektur
Schema
Wie es funktioniert:Die CommVault-Plattform wird im Netzwerk als Teil des CommServe-Verwaltungsservers und eines separaten MediaAgent-Servers bereitgestellt (es wird empfohlen, einen physischen Server zu verwenden).
Auf dem Server wird ein Agent (iDataAgent) mit der PostgreSQL-Datenbank installiert, und seine Sicherungsrichtlinien werden gemäß den Anforderungen konfiguriert. iDataAgent sammelt die erforderlichen Daten, komprimiert sie, dedupliziert sie gegebenenfalls, verschlüsselt sie und überträgt sie an MediaAgent.
Ferner werden die Daten auf dem Speichersystem, in einer Bandbibliothek oder in einem Cloud-Speicher abgelegt.
Zur Wiederherstellung werden Daten aus dem Speicher extrahiert und mit PostgreSQL auf den Server kopiert.
Einrichtung in der CommVault-KonsoleLassen Sie uns nun in der Verwaltungskonsole sehen, wie dies funktioniert.
1. Um die Datenbanksicherung zu starten, wählen Sie in der CommCell Browser-Konsole Folgendes aus:
Client-Computer | | PostgreSQL | | DumpBasedBackupSet.
Klicken Sie mit der rechten
Maustaste auf den
Standardordner im
Subclient und wählen Sie
Sichern .

2. Wählen Sie als Sicherungstyp
Voll und dann
Sofort .
3. Klicken Sie auf
OK .
Das PostgreSQL- Backup wird
gestartet .

4. Während der Ausführung des Jobs kann sein Status über das
Jobfenster der CommCell- Konsole überwacht werden.

5. Sobald die Aufgabe abgeschlossen ist, können Sie die Details der abgeschlossenen Aufgabe im Fenster
Sicherungsverlauf anzeigen. Wählen Sie den
Standardordner im
Subclient aus und wählen Sie
Sicherungsverlauf .

6. Im Fenster
Sicherungsverlauf werden die folgenden Daten zu abgeschlossenen Aufgaben angezeigt:
- Sicherungsfehler beim Ausführen einer Aufgabe;
- Elemente, die erfolgreich gesichert wurden;
- Einzelheiten der Aufgabe;
- Veranstaltungen;
- Protokolldateien;
- Medien, auf denen Daten gespeichert sind.
Warum können Sie sichernDump-basiertes Backup:
- PostgreSQL-Systemdatenbanken;
- PostgreSQL-Benutzerdatenbanken
- Sichern eines Dateisystems (File System Based Backup).
PostgreSQL-Datenbanken (Daten und Protokolle) (Daten und Protokolle):
Was nicht kopiert wird:
- PostgreSQL-Anwendungsdateien (Anwendungsdateien);
- Betriebssystemdaten.
Verwenden Sie das Dateisystem iDataAgent, um die oben genannten Komponenten zu sichern.
Herausforderung
Der Client musste die CommVault-Plattform bereitstellen, um seine Dienste zu sichern. Einer der Dienste war die PostgreSQL-Datenbank, die in einer Clusterkonfiguration mit zwei Knoten bereitgestellt wurde: Master und Standby. Beide arbeiteten auf physischen Servern.
Client PostgreSQL-KonfigurationsfunktionenDie PostgreSQL-Clusterkonfiguration wurde ausgewählt, um die Fehlertoleranz des Datenbankservers sicherzustellen.
Der Client hat die PostgreSQL-Datenbanksicherung mit pg_dump durchgeführt.
Das Arbeitsschema ist in der folgenden Abbildung dargestellt:

Konfigurieren Sie die Sicherung mit CommVault
Um die Sicherungsplattform zu vereinheitlichen und den Sicherungsspeicher zu nutzen, haben wir uns entschieden, CommVault zum Sichern der PostgreSQL-Datenbank zu verwenden.
Weil Der Client verwendete die PostgreSQL-Clusterkonfiguration. Für die Sicherung haben wir uns entschieden, die Option Dateisystembasierte Sicherung für die Dateisicherung zu verwenden. Gleichzeitig musste ich auf die Verwendung von Block Backup (Block Level Backup) verzichten, weil Die Version des Linux-Kernels, auf dem PostgreSQL bereitgestellt wird, ist höher als der offiziell unterstützte CommVault. Aufgrund der Tatsache, dass der Service für das Unternehmen von entscheidender Bedeutung ist, haben sie beschlossen, einen Sicherungsplan gemäß der Tabelle zu erstellen:
| Vollständige Kopie
| Transaktionsprotokolle
|
---|
Grafik
| Einmal am Tag um 23 Uhr
| Jede Stunde für 24 Stunden |
Aufbewahrungszeitraum für Kopien
| 7 Tage
| 1 Tag
|
Das Gesamtvolumen der Datenbank betrug mehr als 1,5 TB. Um die erforderlichen RTO- und RPO-Werte einzuhalten, wurde ein separates LAN-Netzwerk für die Sicherung mit einer Geschwindigkeit von 10 Gbit / s verwendet.
Die Sicherung wurde gemäß dem folgenden Diagramm durchgeführt:

Backups wurden von einem PostgreSQL-Standby-Server erstellt und auf einem Server mit installiertem MediaAgent gespeichert. Anschließend wurden einmal im Monat vollständige Kopien für eine einjährige Haltbarkeit in die Amazon-Cloud hochgeladen.
Alle notwendigen Einstellungen wurden vorgenommen und die Sicherung war erfolgreich.
PostgreSQL Backup-KonfigurationsfunktionenBei der Installation und Konfiguration des Backups sind einige Probleme aufgetreten, die unten aufgeführt sind. Ich denke, es wird nützlich sein, diese Funktionen bei der Durchführung ähnlicher Projekte und beim Einrichten der PostgreSQL-Datenbankadministratoren zu berücksichtigen.
- Überprüfen Sie, ob für den Master- und den Standby-Knoten dieselben PostgreSQL-Diensteinstellungen gemäß der CommVault-Dokumentation festgelegt sind:
documentation.commvault.com/commvault/v11_sp14/article?p=21491.htm - Überprüfen Sie, ob die in der Fehlerbehebung für Sicherungen angegebenen Parameter mit den in den Links angegebenen übereinstimmen:
documentation.commvault.com/commvault/v11_sp14/article?p=21723.htm
Dokumentation.commvault.com/commvault/v11_sp14/article?p=21518.htm - Stellen Sie sicher, dass die Zugriffsrechte auf den Datenbankserver und die Datenbanken gemäß den folgenden Anforderungen festgelegt wurden:
documentation.commvault.com/commvault/v11_sp14/article?p=21523.htm
WiederherstellungSichern ist gut. Natürlich interessieren wir uns nicht nur für den Entstehungsprozess, sondern auch für die Restaurierung. Für das, was alles getan ist.
In dieser Situation kann die Wiederherstellung nach unserer Erfahrung in zwei Fällen für den Kunden erforderlich sein:
- Wiederherstellung der Datenbank zu einem bestimmten Zeitpunkt, um auf Daten zuzugreifen, die beispielsweise aus der Datenbank gelöscht werden könnten;
- Bei Verlust des gesamten PostgreSQL-Datenbankclusters.
Um die Datenbank wiederherzustellen, lesen Sie einfach die Dokumentation unter folgendem Link:
documentation.commvault.com/commvault/v11_sp14/article?p=21502.htmWir möchten Ihre Aufmerksamkeit auch auf die folgenden Funktionen und Schritte während der Wiederherstellung richten:
- Befolgen Sie IMMER das Wiederherstellungsverfahren mit dem PostgreSQL-DBA. Auf diese Weise können Sie falsche Aktionen vermeiden und Probleme, die während des Wiederherstellungsprozesses auftreten, schnell lösen.
- Die Wiederherstellung muss auf einem Knoten mit der Rolle des Masters durchgeführt werden.
- Stellen Sie beim Wiederherstellen sicher, dass die PostgreSQL-Dienste nach Abschluss des Vorgangs nicht gestartet werden.
- Ändern Sie im wiederhergestellten Knoten die Einstellungen in die Master-Rolle, weil In unserem Fall haben wir Standby-Knoten gesichert.
- Deaktivieren Sie Dienste auf dem Standby-Knoten, aktivieren Sie sie auf dem Master-Knoten, aktivieren Sie dann den Standby-Knoten und konfigurieren Sie die Replikation erneut.
Fazit
In diesem Artikel haben wir die Sicherung des Linux-Betriebssystems selbst und anderer Systeme nicht berücksichtigt. Dies sollte separat erfolgen. Die CommVault-Dokumentation beschreibt dies ausführlich. Wenn unser Artikel Interesse weckt und es viele Wünsche gibt, werden wir definitiv beschreiben, wie andere Systeme gesichert werden. Schreiben Sie in die Kommentare, welche Systeme für Sie von Interesse sind.
Wir hoffen, dass unsere Erfahrung Ihnen beim Einrichten eines Backups durch den PostgreSQL-DBA hilft.
Autoren:
Sergey Alexandrov, Leiter der Backup Group, Softline
Artyom Khmelenko, leitender Ingenieur, Softline